Raspberry Pi公司开发了市场上可能是最受欢迎和广泛使用的单板计算机。这些强大的单板计算机长期以来不仅在制造者和爱好者场景中使用,而且也在工业领域中使用。
随着应用领域的扩展,这些板的形式因素正逐渐成为单板计算机和模块的“事实”标准。2020年底推出的计算模块CM4标志着系统模块的新形式因素标准的确立。
自那时起,来自Allwinner和Rockchip等制造商的各种SoCs,以及强大的FPGAs,已无缝集成到广泛采用的CM4形式因素中。
Pi.MX8模块将加入CM4兼容模块的列表。
鉴于有这么多兼容的SoMs可供选择,我们为什么还要投入时间设计另一个变体呢?
答案很简单:当我们围绕计算机模块构建一个复杂且有时成本高昂的系统时,我们也希望对模块本身拥有设计主权。我们希望能够访问模块的原理图和布局源数据,我们希望能够在组件短缺的情况下自己决定模块的BOM,最重要的是,我们希望能够访问PCB上使用的所有组件的文档。
所有这些只有在完全开源项目的背景下才可能实现,利用具有现成文档的组件。
之前Pi.MX8布局修订的图像
在这篇和后续的文章中,我们将探讨设计一个完全开源的CM4兼容模块。在我们的旅程结束时,CM4兼容模块的源数据将被发布,供任何人审查、修改或构建!
在选择任何外围组件之前,我们必须定义的核心构建块是系统芯片。有一款SoC满足了易于获取文档的所有要求,并且在行业中广泛使用,即NXP的i.MX8M Plus。
这款SoC提供了几种变体,从两个到四个Cortex-A53核心,时钟频率高达1.8 GHz。此外,这个处理器系列还内置了一个次级Cortex M7核心和一个集成的机器学习加速器。
i.MX8M Plus SoC硬件特性 - 图片来源:NXP网站
i.MX8提供了几乎所有与Raspberry Pi CM4模块上使用的BCM2711相同的外设接口,但有一个主要例外:
i.MX8上只有一个HDMI接口,而BCM2711上有两个端口。这个限制可以通过使用DSI到HDMI桥来绕过。为了保持部件数量和复杂性低,这个IC暂时不会集成在我们的模块上。
除了第二个HDMI接口外,i.MX8非常适合我们的应用!
模块的高级别块图只包含几个关键组件。中心构建块是i.MX8 SoC,它提供了所有必要外设组件的接口。简单来说,我们正在为i.MX8处理器构建一个分线板:
Pi.MX8的块图
让我们从系统的电源供应开始。电源管理IC(简称PMIC)提供了SoC所需的几个电压轨,但也设计用于为像SD卡连接器这样的接口供电。
PMIC还负责确保正确的上电和下电序列,这对于较大的SoC来说可能相当复杂。
NXP提供了一款专门为i.MX 8M应用处理器使用而开发的PMIC。该IC通过组合降压转换器和LDO生成多达11个电压轨。SoC的核心电压由降压转换器生成,因为在低操作电压下电流需求相当高。供应四个A53核心的电压轨是由PMIC中集成的双相降压转换器生成的,以满足高电流需求。
我们将使用的PMIC是PCA9450。
低容量的NOR flash可以用来存储板特定数据以及作为启动介质。i.MX8 SoC支持多个SPI接口来访问启动介质。在这种情况下,我们使用四路SPI接口连接到一个32MB的SPI NOR flash。
该设备是来自Integrated Silicon Solution, Inc.的IS25WP256D-RHLE。
这个特定的封装和引脚布局也可以从不同的制造商那里获得,这使得在出现可用性问题时可以更换组件。
以太网PHY需要支持千兆速度以及精确时间协议,以便与CM4功能兼容。与SoC的接口应该是一个简化的千兆位介质独立接口(RGMII)。这种接口类型得到了广泛的以太网PHY支持,用于嵌入式应用。
我们将使用来自Microchip Technology的LAN8840。
这款PHY支持千兆速度以及根据IEEE 1588-2008 (v2)的高精度时间戳记。QFN48封装也相对紧凑,节省了模块上宝贵的板空间。
我们将在Pi.MX8模块上使用低功耗DDR4内存。几家制造商提供相同封装和引脚布局的LPDDR4 IC,这使得在出现可用性问题时更容易应对,或支持多种内存容量。三星和美光是最常用的LPDDR4设备制造商。我们将使用支持32位宽总线以3733 Mbps的传输速度的设备。
Pi.MX8可以配备多种内存容量:
内存容量表
Coral Edge TPU可用于加速嵌入式设备上的神经网络计算。通常以M.2扩展卡的形式使用的Coral TPU,也提供小型LGA封装。
此模块包含张量处理器以及运行TPU所需的电源管理IC。我们需要为此模块提供PCIe接口,以利用可用的处理能力。
因为这个模块仅适用于少数特定用例且相对昂贵,我们将其作为一个装配变体来实现。
WiFi和蓝牙低能耗是物联网应用中最常用的无线接口之一。我们将使用MURATA LBEE5PK2BC模块作为一体化解决方案。
该模块同时提供W-LAN和蓝牙功能,同时最小化了所需外部组件的数量。并非每个应用都需要无线连接,这就是为什么WiFi/BLE模块也将作为一个装配变体来实现。
eMMC模块为Pi.MX8模块提供高达32GB的存储容量。与LPDDR4 DRAM一样,我们可以在遵循相同封装和引脚标准的多个制造商中选择eMMC存储模块。SanDisk是eMMC模块最常用的制造商之一。
eMMC也将作为一个装配变体来实现,以节省不需要高数据存储容量应用的BOM成本。
在进入下一阶段设置原理图和PCB设计之前,让我们快速查看一下我们刚刚选择的所有组件的空间要求。
为此,我们可以设置PCB库组件,并将它们放置在CM4外形尺寸的PCB轮廓内。
测试关键组件的适配性
所有关键组件都能够适配于CM4外形轮廓的顶层内。这种粗略的布局也显示出顶层留给较大组件的空间很少。我们使用的板对板连接器的配合高度仅为2mm。这限制了我们可以在PCB底层放置的组件的高度。理想情况下,所有关键组件都将放置在板的顶层,以避免与可能放置在模块下方的载板上的部件发生碰撞。
激动人心的更新即将到来!随着组件选择完成,我们的旅程将继续在即将到来的更新中完成原理图的最终确定。在开始时注意到PCB布局截图中缺少了什么吗?那是因为它是一个较旧的修订版,我们正在重新布线整个PCB以整合新功能。加入我们的行列,通过嵌入式的A365查看器和我们的公共工作区实时跟进进度!不要错过——敬请期待这一激动人心的转变!