www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 嵌入式 > 嵌入式教程
[導讀]USB2.0主機控制器IP核的設計

摘要 :為了擺脫對USB2.0 主機控制器ASIC 芯片的依賴,提高產(chǎn)品集成度,本文設計了針對全速和高速USB 海量存儲設備的USB2.0 主機控制器IP 核。首先介紹USB2.0 主機控制器IP核中主要涉及的USB2.0 通信協(xié)議以及與物理層芯片接口的ULPI 接口規(guī)范協(xié)議,并依據(jù)協(xié)議規(guī)范,利用VHDL 硬件描述語言完成USB2.0 主機控制器IP 核的ULPI 接口模塊以及USB2.0通信協(xié)議模塊的設計。使用Xilinx 公司的ISE Simulator 工具進行波形仿真,并在XilinxXUPV2 開發(fā)板上進行驗證,仿真結果及FPGA片上實驗表明本文設計的USB2.0 主機控制器能夠完成對USB 海量存儲設備的有效管理。

0 引言

在USB 協(xié)議標準發(fā)展的過程中,USB2.0 接口憑借其連接簡單、穩(wěn)定、速度快以及即插即用等優(yōu)點,廣泛應用于計算機、通信和消費類電子產(chǎn)品中。然而目前大部分USB 主機端控制器都是使用國外公司研制的專用ASIC 芯片,USB2.0 主機控制器IP 核的設計可以擺脫對這些芯片的依賴,使得應用靈活方便。本文完成了針對全速和高速海量存儲設備USB2.0主機控制器IP 核中與物理層芯片接口的ULPI[2]模塊以及USB2.0 協(xié)議模塊的設計和實現(xiàn)。

ULPI 模塊介于USB2.0 主機控制器的協(xié)議模塊和物理層芯片之間,完成對插入USB 設備的狀態(tài)檢測,判別是何種設備(全速還是高速),然后將設備置于相應的狀態(tài)再進行USB 的各種傳輸事務。每一個USB 的傳輸都是由事務組成的。而每一個事務都是由USB 傳輸?shù)淖罨締挝话╬acket)來組成的,USB 的包主要是由令牌包、數(shù)據(jù)包、握手包和特殊包這四種類型組成的。令牌包和數(shù)據(jù)包又包含不同的類型[4],握手包僅由一個PID 域組成用以傳輸聯(lián)絡信號來反映目前數(shù)據(jù)處理的狀態(tài)。USB 協(xié)議包含了四種數(shù)據(jù)傳輸類型,分別為控制傳輸,批量傳輸,中斷傳輸和同步傳輸,其中控制傳輸是所有設備必須要支持的傳輸方式,對時間沒有嚴格限制的大量的數(shù)據(jù)傳輸要用到批量傳輸;同步傳輸也被稱為實時傳輸。

1 系統(tǒng)設計

圖1 整體系統(tǒng)圖

圖 1 中FPGA型號為Xilinx Virtex-II proxc2vp30,標識為ISP1504 的子板通過FPGA擴展口接入到FPGA 開發(fā)板,子板以物理層芯片ISP1504 為核心并配以簡單外圍電路構成,上面帶有USB 接口用來插入USB 設備。ISP1504 用來完成數(shù)據(jù)的串行化和解串,以及NRZI編碼和比特位填充等功能。FPGA 中內嵌microblaze 軟核處理器,USB 主機控制器IP 核作為用戶IP 核掛接到處理器的PLB 總線上,再加入USB 驅動,便可以實現(xiàn)microblaze 處理器對全速和高速USB 海量存儲設備的管理。本文主要介紹USB 主機控制器IP 核設計中的兩個重要模塊--與物理層接口的ULPI 模塊以及USB2.0 協(xié)議層模塊的設計實現(xiàn)。

2 ULPI 接口模塊的設計及實現(xiàn)

ULPI(UTMI+低引腳數(shù))接口規(guī)范是應用于高速通用串行總線(USB)和便攜式USB(USBOTG)收發(fā)器芯片的行業(yè)規(guī)范。ULPI 模塊提供USB 主機控制器與UTM 正常通信的物理層通道,是主機控制器實現(xiàn)正常通信的重要接口之一。該模塊依據(jù)ULPI規(guī)范實現(xiàn)了總線事件檢測的功能,完成了上電,正常操作,掛起和復位狀態(tài)之間的轉換等。

