串行通信专题复习

合集下载

串行通信基础知识

串行通信基础知识

串行通信基础知识本节简要概括了串行通信中的相关概念,为学习PC 机与MCU 的串行通信做准备。

1. 基本概念我们知道,“位”(bit )是二进制数字的简称,是可以拥有两种状态的最小二进制值,分别用“0”和“1”表示。

在计算机中,通常一个信息单位用8位二进制表示,称为一个“字节”(byte )。

串行通信的特点是:数据以字节为单位,按位的顺序从一条传输线上发送出去。

这里至少涉及到以下几个问题:第一,每个字节之间是如何区分的?第二,发送一位的持续时间是多少?第三,怎样知道传输是正确的?第四,可以传输多远?等等。

这些问题属于串行通信的基本概念。

串行通信分为异步通信与同步通信两种方式,本节主要给出异步串行通信的一些常用概念。

正确理解这些概念,对串行通信编程是有益的。

① 异步串行通信的格式在MCU 的英文芯片手册上,通常说SCI 采用的是NRZ 数据格式,英文全称是:“standard non-return-zero mark/space data format ”,可以译为:“标准不归零传号/空号数据格式”。

这是一个通信术语,“不归零”的最初含义是:用负电平表示一种二进制值,正电平表示另一种二进制值,不使用零电平。

“mark/space ”即“传号/空号”分别是表示两种状态的物理名称,逻辑名称记为“1/0”。

对学习嵌入式应用的读者而言,只要理解这种格式只有“1”、“0”两种逻辑值就可以了。

图3.3.1给出了8位数据、无校验情况的传送格式。

这种格式的空闲状态为“1”,发送器通过发送一个“0”表示一个字节传输的开始,随后是数据位(在MCU 中一般是8位或9位,可以包含校验位)。

最后,发送器发送1到2位的停止位,表示一个字节传送结束。

若继续发送下一字节,则重新发送开始位,开始一个新的字节传送。

若不发送新的字节,则维持“1”的状态,使发送数据线处于空闲。

从开始位到停止位结束的时间间隔称为一帧(frame )。

所以,也称这种格式为帧格式。

第8章 串行通信 -免费下载培训课件

第8章 串行通信 -免费下载培训课件

2. UART对RxD线的采样
UART对RxD线的采样是由接收时钟RxC完成的。其周期TC和
所传数据位的传输时间Td(位速率的倒数)必须满足如下关
系:
TC

Td K
式中,K=16或64。现以K=16来说明UART对RxD线上字符帧
的接收过程。
平常,UART按RxC脉冲上升沿采样RxD线。当连续采到RxD线 上8个低电平(起始位二分之一位置)后,UART便确认对方在 发送数据(不是干扰信号)。此后,UART便每隔16个RxC脉冲 采样RxD线一次,并把采到的数据作为输入数据,以移位方 式存入接收移位寄存器。
8.1.1
串行通信的基本方式
2. 同步通信(Synchronous Communication)
同步通信是一种连续串行传送数据的通信方式,一次通信只 传送一帧信息。这里的信息帧和异步通信中的字符帧不同, 通常有若干个数据字符,如下图所示。
同步字符帧由同步字符、数据字符和校验字符三部分组成。 其中,同步字符位于帧结构开头,用于确认数据字符的开始 (接收端不断对传输线采样,并把采到的字符和双方约定的 同步字符比较,只有比较成功后才会把后面接收到的字符加 以存储);数据字符在同步字符之后,个数不受限制,由所 需传输的数据块长度决定;校验字符有1~2个,位于帧结构 末尾,用于接收端对接收到的数据字符的正确性的校验。
1200/11=109.09帧/秒 若改用上图(b)的字符帧,则字符的实际传输速率为
1200/14=85.71帧/秒
1
Td
0.833(ms) 1200
8.1.1
串行通信的基本方式
(2) 波特率(baud rate)
每位的传输时间定义为波特率的倒数。例如:波特率为1200 bit/s的通信系统,其每位的传输时间应为:

串行通信PPT精选文档

