《電子技術應用》
您所在的位置:首頁 > 測試測量 > 業界動態 > 基于USB和DSP的數據采集系統的設計

基于USB和DSP的數據采集系統的設計

《電子技術應用》2007年第1期
2007-11-07
作者:戴小俊1,2, 丁鐵夫1, 鄭喜

摘 要:介紹了一種利用USB2.0的高速傳輸特性,基于USB和DSP的數據采集" title="數據采集">數據采集系統。詳細論述了系統的總體結構、部分硬件設計,并簡要敘述了相應固件程序的實現。
關鍵詞:USB? DSP? FPGA? 高速傳輸

?

測量儀器一般由數據采集、數據分析和顯示三部分組成,而數據分析和顯示可以由PC機的軟件來完成,因此只要額外提供一定的數據采集硬件就可以和PC機組成測量儀器。這種基于PC機的測量儀器被稱為虛擬儀器[1]。而在一些數據量比較大、采集時間比較長的場合,就需要采用高速的數據傳輸通道。基于虛擬儀器的思想和高速傳輸通道的要求,設計了一種基于DSP和USB2.0的高速數據傳輸接口。
1 數據采集系統" title="數據采集系統">數據采集系統硬件
數據采集系統由A/D數據采集單元、USB從接口單元、U盤讀寫單元組成。硬件原理圖如圖1所示。被測信號經A/D轉換后寫入FIFO中;當FIFO數據半滿后,產生中斷,通知DSP進行數據壓縮處理;DSP把壓縮好的數據依次寫入USB接口芯片" title="接口芯片">接口芯片的4個從FIFO中,4個從FIFO對應USB的4個端點,DSP一邊寫入數據,已寫滿的從FIFO就一邊通過相應端點由SIE把數據發送到上位機,上位機一邊把收到的數據通過多線程存儲到硬盤中,一邊把數據解壓并把波形實時顯示出來。對于少量的數據,可以存儲到U盤,送回PC機進行分析顯示。

?


1.1 A/D采集模塊
作為單通道輸入的MAX1189,主要控制信號有CS、R/C(Read/Conversion)、EOC(End of Conversion)。圖2為MAX1189的時序圖[2]。如圖2所示,每個采樣周期長達CS信號的三個周期。在第一個CS信號的下降沿,如果R/C為低電平,也就進入了應答模式,這是開始采樣前必須的準備工作。為了適應不同的輸入極性要求,MAX1189的內部參考電壓可以在每次轉換結束后進行設置,這是通過在第二個CS下降沿時,R/C的高低電平變化來控制的,非常簡便。低電平時,ADC內部參考電壓無需進行轉換,這樣在開始下一個周期的轉換時無需等待電壓的變化。高電平" title="高電平">高電平時,內部參考電壓會進行調變,這樣在開始下一周期的轉換時需要等待大約12?滋s的時間。在CS信號的第三個下降沿,EOC信號變為低電平,表示采樣結束,此時R/C信號為高電平,會把采樣數據放到總線上,這樣就完成了一個周期的采樣。采樣模塊的控制信號是由FPGA控制的。


1.2 DSP與FIFO的連接
主處理器DSP既要控制采集,又要完成數據的處理和傳輸,因此數據采集模塊采集來的數據不能直接傳送給DSP,這會極大影響DSP的處理效率。解決辦法是利用數據緩沖器如雙口RAM、FIFO等,對數據進行適度緩存,當緩存的數據量達到一個設定值時,可以通知CPU進行一次高速數據傳輸,將緩存的數據一次性地讀入。在設計中采用了緩沖,較好地解決了采集端與處理端的速度匹配問題。
FIFO的讀寫由各自的控制時鐘FIFOR和FIFOW控制,寫時鐘與采樣時鐘同步,讀時鐘與DSP處理數據的時序有關。當FIFO半滿后,FPGA會根據FIFOHF、FIFOE/F、FIFOPAFE的相應位判斷FIFO是否半滿,FPGA便向DSP發出中斷請求。本設計中采用外部中斷的EXTINT3來作為FIFO緩沖數據的DMA傳輸觸發事件。DSP響應FPGA中斷請求,讀取數據進行數據壓縮。當DSP數據處理速度跟不上采集數據速度時,FIFO就會全滿,FPGA根據FIFOHF、FIFOE/F、FIFOPAFE相應位狀態判斷到FIFO已全滿,于是向USB接口芯片單片機發出最高級中斷請求,通知系統數據己溢出,采集發生嚴重錯誤。
1.3 USB從接口電路
USB從接口單元采用CYPRESS的CY7C68013芯片。如圖3所示,USB接口芯片CY7C68013由3.3V電源供電。PAO/INTO#選擇INTO工作方式,其中斷級別最高,當FIFO全滿造成數據溢出導致數據采集發生嚴重錯誤時,該中斷請求發生,系統通知數據溢出錯誤,并停止數據采集。RESET#為USB接口芯片復位輸入。