此模塊采用狀態(tài)機來實現(xiàn),主要通過對 ISP1504 的功能控制寄存器寫入一定的數(shù)據(jù),使得物理層芯片的收發(fā)器進入相應的狀態(tài)(全速、高速以及高速掛起),對狀態(tài)機中時間控制采用計數(shù)器實現(xiàn),主機端發(fā)送kj 序列對首先通過寫ISP1504 的功能控制寄存器使之進入高速chirp 檢測狀態(tài),然后在數(shù)據(jù)線上發(fā)送全0 和全1 來完成的。本設計USB2.0 主機控制主要針對全速和高速海量存儲設備設備,全速和高速的狀態(tài)轉移圖如圖2 所示:

圖 2 ULPI 模塊狀態(tài)轉移圖

芯片上電之后,通過寫ISP1504 的功能控制寄存器的reset 位來復位芯片,之后通過差分數(shù)據(jù)線的狀態(tài)來檢測是否有設備插入,并根據(jù)狀態(tài)判斷是低速設備還是全速設備(D-為高電平,即連接的設備為低速設備。若D+為高電平,即連接的設備為全速設備。)需特別說明的是,主機端對高速設備的檢測并不是一下完成的,是首先置為全速設備,然后主機端通過設置控制功能寄存器驅動出SE0 信號,如果收到設備發(fā)回的chirp k信號,主機端就會發(fā)送線性調頻的kj 序列對,每個k 或者j 持續(xù)時間在40-60us,如果設備是高速設備,在檢測到主機發(fā)過來的3 個kj 序列對之后設備的控制器會使其自身進入高速模式,即高速收發(fā)正常的操作狀態(tài)。如果沒有收到設備返回的chirp k 信號則認為是全速設備回到全速狀態(tài)下進行傳輸。當總線上沒有數(shù)據(jù)傳輸(空閑狀態(tài))超過3ms,則會進入FS 掛起狀態(tài),當收到主機端發(fā)送的resume信號時恢復到FS狀態(tài),同理如果在高速狀態(tài)下空閑超過3ms,會先進入FS掛起狀態(tài)。

用 VHDL 硬件描述語言完全按照上述狀態(tài)機轉移完成此模塊,在Xilinx ISE 開發(fā)環(huán)境下使用ISE simulator 仿真工具進行仿真,仿真波形如圖3 所示:

圖3 ULPI模塊的仿真波形

由于狀態(tài)轉移對時間的限制,故只截取了部分狀態(tài)作分析。由圖所示,currentST[4:0]反映的是狀態(tài)機的狀態(tài),linestate[1:0]表示線上狀態(tài)(直接反映D+ D-狀態(tài)),在狀態(tài)1 通過向ISP1504 的84H 地址(控制功能寄存器的地址)寫入61H(置位rst 位)復位物理層芯片。

在狀態(tài)1 寫完寄存器后置位stp,轉到狀態(tài)2 檢測設備連接狀態(tài)。在狀態(tài)2,當檢測到linestate變?yōu)?0(D+為高),所以先識別為全速設備,轉到全速狀態(tài)4。在下一個時鐘周期進入狀態(tài)6 驅動se0 對設備進行復位,然后按照狀態(tài)轉移圖最后進入高速操作階段。

3 USB2.0 協(xié)議模塊的設計和實現(xiàn)

在 ULPI模塊完成了設備的狀態(tài)監(jiān)測和轉移之后,等進入正常的全速或者是高速模式,就可以按照USB2.0 協(xié)議完成數(shù)據(jù)的傳輸,USB2.0 協(xié)議實現(xiàn)模塊是主機控制器實現(xiàn)的核心模塊,完成USB 數(shù)據(jù)的讀寫和傳輸方式的控制。根據(jù)協(xié)議層的功能主要把協(xié)議層分成三個子模塊來實現(xiàn),分別是封包模塊(PA)、拆包模塊(PD)以及控制傳輸?shù)膮f(xié)議引擎模塊( PE )。

3.1 PA PD 模塊的設計實現(xiàn)

封包模塊(PA)需要對令牌包、數(shù)據(jù)包和握手包三種包按照其對應格式分別進行封裝并發(fā)送到ULPI 模塊。開始空閑狀態(tài),接到發(fā)包指令后,判斷發(fā)包類型然后進入相應的狀態(tài)。例如令牌包需將其PID 域、ADDR 域、ENDP 域以及CRC5 校驗域按照順序封裝完成后發(fā)送。

狀態(tài)轉移圖如下所示:

圖4 PA模塊狀態(tài)轉移圖

