STM32CAN总线协议讲解

                              月报
     最近学习了STM32的CAN总线协议,使用的是野火的开发板 

CAN 是Controller Area Network 的缩写(CAN BUS),具有布线简单、典型的总线型结构、可最大限度的节约布线与维护成本、稳定可靠、实时、抗干扰能力强、传输距离远等特点,是一种成功的总线。不仅在汽车行业得到推广与应用,在航天、电力、石化、冶金、纺织、造纸等领域也得到广泛应用。在自动化仪表、工业生产现场、数控机床等系统中也越来越多的使用了CAN总线。
CAN总线采用差分信号传输,通常情况下只需要两根信号线(CAN-H和CAN-L)就可以进行正常的通信。在干扰比较强的场合,还需要用到屏蔽地即CAN-G(主要功能是屏蔽干扰信号),CAN协议推荐用户使用屏蔽双绞线作为CAN总线的传输线。在隐性状态下,CAN-H与CAN-L的输入差分电压为0V(最大不超过0.5V),共模输入电压为2.5V。在显性状态下,CAN-H与CAN-L的输入差分电压为2V(最小不小于0.9V)………
反正就是一堆看着非常让人懵逼的协议啊之类咱们现在暂时就先不去折腾了,遵照基本的电气使用规范来应用即可,这里重点就是说下用stm32f1系列单片机来实现CAN总线通信的基本软件配置。
单片机基本的通信配置好之后,这种通信方式还是非常实用高效的,主要是通信稳定可靠,传输距离远。使用的前提是单片机要带硬件CAN功能,协议还是蛮复杂的,所以需要处理器自带CAN协议功能模块,使用前对相关参数进行配置,如通信速率、数据格式等,再搭配好外围电路,如TJA1050CAN转换器之后,(根据实际的总线网络配好总线的阻抗(也就是总线两端的匹配电阻),避免反射造成

你可能感兴趣的:(STM32单片机)