Compute Module IO Board Plus

来自丢石头百科
Compute Module IO Board Plus
Compute Module IO Board Plus
基本信息

分类: 树莓派 Arduino Compute Module

品牌: Waveshare

功能简介
特性

Raspberry Pi Arduino适配板

接口

RPi接口 Arduino接口 ONE-WIRE接口 USB接口 IR接口 AD接口 DA接口 USB接口 UART接口

相关产品

{{{related}}}

本品是一块基于树莓派计算模块的外扩板,与树莓派基金会提供的 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-IO-Board-Plus-intro.jpg
  1. Compute Module接口: 可接入Compute Module 3/3 Lite/3+/3+ Lite
  2. Compute Module GPIO接口: 引出Compute Module所有接口
  3. Raspberry Pi GPIO接口: 可接入各种Raspberry Pi HAT
  4. CSI摄像头接口: 可接入Raspberry Pi Camera
  5. DSI显示接口: 可接入Raspberry Pi LCD
  6. HDMI接口: 可接入各种HDMI设备
  7. USB接口: 可接入各种USB设备
  8. USB SLAVE接口: Compute Module 3+可通过此接口烧录系统镜像
  9. USB TO UART接口: 方便进行串口调试
  10. Arduino接口: 方便接入各种Arduino扩展板(Shield)
  11. AD/DA输入输出接口(接线端子): 方便在各种场合使用
  12. 1-WIRE接口: 可接入DS18B20等单总线设备
  13. 传感器接口: 方便接入各类传感器
  14. 电源接口: 一般接入5V 2.5A电源
  15. FE1.1S: USB HUB芯片
  16. 12MHz晶振
  17. CP2102: USB转串口芯片
  18. Micro SD卡槽: 用于接入带系统的Micro SD卡,以启动Compute Module 3 Lite/3+ Lite
  19. TLC1543: AD转换芯片
  20. DAC8552: 16位高精度DAC,2通道输出
  21. DS3231: 高精度RTC芯片,I2C接口
  22. RTC实时时钟供电电池座: 可接入CR1220纽扣电池
  23. 电源稳压芯片: 从上到下,分别是3.3V / 2.5V / 1.8V 稳压芯片
  24. LFN0038K红外接收头
  25. 蜂鸣器
  26. 电源LED
  27. ACT LED: 指示Micro SD卡运行状态
  28. 用户LED: 便于I/O输出测试或显示程序运行状态
  29. 用户按键: 便于I/O输入测试或控制程序运行状态
  30. BOOT选择跳线
    EN:PC机可通过USB SLAVE,读写SD卡或eMMC
    DIS:计算模块从SD卡或者eMMC启动
  31. VGx电源选择跳线: 选择 I/O 电平
  32. HUB使能跳线: HUB使能和USB SLAVE供电选择
  33. ADC/DAC配置跳线: 配置ADC/DAC供电电压和参考电压
  34. 多种外设配置跳线: 配置UART、用户按键、用户LED、1-WIRE接口、红外接收头和蜂鸣器的控制引脚
  35. 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
Compute-Module-Board-Manual-1.png
  • 在rpiboot_setup的安装目录下,找到rpiboot.exe文件,以管理员身份运行。在成功运行之后,你会发现CM3/CM3+在PC中被识别为一个移动盘。(注意:CM3+第一次使用的时候,可能需要你在PC的磁盘管理中手动做格式化并分配驱动符,才可以在我的电脑中被发现)
  • 使用WinDiskImager.exe烧录工具,选择之前下载的树莓派镜像文件,将镜像烧写到EMMC中(即PC识别出来的盘,注意先格式化)
  • 烧写完成之后,将BOOT ENABLE USB SLAVE跳线帽短接DIS一端,并插回USB SLAVE1/2/3/4 Select跳线帽
Compute-Module-Board-Manual-2.png
  • 接入电源到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
  • 显示摄像头,可以分别执行指令:
    • raspivid -t 0 -cs 0
    • raspivid -t 0 -cs 1

【注意】

1. -cs命令用于选择摄像头0或者1,参数0代表CAM1,参数1代表CAM0

官方设备的设置方法

官方的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

如果你使用的是我们提供的镜像,相关的文件已经配置好了,无需另外再设置

Compute-Module-Board-Manual-3.jpg

示例程序

使用示例程序的时候,需要连接一个屏幕用户显示,一个键盘用于输入。你也可以连接无线网卡,然后远程控制。

如果你使用的是官方的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
wirignPi
  • 终端执行指令进入程序所在目录
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。电脑端打开Putty软甲,设置串口波特率为115200

电脑端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 终止程序

FAQ


问题:
CM3模块增加网口连接网络?
答复:

可以用杜邦线连接ENC28J60 Ethernet Board 扩展网口。

ENC28J60 Ethernet Board

在树莓派/boot/config.txt文件中添加语句:

dtoverlay = enc28j60

重启后既可以识别到网口。

默认接线如下:

  • 3.3V---------3.3V
  • GND--------GND
  • MISO-------P9/MISO
  • MOSI-------P10/MOSI
  • SCK---------P11/SCLK
  • CS---- ------P8/CE0
  • INT----------P25
  • WOL--------NC

详细设置可以看 /boot/overlay/README

Compute Module IO Board Plus FAQ1.png




Icon-mail.png 联系 丢石头

我们的工作时间是: 09:00-18:00 (UTC+8 周一到周六)