加入星計劃,您可以享受以下權益:

  • 創(chuàng)作內容快速變現
  • 行業(yè)影響力擴散
  • 作品版權保護
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入
  • 正文
    • 一、前言
    • ※ 總??結 ※
  • 推薦器件
  • 相關推薦
  • 電子產業(yè)圖譜
申請入駐 產業(yè)圖譜

如何通過單片機串口輸出模擬量?

02/04 11:20
2898
閱讀需 5 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

一、前言

如果在電子線路設計中,碰到一個情況,那就是,單片機沒有DAC資源,也沒有多余的 PWM 端口可以使用。只剩下一個 串口還能用。那么如何通過該端口輸出模擬電壓呢?

利用單片機的端口,輸出一個占空比可以調節(jié)的方波信號,經過RC低通濾波器,去除其中的交流分量之后,便可以輸出方波信號中的直流信號。那么就剩下一個問題了,如何應用 UART 輸出一個高電平占空比可以改變的方波信號呢?

單片機的串口發(fā)送一個字節(jié)的信號波形中,包括一個bit 的起始位,一個bit 的停止位。它們分別是0 和 1,這是無法改變的。中間八個bit的數據位是可以改變的。比如發(fā)送0x44,其中就會包含有兩位高電平。這樣就有了8個可以被控制的高低電平的數據位。那么這就可以實現 3bit 位的 DAC輸出了。如果想實現 8bit 的 DAC輸出。則需要 256個可以被控制的數據位。這樣只要將連續(xù)32個發(fā)送字節(jié)合在一起,變可以形成256位可以控制高低電平的信號波形。從而實現 8bit 的 DAC 輸出了。下面通過單片機測試一下這種串口輸出模擬量的性能。

二、測試電路

設計基于STM32F103的測試電路板。這顆芯片我手邊有很多,所以選擇它進行實驗。利用它的 串口2 進行測試。串口1用于程序的下載。使用RC低通濾波器對 TXD2信號進行濾波。實際上 RXD2 是沒有使用的。另外,還將兩路ADC引導端口。這樣,可以利用ADC對外邊送入的信號進行采集之后,再從 TXD2 送出,驗證一下對音頻信號的采集與合成的功能。布置單面測試電路板。其中包括一個飛線,使用 0 歐姆電阻進行跳線

▲ 圖1.2.1 測試電路原理圖

▲ 圖1.2.2 PCB版圖

??一分鐘之后獲得了兩塊測試PCB電路板,其中有一塊有點過腐蝕。使用另外一塊比較正常的進行測試。

焊接電路。放置在面包板上進行測試。面包板直接給測試電路提供 3.3V的工作電源。程序通過探針夾子進行下載。

三、軟件測試

設置單片機的 UART2 的基本參數。輸出波特率為 1MHz。這樣可以提高輸出信號的更新率。通過示波器可以測量到輸出信號 每一位的時間 為1微秒,對應 1MHz的波特率。啟動DMA輸出模式,UART2 便可以通過DMA持續(xù)發(fā)送內存中 32 個字節(jié)內容。

D:zhuoqingwindowARMIARSTM32Test2024Test1CoreSrcmain.c

將32個字節(jié)設置為0,輸出的電壓波形,經過濾波之后測得的直流電壓為 0.326V。其中看到的脈沖是每個字節(jié)的停止位對應的高電平脈沖。設置32個字節(jié)都為 0xff,看到的低脈沖是每個字節(jié)的起始位。讀取的濾波后的直流電壓為 2.9V。設置32個字節(jié)為 0x55。此時出現正負交替的脈沖波形,濾波之后的直流電壓為 1.61V。

下面分別設置32個字節(jié)中,高電平位數從0變化到255,測量濾波之后的輸出直流電壓??梢钥吹诫S著位數的增加,輸出直流電壓線性上升。由于串口發(fā)送字節(jié)存在著起始位和停止位,所以對應的直流信號不是從零開始,最高電平也不是輸出信號的最高值。

▲ 圖1.3.1 設置32字節(jié)中高電平位數與濾波之后的直流電壓

??設置輸出DMA中的32個字節(jié)的 1 的位數按照正弦波變化,串口信號濾波之后輸出完美的正弦波形。設置輸出數據遞增,濾波后的波形呈現鋸齒波形。在下降沿出現緩變,這是因為輸出RC低通濾波引起的。這是輸出高低電平的情況,RC低通濾波在上升和下降沿都引起緩變。

※ 總??結 ※

本文測試了利用單片機串口輸出PWM波形,然后通過低通濾波形成直流電壓。利用這種方式,的確可以在特殊的情況下,給單片機產生一個DAC的端口。

推薦器件

更多器件
器件型號 數量 器件廠商 器件描述 數據手冊 ECAD模型 風險等級 參考價格 更多信息
MT25QU512ABB8E12-0SIT 1 Micron Technology Inc Flash, 512MX1, PBGA24, TBGA-24

ECAD模型

下載ECAD模型
$10.72 查看
ABM8-24.000MHZ-B2-T3 1 Abracon Corporation CRYSTAL 24.0000MHZ 18PF SMD

ECAD模型

下載ECAD模型
$1.24 查看
SN74HC14DR 1 Texas Instruments 6-ch, 2-V to 6-V inverters with Schmitt-Trigger inputs 14-SOIC -40 to 85

ECAD模型

下載ECAD模型
$0.21 查看

相關推薦

電子產業(yè)圖譜

公眾號TsinghuaJoking主筆。清華大學自動化系教師,研究興趣范圍包括自動控制、智能信息處理、嵌入式電子系統(tǒng)等。全國大學生智能汽車競賽秘書處主任,技術組組長,網稱“卓大大”。