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