专栏电商日志财经减肥爱情
投稿投诉
爱情常识
搭配分娩
减肥两性
孕期塑形
财经教案
论文美文
日志体育
养生学堂
电商科学
头戴业界
专栏星座
用品音乐

通信协议CAN的位同步和帧格式解析(二)

  上一篇文章已经简述了CAN总线的一些基本特性和数据的时序位的构成,接下来分析CAN总线的协议构成!
  CAN的位同步数据同步
  (1)CAN的位同步
  在CAN中使用了位同步的方式来抵抗干扰、吸收误差,实现对总线电平信号的正常采样,确保通讯正常进行。同时,这个位同步也是用于调节通信过程中的采样点的。
  (2)CAN的数据同步
  CAN的数据同步使用到SS段、PTS段、PBS1段、PBS2段,并且数据的同步分为硬同步、重新同步。
  1)硬同步
  CAN节点希望通过总线发送数据时,会发送一个由高变低的下降沿作为通讯的起始信号;而节点不发送数据时会时刻检测总线上的信号。
  一个硬同步的过程如下图示例:
  从上图中可以看到当总线上出现了帧起始信号时,某一个节点检测到总线的帧起始信号不在该节点内部时序的SS段范围,所以就可以判断它自己的内部时序与总线不同步,因而这种状态下的采样点采集得的数据是不正确的。所以节点以硬同步的方式调整,把自己的位时序中的SS段平移至总线出现下降沿的部分,获得同步,同步后采样点就可以采集得正确数据了。
  2)重新同步
  硬同步是存在帧起始信号时才起作用,但是假如是一帧很长的数据,这一长串数据内不再出现帧起始信号,那么在节点信号与总线信号出现相位偏移时,用硬同步方式就行不通了。
  所以就有了重新同步的方式,这种方式利用普通数据位的电平的高至低的跳变沿来同步同样都是在SS段中进行检测,从而实现同步的目的。
  注意:同步的目的都是为了能在节点内的SS段把跳变沿包含起来。
  重新同步可以细分为两种同步方式:相位超前重新同步和相位滞后重新同步。这两种方式以总线跳变沿与SS段的相对位置进行区分的。
  3)相位超前重新同步
  如下图所示:
  上图中可以看到,节点的SS段相对于总线的边沿跳变往前了两个Tq的时间,即节点的时序比它检测的总线时序相对超前了2Tq。
  解决这个问题可以在下一个位时序中的PBS1段增加2Tq的时间长度,使得节点与总线时序重新同步,如下图:
  4)相位滞后重新同步
  如下图所示:
  上图中可以看到,节点的SS段相对于总线的边沿跳变延迟了两个Tq的时间,即节点的时序比它检测的总线时序相对落后了2Tq。
  解决这个问题可以在下一个位时序中的PBS2段减少2Tq的时间长度,使得节点与总线时序重新同步,如下图:
  CAN的帧种类和用途
  CAN的帧种类有如下几种:
  特别地,数据帧和遥控帧有标准格式和扩展格式两种格式。标准格式有11个位的标识符ID
  扩展格式有29个位的标识符ID
  CAN总线的数据帧
  数据帧一般由7个段构成,即:
  这几个段的作用如下:
  1)帧起始。表示数据帧开始的段。
  2)仲裁段。表示该帧优先级的段,即ID信息。
  3)控制段。表示数据的字节数及保留位的段。
  4)数据段。数据的内容,一帧可发送08个字节的数据。
  5)CRC段。检查帧的传输错误的段。
  6)ACK段。表示确认正常接收的段。
  7)帧结束。表示数据帧结束的段。
  CAN的数据帧有标准格式和扩展格式两种,这两者不同的地方如下图如下:
  数据帧的标准格式和扩展格式两者的不同之处主要在于仲裁段中,控制段中有细微的不同。
  1)标准格式的ID是11位。
  从ID28到ID18一次发送,禁止高7位都为隐形(禁止ID1111111XXXX)。
  2)扩展格式的ID有29个位。
  基本ID从ID28到ID18,扩展ID由ID17到ID0表示。基本ID和标准格式的ID相同。
  RTR位:帧选择位
  0:数据帧1:远程帧
  IDE位:
  0:标准标识符1:扩展标识符
  SRR位:
  远程请求位,为隐形位,代替了标准帧中的RTR位。
  r0、r1位:
  保留位,发送时必须全部是显性电平,但是接收时可以是显性、隐形、任意组合的电平。
  (1)起始帧
  CAN的数据帧和远程帧开始发送时,是需要发送一个开始的标志的,称之为帧起始。它是一个显性位(逻辑0)。
  一个CAN节点只有在总线处于空闲状态时才可以发送起始帧。
  (2)仲裁段
  起始帧发送完成之后,紧接着发送出的就是仲裁段的数据。
  CAN2。0A的仲裁场一共有12位,如下图所示。
  在这12位中,前11位表示的是11位标识符,第12位是远程发送请求RTR。在数据帧中RTR为显性,在远程帧中RTR为隐性。
  如果相同标识符的数据帧与远程帧发生冲突,数据帧优先。
  CAN2。0B的仲裁场一共有32位,它在CAN2。0A的基础上,将CANID扩展到了29位,并且向CAN2。0A兼容,如下图所示。
  (3)控制段
  仲裁之段后便是控制场。控制场的头两位为保留位(R1、R0),为隐性。
  后面是数据长度代码DLC(DataLengthCode)。数据长度代码指示了数据场中有效的字节个数。DLC的长度为4位二进制数,虽然可以最大范围可以表示到015,但是由于CAN总线的数据域长度最大为8个字节,所以DLC的大小可以认为是最大为8。
  控制场示意图如下:
  详细示意图如下:
  (4)数据段
  控制场传输完成之后,紧接着传输的就是数据场了,数据场里面传输的就是我们想要传输的数据,长度为8个字节,如下图所示。
  详细示意图如下:
  (5)CRC段
  CAN数据每次发送的时候,都会将CAN数据帧里面的有效数据进行CRC校验,并且将最终生成的CRC信息一起包含在数据帧中的CRC域内进行发送。
  接收端接收到一帧CAN总线数据后,会将接收到的数据进行CRC计算,并且同发出端的CRC校验码进行比较,如果相同,则代表当前接收到的信息是正确的。
  CRC段的示意如下:
  CRC校验域的格式如下图所示。
  在经典CAN中,使用15位CRC。在硬件可使用移位和异或运算完成CRC的计算。CAN总线中使用的几种CRC生成多项式公式如下图所示。
  (6)应答段
  CAN总线的应答场长度为2个位,包含应答间隙(ACKSLOT)和应答界定符(ACKDELIMITER)。
  在应答场里,发送站发送两个隐性位。当接收器正确地接收到有效的报文,接收器就会在应答间隙(ACKSLOT)期间(发送ACK信号)向发送器发送一显性的位以示应答。
  应答间隙:所有接收到匹配CRC序列(CRCSEQUENCE)的站会在应答间隙(ACKSLOT)期间用以显性的位写入发送器的隐性位来作出回答。
  ACK界定符:ACK界定符是ACK场的第二个位,并且是一个必须为隐性的位。因此,应答间隙(ACKSLOT)被两个隐性的位所包围,也就是CRC界定符(CRCDELIMITER)和ACK界定符(ACKDELIMITER)。
  CAN总线的应答场如下图所示:
  (7)帧结束
  应答段之后的7位数据是CAN总线的结束帧,是为7位连续的1(隐性电平),如下图所示。
  CAN通信的数据段示例
  下图可以看到一个CAN数据帧排列的所有数据域。下图展示了一个完整的数据段的通信过程,如下图:
  STM32的CAN的配置示例
  这里以STM32F407的CAN外设的配置为例。代码如下:
  配置CAN1,并配置使用CAN1中断接收CAN消息:GPIOInitTypeDefGPIOInitStructure;CANInitTypeDefCANInitStructure;CANFilterInitTypeDefCANFilterInitStructure;NVICInitTypeDefNVICInitStructure;RCCAHB1PeriphClockCmd(RCCAHB1PeriphGPIOA,ENABLE);使能PORTA时钟RCCAPB1PeriphClockCmd(RCCAPB1PeriphCAN1,ENABLE);使能CAN1时钟GPIOInitStructure。GPIOPinGPIOPin11GPIOPin12;GPIOInitStructure。GPIOModeGPIOModeAF;复用功能GPIOInitStructure。GPIOOTypeGPIOOTypePP;推挽输出GPIOInitStructure。GPIOSpeedGPIOSpeed100MHz;100MHzGPIOInitStructure。GPIOPuPdGPIOPuPdUP;上拉GPIOInit(GPIOA,GPIOInitStructure);初始化PA11,PA12GPIOPinAFConfig(GPIOA,GPIOPinSource11,GPIOAFCAN1);GPIOA11复用为CAN1GPIOPinAFConfig(GPIOA,GPIOPinSource12,GPIOAFCAN1);GPIOA12复用为CAN1CANInitStructure。CANTTCMDISABLE;非时间触发通信模式CANInitStructure。CANABOMDISABLE;软件自动离线管理CANInitStructure。CANAWUMDISABLE;睡眠模式通过软件唤醒(清除CANMCR的SLEEP位)CANInitStructure。CANNARTENABLE;启动禁止自动重传,即不自动重传CANInitStructure。CANRFLMDISABLE;报文不锁定,新的覆盖旧的CANInitStructure。CANTXFPDISABLE;优先级由报文标识符决定CANInitStructure。CANModeCANModeNormal;模式设置CANInitStructure。CANSJWCANSJW1tq;重新同步跳跃宽度(Tsjw)为tsjw1个时间单位CANSJW1tqCANSJW4tqCANInitStructure。CANBS1CANBS17tq;Tbs1范围CANBS11tqCANBS116tqCANInitStructure。CANBS2CANBS26tq;Tbs2范围CANBS21tqCANBS28tqCANInitStructure。CANPrescaler6;分频系数(Fp)为brp1波特率Fpclk1((BS11BS211)Prescaler),即42M((671)6)500KbpsCANInit(CAN1,CANInitStructure);初始化CAN1CANFilterInitStructure。CANFilterNumber0;过滤器0CANFilterInitStructure。CANFilterModeCANFilterModeIdMask;CANFilterInitStructure。CANFilterScaleCANFilterScale32bit;32位CANFilterInitStructure。CANFilterIdHigh0x0000;32位IDCANFilterInitStructure。CANFilterIdLow0x0000;CANFilterInitStructure。CANFilterMaskIdHigh0x0000;32位MASKCANFilterInitStructure。CANFilterMaskIdLow0x0000;CANFilterInitStructure。CANFilterFIFOAssignmentCANFilterFIFO0;过滤器0关联到FIFO0CANFilterInitStructure。CANFilterActivationENABLE;激活过滤器0CANFilterInit(CANFilterInitStructure);滤波器初始化CANITConfig(CAN1,CANITFMP0,ENABLE);FIFO0消息挂号中断允许。NVICInitStructure。NVICIRQChannelCAN1RX0IRQn;NVICInitStructure。NVICIRQChannelPreemptionPriority6;NVICInitStructure。NVICIRQChannelSubPriority0;NVICInitStructure。NVICIRQChannelCmdENABLE;NVICInit(NVICInitStructure);
  作者简介:
  本人95后技术男,从事嵌入式软件开发,专注于技术成长和技术分享。目标是每天进一步一点点,通过技术改变自己的生活,创造自己的美好未来!如果你也对嵌入式感兴趣,欢迎关注我呀!
  声明:
  本文作者:嵌入式之入坑笔记
  文章版权归作者所有,转载请注明出处!

