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