新聞中心

EEPW首頁(yè) > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > 用SL811HS實(shí)現(xiàn)OTG設(shè)備互聯(lián)

用SL811HS實(shí)現(xiàn)OTG設(shè)備互聯(lián)

作者:■上海廣電(集團(tuán))有限公司中央研究院 蔣兆林 時(shí)間:2004-11-01 來(lái)源:電子設(shè)計(jì)應(yīng)用2003年第6期 收藏

摘   要: 本文介紹了用SL811HS設(shè)計(jì)的原理,并著重分析了。
關(guān)鍵詞: ;;;
概述
的系統(tǒng)上,是由一個(gè)主計(jì)算機(jī)來(lái)管理所有的通信,外圍設(shè)備之間不能直接通信,必須通過(guò)主計(jì)算機(jī)來(lái)進(jìn)行彼此間的聯(lián)系。2001年發(fā)布的On-The-Go(OTG)是2.0規(guī)范的補(bǔ)充協(xié)議,彌補(bǔ)了USB2.0規(guī)范不能用于點(diǎn)對(duì)點(diǎn)通信的不足。OTG定義了一個(gè)功能較少的主計(jì)算機(jī),主要用在連接單一USB設(shè)備的便攜設(shè)備上。OTG的典型應(yīng)用有蜂窩電話(huà)、PDA和機(jī)頂盒等。圖1是OTG應(yīng)用于PDA和機(jī)頂盒的實(shí)例。
為了更好地支持便攜設(shè)備,OTG要滿(mǎn)足有限的主機(jī)性能,以降低軟件的復(fù)雜性,適合便攜式設(shè)備外形的小USB連接器和節(jié)能等要求。
為了達(dá)到這些目標(biāo),OTG補(bǔ)充協(xié)議介紹了(DRD)。DRD是USB2.0兼容設(shè)備,既能作主機(jī),也能用作外設(shè),它具有如下特性:
?有限的主機(jī)性能;
?全速操作(高速可選);
?目標(biāo)外設(shè)列表;
?(SRP);
?(HNP);
?一個(gè)且只有一個(gè)小型AB插座;
?VBUS的最小輸出8mA;
?與用戶(hù)進(jìn)行信息通信的手段。

本文引用地址:http://www.butianyuan.cn/article/3656.htm

圖1 OTG的典型應(yīng)用

圖2 SL811HS的框圖

圖3 SL811HS OTG框圖

圖4 VBUS脈沖調(diào)制,D+/D-,和ID腳檢測(cè)

圖5 電壓比較器

SL811HS概述
SL811HS是雙角色主機(jī)/外圍設(shè)備的嵌入式USB控制器,可以與全速或低速USB外設(shè)通信。SL811HS可以與微處理器、微控制器、DSP、或者各種總線(xiàn)(如ISA和PCMCIA)接口。圖2是SL811HS的框圖。

SL811HS_OTG DRD參考設(shè)計(jì)
圖3說(shuō)明了如何用SL811HS外加CPU和一些模擬元件設(shè)計(jì)OTG雙角色設(shè)備。在軟件的控制下,SL811HS可以支持USB主機(jī)和外設(shè)模式,不需要額外的硬件。

模擬元件的作用
VBUS閾值
無(wú)論在主機(jī)還是外設(shè)模式下,都必須監(jiān)測(cè)VBUS。為了支持會(huì)話(huà)請(qǐng)求協(xié)議,需要檢查VBUS處于什么電平,以確定會(huì)話(huà)何時(shí)開(kāi)始和結(jié)束。
本設(shè)計(jì)中用四個(gè)電壓比較器監(jiān)測(cè)VBUS,它們覆蓋了下列OTG參數(shù):
A設(shè)備Vbus有效: VA_Vbus_VLD >4.4V
A設(shè)備會(huì)話(huà)有效: VA_Sess_VLD 0.8V-2.0V
B設(shè)備會(huì)話(huà)有效: VB_Sess_VLD 0.8V-4.0V
B設(shè)備會(huì)話(huà)結(jié)束: VB_Sess_End 0.2V-0.8V
VBUS脈沖調(diào)制
VBUS脈沖調(diào)制是會(huì)話(huà)請(qǐng)求協(xié)議的一部分,在本設(shè)計(jì)中將CPU的一個(gè)GPIO口經(jīng)過(guò)R40連到VBUS來(lái)實(shí)現(xiàn)VBUS脈沖調(diào)制,如圖4所示。
D+和D-的上拉和下拉電阻
為了使設(shè)備能夠作為主機(jī)和外設(shè)工作,必須能夠切換D+和D-上的上拉和下拉電阻。有許多方法可以控制這些電阻的切換。圖4中顯示的方法是采用外部CPU的GPIO口來(lái)切換D+和D-上的電阻。當(dāng)DRD工作在主機(jī)模式時(shí),GPIOy和GPIOz連接15k的下拉電阻到地,并且GPIOx浮空1.5k的上拉電阻。當(dāng)DRD工作在外設(shè)模式時(shí),GPIOx連接1.5k的上拉電阻到電源,同時(shí)GPIOy和GPIOz浮空15k的下拉電阻。(注意,OTG補(bǔ)充協(xié)議不允許關(guān)閉D-上的下拉電阻,本設(shè)計(jì)中的切換方式僅用于調(diào)試目的。)
ID腳檢測(cè)
當(dāng)用戶(hù)將插頭插入小型AB插座時(shí),ID腳用來(lái)確定DRD是A設(shè)備還是B設(shè)備。如果ID對(duì)地短路,就表示插入的是小型A插頭,從而使得DRD成為A設(shè)備。軟件通過(guò)一個(gè)GPIO口來(lái)監(jiān)測(cè)ID腳的狀態(tài)。
過(guò)流檢測(cè)和控制
當(dāng)DRD是A設(shè)備時(shí),在會(huì)話(huà)期間需要提供VBUS。連接的B設(shè)備需要的電流有可能超出A設(shè)備的負(fù)載能力。圖5中的比較器1用來(lái)檢測(cè)過(guò)流,當(dāng)VBUS跌到4.4V以下時(shí),表示過(guò)流情況產(chǎn)生了。另外,圖6所示的限流電路提供過(guò)流保護(hù),在過(guò)流情況下,由軟件關(guān)閉VBUS。

