当前位置: 首页 > news >正文

做网站从哪里买域名企业查名

做网站从哪里买域名,企业查名,百度官方网站下载安装,金银饰品那家网站做的好笔者来聊一下CAN协议帧的认识和错误处理。 1、CAN协议帧认识 CAN 差分信号,是经过CAN收发器转成差分信号的,CAN RX和TX是逻辑电平。CAN的基础知识,可参考笔者这边文章:ARM学习(21)STM32 外设Can的认识与驱…

笔者来聊一下CAN协议帧的认识和错误处理。

1、CAN协议帧认识

CAN 差分信号,是经过CAN收发器转成差分信号的,CAN RX和TX是逻辑电平。CAN的基础知识,可参考笔者这边文章:ARM学习(21)STM32 外设Can的认识与驱动编写。

CAN总线上面要接120欧姆的电阻,形成闭环。

CAN的总线电平:

  • 显性0,CAN-H 3.5V,CAN-L 1.5V
  • 隐形1,CAN-H 2.5V,CAN-L 2.5V,

CAN的协议帧主要有:

  • 帧开始:SOF,数据帧开始
  • 仲裁段:帧ID,根据ID进行仲裁
  • 控制段:数据长度等
  • 数据段:数据域,8字节,不够会填满发送,所以需要长度指定。
  • CRC段:对前面的字段进行CRC校验
  • ACK段:发送完成后,有节点接收会被拉低,
  • 帧结束:EOF,帧结束
    在这里插入图片描述
    逻辑分析仪抓到的CAN协议帧:

在这里插入图片描述
下面是:帧起始,ID,控制段
在这里插入图片描述
中间是:数据段和CRC段
在这里插入图片描述
最后是:ACK段和帧结束
在这里插入图片描述

2、CAN异常处理

2.1 CAN异常介绍

CAN异常处理,首先得知道CAN有哪些异常,LEC 可以指示错误信息:

  • 位填充错误
  • 格式错误
  • 确认错误,没有ACK
  • 隐形错误
  • 显性错误
  • CRC错误。
    在这里插入图片描述
    例如下图:可以看到,标红色的都代表错误,首先CRC错误,然后ACK错误,正常应该是0,EOF尾帧错误,正常应该全1,
    在这里插入图片描述

如果CAN总线异常,那么可以增加相关寄存器打印,可以知道CAN的错误。

printf("CAN_TX_TIMEOUT, ESR=0x%x, TSR=0x%x, IER=0x%x\r\n",CAN2->ESR,CAN2->TSR,CAN2->IER);

在这里插入图片描述

当然也可以通过中断触发,但是中断触发有个问题,如果总线一直异常,那么会一直触发,导致持续进中断,程序无法正常运行。

关于CAN异常中断的配置,首先需要知道异常会触发哪个中断,然后需要使能相应的中断源,以及中断函数。

CAN共计四个中断,前三个中断很容易理解,就是下图的三个中断

  • CAN_TX_IRQn:发送中断
  • CAN_RX0_IRQn:FIFO0的接收中断
  • CAN_RX1_IRQn:FIFO1的接收中断
  • CAN_SCE_IRQn:不知道什么中断
    在这里插入图片描述
    然后下面还要一张图,显示了CAN异常触发的中断,ESR:Error State Register,异常状态寄存器,每一位都有使能位控制,左边是中断源,中间是中断控制,右边是中断处理函数,状态改变错误中断,即State Change Error Handler,SCE_Handler,所以通过这张图我们就确定了异常处理的中断函数。

在这里插入图片描述

  • 使能中断源
......
CAN_ITConfig(CAN2, CAN_IT_ERR);
CAN_ITConfig(CAN2, CAN_IT_EWG);
CAN_ITConfig(CAN2, CAN_IT_EPV);
CAN_ITConfig(CAN2, CAN_IT_BOF);
CAN_ITConfig(CAN2, CAN_IT_LEC);
  • 使能NVIC 中断函数
NVIC_InitStructure.NVIC_IRQChannel = CAN2_SCE_IRQn;
NVIC_InitStructure.IRQChannelCmd =ENABLE;
NVIC_Init(&NVIC_InitStructure);
  • 中断函数处理
void CAN2_SCE_IRQHandler(void)
{printf("CAN ESR=0x%x\r\n",CAN2->ESR);CAN_ClearITPendingBit(CAN2, CAN_IT_ERR);CAN_ClearITPendingBit(CAN2, CAN_IT_EWG);CAN_ClearITPendingBit(CAN2, CAN_IT_EPV);CAN_ClearITPendingBit(CAN2, CAN_IT_BOF);CAN_ClearITPendingBit(CAN2, CAN_IT_LEC);
}

在这里插入图片描述

2.2 CAN 异常造错

  • 实验一:CAN总线只有一个节点
    按理说只有一个节点的时候,肯定会报ACK错误,因为没有节点回,将ACK信号拉低,但是测试结果发现,同时还伴有帧格式错误,还有少量的CRC错误,查阅资料发现,可能确实会存在帧格式错误,
    在这里插入图片描述
    在这里插入图片描述

  • 实验二:CAN 总线上面发送了一个不存在节点的报文
    一切正常,查阅资料发现,自由有节点接收,那么报文就正确发送,接收段由于过滤规则过滤掉是接收端的问题,那么ACK就会正确回,所以报文正常。
    在这里插入图片描述

  • 实验三:CAN H接地
    发送失败,CAN离线,

  • 实验四:CAN L接地
    正常发送

  • 实验五:CAN H与L短接
    发送失败,CAN离线

http://www.yayakq.cn/news/361742/

相关文章:

  • 怎么建设手机小说网站东莞网站推广教程
  • 营销型和展示型网站做网站总结作文
  • 东莞网站优化制作新冠疫苗接种率
  • 网站推广是干嘛的用dw怎么做网站后台
  • 汉中商城网站建设设计制作网站板面
  • 网站备案号链接wordpress 图片主页
  • 网站如何做支付宝接口网站网页设计教程
  • 企业创建网站建设公共网站的目的
  • 网站建设编辑工作总结看男科比较正规的医院
  • 个人搭建网站要多少钱温州建设集团网站
  • 佛山网站设计的外文名是网站建设的搜索功能
  • 找人做网站大概多少钱网站开发外包接单
  • 行业门户网站 自助建站做网站怎么收费多少
  • 网站设计公司飞沐娱乐网站建设ppt模板
  • 南阳提高网站排名django做的电子商务网站
  • 那个网站专门做婚纱相册ui设计师自我评价
  • 网站的工商网监怎么做进去家在深圳业主
  • 网站建设公司网站个人网页生成
  • 装修公司网站制作南京模板网站开发
  • 提高网站目标流量免费查看招标信息的网站
  • 专业的医疗行业网站模板wordpress登录开发文档
  • 维护网站费用怎么做会计凭证网站首页设计大赛
  • 网站建设基础课程汉化wordpress插件
  • dede制作的网站挂马网站开发建设推荐用书
  • 肥西网站建设黄志达设计公司官网
  • 小装修网站开发费用长沙做网站公司 上联网络
  • 做网站用哪个笔记本html5手机商城网站模板
  • 织梦技术个人网站模板第三方平台网站的建设规划
  • 做网站用什么程序好js写wordpress
  • 八度填写icp备案网站 接入信息各大网站开发语言