亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        AXI4總線的USB2.0設備控制器IP核設計*

        2017-02-09 03:12:21韓進秦宏超劉鍇
        關(guān)鍵詞:令牌事務總線

        韓進,秦宏超,劉鍇

        (1.山東科技大學 信息科學與工程學院,青島 266590; 2.山東高云半導體科技有限公司)

        ?

        AXI4總線的USB2.0設備控制器IP核設計*

        韓進1,秦宏超1,劉鍇2

        (1.山東科技大學 信息科學與工程學院,青島 266590; 2.山東高云半導體科技有限公司)

        本設計依托星核計劃——山東國產(chǎn)IP軟核平臺,基于最新片上總線AMBA4.0協(xié)議,使用VerilogHDL語言完成了主要由AXI4總線接口、ULPI模式控制、封包、解包和協(xié)議處理等模塊組成的USB2.0設備控制器的IP核設計,通過綜合驗證證明了設計的正確性,并有效降低了FPGA邏輯資源占用率。可以根據(jù)實際應用要求將設計的USB2.0控制器 IP核直接移植到FPGA內(nèi)部,實現(xiàn)USB數(shù)據(jù)傳輸協(xié)議,省去了USB協(xié)議芯片,節(jié)省了產(chǎn)品開發(fā)成本,并且有效縮短了產(chǎn)品設計周期。

        USB2.0;IP核;AXI4總線;VerilogHDL

        引 言

        Philips、Cypress等公司推出的各類USB芯片得到了廣泛應用,但國內(nèi)并沒有廠商推出相關(guān)產(chǎn)品,特別是兼容USB2.0協(xié)議的接口芯片,幾乎完全依賴國外產(chǎn)品[1-2]。目前國內(nèi)對USB的相關(guān)研究更多的是利用國外的控制芯片進行產(chǎn)品開發(fā),因此設計擁有自主知識產(chǎn)權(quán)的USB2.0 IP核顯得尤為重要。本設計依托星核計劃——山東國產(chǎn)IP軟核平臺,基于最新片上總線AMBA4.0協(xié)議,使用VerilogHDL硬件描述語言完成了USB2.0設備控制器的IP核設計及驗證。

        1 整體系統(tǒng)設計

        圖1是AXI4USB2.0設備控制器的整體架構(gòu)圖。該IP主要有寄存器管理模塊、AXI總線接口模塊、工作模式控制模塊、數(shù)據(jù)包處理模塊、協(xié)議處理模塊和端點緩沖區(qū)模塊組成。設計采用外接符合ULPI協(xié)議的PHY芯片。寄存器管理模塊定義了USB設備控制器IP所需要的所有寄存器,用于管理整個IP的各種功能;AXI4總線接口模塊實現(xiàn)IP與AXI4-Lite、AXI4-Stream總線的接口;基于ULPI的工作模式控制模塊主要是檢測USB總線狀態(tài),根據(jù)USB總線狀態(tài)來控制整個IP核的工作狀態(tài);數(shù)據(jù)包處理模塊和外接的PHY相連,用于實現(xiàn)USB物理層;協(xié)議處理模塊主要功能是處理各種不同的傳輸事務,用于實現(xiàn)USB協(xié)議層;端點緩沖區(qū)模塊主要用于緩存協(xié)議處理模塊和AXI4總線之間需要交互的所有數(shù)據(jù)。

        圖1 整體架構(gòu)

        2 模塊設計

        2.1 AXI4總線接口模塊

        AXI4總線接口模塊實現(xiàn)IP與AXI4-Lite、AXI4-Stream總線的接口,AXI4-Lite接口主要用于實現(xiàn)AXI4總線主設備對USB設備控制器寄存器的讀寫,AXI4-Stream接口用于AXI4主機完成對USB數(shù)據(jù)緩沖區(qū)的讀寫[3]。表1是AXI4-Stream I2C主機總線的端口信號及描述。

        表1 AXI4-Stream I2C主機總線端口信號描述

        AXI4-Lite總線的信號可以參考ARM公司的相關(guān)標準。

        AXI4 Streamslave 接口具體實現(xiàn)如下:

        assignaxis_wr_en=S_AXIS_TVALID;

        always@(posedge S_AXI_ACLK)

        if(!S_AXI_ARESETN)

        axis_wr_addr<=13'b0; //復位清空寫地址信號

        else if(!S_AXIS_TVALID)

        axis_wr_addr[12:0] <=axis_s_addr[12:0];

        else

        axis_wr_addr<=axis_wr_addr + 1'b1;

        //數(shù)據(jù)有效寫入下一個數(shù)據(jù)地址

        assign axis_wr_data=S_AXIS_TDATA;

        //總線寫入主機讀數(shù)據(jù)

        AXI4 Stream Master接口具體實現(xiàn):

        regaxis_m_en_reg;

        wireaxis_m_en_ris_edge;

        always@(posedge S_AXI_ACLK)

        if(!S_AXI_ARESETN)

        axis_m_en_reg<=0;

        else

        axis_m_en_reg<=axis_m_en;

        assignaxis_m_en_ris_edge = axis_m_en& (!axis_m_en_reg);

        always@(posedge S_AXI_ACLK)

        if(!S_AXI_ARESETN)

        axis_rd_addr<=13'b0;

        else if(!axis_rd_en)

        axis_rd_addr[12:0] <=axis_m_addr[12:0];

        else

        axis_rd_addr<=axis_m_addr + 1'b1;

        always@(posedge S_AXI_ACLK)

        if(!S_AXI_ARESETN)

        axis_rd_en<=1'b0;

        else if(axis_m_en_ris_edge)

        axis_rd_en<=1'b1; //上升沿總線讀數(shù)據(jù)使能

        else if(axis_m_sendov)

        axis_rd_en<=1'b0;

        always@(posedge S_AXI_ACLK)

        if(!S_AXI_ARESETN)

        data_send_count<=11'b0;

        else if(axis_rd_en)

        data_send_count<=data_send_count+1'b1;

        //數(shù)據(jù)有效主機發(fā)送數(shù)據(jù)量加1

        else

        data_send_count<=11'b0;

        assignaxis_m_sendov=(data_count==data_send_count) ? 1:0;

        assign M_AXIS_TDATA=axis_rd_data;

        assign M_AXIS_TVALID=axis_rd_en;

        2.2 ULPI模式控制模塊

        基于ULPI的模式控制模塊主要是檢測USB總線狀態(tài),根據(jù)USB總線狀態(tài)來控制整個IP核的工作狀態(tài),完成復位檢測、設備掛起與恢復、高速握手等工作。模式控制模塊有PHY_CLK和S_AXI_ACLK這兩個時鐘,其中非掛起狀態(tài)檢測RX_CMD的電路工作在PHY_CLK,其他電路基本都工作在來自AXI4總線的系統(tǒng)時鐘域。模式控制模塊采用狀態(tài)機設計,如圖2所示。

        圖2 模式控制模塊狀態(tài)圖

        圖2中部分狀態(tài)和跳轉(zhuǎn)沒有畫出。除了與掛起相關(guān)的狀態(tài),其他狀態(tài)只要是vbus無效(設備與HOST斷開連接),狀態(tài)機都會回到IDLE狀態(tài)。

        2.3 協(xié)議處理模塊

        協(xié)議處理模塊作用是完成USB2.0協(xié)議規(guī)定的各項功能,處理SETUP、IN、OUT等各項事務。USB2.0協(xié)議中定義了4種數(shù)據(jù)傳輸類型:控制傳輸(Control Transfer)、批量傳輸(Bulk Transfer)、中斷傳輸(Interrupt Transfer)以及同步傳輸(Isochronous Transfer)。USB各種傳輸過程如表2所列。

        表2 USB傳輸過程

        2.3.1 USB控制傳輸

        控制傳輸由2~3個階段組成,分別是建立階段、數(shù)據(jù)階段(可能沒有)和狀態(tài)階段,每個階段都由一次或多次事務傳輸組成[4]。

        (1) 建立階段

        主機從USB設備獲取配置信息,并設置設備的配置值。建立階段的數(shù)據(jù)交換包括了SETUP令牌包、緊隨其后的DATA0數(shù)據(jù)包以及ACK握手包。它的作用是執(zhí)行一個設置的數(shù)據(jù)交互,并定義控制傳輸?shù)膬?nèi)容(即在數(shù)據(jù)階段中IN或OUT的data包個數(shù)及發(fā)送方向,在建立階段已經(jīng)被設定)。如果建立階段發(fā)送CRC錯誤,USB設備控制器不會有任何回應,如果正確接收到SETUP令牌包和8字節(jié)的DATA0數(shù)據(jù)包,USB設備控制器回應ACK,并且使能接收完成狀態(tài)標志。

        (2) 數(shù)據(jù)階段

        控制傳輸數(shù)據(jù)階段包括控制讀取(IN事務)和控制寫入(OUT事務),控制讀取是用于讀取USB設備描述符,控制寫入是用于傳輸USB設備的配置信息。控制讀取和控制寫入過程如圖3所示。

        圖3 控制讀取和控制寫入過程

        (3) 狀態(tài)階段

        用來表示整個傳輸過程已經(jīng)結(jié)束。狀態(tài)階段傳輸方向與數(shù)據(jù)階段方向相反,即數(shù)據(jù)階段是IN令牌包,狀態(tài)階段應為OUT令牌包;反之,數(shù)據(jù)階段是OUT令牌包,狀態(tài)階段為IN令牌包。

        控制傳輸事務處理流程比較復雜,采用了三段式狀態(tài)機的方式進行設計,如圖4所示。

        圖4 控制傳輸狀態(tài)圖

        2.3.2 USB IN事務處理

        USB的IN事務處理模塊主要完成USB中批量、中斷和同步傳輸?shù)腎N事務的處理,在主機給出IN令牌后,該模塊發(fā)出向主機發(fā)送數(shù)據(jù)的指令信號。該模塊會首先檢測當前的端點、緩存是否可用,若端點掛起,發(fā)STALL;若緩存不可用,發(fā)NACK。該模塊由狀態(tài)機實現(xiàn),流程如圖5所示。

        圖5 IN事務處理流程圖圖

        2.3.3 USB OUT事務處理

        OUT事務處理狀態(tài)機比較簡單,圖6是批量傳輸和中斷傳輸OUT事務處理流程。圖中NYET流程只有在批量傳輸中出現(xiàn),中斷傳輸中設備不會回應NYET。

        圖6 批量傳輸和中斷傳輸OUT事務處理流程圖

        3 驗證綜合結(jié)果

        3.1 VCS驗證

        由于USB2.0事務較多,協(xié)議比較復雜,采用純信號的方式加入激勵信號驗證功能操作起來會非常復雜,實現(xiàn)比較困難。因此,為了提高驗證效率,采用基于事務的角度加入激勵。具體操作為在測試激勵和待驗證的USB2.0控制器之間加入附加層,使信號激勵的加入轉(zhuǎn)變?yōu)槭聞占畹募尤?,從而在測試時只需按不同事務的加入來驗證控制器的功能。

        以IN事務傳輸仿真驗證為例,本設計使用Synopsys

        公司的VCS仿真軟件進行仿真驗證。仿真如圖7所示。圖中給出的是端點1執(zhí)行IN事務傳輸,當時鐘上升沿dir置1開始由USB設備向主機發(fā)送數(shù)據(jù),通過8位數(shù)據(jù)輸出信號data_out[7:0]可以看出,首先完成握手發(fā)送握手包1f,之后傳輸令牌包,8’h69為IN 事務PID高4位,是第4位的取反,8’hd5和8’hd8包含的16位數(shù)據(jù)為7位ADDR、4位ENDP以及5位CRC5,由此可以知道ADDR為1010101B,ENDP為0001B即端點1執(zhí)行IN事務傳輸。令牌包之后會接著發(fā)送一個1f握手包,之后發(fā)送數(shù)據(jù)(1a、2b、3c…為自定義的傳輸數(shù)據(jù))。

        圖7 IN事務傳輸仿真

        圖8所示為編寫testbench對各模塊代碼進行測試的結(jié)果,代碼覆蓋率超過90%,IP核邏輯正確。

        圖8 各模塊代碼覆蓋率

        3.2 Synplify Pro綜合

        通過綜合工具Synplify Pro對IP核進行綜合驗證,綜合驗證結(jié)果如圖9所示。

        使用不同的器件、密度、速度和等級時,AXI4-LiteI2C主機總線IP的性能和資源利用情況可能不同。IP設計時,適配采用默認設置。AXI4USB2.0設備控制器IP核可以應用于高云的GW2A55系列FPGA。性能和資源利用情況如表3所列。整個IP核占用資源只有2100 LUTs,具有170個I/O接口,最高速率可達120 MHz。

        表3 性能和資源利用表

        結(jié) 語

        [1] Philips Semiconductors. ISP1501 Hi-Speed Universal Serial Bus peripheral transceiver Rev.2[S].2002.

        [2] Cypress Semiconductor Corporation. CY7C68000 USB2.0 UTMI Transceiver Datasheet[S].2003.

        [3] ARM Corporation. AMBA4.0規(guī)范優(yōu)化性能與功耗[J].微電腦世界, 2010(4): 6.

        [4] 劉清明.USB2.0設備控制器IP核設計與驗證[D].合肥: 中國科學技術(shù)大學, 2014.

        USB2.0 Device Controller IP Core Based on AXI4 Bus

        Han Jin1,Qin Hongchao1,Liu Kai2

        (1.College of Information Science and Engineering,Shandong University of Science and Technology,Qingdao 266590,China;2.Shandong Gowin Semiconductor Technology Co.,Ltd.)

        The design relies on the star nuclear program-Shandong domestic IP soft core platform.Based on the lastest on-chip bus AMBA4.0 protocol,the design of USB2.0 device controller IP core is completed using Verilog hardware description language,which includes the AXI4 bus interface module,the ULPI mode control module,the packet and unpacked module,the protocol processing module.The experiment results prove the correctness of the design,and it effectively reduces the logic resource utilization of FPGA. According to the actual application requirements, the designed USB2.0 controller IP core will be directly plant into the FPGA internal.It implementates the protocol of USB data transmission without the USB protocol chip.The design saves the product development cost and shorts the product design cycle effectively.

        USB2.0;IP core;AXI4 bus;Verilog HDL

        國家自然科學基金資助(項目編號:41572244);山東省自然科學基金(項目編號:ZR2015DM013)資助。

        TP336

        A

        ?迪娜

        2016-08-08)

        猜你喜歡
        令牌事務總線
        “事物”與“事務”
        基于分布式事務的門架數(shù)據(jù)處理系統(tǒng)設計與實現(xiàn)
        稱金塊
        河湖事務
        基于路由和QoS令牌桶的集中式限速網(wǎng)關(guān)
        基于PCI Express總線的xHC與FPGA的直接通信
        機載飛控1553B總線轉(zhuǎn)以太網(wǎng)總線設計
        動態(tài)令牌分配的TCSN多級令牌桶流量監(jiān)管算法
        計算機工程(2018年8期)2018-08-17 00:26:54
        多通道ARINC429總線檢查儀
        基于EtherCAT總線的ROV控制系統(tǒng)設計
        河南科技(2014年16期)2014-02-27 14:13:22
        男人的天堂av一二三区| 亚洲色无码国产精品网站可下载| 亚洲色无码播放| 久久亚洲第一视频黄色| 日韩亚洲国产中文字幕| 天天干天天日夜夜操| 男人添女人下部高潮全视频| 中文字幕+乱码+中文字幕一区| 国产又爽又黄的激情精品视频| 色偷偷av一区二区三区人妖| 亚洲一区二区三区偷拍厕所| 国产一区内射最近更新| 亚洲av之男人的天堂| 午夜天堂精品一区二区| 亚洲自拍偷拍色图综合| 特级a欧美做爰片第一次| 亚洲黄色一级毛片| 亚洲中文字幕熟女五十| 黄片视频免费观看蜜桃| 四虎影视免费观看高清视频| 国产91吞精一区二区三区| 日本成年少妇人妻中文字幕| 老鸭窝视频在线观看| 一本一道av无码中文字幕| 亚洲一区区| 精品久久人妻av中文字幕| 国产免费一区二区三区免费视频| 亚洲精品无码不卡在线播放he| 国产爆乳无码一区二区在线| 国产av精品一区二区三区不卡| 亚洲a∨无码精品色午夜| 亚洲av无码男人的天堂在线| 亚洲日本国产乱码va在线观看| 久久久精品国产免费看| 国产亚洲日韩在线一区二区三区| 午夜tv视频免费国产区4| 成年女人18毛片观看| 国产aⅴ无码专区亚洲av| 国产激情з∠视频一区二区| 久久久婷婷综合亚洲av| 国产精品亚洲av无人区一区香蕉|