基于嵌入式USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計[圖]

相關(guān)專題: 芯片

摘要:USB接口的通用性和簡便性使其成為數(shù)據(jù)采集系統(tǒng)與嵌入式系統(tǒng)進行數(shù)據(jù)傳輸?shù)睦硐脒x擇。因此,設(shè)計一款以單片機控制MAX197芯片進行模數(shù)轉(zhuǎn)換,以及通過USB接口芯片PDIUSBD12進行數(shù)據(jù)傳輸?shù)牟杉到y(tǒng),并詳細介紹了單片機固件程序和嵌入式驅(qū)動程序的具體實現(xiàn)。最后通過實際采集正弦波信號進行測試以驗證該系統(tǒng)的可用性,并針對出現(xiàn)的問題提出了相應(yīng)的改善措施。改善后的整個系統(tǒng)功耗低、可靠性高,傳輸速度能滿足實際的數(shù)據(jù)采集任務(wù)。

數(shù)據(jù)采集任務(wù)多在戶外進行,所以數(shù)據(jù)采集系統(tǒng)通常要滿足實時性、專用性、可靠性和低功耗等性能,這些特性在嵌入式系統(tǒng)中都能得到很好的體現(xiàn),因此本文將以WindowsCE的嵌入式平臺來開發(fā)效據(jù)采集系統(tǒng)。但是由于嵌入式系統(tǒng)的硬件結(jié)構(gòu)不易改變,所以在進行數(shù)據(jù)采集設(shè)備擴展時應(yīng)該選擇接口簡單靈活、數(shù)據(jù)傳輸率高和支持熱拔插的傳輸總線,而USB接口則能很好地滿足這些要求,同時USB還有總線供電和不受插槽、中斷等硬件資源限制的特性,因此USB接口是數(shù)據(jù)采集設(shè)備與嵌入式系統(tǒng)進行數(shù)據(jù)傳輸?shù)睦硐脒x擇。綜上所述,本文將設(shè)計一款基于嵌入式USB接口的數(shù)據(jù)采集系統(tǒng)以滿足實際的需要,下面將從硬件設(shè)計,程序?qū)崿F(xiàn)和實際測試3方面具體描述。

1 硬件設(shè)計

1.1 硬件結(jié)構(gòu)框架

本系統(tǒng)的硬件結(jié)構(gòu)主要由控制中心、模數(shù)轉(zhuǎn)換和USB協(xié)議實現(xiàn)3個部分組成,下面將針對這3個部分進行詳細的介紹。具體的結(jié)構(gòu)框架如圖1所示。

圖1 嵌入式USB接口的數(shù)據(jù)采集系統(tǒng)總體結(jié)構(gòu)

1)控制中心。本系統(tǒng)采用單片機提供地址數(shù)據(jù)復(fù)用總線、選通信號(D12_CS和AD_CS),讀寫信號(RD和WR)以及對中斷信號(D12_INT和AD_INT)進行檢測。

2)模數(shù)轉(zhuǎn)換。本系統(tǒng)采用MAX197芯片進行模數(shù)轉(zhuǎn)換,該芯片具有采樣保持功能和12位的高精度輸出。單片機可向MAX197寫入其特定的命令從而選擇指定的通道進行模數(shù)轉(zhuǎn)換,轉(zhuǎn)換結(jié)束后,MAX197向單片機輸出低電平的AD_INT信號,單片機采用輪詢方式檢測到后通過HBEN信號控制MAX197輸出低8位和高4位的轉(zhuǎn)換數(shù)據(jù)。

3)USB協(xié)議實現(xiàn)。本系統(tǒng)采用PDIUSBD12作為USB設(shè)備端的控制芯片,該芯片實現(xiàn)了USB1.1傳輸協(xié)議。嵌入式系統(tǒng)要對USB設(shè)備進行讀寫均需通過信號D12_INT向單片機發(fā)送中斷,單片機響應(yīng)中斷后只需對PDIUSBD12的不同寄存器進行讀寫操作就可以利用USB進行數(shù)據(jù)傳輸。

1.2 固件程序設(shè)計

硬件設(shè)備需要固件程序的控制以保證其正常運行,本文所設(shè)計的固件程序主要用于識別USB設(shè)備以及采集與傳輸數(shù)據(jù)。固件程序的總體流程如圖2所示。

圖2 固件程序的總體流程

1)設(shè)備識別。USB設(shè)備的識別過程分別由操作系統(tǒng)和設(shè)備驅(qū)動兩個部分通過USB協(xié)議的標(biāo)準(zhǔn)設(shè)備請求來完成。操作系統(tǒng)在USB設(shè)備連接時加載設(shè)備驅(qū)動程序并分配通信地址,驅(qū)動程序啟動后通過中斷讀取相關(guān)描述符進行資源配置并使能傳輸端點,從而為應(yīng)用程序提供接口。

