买马资料图

买马资料图
您的位置:主页 > 买马资料图 >

从树莓派4 USB-C设计失误 看嵌入式系统的接口升级


发布日期:2020-01-28 05:58   来源:未知   阅读:

  近日,树莓派4 Model B(树莓派4B)正式发布,从处理能力,通信方式,对外接口都进行了全方位的升级,为嵌入式开发者带来了福音。

  收到货后,不少开发者怀着激动的心情开始尝试使用,结果却发现USB-C接口在设计规范性上出现了严重的问题。

  经过实际测试发现,树莓派4上面的这个USB-C接口,其CC1和CC2是连接在一起的,并共用了一颗5.1k的电阻下拉到地。

  这个设计看似非常巧妙,USB-C接口的控制做到了极致简单,只需要一颗5.1k下拉电阻。当外接的USB-C 数据线是不带Emark芯片的情况下,一起都可以正常工作。

  因为这类USB-C 数据线有连接到对端,所以,这种数据线B的USB-C接口母座一连起来,就非常好的符合了Sink端的设计规范,即CC1上,有一个5.1k的电阻下拉到地。

  但是,USB TYPE-C规范里面,还规定了一种带Emark 芯片的数据线(Cable),这种数据线K的下拉电阻,用来告知DFP端的CC识别芯片,需要往CC2上提供VCONN Source。

  一旦跟这样的数据线 Model B就会出现严重问题,因为CC1和CC2连接起来后,会跟数据线K到地电阻并联,形成一个比1k电阻还小的阻抗,从而满足了USB-C规范中Audio Adapter Accessory Mode的连接规范,被电源端误认为是一个模拟耳机设备,从而拒绝供电。

  解决这个问题的方法也很简单,只需要在CC1和CC2上各接一个5.1K电阻到地,互相独立就行了。

  树莓派4B在USB-C接口上的设计,其实属于入门级设计,因为这个接口仅仅用来进行5V供电和一个USB2.0 通信而已,并无复杂的音视频及USB 3.0功能。

  在实际的嵌入式开发中,一个USB-C接口的功能,可能远不止于此。下面我们就大功率供电供电、高速信号传输、双C口DRP控制三点进行阐述。

  很多嵌入式系统具有非常复杂的功能,仅仅5V的供电,是无法满足要求的。那么这个时候,只是通过在CC1和CC2上单独设置5.1k下拉电阻,就不够了,而是必须使用USB PD控制芯片,最好是能够灵活配置各种电压的USB PD控制芯片,例如LDR6015和LDR6021就可以实现这个功能。

  某些系统设计中,甚至希望USB PD控制芯片自动去判断适配器的最高功率档,让电源适配器直接供应最高功率给嵌入式系统,这个时候,就可以使用LDR6015Max,可以不需要任何的控制,直接获得最高功率。

  这类USB PD控制芯片,充当的是一个交通管理员的角色,通过USB PD通信,对USB-C 数据线内的高速差分对通路进行配置,让数据信号和视频信号适配到合适的差分对上。

  很多嵌入式应用不仅仅使用单个USB-C口,还可能会有两个USB-C口,其中一个C口用于供电,另外一个C口用于进行高速数据及视频信号传输。

  但用户使用过程中,并不确定两个中的哪一个口会插上电源,或者多媒体设备,因此需要满足双C口盲插识别和控制,最典型的应用是USB-C接口的显示屏和投影仪。

  这就属于比较复杂的USB PD控制功能了。目前市面上仅仅有LDR6282可以满足这个需求。

  综上所述,我们可以看出,对于USB-C接口仅仅用于供电和Debug功能的嵌入式系统,USB-C接口并不需要使用任何芯片控制,通过CC1和CC2各自独立下拉一个5.1k电阻到地即可。对

  于需要用到大功率供电或者高清视频传输功能的嵌入式设计,则必须要使用USB PD控制芯片。