串行通信PPT精选文档
指令 MOV A,SBUF 完成一次数据接收,SBUF可 再 ☞接收/发送数接据收,无下论一是个否数采用中断方式
工作,每接收/发送一个数据都必须用指 令对 RI/TI 清0,以备下一次收/发。
☞串行口相关的SFR(SCON,PCON)
串行口控制寄存器SCON(98H)
SCON SM0 SM1 SM2 REN TB8 RB8 TI R1
☞发送:SBUF中的串行数据由RxD逐位移出; TxD输出移位时钟,频率=fosc1/12;
每送出8位数据 TI就自动置1; 需要用软件清零 TI。
☞接收:串行数据由RxD逐位移入SBUF中; TxD输出移位时钟,频率=fosc1/12;
每接收 8位数据RI就自动置1; 需要用软件清零 RI。
工作方式1:8位UART(1+8+1位)波特率可变
波特率可变,按公式计算
☞ SM2:串行口多机通信控制位 (作为方式2、方式3的附加控制位)
SCON SM0 SM1 SM2 REN TB8 RB8 TI RI
☞ RI,TI:串行口收/发数据申请中断标志位 =1 申请中断; =0 不申请中断
☞ RB8:在方式2、3中,是收到的第9位数据。 在多机通信中,用作区别地址帧/数据帧的 标志。(奇偶校验)
☞ TB8:方式2、3中,是要发送的第9位数据。 多机通信中,TB8=0 表示发送的是数据; TB8=1 表示发送的是地址。(奇偶校验)
☞ REN:串行口接收允许控制位 = 1 表示允许接收; = 0 禁止接收。
电源控制寄存器 PCON(97H) ——特殊功能寄存器PCON不能按位寻址——
PCON SMOD — — — GF1 GF0 PD 1DL
☞ 溢出率:T1溢出的频繁程度 即:T1溢出一次所需时间的倒数。

单片机复习4串行.ppt

单片机复习4串行.ppt

MCS-51串行口的工作方式
方式0
在方式0下,串行口作同步移位寄存器使 用,其波特率固定为fosc/12。串行数据从RXD (P3.0)端输入或输出,同步移位脉冲由 TXD(P3.1)送出。
这种方式通常用于扩展I/O口。
MCS-51串行口的工作方式
方式1
发送时,当数据写入发送缓冲器SBUF后,启动发送器发送, 数据从TXD输出。当发送完一帧数据后,置中断标志TI为1。方式 1下的波特率取决于定时器1的溢出率和PCON中的SMOD位。
发送时,先根据通信协议由软件设置TB8,然后将要发送的数据写入 SBUF,启动发送。写SBUF的语句,除了将8位数据送入SBUF外,同时 还将TB8装入发送移位寄存器的第9位,并通知发送控制器进行一次发 送,一帧信息即从TXD发送。在送完一帧信息后,TI被自动置1,在发 送下一帧信息之前,TI必须在中断服务程序或查询程序中清0。
异步通信
在异步通信中,数据通常是以字符为单位组成字符帧 传送的。字符帧由发送端一帧一帧地发送,每一帧数据 是低位在前,高位在后,通过传输线被接收端一帧一帧 地接收。发送端和接收端可以由各自独立的时钟来控制 数据的发送和接收,这两个时钟彼此独立,互不同步。 在异步通信中,接收端是依靠字符帧格式来判断发送 端是何时开始发送何时结束发送的。 字符帧也叫数据帧,由起始位、数据位、奇偶校验位 和停止位等四部分组成。
串行口控制寄存器SCON
SCON (98H) SM0 SM1 SM2 REN TB8 RB8 TI RI
SM0 SM1 00
01 10
11
串行口的工作方式
工作方式 方式0
方式1 方式2
功能
8位同步移位 寄存器
10位UART 11位UART

8251微机原理

8251微机原理

1. RS-232C接口标准
• RS-232C最初是为了使用公用电话网进行数据通信而制定的标准。 在发送端:通过调制解调器将表示为 “1”、“0”的高低电平,转换成相应的高低频率
的模拟信号,发送到公用电话网。
在接受端:……. RS-232C提供了一个利用电话网通过MODEM把远距离设备连接在一起完成通信
的技术规范。
RS-232C 计算机 MODEM 信道(传输线路) RS-232C MODEM
计算机 或终端
• 随着计算机的发展,除了上述连接,也可用 RS-232C 使计算机与终端相连。 RS-232C 终端
计算机
(1) RS-232C 标准 RS-232C 提出了数据终端设备(DTC)和数据通信设备(DCE)之间串行 传输数据的接口规范,对接口的机械特性、电器特性、功能特性做了规定。 • 机械特性:标准规定了使用一个25针标准连接器(插头座),并对连接器的尺寸、 每个针的排列位置做了明确规定。 • 电气特性:标准规定,逻辑“1”信号,电平在 –3V ~ -15V 之间; 逻辑“0”信号,电平在 +3V ~ +15V 之间;
• DCE做好接收数据的准备,DSR和DTR 信号有效,通知modem可以接收/发送数据;
接通与外线的连接,起到摘机的作用,交换机停止振铃。 ③ ④ 乙方准备好后(DTR、RTS、CTS有效),即通过 MODEM 向甲方送一个载波信号; 甲方收到此载波信号后,即知乙方已做好准备,使DSR 、CTS 有效,并向乙方 发送一个载波频率。
① 扩展的BCD交换码 EBCDIC —— 这是一种 8 位编码,较常用在同步通信中。 ② 美国标准信息交换码 ASCⅡ。
3. 两种通信方式
① 异步通信 ASYNC(Asynchronous Data Communication)

