3.4 发送CAN帧_第1页
3.4 发送CAN帧_第2页
3.4 发送CAN帧_第3页
3.4 发送CAN帧_第4页
3.4 发送CAN帧_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

3 4发送CAN帧 目录 CAN帧发送流程 在发送CAN报文之前 需要确认已经初始化SJA1000参数 CAN帧发送流程可以分为三个步骤 读取状态寄存器SR 等待发送缓冲区可用 2 1 3 填充报文到发送缓冲区 设置发送模式 启动发送 SJA1000支持自发自收模式 至接收 发送缓冲区 SJA1000具有1个12字节的发送缓冲区 位于SJA1000的内部RAM空间 要发送的报文可以通过寄存器16 28写入 也可以通过寄存器96 108写入或读出 可以存放一个完整的标准帧或扩展帧报文 不同格式的帧报文 在发送缓冲区的定义不同 寄存器地址 R R W 由帧信息 帧ID 帧数据3部分组成 标准帧 扩展帧 帧信息 FF RTR 未使用 TXDLC FF RTR TXDLC 决定发送缓冲区中存放的是标准帧还是扩展帧 决定发送缓冲区中存放的是远程帧还是数据帧 表示帧数据的有效字节数 最大为8 当TXDLC大于8时 帧数据的有效字节数固定为8 目录 发送模式 SJA1000的发送模式通过CMR寄存器 寄存器地址1 设置 正常发送 正常发送时 在仲裁丢失或发送错误时 SJA1000会自动重发 知道发送成功或者关闭 通过置位TR位来设置 单次发送 在一些应用中 自动重发没有意义 只需要发送一次 不需要处理出错的情况 单次发送通过置位AT和TR完成 自发自收 自发自收产生一次带自接收特性的单次发送 在发送完成后 可以从接收缓冲区中读到已发送的报文 通过置位SRR和AT完成 终止发送 置位AT就可以终止正在发送的报文数据 程序清单3 14 设置发送模式 为了启动CAN控制器发送功能 需要SetSJASendCmd函数 根据不同发送模式配置CMR寄存器 case0 ret SetBitMask REG CAN CMR TR BIT break 正常发送 case1 ret SetBitMask REG CAN CMR TR BIT AT BIT break 单次发送 case2 ret SetBitMask REG CAN CMR TR BIT SRR BIT break 自发自收 case0 xff ret SetBitMask REG CAN CMR AT BIT break 中止发送 目录 SJA1000发送函数 往发送缓冲区填充数据 dlc databuf dlc databuf switch databuf 0 xC0 根据帧类型确定写到发送缓冲区的数据长度 case0 x00 标准帧 数据帧len STD FRAMEID LENTH dlc 1 break WriteSJARegBlock REG CAN TXFMINFO databuf len 目录 测试程序 SJA1000发送示例中设置SJA1000的CAN波特率为1Mbps 并以1秒的间隔发送CAN报文 CAN报文的格式为标准帧 数据长度为8字节 帧ID为0 x753 帧数据是0 x550 x550 x550 x550 xaa0 xaa0 xaa0 xaa 可以使用CAN协议分析器CANScope将CAN总线的波形记录下来 程序清单3 16 SJA1000发送例程 测试波形 1 运行上面的程序 可以通过CAN协议分析器CANScope获取CAN总线的波形 起始位 仲裁场波形 控制场波形 数据场波形 CRC校验数据场波形 应答位 结束标志 此时信号波有一点过冲 单总的来说还是比较稳定和干净的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论