帳號:
密碼:
最新動態
產業快訊
CTIMES / 文章 /
ADC微控制器之應用
 

【作者: 劉溫良】   2001年11月05日 星期一

瀏覽人次:【13417】

除了洗衣機之外,家裡的冰箱,電磁爐,電子鍋,熱水瓶等電器產品都漸漸走上數位化了,數位化的原因有幾個,一是容易操作及控制,另一個是可以使用微控制器來控制其功能,使其功能增強及帶來使用上的方便,例如溫度控制、定時控制和壓力控制等。


在自然界的各種訊號,如溫度、濕度、壓力、光、聲音、氣體皆是類比訊號,要將自然界裡的訊號做各種處理,就需要一個感測器將自然界的各種訊號,轉換成電壓或是電流訊號,再將類比的電氣訊號,透過一個類比數位轉換器(ADC),轉成數位化的資料,再由一個微控制器的來對數位資料做處理。


要是將ADC內建於微控制器中,在使用上更加便利,也可大幅度的降低成本。將類比資料做數位化的好處是容易處理、運算及顯示,尤其是我們日常生活中的各種家電產品如冷氣機、除濕機、電冰箱、洗衣機、微波爐、電磁爐、電毯 、電子鍋、充電器、麵包機、豆漿機、洗碗機、電暖器、充電器、烘碗機、煙霧偵測器、瓦斯偵測警報器、火災偵測器、毒性氣體偵測器、酒精測試器、血壓計、體溫計、壓力計、溫度計、重量計、體重計、距離測量儀、傳真機、掃描器、數位相機、影印機、胎壓器、氣壓計、烤箱、光度計、彩色電視機、電動按摩器等產品不勝枚舉。


感測器

在使用ADC時,大部分都會與感測器互相搭配使用,感測器是一種能夠將各種物理量如:溫度、濕度、壓力、光、聲音、氣體等變換為電氣量的元件,因此其複雜度很深,在應用上很廣泛。我們可以依照不同的用途來選擇不同的感測器,再透過ADC轉換,便可以製作出各種不同的產品,一般常見的感測器有溫度感測器、壓力感測器、濕度感測器、光感測器、煙霧感測器、氣體感測器等。


類比數位轉換器(ADC)

當微控制器要處理類比訊號時,需要將類比信號先透過類比-數位轉換器(ADC)加以轉換,把類比訊號轉換成相對的數位訊號,此時就需要ADC。一般市售有單獨的ADC IC,或者是內建有ADC之微控制器,就成本上的考量,在需要微控制器做控制的產品上,使用有內建ADC功能之微控制器,較能節省成本,產品可靠度也較高,生產上較簡單且元件庫存較少,除非需要特殊規格的ADC及微控制器,才需要分別搭配特殊規格的ADC及微控制器IC。


ADC的參考電壓有單獨的一根接腳或是與IC的電源接在一起,內含類比-數位轉換器的微控制器亦是如此,若ADC參考電壓為微控制器之工作電壓,則微控制器腳位圖上就只會標示一個工作電壓(VDD)的腳位,而無ADC參考電壓輸入腳位。


ADC最重要之特性之一 : ADC的精確度,在一般所定義的ADC轉換曲線如(圖一),X軸為輸入電壓,Y軸為數位輸出值。(以10位元ADC為例,LSB = ADC參考電壓 ÷1024)


《圖一  ADC轉換曲線圖》
《圖一 ADC轉換曲線圖》

當類比電壓輸入在0.5LSB~1.5LSB之間時,經由ADC得到的轉換值是1,由此類推到各個電壓的轉換值。所以一般使用時都必須先確定ADC的參考電壓為何,再由轉換結果的數位資料值,去得到類比輸入電壓的範圍。由上圖可知,當ADC轉換值為1時,我們可以因此得到類比的電壓值為1LSB±0.5LSB,0.5LSB為數位化過程中所必須犧牲掉的轉換誤差。一般常用的類比-數位轉換器為8位元~10位元,較精確的產品則需要12位元~14位元的ADC,本文將介紹一顆內含10位元ADC的微控制器。


