新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 單片機內部模擬比較器的應用

        單片機內部模擬比較器的應用

        作者: 時間:2012-02-28 來源:網絡 收藏

        一般來說,帶A/D轉換器的價格都昂貴,而且一般只有8到10位的分辨率,這在高分辨率要求的場合顯然不適用;而普通的則根本沒有 A/D轉換器。隨著現代電子技術的發展,出現了一些體積小、內含器的,如ATMAL的AT89C2051、ZILOG的Z86E04、 MICROCHIP的PIC16C620等,這些單片機在使用時連接器的端口一般只作普通I/O使用,而對其內置的比較器的卻很少。下面以 AT89C2051為例,談談利用單片機內置比較器來構成A/D轉換器的新方法。

        本文引用地址:http://www.104case.com/article/171987.htm

        1 硬件轉換電路

        AT89C2051 是MCS51單片機系列中的一種,它雖然只有20個引腳,卻集成了51系列單片機的標準內核,其中包括2k程序存儲器、128字節數據存儲器、2個16位定時計數器、一個標準全雙工UART和一個精確的模擬比較器,而這個模擬比較器是以前產品所沒有的。圖1是利用AT89C2051的模擬比較器來構成雙積分式A/D轉換器的電路原理圖。其中:內置模擬比較器的結構如圖中虛線包圍部分所示,比較器的正、反相輸入端分別與P1.0、P1.1連接,這是兩個漏極開路無上拉電阻的輸出和輸入端口,當向P1.0、P1.1寫“1”時,M1、M2截止,相當于P1.0、P1.1對數字部分懸空,這時比較器的輸入不受單片機端口輸出的影響;由于P1.0、P1.1具有很強的灌電流能力,當寫入“0”時,P1.0、P1.1能吸入20mA的灌電流,而且M1、M2的飽和電壓很低,利用這一特點可為積分電容徹底放電。比較器輸出端在單片機與P3.6連接,讀P3.6就可得到比較器的輸出結果。因此,利用 AT89C2051這個內置的比較器,再加上少量的外圍器件就可組成雙積分式A/D轉換器。圖1中,I0為恒流源,其電流約為0.5~2mA,Cf是積分電容,Cf與I0的選擇取決于A/D轉換的位數,Vref為參考電壓,一般取模擬輸入電壓最大值的一半,U2是一個模擬開關,其中通道0接參考電壓,通道1至7接模擬輸入,即該A/D轉換器有7個輸入通道。

        46.jpg

        2 轉換過程

        當恒流源對電容器積分時,積分電容上的電壓與時間成線性比例關系,這樣利用單片機的定時計數器就可分別測量參考電壓及模擬輸入電壓的積分時間,再通過 CPU的運算來得到轉換的結果。單片機的端口P1.2至P1.4可用來輸出模擬開關通道選擇地址,定時計數器T0可設定為方式1,16 位定時狀態,用來測定積分時間。該轉換過程可分5個步驟:

        第一步為積分電容的放電,主要是向P1.1寫“0”,利用其吸入灌電流大的特點為Cf放電,同時定時計數器T0清零。

        第二步是參考電壓積分,即模擬開關選擇通道0,相當于Vref接至比較器的正輸入端,并向P1.1寫“1”,同時啟動定時計數器,這樣,I0開始對Cf積分;程序循環讀P3.6狀態,以檢測比較器的輸出結果,當積分電容上的積分電壓稍大于(由于比較器有極高的增益,故可近似地看作等于)參考電壓時,比較器的輸出反轉,P3.6發生由高至低的跳變。程序檢測到這個跳變后,停止定時計數器,保存此時的定時計數器結果Tref,此時可由恒流源對電容積分的關系式得出:Vref=(I0 Tref)/Cf

        第三步為積分電容放電,也就是重復第一步對Cf放電和定時計數器T0清零。

        第四步為輸入電壓積分,此時模擬開關可選擇通道1~7中的一個,相當于模擬輸入電壓Vx接至比較器的正輸入端,重復第二步對輸入電壓積分,則可得到積分時間Tx,因此,Vx=(I0Tx)/Cf

        以上4步積分電容Cf上的積分電壓波形如圖2所示。

        47.jpg

        第五步是通過CPU的運算來求得A/D轉換的結果,由第二步結果除以第四步結果,可以得到:
        Vref/Vx=Tref/Tx

        變換后得:
        Vx=(VrefTx)/Tref

        上式即A/D轉換的結果。

        從上式可以看出:A/D轉換結果Vx只與Vref、Tx、Tref有關而與I0、Cf無關。這一點非常重要。因為它意味著在轉換過程中抑制了恒流源和積分電容溫漂所造成的誤差,從而保證了該A/D轉換器工作的穩定性,這也正是積分式A/D轉換器的優點。理論上,該A/D轉換器的精度只取決于參考電壓的穩定性和單片機定時計數器的精確度,而這兩點都相對比較容易保證。當然,這是指在恒流源為理想恒流源的情況,實際上恒流源的特性決定了該A/D轉換器的非線性誤差,因此,在要求較高的場合,應選用線性好的恒流源集成電路,如LM334等,而在要求不高的情況下則可用圖3所示的由分立元件組成的恒流源電路來實現A/D轉換。這時積分電容可選擇溫度系數較小的滌綸電容等。

        48.jpg


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 西充县| 全州县| 武强县| 浦东新区| 乐山市| 乐安县| 襄樊市| 靖远县| 虎林市| 鄂州市| 永宁县| 会泽县| 吐鲁番市| 徐水县| 河间市| 珲春市| 铜山县| 乌拉特前旗| 辉县市| 孙吴县| 搜索| 吉木萨尔县| 济南市| 买车| 宝坻区| 北碚区| 安义县| 华亭县| 廉江市| 大化| 南澳县| 黔南| 淳安县| 云安县| 佛坪县| 运城市| 长海县| 襄汾县| 黄浦区| 明溪县| 南昌县|