UART(串口)
(1)串行通信线路三种工作方式:单工通信、半双工通信、全双工通信
单工:单工就是指A只能发信号,而B只能接收信号,通信是单向的。
半双工:半双工就是指A能发信号给B,B也能发信号给A,但这两个过程不能同时进行,如对讲机。
全双工:在A给B发信号的同时,B也可以给A发信号,如打电话,单片机串口通信。
(2)电平:单片机一般TTL电平,5V。标准RS232电平标准15V。通过MAX232进行电平转换。RS-232-C 将-5V~-15V 规定为“1”,+5V~+15V规定为“0”。
(3)
数据格式如上图,启动位和停止位各占1bit,奇偶校验可有可无。空闲时无论是接收线还是发送线都是高电平,一个下降沿的到来,说明了数据传输的开始。
(4)串口调试助手
a.如果没有勾上“以十六进制发送”,发送过去的数据是ASCII码格式,比如“1”,发过来的是0x31。(7 bit ASCII码是用七位二进制数进行编码的,可以表示128个字符)。但勾上“以十六进制发送”后,发送过来的数据则不是ASCII码,暂时是两位两位的发送,比如“01”,发过来就是“0x01”.(十六进制可以发送8bit数据)
b.数据位数:6、7、8
c.停止位数:1、2
d.校验位数:NONE、ODD(奇)、EVEN(偶)
e.常用串口波特率:300、600、1200、2400、4800、9600、19200、38400、43000、56000、57600、115200,单位为bps(bits per second),即每秒传输的比特数。串口最高速率为115Kbps,即0.1Mbps,而我们使用的百兆网卡速度100Mbps,速度整整相差了1000倍。
对于一个8bits的16进制数,没有校验位的数据,对于9600的波特率,9600/(1+8+1)=960 byte/s。
RS-422:全双工;TTL电平;传输速率提高到10Mb/s(比232提高了将近100倍);速率低于100kb/s时,传输距离延长到4000英尺(大概1200米);并允许在一条平衡总线上连接最搜索多10个接收器(单机发送、多机接收的单向)。
RS-485:半双工;TTL电平;传输速率提高到10Mb/s(和422相同);当波特率为9600,485传输距离1200米(和422相同);增加了多点、双向通信能力,即允许多个发送器连接到同一条总线上,同时增加了发送器的驱动能力和冲突保护特性。
1. 422与485协议电气性能相同。
2. RS-485的电气特性:逻辑“1”以两线间的电压差为+(2—6) V表示;逻辑“0”以两线间的电压差为-(2—6)V表示。接口信号电平比RS -232-C降低了,就不易损坏接口电路的芯片,且该电平与TTL电平兼容,可方便与TTL 电路连接。
3. RS-485接口是采用平衡驱动器和差分接收器的组合,抗共模干能力增强,即抗噪声干扰性好。
4. RS-485接口在总线上是允许连接多达128个收发器。即具有多站能力,这样用户可以利用单一的RS-485接口方便地建立起设备网络。 因RS-485接口具有良好的抗噪声干扰性,长的传输距离和多站能力等上述优点就使其成为首选的串行接口。因为RS485接口组成的半双工网络 ,一般只需二根连线,所以RS485接口均采用屏蔽双绞线传输。
RS422总线、RS485和RS422电路原理基本相同,都是以差动方式发送和接受,不需要数字地线。差动工作是同速率条件下传输距离远的根本原因,这正是二者与RS232的根本区别,因为RS232是单端输入输出,双工工作时至少需要数字地线、发送线和接受线三条线(异步传输),还可以加其它控制线完成同步等功能。RS422通过两对双绞线可以全双工工作收发互不影响,而RS485只能半双工工作,发收不能同时进行,但它只需要一对双绞线。以上三种接口各有缺点,在实际工作中可以根据需要灵活选用。