盛群半導體新推出一系列內建ADC之微控制器,在此針對其中一顆內含有10位元ADC的微控制器(HT46R23)做介紹,此型微控制器不僅內建ADC,更加入PWM之控制輸出功能,故其相當適合用來做溫度控制、壓力控制及濕度控制的各類型產品或家電產品。HT46R23的主要規格如(表一)所示。


(表一) HT46R23的主要規格
包裝 28SKDIP及28SOP兩種
I/O 接腳 23根
PWM 輸出 兩組﹔與PD0/PD1共用腳
PFD輸出 與PA3共用腳
外部計數器 與PA4共用腳
外部中斷 與PA5共用腳
系統震盪器 RC震盪器或石英晶體震盪器(陶瓷震盪器) 擇一
ADC類比訊號 8個通道類比輸入AN0~AN7與PB0~PB7共用腳
ADC 10位元ADC; 9位元精確度
工作電壓 3.3V~5.5V
程式記憶體EPROM 4096×15
資料記憶體RAM 192×8
Timer 16位元+7階預除器
低電壓偵測 3V±0.3V
堆疊 8層
序列匯流排 HOLTEK BUS(與I2C BUS相容; 只提供SLAVE模式)與PA6及PA7 共用腳
Note : I2C is the trademark of Philips.

HT46R23這顆內含10位元ADC的微控制器,可以廣泛用在各種產品上,其主要的定位是在於各種家電及工業控制方面,就其整個功能來說,提供了一個與I2C BUS相容(SLAVE模式)的序列匯流排及兩組PWM輸出,PWM可用來做電流及電壓控制,對於各方面的應用都非常適合。尤其是對於電源雜訊的處理,該型微控制器在設計上特別考量電源雜訊之處理,故擁有極佳的抗雜訊能力。


HT46R23微控制器說明

HT46R23使用8位元精簡指令集微控制器,內含63個功能強大的精簡指令集,有8個硬體做成的堆疊(STACK),在呼叫副程式時,可以呼叫到8層之多。內建一個看門狗計時器(WDT),可以預防微控制器誤動作時,將微控制器重新RESET,一個低電壓偵測器(LVR),當電壓過低時,會自動將微控制器RESET,避免微控制器的誤動作。程式記憶體(PROGRAM ROM)的空間有4K可以使用,而且為一次燒錄型,對於寫程式來說,有很大的應用空間,對產品而言也有很大之彈性。如(圖二)。


《圖二  微控制器的方塊圖》
《圖二 微控制器的方塊圖》

OPTION ROM

另外也提供OPTION ROM,提供OPTION在燒錄的時候,視需求來選擇哪一種功能,內建有192 byte的資料記憶體(DATA MEMORY)空間,在中斷部分提供了四種中斷,外部中斷接腳的中斷、內部計時器或外部計數器的中斷、10位元ADC的中斷或是序列匯流排的中斷。


輸入輸出腳共有23根,其中PA有8根,PB有8根,PC有5根,PD有2根,其中PA3與PFD輸出共用接腳,PA4與外部計數器輸入腳共用,PA5與外部中斷輸入腳共用,PA6及PA7與序列匯流排接腳共用,PD0/PD1與PWM0/PWM1輸出共用接腳,PB0~PB7與ADC類比輸入腳AN0~AN7共用。其中PA3與PFD輸出功能共用,PD0/PD1則與PWM0/PWM1共用,是在燒錄程式時,由OPTION項目所選擇的,我們也可以只選擇使用一般的I/O功能就好。


PA4當外部計數器輸入腳時,PA4必須設為輸入腳,PA5當外部中斷輸入腳時,PA5也必須設為輸入腳。至於PB0~PB7與AN0~AN7 ADC類比訊號輸入,可以由軟體選擇要當類比訊號輸入或是數位訊號輸入輸出使用。16位元的計時計數器輸入,可以選擇由外部計數器輸入腳(PA4/TMR)輸入,或是選擇內部計時器當計時的參考頻率。如(圖三)。


