《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于單片機的實現(xiàn)低成本高精度A/D與D/A轉(zhuǎn)換設(shè)計
基于單片機的實現(xiàn)低成本高精度A/D與D/A轉(zhuǎn)換設(shè)計
摘要: 目前單片機在電子產(chǎn)品中已得到廣泛應(yīng)用,許多類型的單片機內(nèi)部已帶有A/D轉(zhuǎn)換電路,但此類單片機會比無A/D轉(zhuǎn)換功能的單片機在價格上高幾元甚至很多,本文給大家提供一種實用的用普通單片機實現(xiàn)的A/D轉(zhuǎn)換電路,它只需要使用普通單片機的2個I/O腳與1個運算放大器即可實現(xiàn),而且它可以很容易地擴展成帶有4通道A/D轉(zhuǎn)換功能,由于它占用資源很少,成本很低,其A/D轉(zhuǎn)換精度可達(dá)到8位或更高,因此很具有實用價值。
關(guān)鍵詞: 51單片機 單片機 A/D D/A PWM
Abstract:
Key words :

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

  其電路如圖一所示:

 

  

  圖一

 

  其工作原理說明如下:

  1、硬件說明:

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

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

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

  2、A/D轉(zhuǎn)換過程:

  如果使RA0輸出PWM波形,其占空比由小到大逐漸變化,則U1的電壓會由小到大逐漸變化,當(dāng)U1電壓超過被測電壓時,比較器的輸出端由高電平變?yōu)榈碗娖剑虼丝梢哉J(rèn)為在該變化的瞬間被測的模擬量與U1的電壓相等。

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

  3、A/D轉(zhuǎn)換誤差分析及解決辦法:

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

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

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

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

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

  A/D轉(zhuǎn)換誤差的解決辦法:

  (1) 對VDD造成的誤差,只能通過提高VDD電壓精度來解決,它相當(dāng)于A/D轉(zhuǎn)換的基準(zhǔn)電壓。

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

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

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

  4、A/D轉(zhuǎn)換速度及提高辦法:

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

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

  (2) 被測電壓值的大小:由于U1電壓時是由小到大逐漸加大的,當(dāng)被測電壓值較小時,U1電壓上升到相應(yīng)值的時間就越短,完成A/D轉(zhuǎn)換的速度就越快。

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

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

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

  其電路如圖一所示:

 

  

  圖一

 

  其工作原理說明如下:

  1、硬件說明:

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

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

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

  2、A/D轉(zhuǎn)換過程:

  如果使RA0輸出PWM波形,其占空比由小到大逐漸變化,則U1的電壓會由小到大逐漸變化,當(dāng)U1電壓超過被測電壓時,比較器的輸出端由高電平變?yōu)榈碗娖剑虼丝梢哉J(rèn)為在該變化的瞬間被測的模擬量與U1的電壓相等。

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

  3、A/D轉(zhuǎn)換誤差分析及解決辦法:

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

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

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

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

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

  A/D轉(zhuǎn)換誤差的解決辦法:

  (1) 對VDD造成的誤差,只能通過提高VDD電壓精度來解決,它相當(dāng)于A/D轉(zhuǎn)換的基準(zhǔn)電壓。

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

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

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

  4、A/D轉(zhuǎn)換速度及提高辦法:

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

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

  (2) 被測電壓值的大小:由于U1電壓時是由小到大逐漸加大的,當(dāng)被測電壓值較小時,U1電壓上升到相應(yīng)值的時間就越短,完成A/D轉(zhuǎn)換的速度就越快。

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

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

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

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

  6、A/D轉(zhuǎn)換通道的多路擴展:

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

  7、用同樣的工作原理實現(xiàn)D/A轉(zhuǎn)換:

  如圖二所示,可使該電路很容易地只用單片機的一個I/O腳實現(xiàn)D/A轉(zhuǎn)換功能。其輸出的模擬量電壓Vout=VDD*D1/(D1+D2)。該輸出電壓帶有紋波,當(dāng)RC值足夠大時,該紋波值幾乎為零,可忽略不計。

 

  

  圖二

 

  8、單片機的A/D轉(zhuǎn)換軟件程序流程圖:

 

  

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
久久激情视频| 亚洲欧美一级二级三级| 亚洲综合精品自拍| 国产欧美日韩不卡免费| 亚洲欧美在线x视频| 一区二区三区欧美日韩| 日韩一级裸体免费视频| 亚洲精品看片| 亚洲片在线观看| 亚洲黄色高清| 亚洲国产欧美日韩精品| 亚洲电影在线免费观看| 亚洲国产福利在线| 亚洲国产精品视频| 亚洲国产精品一区二区尤物区| 篠田优中文在线播放第一区| 欧美一区二区精美| 亚洲欧美视频一区二区三区| 亚洲欧美国产视频| 午夜视频精品| 欧美在线观看视频| 亚洲第一区色| 亚洲精品国产精品国自产观看浪潮| 亚洲国产成人精品久久久国产成人一区| 久久不射2019中文字幕| 久久aⅴ国产紧身牛仔裤| 久久精品水蜜桃av综合天堂| 亚洲黑丝一区二区| 亚洲国产影院| 一区二区久久久久久| 亚洲天堂偷拍| 香港成人在线视频| 久久夜色精品| 欧美精品一区二区久久婷婷| 欧美亚一区二区| 国产欧美一区二区色老头| 国内精品久久久久国产盗摄免费观看完整版 | 亚洲国产精品视频| 亚洲精品一区二区三区婷婷月| 99视频精品| 性久久久久久| 亚洲人成人一区二区三区| 一区二区三区你懂的| 午夜精品国产| 久久尤物视频| 欧美日韩ab片| 国产日韩欧美二区| 亚洲第一综合天堂另类专| 日韩视频在线观看免费| 亚洲欧美激情在线视频| 亚洲福利视频二区| 一本色道久久综合一区 | 久久精品亚洲热| 99re热精品| 欧美一区免费| 欧美国产高潮xxxx1819| 国产精品美女诱惑| 激情一区二区| 99国产精品99久久久久久粉嫩| 小处雏高清一区二区三区| 亚洲日韩欧美一区二区在线| 亚洲欧美综合另类中字| 久久日韩精品| 国产精品狠色婷| 伊人婷婷久久| 亚洲视频视频在线| 91久久综合| 欧美在线观看www| 欧美精品一区二| 国产伊人精品| 一区二区精品在线观看| 亚洲福利视频网站| 亚洲免费影视| 欧美高清视频| 国产小视频国产精品| 日韩一级免费| 亚洲国产视频一区| 亚洲欧洲av一区二区| 欧美精品一区二区三区蜜臀 | 国产揄拍国内精品对白| 一区二区三区国产精华| 亚洲国产精品女人久久久| 亚洲欧美在线aaa| 欧美久久视频| 在线日韩中文字幕| 欧美一区成人| 亚洲欧美在线另类| 欧美日韩999| 亚洲国产免费看| 欧美一区二区三区免费观看| 亚洲免费影院| 欧美日韩精品久久久| 伊人精品成人久久综合软件| 欧美一级理论片| 午夜精品一区二区三区电影天堂| 欧美人体xx| 亚洲国产日韩欧美一区二区三区| 欧美制服丝袜| 欧美在线不卡视频| 国产精品嫩草影院av蜜臀| 亚洲精品永久免费精品| 亚洲激情六月丁香| 久久一区二区视频| 国产亚洲午夜高清国产拍精品| 亚洲女性裸体视频| 亚洲综合二区| 国产精品va在线播放| 99国产精品国产精品久久| 日韩一级在线观看| 亚洲精品免费在线| 亚洲国内自拍| 蜜桃av综合| 国内精品视频一区| 欧美在线播放高清精品| 久久福利毛片| 国产欧美日韩另类视频免费观看| 亚洲少妇一区| 亚洲免费视频网站| 国产精品vvv| 中文在线一区| 亚洲欧美成人一区二区三区| 国产精品超碰97尤物18| 亚洲视频999| 午夜精品av| 国产色综合天天综合网| 欧美亚洲综合网| 久久久爽爽爽美女图片| 激情国产一区| 亚洲国产精品久久久久| 免费人成精品欧美精品| 亚洲黄色精品| 中文日韩在线视频| 国产精品wwwwww| 亚洲影院色在线观看免费| 欧美一区二区免费视频| 国产亚洲欧美色| 亚洲国产另类 国产精品国产免费| 欧美 日韩 国产一区二区在线视频| 欧美激情国产高清| 日韩午夜av电影| 亚洲欧美在线x视频| 国产亚洲福利一区| 久久精品国亚洲| 欧美成人一区二免费视频软件| 91久久精品一区| 中文在线资源观看网站视频免费不卡| 欧美系列一区| 午夜伦理片一区| 免费成人高清视频| 99精品99| 久久国产欧美精品| 影音先锋亚洲精品| 在线亚洲欧美专区二区| 国产精品自在欧美一区| 久久精品国产清自在天天线 | 欧美精品一级| 亚洲午夜视频| 久久精品一区二区三区不卡牛牛| 亚洲成色999久久网站| 一本大道久久a久久精品综合| 国产精品久久久久久久一区探花 | 欧美专区在线| 国产日韩欧美在线观看| 日韩亚洲国产精品| 性久久久久久久久| 樱桃国产成人精品视频| 在线亚洲自拍| 国产热re99久久6国产精品| 亚洲片区在线| 国产精品日韩精品欧美在线| 久久精品国产v日韩v亚洲| 欧美日韩视频在线观看一区二区三区| 亚洲在线免费| 女主播福利一区| 亚洲一级黄色片| 男男成人高潮片免费网站| 日韩小视频在线观看| 久久精品色图| 亚洲伦理久久| 久久久久久久综合狠狠综合| 亚洲精品视频在线观看免费| 久久精品国产99| 亚洲伦伦在线| 久久一区中文字幕| 一区二区三区四区蜜桃| 久久综合九色99| 亚洲一区二区三区四区在线观看| 美女久久网站| 亚洲综合日韩在线| 欧美高清免费| 久久国产精品一区二区三区四区| 欧美日韩国产精品自在自线| 欧美在线视频免费播放| 欧美日韩中国免费专区在线看| 亚洲成色www8888| 国产精品资源在线观看| 99re热精品| 在线电影欧美日韩一区二区私密| 亚洲欧美日韩系列| 亚洲精品欧美一区二区三区|