《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 設(shè)計(jì)應(yīng)用 > 基于USB2.0控制器CY7C68013的車載數(shù)據(jù)采集系統(tǒng)
基于USB2.0控制器CY7C68013的車載數(shù)據(jù)采集系統(tǒng)
電子發(fā)燒友
摘要: 本文提出的車載信號(hào)采集系統(tǒng)采用數(shù)字信號(hào)處理(DSP)技術(shù)實(shí)現(xiàn)對(duì)機(jī)車信號(hào)波形的頻譜分析,。利用可靠的硬件和軟件技術(shù)實(shí)現(xiàn)機(jī)車信號(hào)檢測(cè)的實(shí)時(shí)性和高精度要求,。系統(tǒng)采用USB總線接口有效地解決了傳統(tǒng)總線形式(如RS232,、并口,、ISA等)傳輸速度低,、安裝繁瑣,、易受機(jī)箱內(nèi)環(huán)境的干擾,、計(jì)算機(jī)系統(tǒng)資源限制等缺點(diǎn),,具有廉價(jià),、高速、支持即插即用,、使用維護(hù)方便等優(yōu)點(diǎn),。  1 系統(tǒng)總體設(shè)計(jì)  本數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)主要分為硬件和軟件設(shè)計(jì)兩部分,。其中硬件設(shè)計(jì)主要包括信號(hào)調(diào)理,、A/D轉(zhuǎn)換、數(shù)據(jù)存儲(chǔ),、控制部分以及USB接口部分等實(shí)現(xiàn)內(nèi)容,?! ∠到y(tǒng)軟件設(shè)計(jì)分為USBN件(Firmware)、USB設(shè)備驅(qū)動(dòng)程序以及主機(jī)應(yīng)用程序三部分內(nèi)容,。在Windows操作平臺(tái)下,主機(jī)應(yīng)用程序通過USB設(shè)備驅(qū)動(dòng)程序與系統(tǒng)硬件接口USBDI(USBDeviceInteRFace)進(jìn)行通信,,然后由系統(tǒng)產(chǎn)生USB數(shù)據(jù)的傳送動(dòng)作,。固件則是運(yùn)行在接口芯片中的代碼,用以響應(yīng)各種來自系統(tǒng)的USB標(biāo)準(zhǔn)請(qǐng)求,,完成數(shù)據(jù)的交換工作和事務(wù)處理,。系統(tǒng)結(jié)構(gòu)框架圖如圖1所示?! ?  2 系統(tǒng)硬件設(shè)計(jì)  USB數(shù)據(jù)采集板硬件電路設(shè)計(jì)實(shí)現(xiàn)共分為5大部分,,它們分別是信號(hào)調(diào)理、A/D轉(zhuǎn)換,、數(shù)據(jù)存儲(chǔ)
Abstract:
Key words :

  本文提出的車載信號(hào)采集系統(tǒng)采用數(shù)字信號(hào)處理(DSP)技術(shù)實(shí)現(xiàn)對(duì)機(jī)車信號(hào)波形的頻譜分析,。利用可靠的硬件和軟件技術(shù)實(shí)現(xiàn)機(jī)車信號(hào)檢測(cè)的實(shí)時(shí)性和高精度要求。系統(tǒng)采用USB總線接口有效地解決了傳統(tǒng)總線形式(如RS232,、并口,、ISA等)傳輸速度低、安裝繁瑣,、易受機(jī)箱內(nèi)環(huán)境的干擾,、計(jì)算機(jī)系統(tǒng)資源限制等缺點(diǎn),具有廉價(jià),、高速,、支持即插即用、使用維護(hù)方便等優(yōu)點(diǎn),。

  1 系統(tǒng)總體設(shè)計(jì)

  本數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)主要分為硬件和軟件設(shè)計(jì)兩部分,。其中硬件設(shè)計(jì)主要包括信號(hào)調(diào)理、A/D轉(zhuǎn)換,、數(shù)據(jù)存儲(chǔ),、控制部分以及USB接口部分等實(shí)現(xiàn)內(nèi)容。

  系統(tǒng)軟件設(shè)計(jì)分為USBN件(Firmware),、USB設(shè)備驅(qū)動(dòng)程序以及主機(jī)應(yīng)用程序三部分內(nèi)容,。在Windows操作平臺(tái)下,主機(jī)應(yīng)用程序通過USB設(shè)備驅(qū)動(dòng)程序與系統(tǒng)硬件接口USBDI(USBDeviceInteRFace)進(jìn)行通信,,然后由系統(tǒng)產(chǎn)生USB數(shù)據(jù)的傳送動(dòng)作,。固件則是運(yùn)行在接口芯片中的代碼,用以響應(yīng)各種來自系統(tǒng)的USB標(biāo)準(zhǔn)請(qǐng)求,,完成數(shù)據(jù)的交換工作和事務(wù)處理,。系統(tǒng)結(jié)構(gòu)框架圖如圖1所示,。

  

 

  2 系統(tǒng)硬件設(shè)計(jì)

  USB數(shù)據(jù)采集板硬件電路設(shè)計(jì)實(shí)現(xiàn)共分為5大部分,它們分別是信號(hào)調(diào)理,、A/D轉(zhuǎn)換,、數(shù)據(jù)存儲(chǔ)、控制部分以及USB接口部分,。

  2.1 信號(hào)調(diào)理

  信號(hào)調(diào)理部分由脈沖計(jì)數(shù)式鑒頻器完成,。它由四部分組成(如圖2所示),即過零比較器,、微分電路,、脈沖形成電路和低通濾波器,輸入的調(diào)頻波 Ui(t)經(jīng)過零比較器后變成調(diào)頻方波信號(hào)U1(t),,調(diào)頻方波信號(hào)通過微分電路后變?yōu)槲⒎置}沖序列U2(t),,微分脈沖序列經(jīng)過脈沖形成電路后變?yōu)榈让}寬的方波脈沖序列U3(t),等脈寬的方波脈沖序列通過低通濾波器后就輸出調(diào)制信號(hào)Uo(t),。鑒頻器各部分的波形如圖3所示,。

  

 

  2.2 主控芯片的工作方式

  本設(shè)計(jì)采用的主控芯片是Cypress公司的USB2.0控制芯片CY7C68013,它與計(jì)算機(jī)通過USB接口相連,,使設(shè)備能在PC機(jī)的控制下進(jìn)行操作,。USB主控芯片通過邏輯控制電路連接到FIFO和A/D轉(zhuǎn)換后的數(shù)據(jù)傳送至FIFO芯片進(jìn)行緩沖,緩沖后的數(shù)據(jù)輸入主控芯片的從FIFO中,,然后從FIFO以DMA(直接內(nèi)存存取)的方式經(jīng)由SIE(串行接口引擎)傳給PC機(jī),。

  為了實(shí)現(xiàn)高速數(shù)據(jù)采集的功能,A/D芯片采用的ADl*,,它是一款12位,,最高轉(zhuǎn)換速度可達(dá)100kHz的A/D轉(zhuǎn)換芯片,考慮到對(duì)FIFO容量的需求,,系統(tǒng)采用GPLD和FIFO來實(shí)現(xiàn),。選用IDT7205完成數(shù)據(jù)緩存。其最高工作頻率為133MHz,,容量為8kB,,能滿足設(shè)計(jì)要求。

  CY7C68013與外設(shè)有兩種接口方式:通用可編程接口GPIF方式和從屬FIFO方式,。GPIF的核心就是一個(gè)可編程狀態(tài)機(jī),,可產(chǎn)生6個(gè)控制和9個(gè)地址輸入信號(hào),并能接收 6個(gè)外部和2個(gè)內(nèi)部“ready”輸入信號(hào),。GPIF向外部接口產(chǎn)生正確的選通信號(hào)和握手信號(hào),,外部接口用于對(duì)FIFO數(shù)據(jù)的傳進(jìn)和傳出。GPIF是主機(jī)的方式,而從屬FIFO方式是從機(jī)方式,,它由外部控制器控制,,可像對(duì)普通FIFO一樣對(duì)FX2的多層緩沖FIFO進(jìn)行讀寫。FX2的從屬FIFO工作方式可設(shè)為同步或異步,,工作時(shí)鐘可選為內(nèi)部產(chǎn)生或外部輸入,,其它控制信號(hào)也可根據(jù)需要設(shè)置為高有效或低有效。

  2.3 FlF0的數(shù)據(jù)緩存作用

  由于A/D最高采樣頻率可達(dá)100MHz,,而主控芯片CY7C68013中的FIFO只有4kB,,不能滿足A/D數(shù)據(jù)轉(zhuǎn)換器的要求,因此需要在A/D和CY7-C68013之間增加一個(gè)高速的FIFO來緩存數(shù)據(jù),。FIFO是先進(jìn)先出的數(shù)據(jù)緩存器,數(shù)據(jù)在其內(nèi)部順序?qū)懭?、順序讀出,,其數(shù)據(jù)地址由內(nèi)部讀寫指針自動(dòng)加1完成。它具有雙口輸入輸出,、采集傳送速度快等特點(diǎn),,能滿足高速數(shù)據(jù)傳輸?shù)囊蟆S蒄IFO構(gòu)成的數(shù)據(jù)緩沖電路主要部分的接口電路如圖4所示,。

  

 

  IDT7205有兩種工作模式,,即IDT標(biāo)準(zhǔn)模式和FWFT模式。本設(shè)計(jì)中采用IDT標(biāo)準(zhǔn)模式,,這種模式通過FF,、PAF、PAE,、HF,、EF 五個(gè)標(biāo)志位來實(shí)現(xiàn)數(shù)據(jù)的傳輸。/WEN(寫使能端)置為有效時(shí),,數(shù)據(jù)可以寫入FIFO,。在WLCK(寫時(shí)鐘)的控制下,數(shù)據(jù)持續(xù)寫入FIFO,,當(dāng)?shù)谝粋€(gè)數(shù)據(jù)被寫入時(shí),,/EF(空標(biāo)志)無效,數(shù)據(jù)不斷地寫入FIFO,,即將寫滿時(shí)/PAE(將空標(biāo)志)無效,,/PAF(將滿標(biāo)志)有效,表示FIFO即將寫滿,。當(dāng) FIF0寫滿時(shí),,/FF(滿標(biāo)志)置為有效,控制A/D芯片停止寫數(shù)。開始讀數(shù)據(jù)時(shí)的第一個(gè)讀操作使/FF置為無效,,此時(shí)開始持續(xù)地讀取數(shù)據(jù),,當(dāng)FIFO 中數(shù)據(jù)減少到一定程度,會(huì)使/PAF(將滿)和/HF(半滿)兩個(gè)標(biāo)志位置為無效,,持續(xù)讀出數(shù)據(jù),,而不寫入數(shù)據(jù);當(dāng)FIFO中只剩下N個(gè)字時(shí)(N為空狀態(tài)的缺省值),/PAF有效;當(dāng)FIFO中的數(shù)據(jù)被全部讀出時(shí),,/EF置為有效,,此時(shí)控制主控芯片停止讀取數(shù)據(jù),與此同時(shí)A/D也開始下一個(gè)讀取數(shù)據(jù)過程,。

  3 系統(tǒng)軟件設(shè)計(jì)

  3.1 固件設(shè)計(jì)

  USB固件是運(yùn)行在FX2芯片CY7C68013中的代碼,。在數(shù)據(jù)采集卡連接到計(jì)算機(jī)后,通過一個(gè)能自動(dòng)完成固件下載以及設(shè)備重枚舉功能的設(shè)備驅(qū)動(dòng)程序,,即固件下載驅(qū)動(dòng)程序?qū)SB固件下載到FX2的RAM中,。

  Cypress公司針對(duì)FX2系列的USB芯片給出了一個(gè)Firmware(固件)庫,用戶只需要在源程序中包含進(jìn)EZUSB.H和EZREGS.H,, 并且把EZU-SB.LIB和USBJMPB.OBJ添加進(jìn)項(xiàng)目即可,。

  在設(shè)計(jì)中還利用了FX2的框架。FX2程序框架用于加速開發(fā)芯片外設(shè),??蚣転镕X2的初始化、處理設(shè)備標(biāo)準(zhǔn)USB設(shè)備請(qǐng)求以及USB掛起時(shí)的電源管理提供了現(xiàn)成的805l代碼,,只需簡(jiǎn)單地提供USB描述符表,,編寫完成外設(shè)功能的代碼就可以開發(fā)一個(gè)功能完善的USB外設(shè)。

  CY7C68013芯片的端點(diǎn)數(shù)總共有7個(gè),,根據(jù)設(shè)計(jì)需要,,我們選擇了其中的3個(gè)端點(diǎn),其中1個(gè)控制端點(diǎn),、1個(gè)發(fā)送端點(diǎn)和1個(gè)接收端點(diǎn),。

  3.2 驅(qū)動(dòng)程序

  在采集卡工作的運(yùn)行WindowsxF臺(tái)的主機(jī)上,Cypress公司提供了Windows下的通用驅(qū)動(dòng)程序(GDP),。本采集卡使用這個(gè)通用驅(qū)動(dòng)程序,,不需要自己另行開發(fā)。

  3.3 用戶程序設(shè)計(jì)

  用戶程序設(shè)計(jì)部分則是基于C++Builder開發(fā)平臺(tái),,設(shè)計(jì)并實(shí)現(xiàn)數(shù)據(jù)采集系統(tǒng)的功能,。系統(tǒng)軟件總體上包括數(shù)據(jù)采集(通道控制、觸發(fā)控制),、波形顯示,、參數(shù)測(cè)量,、頻譜分析及波形存儲(chǔ)與回放等五大模塊。軟件界面如圖5所示,。

  

 

  3.3.1 數(shù)據(jù)采集模塊

  數(shù)據(jù)采集模塊在整個(gè)系統(tǒng)中占有重要的地位,,它是系統(tǒng)的核心。其工作流程圖如圖6所示,,本模塊主要完成通道控制,、觸發(fā)控制等功能。數(shù)據(jù)采集部分的參數(shù)設(shè)置正確與否,,直接影響到后面的分析,、處理、顯示等功能能否實(shí)現(xiàn),。這部分的參數(shù)設(shè)置主要包括:

  

 

  (1)通道控制,。主要包括通道個(gè)數(shù)控制,系統(tǒng)提供的通道數(shù)為末通道數(shù)減去首通道數(shù)加1,。

  (2)觸發(fā)控制,。主要包括觸發(fā)方式、觸發(fā)類型,、觸發(fā)方向、時(shí)鐘源選擇等,。

  3.3.2 波形顯示模塊

  波形顯示模塊主要應(yīng)用Chart實(shí)現(xiàn)波形顯示,。波形圖顯示信號(hào)時(shí)域特性。系統(tǒng)可以顯示任意形狀的波形信號(hào),。對(duì)波形曲線進(jìn)行操作,,包括移動(dòng)、對(duì)研究區(qū)域放大和縮小等,。

  3.3.3 參數(shù)測(cè)量模塊

  參數(shù)測(cè)量模塊主要實(shí)現(xiàn)波形的參數(shù)測(cè)量,、分析功能,完成包括各通道信號(hào)的載波頻率以及實(shí)際采樣頻率等幾個(gè)參數(shù)的測(cè)量,,并顯示其測(cè)量結(jié)果,。參數(shù)測(cè)量模塊程序設(shè)計(jì)實(shí)現(xiàn)中,主要應(yīng)用了循環(huán)結(jié)構(gòu)中的While循環(huán),。

  3.3.4 頻譜分析模塊

  頻譜分析模塊采用FFT算法,,完成數(shù)據(jù)信號(hào)的頻譜分析。頻譜分析功能主要實(shí)現(xiàn)時(shí)域信號(hào)和頻域信號(hào)的轉(zhuǎn)換,。

  3.3.5 波形存儲(chǔ)和回放

  為了實(shí)現(xiàn)對(duì)波形數(shù)據(jù)及各種測(cè)量數(shù)據(jù)的有效管理,,可將這些數(shù)據(jù)予以存儲(chǔ)和回放。

  (1)波形存儲(chǔ),。開始采集之前系統(tǒng)自動(dòng)提示用戶創(chuàng)建新文件,。系統(tǒng)可以同時(shí)保存多通道的時(shí)域波形數(shù)據(jù),并且只要計(jì)算機(jī)硬盤或軟盤空間足夠大,可以保存無數(shù)次波形數(shù)據(jù),。從而擺脫了傳統(tǒng)數(shù)字存儲(chǔ)系統(tǒng)的存儲(chǔ)容量的限制,。

  (2)波形回放。“回放”按鈕控制是否從數(shù)據(jù)文件中讀取波形數(shù)據(jù),。從軟盤或硬盤上讀取的波形數(shù)據(jù),,顯示在實(shí)時(shí)采集的波形顯示窗口,并保留在顯示窗口,。當(dāng)看完讀取的波形后,,要回到實(shí)時(shí)采集的狀態(tài),點(diǎn)擊前面板上的“采集”按鈕,,進(jìn)行讀取與采集的切換,。并且系統(tǒng)特有的輸出功能可以實(shí)現(xiàn)語音信號(hào)的同步回放。為了節(jié)約成本我們用計(jì)算機(jī)的聲卡代替D/A轉(zhuǎn)換器,,將采集的語音信號(hào)通過聲卡輸出,。

  4 結(jié)束語

  由于采用CY7C68013芯片作為主控制器,其靈活的接口和可編程特性簡(jiǎn)化了高速數(shù)據(jù)采集系統(tǒng)外部硬件的設(shè)計(jì),,提高了系統(tǒng)的可靠性;由于A/D轉(zhuǎn)換電路采用ADl*,,保證了數(shù)據(jù)采集系統(tǒng)的高速性和高精度。此設(shè)計(jì)方案可改善現(xiàn)有的數(shù)據(jù)采集系統(tǒng)存在的控制復(fù)雜,、傳輸效率低,、模擬量噪聲大等問題,能實(shí)現(xiàn)低成本,、高可靠性,、高速、高精度和高穩(wěn)定性的多點(diǎn)數(shù)據(jù)采集,,并且適合車載作業(yè),。

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