打印
[N32G45x]

基于RT-Thread和N32G457的CAN网关

[复制链接]
2790|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
安小芯|  楼主 | 2022-4-14 18:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 安小芯 于 2022-4-14 18:36 编辑


基于RT-Thread和N32G457的CAN网关
作品出处:RT-Thread
作者:Explorer
应用背景
由于CAN总线的优异性能,且低成本、高可靠性、实时性、灵活性、抗干扰能力强等特点,广泛应用于各种自动化控制场景中,尤其在汽车电子、自动控制、电力系统等领域。
在复杂网络系统中,常常设计高、低速两种速率不同的CAN通讯网络,甚至3种不同功能相互独立的CAN子网。实现隔离与智能化处理。确保特定信息网络传输的安全性。并且随着时代的发展,工业领域逐渐引入以太网,其高数据吞吐量是CAN总线无法比拟的。但在不改变传统工业总线的前提下,实现不同网络之间的转换,有着迫切的需求。CAN网关即是在这样的需求下应允而生。

实现功能
CAN网关的功能主要实现CAN总线网络的安全隔离、分发与智能化处理。包括隔离高速、低速两部分总线,实现高低速CAN总线的智能中继;以及实现CAN总线与以太网的协议转换,增强工业系统的数据吞吐量并提供广域网互联的可能性。

开发板使用情况
本项目基于RT-Thread系统和N32G457开发板开发的一款CAN网关;硬件部分由W5500以太网模块,SN65HVD234D收发器、TJA1050收发器,N32G457主控板等组成;开发板上使用到两路CAN外设、SPI外设、LED灯等资源。软件层面基于Rt-Thread实时操作系统进行代码开发。将一路高速CAN(CAN1控制器)与一路以太网作为网关输入,低速CAN(CAN2控制器)作为网关输出实现隔离收发数据功能。实现一个CAN网络到另一个CAN网络、以太网的中继转发。

硬件框架

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

软件框架


软件框架说明:
软件模块包括N32G457的原厂BSP、RT-Thread实时操作系统、W5500原厂BSP、自定义的CAN代码、逻辑代码等。其中原厂的BSP和RT-Thread系统部分已适配好,并未做大范围的更改。RT-Thread操作系统版本为4.1.0
如上图所示,该项目软件架构主要采用上图所示的几个线程完成,其中:
ETH_Thread_Task:负责将网口接收到的数据通过低速CAN发出
ETH_HEARTBEAT_Thread_Task:负责检测客户端是否断开连接,并做好网口重连准备
CAN1_Thread_Task:负责将高速CAN接收到的数据通过低速CAN发出
CAN2_Thread_Task:负责将低速CAN接收到的数据通过网口和高速CAN发出

作品完整图片




使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

认证:国民技术股份有限公司
简介:国民技术股份有限公司(简称:国民技术)2000年源于国家“909”集成电路专项工程成立,2010年创业板上市(股票代码:300077),是通用MCU、安全芯片领先企业和国家高新技术企业。

137

主题

188

帖子

14

粉丝