《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 內嵌8051的USB 2.0設備控制器IP設計
內嵌8051的USB 2.0設備控制器IP設計
來源:微型機與應用2012年第17期
陳 亮,袁志堅,史大龍,黃 魯
(中國科學技術大學 電子科學與技術系 集成電路實驗室,安徽 合肥 230027)
摘要: 基于USB 2.0協議規范提出了一個USB 2.0設備控制器串行接口引擎SIE的IP核的設計,并內嵌8051軟核作為其微控制器進行SoC設計。所設計的SIE核在FPGA開發板上經過驗證。
Abstract:
Key words :

摘  要: 基于USB 2.0協議規范提出了一個USB 2.0設備控制器串行接口引擎SIE的IP核的設計,并內嵌8051軟核作為其微控制器進行SoC設計。所設計的SIE核在FPGA開發板上經過驗證。
關鍵詞: 串行接口引擎;通用串行總線;片上系統;微控制器

 憑借著每年超過20億新單元的安裝速度,通用串行總線USB(Universal Serial Bus)如今已成為最為流行的計算機接口。只要與計算機打交道,人們的日常生活已經離不開USB端口,通過它們人們可與鼠標、鍵盤、掃描儀、數碼相機、手機和平板電腦等人們想象的到的設備相連接。USB憑借可靠、高速、方便和省電的優點,已經廣泛得到主要的操作系統的支持。
 目前大多數的USB設計都是進行系統集成,采用現成商用的USB芯片進行開發,并沒有涉及到對IP核的設計與開發。本文通過分析USB 2.0協議,使用Verilog HDL 硬件描述語言設計實現了一個USB 2.0設備控制器串行接口引擎SIE(Serial Interface Engine)核,選取MC8051軟核作為其微控制器,并通過Wishbone片上總線進行連接。
1 USB 2.0設備控制器系統設計
1.1 系統設計

 根據USB 2.0設備控制器所要實現的功能,本系統采用自頂向下(Top-to-Down)的設計結構,將設備控制器劃分為7個主要功能模塊:物理層收發器(USB PHY)、UTMI接口、協議層PL(Protocol Layer)、RAM緩沖區、存儲器接口和仲裁器、控制和狀態寄存器及功能總線接口。
 USB 2.0 IP核結構框圖如圖1所示。SIE部分的SSRAM、功能總線接口、PHY模塊為可更改的,通過對相應模塊的更改可使本IP滿足不同應用的需求。最下面接口用于連接微控制器)。

 由于USB 2.0串行總線上最高速率高達480 MHz,遠高于Standard Cell電路的處理能力,因此需要全定制的Transceiver來進行數據恢復。PHY的主要作用是將接收來的差分信號進行NAZI編碼和位填充[2]。
1.2 各模塊具體實現
 UTMI接口是與PHY相連接的接口模塊,它并不對輸入和輸出的數據進行處理,主要用于控制總線掛起/恢復模式和全速/高速模式的切換。
 協議層PL是USB設備控制器中最核心的模塊,它負責所有的USB數據I/O和通信的控制,其中包括DMA和內存接口、協議引擎PE(Protocol Engine)、組包PA(Packet Assembly)和解包PD(packet Disassembly)幾個子模塊。PL內部框架如圖2所示。

 PA和PD模塊分別是對USB包進行裝配和拆分。DMA和內存接口是PE模塊到內存的接口,它提供了直接的內存訪問(Direct Memory Access)和DMA塊傳輸。協議引擎PE是PL中的核心模塊,PE處理所有標準USB協議握手和控制通信,包括SOF標記、應答(ACK、NACK和NYET)以及對PING標記的回答。PE模塊將端點控制狀態寄存器(CSR)的值解碼成內部控制信號線,將端點緩沖區(Buffer)寄存器EP_BUF的值解碼成Buffer的大小和指針。圖3描述了PE核心的基本操作。USB設備總是等待一個來自USB總線主機的標記包,才開始執行其他的操作。一旦接收到標記包,解包模塊將對其解碼,PE執行合適的操作。USB主循環根據標記包的不同將操作分為特殊包處理、Setup循環、IN數據循環和OUT數據循環。
 存儲器接口和仲裁器實際上就是一個2選1的選擇器,選擇SRAM與Wishbone總線(及連接微控制器)還是SRAM與PL層的DMA內存接口連接。

