# 接口
# System
# RTC
CM4 Nano板载RTC模块,该RTC模块挂载到了I2C0总线上,用来在没有网络的情况下,保持系统时间的稳定运行。在测试之前请确保在断电条件下,插入型号为CR1220的纽扣电池。如下图所示:
- 设置系统时间
sudo date -s "2021-08-15 00:00"
- 保存系统时间到RTC:
sudo hwclock -w
- 读取RTC时间
sudo hwclock
- 将硬件RTC时间同步到系统时间
sudo hwclock -s
# Micro SD Card
CM4 NANO板载一路SD卡接口,该接口仅具有拓展系统存储的作用,系统不能从SD卡启动,请注意,SD卡占用了40pin中的GPIO22-GPIO27,如果你希望将这些引脚用作其他功能,那么就不可以使用SD卡,否则会出现冲突。如果确实希望使用GPIO22-GPIO27,请不要安装SD卡以免出现问题。
关机后断开电源,将SD卡插入CM4 Nano底板的SD卡槽中,然后上电启动系统。即可在桌面看到拓展后SD卡的盘符,如下图:
# Boot
CM4 Nano上短接BOOT引脚和GND(J55),可以在上电时,阻止系统的正常启动,用来烧写系统,详细的使用过程请参考安装 (opens new window)。(请勿在其他场景下,将BOOT和GND短接,否则系统将不能正常启动)。
# Network
# Wireless
CM4模块可选配带有无线功能,包括:
- 2.4 GHz, 5.0 GHz IEEE 802.11 b/g/n/ac wireless
- Bluetooth 5.0, BLE
NOTE: 购买带无线功能的CM4模块可以参考订货编码。
# 选择内置或外置天线
CM4模块既支持板载的PCB天线,也支持外置天线,模块会在启动时,读取/boot/config.txt文件来选择天线的配置:
sudo nano /boot/config.txt
选择内置天线
dtparam=ant1
选择外置天线
dtparam=ant2
NOTE: 默认使用内置天线
# 打开无线功能
CM4 Nano上的无线网络功能默认关闭,执行下面的命令打开:
桌面版
在设置菜单中打开Raspberry Pi Configuration application , 选择Localisation 并按照提示填写。
Lite版
sudo raspi-config
# Ethernet
CM4 Nano板载一路千兆以太网接口。在测试之前请准备一根网线,和可以连接网络的路由器。连接好网线和其他的必要设备,上电后,系统会自动获取IP地址。
ping www.baidu.com -I eth0
# Display
# Raspberry Pi Touch Display
CM4 Nano 提供1路标准触摸屏DSI接口(J8),接入官方7寸触摸屏进行测试。测试前需准备一根DSI排线和官方触摸屏。在断电连接时,注意排线的插入方向,红色线是5V,黑色是GND,如下图所示:
- 上电后即可在触摸屏上看到系统界面,如下图所示:
# HDMI
CM4 Nano板上的HDMI功能默认开启(J9),可直接插入HDMI线,连接显示器进行测试。
- 通过修改config.txt文件,可调节HDMI的输出分辨率,重启后生效。
sudo vi /boot/config.txt
framebuffer_width=1280
framebuffer_height=720
# Video
# Camera
CM4 Nano 提供1路标准摄像头CSI接口(J7),可以接入树莓派官方摄像头进行拍照或者录像测试。测试前请准备一根CSI排线和一个官方摄像头。请在断电的情况下连接,在连接时请注意排线的插入方向,如下图所示:
系统上电后,打开终端,在终端中输入以下命令测试:
- 系统默认关闭了摄像头接口,执行下面的操作打开摄像头
sudo raspi-config
- 在弹出的菜单中,选择第五项,“Interfacing Options”,如下图所示
- 在弹出的菜单中选择Camera,如下图所示:
- 在弹出框中选择Yes,如下图所示:
退出配置菜单并重启即可。
开机进入系统后,打开终端,执行下面的命令进行拍照:
sudo raspistill -o 1.jpg
- 执行下面的命令进行录像:
sudo raspivid -o 1.flv
# Connectivity
# USB 2.0
CM4 Nano具有一路USB 2.0接口,可以用于启动前系统的烧录(参考"安装 (opens new window)"),进入系统后还可以当作普通的USB口连接鼠标或者键盘使用。
# Buzzer
CM4 NANO板载一个蜂鸣器,由GPIO6引脚的高低电平控制,进入系统后,在终端中输入以下命令测试
sudo echo 6 > /sys/class/gpio/export
sudo echo out > /sys/class/gpio/gpio6/direction
- 打开蜂鸣器
sudo echo 1 > /sys/class/gpio/gpio6/value
- 关闭蜂鸣器
sudo echo 0 > /sys/class/gpio/gpio6/value
# USB 3.0
CM4 Nano 板载3路USB 3.0接口,两路为USB typeA Host,一路为USB typeC host,可接入U盘进行测试,其中USB typeC host的测试需要另外准备一个USB转接头,如下图所示:
将待测试的U盘插入任意一个USB 3.0口中,如下图所示:
- 查看usb设备情况,其中Driver=usb-storage是插入的U盘:
lsusb -t
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
|__ Port 2: Dev 2, If 0, Class=Mass Storage, Driver=usb-storage, 5000M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/1p, 480M
|__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M
- 使用hdparm软件测试U盘的速度
sudo hdparm -t /dev/sda
/dev/sda:
SG_IO: bad/missing sense data, sb[]: 70 00 05 00 00 00 00 14 00 00 00 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Timing buffered disk reads: 380 MB in 3.01 seconds = 126.37 MB/sec
# Bluetooth
cm4模组可选板载一个Bluetooth 5.0 BLE模块,用于连接蓝牙设备。
- 进入bluetootch shell
sudo bluetoothctl
- 使能Bluetooth
power on
- 扫描设备
scan on
Discovery started
[CHG] Controller B8:27:EB:85:04:8B Discovering: yes
[NEW] Device 4A:39:CF:30:B3:11 4A-39-CF-30-B3-11
- 查找开启的蓝牙设备名称,这里测试开启的蓝牙设备名称是test
devices
Device 6A:7F:60:69:8B:79 6A-7F-60-69-8B-79
Device 67:64:5A:A3:2C:A2 67-64-5A-A3-2C-A2
Device 56:6A:59:B0:1C:D1 Lefun
Device 34:12:F9:91:FF:68 test
- 配对test设备
pair 34:12:F9:91:FF:68
Attempting to pair with 34:12:F9:91:FF:68
[CHG] Device 34:12:F9:91:FF:68 ServicesResolved: yes
[CHG] Device 34:12:F9:91:FF:68 Paired: yes
Pairing successful
- 连接蓝牙
trust 34:12:F9:91:FF:68
[CHG] Device 34:12:F9:91:FF:68 Trusted: yes
Changing 34:12:F9:91:FF:68 trust succeeded
# Expansion
# 40pin
CM4 Nano 向外拓展了标准的40pin引脚,兼容市面上的拓展模块。包含17个GPIO, 外加下列外设(亦可当作GPIO使用):UART、I²C、带两个选择的SPI总线,+3.3 V、+5 V、地线。每个GPIO引脚均可被定义为输入或者输出引脚,或者定义为其他功能。
# 电压
板上有两个 5V 引脚和两个 3V3 引脚,以及一些不可配置的接地引脚 (0V)。其余引脚均为通用 3V3 引脚,输出可以设置为 3V3,输入可兼容 3V3。
# 输出
GPIO引脚可以指定配置高电平(3V3)或低电平(0V)。
# 输入
指定为输入引脚的 GPIO 引脚可以读取为高 (3V3) 或低 (0V)。引脚 GPIO2 和 GPIO3 具有固定的上拉电阻,但对于其他引脚,可以在软件中进行配置。
# 复用
GPIO引脚可以复用为多种功能:
PWM(pulse-width modulation)
对于软件PWM,所有的引脚均可实现。
对于硬件PWM,指定的引脚为:GPIO12,GPIO13,GPIO18,GPIO19.
SPI
- SPI0: MOSI (GPIO10); MISO (GPIO9); SCLK (GPIO11); CE0 (GPIO8), CE1 (GPIO7)
- SPI1: MOSI (GPIO20); MISO (GPIO19); SCLK (GPIO21); CE0 (GPIO18); CE1 (GPIO17); CE2 (GPIO16)
I2C
- Data: (GPIO2); Clock (GPIO3)
- EEPROM Data: (GPIO0); EEPROM Clock (GPIO1)
Serial
- TX (GPIO14); RX (GPIO15)