2)數(shù)據(jù)采集與傳輸。通過單片機的定時器可對數(shù)據(jù)的采集頻率進行設(shè)置。本系統(tǒng)的數(shù)據(jù)采集頻率為1 000 Hz,因此設(shè)置定時器每一毫秒中斷一次進行數(shù)據(jù)采集,而主機端對USB設(shè)備的讀寫操作則通過外部中斷實現(xiàn),定時器中斷優(yōu)先級高于外部中斷以保證采集頻率固定為1 000 Hz.主機端通過寫操作向USB設(shè)備發(fā)送控制信息,包括設(shè)備啟動和停止的相關(guān)初始化與清理的工作,其中在對USB設(shè)備進行讀操作前要先在端點的緩沖區(qū)填寫64字節(jié)數(shù)據(jù)并通過命令使其有效,不然主機端對USB設(shè)備進行讀操作時,無效的緩沖區(qū)將導(dǎo)致PDIUSBD12芯片不會產(chǎn)生中斷,從而導(dǎo)致讀操作失敗。

2 驅(qū)動程序設(shè)計

Windows CE下的USB設(shè)備驅(qū)動模型由3個層次組成,其中由操作系統(tǒng)實現(xiàn)的有兩層,它們分別是HCD模塊(USBHoST Controller Driver)和USBD模塊(USB Bus Driver),而第三層則被稱為USB客戶端驅(qū)動(USB Client Driver),由驅(qū)動開發(fā)人員實現(xiàn)。HCD模塊處于最底層,是CPU中USB控制器的驅(qū)動,為USBD模塊提供底層的功能訪問服務(wù)。USBD模塊處于HCD模塊的上層,它根據(jù)HCD模塊提供的功能設(shè)計USB驅(qū)動接口函數(shù),并提供給第3層使用。USB客戶端驅(qū)動處于USB驅(qū)動模型的最頂層,也是本文所要設(shè)計的USB驅(qū)動程序,它向上為應(yīng)用程序提供接口以方便對USB設(shè)備進行控制,向下利用USBD模塊提供的接口函數(shù)傳遞控制信息和數(shù)據(jù)。因此,要成功開發(fā)USB設(shè)備的驅(qū)動程序,在操作系統(tǒng)定制的時候就需要把HCD和USBD的相關(guān)組件添加進去。

本文開發(fā)的USB設(shè)備驅(qū)動程序是流接口形式的驅(qū)動程序,它被設(shè)計用來與通常的文件系統(tǒng)API(如CreateFile、ReadFile和WriteFile等)進行通信,應(yīng)用程序通過對文件系統(tǒng)的操作來完成對設(shè)備的控制。本驅(qū)動所設(shè)計的流接口如表1所示。

表1 驅(qū)動所設(shè)計的流接口

3 系統(tǒng)測試

3.1 測試條件與結(jié)果

本測試的目的在于檢驗本文設(shè)計的數(shù)據(jù)采集系統(tǒng)能否在采集頻率較高的情況下準(zhǔn)確地采集數(shù)據(jù),并通過USB接口完整地進行數(shù)據(jù)傳輸。因此,測試將基于以下5個條件進行。其中一個通道的部分測試數(shù)據(jù)結(jié)果如圖3所示。

圖3 正弦波采集測試結(jié)果圖

1)測試信號為正弦波,峰峰值約為12 V,頻率為100Hz.

2)系統(tǒng)以1000Hz的采集頻率連續(xù)對8個通道進行采集。

3)單片機晶振頻率為12MHz.

4)采集系統(tǒng)的數(shù)據(jù)緩沖區(qū)設(shè)置為128字節(jié)。

5)采集數(shù)據(jù)記錄在SD卡中。

3.2 測試結(jié)果分析

由3.1的正弦波采集測試結(jié)果圖可以得出如下兩點結(jié)論:

1)采集的正弦波的峰峰值約為12 V,一個周期有10個數(shù)據(jù)點,根據(jù)采集頻率1000Hz可知采集到的正弦波的頻率為100Hz.

2)在30 ms的時候,正弦波發(fā)生畸變,可見采集數(shù)據(jù)在USB傳輸過程中發(fā)生丟失。

第一點結(jié)論說明了本采集系統(tǒng)能準(zhǔn)確地進行數(shù)據(jù)采集,而對于第二點結(jié)論所表現(xiàn)出的不完整性分析如下。

