怎樣解決USB-C接口在嵌入式中的設(shè)計(jì)規(guī)范性上的問(wèn)題?
掃描二維碼
隨時(shí)隨地手機(jī)看文章
“USBType-C”并不是電子產(chǎn)品的新術(shù)語(yǔ),它已經(jīng)上市超過(guò)四年,你可能每天都在使用它。但是,這項(xiàng)技術(shù)對(duì)于工業(yè)自動(dòng)化領(lǐng)域來(lái)說(shuō),仍然是全新的解決方案。讓我們深入研究USB-C技術(shù)的細(xì)節(jié),優(yōu)勢(shì)和工業(yè)應(yīng)用的可能性。
RaspBerry 4 Pi model B(樹(shù)莓派4B)正式發(fā)布,從處理能力,通信方式,對(duì)外接口都進(jìn)行了全方位的升級(jí),為嵌入式開(kāi)發(fā)者帶來(lái)了福音。收到貨后,不少開(kāi)發(fā)者懷著激動(dòng)的心情開(kāi)始嘗試使用。結(jié)果,卻發(fā)現(xiàn)了USB-C接口在設(shè)計(jì)規(guī)范性上出現(xiàn)了嚴(yán)重的問(wèn)題。
圖1 帶USB-C接口的樹(shù)莓派4
經(jīng)過(guò)實(shí)際測(cè)試發(fā)現(xiàn),樹(shù)莓派4上面的這個(gè)USB-C接口,其CC1和CC2是連接在一起的,并共用了一顆5.1k的電阻下拉到地。這個(gè)設(shè)計(jì)看似非常巧妙,USB-C接口的控制做到了極致簡(jiǎn)單,只需要一顆5.1k下拉電阻。當(dāng)外接的USB-C Cable是不帶Emark芯片的情況下,確實(shí)可以正常工作。因?yàn)檫@類(lèi)USB-C Cable的CC2是懸空的,只有CC1有連接到對(duì)端,所以,這種Cable跟RaspBerry 4B的USB-C接口母座一連起來(lái),就非常好的符合了Sink端的設(shè)計(jì)規(guī)范,即CC1上,有一個(gè)5.1k的電阻下拉到地。
圖2 樹(shù)莓派4B在使用不帶Emark 芯片的連接線時(shí)的連接情況
但是,USB TYPE-C規(guī)范里面,還規(guī)定了一種帶Emark 芯片的Cable,這種Cable的CC2上,有一個(gè)1K的下拉電阻,用來(lái)告知DFP端的CC識(shí)別芯片,需要往CC2上提供VCONN Source。一旦跟這樣的Cable連接起來(lái),RaspBerry 4 Pi model B就會(huì)出現(xiàn)嚴(yán)重問(wèn)題。因?yàn)镃C1和CC2連接起來(lái)后,會(huì)跟Cable上的1K到地電阻并聯(lián),形成一個(gè)比1k電阻還小的阻抗,從而滿足了USB-C規(guī)范中Audio Adapter Accessory Mode的連接規(guī)范,被電源端誤認(rèn)為是一個(gè)模擬耳機(jī)設(shè)備,從而拒絕供電。
圖3 樹(shù)莓派4B在使用帶Emark 芯片的連接線時(shí)的連接情況
通過(guò)上圖我們可以看到,Emark 連接線上的1k電阻會(huì)導(dǎo)致,CC1建立失敗,1k電阻和5.1k電阻的并聯(lián),會(huì)導(dǎo)致RaspBerry 4B被認(rèn)為是一個(gè)Audio Adapter Accessory Mode。解決這個(gè)問(wèn)題的方法也很簡(jiǎn)單,只需要在CC1和CC2上各接一個(gè)5.1K電阻到地,互相獨(dú)立就行了。這一點(diǎn)可以搜索一下筆者在2015年的原創(chuàng)文章《你真的需要TYPE-C芯片嗎》。這篇文章為大家提供了判斷系統(tǒng)是否需要使用USB-C 控制芯片的三個(gè)原則和兩個(gè)實(shí)現(xiàn)方法。
RaspBerry 4B在USB-C接口上的設(shè)計(jì),其實(shí)屬于入門(mén)級(jí)設(shè)計(jì),因?yàn)檫@個(gè)接口僅僅用來(lái)進(jìn)行5V供電和一個(gè)USB2.0 通信而已,并無(wú)復(fù)雜的音視頻及USB3.0功能。在實(shí)際的嵌入式開(kāi)發(fā)中,一個(gè)USB-C接口的功能,可能遠(yuǎn)不止于此。下面我們就大功率供電供電、高速信號(hào)傳輸、雙C口DRP控制三點(diǎn)進(jìn)行闡述。
第一, 需要使用USB-C接口來(lái)獲得9V/12V/15V/20V的供電電壓。很多嵌入式系統(tǒng)具有非常復(fù)雜的功能,僅僅5V的供電,是無(wú)法滿足要求的。那么,這個(gè)時(shí)候,只是通過(guò)在CC1和CC2上單獨(dú)設(shè)置5.1k下拉電阻,就不夠了,而是必須使用USB PD控制芯片,最好是能夠靈活配置各種電壓的USB PD控制芯片,例如LDR6015和LDR6021就可以實(shí)現(xiàn)這個(gè)功能。某些系統(tǒng)設(shè)計(jì)中,甚至希望USB PD控制芯片自動(dòng)去判斷適配器的最高功率檔,讓電源適配器直接供應(yīng)最高功率給嵌入式系統(tǒng),這個(gè)時(shí)候,就可以使用LDR6015Max,可以不需要任何的控制,直接獲得最高功率。
第二, 需要使用USB-C接口進(jìn)行高速視頻信號(hào)傳輸?shù)膽?yīng)用開(kāi)發(fā)。USB-C接口,可以同時(shí)支持10G/b的USB 3.1Gen2數(shù)據(jù)傳輸和4K高清視頻傳輸。但是要讓Sink端進(jìn)入DP ALT mode,這個(gè)時(shí)候必須使用一顆USB PD Controller,例如LDR6282等。這類(lèi)USB PD控制芯片,充當(dāng)?shù)氖且粋€(gè)交通管理員的角色,通過(guò)USB PD通信,對(duì)USB-C Cable內(nèi)的高速差分對(duì)通路進(jìn)行配置,讓數(shù)據(jù)信號(hào)和視頻信號(hào)適配到合適的差分對(duì)上。
第三, 雙C口DRP功能控制,很多嵌入式應(yīng)用不僅僅使用單個(gè)USB-C口,還可能會(huì)有兩個(gè)USB-C口,其中一個(gè)C口用于供電,另外一個(gè)C口用于進(jìn)行高速數(shù)據(jù)及視頻信號(hào)傳輸。但用戶使用過(guò)程中,并不確定兩個(gè)中的哪一個(gè)口會(huì)插上電源,或者多媒體設(shè)備,因此需要滿足雙C口盲插識(shí)別和控制,最典型的應(yīng)用是USB-C接口的顯示屏和投影儀。這就屬于比較復(fù)雜的USB PD控制功能了。目前市面上僅僅有LDR6282可以滿足這個(gè)需求。
圖4 用于雙C口DRP控制的USB PD芯片LDR6282
綜上所述,我們可以看出,對(duì)于USB-C接口僅僅用于供電和Debug功能的嵌入式系統(tǒng),USB-C接口并不需要使用任何芯片控制,通過(guò)CC1和CC2各自獨(dú)立下拉一個(gè)5.1k電阻到地即可。對(duì)于需要用到大功率供電或者高清視頻傳輸功能的嵌入式設(shè)計(jì),則必須要使用USB PD控制芯片。