999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

無MCU的USB2.0設備控制器IP設計與驗證

2013-02-21 07:53:18袁志堅
網絡安全與數據管理 2013年10期
關鍵詞:單片機設備設計

袁志堅, 黃 魯, 徐 駿

(1.中國科學技術大學 電子科學與技術系 集成電路實驗室,安徽 合肥 230027;2.中國科學技術大學 信息科學實驗中心,安徽 合肥 230027)

通用串行總線USB(Universal Serial Bus)是現今最為流行的計算機接口,它是一種快速、雙向、同步、可動態監測的串行接口[1]。目前大多數的USB設計都是經過系統集成,采用現成的商用USB芯片進行開發,并沒有涉及到IP(Intellectual Property)核的設計與開發。在SoC(System on Chip)開發中可以利用已有的IP核開發成果,縮短系統芯片的設計周期,提高效率。本文通過分析USB2.0協議,實現了一個無需外置MCU(Micro Control Unit)的USB2.0設備控制器IP核,并進行了 FPGA驗證,可用于SoC的集成中。

1 USB2.0設備控制器系統設計

目前USB2.0設備控制器廣泛使用的系統架構是串行接口引擎SIE(Serial Interface Engine)+MCU模式,SIE負責解釋USB協議層的動作[2]。一方面,SIE模塊將主機發送的信息解釋成后端功能設備能夠識別的信息;另一方面,將功能模塊相關數據按照符合USB協議的格式發送給主機。這種傳統的USB設備控制器設計核心是針對事務(Transaction)和信息包(Packet)的處理。對于關鍵的控制傳輸,則需要外置單片機和固件的輔助,因為這種傳統的USB設備控制器不能獨立完成USB與主機通信過程中最核心的枚舉過程。

本文使用硬件電路代替傳統單片機實現MCU和固件的功能。整體框架如圖1所示,圖中實心箭頭代表應用與主機之間的數據流。

采用Top-to-Down(自頂向下)的設計結構將 USB設備控制器劃分為以下主要功能模塊:

(1)Init模塊:實現 UTMI協議 (USB 2.0 Transceriver Macrocell Interface(UTMI)Specification)的相關細節,主要用于控制總線掛起/恢復模式與速度模式的切換。

(2)Packet模塊:對接收到的USB格式的信息包進行處理,提取其中的數據,檢驗CRC;對發送的數據進行封裝,添加CRC檢驗位。

(3)Transaction模塊:對USB定義的基本事務(transaction)類型(如 IN、OUT、SETUP和 PING 等)按照協議規范處理。以上模塊實現SIE的功能,其事務處理流程如圖2所示。

圖1 USB2.0設備控制器系統框架

(4)Serial模塊:例化調用其他模塊,同時對傳輸過程中的錯誤進行處理。

(5)Descriptor ROM和Control模塊:完成枚舉過程中的控制傳輸。

2 硬件電路代替MCU和固件

2.1 方案分析

微控制器的主要功能是負責執行固件框架程序,協助完成 USB的控制傳輸。這一部分可以用單片機或者硬件電路實現,目前常用單片機實現,優點是設計簡單、靈活;缺點是單片機的速度比較慢,遠遠低于硬件電路。

使用硬件電路實現雖然設計復雜而且靈活度不如單片機,但它的優點是:(1)降低協議開銷,從而得到更快的傳輸速度;(2)降低用戶使用開發周期,因為使用硬件電路實現MCU功能,省去了后期固件和驅動程序的開發;(3)不使用單獨的單片機,顯著地降低了成本。

2.2 MCU和固件功能模擬

本設計中Descriptor ROM模塊用于存儲控制傳輸協議中需要用到的各種描述符,模擬枚舉過程中固件的功能。例如18 B的設備描述符定義如下:

Control模塊模擬MCU的行為,根據控制傳輸時主機請求的類型,在Descriptor ROM中選擇相應的描述符返回給主機。為了精簡工作流程,設計中按照“在保證傳輸正確的基礎上盡量減少中斷”的設計原則[3],實現了設備控制器最大限度精簡指令。根據USB2.0規定的標準設備請求的結構,Control模塊的主要工作流程圖3所示。

