STM32F103x的USB多路數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)
引 言
目前,在工業(yè)和許多其他場合依然使用基于PCI板卡、ISA板卡的數(shù)據(jù)采集系統(tǒng),價(jià)格昂貴、接插不方便。USB(Universal Serial Bus,通用串行總線)是計(jì)算機(jī)上的一種新型接口技術(shù),它使得計(jì)算機(jī)和外部設(shè)備的連接十分方便。USB具有高效、快速、價(jià)格低廉、體積小和支持熱拔插等優(yōu)點(diǎn),使其成為數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)的新寵兒。然而當(dāng)前的USB數(shù)據(jù)采集設(shè)備大多采用的是專門的USB接口芯片,而且根據(jù)不同的需求,需要外擴(kuò)一定數(shù)量的A/D 轉(zhuǎn)換芯片,使得接口非常復(fù)雜,增加了系統(tǒng)的開發(fā)難度,進(jìn)而對系統(tǒng)的穩(wěn)定性產(chǎn)生影響。本設(shè)計(jì)采用意法半導(dǎo)體公司開發(fā)的基于Cortex-M3內(nèi)核的新型32 位微控制器STM32F103x作為主控芯片。該芯片內(nèi)部集成了全速USB2.0設(shè)備接口模塊和16通道的12位高精度A/D轉(zhuǎn)換器,單芯片即可完成設(shè)計(jì)任務(wù),避免了復(fù)雜的接口電路設(shè)計(jì),有效地降低了系統(tǒng)接口的復(fù)雜度和系統(tǒng)開發(fā)的難度,在很大程度上提高了系統(tǒng)的穩(wěn)定性。
1 主控芯片STM32F103x
STM32F103x是意法半導(dǎo)體公司生產(chǎn)的基于ARMCortex-M3處理器核的微控制器。Cortex-M3是基于ARMv7-M體系結(jié)構(gòu)的32位標(biāo)準(zhǔn)處理器,具有低功耗、少門數(shù)、短中斷延遲、低調(diào)試成本等眾多優(yōu)點(diǎn)。它是專門為在微控制器系統(tǒng)、汽車電控系統(tǒng)、工業(yè)控制系統(tǒng)和無線網(wǎng)絡(luò)等對功耗和成本敏感的嵌入式應(yīng)用領(lǐng)域?qū)崿F(xiàn)高系統(tǒng)性能而設(shè)計(jì)的,大大簡化了編程的復(fù)雜性,集高性能、低功耗、低成本于一體。STM32F103x微控制器采用了先進(jìn)的 Cortex-M3內(nèi)核結(jié)構(gòu),具有豐富的性能出眾的片上外設(shè),包括16通道的12位A/D轉(zhuǎn)換器、7通道的DMA控制器、16位定時(shí)器、USART接口、 CAN接口(2.0B)和USB2.0全速接口(12 Mbps)等。
2 數(shù)據(jù)采集系統(tǒng)硬件設(shè)計(jì)
2.1 數(shù)據(jù)采集系統(tǒng)硬件結(jié)構(gòu)
多路數(shù)據(jù)采集系統(tǒng)的硬件結(jié)構(gòu)框圖如圖1所示,主要包含5個(gè)模塊:信號輸入接口模塊、信號調(diào)理模塊、數(shù)據(jù)采集及預(yù)處理模塊、USB2.0通信模塊和上位機(jī)模塊。其中的信號輸入接口模塊實(shí)現(xiàn)信號的隔離接入;信號調(diào)理模塊對輸入信號進(jìn)行放大或衰減,以適應(yīng)A/D轉(zhuǎn)換器的轉(zhuǎn)換量程;數(shù)據(jù)采集及預(yù)處理模塊和USB2.0通信模塊實(shí)際是由微控制器 STM32F103x獨(dú)自實(shí)現(xiàn)的。STM32F103x通過內(nèi)部A/D轉(zhuǎn)換器對經(jīng)過調(diào)理后的信號進(jìn)行采集,然后進(jìn)行數(shù)據(jù)的預(yù)處理,并將預(yù)處理后的數(shù)據(jù)通過 USB2.0全速接口傳送到上位機(jī)。上位機(jī)模塊主要是對獲取的數(shù)據(jù)進(jìn)行存儲和分析處理。由于大量的工作都是在STM32F103x內(nèi)部完成的,只需通過簡單的寄存器設(shè)置和程序設(shè)計(jì)即可完成數(shù)據(jù)的采集和傳輸過程,這在很大程度上優(yōu)化了系統(tǒng)的設(shè)計(jì)。
評論