2 微控制器模塊
2.1 MC8051主要特性

 在USB的通信過程中,微控制器主要用來處理各種中斷,識別主機發送的是何種請求,返回相應的數據,從而完成設備的枚舉和之后的數據傳輸。本設計采用了MC8051的IP軟核,該IP滿足USB對微控制器功能的要求。通過修改MC8051中的固件(Firmware)來對SIE的寄存器進行配置,以實現USB 2.0設備控制器不同的功能。
2.2 8051與USB 2.0 IP核的連接
 由于SIE與MC8051使用不同的時鐘域(SIE使用PHY提供的60 MHz時鐘,而MC8051使用自身的時鐘),并且MC8051是個通用的IP核,其接口并沒有采用本USB 2.0 IP核的Wishbone兼容接口,而且MC8051是個8 bit的通用MCU(處理數據寬度是8 bit),因此MC8051和本USB 2.0 IP核不能直接相連。
 本文設計了一個與Wishbone總線兼容的接口轉換模塊,以使MC8051能正確地連接在Wishbone總線上,完成與SIE的數據傳輸。轉換模塊主要實現了跨時鐘域的數據傳輸、數據位數轉換(8 bit到32 bit和32 bit到8 bit)以及Wishbone總線兼容信號的加入。實際上完成了一個異步FIFO的功能,但比FIFO使用起來更加靈活,因為8051執行每條指令會有一定的指令延時,如果使用FIFO,很難保證SIE可以正確的接收到數據。跨時鐘域的數據傳輸主要體現在SIE和微控制器之間,SIE主要使用PHY提供的60 MHz的時鐘,而微控制器MC8051的工作頻率不超過40 MHz。為了防止跨時鐘域的數據傳輸容易產生的亞穩態,在接口轉換模塊里采用了“超前送數”的策略,即MCU讀寫命令在有效信號到達之前把數據放入三態數據端口寄存,讀寫信號到達之后進行數據傳輸。
 微控制器與SIE之間的數據交換可以分為寫入地址與數據和寫地址并讀數據兩種方式,分別對應著USB固件中兩種最基本的命令函數。連接轉換模塊通過狀態機來進行控制,接收到數據后隨即進行數據和地址的轉換,并將轉換好的數據和地址存入寄存器中。轉換完成后進入WE狀態,進行判斷。如進行寫入地址與數據則進入到WE_AD狀態,該狀態會將Wishbone總線的控制位CYC、STB和WE置高同時輸出轉換好的地址與數據;寫地址并讀數據則進入WE_A,該狀態將控制位CYC與STB置高,WE為低表示讀過程,同時輸入要讀數據的地址,WE_A過后就進入RE_DATA讀取數據并輸出。
 數據位數轉換的原理實際上很簡單,采用標志位對其進行區分,如圖4所示。其中,WE是寫入信號,低電平有效;flag為2 bit的標志位;done是轉換完成信號;datain和dataout分別是8 bit輸入信號和轉換好的32 bit輸出信號。8 bit轉32 bit的過程為:在flag為00、01、10、11每段分別向datain中寫入1個8 bit數據,最先寫入的為低8 bit,然后是次8 bit,依次寫完。等到done信號置高后,再按照Wishbone總線數據的操作方式進行傳輸。32 bit數據轉8 bit與該過程相反。

 該連接模塊已成功通過FPGA驗證,能夠正確轉換與傳輸數據。
3 系統驗證
3.1 FPGA驗證環境搭建

 本文選用Xilinx公司的Virtex-II Pro FPGA開發板作為驗證USB 2.0 SIE核的平臺。選用Cypress公司的CY7C68000芯片作為前端的收發器(PHY),將USB總線上480 MHz的串行數據流轉換成8 bit 60 MHz的并行數據。系統測試平臺架構如圖5所示。

 

 

 CY7C68000與FPGA開發板之間采用100腳Hirose FX2擴展插槽相連接,該接口有LVCMOS25的HS_CLKIN高速時鐘輸入的接口來作為收發器PHY_CLK 60 MHz時鐘的引入。緩沖區使用ISE軟件自帶的RAM IP核。本設計使用ISE 10.1.03對USB SIE模塊綜合后的FPGA資源使用情況為:Slices數為1 718個,Slice Flip Flops數為1 801個,4輸入LUT數為2 885,最大時鐘頻率為127.583 MHz,滿足了USB 2.0設備控制器工作所需的60 MHz時鐘要求。
