基于STM32F373的信號(hào)采集與控制電路板-制作過程[1]
01 STM32F373調(diào)試過程
一、前言
這是剛剛制作的信號(hào)采集與控制電路板。是基于STM32F373單片機(jī)設(shè)計(jì)的。下面對(duì)這個(gè)剛剛焊接好的電路板進(jìn)行調(diào)試。為后面工作軟件的開發(fā)做好準(zhǔn)備。
二、初步調(diào)試
1、電源調(diào)試
首先,測(cè)試電路板上的電源電壓。工作電源通過電路板左側(cè)電接口引入電路板。擺上的 1117 將輸入電壓穩(wěn)壓在 3.3V。測(cè)試電壓,輸出電壓3.3V 正常。電路靜態(tài)電流為 8mA。這說明電路的電源正常了。
經(jīng)過檢查,發(fā)現(xiàn)在原理圖設(shè)計(jì)的時(shí)候,出現(xiàn)了一處標(biāo)號(hào)錯(cuò)誤,使得電路板缺少一個(gè)模擬地線的鏈接。下面測(cè)試電路板上的 -5V 電源,以及 2.048V的參考電壓源。這只是粗略測(cè)量,可以看到 -5V 電源正常,2.048V電壓也在正常范圍之內(nèi)。
2、連接STLINK
使用探針夾子將 ST-LINK 的 SWD 接口連接到電路板。測(cè)試一下開發(fā)端口是否正常。非常漂亮,ST-LINK 能夠訪問識(shí)別 STM32F373單片機(jī)。后面進(jìn)行軟件開發(fā)就非常順利了。
三、軟件開發(fā)
1、初步配置
下面使用 STM32 Cube MX 配置單片機(jī)開發(fā)工程。首先選擇單片機(jī)型號(hào)。在這個(gè)過程中,STM32CubeMX軟件自動(dòng)更新了軟件開發(fā)包。選擇STM32F373 單片機(jī)。設(shè)置系統(tǒng)開發(fā)接口 SWD。設(shè)置系統(tǒng)時(shí)鐘為外部 8MHz 晶振。選擇系統(tǒng)模擬端口。使能 USB功能。設(shè)置串口,波特率為 115200。配置串口的DMA功能。增加 USB 中間件,選擇虛擬串口功能。配置系統(tǒng)的時(shí)鐘。設(shè)置單片機(jī)硬件模塊時(shí)鐘頻率。設(shè)置生成工程文件目錄以及開發(fā)環(huán)境。最后系統(tǒng)導(dǎo)出 EW-IAR 工程文件。
2、編寫LED閃爍程序
編譯程序,程序沒有錯(cuò)誤。在主循環(huán)中增加 LED閃爍命令。利用 ST-LINK Utility 軟件進(jìn)行下載。下載程序沒有問題,但是在運(yùn)行的時(shí)候,出現(xiàn)目標(biāo)板無法連接錯(cuò)誤。具體問題不清楚。下面修改單片機(jī)時(shí)鐘配置,使用內(nèi)部時(shí)鐘源提供單片機(jī)運(yùn)行時(shí)鐘。經(jīng)過編寫下載之后,仍然出現(xiàn)錯(cuò)誤。電路板上的 LED 也沒有能夠運(yùn)行起來。具體原因還需要進(jìn)行排查。
使用示波器測(cè)試電路的 RESET管腳,會(huì)發(fā)現(xiàn)它出現(xiàn)不正常的震蕩波行。這使得電路無法正常工作。下面需要排查其中存在的硬件問題。
在這過程中更換過單片機(jī),誰知道最后的錯(cuò)誤居然是電路標(biāo)號(hào)錯(cuò)誤。在電路圖中 ?模擬3.3V電源居然沒有連接。就是這個(gè)線,在開始電路板中沒有連接。后來,外部使用飛線進(jìn)行連接。連接之后,電路板就工作正常了。這個(gè)錯(cuò)誤的確開始沒有想到。到此為止,這個(gè)信號(hào)采集與控制電路板硬件調(diào)試完畢了。
※ 總??結(jié) ※
本文對(duì)上午制作的 F373 信號(hào)采集與控制電路板進(jìn)行了硬件調(diào)試,其中所遇到的一個(gè)意想不到的 BUG,居然是自己在設(shè)計(jì)原理圖的時(shí)候給單片機(jī)模擬地線的網(wǎng)絡(luò)標(biāo)號(hào)修改錯(cuò)了。這樣造成單片機(jī)一開始無法運(yùn)行。接下來就可以進(jìn)行單片機(jī)的功能測(cè)試了。
參考資料
[1]基于STM32F373的信號(hào)采集與控制電路板-制作過程: https://blog.csdn.net/zhuoqingjoking97298/article/details/136125881