基于GPIF的USB-ATA解決方案
在EZ-USB FX2系列中,GPIF功能進(jìn)一步完善,能更好地與ATA接口連接,并可以支持UDMA功能。FX2系列支持USB2.0的控制芯片,BULK端點(diǎn)大小可以設置為512字節或是1024字節。為實(shí)現UDMA功能,FX2系列中的GPIF做了幾方面的改善。先是讓GPIF中的Slave FIFO與USB通訊中端點(diǎn)BUFFER直接建立連接,數據的傳送不再需要CPU的參與。當端點(diǎn)BUFFER寫(xiě)滿(mǎn)后,置BUFFER滿(mǎn)標志位,而GPIF則根據此標志位停止讀寫(xiě)動(dòng)作。此外,GPIF中還多了一項Re-execute功能,即重復執行功能。設定此項后,GPIF可以不經(jīng)過(guò)IDLE狀態(tài)而根據采樣RDY信號重復下一次動(dòng)作,直到出現了指定的標志位后才停止動(dòng)作。這項功能一般用于大批量數據的連續讀寫(xiě),如UDMA模式下對一個(gè)或多個(gè)扇區的讀寫(xiě)操作。為完成UDMA模式下的CRC校驗,FX2系列的芯片中還設置了特殊寄存器來(lái)完成CRC校驗工作,具體使用詳見(jiàn)芯片技術(shù)手冊??梢?jiàn),FX2系列芯片的GPIF能很好地勝任ATA接口中的UDMA模式傳輸。
上述方案較好地實(shí)現了USB-ATA的功能,并實(shí)現了PIO和UDMA兩種模式。在運行中,GPIF不需要CPU的干預,僅通過(guò)一些CPU標志和中斷與8051內核通訊,節約大量CPU資源。從該方案中還可以看出,EZ-USB FX以及FX2系列芯片的地址線(xiàn)、數據線(xiàn)都未用到。因此,在此方案上還可以進(jìn)行其他擴展,從而實(shí)現基于硬盤(pán)的大容量數據采集系統,應用于某些特殊環(huán)境下的數據采集。
評論