<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 一款集成HUB的USB設備控制器的設計

一款集成HUB的USB設備控制器的設計

作者: 時(shí)間:2016-12-13 來(lái)源:網(wǎng)絡(luò ) 收藏
近年來(lái),USB技術(shù)已經(jīng)成為計算機領(lǐng)域發(fā)展最快的技術(shù)之一,得到了廣泛的應用。早在1998年,由于USB1.1規范的推出以及Windows98加強了對USB的支持,USB就得到了飛速的發(fā)展和普及,各種USB設備不斷涌現。2000年,USB2.0規范推出之后,USB一扆只能適用于中低速設備的局面,在高速傳輸領(lǐng)域也占領(lǐng)了大量的市場(chǎng)份額。2001年推出的USB-OTG解決了大量USB設備之間的直接互連問(wèn)題,因此USB規范將得到更加迅速的發(fā)展。


根據USB規范,USB系統的拓撲結構呈金字塔狀,集線(xiàn)器(HUB)是金字塔中不可或缺的部件,是主機與設備之間建立連接的橋梁。根據USB2.0規范,全速USB HUB可以連接低速、全速和高速下行設備(高速設備降為全速運行)。

本文引用地址:http://dyxdggzs.com/article/201612/329173.htm

本文提出一款基于6502 MCU的通用的帶HUB的全速USB設備控制器的體系結構,并完成整個(gè)芯片的設計。這款芯片可以用來(lái)開(kāi)發(fā)帶HUB的全速USB設備、全速USB設備和全速USB HUB。

1 系統設計

常見(jiàn)的USB設備控制器的功能結構框圖圖1所示。收發(fā)器用于實(shí)現牧師層的USB規范,它包含一個(gè)接收器和一個(gè)發(fā)送器,接收器用于接收和判決總線(xiàn)D+、D-的信號,發(fā)送器用于驅動(dòng)D+、D-的信號。串行接口引擎(SIE)主要用于解析協(xié)議層的USB規范,如時(shí)鐘提取、NRZI編碼/解碼、比特填充/抽取、CRC校驗、PID檢測/產(chǎn)生、串并/并串轉換等。功能控制器主要用于處理功能層的USB規范。緩沖區是功能控制器與SIE互相通信的橋梁,通常SIE把總線(xiàn)上接收到的數據存放在緩沖區中,供功能控制器讀取并解析;同時(shí),功能控制器又會(huì )把需要發(fā)送的數據存放在緩沖區中,供SIE讀取并發(fā)送。

集成HUB的USB設備控制器又稱(chēng)為復合設備控制器,它在本質(zhì)上是兩個(gè)USB設備,在系統中擁有兩個(gè)不同的設備地址。因為USB是分時(shí)復用的串行總線(xiàn),在正常情況下,任何時(shí)候主機都只能與系統中的某一個(gè)設備進(jìn)行通信,所以復合設備控制器也可以把設備控制器和HUB控制器的很多部件合二為一,分時(shí)復用。

本文提出的集成HUB的全速USB設備控制器的設計方案如圖2所示。該控制器支持一個(gè)上行端口和四個(gè)下行端口,并實(shí)現了USB鍵盤(pán)的功能。SIE主要負責物理層和協(xié)議層的協(xié)議解析,MCU主要負責設備層的協(xié)議解析,緩沖區是SIE和MCU之間通信的橋梁,SIE把接收到的數據包存放在緩沖區中供MCU讀取,MCU把需要發(fā)送的數據存放在緩沖區中供SIE讀取。數據轉發(fā)功能主要由HUB轉發(fā)器實(shí)現。

2 SIE設計

在USB HUB內部需要有一個(gè)全速SIE用來(lái)處理USB規范第八章規定的大部分協(xié)議,它的主要功能包括:

·包的識別與組織;

·時(shí)鐘與數據分離;

·NRZI編碼和解碼;

·比特填充和提??;

·CRC校驗碼的識別和產(chǎn)生;

·地址檢測;

·PID檢測和產(chǎn)生;

·串/并轉換和并/串轉換。

