當(dāng)前位置:首頁(yè) > 智能硬件 > 智能硬件
[導(dǎo)讀]引 言 目前,在工業(yè)和許多其他場(chǎng)合依然使用基于PCI板卡、ISA板卡的數(shù)據(jù)采集系統(tǒng),價(jià)格昂貴、接插不方便。USB(Universal Serial Bus,通用串行總線(xiàn))是計(jì)算機(jī)上的一種新型接口技術(shù),它使得計(jì)算機(jī)和外部設(shè)備的連接

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

2.2 STM32F103x的ADC模塊
    STM32F103x系列微控制器所帶的2個(gè)12位ADC是一種逐次逼近型模擬數(shù)字轉(zhuǎn)換器。它有16個(gè)外部通道,可測(cè)量16個(gè)外部信號(hào)源。各通道的A/D 轉(zhuǎn)換可以是單次、連續(xù)、掃描或不連續(xù)模式執(zhí)行,其轉(zhuǎn)換結(jié)果可以左對(duì)齊或右對(duì)齊方式存儲(chǔ)在16位數(shù)據(jù)存儲(chǔ)器中。ADC轉(zhuǎn)換頻率最高可達(dá)1 MHz,且每個(gè)通道的采樣間隔時(shí)間均可獨(dú)立編程設(shè)置。在通道轉(zhuǎn)換期間,ADC能產(chǎn)生DMA請(qǐng)求,使DMA來(lái)傳輸ADC轉(zhuǎn)換值,提高了數(shù)據(jù)傳輸?shù)男省?ADC模塊的結(jié)構(gòu)示意圖如圖2所示。

2.3 STM32F103x的USB2.0全速設(shè)備接口模塊
    USB接口模塊為上位機(jī)和由微控制器實(shí)現(xiàn)的功能設(shè)備之間提供了符合USB規(guī)范的通信連接。USB接口模塊通過(guò)和微控制器共享一塊專(zhuān)用的數(shù)據(jù)緩沖區(qū)實(shí)現(xiàn)上位機(jī)和系統(tǒng)存儲(chǔ)器之間的數(shù)據(jù)傳輸。這塊專(zhuān)用數(shù)據(jù)緩沖區(qū)的大小由所使用的端點(diǎn)數(shù)目和每個(gè)端點(diǎn)最大的數(shù)據(jù)分組大小來(lái)決定,每個(gè)端點(diǎn)最大可使用512字節(jié)緩沖區(qū),最多可用于16個(gè)單向或8個(gè)雙向端點(diǎn)。USB接口模塊根據(jù)UJSB
規(guī)范實(shí)現(xiàn)了令牌分組的檢測(cè),數(shù)據(jù)發(fā)送/接收的處理和握手分組的處理。整個(gè)傳輸?shù)臄?shù)據(jù)格式由硬件自動(dòng)生成,其中包括CRC的生成和校驗(yàn)。USB2.0全速設(shè)備接口模塊的結(jié)構(gòu)示意圖如圖3所示。

3 數(shù)據(jù)采集系統(tǒng)軟件設(shè)計(jì)
    數(shù)據(jù)采集系統(tǒng)軟件設(shè)計(jì)主要包括設(shè)備固件程序設(shè)計(jì)和上位機(jī)應(yīng)用程序設(shè)計(jì)兩部分。
