文章目录
- 一.前言
- 二. SN65HVD230
- 三. 实战应用电路
- 3.1 应用电路
- 3.2 Rs 引脚(PIN8)
- 3.3 CAN总线的终端电阻
- 四.芯片价格
一.前言
STM32F系列的单片机基本都集成了CAN控制器,像STM32F4与F7等高性能的系列甚至有两个CAN控制器。
单片机上的CAN-H与CAN-L引脚并不能直接连接到
CAN总线上,需要经过CAN收发器才能连接至CAN总线上。
二. SN65HVD230
SN65HVD230是TI的一款性能强大且具体低功耗功能的CAN收发器。
三. 实战应用电路
3.1 应用电路
我购买了一块硬石科技的STM32H743开发板,使用STM32H743作为CANopen主站,控制机器人上的一条CAN总线上的14个伺服电机(CANopen从站)。使用1M的波特率也能正常通讯。但为了有更强的抗干扰能力,波特率使用500K。
以下是SN65HVD230的应用电路:
原理图上有两个问题需要研究一下:
- 为什么S引脚需要经过一个R40,R42的电阻下拉至GND?
- 为什么CANH与CANL之间需要串联一个120R的电阻?
3.2 Rs 引脚(PIN8)
先看芯片手册:
每一款芯片的芯片手册都会对每一个芯片的引脚的功能进行简单的描述。从上图看来,Rs的作用是切换CAN收发器的
工作模式。SN65HVD230有三个工作模式:
- 高速模式(将Rs强下拉至GND)
- 斜率模式(使用10k至100k之间的电阻,将Rs下拉至GND)
- 低功耗模式(将Rs强上拉至3.3V)
一般的项目基本都只用高速模式,并不会使用斜率模式与低功耗模式。所以,直接将Rs引脚强下拉至GND就好了。
至于为什么是4.7K?再看芯片手册上的一张图:
这张图描述的内容是电压变化频率(可以看作'通讯速度')与Rs引脚电阻的一个关系。
1… 当Rs引脚电阻是4.7K时,电压变化频率大约是18V/us。
2. 当Rs引脚电阻是10k时,电压变化频率大约13V/us。
3. 当Rs引脚电阻是0欧时,电压变化频率时20V/us。
(即通讯速度是芯片的极限快)
所以,原理图上使用4.7K将Rs下拉至GND时,芯片虽然处于高速模式,但并不是最高速的。
但是,我实际测试1M的波特率时,能正常通讯。
芯片手册也有应用电路介绍:
从图上可以看到,Rs直接与MCU或DSP的输出引脚相连,也能正常工作。比如MCU输出高电平,CAN收发器进入低功耗模式,MCU输出低电平,CAN收发器进入高速模式。
但是,如果想按照上图的电路设计电路板时,建议中间串联一个0欧姆的电阻。这样就能留下改变电阻的余地。
3.3 CAN总线的终端电阻
实际上,R43与R41都是总线上的终端电阻,CAN总线的终端电阻一般都是120R。在CAN总线上的最开始的站(从站或主站)与最后的站(从站或主站)才需要120R电阻。所以当开发板在CAN总线的非开始与最后的位置时,120R电阻需要去掉的。(实际项目上,我也是去掉的)
四.芯片价格
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。