當(dāng)前位置:首頁 > 智能硬件 > 智能硬件
[導(dǎo)讀]摘要: 重點闡述了USB接口IP核關(guān)鍵模塊的設(shè)計和驗證,用VerilogHDL對USBIP核協(xié)議RTL級代碼編寫,對USB協(xié)議的數(shù)據(jù)流、傳輸?shù)冗M行了深入的分析,在Xilinx ISE軟件平臺上進行了FPGA綜合,并在Xilinx FPGA開發(fā)板上調(diào)試成功

摘要: 重點闡述了USB接口IP核關(guān)鍵模塊的設(shè)計和驗證,用VerilogHDL對USBIP核協(xié)議RTL級代碼編寫,對USB協(xié)議的數(shù)據(jù)流、傳輸?shù)冗M行了深入的分析,在Xilinx ISE軟件平臺上進行了FPGA綜合,并在Xilinx FPGA開發(fā)板上調(diào)試成功。通過在ModelSim6.0上仿真、ISE9.1上綜合并在FPGA開發(fā)板上驗證,最后采用0.35μm CMOS工藝實現(xiàn)版圖設(shè)計,工作頻率120 MHz,3.3 V電壓時工作電流9mA,靜態(tài)電流40μA。結(jié)果表明文中USB接口IP設(shè)計是可行的。
關(guān)鍵詞: IP;通用串行總線;VerilogHDL;協(xié)議層;SIE


    USB(通用串行總線)作為一種外設(shè)連接技術(shù),是計算機外設(shè)連接技術(shù)的重大變革,USB具有速度快、通用性好、擴展性強、功耗低、穩(wěn)定、易開發(fā)等眾多優(yōu)點,在實踐中獲得了廣泛的應(yīng)用,逐步成為PC機的一種標(biāo)準接口。USB接口控制芯片是實現(xiàn)USB設(shè)備與主機建立通信所必須的芯片,目前國內(nèi)的USB開發(fā)者所采用的芯片都是由國外的芯片商所提供,如Cypress、NEC、Motorola等大的IC設(shè)計公司,價格較貴。由于USB的廣泛應(yīng)用,國內(nèi)外眾多科研機構(gòu)和集成電路設(shè)計公司都把目光投向USB這項具有廣闊市場前景的技術(shù)。USB內(nèi)核(USB Core)是USB接口控制芯片的關(guān)鍵模塊,設(shè)計一個穩(wěn)定、高速的USB內(nèi)核更是芯片成功推向市場的前提。

1 USB通信原理
    USB通信邏輯上分成了3層:信號層、協(xié)議層和數(shù)據(jù)層。信號層用來實現(xiàn)在USB設(shè)備和主機的物理連接之間傳輸位信息流的信息。邏輯層用來實現(xiàn)在USB設(shè)備和USB主機端的協(xié)議軟件之間傳輸包字節(jié)流的信息,它們在信號層被編碼成NRZI位信息后傳送出去。數(shù)據(jù)傳輸層用來實現(xiàn)在USB主機端的客戶端驅(qū)動程序和設(shè)備端的功能接口之間傳輸有一定意義的信息,這些信息在協(xié)議層被打包成包格式。
1.1 傳輸?shù)幕締卧?br />    包(Packet)是USB系統(tǒng)中信息傳輸?shù)幕締卧?。結(jié)構(gòu),如圖1所示,根據(jù)USB規(guī)范,包的類型有:令牌包、數(shù)據(jù)包、握手包和專用包。

 


    USB總線操作(通訊過程)都可以歸結(jié)為3種包的傳輸:令牌包、數(shù)據(jù)包和應(yīng)答包。任何操作都是從主機開始的,主機以預(yù)先排好的時序,發(fā)出一個描述操作類型、方向、外設(shè)地址以及端點號,稱之為令牌包Foken Packet。然后由在令牌中指定的數(shù)據(jù)發(fā)送者發(fā)出一個數(shù)據(jù)包Data Packet或者報告它沒有數(shù)據(jù)可以傳輸。而數(shù)據(jù)的目的地一般要以一個應(yīng)答包Handshake Packet做出響應(yīng)表明傳輸是否成功。
