《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > 基于ARM Cortex-M3的多路數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)
基于ARM Cortex-M3的多路數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)
電子科技
陳科善 閆 鵬 平度市杭卅路中學(xué)
摘要: 數(shù)據(jù)采集是獲取信號(hào)對(duì)象信息的過(guò)程,。本文設(shè)計(jì)了一個(gè)基于ARM Cortex-M3處理器的數(shù)據(jù)采集系統(tǒng),,利用內(nèi)置的豐富的外設(shè)資源,實(shí)現(xiàn)多路模擬輸入電壓信號(hào)的連續(xù)采集和順序轉(zhuǎn)換,通過(guò)RS232串行通信將轉(zhuǎn)換結(jié)果在PC接收端顯示,,并產(chǎn)生PWM方波信號(hào),實(shí)現(xiàn)對(duì)現(xiàn)場(chǎng)電壓信號(hào)的實(shí)時(shí)監(jiān)測(cè),。
Abstract:
Key words :

摘要:數(shù)據(jù)采集" title="數(shù)據(jù)采集">數(shù)據(jù)采集是獲取信號(hào)對(duì)象信息的過(guò)程,。本文設(shè)計(jì)了一個(gè)基于ARM" title="ARM">ARM Cortex-M3處理器的數(shù)據(jù)采集系統(tǒng),利用內(nèi)置的豐富的外設(shè)資源,,實(shí)現(xiàn)多路模擬輸入電壓信號(hào)的連續(xù)采集和順序轉(zhuǎn)換,,通過(guò)RS232串行通信將轉(zhuǎn)換結(jié)果在PC接收端顯示,并產(chǎn)生PWM方波信號(hào),,實(shí)現(xiàn)對(duì)現(xiàn)場(chǎng)電壓信號(hào)的實(shí)時(shí)監(jiān)測(cè),。
關(guān)鍵詞:數(shù)據(jù)采集系統(tǒng);嵌入式系統(tǒng):Cortex-M3微處理器

0 引言
    數(shù)據(jù)采集系統(tǒng)是將采集傳感器輸出的溫度,、壓力,、流量、位移等模擬信號(hào)轉(zhuǎn)換成計(jì)算機(jī)能識(shí)別的數(shù)字信號(hào),,進(jìn)行相應(yīng)的計(jì)算存儲(chǔ)和處理,;同時(shí),可將計(jì)算所得的數(shù)據(jù)進(jìn)行顯示或打印,,以便實(shí)現(xiàn)對(duì)某些物理量的監(jiān)測(cè)和控制,。
    嵌入式系統(tǒng)是以應(yīng)用為中心,以計(jì)算機(jī)為基礎(chǔ),,軟硬件可剪裁,,適用于對(duì)功能、可靠性,、成本,、體積,、功耗有嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。嵌入式系統(tǒng)的核心是各種類型的嵌入式處理器,。目前,,采用ARM技術(shù)的微處理器占據(jù)了主流,其應(yīng)用遍及工業(yè)控制,、消費(fèi)類電子產(chǎn)品,、通信系統(tǒng)、網(wǎng)絡(luò)系統(tǒng),、無(wú)線系統(tǒng)等各類產(chǎn)品市場(chǎng),。而 ARM微處理器的Cortex系列專為安全要求較高的應(yīng)用而設(shè)計(jì)。其中,,Cortex-M3適于高性能,、低成本需求的嵌入式應(yīng)用。

1 多路數(shù)據(jù)采集系統(tǒng)總體設(shè)計(jì)
1.1 系統(tǒng)設(shè)計(jì)要求
    本數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)要求實(shí)現(xiàn)150路直流電壓的實(shí)時(shí)采集和順序轉(zhuǎn)換,。經(jīng)過(guò)部分采集處理后,,由串行數(shù)據(jù)總線將轉(zhuǎn)換數(shù)據(jù)發(fā)送至上位機(jī)界面,經(jīng)過(guò)換算,,以檢測(cè)采集的電源正常與否,;同時(shí)在輸出端產(chǎn)生5路PWM方波信號(hào),以用作輸出測(cè)試與控制,。
