基于PWM技術的模數轉換器設計方法
本設計所采用的是MSP430F1232微控制器,具有非常高的集成度,除內部帶有具有PWM功能的定時器外,片內還集成了10通道的1 0位A / D轉換、溫度傳感器、USART、看門狗定時器、片內數控振蕩器DCO、大量的具有中斷功能的I/O 端口、大容量的片內Flash 和RAM 以及信息Flash 存儲器[4]。其中的16位定時器A中帶有3個捕獲/比較通道,內部的Flash 存儲器可以實現掉電保護和軟件升級。由此采用MSP430單片機作為該設計的處理器,不但可簡化系統電路設計、縮短開發周期,降低系統功耗,還可利用其內部集成的溫度傳感器,方便的對被測模擬量進行溫度補償,從而使系統的測試精度得以提高。
4. A/D 轉換分辨率分析及主程序設計
由于采用PWM技術的A/D轉換器的分辨率取決于控制PWM脈沖占空比的定時器的計數值位數或字長,因此可通過改變定時器計數位數來改變A/D轉換的分辨率,而MSP430單片機的內部定時器A中的計數器字長為16位,因此其PWM信號占空比的調整范圍為0~216-1,于是當系統定時器的計數器字長為16位時,采用PWM技術的A/D轉換器的最大分辨率可達16位。由于單片機內部的16位定時器采用晶振作為內部計數器的工作時鐘,因此其定時精度一般都較高,且其計數值與PWM脈沖占空比成嚴格的線性關系,輸入脈沖精確,因此A/D轉換的線性度和精度較好,線性度誤差小于1%。轉換速率與分辨率和選取的PWM信號的周期有關,分辨率越高,轉換時間越長,但同采用V/F方式相比較,轉換速度要快的多。
為了能夠縮短試探時間提高在高分辨率下的采樣速度,采用改進的逐次逼近的對分試探法使得試探值能夠迅速逼近被測模擬量。常規的對分試探法是每次試探開始時,首先將最大計數值的一半(即字長對分值)作為試探初值并將其轉換成PWM信號輸出,相當于輸出1:1占空比的PWM脈沖信號,然后測試比較器的狀態,以確定當前試探值的大小,若試探值小于被測模擬量,則保留當前試探值,否則去掉,然后再將剩余值的一半(即:剩余對分值)作為新的增量與上次保留值相加后產生新的試探值并將其轉換成PWM脈沖信號輸出,再測試比較器的狀態,若大于被測模擬量,則去掉當前增量,否則保留,隨后每次的輸出都將剩余對分值作為增量進行試探,一直持續的試探下去,直到試探完與分辨率相當的次數,例如:實現具有16位分辨率的A/D轉換就要試探16次。由于該方法在采樣時無論當前采樣值試探值多么接近被測值,其每次采樣的試探次數都相同,為減小試探次數提高采樣速率,在本設計中采用了一種改進的逐次逼近試探算法,可大大減少試探次數,其具體實現的方法是:當第一次試探完并獲得采樣值后,保留當前采樣值,不再以剩余對分值作為新的增量,而是以最小值作為初次增量(即:將最低位置1,可將其看作權值),與上次保留值相加并轉換成PWM信號輸出,通過測試比較器輸出確定當前增量值是否需要保留,若試探值小于被測模擬量,則保留當前試探值,否則去掉。若需要增大試探值時,則可將權值左移一位再與上次試探值相加,以形成新的試探值,這樣可以使逐次逼近試探值總處在跟蹤試探狀態,從而大大減少了試探次數。由于在實際測試過程中被測模擬量一般很少有突變情況發生,大都處在緩變增加或緩變減小狀態,因此采用這種改進的逐次逼近的試探算法,將會有效的提高A/D轉換器的采樣速率。
采用PWM技術的A/D轉換器的主程序,采用匯編語言編寫。其主程序流程圖如圖5所示:

5. 結束語
采用普通元器件利用MCU內部定時器結合PWM技術設計高分辨率的A/D轉換器,改變A/D轉換的分辨率只須修改PWM定時器的有關參數即可,靈活方便,穩定性好,線性度高,由于該轉換器與系統的連接僅為兩條信號線,因此,可以很方便的采用光電隔離技術提高系統的抗干擾能力,另外由于電路中的低通濾波環節,使得電路本身也具有一定的抗干擾能力,這比較適合在具有較強的干擾環境中使用,采用改進的逐次逼近試探算法實現對模擬電壓的測量或A/D變換,提高了采樣速率,轉換電路設計及算法實現簡單,測試分辨率和精度較高,具有較好的應用價值。
pwm相關文章:pwm原理
評論