第10章 通用同步异步收发器
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.半双工传送方式
3. 全双工传送方式
10.1.3 串行通信的RS-232C标准
RS-232C标准最初是为远程通信连接数据终端设备 DTE与数据通信设备DCE而制定。接口最大传输速率 为200kpbs,线缆最长为15米。 1. RS-232C信号定义
① 联络控制信号线 6 条
a. DSR (Data Set Ready 数据设备就绪):有效时(ON) 表明数据通信设备处于可以使用的状态。 b. DTR (Data Terminal Ready 数据终端就绪):有效时 (ON)表明数据终端可以使用。这两个信号有时连到电源上, 上电就立即有效。这两个设备状态信号有效只表示设备本身 可用,并不说明可以开始进行通信了,能否开始进行通信要 由下面的控制信号决定。
1. USART异步发送器
正确使用USART异步串行发送器的编程步骤:
(1)选择合适的波特率,并将对应的参数值写入波 特率寄存器 SPBRG 。若要选择高波特率,应该将 BRGH (TXSTA < 2 > )置位。 (2)设置 SYNC (TXSTA <4> )清零、 SPEN ( RCSTA <7> )置位,使 USART 工作于异步串行 模式。 (3)若需要通过中断来处理发送过程,则 TXIE (PIEI <4> )置位。 (4)若要发送的是 9 位数据帧结构,则 TX9 (TXSTA <6> )置位。 (5)使 TXEN ( TXSTA <5> )置位,使 USART 处 于发送模式,这也会导致 TXIF 被置位。
10.1.3 串行通信的RS-232C标准
c. RTS (Request To Send 请求发送)用来表示数据终 端 DTE 请求数据通信设备 DCE 发送数据。当数据终端 要发送数据时,使该信号有效,向通信设备请求发送。 用 RTS 控制通信设备进入或退出发送状态。 d. CTS (Clear To Send 允许发送/清除发送):该信 号是对请求发送信号 RTS 的响应,用来表示 DCE 准备 好接收 DTE 发来的数据。当通信设备已准备好接收终端 传来的数据并向外发送时使该信号有效,清除 RTS 并通 知终端开始用发送数据线 TXD 向通信设备发送数据。 RTS / CTS 请求应答联络信号是用于半双工通信设备系 统中发送方式和接收方式之间的切换。在全双工系统中, 因配置双向通道,故不需要 RTS / CTS 联络信号。
10.2.1 与USART模块相关的寄存器
10.2.1 与USART模块相关的寄存器
1. 发送控制兼状态寄存器TXSTA
TXSTA是6位可读/写的寄存器,位3没有使用,位1(TRMT)是 只读位,是发送移位寄存器TSR的状态位。
2. 接收控制兼状态寄存器RCSTA
RCSTA是8位可读/写的寄存器,低3位是接收寄存器的状态位。
10.2.3 USART模块的异步工作方式
10.1.2 串行通信的方式
1. 单工传送方式
单工(Simplex)通信是指单方向通信,是指信息流只 能单方向流动、由发方传输到收方,而不能逆向传输。 半双工(Half Duplex)通信是指不完全的双方向通信, 是指信息流能分时地在同一信道内双方向流动。 全双工(Full Duplex)通信是指完全双方向通信,有 两个信息传输的途径,信息流能在双方同时向对方传。
② 数据发送与接收线 2 条
a. TXD ( Transmitted data 发送数据):通过 TXD 终端将串行数据发送到通信设备,即 DTE 到 DCE 。 b. RXD ( Received data 接收数据):通过 RXD 线 终端接收从通信设备发来的串行数据,即 DCE 到 DTE 。
10.1.6 串行通信的组网方式
10.2 PIC中档单片机的USART模块
在 PIC 中档单片机片内集成了一个通用同步/异步收发器 USART 模块,它可以被程序设定为全双工异步通信方 式或半双工同步通信方式。全双工异步通信分为不可寻 址方式和可寻址方式,半双工同步通信分为同步主控器 方式和同步被控器方式。 在 8 位 PIC 单片机上, USART 模块的两条串行通信线 分别在RC6/TX/CK 和 RC7/RX/DT上,工作时它们必须 在逻辑上与 RC 口分离(处于高阻状态),以防止 RC 对串口的干扰。具体办法是让 TRISC <7:6>= 11 ,使 RC6 /TX/CK 、 RC7/RX/DT 与 RC口高阻隔离。另外, USART 模块在单片机进入休眠(SLEEP)时暂停工作, 原因是休眠时 USART 模块要用的系统时钟将停止工作。
正确使用USART异步串行发送器的编程步骤:
(6)若选择了发送的是 9 位数据,则要将第 9 位数据写入 TX9D (TXSTA <0> )。 (7)将要发送的 8 位数据送入 TXREG 寄存器, 从而启动发送器开始串行发送数据。 (8)若要中断来处理发送过程,则需确保 GIE 、 PEIE ( INTCON <7 : 6> )已被置位且 TXIE (PIEI <4 > )已被置位。当 TXREG 内的数据被 装入 TSR 时, TXIF 会被置位并向 CPU 申请中 断, CPU 可在中断服务程序中向 TXREG 送新的 数据。
10.1.3 串行通信的RS-232C标准
2. RS-232C 电气特性规定 RS-232C 对电器特性、逻辑电平有如下规定:
① 在 TXD 和 RXD 上,逻辑 1 为-3V ~-15V 。 ② 逻辑 0 为+3v ~+ 15 V。
在 RTS 、 CTS 、 DSR 、 DTR 和 DCD 等控 制线上有如下规定:
1. 奇偶校验:根据被传输的一组二进制代码的数 位中“ 1 ”的个数是奇数或偶数来进行校验。 2. CRC 校验: 又称“循环冗余校验”,由分组 线性码的分支而来,是数据通信领域中最常用的 一种高效差错校验码。 3. 若要对发送的一批数据进行总体校验,可采样 “和校验”方法,也就是在发送方,将发送的每 个数据进行累加(或“逻辑加”),将结果的低 字节作为最后一个字节发出。在接收方用相同的 方法对收到的数据进行相加,并与最后一个字节 比较,若相同则传输正确,否则传输错误。
10.2.3 USART模块的异步工作方式
对发送状态与控制寄存器TXSTA的位4(SYNC) 清零,即将USART设置为异步工作模式。 在 USART 的异步工作模式下含 4 个功能部件:
波特率发送器 BRG 采样电路 异步发送器 异步接收器
10.2.3 USART模块的异步工作方式
10.1.3 串行通信的RS-232C标准
③ 信号地线 1 条
GND ( Signal Ground 信号地):无方向。 上述控制信号线何时有效/无效的顺序表示了接口信号 的传送过程。例如,只有当 DSR 和 DTR 都处于有效 状态时,才能在 DTE 和 DCE 之间进行传送操作。若 DTE 要发送数据,则预先将 DTR 线置为有效状态, 等 CTS 线上收到有效状态的回答后,才能在 TXD 线 上发送串行数据。这种顺序的规定对半双工的通信线 路特别有用,因为只有半双工的通信才能确定 DCE 已由接收方向改为发送方向,这时线路才能开始发送。
3. 波特率发生器初值寄存器SPBRG
要启动串口通讯首先要选择合适的波特率,PIC的USART模块中 有一个8位的波特率发生器,它根据SPBRG寄存器的值来决定周 期;另外在异步通信的方式下波特率还和BRGH位的状态有关。
4. 发送缓冲器TXREG和接收缓冲器RCREG
发送缓冲器TXREG和接收缓冲器RCREG分别是两个8位的数据 寄存器。待发数据要写入发送缓冲器TXREG中;每次收到的数 据可以从接收缓冲器RCREG中读出。
10.1.3 串行通信的RS-232C标准
e. DCD ( Data carrier Detection 数据载波检测): 当本地 DCE 设备收到对方的 DCE 设备送来的载波 信号时,使 DCD 有效,通知 DTE 准备接收,并且由 DCE 将接收到的载波信号解调为数字信号,经 RXD 线送给 DTE 。 f. RI (Ringing 振铃信号):当 DCE 收到对方的 DCE 设备送来的振铃呼叫信号时,使该信号有效, 通知 DTE 已被呼叫。
第十章 通用同步/异步收发器
第十章 通用同步/异步收发器
10.1 串行通信的基本概念
10.2 PIC中档单片机的USART模块 10.3 USART模块的使用方法和编程技术 10.4 实验
10.1 串行通信的基本概念
10.1.1 串行通信的基本类型 1.异步传送方式
异步传送是指无需同步时钟的传输,就是在传输信道 的两端(收方和发方)可以用各自的时钟,而不需要 用同一个时钟来同步两端的通信事件和通信过程。 异步传输通常是以字符为单位来传输的,且通信双方 需按事先的约定或协议来进行通信活动,其中包括从 起始位开始字符的传输、数据传输率(波特率)的大 小、字符的位数、是否有校验位以及停止位的个数等。 包括起始位、数据位、校验位、停止位在内的一组信 息称为一个数据帧。
10.1.11 串行通信的基本类型
Leabharlann Baidu
10.1.11 串行通信的基本类型
2. 同步传送方式
同步传送是指需要同步时钟的传输,即在传输过程中, 通信的两端需采用同一时钟来同步传输的数据。 在物理上往往要增加一条时钟线。同步时钟通常由主 控方提供。若无同步时钟线,则需采用其他措施保证 通信双方时钟的严格同步,例如在每组信息(或称数 据包)的开头处加上同步字符(又称为同步头)。通 常每组信息由多个字符组成,称为一帧。同步通信要 求连续的数据流,不允许数据包间有间断,在没有信 息传输时,要插入空字符。相比异步通信,同步通信 具有传输效率高和同步精确度好的优点,其通信的实 例包括 SPI 、 I2C 等。
10.1.4 串行通信的帧结构
在串行通信中,信息必须经过“组装”后才能在线路 上传输,信息组装的最小形式称为帧( Frame )。 一帧通常由起始位、数据位、校验位和停止位 4 个部 分组成,由起始位开始,至停止位结束,每帧传输一 个字符。在一帧中,数据位可为 5 ~9 位,校验位可 有可无。
10.1.5 串行通信的校验与纠错方式
① 信号有效为+3V~+15V 。 ② 信号有效为-3V~-15V 。
10.1.3 串行通信的RS-232C标准
3. RS-232C 与 TTL 转换
10.1.3 串行通信的RS-232C标准
4. 连接器的机械特性
由于 RS-232C 并未定义连接器的物理特性,常 用的两种连接器有 DB25 和 DB9 。这两种连接器 又分为插针型 DB25/DB9 连接器和插孔型 DB25/DB9连接器。当 PC 机和单片机之间使用 RS-232C 接口通信时, PC 机一端主板上采用的 通常是插针型连接器,而在单片机一端则多使用 插孔型连接器。
10.2.1 与USART模块相关的寄存器
发送控制状态寄存器TXSTA各位功能
10.2.1 与USART模块相关的寄存器
接收控制兼状态寄存器RCSTA各位功能
10.2.2 USART模块的波特率发生器BRG
波特率:每位信息的时间宽度——每秒发送的信息位 个数。 USART 模块内有一个 8 位的波特率发生器 BRG ( Baud Rate Generator ) ,它可以根据设定的数值产 生串行数据中每一位数据的时间长度。波特率寄存器 SPBRG 中所存放的值为 BRG 提供了一个不断循环 的定时周期,实际上是 SPBRG 中的 8 位数作为减法 计数器的初值。当该 8 位减法计数器发生借位时(也 即减到 00H 后,下一个计数脉冲到达时),SPBRG 中所存放的值会被再次装载到该减法计数器中,如此 周而复始。在异步模式下,波特率由 SPBRG 和 TXSTA 中的 BRGH 位共同决定。