USB2.0特性及USB單片機
收發(fā)器與SIE(串行接口引擎)相連接,SIE直接與端點(diǎn)(endpoint)FIFO相連。僅當需要完成檢驗分組信息的工作時(shí),單片機才與USB傳輸發(fā)生關(guān)系。
單片機仍可對FIFO進(jìn)行存取。例如,它能根據信息分組(包)的頭標碼內容與因特網(wǎng)進(jìn)行存取操作;但是,數據路徑的速度與單片機的處理速度無(wú)關(guān),它有獨立的速度。這是調整了結構的1個(gè)例子。
Cypress USB2.0 SIE類(lèi)似該公司以前的FX部件,能執行USB2.0協(xié)議的大部分內容。設計師不必考慮所有三級處理這類(lèi)事情,而全由智能SIE來(lái)完成。當用戶(hù)訂購該公司的開(kāi)發(fā)板,并插入PC插槽時(shí),不必寫(xiě)入任何代碼,開(kāi)發(fā)板就能工作。很明顯,這是由于有智能SIE之故,使用戶(hù)應用時(shí)不需調整開(kāi)發(fā)板。在啟動(dòng)這部分工作時(shí)不會(huì )影響其他部分,USB就能立即傳輸數據。
由智能SIE支持的另一工作是Cypress固件下載。由于固件是在FX2的RAM中,所以能通過(guò) SIE用USB下載。當單片機復位時(shí),SIE就能做下載工作。因為USB2.0是新的,有許多問(wèn)題要考慮。下載給設計師提供了一種容易升級的方法。在參數變化時(shí),這是一個(gè)重要的優(yōu)點(diǎn),因此減少了風(fēng)險和不確定性,增加了產(chǎn)品上市快的優(yōu)勢。
USB2.0的分組長(cháng)度是512字節。如果用經(jīng)典的FIFO,當產(chǎn)生壞的CRC(循環(huán)校驗碼)時(shí),所有的數據必然泛濫流出,因為它是壞數據。把FIFO作為RAM來(lái)執行,它變得更像分組的 FIFO。整個(gè)分組信息能送入雙口存儲器。如果CRC是好的,則分組信息能從USB域交換到I/O(輸入/輸出)域。對外來(lái)說(shuō),它看起來(lái)仍然像FIFO,但代之以每次只傳送1個(gè)字或1個(gè)字節為立即傳送整個(gè)分組信息。
端點(diǎn)FIFO的其他部分與速度有關(guān)。因為數據流入很快,所以對分組來(lái)說(shuō),至少需要雙口緩沖器。 Cypress公司的器件因可編程而進(jìn)了一步。端點(diǎn)緩沖器可能是雙、三或四緩沖器,與所需的數據量或靈活性有關(guān)。例如,批量存儲的外設,在高速時(shí),要斷開(kāi) 1個(gè)讀數據信道。然后讀/寫(xiě)頭移到下一條路徑,在USB上發(fā)送數據。為保證此工作,需要四重緩沖。
實(shí)際上不需要了解FIFO對外是如何進(jìn)行調整工作的,因為有FIFO滿(mǎn)標志、FIFO空標志以及可編程標志。事實(shí)上,這是一個(gè)“量子”FIFO(公司這樣稱(chēng)呼),分組的換入、換出是完全透明的。
“量子”FIFO就是有256×16位的雙口RAM塊,如圖5所示。它們放置在USB這邊,而數據是從USB輸出或輸入。數據穿過(guò)虛線(xiàn)進(jìn)行交換(見(jiàn)圖5),達到I/O系統部分,這時(shí)能肯定整個(gè)分組是好的。8051單片機也對此存儲器存取有效,這在另一種分組協(xié)議時(shí)就要用到。如以太網(wǎng),在應用之前,可能要對分組進(jìn)行試驗。8051能視分組的頭標碼內容按需要進(jìn)行處理。在任何給定時(shí)間,某些RAM塊都是在SIE(串行接口引擎)控制下,由USB數據充滿(mǎn)/空閑;而其他的RAM塊則可由8051單片機和()或I/O控制單元使用。在USB域,RAM塊是單口;在8051的I/O單元域,RAM塊是雙口。RAM塊能構成單、雙、三或四緩沖。
評論