串口通讯详解
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
主-从式多机通信: 在通讯开始时,各从机都应置位SM2。因为主机发出的第一帧数据 是地址帧( RB8=1 ),各从机都激发中断,并进入各自的中断服务程序。 只有地址相符的从机才在中断服务程序中使SM2=0,为以后接收或发送 数据作准备;其他从机仍保持SM2=1,对数据帧不予理睬。这样就实现 了主机只能与被寻址的从机实现通讯。
6-1-2 串行通信的数据通路形式
按数据的传送方向,串行通信可分为:单工、双工、半双工3种形 式。
A
单工通信
B
A
双工通信
B
A
半双工通信
B
多机通信
主站
从站1
站1
从站2 …
站B …
从站N
站N
6-1-3 串行通信格式
按照串行数据的时钟控制方式,串行通信可分为同步通信和异步通信。
a. 异步通信
在异步通信中,没有统一的时钟信号,各设备使用自己的时钟信号 , 各设备时钟必须在频率上保证一致(误差允许范围很小),每个传送字 节必须用其始位来同步时钟,用1~2个停止位来表示传送字节的结束。由 起始位、数据位、奇偶校验位和停止位等 4 部分组成的串行数据称为字 符帧(Character Frame) 也叫数据帧。
20 7
6 4 5
DTR GND
DSR RTS CTS
DTE DCE DTE DCE
控制 控制 控制 控制
终端准备好 信号地
数据机准备好 请求发送 清除以便发送
9
22
RI
DCE
控制
振铃信号
计算机间RS232C通信的常用连接方法
TXD 计算机 RXD GND TXD
RXD 计算机 GND
无握手
TxD RxD RTS CTS DTR DSR CD RI GND TxD RxD RTS CTS DTR DSR CD RI GND
全握手
6-2-2 RS422 和 RS485
平衡和非平衡线路
非平衡线路(单端收发器)
平衡线路(差分收发器)
RS422 和 RS485 接口标准
规 格 RS422 RS485
传输模式
差动输出(V) 接收器敏感度(V) 驱动器负载,最小(Ω) 最大驱动器数量 最大接收器数量 最大传输速度 ( bps )
平衡
±2 ± 0.2 100 1 10 10M
平衡
± 1.5 ± 0.2 60 32 32 10M
最大电缆长度 @ 90Kbps ( ft )
最大电缆长度 @ 10Mbps ( ft )
4000
50
4000
50
RS422 的连接线路
RS422 多采用1:N的全双工连接方式
主站
R
R 从站1 …… 从站N
RS485 的连接线路
RS485多半双工的连接方式
R
R
……
6-3 8051的串行通讯端口
6-3-1 8051串行口结构
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
6-3-2 8051串行口的工作方式
根据SCON中SM0、SM1: 8051的UART有4中工作方式,用于不同 场合。
1) 方式0 —— 移位寄存器方式
串行数据从 RXD (P3.0)端输入或输出,同步移位脉冲由 TXD(P3.1) 送出。 这种方式常用于扩展 I/O 口。
2)方式1—— 波特率可调的10位通用异步接口UART。
b. 电源和波特率控制寄存器 PCON (87H) D7 D6 D5 D4 POF2 D3 GF1 D2 GF0 D1 PD D0 IDL
SMOD1 SMOD0
SMOD 1为波特率倍频选择位。 在方式 1、2 和 3 时,串行通信的波特率与 SMOD 有关。 当 SMOD=1 时,通信波特率乘 2;当 SMOD=0 时,通信波特率不变。
d)方式3 —— 波特率可变的11位UART通信方式。 传送的波特率取决于定时器T1 或定时器T2的溢出率和 PCON 中 的 SMOD 位。 除了波特率以外,方式 3 和方式 2 完全相同。
6-3-2 8051串行口的波特率
对于串口的工作方式1、3,波特率通常由定时器T1或T2的溢出脉 冲来确定。 1)定时器T1用做波特率发生器时波特率的计算 定时器T1的工作方式2 常用作波特率发生器:
SMOD 0用于选择串口控制寄存器SCON最高位的功能:
当 SMOD0=0 时, SCON的最高位为工作方式选择(SM0); 当 SMOD0=1 时, SCON的最高位为帧错误标志(FE)。
c. 串行控制寄存器SCON SCON 用来控制串行口的工作方式和状态,可以位寻址,字节地址 为 98H。 D7 D6 D5 D4 D3 D2 D1 D0
发送 时钟
数据
接收 时钟 起始位检测 读取第1个数据位 读取第2个数据位
b. 同步通信
在通信的设备中,采用同一时钟信号,这个时钟信号可以是其中一台 设备产生的,也可以采用外部时钟信号源。
0
0
1
1
1
1
0
1
由于具有同步时钟,传送速度快; 但若传送距离较长时, 时钟信号易 受干扰, 且不经济。多用于板内芯片间的数据通信和短距离设备间的数 据通信。如:I2C、 SPI、 LVDS等 在同步通信中,除了位同步,还需要帧(字符)同步,帧同步可以 由单独的硬件信号实现,也可以用数据线上的同步字符来实现(非 2进 制数据)
8位同步移位寄存器 8位UART 9位UART 9位UART
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 都以正常方式被 激活。
在方式 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中断。
DTE DCE 插针式 内孔式 25针DB插连接器
DTE DCE 插针式 内孔式 9针DB插连接器
RS232C接口信号定义
引脚(9针) 引脚(25针)
1 2 3 8 3 2
信号
CD RxD TxD
信号源
DCE DCE DTE
类 型
控制 数据 数据
描
述
载波信号检测 接收数据 发送数据
4 5
6 7 8
发送或接收一帧信息,包括 1 位起始位 0,8 位数据位和 1 位停止 位。
传送的波特率取决于定时器 T1 或 T2的溢出率和 PCON 中的 SMOD 位。
c)方式2 —— 固定波特率的11位UART通信方式。 传送波特率只与 SMOD 有关。 发送或接收一帧数据包括 1 位起始位 0,8 位数据位,1 位可编程位 (用于奇偶校验)和 1 位停止位1。
空闲位
D0 D1 D2 D3 D4 D5 D6 D7 P
起始位 停止位
D0 D1 D2 D 3 …
异步串行通信的字符帧格式 异步通信的优点是不需要传送同步时钟,字符帧长度不受限制, 故设备简单。缺点是字符帧中因包含起始位和停止位而降低了有效数据的 传输速率。
异步通信中,每秒钟传送二进制数码的位数为波特率(Baud Rate), 单位为 bps。异步串行通信的收发设备,必须使用相同的波特率。
1)SPI 同步串行总线标准 SPI总线采用3线制全双工串行通信。
主器件
MOSI
7 6 5 4 3 2 1 0
从器件
MISO
NSS
7 6 5 4 3 2 1 0
时钟发生器
SCK
SCK MISO/MOSI
MSB bit6 bit5 bit4 bit3 bit2 bit1 LSB
NSS
2)I2C 同步串行总线标准 I2C总线采用2线制全双工串行通信。 SDA 主站 SCL 从站0 A2 A1 A0 从站1 A2 A 1 A0 …… 从站7
2)定时器T2用做波特率发生器时波特率的计算
6. 串行通讯及其接口
6-1 串行通讯的一般概念
6-1-1 并行通信和串行通信
并行通信: 数据的各位同时传送。 优点:传送速度快 缺点:数据线多,成本较高,且由于并行数据传输线的耦合和共模 干扰,传输距离短。 主要应用于数据传送量很大的场合,如打印机,液晶屏等。随着现 代电子技术的发展,并行通信的应用在逐渐减少。 串行通信:将数据按顺序分解为一位(或几位,一般不大于4位)的序 列,按顺序传送。 优点:传送线路简单,成本低,传送距离长 缺点:传送速度比并行通信低 随着现代电子技术的发展,传送速度越来越快,应用越来越广泛。 如USB、1394、Profibus、SERCOS、各种网络等
A2 A1 A 0 1 1 1
0 0 0
0 0 1
6-2 常用异步串行通讯接口标准
6-2-1 RS232C
RS232是应用最早,最广泛的双机异步串行通信总线标准。是美国电 子工业协会的推荐标准 RS = recommended standard 标准规定了数据终端设备(DTE)和数据通信设备(DCE)间串行通信接 口的物理(电平)、信号和机械连接标准
异步通信设备,都具有自己的波特率时钟发生器,其时钟频率一般 为波特率的16倍,在检测到起始时位跳变时,接收方同步其接收时钟, 然后,间隔24个时钟,检测第一个数据位,以后每间隔16个时钟检测一 位,直到停止位,1帧数据结束。 用起始位同步接受时钟,消除了时钟误差的累积,降低了对收发时 钟频率的一致性要求,一般,时钟误差<3% 即可。
DTE
计算机
RS232C
电话线 DCE
Modem DCE Modem
RS232C
DTE 计算机
TXD 计算机 RXD GND
TXD
RXD 计算机 GND
RS232C的电气标准和机械连接
RS232C的电气标准: 3V~15V : 逻辑0 -3V~-15V: 逻辑1 50ft @ 9600bps
TTL/CMOS-RS232电平转换芯片: MAX232、MAX202等
SM0/FE
SM1
SM2
REN
TB8
Βιβλιοθήκη Baidu
RB8
TI
RI
SM0、SM1:串行方式选择位 SM0 SM1 00 01 10 11 工作方式 方式 0 方式 1 方式 2 方式 3 功 能 波 特 率 fOSC/ /12 可变(T1或T2溢出率/n) fOSC/ /64 或 fOSC/ /32 可变(T1或T2溢出率/n)