本帖最后由 起个名字好难啊 于 2024-12-17 20:45 编辑
本帖最后由 起个名字好难啊 于 2024-12-17 18:11 编辑
简介
AiPi-SCP-4.3 这个板子大家估计都已经记不起来了,现在和大家一起回忆一下。
AiPi-SCP-4.3
- 主控:Ai-M61-32S
- 屏幕尺寸:4.3寸,480*272 像素
- 支持 RS485 接口
前段时间,突然有客户想拿它做电动车的码盘,但是没有 CAN 接口。终于,经过一段时间的开发和测试,Ai-M61 支持了CAN的接口。
CAN 总线科普
CAN总线,全称为控制器局域网网络(Controller Area Network),是一种串行异步半双工通信协议,由德国博世公司(Bosch)在1980年代开发。它最初旨在解决汽车电子系统中多个控制器之间的通信问题,现已成为汽车、工业自动化、医疗设备等领域中的一种重要通信标准。
CAN总线在汽车电子领域中得到了广泛应用,如发动机控制单元、变速箱控制单元、车窗、车灯、空调、雨刷等车身控制设备,以及ABS(防抱死系统)、ESP(电子稳定程序)、安全气囊等安全系统。
简而言之:就是汽车上常用的一种通信总线,但是电动车也用上了。
测试准备
先准备好一下材料,才能开始 CAN 总线的测试:
- AiPi-SCP-4.3 板子+屏幕 x1
- CAN 转 TTL 模块 x1:购买链接
- USB 转 CAN 模块 x1 :购买链接
- 杜邦线 x2
- Type-C 数据线
- USB 转 CAN 模块驱动:点击下载
- CAN 测试上位机:点击下载
- Ai-M61 固件烧录软件:点击下载
- 测试固件:点击下载
- 指令表:点击查看
准备齐全之后,我们才能开始接下来的流程。
固件烧录
把测试固件下载之后,烧录到AiPi-SCP-4.3 当中,如果对烧录方法不清楚的话,可以参考这个帖子:https://blog.csdn.net/Boantong_/article/details/140183535?
进入下载模式
- 按住下载按钮
- 按一下复位按钮并松开
- 松开下载按钮
接线图
使用说明
上位机使用
连接设备
打开上位机之后,会自动进入连接界面,如果驱动安装成功,并且 USB-TO-CAN 模块连接上电脑之后,会显示如下信息:
如果没有显示模块信息,请重装驱动或者重新拔插 USB-TO-CAN。
界面说明
发送数据
数据说明
本固件的数据为8位16进制数据,数据结构如下:
帧头1 |
帧头2 |
属性位 |
数据1 |
数据2 |
数据2 |
帧尾1 |
帧尾2 |
0XAA |
0XAA |
见:属性码说明 |
保留 |
保留 |
保留 |
0X55 |
0X55 |
属性码说明
本次固件一共写了10种属性,十种属性分别对应屏幕上显示的十个信息,各属性及其属性码对应关系如下:
属性名称 |
属性码 |
备注 |
Speed |
0X01 |
当前速度 |
温度 |
0X02 |
|
时间 |
0X03 |
|
电量 |
0X04 |
|
ODO |
0X05 |
总里程 |
trip |
0X06 |
目的地距离 |
AVG.SPEED |
0X07 |
平均速度 |
MAX.SPEED |
0X08 |
最大速度 |
TIME |
0X09 |
开车时长 |
ETA |
0X0A |
预计达到时间 |
各属性和屏幕上的对应位置:
修改显示速度
点击 添加消息
图标或者在发送窗口点击 鼠标右键
-> "New Message"。来弹出消息配置窗口。
在消息配置窗口,配置如下信息:ID:1 ,Cycl Time:1000ms,Data 输入以下8 位数据:
AA AA 01 00 00 01 55 55
如下:
点击 OK
之后,就可以在发送窗口看到指令了,并且 AiPi-SCP-4.3 屏幕上的速度变成了1。
重新修改速度
双击刚刚创建的指令,在消息配置窗口把 Data 的 第5个 值,改成对应的速度即可,例如 80km/h 对应的16进制为:0X50。
如图:
点击 OK
之后AiPi-SCP-4.3 屏幕上的速度变成了80km/h。
修改电池电量
同样的,添加一条数据,ID 为 2 (不同消息 ID 不能相同),配置电量为25% (25 的 16进制值为 0X19),对应的数据帧如下:
AA AA 04 00 00 19 55 55
点击 OK
之后AiPi-SCP-4.3 屏幕上的电量值变成了 25%。
显示结果如下:
其他数据格式可以参考《CAN 数据指令说明书.pdf》。
声明
- 本固件功能主要显示 CAN 传输的数据,不做 CAN 性能做测试
- 只有2位数据显示的,数据不能超过100,如:电量,速度
- 因为此版本 SDK 不开放,因此 CAN 的源码不开源