CAN总线属于异步通信,因此就有通信波特率,而这个波特率发生器就位于[color=var(--weui-LINK)][url=]CAN控制器[/url]内部。我们不需要了解它是如何产生的,但需要了解它的含义。这章节针对初学者讲述以下两点内容。
1、异步通信在串行通信中,主要分异步通信和同步通信。
同步通信:通信设备之间通过[color=var(--weui-LINK)][url=]同步信号[/url](CLK时钟)来实现数据传输的通信叫同步通信。如I2C、SPI这类通信中都具有一个时钟信号,其实在STM32中USART也具有同步功能,只是我们大多数人都只用了它的异步功能。
异步通信:简单来说,就是通信设备之间通过约定一样的时间来收发数据。而这个时间就会决定本节说的波特率。
2、波特率很多工程师一直都没彻底搞明白什么是波特率,我这里还是结合UART波特率来简述一下其含义。
在电子通信领域,波特(Baud)即[color=var(--weui-LINK)][url=]调制速率[/url],指的是有效数据信号调制载波的速率,即单位时间内载波调制状态变化的次数。它是对符号传输速率的一种度量,1波特即指每秒传输1个符号。
UART每秒钟传送240个字符,而每个字符格式包含10位(1个起始位,1个停止位,8个数据位),这时的波特率为240Bd,比特率为10位*240个/秒=2400bps。
从上面的描述可以总结:比特率:即单位时间内传送的二进制位数;
波特率:即单位时间内传输的符号个数;
只有在每个符号只代表一个比特信息的情况下,[color=var(--weui-LINK)][url=]波特率与比特率[/url]才在数值上相等,但是它们的意义并不相同。
|