CAN总线组网应用
1. 产品简介
使用CAN总线对交互数据进行传递,适用多设备数据交互。
2. 应用场景
有线组网,多设备通讯,数据交互。
3. 产品概述
本产品包括两个mcu,STC15W408AS和CH32V203G6,人机交互部分有按键、红外、0.96寸OLED显示屏,LED灯珠。按键状态可通过can总线传递到can总线,ID相邻的设备,设备根据不同的按键,点亮不同的LED 5秒钟。
CAN总线传递按键信息,当按键按下,STC单片机采集到按键信息通过uart传递给CH32单片机,CH32将数据发送到can总线,相邻设备can总线收到总线数据帧,在通过uart传递给本机的STC单片机,如果为相邻ID设备发起的信息,则点亮对应的led。持续5s后自动关闭。
OLED显示本机的ID,并显示了can总线的关键数据。
通讯使用can标准帧的8字节数据传递信息
AA ID XX -- -- -- -- --
第一字节固定为AA
第二字节为触发设备ID
第三字节为按键触发数据信息 01为S1触发,02为S2触发。
4. 产品参数
工作电压:DC7V-12V。
工作温度:-20℃至70℃。
OLED:0.96寸12864
红外接收频率:38K。
芯片间通讯:115200,8,none,1
Can通讯:250Kbps,标准帧,组网设备数量取决于设备距离,现场电磁环境等因素,理论可支持上百设备接入,注意应用中需要在终端至少接入一个120Ω匹配电阻(用跳线)。
PCB尺寸 :30*80mm双侧板设计,单面布局。
3D简介图
5. 使用说明
1) 分别烧录两个mcu固件,烧录后OLED显示ID为“0”;需要注意,组网测试需要至少两个电路板。
2) 设置ID:使用红外遥控器设置ID,流程为:按住S1按键的同时,按住遥控器的“IP”按键,此时OLED上的ID闪烁,这是按遥控器的“+”“-”按键可以调整ID数值,按“确认”后退出设置,每隔设备的ID不能一样,设置成连续数值即可。(需要注意的是,本人用的红外遥控器为项目定制,大家可以使用任意遥控器,修改代码中对应的键值即可)。
3) 修改完成后,ID信息可以断电保存,此时按下某一设备的S1按键,相邻ID设备的D3被点亮,持续5s,S2按键按下,相邻ID的D4指示灯被点亮。
资源分配:
硬件功能均有接入两个单片机,附件中两个mcu软件上的分工如下表:
6. 备注
附件包括软件源码,烧录hex文件,位号图文件等。其中沁恒的ch32单片机源代码建立在其官方例程文件夹内,因为里边有些文件路径的设置,还没细致梳理,索性都放在一起,直接调用。
Bom清单,显示器采购链接,每套元器件成本大概25元。
STC单片机烧录软件件为stc-isp-v6.90D或其官方最新版本。
烧录工具我用的是官方U8W mini下载器。
Ch32单片机使用编译器可直接下载,IDE太大无法加入附件,可自行去沁恒微电子官网下载。
Ch32下载工具为官方的WCH-LINK。
7. 测试视频
视频演示了 ID设置过程,以及触发响应过程。
点赞