在設計SIE的時(shí)候,根據它的功能又將其分成幾個(gè)不同的模塊,如圖3所示。PHY模塊主要完成數據的串/并轉換和并/串轉換、比特填充和提取、NRZI編碼和解碼、時(shí)鐘與數據的分離等功能,此模塊內部數據主要以串行狀態(tài)存在。PL模塊負責數據包的解析與組織、PID檢測和產(chǎn)生、CRC檢驗碼的識別和產(chǎn)生、地址檢測等功能。FUNCTION模塊完成SIE與MCU的接口邏輯功能。

3 轉發(fā)器設計

轉發(fā)器是HUB實(shí)現數據轉發(fā)功能的核心模塊。轉發(fā)器實(shí)現的功能主要有:數據轉發(fā)、幀同步、掛起喚醒處理、總線(xiàn)沖突檢測與解決、往低速下行端口發(fā)送Keep-alive等。

在設計轉發(fā)器的時(shí)候,根據數據的流向對轉發(fā)器進(jìn)行了進(jìn)一步的模塊細分,如圖4所示。hub_up模塊負責接收來(lái)自上行端口的信號,并檢測出SOP和EOP;同時(shí)轉發(fā)來(lái)自?xún)炔慷丝诤拖滦卸丝诘男盘?。hub_up模塊包含四個(gè)子模塊,支持四個(gè)下行端口,負責接收來(lái)自下行端口的信號,并檢測出SOP和EOP;同時(shí)往下行設備轉發(fā)合法的下行數據。rpt_engine模塊中有一個(gè)重要的連接狀態(tài)機,其狀態(tài)轉換如圖5所示,它以數據包為單位控制上行端口和下行端口之間的連接的建立和拆除,同時(shí)控制集線(xiàn)器正確地掛起和喚醒。

圖6、7

在圖5所示的連接狀態(tài)機中,狀態(tài)跳轉主要通過(guò)SOP(包開(kāi)始)和EOP(包結束)信號實(shí)現,所以SOP和EOP信號直接影響狀態(tài)機的正確跳轉,從而影響了轉發(fā)器的穩定性。檢測SOP信號時(shí)要考慮兩個(gè)重要的因素:首先,SOP信號要產(chǎn)生得盡可能快,從而可以較快地打開(kāi)數據通道,減小數據流駛 SYNC的損失;其次,檢測與本地時(shí)鐘異步的數據流而產(chǎn)生的SOP信號要與本地時(shí)鐘同步,否則會(huì )使寄存器建立時(shí)間和保持時(shí)間得不到滿(mǎn)足。檢測EOP信號時(shí)也要考慮兩個(gè)因素:首先,要排除長(cháng)度不夠的SEO的干擾和SEO狀態(tài)向J狀態(tài)跳變的抖動(dòng)干擾;其次,EOP信號也要與本地時(shí)鐘時(shí)步。

全速HUB的上行端口始終是一個(gè)全速連接,但是它的下行端口可能是全速連接也可能是低速連接。低速數據經(jīng)過(guò)上行端口時(shí),雖然它的速率是低速的,但是它的極性卻是全速的。全速數據的極性與低速數據的極性是相反的,所以轉發(fā)低速數據時(shí)需要先對數據的極性進(jìn)行轉換。HUB在轉發(fā)數據的時(shí)候需要遵循以下原則:來(lái)自上行端口的低速數據廣播給所有處于允許狀態(tài)的下行設備(包括全速設備和低速設備);來(lái)自上行端口的全速數據轉發(fā)給所有處于允許狀態(tài)的全速下行設備。

4 固件設計

本文提出的USB設備控制器是一個(gè)軟硬件結合的系統,即整個(gè)系統由MCU、SIE、轉發(fā)器等硬件和運行于MCU中的固件組成。

系統的設計原則是:凡是固件能夠完成的任務(wù)盡量由固件來(lái)實(shí)現,硬件的主要工作是對協(xié)議層的解析,解析完之后會(huì )設置某些控制寄存器,有時(shí)會(huì )產(chǎn)生中斷,固件通過(guò)查詢(xún)這些寄存器執行相應的操作。

為了驗證整個(gè)系統,通過(guò)編寫(xiě)固件實(shí)現集成HUB的USB鍵盤(pán)的功能。

5 對于異步信號的處理