3.2 結果和分析
 將程序下載到FPGA實驗板上后,將收發器CY7C68000連到主機,主機馬上會出現一個“檢測到新硬件”的消息。這表示設備枚舉過程的完成,枚舉就是從設備讀取一些信息,了解是什么樣的設備,如何進行通信,這樣主機就可以根據這些信息來加載合適的驅動程序。枚舉過程屬于控制傳輸,一般分為3個階段,具體過程如下。
?。?)建立階段。建立階段如圖6所示,USB主機首先發送來一個SETUP令牌包,PID為0x2d,設備地址為0x00,端點0x10(控制端點)。后面緊跟一個數據包,PID為0xc3是DATA0的數據包,后面的數據0x80 0x06 0x00 0x01 0x00 0x00 0x40 0x00表示這是一個Get_Descriptor標準設備請求的數據包。USB設備收到并檢測無誤之后會返回一個ACK(PID為0xd2)握手包告訴主機已收到數據。
?。?)數據階段。主機會發出一個IN包,如圖7所示,PID為0x69,設備收到IN包后用數據包DATA1(PID為0x4b)返回它自己的設備描述符,描述符里有該設備自身特性的信息。主機收到數據包后會返回一個ACK握手包(PID為0xd2),表示數據接收正確。

?。?)狀態階段。主機會發出OUT包,但與數據階段不同,狀態階段所發數據包內容為空。設備收到數據包后返回一下ACK握手包表示枚舉過程的結束。
 本文提出的USB 2.0設備控制器IP的架構具有強的實用性和復用性。它既可以作為單獨的設備芯片使用,也可與其他IP一起進行SoC設計,只需在片上總線上添加相應的模塊。單獨設計的接口轉換模塊成功完成內嵌8051微控制器核的設計,也可以利用該模塊外接一個51系列微控制器,具有很強的靈活性。在操作系統上添加相應的驅動程序即可進行數據傳輸的實驗。