圖6 過(guò)流檢測(cè)和控制

圖7 SRP狀態(tài)圖1
VBUS開(kāi)/關(guān)控制
如圖6所示,GPIO開(kāi)/關(guān)用于控制VBUS。當(dāng)DRD是A設(shè)備時(shí),由軟件打開(kāi)VBUS直到會(huì)話(huà)結(jié)束。當(dāng)DRD是B設(shè)備時(shí),VBUS必須關(guān)閉。

SL811HS_OTG的軟件
當(dāng)SL811HS是一個(gè)DRD時(shí),軟件必須支持所有SetFeature命令和OTG描述符。OTG有兩個(gè)主要功能:會(huì)話(huà)請(qǐng)求協(xié)議和主機(jī)協(xié)商協(xié)議。
會(huì)話(huà)請(qǐng)求協(xié)議(SRP)
SRP協(xié)議能讓B設(shè)備請(qǐng)求A設(shè)備提供電源VBUS,并開(kāi)始會(huì)話(huà)。當(dāng)B設(shè)備發(fā)起SRP時(shí),軟件促使數(shù)據(jù)線(xiàn)(D+)發(fā)脈沖,然后VBUS發(fā)脈沖。A設(shè)備可以通過(guò)提供電源VBUS來(lái)響應(yīng)數(shù)據(jù)線(xiàn)脈沖或者VBUS脈沖。圖7和圖8是SRP中兩個(gè)DRD的狀態(tài)圖。
當(dāng)A設(shè)備打開(kāi)電源VBUS時(shí),SRP結(jié)束。一旦A設(shè)備確定VBUS已經(jīng)到達(dá)一個(gè)有效電平,它就成為USB主機(jī),并且檢測(cè)B設(shè)備。
主機(jī)協(xié)商協(xié)議(HNP)
HNP協(xié)議能讓B設(shè)備變成主機(jī)。當(dāng)連接的DRD必須改變角色時(shí),就避免了最終用戶(hù)交換小型AB電纜的麻煩(通常情況下,用戶(hù)不明白設(shè)備有不同的角色)。
圖9是A設(shè)備部分HNP狀態(tài)圖,圖10是B設(shè)備的HNP狀態(tài)圖。要注意的是:a_host狀態(tài)是將控制從A設(shè)備轉(zhuǎn)讓給B設(shè)備的起始狀態(tài),并且也是當(dāng)控制從B設(shè)備歸還時(shí)的結(jié)束狀態(tài)。同樣,b_peripheral是B設(shè)備的HNP起始和結(jié)束點(diǎn)。
當(dāng)A設(shè)備掛起總線(xiàn)時(shí),對(duì)B設(shè)備的控制轉(zhuǎn)讓開(kāi)始。如果B設(shè)備需要變成主機(jī),它將會(huì)通過(guò)關(guān)閉D+的上拉電阻來(lái)發(fā)一個(gè)“斷開(kāi)”信號(hào)。因?yàn)锳設(shè)備已經(jīng)允許B設(shè)備HNP,所以A設(shè)備會(huì)把這個(gè)“斷開(kāi)”狀態(tài)當(dāng)作B設(shè)備要變成主機(jī)的請(qǐng)求。A設(shè)備通過(guò)打開(kāi)D+的上拉電阻來(lái)完成控制的轉(zhuǎn)讓。

圖8 SRP狀態(tài)圖2

圖9 HNP狀態(tài)圖1

圖10 HNP狀態(tài)圖2

圖11 HNP狀態(tài)圖3

圖12 HNP狀態(tài)圖4


當(dāng)B設(shè)備停止所有的總線(xiàn)活動(dòng)時(shí),控制就歸還給A設(shè)備。B設(shè)備掛起活動(dòng)之后,引起A設(shè)備關(guān)閉它的上拉電阻而成為主機(jī)。這個(gè)“斷開(kāi)”狀態(tài)被B設(shè)備檢測(cè)到,B設(shè)備再次變成外設(shè),并打開(kāi)它的上拉電阻。
圖11闡明了A設(shè)備怎樣從a_peripheral狀態(tài)返回到a_host狀態(tài)。圖12闡明了B設(shè)備怎樣從b_host狀態(tài)返回到b_peripheral狀態(tài)。

結(jié)語(yǔ)
SL811HS是一個(gè)雙角色USB主機(jī)控制器,通過(guò)附加一些模擬元件和一個(gè)外部CPU,就能實(shí)現(xiàn)整個(gè)OTG系統(tǒng)。■

參考文獻(xiàn)
1  On-The-Go Supplement to the USB 2.0 Specification Revision 1.0.2001
2  SL811HS Embedded USB Host/Slave Controller. Cypress Semiconductor Corporation
3  蕭世文.USB2.0硬件設(shè)計(jì).北京:清華大學(xué)出版社



評(píng)論


相關(guān)推薦

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

關(guān)閉