基于FPGA的USB接口IP核設計
1.2 事務(wù)處理
事務(wù)處理(Transaction)是指USB總線(xiàn)上數據信息的一次接收或發(fā)送的處理過(guò)程。事務(wù)處理的類(lèi)型包括輸入事務(wù)、輸出事務(wù)、設置(Setup)事務(wù),幀開(kāi)始(SOF),幀結束(EOF)等類(lèi)型,下面以輸入事務(wù)處理為例加以介紹。
如圖2顯示了輸入事務(wù)處理中無(wú)差錯事務(wù)情況,首先由主機向總線(xiàn)發(fā)出輸入令牌包通知某個(gè)設備向主機發(fā)送數據;當所指定的設備接收到此令牌包并檢驗身份后,將準備好的數據組裝成數據包向主機傳送出去;接著(zhù)當主機接收到的數據經(jīng)校驗無(wú)差錯后,創(chuàng )建一個(gè)ACK的握手包返回給設備通知主機已正確接收到數據,然后進(jìn)行新的事務(wù)處理過(guò)程。若主機接收數據包錯誤,則不發(fā)送ACK握手包,表示處理過(guò)程沒(méi)有成功;若設備未準備好數據,設備會(huì )向主機發(fā)送NAK握手包,提醒主機暫時(shí)不能發(fā)送數據;若設備出錯,則返回主機STALL握手包通知設備出錯。 本文引用地址:http://dyxdggzs.com/article/202558.htm
1.3 總線(xiàn)傳輸
為了滿(mǎn)足不同外設和用戶(hù)的要求,USB提供了4種傳輸方式:控制傳輸、實(shí)時(shí)傳輸、中斷傳輸、批量傳輸。它們在數據格式傳輸方向數據包容量限制和總線(xiàn)訪(fǎng)問(wèn)限制等方面有著(zhù)各自不同的特征。
控制傳輸用來(lái)對設備進(jìn)行初始化和配置管理,所有USB設備必須直接控制傳輸,是總線(xiàn)傳輸中最復雜的傳輸方式;實(shí)時(shí)傳輸用來(lái)傳送音頻或視頻的數據;中斷傳輸用來(lái)傳輸類(lèi)似PCI或ISA總線(xiàn)上中斷信號的數據;批量傳輸用于打印機或掃描儀等傳輸大塊數據的設備。
控制傳輸一般包括2或3個(gè)事務(wù)處理階段,即設置階段,數據階段(可選)和狀態(tài)階段。圖3給出了設置階段的細節。如果數據沒(méi)有正確接收設備就會(huì )忽略它,而且不返回應答包。
2 USB IP模塊設計和代碼編寫(xiě)
USB接口主要有UTM(USB Transceiver Macrocell)、SIE(SefiM Interface Engine)和設備功能總線(xiàn)組成。電路結構,如圖4所示,時(shí)鐘域分為:Transceiver時(shí)鐘域,SIE時(shí)鐘域和Wish- bone總線(xiàn)時(shí)鐘域。
2.1 UTM模塊
USB總線(xiàn)數據線(xiàn)由DP和DN組成,是I/O端口。并行通過(guò)對DP和DN的上拉、下拉來(lái)區別低速USB設備和高速USB設備。
評論