1.2 事務(wù)處理
    事務(wù)處理(Transaction)是指USB總線上數(shù)據(jù)信息的一次接收或發(fā)送的處理過程。事務(wù)處理的類型包括輸入事務(wù)、輸出事務(wù)、設(shè)置(Setup)事務(wù),幀開始(SOF),幀結(jié)束(EOF)等類型,下面以輸入事務(wù)處理為例加以介紹。
    如圖2顯示了輸入事務(wù)處理中無差錯事務(wù)情況,首先由主機向總線發(fā)出輸入令牌包通知某個設(shè)備向主機發(fā)送數(shù)據(jù);當(dāng)所指定的設(shè)備接收到此令牌包并檢驗身份后,將準備好的數(shù)據(jù)組裝成數(shù)據(jù)包向主機傳送出去;接著當(dāng)主機接收到的數(shù)據(jù)經(jīng)校驗無差錯后,創(chuàng)建一個ACK的握手包返回給設(shè)備通知主機已正確接收到數(shù)據(jù),然后進行新的事務(wù)處理過程。若主機接收數(shù)據(jù)包錯誤,則不發(fā)送ACK握手包,表示處理過程沒有成功;若設(shè)備未準備好數(shù)據(jù),設(shè)備會向主機發(fā)送NAK握手包,提醒主機暫時不能發(fā)送數(shù)據(jù);若設(shè)備出錯,則返回主機STALL握手包通知設(shè)備出錯。

 


1.3 總線傳輸
    為了滿足不同外設(shè)和用戶的要求,USB提供了4種傳輸方式:控制傳輸、實時傳輸、中斷傳輸、批量傳輸。它們在數(shù)據(jù)格式傳輸方向數(shù)據(jù)包容量限制和總線訪問限制等方面有著各自不同的特征。
    控制傳輸用來對設(shè)備進行初始化和配置管理,所有USB設(shè)備必須直接控制傳輸,是總線傳輸中最復(fù)雜的傳輸方式;實時傳輸用來傳送音頻或視頻的數(shù)據(jù);中斷傳輸用來傳輸類似PCI或ISA總線上中斷信號的數(shù)據(jù);批量傳輸用于打印機或掃描儀等傳輸大塊數(shù)據(jù)的設(shè)備。
    控制傳輸一般包括2或3個事務(wù)處理階段,即設(shè)置階段,數(shù)據(jù)階段(可選)和狀態(tài)階段。圖3給出了設(shè)置階段的細節(jié)。如果數(shù)據(jù)沒有正確接收設(shè)備就會忽略它,而且不返回應(yīng)答包。

 


2 USB IP模塊設(shè)計和代碼編寫
    USB接口主要有UTM(USB Transceiver Macrocell)、SIE(SefiM Interface Engine)和設(shè)備功能總線組成。電路結(jié)構(gòu),如圖4所示,時鐘域分為:Transceiver時鐘域,SIE時鐘域和Wish- bone總線時鐘域。

 


2.1 UTM模塊
    USB總線數(shù)據(jù)線由DP和DN組成,是I/O端口。并行通過對DP和DN的上拉、下拉來區(qū)別低速USB設(shè)備和高速USB設(shè)備。
    USB總線上的數(shù)據(jù)首先通過UTM,進行NRZI解碼和位剝離后,串并轉(zhuǎn)換為8位并行數(shù)據(jù),傳送給SIE中的UTMI或從UTMI接收8位并行數(shù)據(jù),經(jīng)過NRZI編碼和位填充后,發(fā)送到USB總線。由于USB系統(tǒng)采用NRZI編碼,對于一串0來說,它的數(shù)據(jù)線的電平狀態(tài)會按位跳變,對以一串l則不然,電平會長時間不變,可能導(dǎo)致數(shù)據(jù)接受方的時間同步漂移,為了避免漂移,每遇到6個1就在NRZI編碼之前加0,即位填充。
NRZI的vefilog實現(xiàn)代碼為:

 

