從樹莓派4 USB-C設(shè)計(jì)失誤 看嵌入式系統(tǒng)的接口升級(jí)
近日,樹莓派4 Model B(樹莓派4B)正式發(fā)布,從處理能力,通信方式,對(duì)外接口都進(jìn)行了全方位的升級(jí),為嵌入式開發(fā)者帶來了福音。收到貨后,不少開發(fā)者懷著激動(dòng)的心情開始嘗試使用,結(jié)果卻發(fā)現(xiàn)USB-C接口在設(shè)計(jì)規(guī)范性上出現(xiàn)了嚴(yán)重的問題。
本文引用地址:http://m.butianyuan.cn/article/201907/402550.htm帶USB-C接口的樹莓派4
經(jīng)過實(shí)際測(cè)試發(fā)現(xiàn),樹莓派4上面的這個(gè)USB-C接口,其CC1和CC2是連接在一起的,并共用了一顆5.1k的電阻下拉到地。
這個(gè)設(shè)計(jì)看似非常巧妙,USB-C接口的控制做到了極致簡單,只需要一顆5.1k下拉電阻。當(dāng)外接的USB-C 數(shù)據(jù)線是不帶Emark芯片的情況下,一起都可以正常工作。
因?yàn)檫@類USB-C數(shù)據(jù)線的CC2是懸空的,只有CC1有連接到對(duì)端,所以,這種數(shù)據(jù)線跟樹莓派4B的USB-C接口母座一連起來,就非常好的符合了Sink端的設(shè)計(jì)規(guī)范,即CC1上,有一個(gè)5.1k的電阻下拉到地。
樹莓派4B在使用不帶Emark 芯片的連接線時(shí)的連接情況
但是,USB TYPE-C規(guī)范里面,還規(guī)定了一種帶Emark 芯片的數(shù)據(jù)線(Cable),這種數(shù)據(jù)線的CC2上,有一個(gè)1K的下拉電阻,用來告知DFP端的CC識(shí)別芯片,需要往CC2上提供VCONN Source。
一旦跟這樣的數(shù)據(jù)線連接起來,樹莓派4 Model B就會(huì)出現(xiàn)嚴(yán)重問題,因?yàn)镃C1和CC2連接起來后,會(huì)跟數(shù)據(jù)線上的1K到地電阻并聯(lián),形成一個(gè)比1k電阻還小的阻抗,從而滿足了USB-C規(guī)范中Audio Adapter Accessory Mode的連接規(guī)范,被電源端誤認(rèn)為是一個(gè)模擬耳機(jī)設(shè)備,從而拒絕供電。
樹莓派4B在使用帶Emark 芯片的連接線時(shí)的連接情況
通過上圖我們可以看到,Emark連接線上的1k電阻會(huì)導(dǎo)致,CC1建立失敗,1k電阻和5.1k電阻的并聯(lián),會(huì)導(dǎo)致樹莓派4B被認(rèn)為是一個(gè)Audio Adapter Accessory Mode。
解決這個(gè)問題的方法也很簡單,只需要在CC1和CC2上各接一個(gè)5.1K電阻到地,互相獨(dú)立就行了。
樹莓派4B在USB-C接口上的設(shè)計(jì),其實(shí)屬于入門級(jí)設(shè)計(jì),因?yàn)檫@個(gè)接口僅僅用來進(jìn)行5V供電和一個(gè)USB2.0通信而已,并無復(fù)雜的音視頻及USB 3.0功能。
在實(shí)際的嵌入式開發(fā)中,一個(gè)USB-C接口的功能,可能遠(yuǎn)不止于此。下面我們就大功率供電供電、高速信號(hào)傳輸、雙C口DRP控制三點(diǎn)進(jìn)行闡述。
第一, 需要使用USB-C接口來獲得9V/12V/15V/20V的供電電壓。
很多嵌入式系統(tǒng)具有非常復(fù)雜的功能,僅僅5V的供電,是無法滿足要求的。那么這個(gè)時(shí)候,只是通過在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)用開發(fā)。
USB-C接口,可以同時(shí)支持10G/b的USB 3.1Gen2數(shù)據(jù)傳輸和4K高清視頻傳輸。但是要讓Sink端進(jìn)入DP ALT mode,這個(gè)是吧必須使用一顆USB PD Controller,例如LDR6282等。
這類USB PD控制芯片,充當(dāng)?shù)氖且粋€(gè)交通管理員的角色,通過USB PD通信,對(duì)USB-C數(shù)據(jù)線內(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)傳輸。
但用戶使用過程中,并不確定兩個(gè)中的哪一個(gè)口會(huì)插上電源,或者多媒體設(shè)備,因此需要滿足雙C口盲插識(shí)別和控制,最典型的應(yīng)用是USB-C接口的顯示屏和投影儀。
這就屬于比較復(fù)雜的USB PD控制功能了。目前市面上僅僅有LDR6282可以滿足這個(gè)需求。
用于雙C口DRP控制的USB PD芯片LDR6282
綜上所述,我們可以看出,對(duì)于USB-C接口僅僅用于供電和Debug功能的嵌入式系統(tǒng),USB-C接口并不需要使用任何芯片控制,通過CC1和CC2各自獨(dú)立下拉一個(gè)5.1k電阻到地即可。對(duì)于需要用到大功率供電或者高清視頻傳輸功能的嵌入式設(shè)計(jì),則必須要使用USB PD控制芯片。
評(píng)論