6.1.4串行通信的错误校验 在串行通信中,往往要对数据传送的正确与否进行校验。校 验时保证传输数据准确无误的关键。常用的有奇偶校验与循环 冗余码校验等方法。 1.奇偶校验 串行发送数据时,数据位尾随1位奇偶校验位(1或0)。当 约定为奇校验时,数据中“1”的个数与校验位“1”的个数之和 应为奇数;当约定为偶校验时,数据中“1的个数与校验位 “1”的个数之和应为偶数。数据发送方与接收方应一致。在接 收数据帧时,对“”的个数进行校验,若发现不一致,则说明 数据传输过程中出现了差错,则通知发送端重发。 容☑ 16
16 6.1.4 串行通信的错误校验 在串行通信中,往往要对数据传送的正确与否进行校验。校 验时保证传输数据准确无误的关键。常用的有奇偶校验与循环 冗余码校验等方法。 1. 奇偶校验 串行发送数据时,数据位尾随1位奇偶校验位(1或0)。当 约定为奇校验时,数据中“1”的个数与校验位“1”的个数之和 应为奇数;当约定为偶校验时,数据中“1”的个数与校验位 “1”的个数之和应为偶数。数据发送方与接收方应一致。在接 收数据帧时,对“1”的个数进行校验,若发现不一致,则说明 数据传输过程中出现了差错,则通知发送端重发
2.代码和校验 代码和校验是发送方将所发数据块求和或各字节异或,产生 一个字节的校验字符(校验和)附加到数据块末尾。接收方接 收数据时同时对数据块(除校验字节)求和或各字节异或,将 所得结果与发送方的“校验和”进行比较,如果相符,则无差 错,否则即认为在传输过程中出现了差错。 3.循环冗余码校验 循环冗余码校验纠错能力强,容易实现。该校验是通过某种 数学运算实现有效信息与校验位之间的循环校验,常用于对磁 盘信息的传输、存储区的完整性校验等。是目前应用最广的检 错码编码方式之一,广泛用于同步通信中。 容
17 2. 代码和校验 代码和校验是发送方将所发数据块求和或各字节异或,产生 一个字节的校验字符(校验和)附加到数据块末尾。接收方接 收数据时同时对数据块(除校验字节)求和或各字节异或,将 所得结果与发送方的“校验和”进行比较,如果相符,则无差 错,否则即认为在传输过程中出现了差错。 3. 循环冗余码校验 循环冗余码校验纠错能力强,容易实现。该校验是通过某种 数学运算实现有效信息与校验位之间的循环校验,常用于对磁 盘信息的传输、存储区的完整性校验等。是目前应用最广的检 错码编码方式之一,广泛用于同步通信中
6.2串行口的结构 结构见图6-6。 有两个物理上独立的接收、发送缓冲器SBUF(属于特殊 功能寄存器),可同时发送、接收数据。 发送缓冲器只能写入不能读出 接收缓冲器只能读出不能写入 两个缓冲器共用一个特殊功能寄存器字节地址(99H)。 控制寄存器共有两个:特殊功能寄存器SCON和PCON。 18
18 6.2 串行口的结构 结构见图6-6。 有两个物理上独立的接收、发送缓冲器SBUF(属于特殊 功能寄存器),可同时发送、接收数据。 发送缓冲器只能写入不能读出 接收缓冲器只能读出不能写入 两个缓冲器共用一个特殊功能寄存器字节地址(99H)。 控制寄存器共有两个:特殊功能寄存器SCON和PCON。 18
内部总线 TXDP3.1引脚) 发送 SBUF (99HD 发送控制器 定时器 ≥1 TI 串行口中断 Ti 串行口控制寄存器 接收 接收控制器 SBUF 7 (98HD 8 (99D SCON RX①P3.0引脚 8 输入移位寄存器 图66串行口的内部结构图 19
19 图6-6 串行口的内部结构图 19
6.2.1串行口控制寄存器SCON 字节地址98H,可位寻址,位地址为98H~9FH。格式如 图6-7所示。 D7 D6 D5 D4 D3 D2 D1 DO SCON SMO SM1 SM2 REN TB8 RB8 ti RI 98H 位地址 9FH 9EH 9DH 9CH 9BHI 9AH 99H 98H 图6-7 串行口控制寄存器SCON的格式 介绍SCON中各位的功能。 (1)SM0、SM1一串行口4种工作方式选择位 SM0、SM1所对应的4种工作方式见表6-1。 20
20 6.2.1 串行口控制寄存器SCON 字节地址98H,可位寻址,位地址为98H~9FH。格式如 图6-7所示。 20 介绍SCON中各位的功能。 (1)SM0、SM1——串行口4种工作方式选择位 SM0、SM1所对应的4种工作方式见表6-1。 图6-7 串行口控制寄存器SCON的格式