Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
国民技术_N32G45x
【N32G457 】基于RT-Thread和N32G457的CAN网关
发布于 2022-03-02 13:36:08 浏览:1172
订阅该版
**N32G457活动** 基于RT-Thread和N32G457的CAN网关 **应用背景** 由于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网络、以太网的中继转发。 ![11.jpg](https://oss-club.rt-thread.org/uploads/20220325/4b8250f249f16824ae6e526176819411.jpg.webp) **硬件框架** ![22.png](https://oss-club.rt-thread.org/uploads/20220325/74143d586669794bf2c4965871789370.png) 硬件框架说明: 如上图所示,硬件部分由W5500以太网模块,SN65HVD234D收发器,N32G457主控板,TJA050收发器等组成;其中: W5500以太网模块,负责网关输入端网口数据收发功能,采用SPI接口与主控通讯,工作模式为TCPServer。 SN65HVD234D收发器,负责网关输入端高速CAN数据收发功能,通过主控板CAN1控制器进行控制。 TJA1050收发器,负责网关输出端低速CAN数据收发功能,通过主控板CAN2控制器进行控制。 N32G457主控板,负责网关输入输出端之间的通讯协议转换。 其中LED灯用来指示网关数据输入状态以及运行状态,红灯500MS闪烁表示网关运行正常,蓝灯闪烁表示高速CAN有数据输入,绿灯闪烁表示网口有数据输入。 **软件框架** ![33.png](https://oss-club.rt-thread.org/uploads/20220325/8877309e81f63d144c024219cf39be36.png) ![44.png](https://oss-club.rt-thread.org/uploads/20220325/66ef203ed04d41ed6652a87a10548481.png) 软件框架说明: 软件模块包括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发出 **作品完整图片** ![CAN网关作品图片.png](https://oss-club.rt-thread.org/uploads/20220302/c0c14090539dac3a4da7b084f8325bb9.png.webp) **效果演示视频地址**:[https://www.bilibili.com/video/BV1mS4y1g7tn/](https://www.bilibili.com/video/BV1mS4y1g7tn/) **代码地址:**[ https://gitee.com/xiere/N32G457_Project/tree/master/rt-thread_CAN-gateway](https://gitee.com/xiere/N32G457_Project/tree/master/rt-thread_CAN-gateway)
0
条评论
默认排序
按发布时间排序
登录
注册新账号
关于作者
xiere
这家伙很懒,什么也没写!
文章
1
回答
0
被采纳
0
关注TA
发私信
相关文章
1
[N32G457]移植sdio驱动后,开启sdio1系统挂掉
2
N32G457开发板使用AT组件编译出错
3
ADC采样只有0和3.3v?
4
基于N32G45X开发板建立工程失败?
5
有没有人N32G457在挂载SPI Flash上挂载文件系统成功的?
6
使用N32G457的us函数程序会卡死?
7
在程序里关闭JTAG 后,无法再次烧录程序
8
求一个N32系列QSPI驱动
9
N32G457 MPU6050软件包使用不成功
10
在N32G455 HTTP_OTA升级上,下载成功,无法跳转
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
WIZnet_W5500
UART
ota在线升级
PWM
cubemx
freemodbus
flash
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
Debug
编译报错
msh
SFUD
keil_MDK
rt_mq_消息队列_msg_queue
MicroPython
ulog
C++_cpp
本月问答贡献
踩姑娘的小蘑菇
7
个答案
3
次被采纳
a1012112796
15
个答案
2
次被采纳
张世争
9
个答案
2
次被采纳
rv666
5
个答案
2
次被采纳
用户名由3_15位
13
个答案
1
次被采纳
本月文章贡献
程序员阿伟
9
篇文章
2
次点赞
hhart
3
篇文章
4
次点赞
大龄码农
1
篇文章
5
次点赞
RTT_逍遥
1
篇文章
2
次点赞
ThinkCode
1
篇文章
1
次点赞
回到
顶部
发布
问题
投诉
建议
回到
底部