国家文物局十年来1800余件(套)海外流失文物回归祖国中宣部24日上午举行中国这十年系列主题新闻发布会,介绍推动新时代文化和旅游高质量发展的有关情况。国家文物局政策法规司司长金瑞国在会上指出,十八大以来,我国文物事业取得了历史性成就。碧桂园服务暂缓大型并购,计划明年囤积200亿现金备用过去容易做的,现在变得困难了。8月24日,碧桂园服务(06098。HK)执行董事兼总裁李长江在中期业绩会上如此形容2022年上半年的发展状况。在国内外复杂的经济环境持续的疫情反复以程永新想写马尔克斯没写到的爱情从1982年走进收获到现在,四十年了,程永新是中国文学现场最密切的见证者。如今已是收获杂志主编的他推出了写进文学史的先锋专号,经手发表了活着妻妾成群等名作。其实程永新也写小说。职业改变肾脏血型丨科创要闻未来医疗上周,有三项科研成果值得关注8月18日,科学(science)发表麻省理工学院首尔大学等机构的研究人员合作成果利用远程外延独立化合物半导体实现无芯片无线电子皮肤(Chipl悬壶莞邑神奇的中医药耳尖放血耳尖放血的具体操作方法是用针在耳尖部位,经过消毒后,轻轻点刺3次到5次,然后挤压局部,以使血液流出。那为什么会选择在耳尖放血呢?灵枢口问篇云耳者宗脉之所聚也。也就是说耳为全身经络分抖音直播联合中央民族乐团打造民乐演出第二舞台8月24日,抖音直播联合中央民族乐团发起DOU有国乐计划,打造民乐演出第二舞台。通过该计划,中央民族乐团百名艺术家将入驻开播,带来百余场线上音乐会。同时,抖音直播将面向民乐演奏者民美德乐广告违法被北京东城市监局处罚来源中国经济网北京市市场监督管理局网站日前公布的行政处罚决定书(京东市监处罚20221157号)显示,美德乐(北京)医疗科技有限公司违反中华人民共和国广告法(2018)第八条第一款每天睡四小时完美?专家这样说来源央广网央广网北京8月24日消息近日,张朝阳建议大家少睡觉的热搜引起了争议。张朝阳在直播中表示,睡觉的前两个小时是深度睡眠,三个小时之后,人的大脑就开始做各种噩梦。但是睡觉少真的贾浅浅入中国作协惹争议?贾浅浅的标签当代作家诗人,西北大学文学院副教授,鲁迅文学院32届高研班学员,陕西省青年文学协会副主席,现当代文学专业在读博士,中国作协副主席当代作家贾平凹之女。自从贾浅浅出现在中国外媒为何拿中国丝绸之路说事?媒体人周刊外国有人称中国的丝绸之路从日本海经台湾海峡到马六甲海峡,一道丝绸帷幕已经在印太地区落下,建立欧亚经济帝国。称这种方式比铁幕灵活多变,又具有吸引力,使中国成为了朝贡的中心。不幸的根源无休止地追求幸福芸芸众生,都在渴望创造和追寻幸福。有哲人说,生命的终极目标就是寻求幸福。可是,我们苦苦寻觅的幸福,究竟是什么?幸福通常被大家定义为一种感觉一种愉快高兴或满足的感觉。没有人不喜欢快乐
江苏母婴店利用免费奶粉,一年盈利166万,这方法值得借鉴今天要给大家带来的案例是江苏有这么一家母婴店,老板利用免费奶粉,在短短一年的时间里,疯狂盈利166万。1案例背景吴总就是这家母婴店的老板,同时也是今天要给大家介绍的案例的主人公。说不予准入中国市场?苹果接连收到通牒,统一充电接口已成定局近日,在欧盟通过了统一电子设备充电接口提案后,工信部也公开表态,要求所有进入中国市场的手机厂商都要统一支持TypeC接口,否则将不予准入。很显然,工信部这次针对的对象也是苹果。其实汉兰达将开启新一轮加价,丰田宣布六月被迫停产放假车到山前必有路,有路必有丰田车?这句话可能在今年下半年要改成爱你真的没办法我家没有Toyota这是为什么呢,让小编来告诉大家,据日本共同社报道,丰田6月拟再减产4万辆汽车,全球产量母亲蓝琼缨过世,亲手扶起的珍宝海鲜舫又翻沉,何猷龙日子难熬最近,何猷龙的日子不好过。短短几天,他经历了2桩令他极为痛心的事件。先是6月11日蓝琼缨逝世,何猷龙忙着处理母亲的后事。还没等他从伤痛中恢复过来,6月19日,珍宝海鲜舫又在南海西沙头晕头痛,很可能是颈椎病造成的,康复医生教你快速缓解近些年来,随着智能手机平板电脑等现代电子设备的流行,越来越多的人患上了颈椎病。研究表明,近年来颈椎病的患病群体年轻化趋势越来越明显,很多年轻人不幸中招。因为他们平时不注意保养自己的官方蒙扎签下前国米队长拉诺基亚合同到2024年意甲升班马蒙扎俱乐部官方宣布,34岁的前国际米兰队长拉诺基亚加盟球队,他将在7月1日起正式成为蒙扎的一员。官方声明里写道意甲升班马蒙扎完成在夏窗的第一笔引援欢迎拉诺基亚加盟球队,合最后一次一起喝酒进入新世纪已经十个年头了,人们生活好了。村里人饭能吃饱了,衣穿得鲜亮了,都住上砖瓦房了。正月里过大年,北方的天还很冷,地还冻着,地里也没有什么农活可以做。人们悠闲自在,团圆聚会或者萨维奥拉莱万和本泽马是最好的9号球员,希望莱万能加盟巴萨直播吧6月22日讯近日,巴萨旧将萨维奥拉接受了媒体的采访,他谈到了波兰前锋莱万多夫斯基和老乡迪马利亚。萨维奥拉我们正在谈论的是一个与本泽马并列世界最佳9号的球员,我希望莱万可以加盟赵力平多次拒绝朱德儿子求爱,贺龙问其原因,赵力平他家官太大1946年3月,朱德唯一的儿子朱琦,和赵力平在丰镇举行婚礼,司令部的人都来参加,大概摆了五六桌,差不多三十多个人。一向喜欢当红娘,成人好事的贺龙,担任了婚礼主持。只见他叼着烟斗,眯黄蜂考虑送走罗齐尔乌布雷普拉姆利和华盛顿据BR记者JakeFischer报道,黄蜂队预计会听取有关特里罗齐尔梅森普拉姆利PJ华盛顿和小凯利乌布雷在内的多名球员的交易报价。在布里奇斯以受限制自由球员身份进入市场之前,黄蜂预富士山要喷发?日本开始做全面准备,一旦喷发,全球气候更加极端根据报道,因为沉睡了300多年的富士山,如今开始活动迹象明显,这也让不少日本学者担心,富士山即将要喷发了,于是,为了应对灾难发生后可能会出现的情况,日本已经开始做全面准备,希望当灾
友情链接:快好找快生活快百科快传网中准网文好找聚热点快软网