1.2 系統(tǒng)設(shè)計(jì)方案
    根據(jù)上述設(shè)計(jì)要求和數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)規(guī)范,,將系統(tǒng)劃分為兩個(gè)部分:最小系統(tǒng)和采集系統(tǒng)。
    最小系統(tǒng)采用基于ARM Cortex-M3架構(gòu)的微控制器STM32F103RBT6為主控CPU,,利用其內(nèi)置16通道ADC" title="ADC">ADC對(duì)輸入的多路直流電壓信號(hào)進(jìn)行實(shí)時(shí)采集和轉(zhuǎn)換,,內(nèi)置外設(shè)USART將轉(zhuǎn)換結(jié)果經(jīng)過(guò)串口發(fā)送在PC端由串口調(diào)試助手顯示。
    采集系統(tǒng)采用5塊采集板,,每塊板實(shí)現(xiàn)30路電壓信號(hào)采集,。各塊板上,采用比例分壓的方法,,利用排阻進(jìn)行采集電壓的比例轉(zhuǎn)換,,以達(dá)到ADC轉(zhuǎn)換的參考基準(zhǔn)電壓要求。電壓信號(hào)的輸入采用4.16線模擬開關(guān)CD4067,,通過(guò)CPIJ輸出四位控制信號(hào),,依次選擇各路輸入信號(hào),進(jìn)行采集轉(zhuǎn)換,。
    電壓信號(hào)經(jīng)過(guò)采集板,,級(jí)聯(lián)輸入到最小系統(tǒng)板中,,利用CPU內(nèi)置ADCl中的10個(gè)轉(zhuǎn)換輸入通道,,依次進(jìn)行轉(zhuǎn)換,。設(shè)置CPU_內(nèi)部DMA模塊實(shí)現(xiàn)轉(zhuǎn)換結(jié)果的存儲(chǔ),利用串口轉(zhuǎn)發(fā)數(shù)據(jù),,在上位機(jī)顯示轉(zhuǎn)換結(jié)果,。
    根據(jù)上述設(shè)計(jì)方案,本數(shù)據(jù)采集系統(tǒng)的系統(tǒng)組成和工作原理如圖1所示,。

a.JPG

2 數(shù)據(jù)采集系統(tǒng)的硬件設(shè)計(jì)
    根據(jù)系統(tǒng)構(gòu)成原理,,硬件設(shè)計(jì)上,最小系統(tǒng)和采集系統(tǒng)兩部分通過(guò)并行接口實(shí)現(xiàn)多塊板級(jí)聯(lián),,通過(guò)選擇相應(yīng)的輸入通道和轉(zhuǎn)換通道,,實(shí)現(xiàn)信號(hào)采集和轉(zhuǎn)換結(jié)果的顯示。
    最小系統(tǒng)中,,采用STM32F103RBT6微控制器,,工作頻率可達(dá)72MHz,內(nèi)置2個(gè)12位ADC,,16個(gè)外部模擬信號(hào)輸入通道,,可達(dá)1 u s轉(zhuǎn)換時(shí)間,轉(zhuǎn)換范圍是O~3.6V,;支持7個(gè)DMA通道,,可操作多種通用外設(shè),如定時(shí)器,、ADC,、USART等;內(nèi)置3個(gè)同步16位定時(shí)器,,每個(gè)可有4個(gè)通道用于PWM波形輸出,。
2.1 最小系統(tǒng)的設(shè)計(jì)
    按照STM32最小系統(tǒng)的設(shè)計(jì)規(guī)范和本系統(tǒng)的功能要求,最小系統(tǒng)構(gòu)成如圖2所示:
b.JPG

    電源模塊:CPU為3.3V供電,,最小系統(tǒng)外部輸入電源為5V,,經(jīng)過(guò)電壓轉(zhuǎn)換芯片LM1117-3.3獲得3.3V輸出電壓,以提供系統(tǒng)電源,。電源的輸入輸出端并接濾波電容,,分別濾除電源的高頻和低頻噪聲。
    除此之外還有外部時(shí)鐘,,復(fù)位系統(tǒng),,ADC參考電壓,USART串行通信,,JTAG調(diào)試接口,,總線驅(qū)動(dòng)接口的設(shè)計(jì)。
    STM32F103RBT6處理器具有51個(gè)多功能雙向5V兼容的I/O口,,使用時(shí)可以作為通用GPIO口,,也可作為復(fù)用AFIO口,。復(fù)用I/O中,本系統(tǒng)外設(shè)所使用的有:定時(shí)器4通道四TIM4-CH4復(fù)用PB9口,;USART1引腳USART1-TX,、USART1-RX復(fù)用PA9、PA10:ADC 轉(zhuǎn)換通道CH0~CH9分別復(fù)用PA0~PA7及PB0,、PB1,。
    對(duì)于復(fù)用功能的端口可以配置成以下模式:輸入模式(浮空、上拉或下拉)或復(fù)用功能輸出模式,,此時(shí)輸入驅(qū)動(dòng)器被配置成浮空輸入模式,。ADC通道端口用作ADC輸入時(shí)將對(duì)應(yīng)端口配置為模擬信號(hào)輸入模式;USART數(shù)據(jù)傳輸時(shí),,TX,、RX復(fù)用端口分別配置為備用功能推拉模式和
