TMS570 CAN通信

CAN通信


前言

CAN 是 Controller Area Network 的缩写(以下称为 CAN),是 ISO 国际标准化的串行通信协议。CAN 的高性能和可靠性已被认同。CAN总线通信系统是串行通信的一种,要优于RS485总线,是目前比较常用的一种工业总线,如汽车的电气部分就采用CAN总线实现通信。与I²C、SPI等具有时钟信号的同步通讯方式不同,CAN通讯并不是以时钟信号来进行同步的,它是一种异步半双工通讯。(同步即在同一个时钟驱动下数据通信,半双工即接受与发送不能同时进行)


1.配置CAN驱动

使能CAN1、CAN2作为AB总线备份。
作者嘴杂

2.配置波特率

通常配置500kbps

3.配置发送接收

•配置 CAN1 , MessageBox 1 为发送状态
•配置 CAN2 , MessageBox 1 为中断接收状态
ID为接收过滤时使用。接收需指定相同的ID。
采用box可以单独设定为具体设备通信的类型,例如box1代表遥控、box2代表遥测。
在这里插入图片描述在这里插入图片描述

发送代码接口如下:

void canSendData(canBASE_t *node, uint32 messageBox, uint8 nodeid, uint8 frame_type, uint8 *data, uint32 len)
{
	//can的发送函数
	canTransmit(canBASE_t *node, uint32 messageBox, const uint8 * data)}

指定can,id,数据,数据帧类型,长度。


接收代码接口如下:

void canMessageNotification(canBASE_t *node, uint32 messageBox)
{
    uint8 canBuf[8];
    //can接收函数
    canGetData(node, messageBox, canBuf);  
}

采用中断的方式接收数据,编写中断服务函数。

4.配置引脚

原理图
将供电、接收、发送、地,都接出来,便于用can分析仪调试。


总结

本文仅仅简单介绍了TMS570 can的使用,而can具体的通信,例如故障模式、切总线,总线恢复等,具体的实现还需大家自己摸索。

  • 7
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
TMS570LC4367是德州仪器(Texas Instruments)推出的一款ARM Cortex-R4F内核的高性能微控制器,具有强大的计算能力和丰富的外设接口,广泛应用于汽车电子、工业控制和航空航天等领域。 CAN(Controller Area Network)是一种常用的汽车和工业领域的通信协议,它采用差分信号传输,具有高可靠性和抗干扰能力。CAN总线的驱动开发是指在TMS570LC4367上开发CAN通信模块及其相关的软件,使其能够实现与其他CAN设备的通信TMS570LC4367中已经集成了CAN模块,驱动开发的主要任务是编写软件代码,利用CAN模块的寄存器和接口提供的功能,实现CAN通信的初始化、发送和接收等操作。开发过程可以分为以下几个步骤: 1. 硬件连接:将TMS570LC4367的CAN引脚与其他CAN设备进行连接,确保物理层的连接正常。 2. 寄存器配置:通过对CAN模块的寄存器进行配置,设置CAN通信的位速率、并口大小、接收过滤器等参数。 3. 发送数据:编写代码实现CAN数据的发送,包括将要发送的数据写入CAN发送缓冲器,并设置发送请求,使其能被其他CAN设备接收。 4. 接收数据:编写代码实现CAN数据的接收,包括设置接收过滤器,检测是否有CAN数据到达,并将接收到的数据读取出来进行处理。 5. 错误处理:检测和处理CAN通信中的错误,如总线忙、传输错误等情况,保证数据的可靠性和稳定性。 6. 软件调试和优化:通过调试工具和仿真环境,进行软件的调试和性能优化,确保驱动程序的稳定运行和高效性能。 总的来说,TMS570LC4367CAN驱动开发主要涉及硬件连接、寄存器配置、数据发送和接收、错误处理等方面的工作。开发人员需要熟悉TMS570LC4367的硬件和软件开发环境,具备嵌入式系统开发的经验和技巧,以保证CAN驱动程序的功能完善和稳定性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值