stm32 can总线通信[库函数ure 015
CAN是控制器局域网络(ControllerAreaNetwork,CAN)的简称,是由研发和生产汽车电子产品著称的BOSCH公司开发了的,并最终成为国际标准(ISO118?8)。近年来,其所具有的高可靠性和良好的错误检测能力受到重视,被广泛应用于汽车计算机控制系统和温度恶劣、电磁辐射强和振动大的工业。相比于I2C和SPI总线结构,can总线定义了更为优秀的物理层、数据链层,并拥有种类丰富、繁简不一的上层协议。
CAN总线的所有消息都是以固定的形式打包发送的。两个以上的节点单元同时发送数据时,根据节点标志符决定各自优先关系。CAN总线并没有类似其他的总线上的地址的概念,在总线上增加节点时,连接节点的其他单元软硬件什么都不需要改变。
例如设置某接收滤波寄存器(11位),接收屏蔽寄存器(11位),则该对组合会接收和之外所有的标识符对应的CAN帧,因为屏蔽器第二位(为0)以外的所有标识符位要严格匹配(与滤波器值一致),第二位的滤波器值和收到的CAN标识符第二位值是否一致都可以.
CAN总线的通信速率和总线长度有关,在总线长度小于40m的场合中,数据传输速率可以达到1Mbps,即便长度达到1000m,数据传输数率也可以达到50Kbps,无论在数率和传输距离上都由于常见的RS232、RS485和I2C总线。
免责声明:本站所有信息均搜集自互联网,并不代表本站观点,本站不对其真实合法性负责。如有信息侵犯了您的权益,请告知,本站将立刻处理。联系QQ:1640731186
TAGS标签更多>>
网站热点更多>>
热网推荐更多>>