<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 用單片機實(shí)現低成本高精度A/D與D/A轉換

用單片機實(shí)現低成本高精度A/D與D/A轉換

作者: 時(shí)間:2012-06-29 來(lái)源:網(wǎng)絡(luò ) 收藏

目前在電子產(chǎn)品中已得到廣泛應用,許多類(lèi)型的內部已帶有A/D轉換電路,但此類(lèi)會(huì )比無(wú)A/D轉換功能的單片機在價(jià)格上高幾元甚至很多,本文給大家提供一種實(shí)用的用普通單片機實(shí)現的A/D轉換電路,它只需要使用普通單片機的2個(gè)I/O腳與1個(gè)運算放大器即可實(shí)現,而且它可以很容易地擴展成帶有4通道A/D轉換功能,由于它占用資源很少,成本很低,其A/D轉換精度可達到8位或更高,因此很具有實(shí)用價(jià)值。

其工作原理說(shuō)明如下:

1、硬件說(shuō)明:

圖一中“RA0”和“RA1”為單片機的兩個(gè)I/O腳,分別將其設置為輸出與輸入狀態(tài),在進(jìn)行A/D轉換時(shí),在程序中通過(guò)軟件產(chǎn)生PWM,由RA0腳送出預設占空比的PWM波形。RA1腳用于檢測比較器輸出端的狀態(tài)。

R1、C1構成濾波電路,對RA0腳送出的PWM波形進(jìn)行平滑濾波。RA0輸出的PWM波形經(jīng)過(guò)R1、C1濾波并延時(shí)后,在U1點(diǎn)產(chǎn)生穩定的電壓值,其電壓值U1=VDD*D1/(D1+D2),若單片機的工作電壓為穩定的+5V,則U1=5V*D1/(D1+D2)。

圖一中的LM324作為比較器使用,其輸入負端的U1電壓與輸入正端的模擬量電壓值進(jìn)行比較,當U1大于模擬量輸入電壓時(shí),比較器的輸出端為低電平,反之為高電平。

2、A/D轉換過(guò)程:

如果使RA0輸出PWM波形,其占空比由小到大逐漸變化,則U1的電壓會(huì )由小到大逐漸變化,當U1電壓超過(guò)被測電壓時(shí),比較器的輸出端由高電平變?yōu)榈碗娖?,因此可以認為在該變化的瞬間被測的模擬量與U1的電壓相等。

由于U1的電壓值=VDD*D1/(D1+D2),當VDD固定時(shí),其電壓值取決于PWM波形的占空比,而PWM的占空比由單片機軟件內部用于控制PWM輸出的寄存器值決定,若軟件中用1個(gè)8位寄存器A來(lái)存放RA0輸出的PWM的占空比值D1,因此在RA1檢測到由“1”變?yōu)椤?”的瞬間,A寄存器的值D1即為被測電壓的A/D轉換值,其A/D轉換結果為8位。如果用16位寄存器來(lái)作輸出PWM的占空比,則A/D轉換值可達到16位。

3、A/D轉換誤差分析及解決辦法:

A/D轉換的誤差主要由以下幾個(gè)方面決定,分別說(shuō)明如下:

(1) 單片機的電源電壓VDD:在該A/D轉換中,VDD電壓是造成A/D轉換誤差的主要原因,如果使VDD電壓精度做到較高,則A/D轉換誤差可以做到很小,在VDD電壓精度為0.5%情況下,實(shí)際的A/D轉換誤差小于1%。

(2) 軟件產(chǎn)生的PWM占空比:若用于產(chǎn)生PWM的軟件設計不良,會(huì )使存放占空比的寄存器值與實(shí)際輸出的PWM占空比不一致,這會(huì )導致測量誤差。

(3) 比較器輸入端的失調電壓:該電壓對A/D轉換精度有一定影響,但影響較小。

(4) RC濾波電路的紋波:在R1、C1取值不當的情況下,U1處的電壓紋波較大,并且延時(shí)時(shí)間不夠,會(huì )使A/D轉換產(chǎn)生誤差,因此R1、C1取值不能太小,但太大又會(huì )影響A/D轉換速度,推薦使用圖一中所示的R1、C1參數,在紋波合理的情況下,其轉換誤差也可通過(guò)軟件消除。

A/D轉換誤差的解決辦法:

(1) 對VDD造成的誤差,只能通過(guò)提高VDD電壓精度來(lái)解決,它相當于A(yíng)/D轉換的基準電壓。

(2) 對于軟件中PWM設計不良導致的誤差,可修改軟件進(jìn)行解決,本文提供了用軟件產(chǎn)生PWM的程序流程圖,實(shí)際使用中可按此流程設計程序。

(3) 對比較器及RC濾波電路的紋波導致的誤差,在軟件中可通過(guò)上、下檢測法進(jìn)行消除,即先將PWM的占空比由小到大變化,使U1電壓由低往高逐漸變化,在比較器輸出端變化時(shí)記錄其A/D轉換值,再將PWM的占空比由大到小變化,使U1電壓由高到低變化,在比較器輸出端變化時(shí)記錄其A/D轉換值,將兩次的A/D轉換值進(jìn)行平均,可有效地消除這兩種誤差。

(4) 對A/D轉換值進(jìn)行數字濾波,如多次轉換求平均值等。數字濾波消除誤差的方法很多,在此不再贅述。

4、A/D轉換速度及提高辦法:

由于該A/D轉換是通過(guò)PWM濾波后再進(jìn)行比較來(lái)完成的,其PWM的產(chǎn)生與濾波都需要一定的時(shí)間,因此其A/D轉換速度較慢,適用于對A/D轉換速度要求不高的產(chǎn)品中,其A/D轉換速度取決于以下幾個(gè)方面:

(1) 單片機的運行速度:?jiǎn)纹瑱C的運行速度越高則PWM的頻率可以越高, RC值就可以取得越小,其延時(shí)時(shí)間也可以更短,轉換速度就更快。

(2) 被測電壓值的大?。河捎赨1電壓時(shí)是由小到大逐漸加大的,當被測電壓值較小時(shí),U1電壓上升到相應值的時(shí)間就越短,完成A/D轉換的速度就越快。

(3) 初始占空比:初始占空比越高,U1電壓較大,其上升到被測電壓值的時(shí)間也就會(huì )越短,完成A/D轉換的速度也就越快。

由上所述,A/D轉換的速度可以通過(guò)提高單片機的工作頻率,并在預知被測電壓范圍時(shí)盡可能地設置較高的初始占空比值來(lái)加快轉換速度,如果所要求的A/D轉換精度要求不高,還可以在軟件中縮短PWM輸出的延時(shí)時(shí)間來(lái)提高A/D轉換速度。若單片機帶有外部電平變換中斷和定時(shí)器中斷,其A/D轉換的精度和速度還可以得到提高。

5、輸入電壓的測量范圍:

A/D轉換的輸入電壓測量范圍為0V至單片機的電源電壓(VDD),若需要提高被測電壓范圍,可將輸入電壓通過(guò)電阻分壓后進(jìn)行測量,但其A/D轉換的誤差會(huì )受分壓電阻影響。

6、A/D轉換通道的多路擴展:

圖中所用的運算放大器為L(cháng)M324,該集成電路內部帶有4個(gè)運放,其余3個(gè)運放的輸入端可分別作為另外3個(gè)A/D轉換通道,其輸出端與單片機連接,在軟件上略作修改,就可以在不增加成本的情況下實(shí)現4路A/D轉換。

比較器相關(guān)文章:比較器工作原理



上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: 單片機 高精度 AD DA轉換

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>