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