完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
1 Can概述控制器区域网络(Controller Area Network,CAN)是一种高度可靠、实时性强的串行通信协议和总线系统,最初为汽车电子应用而设计,但已广泛应用于多个领域。其工作在物理层和数据链路层,CAN 通信采用点对点或总线拓扑结构,支持多种通信速率,使用帧格式传输数据。其强大的错误检测和冲突处理机制使其在恶劣环境下依然可靠。多级优先级机制确保实时通信需求得以满足。CAN 通信在汽车、工业控制、医疗设备和航空航天等领域得到广泛应用,为嵌入式系统提供了可靠的通信基础。 2 Can通信协议通过 CAN 总线传输数据是需要按照一定协议进行的,CAN 协议提供了 5 种帧格式来传输 数据:数据帧、遥控帧、错误帧、过载帧和帧间隔。其中数据帧和遥控帧有标准格式和扩展格 逻辑电平: CAN 协议中对它使用的 CAN_High 及 CAN_Low 表示的差分信号做了规定,以高速 CAN 协议为例,当表示逻辑 1 时 (隐性电平) ,CAN_High 和 CAN_Low 线上的电压均为 2.5v,即它们的电压差 VH-V:-L=0V;而表示逻辑 0 时 (显性电平) ,CAN_High 的电平为 3.5V,CAN_Low 线的电平为 1.5V,即它们的电压差为 VH-V:-L=2V。 数据帧格式如下: 帧起始: SOF 段 (Start OfFrame),译为帧起始,帧起始信号只有一个数据位,是一个显性电平,它用于通知各个节点将有数据传输,其它节点通过帧起始信号的电平跳变沿来进行硬同步。 仲裁域: 当同时有两个报文被发送时,总线会根据仲裁段的内容决定哪个数据包能被传输,这也是它名称的由来。 仲裁段的内容主要为本数据帧的 ID 信息 (标识符),数据帧具有标准格式和扩展格式两种,区别就在于 ID 信息的长度,标准格式的 ID 控制域: 在控制段中的 r1 和 r0 为保留位,默认设置为显性位。它最主要的是 DLC 段 (Data Length 数据域: 数据段为数据帧的核心内容,它是节点要发送的原始信息,由 0~8 个字节组成,MSB 先行。 CRC域: 为了保证报文的正确传输,CAN 的报文包含了一段 15 位的 CRC 校验码,一旦接收节点算出的CRC 码跟接收到的 CRC 码不同,则它会向发送节点反馈出错信息,利用错误帧请求它重新发送。CRC 部分的计算一般由 CAN 控制器硬件完成,出错时的处理则由软件控制最大重发数。在 CRC 校验码之后,有一个 CRC 界定符,它为隐性位,主要作用是把 CRC 校验码与后面的 ACK段间隔起来。 应答域: ACK 段包括一个 ACK 槽位,和 ACK 界定符位。类似 I2C 总线,在 ACK 槽位中,发送节点发送的是隐性位,而接收节点则在这一位中发送显性位以示应答。在 ACK 槽和帧结束之间由 ACK 界定符间隔开。 帧结束: ACK 段包括一个 ACK 槽位,和 ACK 界定符位。类似 I2C 总线,在 ACK 槽位中,发送节点发送的是隐性位,而接收节点则在这一位中发送显性位以示应答。在 ACK 槽和帧结束之间由 ACK 界定符间隔开。 从ISO/OSI基本参照模型中can工作在物理层和数据链路层。 硬件原理图: 使用开发板与can分析仪连接: 3 软件设计本次使用socket编程的方式实现can的发送测试,打开套接字: 指定can设备,目前的我们的开发板是can0。可以通过开发终端进行查看: 将can0与socket套接字绑定: 设置发送数据: 4 验证编译代码生产可执行文件,将可执行文件拖入开发板,添加可执行权限,设置can0的通信波特率为1M,启动can0 接下来运行编译的can测试的可执行文件,查看canpro上位机里面接收到的数据,如下所示,在启动canpro软件时,选择的can通信端口波特率需要与开发板设置的波特率保持一致。 |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
【米尔-紫光MYB-J7A100T国产FPGA开发板试用】米尔-紫光PG2L100H国产FPGA开发板开箱评测
1035 浏览 0 评论
【米尔-紫光PG2L100H国产FPGA开发板试用】官方LED例程测试体验
5233 浏览 0 评论
【米尔-紫光PG2L100H国产FPGA开发板试用】上电测试报告
4881 浏览 0 评论
【米尔-紫光PG2L100H国产FPGA开发板试用】开箱评测!米尔电子PG2L100H开发板深度体验报告
1004 浏览 0 评论
【米尔-Xilinx XC7A100T FPGA开发板试用】+04.SFP之Aurora测试(zmj)
828 浏览 0 评论
【米尔-瑞米派兼容树莓派扩展模块-试用体验】基于ROS系统的三麦轮小车自主导航
3657浏览 2评论
【米尔NXP i.MX 93开发板试用评测】5、安装Debian和排除启动故障
732浏览 2评论
【米尔NXP i.MX 93开发板试用评测】2、异构通信环境搭建和源码编译
875浏览 2评论
【米尔-瑞米派兼容树莓派扩展模块-试用体验】Free RTOS应用开发环境部署
1463浏览 1评论
【米尔-芯驰D9开发板- 国产平台试用】- 03- 外设接口测试-U盘、485总线
6821浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 14:08 , Processed in 0.630417 second(s), Total 61, Slave 46 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号