树莓派计算模块4 VS 计算模块3
Raspberry Pi推出了计算模块4,作为计算模块3B+的后继者。计算模块4(CM4)是一个所谓的系统模块(SoM),它包含构成树莓派4的核心部件,例如,除此之外,还有不同尺寸的eMMC闪存(从Lite模块版本的无到32GB)。
CM4使设计者能够将强大的计算解决方案集成到他们的嵌入式产品中,而不必与Broadcom签署NDA,也不必承诺购买大量的SoC。他们还可以受益于Raspberry Pi硬件和软件设计团队的设计经验,当然还有Raspberry Pi社区和Raspberry Pi平台的广泛软件支持。
新一代计算模块的最大区别
新的形式因素
新的CM4没有像以前所有的计算模块(1、3、3+)那样机械地兼容DDR2-SODIMM,而是使用两个100针高密度Hirose连接器连接到你的计算模块承载板上。
这使得它的占地面积更小(55 mm x 40 mm x 4.7 mm,有4个M2.5安装孔),并提供新的高速接口。(如果采用DDR2-SODIMM的方法,Raspberry Pi的引脚就会用完!)
新的能力和界面
新的CM4有额外的接口。
- 一个额外的HDMI端口;两个HDMI端口都能进行4K输出,并支持HDMI 2.0
- PCI Express接口(Gen 2 x1 = 单通道)
- GBit以太网接口(Broadcom BCM54210PE PHY包含在计算模块的板上)--你需要在你的设计中添加的只是一个MagJack!
- 板载WLAN支持(在WiFi版本中),带有PCB追踪天线和可选的外部天线
显著简化的电源设计
你会震惊于为新的Raspberry Pi计算模块进行设计是如此简单。 一个单一的+5V电源 就可以了,它甚至可以在3.3V和1.8V下为你的外围设备提供高达600mA的电流。
不再需要添加不同的电源轨和仔细排序 - 这将大大简化你自己的载波板设计。
计算模块4和计算模块3的引脚差异
计算模块上有不同的针脚组,我们将依次看一下每个针脚组以及它们在不同版本之间的区别。
计算模块之间的GPIO引脚差异
在下表中,我列出了计算模块4(CM4)、计算模块3(cm3)和Raspberry Pi 4上的可用GPIO引脚,以及它们各自的引脚编号。
GPIO引脚按GPIO库划分,在Raspberry Pi SoC上,GPIO0-GPIO27引脚在GPIO库1,而GPIO28至GPIO45引脚在GPIO库2。CM3上的GPIO库可以用独立的电压驱动(GPIO0-27_VREF和GPIO28-45_VREF)。
在CM4和Pi 4上,只有第一个GPIO组(GPIO0 - GPIO27)被暴露。除此之外,CM4还暴露了GPIO44和GPIO45,它们通常用于驱动官方Raspberry Pi的摄像头和7英寸显示屏。因此,与CM3相比,CM4缺少了16个GPIO针脚。
GPIO BCM ID | CM4 引脚# | CM3 Pin# | Pi 4 Pin# | 注意事项 |
GPIO0 | 36 (ID_SD) | 3 | 27 | ID_SD = SDA0 |
GPIO1 | 35 (ID_SC) | 5 | 28 | ID_SC = SCL0 |
GPIO2 | 58 | 9 | 3 | SDA1 |
GPIO3 | 56 | 11 | 5 | 卫星导航系统(SCL1) |
GPIO4 | 54 | 15 | 7 | 辽宁省 |
GPIO5 | 34 | 17 | 29 | 辽宁省 |
GPIO6 | 30 | 21 | 31 | 辽宁省 |
GPIO7 | 37 | 23 | 26 | SPI0_CE1_N |
GPIO8 | 39 | 27 | 24 | 芯片 |
GPIO9 | 40 | 29 | 21 | SPI0_MISO |
GPIO10 | 44 | 33 | 19 | 芯片 |
GPIO11 | 38 | 35 | 23 | SPI0_SCLK |
GPIO12 | 31 | 45 | 32 | PWM0 |
GPIO13 | 28 | 47 | 33 | PWM1 |
GPIO14 | 55 | 51 | 8 | TXD0 / TXD1 |
GPIO15 | 51 | 53 | 10 | RXD0 / RXD1 |
GPIO16 | 29 | 57 | 36 | |
GPIO17 | 50 | 59 | 11 | |
GPIO18 | 49 | 63 | 12 | PCM_CLK |
GPIO19 | 26 | 65 | 35 | PCM_FS |
GPIO20 | 27 | 69 | 38 | PCM_DIN |
GPIO21 | 25 | 71 | 40 | PCM_DOUT |
GPIO22 | 46 | 75 | 15 | |
GPIO23 | 47 | 77 | 16 | |
GPIO24 | 45 | 81 | 18 | |
GPIO25 | 41 | 83 | 22 | |
GPIO26 | 24 | 87 | 37 | |
GPIO27 | 48 | 89 | 13 | |
GPIO28 | 28 | SDA0 | ||
GPIO29 | 30 | SCL0 | ||
GPIO30 | 34 | |||
GPIO31 | 36 | |||
GPIO32 | 46 | 辽宁省 TXD0 / TXD1 | ||
芯片 | 48 | RXD0 / RXD1 | ||
GPIO34 | 52 | 辽宁省 | ||
GPIO35 | 54 | SPI0_CE1_N | ||
GPIO36 | 58 | 芯片 TXD0 | ||
芯片 | 60 | SPI0_MISO 读取数据 | ||
GPIO38 | 64 | 芯片 | ||
GPIO39 | 66 | SPI0_SCLK | ||
GPIO40 | 70 | PWM0 / TXD1 芯片组:SPI2_MISO | ||
GPIO41 | 72 | PWM1 / RXD1 芯片组: 芯片组: 芯片组: 芯片组: SPI2_MOSI | ||
GPIO42 | 76 | 辽宁省 芯片 | ||
GPIO43 | 78 | 辽宁省 芯片 | ||
芯片 | 82 (SDA0) | 82 | 凸轮/分配 SDA0 / SDA1 辽宁省 芯片 | |
芯片 | 80 (SCL0) | 84 | 凸轮/分配 SCL0 / SCL1 芯片 |
有两条特殊的I2C总线--一条在GPIO0和GPIO1上,用于HAT EEPROM(ID_SD / ID_SC),另一条在GPIO44和GPIO45上,通常用于连接摄像机和显示器。
还要注意的是,在CM4上,你可以通过GPIO_VREF来设置GPIO输出电压,这可以连接到+1.8V或+3.3V,分别用于1.8V或3.3V信号。从数据手册上看,不清楚这将如何影响GPIO44和GPIO45,因为它们都在GPIO Bank 1中。
在CM4上,GPIO2和GPIO3(用于I2C)有1.8K的上拉电阻。
计算模块3+允许访问SPI2总线,这在其他任何地方都没有暴露 - 在CM4上,你只能访问SPI0和SPI1。
CM4将 不是 允许同时访问UART0(TXD0,RXD0)和迷你UART,UART1(TXD1,RXD1)。在这里,两者都暴露在GPIO14和GPIO15上作为替代。
然而,CM4和Raspberry Pi 4一样,包括额外的UART(总共多达6个UART)、SPI端口(总共多达6个SPI端口,其中5个在Pi 4和CM4上暴露)和I2C端口(多达6个I2C)。这些都可以作为GPIO Bank 0上的额外引脚复用选项。