40-PIN 功能测试
CANBUS
CANBUS 简介
控制器区域网络(CAN总线)是一种车辆总线标准,旨在允许微控制器和设备相互通信。 它是一种基于消息的协议,最初设计用于汽车内部的多路电气布线, 以节省铜,但它也可以用于许多其他环境。 对于每个设备,帧中的数据是串行传输的,但如果多个设备同时传输,则最高优先级设备可以继续传输,而其他设备则后退。 帧被所有设备接收,包括发送设备。
准备
- 两块带有 CANBUS 的 Radxa 开发板
- 两个 CANBUS 模块
开启 Overlay
请参照设备树配置 启用 CANBUS 相关 Overlay, eg: "Enable CAN1-M0"。
连接
主设备 CAN 模块 CAN 模块 主设备
3.3V <--> VCC VCC <--> VCC
GND <--> GND GND <--> GND
CAN_TX <--> CTX CTX <--> CAN_TX
CAN_RX <--> CRX CRX <--> CAN_RX
CANH <--> CANH
CANL <--> CANL
安装测试工具
sudo apt update
sudo apt-get install can-utils iproute2
检查 CAN 节点
$ ip a
can0: flags=193<UP,RUNNING,NOARP> mtu 72
unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 10 (UNSPEC)
RX packets 144 bytes 1152 (1.1 KiB)
RX errors 175 dropped 0 overruns 0 frame 35
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 62
回还测试
一块板子作为发送端,另一块则作为接收端
- 发送端
$ sudo ip link set can0 down
$ sudo ip link set can0 type can bitrate 1000000 dbitrate 1000000 loopback on fd on
$ sudo ip link set can0 up
$ sudo cansend can0 123#11223344
- 接收端
$ sudo ip link set can0 down
$ sudo ip link set can0 type can bitrate 1000000 dbitrate 1000000 loopback on fd on
$ sudo ip link set can0 up
$ sudo candump can0
can0 123 [4] 11 22 33 44
开发参考
GPIO
GPIO 简介
通用输入/输出(GPIO)是集成电路或电子电路(如 MCU/MPU)电路板上的非专用数字信号引脚,可用作输入或输出,或同时用作输入和输出,并可由软件控制。
准备
- 一块 Radxa ROCK 5A
- 一个 LED 灯
连接
如图所示,连接 Radxa ROCK 5A 的 PIN_3
测试
输入测试
将 3 接地或者接 3.3V,
radxa@rock-5a:~$ gpioget gpiochip1 31
如果接的是地,该命令输出 0,如果接的是 3.3V,该命令输出 1。
输出测试
radxa@rock-5a:~$ sudo gpioset -m signal $(sudo gpiofind PIN_3)=0 # 输出低电平, Led 灭 radxa@rock-5a:~$ sudo gpioset -m signal $(sudo gpiofind PIN_3)=1 # 输出高电平, Led 亮
I2C
I2C 简介
I2C(Inter-Integrated Circuit;发音为 "eye-squared-see "或 "eye-two-see"),又称 I2C 或 IIC,是飞利浦半导体公司于 1982 年发明的一种同步、多控制器/多目标(历史上称为主/从)、单端、串行通信总线。
准备
- 一块 Radxa ROCK 5A
- 一个 OLED
开启 Overlay
请参照设备树配置启用 I2C 相关 Overlay, eg: "Enable I2C8-M2"。
连接
按照以下方式连接 Radxa ROCK 5A 和 OLED
Radxa ROCK 5A | <--> | OLED |
---|---|---|
PIN_5 | <--> | SCL |
PIN_3 | <--> | SDA |
PIN_1 | <--> | VCC |
PIN_9 | <--> | GND |