USB的FDO~FDl5與DSP的I/O數據線相連,用于DSP與USB從FIFO通信,SLWR為寫控制時鐘。FLAGB、FLAGC用于輸出2,4,6,8相應端點從FIFO的空滿狀態,以便DSP寫USB從FIFO時獲取空滿狀態。
FIFOADRO、FIFOADR1用于DSP尋址2,4,6,8相應端點USB從FIFO,FIFOADRO及FIFOADR1功能真值表如表1所示。FIFOADRO、FIFOADR1的初值為00,對應DSP寫端點2的從FIFO, FPGA對寫USB從FIFO的控制時鐘SLWR計數,當達到512次時,表示端點2己寫滿,計數器清零,FIFOADRO和FIFOADR1的值自加一次變為01,對應DSP寫端點4的從FIFO。以此類推,DSP依次寫2,4,6,8端點數據,當FIFOADRO和FIFOADR1的值為11時,再自加一次,FIFOADRO和FIFOADR1的值又變為00,因此,DSP可循環寫2,4,6,8端點。需要說明的是,當DSP開始寫一新端點的從FIFO之前,DSP要讀一次FLAGB、FLAGC標志位,若該端點不空,則等待;若空,則進行寫數據操作[3]

?


1.4 U盤讀寫單元
此電路單元采用USB主控芯片CH375。CH375 是一USB總線的通用接口芯片,支持USB-HOST主機方式和USB-DEVICE/SLAVE設備方式。此系統中只采用USB的主功能,用來讀寫U盤[4]。
CH375 芯片的RD#和WR#引腳分別連接DSP的讀選通輸出引腳和寫選通輸出引腳。CS#由地址譯碼電路驅動。INT#輸出的中斷請求是低電平有效,可以連接到DSP的中斷輸入引腳。當WR#為高電平并且CS#和RD#及A0都為低電平時,CH375中的數據通過D7~D0 輸出;當RD#為高電平并且CS#和WR#及A0都為低電平時,D7~D0上的數據被寫入CH375芯片中;當RD#為高電平并且CS#和WR#都為低電平而A0 為高電平時,D7~D0上的數據被作為命令碼寫入CH375芯片中。CH375內置了處理Mass-Storage 海量存儲設備的專用通訊協議的固件,DSP可以直接以扇區為基本單位讀寫常用的USB 存儲設備(包括USB硬盤/USB閃存盤/U 盤)。
2 軟件設計
本設計的軟件主要由兩大部分組成:USB芯片軟件及DSP通信軟件。其中,USB芯片軟件的設計是關鍵,它又包括固化程序、驅動程序、PC機端應用程序" title="應用程序">應用程序[5]以及DSP端通信接口程序。
2.1 固化程序
?USB芯片的固化程序主要負責:
(1) 寄存器初始化工作,設置一些特殊功能寄存器的初值以實現所需的屬性或者功能;
(2) 輔助硬件完成設備的枚舉過程,對主機的設備請求作出適當的響應;
(3) 完成中斷處理、數據接收及發送以及對外圍電路的控制。
2.2 驅動程序
開發USB設備驅動程序可采用Jungo公司的WinDriverv6.03,并以VC++6.0作為輔助開發環境。利用WinDriver提供的開發平臺,用戶即可完成驅動程序的設計工作,剩下的底層細節由WinDriver內核統一處理,從而降低了對開發者編程能力的要求,同時也大大縮短了開發周期。下面對使用WinDriver開發驅動程序的步驟作一個簡要說明:
(1) 啟動WinDriver的DriverWizard工具;
(2) 利用DriverWizard檢測硬件是否正常;
(3) 在DriverWizard中選擇所使用的開發環境,這里使用VC6.0開發環境,并生成驅動程序代碼;
(4) 對生成的代碼進行修改,使其符合系統的需要;
(5) 在WinDriver環境的用戶模式下調試驅動程序。
2.3 PC端應用程序
USB主機應用程序是計算機中完成特定功能的程序,其關鍵是實現從USB 外設讀取或發送特定數量的數據、USB標準設備請求和特定的命令等。另外,可以對數據做進一步的處理,如:存儲、顯示、快速傅立葉變換等。
主機應用程序的編寫使用VC編譯環境中的API函數實現。應用程序的編程方法與串口編程類似。首先必須查找設備,調用WIN32函數CreateFilea( )打開設備的句柄;然后調用WIN32函數DeviceIoControl( )就可以進行數據讀寫和控制操作;最后關閉設備句柄。
2.4 DSP端通信接口程序
在本設計中,DSP處于主控地位,通過INT中斷決定什么時候接收USB送來的數據,并把接收來的數據做簡單的壓縮運算,決定何時往USB發送這些數據。在讀數據時,應首先判斷FX2的FIFO2是否為空,如果不為空則將數據讀進來,一次讀進一個16位數。在寫數據時,首先判斷要寫的數據個數是否為512字節的整倍數。
由于開發此系統涉及到USB驅動開發以及應用程序的設計,比較繁瑣,嘗試利用Mass Storage協議開發虛擬設備,把數據采集卡當作一個Windows的外圍設備,采用文件系統格式直接以文件形式存儲數據。這部分主要是修改CY7C68013的固件程序,如設備描述符、端點描述符,主機會把采集卡認為是一Mass Storage設備,然后利用SCSI協議以及文件系統就可以直接存儲由DSP傳過來的數據,這樣就省去了復雜的驅動和應用程序設計。
本文介紹了基于USB2.0的16bit數據采集系統,采用數據壓縮算法完成了數據量的壓縮以及高速數據傳輸[6]。由于USB的即插即用特性,彌補了傳統數據采集卡插拔困難的缺點,相信隨著技術的進步,USB技術必將得到更廣泛的應用。