7-01 串行通信基础知识

7-01 串行通信基础知识
串行通信基础知识
Harbin Institute of Technology
1
串行通信基础
- 并行通信与串行通信
并行通信示意图
串行通信示意图
2
串行通信基础
- 同步串行通信与异步串行通信
同步通信
异步的传输模式
(a)单工
(b)半双工
(c)全双工
4
串行通信基础
- 串行通信的错误校验
校验是保证传输数据准确无误的关键。 1. 奇偶校验
串行发送数据时,数据位尾随1位奇偶校验位(1或0)。 2. 代码和校验
代码和校验是发送方将所发数据块求和或各字节异或,产生一个字节的校 验字符(校验和)附加到数据块末尾。 3. 循环冗余码校验
是通过某种数学运算实现有效信息与校验位之间的循环校验,应用广泛。
5

串行通信基础知识

串行通信基础知识
表明请求传送总是允许、数 据装置总准备好
微机
TxD RxD RTS CTS
GND DSR DTR
➢零MODEM 方式使用联络信号的多线连接
TxD 微机 RxD
RTS CTS GND DSR DTR
微机
微机
RS-232C的电气特性
232C接口采用EIA电平
高电平为+3V~+15V 低电平为-3V~-15V 实际常用±12V或±15V
RxRDY(Receiver Ready) 接收器准备好信号,高电平有效。若命令寄 存器的RxE位被置1(允许接收),则当8251A已经从它的串行输入端接收了 一个字符,并完成了格式变换后,此信号有效。
8251A有2个端口:命令口(CS*=0,C/D*=1)、数据口( CS*=0,C/D*=1 ) 命令字写到命令口; 对命令口执行读操作,得到8251A的状态字 发送的数据送到数据口 对数据口执行读操作,得到对方发来的数据。
速度、传送步骤、检纠错方式等问题作出统一规定。也称通信 控制规程。
面向字符(character Oriented)
分类
同步协议
面向比特(Bit)
异步协议
ISO(Inter national Standard Organization)国际标准化组织。 OSI(Open System Interconnection)开放系统互连参考模型。
➢ 收发双方的数据必须保持位同步
➢ 收发双方必须用时钟同步
七、串行通信接口标准
1、EIA-RS-232C接口标准
RS-232C标准是美国EIA(电子工业联合会)与BELL等公司 一起开发的,1969年公布的通信协议。 设计目的是用于连接调制解调器。 数据终端设备DTE与数据通信设备DCE的标准接口。 可实现远距离通信,也可近距离连接两台微机。

串行通信基础知识ppt课件

串行通信基础知识ppt课件

23
精选版课件ppt
2线与4线传输
24
精选版课件ppt
RS-422 信号
接线: 4 线全双工
信号 TxA TxB RxA RxB 120Ω GND
接线
信号
RxA 120Ω RxB
TxA TxB GND
优势
1. 抗干扰能力强 2. 传输距离长 (可达 1.2公里) 25 精选版3课. 支件pp持t 点对点和多站通讯方式
2. 判断当前频率是否有信号? (检查线路上是否有数据)
3. 确认当前频率空闲, 按键讲话对方可以听到; (线中上没有数据, 切换状态到数据发送)
A
4. 话讲完后, 松开按键, 回到监听状态; (数据接收状态)
B
36
精选版课件ppt
ADDC (自动数据流控)
当使用2线RS485时,最重要的就是要确认数据收发状态.由于RS485-2W界面 的一些限制,只有一个节点(在一根2线RS485总线上)可以在任何时候传输信 号.这个要传输数据的节点必须把数据发送打开,在数据发送完之后关闭.
MOXA定义 为信号正 A为信号负
|A-B|>200mv
18
精选版课件ppt
RS-422 特性
RS-422传输速率提高到10Mb/s,传输距离延长到1200米(速 率低于100kb/s时),并允许在一条平衡总线上连接最多10 个接收器。RS-422是一种单机发送、多机接收的单向、平衡 传输方式,被命名为TIA/EIA-422-A标准。
模式 - 当有数据发送时设置RTS信号, 同时断开监听模式 - 当数据发送完成之后清除RTS信号,转回监听模式 - RTS 状态由用户软件控制
35
精选版课件ppt
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

