国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

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

發布時間:2010-11-25 22:44    發布者:designer
關鍵詞: dsp , USB , 數據采集
介紹了一種利用USB2.0的高速傳輸特性,基于USB和DSP的數據采集系統。詳細論述了系統的總體結構、部分硬件設計,并簡要敘述了相應固件程序的實現。

測量儀器一般由數據采集、數據分析和顯示三部分組成,而數據分析和顯示可以由PC機的軟件來完成,因此只要額外提供一定的數據采集硬件就可以和PC機組成測量儀器。這種基于PC機的測量儀器被稱為虛擬儀器。而在一些數據量比較大、采集時間比較長的場合,就需要采用高速的數據傳輸通道。基于虛擬儀器的思想和高速傳輸通道的要求,設計了一種基于DSP和USB2.0的高速數據傳輸接口。

1 數據采集系統硬件

數據采集系統由A/D數據采集單元、USB從接口單元、U盤讀寫單元組成。硬件原理圖如圖1所示。被測信號經A/D轉換后寫入FIFO中;當FIFO數據半滿后,產生中斷,通知DSP進行數據壓縮處理;DSP把壓縮好的數據依次寫入USB接口芯片的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所示,每個采樣周期長達CS信號的三個周期。在第一個CS信號的下降沿,如果R/C為低電平,也就進入了應答模式,這是開始采樣前必須的準備工作。為了適應不同的輸入極性要求,MAX1189的內部參考電壓可以在每次轉換結束后進行設置,這是通過在第二個CS下降沿時,R/C的高低電平變化來控制的,非常簡便。低電平時,ADC內部參考電壓無需進行轉換,這樣在開始下一個周期的轉換時無需等待電壓的變化。高電平時,內部參考電壓會進行調變,這樣在開始下一周期的轉換時需要等待大約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標志位,若該端點不空,則等待;若空,則進行寫數據操作。



1.4 U盤讀寫單元

此電路單元采用USB主控芯片CH375。CH375 是一USB總線的通用接口芯片,支持USB-HOST主機方式和USB-DEVICE/SLAVE設備方式。此系統中只采用USB的主功能,用來讀寫U盤。

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機端應用程序以及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數據采集系統,采用數據壓縮算法完成了數據量的壓縮以及高速數據傳輸。由于USB的即插即用特性,彌補了傳統數據采集卡插拔困難的缺點,相信隨著技術的進步,USB技術必將得到更廣泛的應用。
本文地址:http://m.qingdxww.cn/thread-41820-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 使用SAM-IoT Wx v2開發板演示AWS IoT Core應用程序
  • 使用Harmony3加速TCP/IP應用的開發培訓教程
  • 集成高級模擬外設的PIC18F-Q71家族介紹培訓教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿澤電子(Mouser)專區

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲精品不卡在线 | 欧美日韩国产另类在线观看 | 亚洲五月婷 | 免费永久在线观看黄网 | 97热在线| 国产精品2018| 色九月 | 欧美成人性生活视频 | 成人看片在线观看免费 | 久久久免费精品视频 | 窝窝午夜影院 | 国产成人精品亚洲 | 日日操日日舔 | 久久久久久久久久毛片精品美女 | 国产免费一区不卡在线 | 欧美aⅴ在线 | 日韩在线观看第一页 | 久久久久久国产精品mv | 一区二区在线观看高清 | 在线免费看黄色片 | 韩国一级片在线播放 | 福利视频99| 日韩中文字幕在线观看视频 | 国产精品黄 | 日韩毛片免费视频 | 久久久国产精品视频 | 婷婷丁香九月 | 羞羞免费网站视频 | 欧美高清国产在线观看 | 五月天性 | 一级片免费在线观看 | 久久久99精品久久久久久 | 日本天堂视频 | 激情天堂| 亚洲香蕉综合在人在线时看 | 精品在线91 | 国产成人91高清精品免费 | 欧美另类视频一区二区三区 | 欧美一区二区三区在线 | 大学生久久香蕉国产线观看 | 日韩不卡一区二区三区 |