輸入浮動(dòng)模式。
2.2 電壓采集系統(tǒng)的設(shè)計(jì)
    電壓采集系統(tǒng)作為本系統(tǒng)的第二部分,,主要實(shí)現(xiàn)多路電壓信號(hào)順序選擇輸入,,獲得ADC采集端的輸入電壓信號(hào),同時(shí),,輸出最小系統(tǒng)中產(chǎn)生的PWM方波信號(hào),,并能選擇不同的ADC通道,以實(shí)現(xiàn)5塊采集板與最小系統(tǒng)板級(jí)聯(lián),。本部分主要包括電壓采集模塊,、數(shù)據(jù)選擇模塊、PWM輸出模塊以及輸入輸出接口等,。
    電壓采集模塊:電路中采用電阻比例分壓的方法,,獲取輸入電壓信號(hào),以達(dá)到CPU采集轉(zhuǎn)換的基準(zhǔn)電壓的要求,。在實(shí)際硬件設(shè)計(jì)中,,采用比例阻值的排阻代替分離電阻以便于電路板的繪制和整體布局。
    數(shù)據(jù)選擇模塊:采用16選1輸出的模擬開關(guān)CD4067作為數(shù)據(jù)選擇器,,輸出控制由CPU四個(gè)端口輸入高低電平作為二進(jìn)制組合以確定輸出的數(shù)據(jù)通道,。
    PWM輸出模塊:最小系統(tǒng)中選擇定時(shí)器四,軟件配置為PWM輸出,,由三極管放大后獲得PWM方波,。
    輸入輸出接口:本系統(tǒng)數(shù)據(jù)采集和最小系統(tǒng)兩部分采用40針排線連接,各個(gè)采集板上可以同時(shí)選擇兩個(gè)不同的通道,,級(jí)聯(lián)后各板將數(shù)據(jù)選擇器的輸出信號(hào)送至相應(yīng)的ADC轉(zhuǎn)換通道,,同時(shí)輸出PWM方波信號(hào)。

3 系統(tǒng)調(diào)試及軟件設(shè)計(jì)
    設(shè)計(jì)并加工好印刷電路板后,開始硬件和軟件的調(diào)試,。調(diào)試過(guò)程中采用逐個(gè)功能單元調(diào)試,,一個(gè)功能單元調(diào)試正常后再調(diào)試下一功能模塊,確保電路板出問(wèn)題時(shí)可以很快發(fā)現(xiàn)問(wèn)題點(diǎn),,再將各功能單元組合設(shè)置,逐步完成軟件設(shè)計(jì)和系統(tǒng)調(diào)試,,實(shí)現(xiàn)系統(tǒng)設(shè)計(jì)要求,。
    系統(tǒng)調(diào)試所使用的開發(fā)環(huán)境為IAR EWARM,仿真工具為ST-LINKII,,使用USB接口,。