3.1 設(shè)備固件程序
    設(shè)備固件程序設(shè)計(jì)的兩個(gè)主要部分是ADC模塊的配置和USB模塊的配置與通信。
    (1)ADC模塊的配置
    意法半導(dǎo)體公司針對(duì)ARM的32位STM32F103x系列MCU提供了固件庫(kù)。該固件庫(kù)提供了包括ADC在內(nèi)的各種功能模塊的軟件使用接口,使用該固件庫(kù)可以有效節(jié)省用戶(hù)產(chǎn)品的開(kāi)發(fā)和調(diào)試時(shí)間。利用該庫(kù),本設(shè)計(jì)中ADC的配置代碼如下:


    ADC校準(zhǔn)之后通過(guò)函數(shù)ADC_SoftwareStart-ConvCmd(ADC1,ENABLE)即可啟動(dòng)A/D轉(zhuǎn)換。
    (2)USB模塊的配置與通信
    意法半導(dǎo)體公司還提供了針對(duì)STM32F系列的USB開(kāi)發(fā)工具包。該工具包是一個(gè)完整的固件和軟件包,包括所有USB傳輸方式的范例,大大減少了開(kāi)發(fā)人員的工作量。利用USB工具包主要完成對(duì)IJSB模塊的配置及與USB主機(jī)(即上位機(jī))之間的通信。
    USB規(guī)范定義了4種數(shù)據(jù)傳輸類(lèi)型:控制傳輸、塊傳輸、中斷傳輸和同步傳輸。塊傳輸適用于傳輸大量的且對(duì)傳輸時(shí)間和傳輸速率均無(wú)要求的數(shù)據(jù);中斷傳輸適用于傳輸少量或中量的且對(duì)傳輸時(shí)間有要求的數(shù)據(jù);同步傳輸適用于傳輸大量的,速率恒定的且對(duì)傳輸時(shí)間有要求的數(shù)據(jù);控制傳輸適用于傳輸少量的且對(duì)傳輸時(shí)間和傳輸速率均無(wú)要求,但必須保證數(shù)據(jù)傳輸?shù)目煽啃浴?br />    在本設(shè)計(jì)中,端點(diǎn)0為控制傳輸端點(diǎn),實(shí)現(xiàn)USB設(shè)備上電后的配置過(guò)程;端點(diǎn)1為OUT中斷傳輸端點(diǎn),用以接收上位機(jī)發(fā)送的命令,實(shí)現(xiàn)上位機(jī)對(duì)數(shù)據(jù)采集過(guò)程的控制;端點(diǎn)2為IN塊傳輸端點(diǎn),將數(shù)據(jù)采集結(jié)果實(shí)時(shí)地傳送到上位機(jī),供上位機(jī)進(jìn)行數(shù)據(jù)分析和處理。利用意法半導(dǎo)體公司提供的USB開(kāi)發(fā)工具包并參照范例,修改一些描述符(設(shè)備描述符、配置描述符、接口描述符和端點(diǎn)描述符等)和設(shè)備復(fù)位函數(shù),添加相應(yīng)的端點(diǎn)傳輸中斷服務(wù)程序等,即可方便地實(shí)現(xiàn)本系統(tǒng)的 USB設(shè)備開(kāi)發(fā)。端點(diǎn)2的配置代碼如下:

    在設(shè)置端點(diǎn)2發(fā)送有效之后,USB模塊可自動(dòng)完成端點(diǎn)2緩沖區(qū)的數(shù)據(jù)發(fā)送。
3.2 上位機(jī)應(yīng)用程序
    本設(shè)計(jì)采用一種使用NI-VISA和LabVIEW進(jìn)行USB數(shù)據(jù)采集系統(tǒng)上位機(jī)程序開(kāi)發(fā)的快速簡(jiǎn)單而且有效的方法,從而避開(kāi)傳統(tǒng)的Windows編程技術(shù)。通過(guò)在LabVIEW下調(diào)用NI-VISA子控件程序,可以方便地實(shí)現(xiàn)與USB設(shè)備的通信和應(yīng)用程序界面的開(kāi)發(fā)。
    VISA(Virtual Instrument Software Architecture)是一個(gè)用來(lái)與各種儀器總線(xiàn)進(jìn)行通信的高級(jí)應(yīng)用編程接口(API),不受平臺(tái)、總線(xiàn)和環(huán)境的限制。在利用NI-VISA完成對(duì) USB設(shè)備的驅(qū)動(dòng)后,即可在LabVIEW開(kāi)發(fā)環(huán)境中直接使用VISA面板對(duì)USB設(shè)備進(jìn)行控制和通信。LabVIEW是當(dāng)今國(guó)際上唯一的編譯型圖形化編程語(yǔ)言,能方便、快捷地進(jìn)行應(yīng)用程序開(kāi)發(fā)。本系統(tǒng)利用Lab-VIEW設(shè)計(jì)的USB多路數(shù)據(jù)采集系統(tǒng)用戶(hù)界面如圖4所示。

    本系統(tǒng)實(shí)現(xiàn)了對(duì)16路外部信號(hào)的實(shí)時(shí)采集。圖4中在實(shí)時(shí)波形顯示區(qū)域,可以實(shí)時(shí)地顯示4個(gè)通道的波形曲線(xiàn)。這4個(gè)通道通過(guò)選擇可以是16個(gè)通道中的任意一個(gè)通道。在實(shí)時(shí)數(shù)據(jù)顯示區(qū)域,能觀測(cè)到每一路數(shù)據(jù)采集的結(jié)果;在左側(cè)的控制及狀態(tài)顯示區(qū)域,可以實(shí)現(xiàn)設(shè)備選擇、采集過(guò)程的控制以及數(shù)據(jù)采集系統(tǒng)的工作狀態(tài)顯示。

結(jié) 語(yǔ)
    本設(shè)計(jì)實(shí)現(xiàn)了基于STM32F103x的USB多路數(shù)據(jù)采集系統(tǒng),以STM32F103x微控制器為主控芯片實(shí)現(xiàn)了外部信號(hào)的調(diào)理、采集、預(yù)處理和USB 數(shù)據(jù)傳輸,以及上位機(jī)應(yīng)用程序的開(kāi)發(fā)。主控芯片STM32F103x內(nèi)部集成了豐富的功能模塊,使系統(tǒng)無(wú)需外擴(kuò)大量芯片而能實(shí)現(xiàn)數(shù)據(jù)采集功能,降低了開(kāi)發(fā)的復(fù)雜度和成本,達(dá)到了提高系統(tǒng)穩(wěn)定性的目的。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶(hù)希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱(chēng),數(shù)字世界的話(huà)語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱(chēng)"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