了解MAX232
如果是短距离的串行数据传输,则标准的
TTL或CMOS足以应付;若要进行长距离的
串行数据传输,使用标准的TTL或CMOS,
恐怕驱动能力不足,且噪声边限太小,通
信质量很差!RS232是一种可长距离传输
的通信方式,因此,必须突破噪声边限太
小与驱动能力不足的限制,于是相关的驱
动IC应运而生,Maxim公司的MAX232系
列就属这类IC,MAX232这颗IC提供RS232
传送与接收的驱动。

在传送方面,MAX232内部将+5V电源提升
为+10V及-10V,然后接受TTL/CMOS的+5V
±V的信号,再送到线
电平,并转换成10
路上。

在接收方面,MAX232从线路上接受
±V的信号,经内部寄存器转换成
10
TTL/CMOS的+5V电平。

说穿了,MAX232只
不过是个电平转换设备而已,但只要+5V
电源与4~5个小电容(10μF即可)就能
同时提供双向的电平调整。

对于用户而言,
把它当成一般的寄存器来使用即可。

如图中列举的,对单片机而言也是可行的。

同步通信和异步通信
同步通信:是由1~2个同步字符和多字节数据位组成,同步字符作为起始位以触发同步时钟开始发送或接收数据;多字节数据之间不允许有空隙,每位占用的时间相等;空闲位需发送同步字符。

同步通信传送的多字节数据由于中间没有空隙,因而传输速度较快,但要求有准确的时钟来实现收发双方的严格同步,对硬件要求较高,适用于成批数据传送。

异步通信:依靠起始位、停止位保持通信同步;异步通信数据传送按帧传输,一帧数据包含起始位、数据位、校验位和停止位。

最常见的帧格式为1个起始位、8个数据位、1个校验位和1个停止位组成,帧与帧之间可有空闲位。

起始位约定为0,停止位和空闲位约定为1。

异步通信对硬件要求较低,实现起来比较简单、灵活,适用于数据的随机发送/接收,但因每个字节都要建立一次同步,即每个字符都要额外附加两位,所以工作速度较低,在单片机主要采用异步通信方式。

串行工作方式
80c51串行通信共有4种工作方式,由串行控制寄存器SCON中SM0SM1决定。

串行工作方式0
在方式0下,串行口是作为同步移位寄存器使用。

这时以RXD(P3.0)端作为数据移位的输入/输出端,而由TXD(P3.1)端输出移位脉冲。

移位数据的发送和接收以8位为一帧,不设起始位和停止位,无论输入/输出,均低位在前高位在后。

其帧格式:
使用方式0可将串行输入输出数据转换成并行输入输出数据。

方式0时,移位操作的波特率是固定的,为单片机晶振频率的1/12.以fosc表示晶振频率,则波特率=fosc/12,也就是一个机器周期进行一次移位。

若fosc=6MHZ,则波特率为500Kbit/s,即2μs移位一次。

如fosc=12MHZ,则波特率为1M(bit/s),即1μs移位一次。

串行工作方式1
方式1是一帧10位的异步通信方式,包括1个起始位,8个数据位和一个停止位。

数据发送:
方式1的数据发送是由一条写串行数据缓冲器SBUF指令开始的。

在串行口由硬件自动加入起始位和停止位,构成一个完整的帧格式,然后在移位脉冲的作用下,由TXD端串行输出。

一个字符帧发送完后,使TXD输出线维持在“1”(space)状态下,并将串行控制寄存器SCON中的TI置1,表示一帧数据发送完毕。

数据接收:
接收数据时,SCON中的REN位应处于允许接收状态(REN=1)。

在此前提下,串行口采样RXD端,当采样到从1向0状态跳变时,就认定为已接收到起始位。

随后在移位脉冲的控制下,把接收到的数据位移入接收寄存器中。

直到停止位到来之后把停止位送入RB8中,并置位中断标志位RI,表示可以从SBUF取走接收到得一个字符。

方式1的波特率是可变的,其波特率由定时/计数器T1的计数溢出率来决定,其公式为:
波特率=SMOD
2X(T1溢出率)/32。

其中SMOD为PCON寄存器中最高位的值,SMOD=1表示波特率倍增。

当定时/计数器T1用作波特率发生器时,通常选用定时初值自动重装的工作方式2(注意:不要把定时/计数器的工作方式与串行口的工作方式搞混淆了),从而避免了通过程序反复装入计数初值而引起的定时误差,使得波特率更加稳定。

而且,若T1不中断,则T0可设置为方式3,借用T1的部分资源,拆成两个独立的8位定时/计数器,以弥补T1被用作波特率发生器而少一个定时/计数器的缺憾。