參考文獻
[1]? 覃章健,黃洪全,葛良全.基于USB2.0的實時數據采集系統研究.中國測試技術,2005,31(5).
[2] ?美國美信公司. MAX-1189 DataSheet.pdf. 2004.1.
[3] ?EZ-USB FX2 Manual technical reference. Cypress Semiconductor, 2002.1.
[4] ?南京沁恒電子有限公司.USB總線接口芯片CH375[DB/OL].http://www.winchiphead.com/product/ch375detail.htm,
???? 2005-05-10.
[5] ?鄧鵬飛,李小波,張劍云.USB2.0在DSP與計算機通信中的應用[J].計算機數字與工程[J],2005,(6):99-103.
[6] ?曹軍軍,陳小勤.基于USB2.0的數據采集卡的設計與實現[J],儀器與儀表,2006,(1):37-38.
[7] ?陶峻,潘亞濤,陳健.基于DSP的USB傳輸系統的實現[J].電子技術,2002,(3):56-59.

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲天堂视频在线观看| 欧美精品久久久久a| 日韩视频精品在线| 亚洲成人自拍视频| 久久精品国产v日韩v亚洲| 一区二区高清视频| 亚洲毛片一区| 亚洲精品四区| 亚洲伦理一区| 99热免费精品在线观看| 日韩亚洲精品电影| 在线视频免费在线观看一区二区| 亚洲人在线视频| 91久久久久久久久久久久久| 亚洲国产精品日韩| 最新国产精品拍自在线播放| 久久精品人人做人人爽| 亚洲风情亚aⅴ在线发布| 91久久久久久| av成人免费| 亚洲图中文字幕| 性色av一区二区三区在线观看| 午夜在线观看免费一区| 久久精品国产99国产精品| 久久久久久久久久久成人| 老司机久久99久久精品播放免费 | 欧美伦理影院| 欧美日韩日本国产亚洲在线| 国产精品久久久久国产精品日日| 国产麻豆成人精品| 国模吧视频一区| 亚洲国产老妈| 亚洲午夜在线观看| 欧美影院视频| 亚洲人成久久| 中文在线不卡视频| 午夜一区不卡| 久久野战av| 欧美日韩国产精品成人| 国产精品影院在线观看| 精品福利免费观看| 亚洲精品一级| 亚洲欧洲av一区二区| 亚洲二区三区四区| 在线亚洲高清视频| 欧美在线视频网站| 欧美1区视频| 欧美性事免费在线观看| 国产一区视频网站| 亚洲欧洲一级| 亚洲男人天堂2024| 亚洲激情女人| 亚洲自拍都市欧美小说| 久久婷婷综合激情| 欧美日韩在线观看一区二区三区| 国产一区二区高清不卡| 亚洲精品一区二区三区樱花| 亚洲欧美国产制服动漫| 91久久在线播放| 午夜伦理片一区| 欧美搞黄网站| 国产日韩欧美在线| 亚洲久久成人| 欧美中文在线观看| 亚洲手机成人高清视频| 久久久亚洲国产美女国产盗摄| 欧美日韩国产999| 国产日韩一区| 99亚洲伊人久久精品影院红桃| 欧美一区二区三区在线看| 一区二区三区视频在线| 久久久噜噜噜久噜久久| 国产精品99免费看 | 1024精品一区二区三区| 亚洲欧美另类在线| 一本一本久久| 牛牛精品成人免费视频| 国产日韩欧美视频| 夜夜嗨一区二区三区| 91久久久国产精品| 久久久久**毛片大全| 国产精品国产精品| 亚洲日本无吗高清不卡| 亚洲第一级黄色片| 欧美影院在线播放| 国产精品美女久久久久久久| 亚洲美女一区| 亚洲日本成人女熟在线观看| 久久精品一区二区国产| 国产精品xvideos88| 亚洲精品美女免费| 91久久久亚洲精品| 久久理论片午夜琪琪电影网| 国产精品毛片在线| 一本色道久久综合亚洲二区三区 | 国产精品激情电影| 日韩写真视频在线观看| 亚洲精品久久| 美女脱光内衣内裤视频久久影院 | 久久精品视频播放| 国产精品亚洲综合| 亚洲视频精选| 亚洲天堂成人在线观看| 欧美成人午夜激情在线| 激情综合色综合久久| 久久国产视频网| 久久www成人_看片免费不卡| 国产精品免费福利| 亚洲一区二区黄| 亚洲伊人久久综合| 国产精品国产三级国产普通话99 | 免费欧美视频| 亚洲大黄网站| 亚洲第一中文字幕| 玖玖精品视频| 曰韩精品一区二区| 亚洲国产欧美一区二区三区久久 | 在线视频精品一| 亚洲午夜av在线| 欧美午夜精品理论片a级按摩| 一区二区三区高清视频在线观看| 亚洲视频久久| 国产精品久久久久一区二区三区 | 欧美精品成人91久久久久久久| 亚洲福利国产精品| 亚洲欧洲精品天堂一级| 母乳一区在线观看| 亚洲国产日韩欧美在线图片| 亚洲精品自在久久| 欧美日韩国产专区| 在线亚洲欧美视频| 午夜日韩在线| 国产日韩成人精品| 欧美一区=区| 蜜臀91精品一区二区三区| 亚洲国产天堂久久综合网| 艳妇臀荡乳欲伦亚洲一区| 欧美性天天影院| 亚洲欧美日韩在线综合| 欧美主播一区二区三区| 国产一区二区无遮挡| 亚洲激情亚洲| 欧美日韩综合一区| 午夜精彩视频在线观看不卡| 久久女同精品一区二区| 亚洲电影免费观看高清完整版| 亚洲精品社区| 欧美色欧美亚洲另类二区| 亚洲欧美一区二区精品久久久| 久久久久久欧美| 亚洲啪啪91| 亚洲自拍偷拍视频| 国产自产在线视频一区| 亚洲国产日日夜夜| 欧美日韩在线播放三区四区| 亚洲免费视频一区二区| 久久久久在线观看| 亚洲精品视频免费观看| 亚洲欧美激情四射在线日| 国内精品一区二区| 日韩午夜电影av| 国产精品一区二区三区四区五区| 久久精品亚洲一区二区| 欧美日韩视频在线一区二区观看视频 | av成人福利| 国产免费观看久久黄| 亚洲经典视频在线观看| 欧美性猛交xxxx乱大交退制版| 久久国产免费看| 欧美日韩午夜激情| 欧美在线综合| 欧美三区在线观看| 亚洲电影在线免费观看| 欧美视频日韩视频在线观看| 欧美在线播放高清精品| 欧美日韩国产成人在线91| 欧美中文字幕在线观看| 欧美另类视频| 欧美在线观看视频一区二区三区| 欧美激情一区二区三区四区| 亚洲欧美在线看| 欧美久久久久久蜜桃| 欧美一区二区精品久久911| 欧美日韩三级在线| 亚洲国产欧美一区二区三区同亚洲| 国产精品国产三级国产普通话蜜臀 | 亚洲精品无人区| 久久久青草青青国产亚洲免观| 日韩视频免费观看| 麻豆91精品91久久久的内涵| 亚洲午夜精品一区二区| 欧美国产日韩一区二区三区| 欧美一二三区精品| 欧美三日本三级三级在线播放| 亚洲国产精品一区二区www| 国产精品免费看| 夜夜夜久久久| 在线观看欧美视频| 久久久久久高潮国产精品视| 在线亚洲免费视频|