您的位置 首页 硬件

stm32之CAN总线根底

can总线协议概述:CAN是ControllerAreaNetwork的缩写,由德国博世公司开发;CAN通过ISO11891以及ISO11519进行了标准化;CA…

can总线协议概述:

  CAN是Controller Area Network的缩写,由德国博世公司开发;CAN经过ISO11891以及ISO11519进行了规范化;

   

CAN总线的特色:

    1、多主操控

      在总线空闲时,一切单元都能够开端发送音讯(多主操控);

      最早拜访总线的单元取得发送权(区分方法:“CSMA/CA方法”);

      多个单元一起开端发送时,发送高优先级ID音讯的单元可取得发送权;

    2、音讯的发送

      在can协议中,一切音讯都是以固定格局发送。总线空闲时,一切与总线相连的单元都能够开端发送新音讯。两个以上的单元一起开端发送音讯时,依据标识符(ID)决议优先级。ID并不是表明发送音讯的意图地址,而是表明拜访总线的音讯优先级。两个以上的单元一起开端发送音讯时,对各音讯ID的每个位进行逐一裁定比较,裁定取胜(优先级最高)的单元继续发送音讯,裁定失利的单元则马上中止发送而进行接纳作业;

    3、体系的柔软性

      与总线相连的单元没有类似于“地址”的信息,因此在总线上添加单元时,衔接在总线上的其他单元的软硬件及应用层都不需求改动;  

    4、通讯速度

      依据整个网络的规划,可设定合适的通讯速度。最高1Mbps;

      在同一网络中,一切单元有必要设定成一致通讯速度,即便有一个单元的的通讯速度与其他的不一样,此单元也会输出过错信号,阻碍整个网络的通讯,不同网络间则能够有不同的通讯速度;

    5、长途数据恳求

      可经过发送“遥控帧”,恳求其他单元发送数据;

    6、过错检测功用(过错告诉功用、过错康复功用)

      一切的单元都能够检测过错(过错检测功用)

      检测出过错的单元会当即一起告诉其他一切单元(过错告诉功用)

      正在产生音讯的单元一旦检测出过错,会强制完毕当时的发送。强制完毕发送的单元会不断重复地从头发送此音讯直到成功发送(过错康复功用);

    7、毛病关闭

      CAN能够判别出过错的类型是总线上暂时的数据过错(如外部噪声)仍是继续数据过错(如单元内部毛病、驱动器过错)。由此功用,当总线上发送继续过错时,或许引起此毛病的单元从总线上阻隔出去;

    8、衔接

      CAN总线是可一起衔接多个单元的总线。可衔接的单元总数理论上是没有约束的。但实际上可衔接的单元数受总线上的时间延迟及电气负载的约束。下降通讯速度,可衔接的单元数添加,进步通讯速度,则可衔接的单元数削减;

CAN总线协议:

 CAN总线涵盖了OSI规则的传输层、数据链路层、物理层;

物理层:

  决议了位编码方法(NRZ编码,6个位刺进填充位),位时序(位时序、位的采样)、同步方法(依据同步段ss完结同步,并具有再同步功用);但详细的说:信号电平,通讯速度,采样点,驱动器和总线的电气特色,衔接器的形状都没有界说,需求用户自行确认;

传输层:

  界说了再发送操控;

数据链路层:

  数据链路层分LLC(逻辑链路操控 Logic Link control)子层 和MAC(前言拜访操控Media access control)子层;

    LLC子层,履行接纳音讯挑选(点到点、播送、组播)、过载告诉(告诉接纳预备尚为完结)、过错康复功用(再次发送);

    MAC层: 进行数据帧化(4种帧类型),衔接方法操控(竞赛方法),音讯裁定(ID裁定),毛病分散按捺(自动识别暂时过错和继续过错,排除毛病节点),过错告诉(CRC过错、填充位过错、位过错、ACK过错、格局过错),过错检测,应对方法(ACK, NACK),通讯方法(半双工)等设置;

  MAC子层是CAN协议的中心,数据链路层的功用是将物理层的信号组成有意义的音讯,并供给传送过错操控等传输操控的流程。数据链路层的功用通常是在CAN操控器的硬件中履行;

帧的概念:

  数据帧:用于发送单元想接纳单元传送数据的帧;

  遥控帧(恳求帧): 用于接纳单元向具有相同ID的发送单元恳求数据的帧;

  过错帧:用于当检测出过错时向其它单元告诉过错的帧;

  过载帧:用于接纳单元告诉 其没有做好接纳预备的帧;

  帧距离:用于将数据帧及遥控帧与前面的帧别离开来的帧;没有实际意义

数据帧和遥控帧 都有规范格局和扩展格局两种格局。规范格局有11个位的标识符Identifier,今后称ID),扩展格局有29个位的ID;

  数据帧:

  (1)、帧开端(规范、扩展格局相同)

    表明帧开端的段,1个位的显性位;

   (2)、总线上的电平有显性和隐性电平两种;

    总线上履行逻辑上的线“与”时,显性电平的逻辑值为“0”, 隐性电平为“1”;

    ”显性“具有“优先”的意味,只需有一个单元输出显性电平,总线上即为显性电平。而且,“隐性”具有“容纳”的意味,只要一切的单元都输出隐性电平,总线上才为隐性电平;

  (3)、裁定段

      表明数据的优先级的段

      规范格局和扩展格局在此的构成有所不同;

      ID:

    规范格局的ID有11个位,从ID28到ID18被顺次发送,制止高7位都为隐性;

    扩展格局有29个位;根本ID从ID28到ID18,扩展ID由ID17到ID0;

  遥控帧:

  遥控帧没有数据段;没有数据段的数据帧与遥控帧的差异:RTR位;

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qianrushi/yingjian/266575.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部