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