基于USB的高精度多通道數(shù)據(jù)采集卡設計
模塊1實現(xiàn)在地址IO模式下向寄存器寫數(shù)據(jù)。寫時序如圖7所示。可以根據(jù)地址線和PWR信號實現(xiàn)對某寄存器的寫控制。本文引用地址:http://www.ex-cimer.com/article/195456.htm
模塊2實現(xiàn)在DMA模式下FPGA向主機的批量數(shù)據(jù)傳輸。同步DMA的時序圖如圖8所示(時鐘由FPGA提供)。
本系統(tǒng)使用一個狀態(tài)機實現(xiàn)該功能,狀態(tài)機在“查找”和“傳輸”兩個狀態(tài)之間切換。系統(tǒng)啟動以后首先進入查詢FIFO的狀態(tài),在查詢到FIFO中的數(shù)據(jù)量大于一個USB數(shù)據(jù)包(2 040 bit)時,狀態(tài)機進入到“傳輸”狀態(tài)。在“傳輸”狀態(tài)下,按照上述同步。DMA寫時序,首先傳輸6 bit包頭,然后傳輸2 040 bit數(shù)據(jù),最后傳輸2 bit數(shù)據(jù)校驗。在數(shù)據(jù)傳輸?shù)倪^程中,電路要一直查詢DMAING的狀態(tài),檢測到:DMAING為低時要暫停數(shù)據(jù)傳輸。在傳輸完2 kB數(shù)據(jù)后,狀態(tài)機再轉(zhuǎn)入到“查詢”狀態(tài),進行下一輪數(shù)據(jù)傳輸狀態(tài)。
系統(tǒng)當前的工作時鐘為20 MHz,在USB接口處可以達到的最大帶寬約為10 MB,系統(tǒng)分頻給A/D的時鐘為5 MHz,這樣可以保證A/D接口的最大帶寬達到3 MB。在Flash接口處的帶寬約為5 MB。將時鐘速度提升l倍,則USB口的傳輸能力可以達到約20 MB。
數(shù)據(jù)處理與儲存模塊主要是FPGA將高速A/D采集到的數(shù)據(jù)進行打包、暫存。本套電路中使用了一片由,TI公司生產(chǎn)的高速靜態(tài)RAM IS61-LV51216作為數(shù)據(jù)暫存器件;由FPGA對這片RAM存儲器進行監(jiān)控。
4 結束語
采用USB協(xié)議的數(shù)據(jù)采集卡可以滿足對數(shù)據(jù)進行多通道的高精度采集、處理和傳輸,在數(shù)據(jù)有效采集的情況下,擺脫了對端口的依賴。
評論