今天下午在收拾东西的时候,发现一个2018年7月30日自己写的日记本,翻开看到里面有两页写了关于CAN总线的知识点,这个知识点在公司实习时所写,现在把它发到博客中。
CAN总线协议
CAN是控制器局域网络(Controller Area Network)的简称,在分布式控制中有很大用途,尤其在局域网络
特点:多主控制,速度快,距离远(最快1Mbps,距离可达10Km,速度越高,距离越远);连接节点多,可分布式控制。
总线电平:采用差分信号通信,由CAN_H和CAN_L组成,电平分显性电平和隐形电平:
1、显性电平CAN_h-CAN_L=2V,对应逻辑为0
2、隐形电平CAN_h-CAN_L=0V(看不到电压差别,故认为隐形)对应逻辑1
在CAN总线的起止端都有一个120Ω的终端电阻,来做阻抗匹配,以减少回波反射
CAN通信协议
常用的帧类型:数据帧,遥控帧,过载帧,间隔帧(其中数据帧,遥控帧常用,主要是数据帧),数据帧比遥控帧多一个数据控制位
STM32中bxCAN外设介绍
由CAN_TX和CAN_RX两条收发线组成,外电路可以通过芯片JT1050的CAN收发芯片转换成CAN_H和CAN_L。
注意:①.如果STM32的CAN_TX和CAN_RX没有和CAN收发器连接的情况下,STM32的CAN_TX和CAN_RX是没有数据发出的。
②.STM32的CAN_TX和CAN_RX必须要与CAN收发器的TX和RX对应,即TX接TX,Rx接Rx,否则CAN没有数据发出
③.STM32F103的CAN口和USB口复用,即用CAN口是否需要将USB口断开,防止有所影响。
笔记记得不多,特地从网上找到一篇更加详细的关于STM32的CAN总线问题http://news.eeworld.com.cn/mcu/article_2017092234636.html,欢迎批评指正。