350 likes | 598 Views
6. 串行通讯及其接口. 6-1 串行通讯的一般概念. 6-1-1 并行通信和串行通信. 并行通信 : 数据的各位同时传送。 优点:传送速度快 缺点:数据线多,成本较高,且由于并行数据传输线的耦合和共模干扰,传输距离短。 主要应用于数据传送量很大的场合,如打印机,液晶屏等。随着现代电子技术的发展,并行通信的应用在逐渐减少。 串行通信 :将数据按顺序分解为一位(或几位,一般不大于 4 位)的序列,按顺序传送。 优点:传送线路简单,成本低,传送距离长
E N D
6. 串行通讯及其接口 6-1 串行通讯的一般概念 6-1-1并行通信和串行通信 并行通信: 数据的各位同时传送。 优点:传送速度快 缺点:数据线多,成本较高,且由于并行数据传输线的耦合和共模干扰,传输距离短。 主要应用于数据传送量很大的场合,如打印机,液晶屏等。随着现代电子技术的发展,并行通信的应用在逐渐减少。 串行通信:将数据按顺序分解为一位(或几位,一般不大于4位)的序列,按顺序传送。 优点:传送线路简单,成本低,传送距离长 缺点:传送速度比并行通信低 随着现代电子技术的发展,传送速度越来越快,应用越来越广泛。如USB、1394、Profibus、SERCOS、各种网络等
A B B A 单工通信 双工通信 A B 6-1-2串行通信的数据通路形式 按数据的传送方向,串行通信可分为:单工、双工、半双工3种形式。 半双工通信
站1 主站 从站1 站B 从站2 … … 站N 从站N 多机通信
空闲位 … D0 D1 D2 D3 D4 D5 D6 D7 P D0 D1 D2 D3 起始位 停止位 6-1-3串行通信格式 按照串行数据的时钟控制方式,串行通信可分为同步通信和异步通信。 a. 异步通信 在异步通信中,没有统一的时钟信号,各设备使用自己的时钟信号,各设备时钟必须在频率上保证一致(误差允许范围很小),每个传送字节必须用其始位来同步时钟,用1~2个停止位来表示传送字节的结束。由起始位、数据位、奇偶校验位和停止位等 4 部分组成的串行数据称为字符帧(Character Frame) 也叫数据帧。 异步串行通信的字符帧格式 异步通信的优点是不需要传送同步时钟,字符帧长度不受限制,故设备简单。缺点是字符帧中因包含起始位和停止位而降低了有效数据的传输速率。
异步通信中,每秒钟传送二进制数码的位数为波特率(Baud Rate),单位为 bps。异步串行通信的收发设备,必须使用相同的波特率。 异步通信设备,都具有自己的波特率时钟发生器,其时钟频率一般为波特率的16倍,在检测到起始时位跳变时,接收方同步其接收时钟,然后,间隔24个时钟,检测第一个数据位,以后每间隔16个时钟检测一位,直到停止位,1帧数据结束。 用起始位同步接受时钟,消除了时钟误差的累积,降低了对收发时钟频率的一致性要求,一般,时钟误差<3% 即可。 发送 时钟 数据 接收 时钟 起始位检测 读取第1个数据位 读取第2个数据位
0 0 1 1 1 1 0 1 b. 同步通信 在通信的设备中,采用同一时钟信号,这个时钟信号可以是其中一台设备产生的,也可以采用外部时钟信号源。 由于具有同步时钟,传送速度快; 但若传送距离较长时, 时钟信号易受干扰, 且不经济。多用于板内芯片间的数据通信和短距离设备间的数据通信。如:I2C、 SPI、 LVDS等 在同步通信中,除了位同步,还需要帧(字符)同步,帧同步可以由单独的硬件信号实现,也可以用数据线上的同步字符来实现(非2进制数据)
从器件 主器件 MOSI MISO NSS SCK 时钟发生器 SCK MISO/MOSI MSB bit6 bit5 bit4 bit3 bit2 bit1 LSB NSS 1)SPI同步串行总线标准 SPI总线采用3线制全双工串行通信。
2)I2C同步串行总线标准 I2C总线采用2线制全双工串行通信。 SDA 主 站 SCL 从站7 A2 A1 A0 从站0 A2 A1 A0 从站1 A2 A1 A0 … … 0 0 0 0 0 1 1 1 1
电话线 RS232C RS232C DTE DCE DTE DCE 计算机 计算机 Modem Modem 计算机 计算机 TXD TXD RXD RXD GND GND 6-2常用异步串行通讯接口标准 6-2-1RS232C RS232是应用最早,最广泛的双机异步串行通信总线标准。是美国电子工业协会的推荐标准 RS = recommended standard 标准规定了数据终端设备(DTE)和数据通信设备(DCE)间串行通信接口的物理(电平)、信号和机械连接标准 DCE
DTE 插针式 DCE 内孔式 DTE 插针式 DCE 内孔式 9针DB插连接器 25针DB插连接器 RS232C的电气标准和机械连接 RS232C的电气标准: 3V~15V : 逻辑0 -3V~-15V: 逻辑1 50ft @ 9600bps TTL/CMOS-RS232电平转换芯片: MAX232、MAX202等
TxD RxD RTS CTS DTR DSR CD RI GND TxD RxD RTS CTS DTR DSR CD RI GND 计算机 计算机 TXD TXD RXD RXD GND GND 计算机间RS232C通信的常用连接方法 无握手 全握手
6-2-2RS422 和 RS485 平衡和非平衡线路 非平衡线路(单端收发器) 平衡线路(差分收发器)
R RS422 的连接线路 RS422 多采用1:N的全双工连接方式 主站 R … … 从站1 从站N
R R … … RS485 的连接线路 RS485多半双工的连接方式
6-3 8051的串行通讯端口 6-3-18051串行口结构 8051具有一个全双工的通用异步接收器/发送器UART(Universal Asychronous Receiver/Transmitter), 接收或发送数据,是通过对两个独立收发引脚 RXD(P3.0)、TXD (P3.1)来实现的。CPU则通过3个特殊功能寄存器( SBUF、SCON、PCON )来实现对UART的控制。 a. 收发缓冲器SBUF 8051的UART,包含两个物理上独立的接收、发送寄存器SBUF,一个用于存放接收到的数据,另一个用于存放欲发送的数据,二者共用一个字节地址(99H),发送缓冲器只能写入不能读出,接收缓冲器只能读出不能写入,当对SBUF进行写操作时,操作的目标是发送寄存器,当对SBUF进行读操作时,操作的目标是接收寄存器 如: MOV A,SBUF ;A接收寄存器 MOV SBUF , A ;发送寄存器 A
b. 电源和波特率控制寄存器PCON (87H) SMOD 1为波特率倍频选择位。 在方式 1、2 和 3 时,串行通信的波特率与 SMOD 有关。 当 SMOD=1 时,通信波特率乘 2;当 SMOD=0 时,通信波特率不变。 SMOD 0用于选择串口控制寄存器SCON最高位的功能: 当 SMOD0=0 时, SCON的最高位为工作方式选择(SM0); 当 SMOD0=1 时, SCON的最高位为帧错误标志(FE)。
c. 串行控制寄存器SCON SCON 用来控制串行口的工作方式和状态,可以位寻址,字节地址为 98H。 SM0、SM1:串行方式选择位 FE:帧错误标志。当UART检测到停止位为0时,置位FE。需软件清除。
SM2:主-从式多机通信控制位,用于方式 2 和方式 3 中。 • 在以方式 2 和方式 3 处于接收方式时, • 若 SM2=1:当接收到的第 9 位数据 RB8为0 时,则RI=0; • 当接收到的第 9 位数据 RB8为1 时,则RI=1。 • 若 SM2=0:不论接收到的第9位RB8为0还是为1,RI 都以正常方式被激活。 • 主-从式多机通信: • 在通讯开始时,各从机都应置位SM2。因为主机发出的第一帧数据是地址帧( RB8=1 ),各从机都激发中断,并进入各自的中断服务程序。 • 只有地址相符的从机才在中断服务程序中使SM2=0,为以后接收或发送数据作准备;其他从机仍保持SM2=1,对数据帧不予理睬。这样就实现了主机只能与被寻址的从机实现通讯。 • 在方式 1 处于接收时,若 SM2=1,则只有收到有效的停止位后,RI =1。 • 在方式 0 中,SM2 应为 0。
REN: 允许接收。 REN=0 时,禁止接收。由软件置位或清零。 TB8:发送数据的第 9 位。 在方式 2 和方式 3 中,由软件设置,可做奇偶校验位。 在多机通信中,可作为区别地址帧或数据帧的标识位。一般约定地址帧时,TB8 为 1,数据帧时,TB8 为 0。 RB8: 接收数据的第 9 位。功能同 TB8。 TI:发送中断标志位。发送完一帧数据的标志,由硬件置位, 软件清除, 可触发CPU中断。 RI:接收中断标志位。接收完一帧数据的标志,由硬件置位, 软件清除, 可触发CPU中断。
6-3-28051串行口的工作方式 根据SCON中SM0、SM1: 8051的UART有4中工作方式,用于不同场合。 1) 方式0—— 移位寄存器方式 串行数据从 RXD (P3.0)端输入或输出,同步移位脉冲由 TXD(P3.1)送出。 这种方式常用于扩展 I/O 口。
2)方式1——波特率可调的10位通用异步接口UART。2)方式1——波特率可调的10位通用异步接口UART。 发送或接收一帧信息,包括 1 位起始位 0,8 位数据位和 1 位停止位 。 传送的波特率取决于定时器 T1 或 T2的溢出率和 PCON 中的 SMOD 位。
c)方式2 ——固定波特率的11位UART通信方式。 传送波特率只与 SMOD有关。 发送或接收一帧数据包括 1 位起始位 0,8 位数据位,1 位可编程位(用于奇偶校验)和 1 位停止位1。
d)方式3 ——波特率可变的11位UART通信方式。 传送的波特率取决于定时器T1 或定时器T2的溢出率和 PCON 中的 SMOD位。 除了波特率以外,方式 3 和方式 2 完全相同。
6-3-28051串行口的波特率 对于串口的工作方式1、3,波特率通常由定时器T1或T2的溢出脉冲来确定。 1)定时器T1用做波特率发生器时波特率的计算 定时器T1的工作方式2 常用作波特率发生器:
2)定时器T2用做波特率发生器时波特率的计算2)定时器T2用做波特率发生器时波特率的计算