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