Compute Module IO Board Plus
| ||||||||||||||||||||||
| ||||||||||||||||||||||
本品是一块基于树莓派计算模块的外扩板,与树莓派基金会提供的 Compute Module IO Board V3 兼容, 并扩展了多种常用的资源。支持树莓派官方的 Compute Module 3 Lite, Compute Module 3, Compute Module 3+ Lite, Compute Module 3+ (8G/16G/32G).
特点
- 兼容树莓派基金会提供的 Compute Module IO Board V3
- 带有 Raspberry Pi GPIO 接口, 方便接入各种树莓派扩展板
- 带有 Arduino 接口,方便接入各种 Arduino 扩展板
- 带有 1-WIRE 接口,方便接入各种单总线设备(如 DS18B20)
- 板载 4 个按键、4 个 LED 和 1 个蜂鸣器,方便进行 I/O 测试
- 板载 USB HUB,方便接入更多的 USB 设备
- 板载红外接收器,方便使用红外遥控功能
- 板载 USB TO UART,方便进行串口调试
- 板载传感器接口,方便接入各种传感器
- 板载 ADC,10 位,38KSPS,11 通道(6 通道用于 Arduino 接口,5 通道用于接入传感器)
- 板载 DAC,2 通道,16 位精度
- 板载 RTC,这是常用的功能之一
板载资源
- Compute Module接口: 可接入Compute Module 3/3 Lite/3+/3+ Lite
- Compute Module GPIO接口: 引出Compute Module所有接口
- Raspberry Pi GPIO接口: 可接入各种Raspberry Pi HAT
- CSI摄像头接口: 可接入Raspberry Pi Camera
- DSI显示接口: 可接入Raspberry Pi LCD
- HDMI接口: 可接入各种HDMI设备
- USB接口: 可接入各种USB设备
- USB SLAVE接口: Compute Module 3+可通过此接口烧录系统镜像
- USB TO UART接口: 方便进行串口调试
- Arduino接口: 方便接入各种Arduino扩展板(Shield)
- AD/DA输入输出接口(接线端子): 方便在各种场合使用
- 1-WIRE接口: 可接入DS18B20等单总线设备
- 传感器接口: 方便接入各类传感器
- 电源接口: 一般接入5V 2.5A电源
- FE1.1S: USB HUB芯片
- 12MHz晶振
- CP2102: USB转串口芯片
- Micro SD卡槽: 用于接入带系统的Micro SD卡,以启动Compute Module 3 Lite/3+ Lite
- TLC1543: AD转换芯片
- DAC8552: 16位高精度DAC,2通道输出
- DS3231: 高精度RTC芯片,I2C接口
- RTC实时时钟供电电池座: 可接入CR1220纽扣电池
- 电源稳压芯片: 从上到下,分别是3.3V / 2.5V / 1.8V 稳压芯片
- LFN0038K红外接收头
- 蜂鸣器
- 电源LED
- ACT LED: 指示Micro SD卡运行状态
- 用户LED: 便于I/O输出测试或显示程序运行状态
- 用户按键: 便于I/O输入测试或控制程序运行状态
- BOOT选择跳线
- EN:PC机可通过USB SLAVE,读写SD卡或eMMC
- DIS:计算模块从SD卡或者eMMC启动
- VGx电源选择跳线: 选择 I/O 电平
- HUB使能跳线: HUB使能和USB SLAVE供电选择
- ADC/DAC配置跳线: 配置ADC/DAC供电电压和参考电压
- 多种外设配置跳线: 配置UART、用户按键、用户LED、1-WIRE接口、红外接收头和蜂鸣器的控制引脚
- Arduino AD选择跳线
- 短接1与2:Arduino接口的A0-A5作为数字控制脚
- 短接2与3:Arduino接口的A0-A5作为AD输入脚
程序下载
- 在资料界面点击下载示例程序。
- 在下面烧写树莓派镜像之后,复制到SD卡或者EMMC的BOOT目录下。(如果使用我们配置好的镜像,无需下载示例程序)
- 在资料界面点击下载rpiboot_setup软件,下载之后,解压并安装rpiboot。注意记住安装目录,
镜像烧写
在Compute Module IO Board Plus (简称IO Board)上,有一个SD卡卡槽,注意这个卡槽是在配合Compute Module 3 Lite (简称CM3L) 和 Compute Module 3+ Lite(简称CM3+L)使用的时候,插入系统卡(SD卡)使用。 如果你使用的是Compute Module 3 (简称CM3)或者Compute Module 3+ (三个版本统称CM3+), 系统是需要烧写到内部EMMC,从EMMC启动的。
下载镜像
- 从树莓派官网下载最新的Raspbain镜像,或者在#资料下载我们配置好的镜像文件。
- 将下载下来的压缩包解压,获得.img文件
烧写镜像到CM3L/CM3+L
- SD卡和读卡器需要另外购买,注意SD卡至少需要8G(建议您购买16G的SD卡)
- 打开烧录工具Win32DiskImager.exe文件(可以在资料界面获取),选择下载下来的树莓派镜像,烧录.(同正常烧写树莓派镜像一致)
- 烧录成功后,把SD卡插到IO Board的SD卡卡槽接口
烧写镜像到CM3/CM3+
- 下载树莓派镜像,并解压获得.img文件
- 将CM3/CM3+插入IO Board中,将BOOT ENABLE USB SLAVE跳线帽短接EN一端, 拔掉USB SLAVE1/2/3/4 、Select跳线帽。用USB线将IO Board的USB SLAVE 接口连接到PC
- 在rpiboot_setup的安装目录下,找到rpiboot.exe文件,以管理员身份运行。在成功运行之后,你会发现CM3/CM3+在PC中被识别为一个移动盘。(注意:CM3+第一次使用的时候,可能需要你在PC的磁盘管理中手动做格式化并分配驱动符,才可以在我的电脑中被发现)
- 使用WinDiskImager.exe烧录工具,选择之前下载的树莓派镜像文件,将镜像烧写到EMMC中(即PC识别出来的盘,注意先格式化)
- 烧写完成之后,将BOOT ENABLE USB SLAVE跳线帽短接DIS一端,并插回USB SLAVE1/2/3/4 Select跳线帽
- 接入电源到POWER接口启动即可。
【注意】
- 在镜像烧写过程中,注意PC尽量不要对其他USB存储设备进行写操作,避免出现冲突。由于CM3的EMMC只有4G(最新的CM3+扩大了EMMC容量,可以支持正常的树莓派镜像),所以烧写的镜像大小不可以超过4G。因此,如果你使用的是CM3,建议用Lite版本的镜像,然后再安装完成后,再运行下面的指令安装GUI(注意需要联网,你可能需要连接无线网卡)
sudo apt-get update sudo apt-get install raspberrypi-ui-mods
连接屏幕和摄像头
如果你使用的是我们提供的树莓派镜像,只要连接好硬件就可以使用,如果使用的树莓派官方镜像,可能还需要做配置,具体以个人的实际情况为准
连接树莓派官方7寸屏
- 用LCD转接板和22PIN FFC排线将树莓派屏幕连接到IO Board的DISP1接口
- 用杜邦线将5V和GND引脚连接到IO Board的5V和GND引脚
- 使用杜邦线短接:
- GPIO0 <-> CD1_SDA
- GPIO1 <-> CD1_SCL
- 连接电源
- 等待一段时间后系统启动,并点亮屏幕
【注意】
- 如果屏幕没有正常显示,请检查一下硬件连接和软件配置是否正常(软件配置请参考下面的[#官方设备的设置方法])
连接微雪电子屏幕
- 微雪电子有多款HDMI屏幕可以支持树莓派。这里我们以7inch HDMI LCD (C)为例
- 确保树莓派官方屏幕并没有接到IO Board上,否则HDMI屏幕无法显示
- 使用HDMI线连接IO Board的HDMI接口和7inch HDMI LCD (C)的屏幕,USB线连接IO Board的SLAVE接口和屏幕的Touch接口
- 连接电源
- 等待一段时间后系统启动并点亮屏幕
【注意】
- 如果你使用的是树莓派官方屏幕,在连接屏幕的时候还需要设置一下分辨率,否则HDMI屏幕无法正常显示,具体设置方法详见屏幕的资料界面
连接摄像头
- 将摄像头连接到CAM1接口(注意这里可能需要使用RPi zero V1.3 Camera cable)
- 用杜邦线短接:
- GPIO0 <-> CD1_SDA
- GPIO1 <-> CD1_SCL
- GPIO4 <-> CAM1_IO1
- GPIO5 <-> CAM1_IO0
- 连接电源
- 你可以同时接入两个摄像头,将另一个摄像头截图到CAM0接口
- 用杜邦线短接:
- GPIO28 <-> CD0_SDA
- GPIO29 <-> CD0_SCL
- GPIO30 <-> CAM0_IO1
- GPIO31 <-> CAM0_IO0
- 显示摄像头,可以分别执行指令:
- 查看接入的第一个摄像头画面:
sudo raspivid -t 0 -cs 0
- 查看接入的第二个摄像头画面:
sudo raspivid -t 0 -cs 1
其中-cs参数表示接入的是第几个摄像头,但-cs参数表示的摄像头号和板子及外壳丝印并不完全一致(参数-cs表示的是接入的第几个摄像头,若仅接入了一个摄像头到CAM1接口,则查看该摄像头命令的-cs参数为0,以表示接入的第0个摄像头)。
官方设备的设置方法
官方的Raspbian镜像默认是没有添加官方摄像头和官方7寸屏的配置启动文件。如果你使用官方的Raspbian镜像,需要把官方的dts文件转换为bin文件放入到系统/boot/下。(dts文件示例程序中有提供,位于/Program/dt目录下)
转换命令:
sudo dtc -I dts -O dtb -o /boot/dt-blob.bin dt-blob-disp1-cam2.dts
如果你使用的是我们提供的镜像,相关的文件已经配置好了,无需另外再设置
示例程序
使用示例程序的时候,需要连接一个屏幕用户显示,一个键盘用于输入。你也可以连接无线网卡,然后远程控制。
如果你使用的是官方的Raspbian镜像,使用示例程序的时候需要先安装bcm2835, wiringPi和python函数库,安装方法详见树莓派安装必要的函数库
PWM: 蜂鸣器实验
- Python
- 终端执行指令进入程序所在目录:
cd /home/pi/CM3/Buzzer_PWM/python/
- 执行指令运行程序
sudo ./buzzer.py
- wiringPi
- 终端执行指令进入程序所在目录:
cd /home/pi/CM3/Buzzer_PWM/wiringPi/
- 执行指令运行程序:
sudo ./buzzer
- 预期结果
:蜂鸣器的声音由小变大,然后再变小 【注意】在使用过程中,蜂鸣器有时候由于引脚干扰会自动响起,你可以把USER_JMP最后一个BUZ跳线帽拔掉即可。
DAC实验
- BCM2835
- 终端执行指令进入程序所在目录
cd /home/pi/CM3/DAC8532
- 执行指令运行程序
sudo ./dac8532
- 预期结果
- LED1和LED2交替闪烁,分别由亮变暗,再由暗变亮
DS18B20实验
本例程另外需要DS18B20(需要另外购买),按照丝印提示,将DS18B20半圆边对着蜂鸣器插入1-WIRE接口。注意不要插反,避免产生高温灼伤手指
- sysfs
- 终端执行指令进入程序所在目录:
cd /home/pi/CM3/DS18B20/fs/
- 执行指令运行程序:
sudo ./ds18b20
- Python
- 终端执行指令进入程序所在目录
cd /home/pi/CM3/DS18B20/python/
- 执行指令运行程序
sudo ./ds18b20.py
- 预期结果
- 终端会打印当前温度的测量结果。你可以按Ctrl+C终止程序
RTC: DS3231实验
- BCM2835
- 终端执行指令进入程序所在目录
cd /home/pi/CM3/DS3231/bcm2835/
- 执行指令运行程序
sudo ./ds3231
- wirignPi
- 终端执行指令进入程序所在目录
cd /home/pi/CM3/DS3231/wiringPi/
- 执行指令运行程序
sudo ./ds3231
- Python
- 终端执行指令进入程序所在目录
cd /home/pi/CM3/DS3231/python/
- 执行指令运行程序
sudo ./ds3231.py
- 预期结果
终端会打印时间信息。按下Ctrl+C 可以终止程序
IRM红外遥控实验
- 注意这里需要用到红外遥控器,使用时候注意取下电池隔离纸
- BCM2835
- 终端执行指令进入程序所在目录
cd /home/pi/CM3/IRM/bcm2835/
- 执行指令运行程序
sudo ./irm
- wiringPi
- 终端指令指令进入程序所在目录
cd /home/pi/CM3/IRM/wiringPi/
- 执行指令运行程序:
sudo ./irm.py
- 预期结果
- 按下红外遥控器的按键,终端会打印当前按下的按键对应的数值。按Ctrl+C可以终止程序
按键实验
- BCM2835
- 终端执行指令进入程序所在目录
cd /home/pi/CM3/KEY/bcm2835/
- 执行指令运行程序
sudo ./key
- wiringPi
- 终端执行指令进入程序所在目录
cd /home/pi/CM3/KEY/wiringPi/
- 执行指令运行程序:
sudo ./key
- python程序
- 终端执行指令进入程序所在目录:
cd /home/pi/CM3/KEY/python/
- 执行指令运行程序:
sudo ./key.py
- 预期结果
- 按下IO Board 上面的按键KEY1, KEY2,KEY3和KEY4,终端会打印当前按下的按键的信息,例如按下KEY1, 会显示press the key: 0的信息。按下Ctrl+C终止程序
LED实验
- BCM2835
- 终端执行指令进入程序所在目录
cd /home/pi/CM3/LED/bcm2835/
- 执行指令运行程序
sudo ./led
- wiringPi
- 终端执行指令进入程序所在目录
cd /home/pi/CM3/LED/wiringPi/
- 执行指令运行程序
sudo ./led
- Python
- 终端执行指令进入程序所在目录
cd /home/pi/CM3/LED/python/
- 执行指令运行程序
sudo ./led.py
- 预期结果
- IO Board 上的4个LED灯轮流闪烁。 按下Ctrl+C终止程序
ADC实验
- BCM2835
- 终端执行指令进入程序所在目录
cd /home/pi/CM3/TLC1543/bcm2835/
- 执行指令运行程序
sudo ./tlc1543
- wiringPi
- 终端执行指令进入程序所在目录
cd /home/pi/CM3/TLC1543/wiringPi/
- 执行指令运行程序
sudo ./tlc1543
- Python
- 终端执行指令进入程序所在目录
cd /home/pi/CM3/TLC1543/python/
- 执行指令运行程序
sudo ./tlc1543.py
- 预期结果
- 终端会打印AD数据。 按下Ctrl+C终止程序
串口通信实验
用USB数据线将IO Board的USB TO UART接口连接到PC。电脑端先安装CP2102驱动。 然后打开PuttyPuTTY软件,设置串口波特率为115200和COM口。COM口通过设备管理器查看。
电脑端putty软件输入树莓派的用户名和密码登录(一般情况下,用户名和密码默认为pi和raspberry)
- wirignPi
- 终端执行指令进入程序所在目录(树莓派)
cd /home/pi/CM3/UART/wiringPi/
- 执行指令运行程序:
sudo ./uart
- Python
- 终端执行指令进入程序所在目录
cd /home/pi/CM3/UART/python/
- 执行指令运行程序
sudo ./usart.py
- 预期结果
- 程序运行后,可以到到PC端的Putty界面打印出Hello World!!!字样。按下Ctrl+C 终止程序
资料
文档
程序
软件
镜像
- Compute Module 3/3 Lite/3+/3+ Lite镜像
链接:https://pan.baidu.com/s/16A7rscYvs1GuSurFdvKg8Q 密码:mgmn
开发资料
FAQ
- 确定你的CM3/CM3+版本是否正常,eMMC版本的CM3/CM3+背面会多一颗IC。只有eMMC版本的,才可以通过USB SLAVE方式烧录。
- 推荐使用WIN10系统进行烧录,多数用户反馈WIN7或linux系统烧录不稳定。
- 注意Power接口需要接入5V 2A或以上的电源适配器,尝试重新给主板上电。
- 注意以管理员权限打开软件rpiboot.exe。
- 更换一条USB数据线。
- 更换一个PC机的USB接口。
- 尝试重新拔插CM3/CM3+。
- 尝试重启PC机。
- 尝试在另一台电脑烧录。