參考文獻
[1] Universal serial bus specification(Rev 2.0)[S]. www.usb.org, 2002.4.
[2] USB 2.0 transceriver macrocell interface(UTMI) Specification (Version 1.05)[S].2001.3.
[3] 周立功.USB 2.0與OTG規范及開發指南[M].北京:北京航空航天大學出版社,2004.
[4] AXELSON J.USB開發大全[M].北京:人民郵電出版社,2011.

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          亚洲视频一二三| 欧美aaaaaaaa牛牛影院| 欧美亚洲系列| 欧美电影免费观看| 久久久www成人免费无遮挡大片| 夜夜嗨av色一区二区不卡| 国产精品网曝门| 国产精品videosex极品| 国产欧美亚洲视频| 亚洲性夜色噜噜噜7777| 欧美三级欧美一级| 久久精品视频导航| 夜夜嗨一区二区| 亚洲第一天堂无码专区| 一区二区电影免费观看| 欧美日韩综合在线| 国产精品高潮呻吟| 欧美激情一区在线| 欧美精品在线视频观看| 99视频在线观看一区三区| 欧美专区一区二区三区| 亚洲国产精品久久久久秋霞不卡| 欧美国产日韩一区二区三区| 国产色爱av资源综合区| 国产欧美日韩综合精品二区| 99综合电影在线视频| 欧美一区1区三区3区公司| 国产亚洲人成网站在线观看| 欧美国产一区视频在线观看| 欧美一级久久久久久久大片| 欧美在线免费观看| 午夜在线电影亚洲一区| 久久美女艺术照精彩视频福利播放| 欧美日韩三区| 国产精品入口日韩视频大尺度| 国产精品久久久久久久久久免费| 国产亚洲一区在线播放| 欧美mv日韩mv国产网站app| 国产美女精品一区二区三区| 9色精品在线| 欧美亚洲视频一区二区| 一本色道久久加勒比精品| 亚洲黄色在线看| 国产一区二区中文字幕免费看| 国产在线欧美日韩| 国产日韩一区二区| 午夜一区在线| 亚洲日本一区二区三区| 亚洲高清资源| 欧美在线免费一级片| 91久久久国产精品| 一区二区三区高清不卡| 久久综合久久久| 狠狠操狠狠色综合网| 久久人人97超碰人人澡爱香蕉| 99国产精品国产精品久久| 黄色成人av在线| 欧美在线免费视频| 午夜伦理片一区| 美国十次成人| 欧美好吊妞视频| 午夜国产精品影院在线观看| 亚洲成人中文| 影音先锋久久久| 久久亚洲色图| 香蕉久久精品日日躁夜夜躁| 欧美激情第一页xxx| 欧美日本乱大交xxxxx| 小黄鸭精品aⅴ导航网站入口| 久热国产精品| 夜夜嗨av一区二区三区四季av| 亚洲婷婷国产精品电影人久久| 国产精品一区在线观看| 日韩一区二区免费高清| 欧美福利视频| 欧美激情性爽国产精品17p| 免费观看一区| 国产精品自拍网站| 在线成人免费观看| 国产一区二区中文| 国产一区二区成人久久免费影院| 香蕉久久久久久久av网站| 亚洲国产综合在线看不卡| 欧美美女bbbb| 久热国产精品视频| 欧美三级午夜理伦三级中文幕| 亚洲精品在线观| 在线观看中文字幕亚洲| 欧美日韩在线播放| 国产亚洲精品bv在线观看| 久久天堂成人| 欧美日韩mv| 国产精品高清免费在线观看| 国产一区导航| 亚洲美女av电影| 亚洲美女视频在线免费观看| 国产欧美精品va在线观看| 久久精品夜色噜噜亚洲aⅴ| 久久久久久一区二区| 欧美日韩免费观看一区=区三区| 国产午夜精品视频免费不卡69堂| 男女精品视频| 欧美刺激性大交免费视频| 国产精品久久久久久久午夜| 久久久精品午夜少妇| 亚洲人成在线播放| 国产精品视频第一区| 亚洲黄色免费网站| 欧美成人乱码一区二区三区| 日韩视频在线观看免费| 性色av一区二区三区红粉影视| 欧美日韩一二区| 蜜月aⅴ免费一区二区三区| 午夜精品一区二区在线观看| 狠狠色噜噜狠狠狠狠色吗综合| 欧美成人免费观看| 欧美色综合网| 国产性天天综合网| 一本色道久久88综合亚洲精品ⅰ| 亚洲午夜国产一区99re久久| 一区在线视频观看| 在线天堂一区av电影| 欧美一级淫片aaaaaaa视频| 日韩视频―中文字幕| 国产嫩草一区二区三区在线观看| 亚洲图片欧美一区| 亚洲精品免费在线| 国产精品久久久久久久午夜| 99视频国产精品免费观看| 在线成人激情视频| 亚洲在线第一页| 亚洲女人天堂av| 狠狠色综合网站久久久久久久| 一本色道久久88亚洲综合88| 麻豆精品一区二区av白丝在线| 韩日精品中文字幕| 亚洲日韩第九十九页| 亚洲精品一区二区三区在线观看| 亚洲一区二区三区三| 欧美在线播放一区| 亚洲成色最大综合在线| 国产中文一区二区三区| 欧美日韩性视频在线| 羞羞答答国产精品www一本| 久久久噜噜噜| 久久精品亚洲一区二区三区浴池| 久久精品午夜| 亚洲永久精品大片| 欧美国产日本韩| 国产精品亚洲综合| 国产午夜久久久久| 一区二区三区四区国产精品| 国产亚洲欧美日韩精品| 亚洲校园激情| 99精品久久| 国产精品久久久久久久久免费桃花| 影音先锋久久资源网| 欧美日韩视频不卡| 国产片一区二区| 亚洲国产精品一区二区第一页| 久久亚洲春色中文字幕| 国产一区二区三区在线免费观看| 在线免费观看日本欧美| 久久婷婷国产麻豆91天堂| 欧美日韩在线播放三区四区| 国产亚洲午夜| 国产亚洲精品久久飘花| 欧美怡红院视频一区二区三区| 亚洲人成亚洲人成在线观看| 欧美一二区视频| 欧美性jizz18性欧美| 亚洲国产三级网| 国产精品青草久久久久福利99| 亚洲精品欧洲精品| 国产日韩一区欧美| 制服丝袜激情欧洲亚洲| 亚洲精品在线观看视频| 久久先锋影音| 国产精品国色综合久久| 久久精品导航| 久久精品中文字幕一区二区三区| 亚洲一区二区三区中文字幕| 韩国成人精品a∨在线观看| 欧美久久99| 激情成人中文字幕| 久久久精品五月天| 国产精品a久久久久| 亚洲欧美自拍偷拍| 欧美精品免费观看二区| 9l视频自拍蝌蚪9l视频成人| 国产精品有限公司| 久久久噜噜噜久久中文字免| 一区二区三区三区在线| 国产视频欧美| 亚洲一区免费视频| 欧美777四色影视在线| 狠狠久久综合婷婷不卡| 亚洲国产精品久久精品怡红院| 亚洲高清av| 影音先锋日韩精品| 欧美国产第二页| 亚洲免费网址| 在线观看欧美日韩国产| 久久久青草青青国产亚洲免观| 99在线精品视频在线观看| 久久久另类综合| 欧美精品不卡| 日韩一区二区精品在线观看| 韩日欧美一区二区三区| 在线观看亚洲一区| 中文亚洲欧美| 午夜在线一区| 欧美1区2区视频| 欧美日本韩国一区二区三区| 久久久精品免费视频| 亚洲天堂av电影| 欧美视频日韩视频在线观看| 亚洲视频精选在线| 亚洲影院一区| 亚洲欧美国内爽妇网| 国产日韩欧美亚洲一区| 国产精品试看| 欧美精品一区二区三区蜜桃| 久久久人成影片一区二区三区| 欧美一区亚洲一区| 欧美人与性禽动交情品| 国产一区二区无遮挡| 欧美日韩视频| 在线看视频不卡| 欧美成人午夜激情在线| 美女主播视频一区| 欧美激情一区二区三级高清视频| 欧美深夜福利| 国产欧美一区二区三区沐欲| 久久综合网hezyo| 亚洲欧洲视频| 国一区二区在线观看| 亚洲欧美中文日韩v在线观看| 欧美日韩高清免费| 国产九九视频一区二区三区| 一区二区精品| 亚洲经典三级| 久久视频国产精品免费视频在线| 欧美成人国产va精品日本一级| 久久免费午夜影院| 羞羞色国产精品| 欧美人与性动交a欧美精品| 激情六月婷婷综合| 欧美区二区三区| 狠狠网亚洲精品| 国产精品久久久久久久久久尿| 欧美fxxxxxx另类| 伊人久久成人| 亚洲黄页视频免费观看| 国产精品入口尤物| 亚洲人体影院| 亚洲美女中文字幕| 国产精品久久久久久福利一牛影视| 国产精品视频免费在线观看| 久久成人精品无人区| 久久九九热免费视频| 国产一区二区在线观看免费| 欧美乱人伦中文字幕在线| 国产精品激情av在线播放| 99国产精品国产精品久久| 激情欧美日韩| 久久国内精品自在自线400部| 国产精品免费一区豆花| 国产日产亚洲精品| 国产精品视频精品视频| 国产精品久久久久久亚洲调教| 国产一区二区| 亚洲午夜精品| 欧美一乱一性一交一视频| 亚洲人成在线观看网站高清| 国产在线精品一区二区夜色| 亚洲一区在线观看视频| 91久久精品国产91久久性色| 最近中文字幕mv在线一区二区三区四区| 欧美日本一道本在线视频| 欧美在线观看一区二区三区| 欧美性猛交99久久久久99按摩| 欧美在线播放一区二区| 国产精品福利网| 欧美综合第一页| 六月婷婷久久| 好吊妞这里只有精品| 亚洲精品婷婷| 国产精品福利片| 国产精品网红福利| 国内精品久久久久久久97牛牛| 久久久久青草大香线综合精品| 欧美激情一区二区三区高清视频| 久久只精品国产| 国产亚洲人成网站在线观看| 欧美在线播放一区| 欧美视频中文一区二区三区在线观看| 国产在线精品二区| 国产精品五月天| 久久久青草青青国产亚洲免观| 国语对白精品一区二区| 国产精品亚洲视频| 欧美一级在线播放| 国产婷婷97碰碰久久人人蜜臀| 老妇喷水一区二区三区| 国产精品久久久久久久久婷婷| 欧美成人自拍视频| 亚洲高清久久| 欧美国产精品va在线观看| 国产欧美一区二区三区在线老狼| 国产日韩欧美综合| 日韩视频免费看| 亚洲欧美视频在线观看| 国产精品日韩二区| 亚洲国产精品成人| 欧美黄色大片网站| 欧美日韩精品一区二区三区| 韩国一区二区三区美女美女秀| 国产精品任我爽爆在线播放| 欧美凹凸一区二区三区视频| 欧美chengren| 国产在线欧美| 久久免费黄色| 欧美乱大交xxxxx| 亚洲欧美激情精品一区二区| 国产伦精品免费视频| 国产精品久久久久毛片大屁完整版| 欧美日韩视频一区二区三区|