




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、單片機內部模擬比較器的應用 摘要:文章介紹了一種利用單片機內部模擬比較器來構成AD轉換器的方法,給出了它的具體電路設計,分析了電路原理、轉換過程及誤差原因。并提出了轉換過程中的誤差消除的實用辦法。最后給出了整個工作過程的軟件編程。關鍵詞:單片機;比較器;AD轉換器;定時計數器;恒流源 一般來說,內部帶AD轉換器的單片機價格都比較昂貴,而且一般只有8到10位的分辨率,這在高分辨率要求的場合顯然不適用;而普通的單片機則根本沒有AD轉換器。隨著現代電子技術的發展,出現了
2、一些體積小、內含模擬比較器的單片機,如ATMAL的AT89C2051、ZILOG的Z86E04、MICROCHIP的PIC16C620等,這些單片機在使用時連接比較器的端口一般只作普通IO使用,而對其內置的模擬比較器的應用卻很少。下面以AT89C2051為例,談談利用單片機內置模擬比較器來構成AD轉換器的新方法。1 硬件轉換電路 AT89C2051是MCS51單片機系列中的一種,它雖然只有20個引腳,卻集成了51系列單片機的標準內核,其中包括2k程序存儲器、128字節數據存儲器、2個16位定時計數器、一個標準全雙工UART和一個精確的模擬比較器,而這個模擬比較器是以前產
3、品所沒有的。圖1是利用AT89C2051的模擬比較器來構成雙積分式AD轉換器的電路原理圖。其中:內置模擬比較器的結構如圖中虛線包圍部分所示,比較器的正、反相輸入端分別與P10、P11連接,這是兩個漏極開路無上拉電阻的輸出和輸入端口,當向P10、P11寫“1”時,M1、M2截止,相當于P10、P11對數字部分懸空,這時比較器的輸入不受單片機端口輸出的影響;由于P10、P11具有很強的灌電流能力,當寫入“0”時,P10、P11能吸入20mA的灌電流,而且M1、M2的飽和電壓很低,利用這一特點可為積分電容徹底放電。比較器輸出端在單片機內部與P36連接,讀P36就可得到比較器的輸出結果。因此,利用AT
4、89C2051這個內置的比較器,再加上少量的外圍器件就可組成雙積分式AD轉換器。圖1中,I0為恒流源,其電流約為052mA,Cf是積分電容,Cf與I0的選擇取決于AD轉換的位數,Vref為參考電壓,一般取模擬輸入電壓最大值的一半,U2是一個模擬開關,其中通道0接參考電壓,通道1至7接模擬輸入,即該AD轉換器有7個輸入通道。2 轉換過程 當恒流源對電容器積分時,積分電容上的電壓與時間成線性比例關系,這樣利用單片機內部的定時計數器就可分別測量參考電壓及模擬輸入電壓的積分時間,再通過CPU的運算來得到轉換的結果。單片機的端口P12至P14可用來輸出模擬開關通道選擇地址,定時計
5、數器T0可設定為方式1,16位定時狀態,用來測定積分時間。該轉換過程可分5個步驟: 第一步為積分電容的放電,主要是向P11寫“0”,利用其吸入灌電流大的特點為Cf放電,同時定時計數器T0清零。 第二步是參考電壓積分,即模擬開關選擇通道0,相當于Vref接至比較器的正輸入端,并向P11寫“1”,同時啟動定時計數器,這樣,I0開始對Cf積分;程序循環讀P36狀態,以檢測比較器的輸出結果,當積分電容上的積分電壓稍大于(由于比較器有極高的增益,故可近似地看作等于)參考電壓時,比較器的輸出反轉,P36發生由高至低的跳變。程序檢測到這
6、個跳變后,停止定時計數器,保存此時的定時計數器結果Tref,此時可由恒流源對電容積分的關系式得出:Vref(I0 Tref)Cf第三步為積分電容放電,也就是重復第一步對Cf放電和定時計數器T0清零。 第四步為輸入電壓積分,此時模擬開關可選擇通道17中的一個,相當于模擬輸入電壓Vx接至比較器的正輸入端,重復第二步對輸入電壓積分,則可得到積分時間Tx,因此,Vx(I0Tx)Cf以上4步積分電容Cf上的積分電壓波形如圖2所示。 第五步是通過CPU的運算來求得AD轉換的結果,由第二步結果除以第四步結果,可以得到:
7、60; VrefVxTrefTx 變換后得: Vx(VrefTx)Tref 上式即AD轉換的結果。 從上式可以看出:AD轉換結果Vx只與Vref、Tx、Tref有關而與I0、Cf無關。這一點非常重要。因為它意味著在轉換過程中抑制了恒流源和積分電容溫漂所造成的誤差,從而保證了該AD轉換器工作的穩定性,這也正是積分式AD轉換器的優點。理論上,該AD轉換器的精度只取決于參考電壓的穩定性和單片機定時計數器的精確度,而這兩點都相對比較容易保證。當然,
8、這是指在恒流源為理想恒流源的情況,實際上恒流源的特性決定了該AD轉換器的非線性誤差,因此,在要求較高的場合,應選用線性好的恒流源集成電路,如LM334等,而在要求不高的情況下則可用圖3所示的由分立元件組成的恒流源電路來實現AD轉換。這時積分電容可選擇溫度系數較小的滌綸電容等。 需要注意的是,由于單片機采用端口查詢的方式來檢測比較器的輸出結果,MCS51系列單片機端口查詢命令需要占用2個機器周期,而定時計數器則需要在每個機器周期上加1。因此,在使用時有可能在比較器的輸出反轉時,程序不能立刻停止定時計數器,而是要等到下一個機器周期運行到CLRTR0語句時才停止。
9、這樣,定時計數器的值總為偶數,這一問題如果不在程序中進行處理就會造成誤差。解決的方法是增加I0、Cf的積分時間,即把積分時間加大一倍,再把定時計數器的讀數即Tref和Tx除以2,這樣就能把定時計數器多加了1的誤差去掉而得到正確的結果。也就是說,如果要得到12位的分辨率,那么就需要有13位的定時計數器的讀數。這種算法雖然犧牲了定時計數器的1位分辨率,加長了轉換周期,但是確保了測量結果的準確性。對于有模擬比較器輸出跳變中斷的單片機如Z86E08等,上述過程處理起來會更簡單,可用程序在比較器輸出反轉時來設定中斷,并在中斷子程序的開始時停止定時計數器,其讀數減去從比較器中斷到執行中斷子程序之間的機器周
10、期數即為實際積分時間。 由于AT89C2051的定時計數器為16位,所以該AD轉換器的分辨率實際上可以達到15位。調整I0和Cf的值就能改變AD轉換器的分辨率,I0和Cf的取值與分辨率和單片機時鐘頻率之間的關系,應滿足下式:12×2N1(f0 Vmax)CfIO12×216(f0Vmax) 式中Vmax 為最大模擬輸入電壓,N為分辨率位數,f0為單片機的時鐘頻率。根據上式,在設計時應保證足夠長的積分時間以保證分辯率的要求。同時還應保證積分時間不能超過單片機的最大定時值,以免引起定時計數器的溢出。3 軟件編程 整個工作過程的主要程序如下(該程序采用MCS51匯編語言編寫)。除法子程序和20s延時子程序分別為: (1)初始化主程序:4 結束語 上述所述,采用內部帶模擬比較器的單片機加上少量的外國元件,并在程序上稍作處理,就能夠構成一種新的A/D轉換器,該方法可節約因擴展A/D而占用的大
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 換熱站運營管理制度
- 服裝店公司管理制度
- 核酸采樣屋管理制度
- 檢修工考核管理制度
- 檢測設備室管理制度
- 模擬教學室管理制度
- 母嬰實訓室管理制度
- 比亞迪離職管理制度
- 民房第三方管理制度
- 氣源頭調度管理制度
- 手術患者深靜脈血栓預防措施
- 2025年共青團入團積極分子考試測試試卷題庫及答案
- 2.2自然保護區與生態安全課件高二地理下學期魯教版(2019)選擇性必修三
- 2021年貴州特崗教師招聘考試英語真題及答案
- 救護車駕駛培訓
- 基層公共法律服務的困境與改進對策研究
- 殘疾人電子商務培訓
- GB/T 45148-2024數字文化館資源和技術基本要求
- 提高處方合格率管理
- 云南教育強省建設規劃綱要(2024-2035年)知識培訓
- 山體護坡施工技術方案
評論
0/150
提交評論