@[TO
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
提示:这里可以添加本文要记录的大概内容:
CAN总线异步半双工串口通信…的很多优点,广泛用于近距现场通信,以下是个人笔记: Can总线通信协议:传输的为差分信号,两根线为CANH(“高位”) CANL(‘低位’) ,其二者电位差 分为显性(2V)与隐性(0V),显性为数字信号0,隐性为数字信号1;CAN总线物理上有:线与和回读机制(注意理解,核心)
提示:以下是本篇文章正文内容,下面案例可供参考
一、Can总线协议构成
主要分为三块:CAN控制器、CAN收发器、CAN总线; 1,CAN控制器:一般集成在MCU芯片内部,(外置也可以,自己搭配),买包含的MCU,查看其技术文档就是,此处TMS320F28377D和F2377S内部是包含有点的, 2,CAN收发器:自己搭配选择 3,CAN总线:有开环和闭环方式,两种都要并电阻,也就是简单的两根导线和电阻构成
二、CAN通信报文
注意看每部分构成的位数(数字),这是参考别人上传的图片,修改了其中错误的部分; 数据帧包含主要消息ID,数据长度,数据…
三、F28377X芯片内CAN控制器框图
图来源TI公司提供的该的芯片的技术文档,图中可以了解到的消息: 1,有32个消息对象(也可叫消息邮箱,可以使用); ,2,只能通过IFx接口寄存器间接访问CAN的消息邮箱; 3,有两条中断线CANINT0,CANINT1;接口 CAN RX和CAN TX到CAN收发器。 备注:消息邮箱,顾名思议,存储消息(数据帧,不只有 数据)消息邮箱有邮箱号,1到32号; MCU(DSP)想发消息,实际是通IFx(接口寄存器,IF1和IF2)把消息(数据)给消息邮箱,再通过IFx告诉邮箱把数据发送出去;cpu想读消息,也是通过IFx接口寄存器去读消息邮箱的数据
四、F28377X芯片CAN通信流程(软件程序)
1,接口选择配置GPIO引脚给CAN收发器,电路设计时参考TI技术文件看GPIO引脚复用,在可用的GPIO中选择,配置GPIO功能为CAN RX与CAN TX; 2,配置CAN参数与初始化,最后启动CAN 3,配置建立消息邮箱; 4,收发消息的处理操作;(你想发什么消息,收到消息怎么做) 配置邮箱:配置邮箱号 ,消息ID ,掩码,邮箱方向(发送邮箱还是接受接收), 接收邮箱:当总线上数据帧消息ID与已建立的邮箱的消息ID匹配则写入该邮箱,总线上正常开启的设备都会收到总线上的信息,其中设备中的接收邮箱的消息ID匹配则接收成功,没有匹配者无操作;
五、F28377X芯片CAN通信中断
有三种中断类型可配置; F28377x的CAN模块中断框图
六,结尾
理解有限,要想熟练准确运用CAN,得多看相关文档,TI提供那些技术文档要多看,和多码代码,加油兄弟们,姐妹们, 以上不一定很准确,若发现错误,谢谢指正`…
|