《圖三  微控制器腳位圖》
《圖三 微控制器腳位圖》

由系統頻率經過一個預除器,可以選擇8個參考計時頻率給16位元的計時計數器,這8個計時頻率,從系統頻率到系統頻率除以128。選擇適當的頻率給計時計數器,使用可以較彈性。另外PFD的輸出頻率,也是由16位元計時計數器來控制,PFD的頻率為16位元計時計數器溢位的頻率除2,假設16位元計時記數器的輸入為1μ秒,假設我們設定16位元計時計數器內容為65286,則計數250次就會發生溢位,則PFD輸出的週期為 : 1μ秒×(256-6)×2=500μ秒,所以PFD的頻率為 1/500μ秒 = 2kHz,由以上可知只要設定16位元計時計數器的數值,就可決定PFD的輸出頻率。提供兩組PWM之功能,對於電流與電壓的控制提供一個最佳的解決方案。如(圖四)。


《圖四  PWM電流參考圖》
《圖四 PWM電流參考圖》

PD0/PWM0接腳輸出串聯一個電阻及電容接到一個NPN電晶體(B1),來控制上面PNP電晶體(B0)是否導通,在PWM輸出高準位時,NPN電晶體及PNP電晶體皆在導通的狀態,VCC電壓對電感(L0)充電(IL增加)。當PWM輸出低準位時,NPN電晶體及PNP電晶體皆在不導通的狀態,VCC電壓不對電感充電, 電感由經D0釋放能量(IL下降), 若on/off頻率很高, IL幾乎維持一定, 形成PWM方式定電流控制。


由PB0/AN0讀入類比電壓值, 將電壓值÷R0的電阻值,就可得到流經R0的電流,若是電流小於我們欲設定的電流,則增加PWM輸出的DUTY來增加電流,若是電流大於我們欲設定的電流,則減少PWM輸出的DUTY來減少電流,由此來做電流控制。利用控制PWM輸出的DUTY,可以讓電感儲存的電流能量,維持在一定的大小,由此來做定電流控制。至於電壓控制,亦是採用相同原理,但必需加入一個大電容,以達到穩定電壓之功能。


當使用PWM功能時,需要在OPTION選項選擇使用PWM功能,並且需選擇PWM輸出是除64或是除128,當寫入PWM 暫存器之數值改變時則PWM輸出之DUTY隨之改變,該注意的是,一但選擇除64或是除128之後,PWM之頻率便固定,無法再由軟體調整,其頻率是固定系統頻率除64(其PWM輸出是6+2模式,其定義為PWM輸出之頻率為一般輸出的4倍)或是除128(其PWM輸出是7+1模式,其定義為PWM輸出之頻率為一般輸出的2倍),若是要改變PWM之頻率,只能改變系統頻率來改變PWM之頻率。


要讓PWM之輸出由PD0/PWM0或是PD1/PWM1輸出,必須將PD0/PD1輸出設定為輸出腳,且必須寫1到PD0/PD1暫存器的位置,寫0會讓PD0/PD1接腳,輸出在LOW的狀態。其PWM輸出是(6+2)或(7+1)模式,其定義為PWM輸出之頻率為一般輸出的4或2倍,其原理為將 PWM輸出分為四或二段,輸出低準位的部分及輸出高準位的部分,平均各分為四或二段,若是無法分為四或二段的餘數,就補在其中的一段。參考(圖五)、(圖六)。


《圖六  PWM輸出為(7+1)模式》
《圖六 PWM輸出為(7+1)模式》

通道的10位元ADC,提供8個類比訊號的輸入與I/O接腳共用,使得產品的開發更具有彈性,ADC轉換的時脈來源有三個選擇,有系統頻率除2、除8及除32三種,可以依實際需求的ADC轉換速度來使用,再內部暫存器之安排上,若使用者只使用8位元的ADC,也可以直接當成8位元的ADC來使用,而不需要經過轉換。