Control模塊代碼的結構主體是一個三重狀態機。圖3是Control模塊簡化流程示意圖,沒有標出差錯處理機制和其他細節。控制傳輸中,主機發送數據域長度為8 B的請求,當Transaction模塊檢測到Setup類型傳輸時,通知Control模塊,Control模塊檢測識別標準USB請求的8 B數據,進行相應操作(如 SetAddress、GetDesciriptor和 Get-Configuration)。按照主機發送8 B請求的順序,核心處理步驟如下:

(1)檢測 bmRequestType字節,bmRequestType的 D6~5位為00代表USB協議定義的標準請求(bRequest)。(2)檢查bRequest字節,USB支持11類的標準請求,此步驟可以確定請求的描述符類型。(3)檢查wValue域(2 B),低字節表示索引號,用來選擇同一種描述符(例如字符串描述符和配置描述符)中具體某個描述符;高字節表示描述符的類型編號。(4)檢查wIndex域,在獲取字符串描述符時表示字符串的語言ID號。(5)最后檢查wLength,表示數據過程(如果有時)所需要傳輸的字節數。

當 Endpoint(端點)寄存器為“0000”(表示控制端點)且內部 Dscbusy寄存器為‘0’(控制傳輸,但請求的不是描述符)時,選擇發送給主機的數據是代表當前的Device(設備)、Endpoint和 Interface(接口)狀態的數據; 當 Endpoint(端點)寄存器為“0000”(表示控制端點)且 Dscbusy 寄存器為‘1’時,選擇wValue確定的描述符發送給主機;其他情況發送的是來自應用系統(Application)的數據。

2.3 錯誤檢測和處理的改進

USB規范中列出了種類繁多的錯誤的產生及其相應的檢測恢復方法。對于傳統的SIE+MCU系統,傳輸過程中發生的任何錯誤都向外部MCU提出中斷,固件對規范中的錯誤類型應有處理及恢復機制[4]。例如Host發出 IN令牌包接收到數據以后,必須及時地返回握手包,否則超時。超時后,MCU馬上產生中斷并選擇在下一個IN令牌包來時重傳上一次數據。這種處理的缺點是中斷頻繁、效率比較低。本設計中沒有使用MCU,對錯誤的檢測和處理均是在設備控制器內部進行。由于省去了中斷請求與處理的延時,對傳輸過程中發生的錯誤能夠得到高效的處理。例如對上述所提到的錯誤,Serial選擇在下一個IN令牌到來時自動重傳上一次數據,且最多嘗試3次,如果問題依舊存在,作為線路故障處理。這種處理方法能夠充分發揮硬件電路的高速優勢。

3 系統仿真與FPGA驗證

在驗證過程中,利用事務模型建立USB虛擬主機和應用模型完成系統功能仿真,然后綜合代碼、設置引腳、自動布局布線后下載到FPGA內驗證。本文選用Cypress公司的CY7C68000芯片作為前端的收發器(PHY)和Xilinx公司的Spartan-3E(XC3S500E-4PQ208C)芯片制作的 FPGA開發板作為驗證USB設備控制器IP核的平臺。XC3S500E系統門數達50萬,可提供高達340 MHz的內部性能。

枚舉過程屬于控制傳輸,一般分為3個階段,以Get_descriptor為例,過程如下:

(1)建立階段:如圖4所示,USB主機首先發送來一個SETUP令牌包,PID為0x2d,設備地址為0x00,端點0x00(控制端點)。后面緊跟一個DATA0的數據包,PID為0xc3, 后 面 的 數 據 0x80、0x06、0x00、0x01、0x00、0x00、0x12、0x00表示這是一個Get_Descriptor標準設備請求的數據包。其中PHY_TXVALID、PHY_TXREADY、PHY_DATAOUT是符合UTMI定義數據發送接口信號,PHY_RXVALID、PHY_RXACTIVE、PHY_DATAIN 是 符 合UTMI規范的數據接收接口信號。

(2)數據階段:主機發出一個IN包,如圖5所示,PID為0x69,設備收到 IN包后用數據包DATA1(PID為 0x4b)返回自己的設備描述符,與前面定義的18 B設備描述符數據一致。主機收到正確的數據包后返回一個ACK握手包(PID為0xd2),表示接收正確。

(3)狀態階段:主機發出 OUT包,但與數據階段不同,狀態階段所發數據包內容為空。設備成功收到數據包后應答ACK握手包。

