基于ARM Cortex-M3的多路數(shù)據(jù)采集系統(tǒng)的設計
最小系統(tǒng)中,采用STM32F103RBT6微控制器,工作頻率可達72MHz,內(nèi)置2個12位ADC,16個外部模擬信號輸入通道,可達1 u s轉(zhuǎn)換時間,轉(zhuǎn)換范圍是O~3.6V;支持7個DMA通道,可操作多種通用外設,如定時器、ADC、USART等;內(nèi)置3個同步16位定時器,每個可有4個通道用于PWM波形輸出。
2.1 最小系統(tǒng)的設計
按照STM32最小系統(tǒng)的設計規(guī)范和本系統(tǒng)的功能要求,最小系統(tǒng)構(gòu)成如圖2所示:
電源模塊:CPU為3.3V供電,最小系統(tǒng)外部輸入電源為5V,經(jīng)過電壓轉(zhuǎn)換芯片LM1117-3.3獲得3.3V輸出電壓,以提供系統(tǒng)電源。電源的輸入輸出端并接濾波電容,分別濾除電源的高頻和低頻噪聲。
除此之外還有外部時鐘,復位系統(tǒng),ADC參考電壓,USART串行通信,JTAG調(diào)試接口,總線驅(qū)動接口的設計。
STM32F103RBT6處理器具有51個多功能雙向5V兼容的I/O口,使用時可以作為通用GPIO口,也可作為復用AFIO口。復用I/O中,本系統(tǒng)外設所使用的有:定時器4通道四TIM4-CH4復用PB9口;USART1引腳USART1-TX、USART1-RX復用PA9、PA10:ADC 轉(zhuǎn)換通道CH0~CH9分別復用PA0~PA7及PB0、PB1。
對于復用功能的端口可以配置成以下模式:輸入模式(浮空、上拉或下拉)或復用功能輸出模式,此時輸入驅(qū)動器被配置成浮空輸入模式。ADC通道端口用作ADC輸入時將對應端口配置為模擬信號輸入模式;USART數(shù)據(jù)傳輸時,TX、RX復用端口分別配置為備用功能推拉模式和
輸入浮動模式。
2.2 電壓采集系統(tǒng)的設計
電壓采集系統(tǒng)作為本系統(tǒng)的第二部分,主要實現(xiàn)多路電壓信號順序選擇輸入,獲得ADC采集端的輸入電壓信號,同時,輸出最小系統(tǒng)中產(chǎn)生的PWM方波信號,并能選擇不同的ADC通道,以實現(xiàn)5塊采集板與最小系統(tǒng)板級聯(lián)。本部分主要包括電壓采集模塊、數(shù)據(jù)選擇模塊、PWM輸出模塊以及輸入輸出接口等。
電壓采集模塊:電路中采用電阻比例分壓的方法,獲取輸入電壓信號,以達到CPU采集轉(zhuǎn)換的基準電壓的要求。在實際硬件設計中,采用比例阻值的排阻代替分離電阻以便于電路板的繪制和整體布局。
數(shù)據(jù)選擇模塊:采用16選1輸出的模擬開關CD4067作為數(shù)據(jù)選擇器,輸出控制由CPU四個端口輸入高低電平作為二進制組合以確定輸出的數(shù)據(jù)通道。
PWM輸出模塊:最小系統(tǒng)中選擇定時器四,軟件配置為PWM輸出,由三極管放大后獲得PWM方波。
輸入輸出接口:本系統(tǒng)數(shù)據(jù)采集和最小系統(tǒng)兩部分采用40針排線連接,各個采集板上可以同時選擇兩個不同的通道,級聯(lián)后各板將數(shù)據(jù)選擇器的輸出信號送至相應的ADC轉(zhuǎn)換通道,同時輸出PWM方波信號。
3 系統(tǒng)調(diào)試及軟件設計
設計并加工好印刷電路板后,開始硬件和軟件的調(diào)試。調(diào)試過程中采用逐個功能單元調(diào)試,一個功能單元調(diào)試正常后再調(diào)試下一功能模塊,確保電路板出問題時可以很快發(fā)現(xiàn)問題點,再將各功能單元組合設置,逐步完成軟件設計和系統(tǒng)調(diào)試,實現(xiàn)系統(tǒng)設計要求。
系統(tǒng)調(diào)試所使用的開發(fā)環(huán)境為IAR EWARM,仿真工具為ST-LINKII,使用USB接口。
3.1 最小系統(tǒng)板調(diào)試
將電源模塊、復位、JTAG、外部晶振焊到電路板上,組成最小系統(tǒng),分模塊,分步驟,調(diào)試系統(tǒng)各部分。加電調(diào)試前檢測是否有電源短路,確保電路安全。
電源模塊:電路外部輸入電壓為5V,經(jīng)電壓轉(zhuǎn)換后在LMlll7-3.3V輸出端得到3.3V的輸出。加電后,首先通過萬用表測量電壓輸出是否正確,然后通過示波器觀察輸出電平的波形是否滿足系統(tǒng)對電源精度的要求,如不滿足,可以通過加大濾波電容的方法解決。
最小系統(tǒng)供電正常后,連接仿真器,通過軟件平臺可以檢測到最小系統(tǒng)CPU,表明CPU焊接正常。調(diào)試過程中會用到外部晶振,需要檢測晶振電路,將系統(tǒng)上電,使用示波器檢測晶振管腳,觀察波形,看晶振是否起振。然后編寫一個簡單的LED測試程序來觀察CPU是否能正常工作,通過軟件設置電路中LED連接的 I/O端口(PB6)輸出模式,觀察是否有閃爍。
DMA調(diào)試:DMA用來提供在外設和存儲器之間或者存儲器之間的高速數(shù)據(jù)傳輸。DMA通道配置包括:設置外設寄存器、數(shù)據(jù)存儲器的基地址,確定數(shù)據(jù)量和通道優(yōu)先級,以及數(shù)據(jù)傳輸?shù)姆较?、循環(huán)模式、外設和存儲器的增量模式等。ADC1對應DMA通道1請求,ADC通道配置中使能DMA請求。
除此之外還有USART調(diào)試、ADC調(diào)試、PWM調(diào)試等。
評論