RTT小师弟 · 2022年03月02日

【N32G457 】基于RT-Thread和N32G457的CAN网关

在这里插入图片描述

本文是RT-Thread用户@xiere 原创发布,是用于参加RT-Thread与国民技术联手推出N32G457 RT-Thread设计大赛,原文:https://club.rt-thread.org/as...

基于RT-Thread系统和N32G457开发板开发的一款CAN网关;硬件部分由W5500以太网模块,2个VP23405MCAN收发器,N32G457主控板等组成;软件部分将一路高速CAN(CAN1控制器)与一路以太网作为网关输入,低速CAN(CAN2控制器)作为网关输出实现隔离收发数据功能。

硬件框架
CAN网关硬件框图.png
硬件框架说明:
如上图所示,硬件部分由W5500以太网模块,VP23405MCAN收发器1,N32G457主控板,VP23405MCAN收发器2等组成;其中:
W5500以太网模块:负责网关输入端网口数据收发功能,采用SPI接口与主控通讯,工作模式为TCPServer
VP23405MCAN收发器1:负责网关输入端高速CAN数据收发功能,通过主控板CAN1控制器进行控制
VP23405MCAN收发器2:负责网关输出端低速CAN数据收发功能,通过主控板CAN2控制器进行控制
N32G457主控板:负责网关输入输出端之间的通讯协议转换
LED灯:用来指示网关数据输入状态以及运行状态,红灯500MS闪烁表示网关运行正常,蓝灯闪烁表示高速CAN有数据输入,绿灯闪烁表示网口有数据输入

软件框架
RT-Thread任务框图.png
软件框架说明:
如上图所示,该项目软件架构主要采用上图所示的几个线程完成,其中:
网口收发线程:负责将网口接收到的数据通过低速CAN发出
网口心跳包发送线程:负责检测客户端是否断开连接,并做好网口重连准备
高速CAN收发线程:负责将高速CAN接收到的数据通过低速CAN发出
低速CAN收发线程:负责将低速CAN接收到的数据通过网口和高速CAN发出

作品完整图片
CAN网关作品图片.png

效果演示视频地址https://www.bilibili.com/video/BV1mS4y1g7tn/
代码地址: https://gitee.com/xiere/N32G457_Project/tree/master/rt-thread_CAN-gateway

推荐阅读
关注数
8062
内容数
181
小而美的物联网操作系统,经过14年的累积发展,RT-Thread 已经拥有一个国内最大的嵌入式开源社区,同时被广泛应用于能源、车载、医疗、消费电子等多个行业,累积装机量超过4亿台,成为国人自主开发、国内最成熟稳定和装机量最大的开源 RTOS。
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息