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