一般在做ADC轉換時,需注意到在轉換時電源的處理,輸出I/O盡可能不要改變,以防止在ADC轉換受到干擾時造成誤差,在ADC轉換完成之後再恢復原來的狀態,在電源及ADC類比訊號輸入腳位加上一個RC濾波電路,是解決ADC轉換受雜訊干擾而產生誤差的有效解決辦法,在PCB板上的LAYOUY需注意電源與地線的拉線和ADC類比訊號輸入的拉線,要避免受到雜訊的干擾,建議必須在VDD與VSS接一個0.1μF的電容,來減低電源雜訊的干擾。


盡可能以滿足規格的最慢速度來做ADC轉換,ADC時脈來源規格在1MHz以下,可有較好的精確度,ADC的轉換特性與ADC時脈的速度有關,速度愈快轉換的精確度比轉換速度慢的精確度較差。


HOLTEK BUS序列匯流排與I2C序列匯流排(SLAVE MODE)相容,HOLTEK BUS分為兩種 : 一種是SLAVE模式,一種是MASTER模式。MASTER主動送出匯流排的時脈給SLAVE,要求傳送或是接收資料,SLAVE只能被動的送資料給MASTER,或是從MASTER接收資料。


一般做為MASTER 都是微控制器,因為可以用軟體的方式來達到MASTER的功能,SLAVE一般都是用硬體做,用軟體做會浪費系統的資源,造成微控制器必須一直在監督匯流排的狀態,例如EEPROM(如HT93LC46) ,LCD驅動IC都是當SLAVE,可以由微控制器當MASTER下命令做序列的資料傳輸。在HT46R23這顆微控制器,提供的是SLAVE的功能,至於MASTER的功能是可以利用HT46R23剩餘的其他I/O接腳用軟體的方式去完成。


序列匯流排只需要兩根接腳(一根是SCL 另一根是SDA),就可以用來做資料傳輸,HOLTEK BUS 的SCL接腳是序列匯流排的時脈,由MASTER送出序列匯流排的時脈,SDA是當作傳送資料的接腳,資料傳送最快可以達到每秒十萬個位元。若使用者並無使用序列匯流排,此兩根接腳可經由OPTION選為一般I/O使用。


結論

在ADC微控制器在家電及工業上的應用,實在是非常廣泛,本文對內建ADC之微控制器只是一個入門的簡介,另外ADC更牽涉到很多類比方面的技術,所以比單純的微控制器還要複雜,尤其是在雜訊干擾及處理部分,需要在製作電路板時,做特別的防雜訊處理,以免影響到ADC的準確度。


(作者服務於盛群半導體微控制器部門)


相關文章
以馬達控制器ROS1驅動程式實現機器人作業系統
推動未來車用技術發展
節流:電源管理的便利效能
開源:再生能源與永續經營
從能源、電網到智慧電網
相關討論
  相關新聞
» 日本SEMICON JAPAN登場 台日專家跨國分享半導體與AI應用
» Nordic Thingy:91 X平臺簡化蜂巢式物聯網和Wi-Fi定位應用的原型開發
» 豪威集團推出用於存在檢測、人臉辨識和常開功能的超小尺寸感測器
» ST推廣智慧感測器與碳化矽發展 強化於AI與能源應用價值
» ST:AI兩大挑戰在於耗能及部署便利性 兩者直接影響AI普及速度


刊登廣告 新聞信箱 讀者信箱 著作權聲明 隱私權聲明 本站介紹

Copyright ©1999-2024 遠播資訊股份有限公司版權所有 Powered by O3  v3.20.2048.18.227.140.100
地址:台北數位產業園區(digiBlock Taipei) 103台北市大同區承德路三段287-2號A棟204室
電話 (02)2585-5526 #0 轉接至總機 /  E-Mail: webmaster@ctimes.com.tw