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

        ?

        基于FPGA的USB設(shè)備控制器設(shè)計

        2008-04-12 00:00:00付華杰劉麗君張遂南陳艷寧
        現(xiàn)代電子技術(shù) 2008年24期

        摘 要:嵌入式系統(tǒng)向小型化和低功耗的方向發(fā)展要求減小板級設(shè)計的面積提高速率。基于嵌入式系統(tǒng)日益增長的規(guī)模和性能以及高速USB協(xié)議的要求,對USB設(shè)備控制器的系統(tǒng)進(jìn)行相關(guān)模塊的劃分并利用Verilog硬件描述語言設(shè)計出高速USB接口IP核。經(jīng)過仿真驗證,該IP核符合高速USB協(xié)議的要求,滿足系統(tǒng)對USB接口數(shù)據(jù)的傳輸需求。

        關(guān)鍵詞:通用串行總線;通信接口;IP核;可編程邏輯陣列

        中圖分類號:TP273文獻(xiàn)標(biāo)識碼:B

        文章編號:1004-373X(2008)24-049-03

        Design of USB Device Controller Based on FPGA

        FU Huajie1,LIU Lijun1,ZHANG Suinan1,CHEN Yanning2

        (1.771 Institute of CASC,Xi′an,710054,China;2.Apparatus Management Center,Shengli Petroleum Management Office,Dongying,257100,China)

        Abstract:The embedded system is developing with small area and low power.It requires deduce the board design and increase the speed.Based on the scale and capability of the embedded system,this paper divides the USB modules and designs the USB interface IP core with Verilog HDL.With simulation,this IP core contents the USB2.0′s request.

        Keywords:universal serial bus;communication interface;IP core;programmable logic array

        隨著現(xiàn)代科學(xué)技術(shù)的進(jìn)步和集成電路技術(shù)的飛速發(fā)展,計算機(jī)的性能得到很大的提升,從而對計算機(jī)與外圍設(shè)備之間的接口提出了更高的技術(shù)要求。早期的串行外圍設(shè)備是RS 232,這種總線傳輸速度慢、不能熱插拔逐漸成為計算機(jī)與外部設(shè)備通信的瓶頸。后來開發(fā)的1394總線和USB總線解決了傳輸速度慢和熱插拔的問題,但1394總線價格比較昂貴,而USB總線以其高的性價比在計算機(jī)接口領(lǐng)域得以廣泛的應(yīng)用。

        Universal Serial Bus(USB)是一種快速、簡便的總線。它支持即插即用,當(dāng)USB設(shè)備連接到主機(jī)上時,其所有的配置過程初始化都由系統(tǒng)自動完成。USB設(shè)備和主機(jī)間線纜的距離可長達(dá)5 m并且主機(jī)最多可以連接127個設(shè)備,它具有低速、全速、高速3種傳輸速率。USB廣泛應(yīng)用于鼠標(biāo)、MP3、MP4播放機(jī)以及數(shù)碼相機(jī)、高速數(shù)據(jù)采集設(shè)備。USB接口的高數(shù)據(jù)傳輸速率、強(qiáng)大的數(shù)據(jù)容錯技術(shù)和低廉的價格都大大的推動了USB設(shè)備的開發(fā)及應(yīng)用。

        USB設(shè)備控制器的開發(fā)從目前來看可以分為2種:直接利用市場上供應(yīng)的USB控制器芯片進(jìn)行USB設(shè)備的開發(fā)和設(shè)計基于FPGA的USB IP核。第一種方法對開發(fā)者來說無需特別清楚USB的協(xié)議原理并且所需的開發(fā)工具也相對簡單,但由于芯片的價格相對較高因此會影響系統(tǒng)開發(fā)的性價比。第二種基于FPGA所開發(fā)的USB IP核產(chǎn)品完全具備自主產(chǎn)權(quán),并且產(chǎn)品設(shè)計周期短、上市時間快、風(fēng)險低、投入少,它屬于IP復(fù)用技術(shù)。IP核復(fù)用技術(shù)是現(xiàn)代SoPC設(shè)計方法中最核心的概念和關(guān)鍵技術(shù)。IP核復(fù)用的本質(zhì)是強(qiáng)調(diào)一個經(jīng)過充分驗證的設(shè)計應(yīng)當(dāng)具有完整的設(shè)計文檔、全面的測試代碼、良好的配置能力,以便于將它重復(fù)應(yīng)用到其他設(shè)計中。隨著設(shè)計規(guī)模的擴(kuò)大和設(shè)計時間要求的縮短,這種硬件開發(fā)方法由于其IP核的可移植性、可重用性、高的性價比以及易于擴(kuò)展等方面的特性越來越成為當(dāng)今硬件設(shè)計開發(fā)的主流。本文也采用這一方法進(jìn)行設(shè)計。

        1 USB通信協(xié)議介紹

        當(dāng)USB設(shè)備連接到主機(jī)上時主機(jī)將會分配一個或多個配置來控制設(shè)備的行為。配置是由接口組成的,接口則由管道組成。1個輸入管道和1個輸出管道就可以配置成1個設(shè)備的端點(diǎn)。1個USB設(shè)備共有16對端點(diǎn)。其中0端點(diǎn)是控制端點(diǎn),它負(fù)責(zé)接收主機(jī)發(fā)出的傳輸命令,其他的15對端點(diǎn)用于完成大批量數(shù)據(jù)的傳輸。

        USB在數(shù)據(jù)傳送時使用非歸零反向碼(None Return Zero Invert,NRZI)。在此編碼規(guī)范中規(guī)定,“1”表示傳輸?shù)碾娖讲蛔儯?”表示傳輸?shù)碾娖礁淖?。為確保數(shù)據(jù)發(fā)送準(zhǔn)確無誤,在USB發(fā)送數(shù)據(jù)時傳送設(shè)備要對數(shù)據(jù)進(jìn)行比特位填充,而設(shè)備的接收端也必須能夠識別出比特位填充并能夠?qū)Ψ菤w零反向碼進(jìn)行正確解碼

        USB采用以令牌包為主的總線協(xié)議,并由主機(jī)根據(jù)需要發(fā)起所有的數(shù)據(jù)傳輸。多數(shù)總線傳輸包括4種封包,即令牌包、數(shù)據(jù)包、握手包和特殊包。每次數(shù)據(jù)傳輸首先由主機(jī)發(fā)出1個令牌包,USB設(shè)備發(fā)送握手包并根據(jù)命令發(fā)送數(shù)據(jù)包給主機(jī)或是準(zhǔn)備接收主機(jī)發(fā)送的數(shù)據(jù)包,數(shù)據(jù)傳輸完成后發(fā)送握手包完成1次傳輸。在USB的傳輸中,根據(jù)不同的外圍設(shè)備的類型與應(yīng)用,協(xié)議制定了控制傳輸、中斷傳輸、同步傳輸和批量傳輸4種類型,其中控制傳輸控制整個數(shù)據(jù)傳輸?shù)牧鞒?,是整個USB傳輸中必不可少的傳輸類型,因而它的可靠性也是最高的。其他3種數(shù)據(jù)傳輸類型在具體產(chǎn)品開發(fā)中可以根據(jù)需要進(jìn)行取舍,但是至少要保證有一種數(shù)據(jù)傳輸類型的存在。

        2 USB接口IP核系統(tǒng)結(jié)構(gòu)設(shè)計

        根據(jù)USB協(xié)議和項目設(shè)計的需要,將所設(shè)計的USB IP核在系統(tǒng)級劃分為USB收發(fā)模塊、USB UTMI(USB 2.0 Transceiver Macrocell Interface)接口模塊、USB協(xié)議層模塊、USB算術(shù)存儲模塊以及USB寄存器模塊。整個USB的系統(tǒng)結(jié)構(gòu)如圖1所示。

        USB設(shè)備控制器的UTMI接口模塊主要實(shí)現(xiàn)總線上事件檢測功能,完成USB設(shè)備各狀態(tài)之間的切換,同時還負(fù)責(zé)UTMI模塊和協(xié)議層PL模塊之間的數(shù)據(jù)傳遞。協(xié)議層模塊負(fù)責(zé)響應(yīng)所有的USB數(shù)據(jù)輸入/輸出并控制其傳輸。它是USB IP核開發(fā)中的重點(diǎn),也是USB設(shè)備控制器運(yùn)行的核心。存儲運(yùn)算接口模塊所要完成的功能是計算USB核與主機(jī)接口之間的數(shù)據(jù)存取??刂茽顟B(tài)寄存器的主要功能是存儲控制器中各個控制狀態(tài)和所傳輸數(shù)據(jù)的信息,并與外部控制器進(jìn)行命令的控制和數(shù)據(jù)的收發(fā)。下面本文就針對USB IP核的2大重點(diǎn)模塊UTMI接口模塊和協(xié)議層模塊進(jìn)行詳細(xì)闡述。

        2.1 USB UTMI接口模塊設(shè)計

        UTMI模塊由6個子模塊組成。接口狀態(tài)引擎模塊主要是對USB總線事務(wù)進(jìn)行檢測并控制正常操作、掛起、恢復(fù)、復(fù)位等狀態(tài)間的切換。這部分在IP核中由有限狀態(tài)機(jī)來實(shí)現(xiàn)。速度判定引擎模塊主要判定USB設(shè)備控制器工作在高速模式還是全速模式。發(fā)送總線接口模塊和接收總線模塊實(shí)現(xiàn)對外部收發(fā)器的數(shù)據(jù)傳輸,而發(fā)送FIFO模塊和接收FIFO模塊則暫存主機(jī)發(fā)送的還沒寫入SSRAM中的數(shù)據(jù)和將要發(fā)送的數(shù)據(jù)。

        UTMI模塊在FPGA設(shè)計中可以由UTMI接口和在線檢測2個語言描述塊表述。UTMI模塊從總體上定義了UTMI接口所需實(shí)現(xiàn)的功能參數(shù)并且完成數(shù)據(jù)在主機(jī)和收發(fā)器之間傳送的電路程序的編寫,其接口模塊與外部的接口信號共3種21個信號。它們是:與UTMI部分的連接信號(16個信號)、與內(nèi)部協(xié)議層PL的連接信號(6個信號)和一些全局信號(phy_clk,rst)。在線檢測模塊完成設(shè)備上電初始化和數(shù)據(jù)傳輸前的設(shè)備狀態(tài)轉(zhuǎn)換功能。整個模塊的狀態(tài)轉(zhuǎn)換流程如圖2所示。

        2.2 協(xié)議層

        USB的協(xié)議層是由USB包拆裝器、USB包組裝器、USB協(xié)議引擎和DMA存儲器接口4部分組成。其模塊結(jié)構(gòu)如圖3所示。

        主機(jī)到USB設(shè)備的命令或數(shù)據(jù)都以USB包的形式發(fā)送,這就要求設(shè)備中要有相應(yīng)的模塊能夠識別這些USB包并能從中提取設(shè)備所需的命令或數(shù)據(jù)。USB包拆裝器正是將主機(jī)發(fā)送的USB包拆分成包頭、包標(biāo)識(PID)、數(shù)據(jù)和校驗等信息并對PID進(jìn)行判斷。如果是握手包或是令牌包則進(jìn)行CRC校驗并將校驗結(jié)果與校驗域的數(shù)據(jù)進(jìn)行比較,如果校驗正確則通知協(xié)議引擎進(jìn)行處理。如果是數(shù)據(jù)包則校驗正確后通過相應(yīng)引腳輸出給存儲器接口或仲裁器模塊進(jìn)行處理。

        包拆裝器首先將分析出來的PID[7:4]取反后與PID[0:3]進(jìn)行比較,以校驗PID是否傳輸有誤。如果傳輸正確則提取PID[0:3]并進(jìn)行譯碼來判定是令牌包、數(shù)據(jù)包、握手包或特殊包中的哪一個。如果是令牌包就將后續(xù)的數(shù)據(jù)分放到token0,token1這兩個寄存器中然后調(diào)用CRC5函數(shù)進(jìn)行校驗,如果校驗正確就將幀號、端點(diǎn)號和地址存入相應(yīng)的寄存器,如果校驗錯誤就等待下一個數(shù)據(jù)的輸入。

        USB組裝器與USB拆裝器的功能剛好相反。它是要將USB發(fā)送FIFO中的數(shù)據(jù)加上包頭、包標(biāo)識以及相應(yīng)的校驗信息組成完整的USB包并最終將其發(fā)送給主機(jī)。

        USB協(xié)議引擎根據(jù)USB協(xié)議處理所有的來自主機(jī)的數(shù)據(jù)并根據(jù)自身的狀態(tài)回應(yīng)主機(jī)信息(ACK,NACK,NYET)。

        在協(xié)議引擎中一個傳輸事務(wù)處理的主要流程大致可以分為3大步。主機(jī)發(fā)送令牌包、設(shè)備接收處理、主機(jī)或是設(shè)備發(fā)送數(shù)據(jù)。

        主機(jī)發(fā)送的令牌包有5種,它們是PING包、SOF包、IN包、OUT包和SETUP包,其中設(shè)備只對PING包和SOF包進(jìn)行處理。下面以IN包為例對令牌包的數(shù)據(jù)流程進(jìn)行簡要的說明。

        設(shè)備收到IN包后首先提取包中的端點(diǎn)號并判斷該端點(diǎn)是否被鎖定。如果鎖定則通知包組裝器返回STALL給主機(jī),如果沒被鎖定則檢查內(nèi)部存儲器是否將數(shù)據(jù)準(zhǔn)備好,如果沒準(zhǔn)備好則通知包組裝器返回NAK給主機(jī),如果準(zhǔn)備好就將準(zhǔn)備的數(shù)據(jù)發(fā)給主機(jī)同時計時器計時并等待主機(jī)的握手包。如果接收到ACK握手包則此次數(shù)據(jù)傳輸成功,相應(yīng)寄存器清零。如果沒有收到ACK握手包則需重新發(fā)送數(shù)據(jù)。

        DMA存儲接口接到數(shù)據(jù)存儲器上。它將包拆裝器中解碼的數(shù)據(jù)傳送到USB存儲器中或?qū)⒋鎯ζ髦械臄?shù)據(jù)發(fā)送到包組裝器中進(jìn)行編碼。

        協(xié)議層的這4個模塊在整個USB設(shè)備中起到了核心的作用,因此在IP核的設(shè)計中將這4個模塊分別設(shè)置成4個塊進(jìn)行硬件電路的設(shè)計,然后在頂層設(shè)置協(xié)議塊將這4部分進(jìn)行參數(shù)連接實(shí)現(xiàn)整個協(xié)議層的功能。

        3 結(jié) 語

        本文分析了USB的特點(diǎn)和IP核開發(fā)的重要性,接著詳細(xì)介紹USB接口的IP核系統(tǒng)結(jié)構(gòu)及各部分所要實(shí)現(xiàn)的功能。文中所設(shè)計的IP核基本實(shí)現(xiàn)了USB各部分結(jié)構(gòu)的功能,可以滿足嵌入式USB通信的性能要求。由于其兼具USB的高速數(shù)據(jù)傳輸率和IP核的良好的可移植性,可以預(yù)見,其在通信領(lǐng)域中將具有很廣闊的發(fā)展空間。

        參考文獻(xiàn)

        [1]梁磊.基于I2C總線技術(shù)的USB接口設(shè)計.現(xiàn)代電子技術(shù),2005,28(6):104-106.

        [2]Compag,Hewlet-Packard,Intel,Lucent,Microsoft,NEC,Philips,Universal Serial Bus Specification Revision2.0.http://www.usb.org/developers/docs/usb20.zip,2002.

        [3]沈戈.基于IP核的SoC設(shè)計方法及其應(yīng)用的研究.西安:西北工業(yè)大學(xué)出版社,2002.

        [4]美國邁舍爾公司.USB系統(tǒng)體系.2版.孟文,譯.北京:中國電力出版社,2003.

        [5]Cypress Corporation.CY7C68000 Datasheet.http://www.cypress.com.

        [6]RudolfUsselmann.USB Function IP Core Revision1.5.http://www.opencores.org,2002.

        [7][日]小林芳直.數(shù)字邏輯電路的ASIC設(shè)計.蔣民,譯.北京:科學(xué)出版社,2004.

        [8]美國邁舍爾公司.USB系統(tǒng)體系.2版.孟文,譯.北京:中國電力出版社,2003.

        [9]夏宇聞.Verilog數(shù)字系統(tǒng)設(shè)計教程[M].北京:北京航空航天大學(xué)出版社,2003.

        [10]付華杰,陳艷寧,張遂南.嵌入式高速USB設(shè)備接口結(jié)構(gòu)設(shè)計.現(xiàn)代電子技術(shù),2008,31(4):150-152.

        [11]徐善峰.基于USB接口的數(shù)字?jǐn)z像系統(tǒng)及USB接口芯片的設(shè)計.西安:西安電子科技大學(xué),2002.

        作者簡介

        付華杰 男,1982年出生,山東榮成人,碩士生。主要研究方向為嵌入式高速計算機(jī)控制。

        劉麗君 女,1983年出生,碩士生。主要研究方向為高速計算機(jī)控制。

        張遂南 男,1965年出生,碩士生導(dǎo)師,博士。主要研究方向為高速計算機(jī)技術(shù)。

        陳艷寧 女,1983年出生,工程師。主要研究方向為嵌入式計算機(jī)系統(tǒng)結(jié)構(gòu)技術(shù)。

        超薄丝袜足j好爽在线观看| 亚洲精品在线一区二区| 国产一区二区三区中文在线| 边喂奶边中出的人妻| 日韩AV不卡六区七区| 亚洲一区丝袜美腿在线观看| 在线观看一区二区中文字幕| 成人免费无码视频在线网站| 色爱区综合五月激情| www.av在线.com| 丰满老熟女性生活视频| 夜夜春亚洲嫩草影院| 精品久久久久久久无码| 亚洲女同系列高清在线观看 | 日韩亚洲欧美精品| 国产视频一区2区三区| 国产乱人对白| 亚洲av永久无码精品秋霞电影影院 | 长腿丝袜在线观看国产| 日本边添边摸边做边爱| 丁香五香天堂网| 色综合999| 国产激情在线观看免费视频| 野外亲子乱子伦视频丶| 亚洲国产精品自拍一区| 久久少妇呻吟视频久久久| 好大好爽我要高潮在线观看| 亚洲精品午睡沙发系列| 国产精品一区二区三区精品| 国产高清女主播在线观看| 久久99国产综合精品| 国产精品久久久久久麻豆一区| 国产免费一区二区av| 视频在线观看免费一区二区| 亚洲av蜜桃永久无码精品 | 无码三级在线看中文字幕完整版 | 日韩人妻中文无码一区二区| 久久精品国产亚洲精品| 视频女同久久久一区二区三区| 亚洲中文字幕在线综合| 亚洲av成人无码网站…|