2.2 串行接口引擎
    串行接口引擎(Serial Interface Engine,SIE)主要由PL(Protocol Layer),MA(memory buffer arbiter),UTMI(UTM Interface)等組成。PD,PA,PE3個模塊組成了USB SIE的協(xié)議層(PL)。
    UTMI(UTM Interface)是UTM和SIE的接口主要功能是檢測總線狀態(tài)以及識別總線速度。負責(zé)PL與UTM的數(shù)據(jù)交換。
    PD將UTMI接收到的信息數(shù)據(jù)包進行解析,解析出包標(biāo)識(PID)、端點地址和設(shè)備地址以及包含在包中的有效數(shù)據(jù)命令。在解碼時,對PID進行校驗,即PID[7:4]~PID[3:0],還要對必要的令牌包進行CRC5校驗,對數(shù)據(jù)包進行CRCl6校驗。CRCl6,CRC5多項式為:x16+x15+x2+1和x5+x2+1。
    設(shè)計中把命令解碼電路也設(shè)計在PD上,解碼電路的設(shè)計思路是:通過一個計數(shù)器將8 bit的命令數(shù)據(jù)分別存放在8個:Register中,然后對Register進行解碼,來判斷該條命令帶表的含義和執(zhí)行的操作。例如:Get Descriptor命令,主機發(fā)送的命令數(shù)據(jù)為8’ha0,8’h06,8’h00,8’h01,8’h00,8’h00,8’h4O,8’h00,然后解碼電路根據(jù)這8 bit來判斷命令的含義。如果主機發(fā)送命令有誤,或該設(shè)備不支持命令,則這條命令被忽略或返回NAK握手包。
    PA根據(jù)PE(Protocol Engine)送來的PID組織相應(yīng)的信息包,把要發(fā)送的數(shù)據(jù)安排在相應(yīng)的數(shù)據(jù)包,或者令牌包。發(fā)送令牌包時,不必產(chǎn)生CRC5校驗位。在發(fā)送數(shù)據(jù)包寸,需要把有效數(shù)據(jù)的CRCl6校驗位放在包末尾一起發(fā)送。
    PE可以對IN,OUT以及Setup事務(wù)進行單線程處理,且確定當(dāng)前傳輸事務(wù)要操作的端點地址,所有對MA和RF的當(dāng)前操作都基于這個端點地址。PE要根據(jù)當(dāng)前端點的配置或當(dāng)前狀態(tài)處理傳輸事務(wù),并在傳輸事務(wù)中實時更新控制/狀態(tài)寄存器CSR。SIE還能通過CSR中的中斷向量請求設(shè)備總線的控制支持。

3 系統(tǒng)仿真與實現(xiàn)
    設(shè)計中包含了UTM,SIE,并根據(jù)協(xié)議寫出了含有設(shè)備描述符的ROM。這樣IP具有USB接口的功能,可以作為一個USB設(shè)備與主機進行通信。根據(jù)USB協(xié)議,模擬主機動作編寫Testbench,它主要由模擬主機數(shù)據(jù)包(Send Data),Stuffing檢測,CRC校驗檢錯等來仿真。仿真波形,如圖5所示。

 


    最后將電路用ASIC實現(xiàn)。采用0.35μm CMOS工藝實現(xiàn)后端設(shè)計,數(shù)字電路采用單元庫自動布線,模擬電路手工繪制版圖,并進行DRC和LVS檢查,最終版圖預(yù)覽圖,如圖8所示,芯片面積為1.2 ms2;經(jīng)過后仿真得出:工作頻率為120 MHz,工作電流9 mA,靜態(tài)電流40μA。工作頻率可以實現(xiàn)高速USB協(xié)議的要求,功耗、電流等參數(shù)也符合設(shè)計要求。
    本設(shè)計與國內(nèi)其他的研究結(jié)果進行比餃,如表1所示。

 


    從表1中對表可以看出,本設(shè)計在滿足頻率(FX8>480 MHz)的條件下,精簡了多個單元,節(jié)省了資源,完全符合USB協(xié)議的要求。將IP下載到FPGA中與主機通信,主機能正確讀出設(shè)備描述符和正確完成其他操作,并在主機端顯示USB2.0 Device。進一步證明了設(shè)計的正確性和實用性。

 

4 結(jié)束語
    文中介紹了基于USB協(xié)議層模塊的設(shè)計,最后在Modelsim6.0下仿真和ISE9.1進行了綜合,采用Xilinx Spartan3E的XC3S1OOE進行FPGA驗證,并利用0.35μm CMOS工藝進行系統(tǒng)的后端設(shè)計。實現(xiàn)了工作頻率120 MHz,功耗30 mW。
    結(jié)果表明,設(shè)計的USB協(xié)議層模塊各功能達到了預(yù)期目標(biāo)、整體性能良好。此IP core可以廣泛應(yīng)用于各種USB設(shè)備接口、通信轉(zhuǎn)接器件,也可以集成在SOC中,作為系統(tǒng)芯片總線接口。文中設(shè)計的USB IP已成功地應(yīng)用于兩款USB設(shè)備端的接口控制芯片(USB轉(zhuǎn)PS/2接口IC和USB集線器IC),在實際應(yīng)用中性能可靠、速度穩(wěn)定,而且價格低廉。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