新聞中心

EEPW首頁 > 模擬技術 > 設計應用 > 如何優(yōu)雅的將PWM轉換成DAC?

如何優(yōu)雅的將PWM轉換成DAC?

作者: 時間:2025-01-08 來源:TsinghuaJoking 收藏

一、前言

本文引用地址:http://www.butianyuan.cn/article/202501/466095.htm

很多單片機都不具備輸出,但會有多路輸出,下面測試利用芯片,GP8500,將信號轉換成模擬電壓信號。測試一下這個方案,以備之后應用積累經(jīng)驗。

二、電路設計

設計基于STC32G單片機的測試電路。選擇 B中的第四個通道,也就是PWM8 的信號發(fā)送給 GP8500,由它將 PWM信號轉換成模擬電壓。鋪設單面PCB,適合一分鐘制板方法制作測試電路板。

一分鐘之后得到測試電路板,焊接清洗之后 進行測試?,F(xiàn)在電路板工作電源為 5V。

三、測試結果

下載STC32G程序的時候,?選擇內(nèi)部時鐘為35MHz,?基于此,在PWM初始化的時候,設置時鐘為單片機內(nèi)部時鐘7分頻,周期為1000。這樣,輸出PWM信號為5kHz,現(xiàn)在設置的占空比為四分之一。

▲ 圖1.3.1 頻率5kHz,占空比為四分之一的PWM波形

此時,測量GP8500模擬電壓輸出,會發(fā)現(xiàn),它上面出現(xiàn)了高頻寄生震蕩波形。平均電壓為 1.25V,符合在占空比為四分之一情況下對應5V的四分之一的電壓。為什么 會出現(xiàn)這個高頻震蕩呢。想起了在焊接電路的時候,GP8500輸出端口的濾波電容,我想當然的使用了手邊的 0.1微法的電容進行濾波。但是,在GP8500器件手冊中,要求 GP8500輸出端口的濾波電容只能在 0 到 100pf之間。是否就是因為這個原因造成了 GP8500輸出震蕩呢?? 為了證實這個怨言,將這個電容去掉,在電路板上不焊接任何電容。重新測量,可以看到,GP8500輸出信號中就不再出現(xiàn)高頻震蕩了。

▲ 圖1.3.2 輸出電壓波形中帶有高頻震蕩

▲ 圖1.3.3 去掉GP8500輸出濾波電容之后,輸出電壓不再震蕩了

下面,每隔一毫秒,更新一次PWM輸出占空比,讓占空比按照正弦規(guī)律進行變化,此時可以看到輸出了正弦波信號。中間的斷續(xù)顯然應該是因為更新的時間間隔比較大。不過,其中還包含有令人不安的波形。比如這里出現(xiàn)了非常細小的毛刺波形。這種毛刺出現(xiàn),好像也不是隨機的。感覺應該是在特殊的輸出數(shù)值中出現(xiàn)的。具體是什么原因,現(xiàn)在一時毫無頭緒。

▲ 圖1.3.4 輸出正弦波的PWM信號

示波器單次捕捉這個毛刺,放大之后,可以看到,這是 STC32G單片機輸出PWM信號出現(xiàn)了抖動。于是乎就破壞了前后兩次的 轉換結果。所以,這個毛刺的問題,應該有 STC32G單片機來背這個鍋。這是另外一次捕捉的毛刺結果,是同樣的問題。那么問題來了,為何STC32G單片機在輸出PWM波形的時候,會出現(xiàn)這種抖動呢?

※ 總結 ※

本文測試了利用STC32G的PWM輸出,通過GP8500產(chǎn)生的功能。在測試過程中,發(fā)現(xiàn),GP8500輸出端口不能夠并聯(lián) 0.1微法的電容,否則就會出現(xiàn)高頻震蕩。輸出端口可以不焊接任何電容。另外一個意外,那就是STC32G單片機輸出PWM波形中,會出現(xiàn)抖動。這究竟是什么原因,現(xiàn)在還不得而知。

參考資料

[1]如何將GP8101 的工作電壓改為5V?: https://zhuoqing.blog.csdn.net/article/details/136605372

[2]GP8500 PAC 芯片的特性: https://zhuoqing.blog.csdn.net/article/details/136774706

[3]測量GP8500的動態(tài)特性: https://zhuoqing.blog.csdn.net/article/details/137201737

[4]重新測試 GP8500 芯片: https://zhuoqing.blog.csdn.net/article/details/137200037



關鍵詞: DAC PWM PCA 模擬信號

評論


相關推薦

技術專區(qū)

關閉