若时钟频率为fosc,
定时计数初值为T1
初值,则波特率=
初值)
1
256
(
12
32
2
T
fosc
X
SMOD
-
在实际应用时,通常是先确定波特率,后根据波特率求T1定时初值,因此上式又可写为:
T1
初值=
波特率
X
fosc
X
SMOD
12
32
2
256-
串行工作方式2
方式2是一帧11位的串行通信方式,即1个起始位,8个数据位,1个可编程位TB8/RB8和1个停止位。

可编程位TB8/RB8既可作奇偶校验位用,也可作控制位(多机通信)用,其功能由用户确定。

数据发送:
发送前应先输入TB8内容,可使用如下指令完成:
SETB TB8 ; TB8位置1
CLR TB8 ; TB8位置0
然后再向SBUF写入8位数据,并以此来启动串行发送。

一帧数据发送完毕后,CPU自动将TI置1,其过程与方式1相同。

数据接收:
方式2的接收过程也与方式1基本相同,区别在于方式2把接收到的第9位内容送入RB8,前8位数据仍送入SBUF。

波特率:
方式2的波特率是固定的,且有两种:即fose/32和fosc/64。

2Xfosc/64
波特率=SMOD
串行工作方式3
方式3同样是一帧11位的串行通信方式,其通信过程与方式2完全相同,所不同的仅在于波特率。

方式2的波特率只有固定的两种,而方式3的波特率则与方式1相同,即通过设置T1的初值来设定波特率。

需要指出的是,当串口工作方式1或方式3时,且波特率要求按规范取1200、2400、4800、9600……,若采用晶振12MHZ和16MHZ,按上述公式计算得出的T1定时初值将不是一个整数,产生波特率误差而影响串行通信的同步性能。

解决的方法只有调整单片机的时钟频率fosc,通常采用11.0592MHZ晶振。

常用波特率及其产生条件:
多机通信
双机通信时,两台单片机是平等的,而在多机通信中,有主机和从机之分,多机通信是指一台主机和多台从机之间的通信。

在串行方式2或方式3条件下,可实现一台主机和多台从机之间的通信。

多机通信原理
多机通信时,主机向从机发送的信息分为地址帧和数据帧两类,以第9位可编程TB8作区分标志,TB8=0,表示数据;TB8=1,表示地址。

多机通信充分利用了80c51串行控制寄存器SCON中的多机通信控制位SM2的特性。

当SM2=1时,CPU接收的前8位数据是否送入SBUF取决于接收的第九位RB8:RB8=1,将接收到的前8位数据送入SBUF,并置位RI产生中断请求;RB8=0,将接收到的前8位数据丢弃。

即当从机SM2=1时,从机只能接收主机发送的地址帧(RB8=1),对数据帧(RB8=0)不予理睬。

当从机SM2=0时,可以接收主机发送的所有信息。

通信开始时,主机首先发送地址帧。

由于各从机SM2=1和RB8=1,所以各从机均分别发出串行接收中断请求,通过串行中断服务程序来判断主机发送的地址与本从机地址是否相符。

若相符,则把自身的SM2清0,以准备接收其后传送来的数据帧。

其余从机由于地址不符,则仍然保持SM2=1状态,因而不能接收主机传送来的数据帧。

这就是多机通信中主从机一对一的通信情况。

通信只能在主从机之间进行,如若需进行连个从机之间的通信,要通过主机作中介才能实现。

多机通信过程
1.各从机在初始化时置SM2=1,均只能接收主机发送的地址帧(RB8=1)。

2.主机发送地址帧(TB8=1),指出接收从机的地址。

3.各从机接收到主机发送的地址帧后,与自身地址比较,相同则置SM2=0;相异则保持SM2=1不变。

4.主机发送数据帧(TB8=0),由于指定的从机已将SM2=0,能接收主机发送的数据帧,而其他从机仍置SM2=1,对主机发送的数据帧不予理睬。

5.被寻址的从机与主机通信完毕,重置SM2=1,恢复初始状态。

多机通信协议
多机通信是一个较为复杂的通信过程,必须有通信协议来保证多机通信的可操作性和操作秩序。

这些通信
协议,除设定相同的波特率及帧格式外,至少应包括从机地址、主机控制命令、从机状态字格式和数据通信格式的约定。

8051的串行口是全双工的UART,它可同时发送和接收数据,是使用特殊寄存器内的SBUF寄存器及SCON串行控制寄存器。

SCON串行控制寄存器
RI:接收中断标志位。

在模式0下,当第8位结束时,硬件会将其设为1;。

相关文档
最新文档