本文實現了一種有別于傳統的MCU+SIE方案的USB2.0設備控制器IP核設計。使用硬件電路代替單片機實現MCU和固件功能,顯著地降低了系統硬件規模和實現成本。同時簡化了錯誤檢測和處理的流程,有利于進一步提高USB傳輸速度。FPGA驗證表明,該方案實現的USB2.0設備控制器IP核有效可行,可以進一步完成ASIC設計,使之作為獨立模塊添加到SoC系統中。

[1]USB Implementers Forum,Inc.Universal serial bus specification(Rev 2.0)[EB/OL].(2002-04-xx)[2013-01-24].http://www.usb.org.

[2]陳亮,袁志堅,史大龍,等.內嵌 8051的 USB2.0設備控制器 IP 設計[J].微型機與應用,2012,31(17):28-30.

[3][美]AXELSON J.USB開發大全[M].李鴻鵬,鄭瑞霞,陳香凝,等譯.北京:人民郵電出版社,2011.

[4]黃衛華,朱向東,沈緒榜.一種高速USB設備控制器IP核的設計與實現[J].微電子學與計算機,2005,22(5):106-109.

猜你喜歡
單片機設備設計
諧響應分析在設備減振中的應用
基于單片機的SPWM控制逆變器的設計與實現
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
基于MPU6050簡單控制設備
電子制作(2018年11期)2018-08-04 03:26:08
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
500kV輸變電設備運行維護探討
工業設計(2016年12期)2016-04-16 02:52:00
Microchip推出兩個全新PIC單片機系列
主站蜘蛛池模板: 日本不卡在线播放| 亚洲精品国产自在现线最新| 成人综合在线观看| 欧美精品高清| 国产91视频免费观看| 久久国产精品嫖妓| 日日拍夜夜操| 亚洲一级毛片在线观播放| 国产福利免费在线观看| 国产理论精品| 99在线观看精品视频| 亚洲欧美天堂网| 亚洲国产欧美中日韩成人综合视频| 国产无套粉嫩白浆| 国产理论最新国产精品视频| 色偷偷男人的天堂亚洲av| 人妻夜夜爽天天爽| 国产综合色在线视频播放线视| 欧美精品一区在线看| 亚洲人成网站在线播放2019| 992tv国产人成在线观看| 亚洲天堂自拍| 国产在线无码一区二区三区| 亚洲成a人片在线观看88| 国产精品嫩草影院视频| 亚洲无线一二三四区男男| 久久www视频| 第一页亚洲| 香蕉国产精品视频| 久久精品只有这里有| 精品国产自在在线在线观看| 精品无码日韩国产不卡av | 久久久久88色偷偷| 国产呦精品一区二区三区网站| 日韩欧美网址| 国产精品福利导航| 国产精品乱偷免费视频| 免费看美女毛片| 狠狠色香婷婷久久亚洲精品| 日韩视频精品在线| 一区二区午夜| 少妇精品网站| 午夜激情婷婷| 国产三级国产精品国产普男人| 国产精品久久久久婷婷五月| 成年女人a毛片免费视频| 狠狠亚洲五月天| 精品国产污污免费网站| 欧美不卡在线视频| 美女毛片在线| 超清人妻系列无码专区| 国内自拍久第一页| 99久久人妻精品免费二区| 国产精品露脸视频| 国产一区在线视频观看| 国产精品午夜福利麻豆| 特级aaaaaaaaa毛片免费视频| 久久综合丝袜日本网| 久久伊人操| 欧美成人手机在线观看网址| 日本成人福利视频| 久久亚洲天堂| 啊嗯不日本网站| 精品久久香蕉国产线看观看gif| 亚洲有无码中文网| 亚洲天堂成人在线观看| 欧美高清三区| 91麻豆国产视频| 亚洲毛片一级带毛片基地| 四虎永久免费在线| 丁香婷婷激情综合激情| 一级毛片免费观看久| 国产乱码精品一区二区三区中文 | 亚欧成人无码AV在线播放| 国产精品久久久久鬼色| 亚洲色成人www在线观看| 免费观看无遮挡www的小视频| 欧美另类一区| 亚洲中文精品久久久久久不卡| 精品精品国产高清A毛片| 国产性爱网站| 欧美a级在线|