1)設(shè)V1是有效數(shù)據(jù)的傳輸速度,V2是協(xié)議開銷的傳輸速度,N為采集數(shù)據(jù)的通道數(shù)目,M為每通道采集的字節(jié)數(shù),H為采集頻率,K為緩沖區(qū)大小,U為傳輸?shù)膮f(xié)議開銷字節(jié)數(shù)。USB數(shù)據(jù)幀的組成包括有效數(shù)據(jù)和協(xié)議開銷兩個部分,其中傳輸協(xié)議的開銷包括同步字段、包標(biāo)識符、地址信息、端點信息和CRC校驗,所以數(shù)據(jù)采集系統(tǒng)要求的USB傳輸速度可根據(jù)公式(1)計算得到。本文設(shè)計的數(shù)據(jù)采集系統(tǒng)共有8個通道,每通道有2個字節(jié)的數(shù)據(jù),采集頻率為1 000 Hz,根據(jù)公式(2)可得有效數(shù)據(jù)的傳輸速度約為16 kB/s.一個完整的數(shù)據(jù)幀的傳輸需要11個字節(jié)的協(xié)議開銷,本文設(shè)計的數(shù)據(jù)傳輸過程分為4個步驟:發(fā)送傳輸請求,發(fā)送接收控制命令,接收請求應(yīng)答,開始接收數(shù)據(jù),每個步驟均需傳輸一個完整的USB數(shù)據(jù)幀,因此進行一次傳輸?shù)膮f(xié)議開銷為44個字節(jié),根據(jù)公式(3)可計算出協(xié)議開銷的傳輸速度。以緩沖區(qū)的大小為橫坐標(biāo),數(shù)據(jù)采集系統(tǒng)要求的USB傳輸速度為縱坐標(biāo)繪出圖4所示的關(guān)系圖,分析該圖可得:緩沖區(qū)越大,所要求的USB傳輸速度越少。測試中較少的128字節(jié)緩沖區(qū)使得在一次傳輸中有效數(shù)據(jù)過少,約5.5 kB/s的額外開銷傳輸速度約占總速度的25%,過高的額外傳輸開銷導(dǎo)致數(shù)據(jù)來不及傳輸,從而發(fā)生數(shù)據(jù)丟失的情況。

圖4 緩存區(qū)大小與USB傳輸速度關(guān)系圖

2)另外,由于應(yīng)用程序要在SD卡這類低速設(shè)備上記錄數(shù)據(jù),所以記錄數(shù)據(jù)的時候來不及獲取USB設(shè)備中的數(shù)據(jù)也會導(dǎo)致實際的傳輸速度變慢,導(dǎo)致新采集的數(shù)據(jù)溢出緩沖區(qū)并覆蓋來不及傳輸?shù)呐f數(shù)據(jù),從而造成數(shù)據(jù)丟失。

因此有必要采取一定的方法來改善數(shù)據(jù)采集系統(tǒng),以保證數(shù)據(jù)采集的完整性。下面將提出3個解決方法。

3.3 系統(tǒng)改善措施

1)增大晶振頻率到24MHz,加快單片機的處理速度。

2)在硬件上增加靜態(tài)RAM作為數(shù)據(jù)存儲的緩沖區(qū),緩沖區(qū)的存在一方面可以保證新采集的數(shù)據(jù)不會覆蓋沒來得及傳輸?shù)呐f數(shù)據(jù),另一方面可以讓USB設(shè)備在一次USB數(shù)據(jù)幀的傳輸中所含有的有效數(shù)據(jù)更多,從而減少在傳輸過程中的校驗、識別和握手等USB協(xié)議的額外開銷,加快傳輸速度。

3)在應(yīng)用程序控制USB設(shè)備時將新建2條線程,一條進程用于向USB設(shè)備進行讀寫操作來進行數(shù)據(jù)采集,另一條進程用于向嵌入式系統(tǒng)的SD卡這類低速設(shè)備進行讀寫操作來記錄數(shù)據(jù),利用操作系統(tǒng)分時復(fù)用的特性減少數(shù)據(jù)記錄過程對數(shù)據(jù)傳輸造成的延誤,從而加快USB設(shè)備的傳輸速度。

4 結(jié)束語

本文從硬件結(jié)構(gòu)、固件程序和驅(qū)動程序3個方面對基于嵌入式USB接口的數(shù)據(jù)采集系統(tǒng)進行了設(shè)計。最后還通過實際采集正弦波信號對系統(tǒng)進行了測試,并提出了3個方法有效地提高了數(shù)據(jù)采集系統(tǒng)的傳輸速度。本系統(tǒng)能在擁有USB接口的嵌入式設(shè)備上方便地進行連接和安裝,是數(shù)據(jù)采集應(yīng)用的一個重要部分。

作者:張輝 林生榮 來源:《電子設(shè)計工程》


微信掃描分享本文到朋友圈
掃碼關(guān)注5G通信官方公眾號,免費領(lǐng)取以下5G精品資料
  • 1、回復(fù)“YD5GAI”免費領(lǐng)取《中國移動:5G網(wǎng)絡(luò)AI應(yīng)用典型場景技術(shù)解決方案白皮書
  • 2、回復(fù)“5G6G”免費領(lǐng)取《5G_6G毫米波測試技術(shù)白皮書-2022_03-21
  • 3、回復(fù)“YD6G”免費領(lǐng)取《中國移動:6G至簡無線接入網(wǎng)白皮書
  • 4、回復(fù)“LTBPS”免費領(lǐng)取《《中國聯(lián)通5G終端白皮書》
  • 5、回復(fù)“ZGDX”免費領(lǐng)取《中國電信5GNTN技術(shù)白皮書
  • 6、回復(fù)“TXSB”免費領(lǐng)取《通信設(shè)備安裝工程施工工藝圖解
  • 7、回復(fù)“YDSL”免費領(lǐng)取《中國移動算力并網(wǎng)白皮書
  • 8、回復(fù)“5GX3”免費領(lǐng)取《R1623501-g605G的系統(tǒng)架構(gòu)1
  • 本周熱點本月熱點

     

      最熱通信招聘

    業(yè)界最新資訊


      最新招聘信息