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

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

硬件框架
22.png

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

软件框架
33.png
44.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://www.bilibili.com/video/BV1mS4y1g7tn/
代码地址: https://gitee.com/xiere/N32G457_Project/tree/master/rt-thread_CAN-gateway

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
作者:forest-rain 1 概述物联网终极目标是实现万物互联,帮助人类社会实现更高阶的智能化。IoT网关负责海量物联网端侧设备与物联网云端应用的沟通,发挥着承上启下的重要作用,是实现万物互联的关键一环。IoT网关已广泛应用于工业、农业、畜牧业、智能家居、智慧城市等等垂直行业。 LiteCoG(Lite Connect Gateway)是一款小型的、支持多种连接方式的IoT网关,当前的主体功能是一个单\双通道的LoRaWAN网关,北向采用以太网\WiFi\4G Cat1连接,南向通信采用LoRa通信,同时也可支持BLE\RS485等连接方式,具有远距离通信、低成本、方便部署、易扩展等特性,便于市场规模推广。旨在面向智能家居、智慧社区、智慧停车等局域网内、设备容量较小的物联网通信场景,同时由于具备良好的成本优势,也可以作为LoRaWAN网络的补盲设备。 当前实现万物互联所面临的问题与挑战: 如智能家居,目前智能家居还不是社会刚需,因此大规模推广对成本极其敏感,采用高性能的LoRa网关芯片(SX130x)方案,可以满足设计需求,但是成本承压,同时性能过剩。 如智慧社区,智慧社区是放大版的智能家居,也是一个缩小版的社会。随着我国人口日益老龄化,智慧养老社区的需求日益突显,如何解决空巢老人、孤寡老人的监护是我国当前社会面临的一个新难题。构建智慧社区所需庞大的启动资金是一个必须逾越的障碍。 如智慧停车,停车难一直是城市公共交通的长期挑战。海量的车,方便了出行,却受限于终点,通过物联网技术把分散的停车资源利用起来,是缓解停车难的可行方式。 LiteCoG网关基于RT-Thread操作系统,采用LoRa SX126X\SX127X来提供标准LoRaWAN接入能力,可以较大压缩BOM成本;借助LoRa调制的远距离通信能力、低功耗特性,在全屋\社区\小范围停车等应用领域,基本可以非常灵活的部署电池供电的智能设备,非常方便。同时借助RT-Thread强大的软硬件生态资源,可以极大加快产品开发效率,缩短产品上市时间。 LoRaWAN单通道网关(lgwsc) 对接标准LoRaWAN服务器 UDP 利尔达 Unicore 腾讯云 loragw.qcloud.com Class A 支持lgwsc shell命令 支持网关参数配置 支持掉电存储功能 北向连接 Ethernet WiFi 4G Cat1 人机交互 OLED显示屏 2 开发环境软件平台: RT-Thread版本:4.0.3 开发工具及版本:RT Thread Studio 2、MDK5 PessimonUIBuilder 3.0设计器 硬件平台 ART-Pi主板 STM32H750 AP6212 ART-Pi 工业扩展板 以太网、485 ART-Pi 多媒体扩展板 320*480 TFT屏幕 LoRa多功能能扩展板(LRS007) SX1268 LoRa模块 1.3英寸 OLED液晶屏 3 RT-Thread使用情况概述RT-Thread内核: 调度器:多线程(任务)实现 线程间同步:信号量、互斥量 线程间通信:邮箱、消息队列 内存管理:mem pool、memheap管理算法 软件定时器 组件(Compentont): FinSH控制台 设备驱动(Device Drivers) I/O 设备模型 PIN设备 、I2C设备、UART设备、RTC设备、TOUCH设备 WIFI框架 SPI框架 使用 SPI 框架来驱动SPI接口的设备(比如本文中的LoRa SPI模块) 网络(Network) netdev网卡 AT命令 SAL 套接字抽象层 TCP/IP协议栈 lwip轻量级协议栈 常用工具(Utilities) ulog日志 软件包 AT设备软件包:at_device-latest; adbd-v1.1.1 btstack-v0.0.1 CmBacktrace-v1.4.0 EasyFlash-v4.1.0 fal-v0.5.0 littlefs-v2.0.5 JSON软件包 cJSON-latest 网络工具包 netutils-latest webclient软件包 webclient-latest webnet-v2.0.2 web服务器 loragw-packet-forward-latest 单通道lorawan网关软件包 lora-radio-driver-latest lora radio驱动软件包 multi-rtimer 低功耗硬实时定时模块 ft6236-v1.0.0 触摸芯片ft6236驱动 Persimmon柿饼库 其他 ART-Pi SDK开发包 sdk-bsp-stm32h750-realthread-artpi 4 系统设计4.1 典型IoT系统应用框架多功
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小熊coder

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值