如何设计Connectcore 95和ConnectCore 8m mini的兼容板卡

当我们开始一款硬件设计时,最完美的方案就是在满足性能要求的情况下,尽可能有更多的模块可兼容贴片设计。这在ConnectCore系列产品是很方便的。不过当我们使用smartIOmux设计Connectcore 95和ConnectCore 8m mini时,会发现,怎么很多资源都看不到了?事实上,由于ConnectCore 95很新,相关的支持还在更新中,而由于8m mini有许多资源是放在开放板而非模块上,所以不能只从共用的设计文件上看资源。

事实上,不应该是两种方案共用一个设计文件,为了完美设计,通常需要创建三个设计文件,CC8m_mini, CC95和cc95_8m_mini,分别设计时,最终让三个设计文件的引脚不发生冲突即可,同时尽可能和模块原有的资源。最终CC8m_mini和CC95各自设计文件来生成驱动,而不同模块的资源在布线到物理接口时,采用通道开关来处理,以便发挥最大作用。

举个粟子:

LVDS如何添加?

因为ConnectCore 8m mini是通过MIPI DSI接口来转LVDS和HDMI,当你选中兼容设计时,是看不到显示接口,但我们仍可以应用,因为cc8m mini和CC95的MIPI DSI焊盘接口完全一样,只不过CC95有原生的LVDS,所以在做兼容设计时,我们可以让CC8m mini使用DSI转LVDS,而对于CC95,用它原生的LVDS焊盘,或是也一样用MIPI转LVDS。特别是如果需要LVDS和HDMI双显示的情况下,使用一个MIPI DSI接口即可。如果我们想用原生的lvds,则在画板时可用一个通道选择开关控制来让哪种信号连到LVDS物理接口上。

在电路原理图上,对不同模块做适配处理,比如在CC95,如果不用DSI转LVDS而只用原生的,那么就不需要贴那个转接芯片。

CAN接口如何添加?

在Connectcore 8m mini上,CAN是通过桥接芯片来扩展的,而Cc95有原生的CAN FD,由上面的例子类似,我们只需添加原生CC95的CAN (在不选中兼容时可找到),而把CC8m mini的扩展的CAN接口和原生CC95的接口用同样的通道选择开关来控制连到物理CAN接口上。

在电路原理图上,CC95原生的CAN所对应的焊盘,在CC8m mini上,用GPIO占好位并锁定,以防止其它资源分配焊盘而产生冲突。

模拟量输入

CC8m mini没有处理器上的模拟量输入,它是使用协处理器的,在CC8m_mini的设计文件上添加模拟量输入,查看它分配到哪个焊盘作为参照,然后在CC95的设计文件中添加原生的模拟量输入,并分配置到同一个焊盘,如果发现无法分配到同一焊盘时,可尝试调整更改参照源,再去适配,多试几次,直到有足够的模拟量输入焊盘得到分配,然后锁定它。

GPIO和其它接口选择

这是兼容设计文件的主要作用,它就是可以自动选择两种模块都有的接口并分配,只是这些接口焊盘不要侵占到上面这三种已经找出来的焊盘,而是只能用剩下可用的焊盘,这些接口就可以在两种模块的设备树中共同使用相同的节点。

在我们完成设计后,就可以用原生的CC8m mini设计文件和原生的CC95设计文件来各自处理贴片时的设备树驱动。