3.1 最小系統(tǒng)板調(diào)試
    將電源模塊、復(fù)位,、JTAG,、外部晶振焊到電路板上,組成最小系統(tǒng),,分模塊,,分步驟,調(diào)試系統(tǒng)各部分,。加電調(diào)試前檢測(cè)是否有電源短路,,確保電路安全。
    電源模塊:電路外部輸入電壓為5V,,經(jīng)電壓轉(zhuǎn)換后在LMlll7-3.3V輸出端得到3.3V的輸出,。加電后,首先通過(guò)萬(wàn)用表測(cè)量電壓輸出是否正確,,然后通過(guò)示波器觀察輸出電平的波形是否滿足系統(tǒng)對(duì)電源精度的要求,,如不滿足,可以通過(guò)加大濾波電容的方法解決,。
    最小系統(tǒng)供電正常后,,連接仿真器,通過(guò)軟件平臺(tái)可以檢測(cè)到最小系統(tǒng)CPU,,表明CPU焊接正常,。調(diào)試過(guò)程中會(huì)用到外部晶振,需要檢測(cè)晶振電路,,將系統(tǒng)上電,,使用示波器檢測(cè)晶振管腳,觀察波形,,看晶振是否起振,。然后編寫一個(gè)簡(jiǎn)單的LED測(cè)試程序來(lái)觀察CPU是否能正常工作,通過(guò)軟件設(shè)置電路中LED連接的 I/O端口(PB6)輸出模式,,觀察是否有閃爍,。
    DMA調(diào)試:DMA用來(lái)提供在外設(shè)和存儲(chǔ)器之間或者存儲(chǔ)器之間的高速數(shù)據(jù)傳輸,。DMA通道配置包括:設(shè)置外設(shè)寄存器、數(shù)據(jù)存儲(chǔ)器的基地址,,確定數(shù)據(jù)量和通道優(yōu)先級(jí),,以及數(shù)據(jù)傳輸?shù)姆较颉⒀h(huán)模式,、外設(shè)和存儲(chǔ)器的增量模式等,。ADC1對(duì)應(yīng)DMA通道1請(qǐng)求,ADC通道配置中使能DMA請(qǐng)求,。
    除此之外還有USART調(diào)試,、ADC調(diào)試、PWM調(diào)試等,。
3.2 系統(tǒng)整體調(diào)試
    最小系統(tǒng)板各功能單元調(diào)試通過(guò)后,,將最小系統(tǒng)板與數(shù)據(jù)采集板級(jí)聯(lián)進(jìn)行系統(tǒng)整體調(diào)試。
    系統(tǒng)調(diào)試主要包括:外設(shè)和系統(tǒng)時(shí)鐘初始化,,GPIO初始化,,USART初始化和ADC、定時(shí)器初始化及ADC通道設(shè)置和串口收發(fā)配置等,。系統(tǒng)調(diào)試流程如圖3所示:
c.JPG

    按照上述流程完成程序設(shè)計(jì),,編譯、鏈接,、運(yùn)行,,觀察輸入輸出情況。系統(tǒng)調(diào)試效果如圖4所示,。

d.JPG
    程序運(yùn)行后,,系統(tǒng)板上的LED在閃爍,用示波器測(cè)量定時(shí)器輸出引腳PB9,,顯示頻率為4kHz,,幅值為3.3V,占空比50%的PWM的方波,,經(jīng)過(guò)三極管放大,,幅值為4.5V;在采集板輸入端加入直流電壓信號(hào),,跳線選擇ADC通道,;USART進(jìn)行數(shù)據(jù)傳輸中,先發(fā)出轉(zhuǎn)換結(jié)果低六位,,后發(fā)出高六位,。打開串口調(diào)試助手,在數(shù)據(jù)接收區(qū)內(nèi)以十六進(jìn)制依次顯示經(jīng)過(guò)ADC所獲得的輸入信號(hào)的轉(zhuǎn)換結(jié)果,圖4中顯示了通道IN105,、IN206輸入信號(hào)的測(cè)試效果,,每次預(yù)先發(fā)送0x7E,且每15次循環(huán)輸出,,表示依次獲取了模擬輸入電壓信號(hào),,經(jīng)測(cè)算轉(zhuǎn)換精度在誤差允許范圍內(nèi),說(shuō)明系統(tǒng)運(yùn)行正常,,初步實(shí)現(xiàn)設(shè)計(jì)目的,。

4 結(jié)論
    本數(shù)據(jù)采集系統(tǒng)充分利用微處理器STM32F103RBT6內(nèi)置的16路ADC通道、DMA控制器,、USART通信接口,、定時(shí)器等豐富的外設(shè)資源,,在系統(tǒng)實(shí)現(xiàn)上簡(jiǎn)化了相關(guān)模塊的設(shè)計(jì),,提高了系統(tǒng)運(yùn)行的可靠性。經(jīng)過(guò)系統(tǒng)硬件設(shè)計(jì)和軟件配置實(shí)現(xiàn)順序采集轉(zhuǎn)換輸入的多路電壓信號(hào),,并利用上位機(jī)界面顯示采集的信號(hào),,實(shí)現(xiàn)了輸入信號(hào)的實(shí)時(shí)監(jiān)測(cè)和管理,達(dá)到了系統(tǒng)設(shè)計(jì)的基本要求,。
 

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。