USB屬于異步總線(xiàn),本地時(shí)鐘和主機時(shí)鐘是由兩個(gè)不同的晶振產(chǎn)生的,所以SIE必須采用適當的方法實(shí)現位同步。一個(gè)典型的位同步方法就是采用一種特定結構的數字鎖相環(huán)[1]。其原理是:分別用本地48MHz時(shí)鐘的正負沿采樣接收到的12MHz的位接收時(shí)鐘(它的有效沿位于12MHz數據流每個(gè)比特位的中間),然后用新產(chǎn)生的時(shí)鐘去采樣12MHz的數據流從而實(shí)現位同步。

整個(gè)系統中采用的是異步復位。異步復位的好處是可以保證系統在初始狀態(tài)時(shí)處于已知的狀態(tài),對于有三態(tài)總線(xiàn)的系統來(lái)說(shuō),這是非常重要的[2]。異步復位的處理非常重要,關(guān)系到系統的穩定性。對于異步復位信號來(lái)說(shuō),重要的不是什么時(shí)候復位而是什么時(shí)候復位結束,異步復位有兩個(gè)關(guān)鍵的參數恢復時(shí)間和遷移時(shí)間,如圖6所示[3]。如果以上兩個(gè)參數不滿(mǎn)足,就會(huì )產(chǎn)生亞穩態(tài)[4]。為了解決這個(gè)問(wèn)題,設計了如圖7所示復位電路。

在該電路中,復位的產(chǎn)生是不受時(shí)鐘控制的,但復位結束是受時(shí)鐘控制的。之所以要用兩個(gè)極聯(lián)的觸發(fā)器,是為了避免第一級觸發(fā)器有可能產(chǎn)生的亞穩態(tài)傳給整個(gè)芯片的復位信號reset。在這個(gè)電路中不存在恢復時(shí)間的問(wèn)題,因為復位結束肯定在時(shí)鐘沿的后面。遷移時(shí)間的問(wèn)題,因為復位結束肯定在時(shí)鐘沿的后面。遷移時(shí)間的問(wèn)題也可以解決,只要Tclk_q(clock to Q)+Tpd(復位信號的傳輸延時(shí))>Trem(觸發(fā)器的遷移時(shí)間)即可。對于上電復位來(lái)說(shuō)還要進(jìn)行進(jìn)一步的處理,要保證復位時(shí)間足夠長(cháng),因為電源穩定需要一定的時(shí)間。

6 設備的低功耗設計

對于USB設備來(lái)說(shuō),當總線(xiàn)上超過(guò)3ms沒(méi)有總線(xiàn)活動(dòng)時(shí),設備就要自動(dòng)進(jìn)入休眠狀態(tài),此時(shí)從總線(xiàn)上獲得的電流不能超過(guò)500μA[5]。為了滿(mǎn)足此要求,設計了如圖8所示的設備喚醒和休眠電路。

圖10

當設備需要休眠時(shí),給出一個(gè)sleep信號控制晶體振蕩器(OSC)停止振蕩,整個(gè)設備進(jìn)入節電模式。對于CMOS電路來(lái)說(shuō),時(shí)鐘停止振蕩以后所消耗的功率極小,當有總線(xiàn)活動(dòng)時(shí),收發(fā)器會(huì )產(chǎn)生總線(xiàn)活動(dòng)標志信號wakeup,wakeup信號首先控制振蕩器重新開(kāi)始振蕩,然后和clkDelay信號一塊控制設備的時(shí)鐘(Clock),晶振穩定后則輸出時(shí)鐘信號。復位時(shí)不對時(shí)鐘信號進(jìn)行控制。

7 FPGA實(shí)現和系統驗證

系統進(jìn)行實(shí)現和驗證時(shí),串行接口引擎和轉發(fā)器采用Verilog進(jìn)行RTL描述,然后采用Xilinx公司的XC2S200PQ208 FPGA實(shí)現。緩沖區和RAM由FPGA內部集成的RAM實(shí)現,收發(fā)器采用Philips公司的PDIUSBP11A,MCU采用MICETEK公司的65C02仿真器。

整個(gè)系統經(jīng)驗證后,工作正常,內置鍵盤(pán)可以正常工作,在下行端口插入低速USB設備和全速USB設備都可以工作。圖9是用立肯科技公司的USBMobile測試儀對FPGA系統進(jìn)行測試的結果的一部分。



關(guān)鍵詞: 集成HUBUSB設備控制

評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>