拆包模塊(PD)剛好是封包模塊的逆過程,該模塊是把從ULPI 模塊接收到的數(shù)據(jù)包和握手包進行拆包。對數(shù)據(jù)包拆包首先就是要判斷PID 域以確定數(shù)據(jù)包的類型,并且還需對數(shù)據(jù)進行CRC 校驗然后根據(jù)該數(shù)據(jù)包的功能將數(shù)據(jù)域內容送給要保存數(shù)據(jù)的模塊,圖5 是拆包模塊的狀態(tài)轉移圖:

圖 5 PD 模塊狀態(tài)轉移圖

仿真結果如圖6 所示:

圖 6 拆包的仿真波形

在圖6 中,完成一個包含三個數(shù)據(jù)域的拆包過程。信號rx_valid 和rx_active 同時有效時rx_data[7:0]代表從ULPI 模塊接收到的數(shù)據(jù),首先根據(jù)接收PID 域值為C3,判斷出該數(shù)據(jù)包的類型為DATA0,pid_data0 信號為高。Rx_data_st 保存拆包完成后的數(shù)據(jù)域,數(shù)據(jù)是在rx_data_valid 信號為高電平期間存入rx_data_st 寄存器的,所以接收數(shù)據(jù)為0x00、0x01、0x02、0x03。最后對接收的CRC 部分進行了驗證,由于0xef、0x7a 是此包數(shù)據(jù)域正確的CRC 生成碼,所以傳輸無誤情況下crc16_err 一直為0。

3.2 PE 模塊的設計實現(xiàn)

協(xié)議引擎(PE)模塊主要負責協(xié)調PA 和PD 模塊實現(xiàn)USB 傳輸方式,本設計主要實現(xiàn)兩種傳輸方式即控制傳輸方式和批量傳輸方式。該模塊設計的主狀態(tài)轉移圖如圖7 所示,狀態(tài)機在空閑狀態(tài)收到請求傳輸有效信號transreq后,就會對請求類型transtype進行判斷。不同的transtype 值代表著不同的傳輸事務要求。按照不同的要求,主狀態(tài)機就會轉到相應的傳輸事務狀態(tài)中進行處理。

圖 7 PE 模塊主狀態(tài)轉移圖

每個傳輸事務由不同的狀態(tài)轉移過程來實現(xiàn),以其中的setup 傳輸事務為例。首先,狀態(tài)機向PA 模塊發(fā)送發(fā)包使能標志,同時將表示setup 令牌包的值"1101"送給PA 模塊。PA模塊接到發(fā)setup 包指令,就會按照要求完成封包發(fā)送的工作,最后反饋給PE 模塊一個發(fā)包結束的信號sendpacketen。setup狀態(tài)機接收到發(fā)包結束信號sendpacketen為‘1‘后,就會轉到下一個狀態(tài)發(fā)data0 數(shù)據(jù)包。在此狀態(tài)下如果收到發(fā)包結束有效信號,也會轉到下一狀態(tài)接收握手包。在這個狀態(tài)中,主要是和PD 模塊進行通信。PD 模塊通過對接收的握手包進行拆包,來分析包的PID 域是否出錯。如果沒有錯就會反饋給PE 模塊包的類型,出錯就通過信號來通知PE 模塊。狀態(tài)機本狀態(tài)除了要判斷接收包是否出錯,還要判斷接收包是否超時。各個事務分別完成之后,至此協(xié)議層完成。

圖 8 Setup 事務狀態(tài)轉移圖

4 結論

本文完成了 USB2.0 主機控制器中ULPI 模塊與USB2.0 協(xié)議層模塊設計,此USB2.0 主機控制器 IP 核主要針對全速和高速海量存儲設備。設計采用VHDL 語言進行RTL 級描述,使用Xilinx 公司的ISE simulator 工具進行波形仿真,仿真結果驗證了設計的正確性,并且在Xilinx XUPV2 FPGA 開發(fā)板[8]和帶有USB接口并以物理層芯片ISP1504為核心的子板上進行了驗證。本文設計的USB2.0 主機控制器可作為獨立的IP 核移植到其他數(shù)字系統(tǒng)中,擺脫對USB2.0 主機控制器ASIC 的依賴,提高產(chǎn)品集成度。

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

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

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

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

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

關鍵字: 汽車 人工智能 智能驅動 BSP

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

關鍵字: 亞馬遜 解密 控制平面 BSP

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

關鍵字: 騰訊 編碼器 CPU

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

關鍵字: 華為 12nm EDA 半導體

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

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

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

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

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

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

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

關鍵字: BSP 信息技術
關閉
關閉