可编程串行通讯接口SIO
串行接口教程串行通讯的概念

(2)数据发送与接收线: 发送数据(Transmitted data-TxD)——通过TxD终端将串行数据发送到MODEM,(DTE→DCE)。 接收数据(Received data-RxD)——通过RxD线终端接收从MODEM发来的串行数据,(DCE→DTE)。 (3)地线 有两根线SG、PG——信号地和保护地信号线,无方向。
奇偶校验
奇校验:所有传送的数位(含字符的各数位和校验位)中,“1”的个数为奇数,如: 1 0110,0101 0 0110,0001 偶校验:所有传送的数位(含字符的各数位和校验位)中,“1”的个数为偶数,如: 1 0100,0101 0 0100,0001
1.电气特性
EIA-RS-232C对电器特性、逻辑电平和各种信号线功能都作了规定。 在TxD和RxD上:逻辑1(MARK) =-3V~-15V 逻辑0(SPACE)=+3~+15V 在RTS、CTS、DSR、DTR和DCD等控制线上: 信号有效(接通,ON状态,正电压)=+3V~+15V 信号无效(断开,OFF状态,负电压) = -3V~-15V
TTLRS232转换芯片
连接器的机械特性
串口通信基本接线方法
9针串口(DB9)
25针串口(DB25)
针号
功能说明
缩写
针号
功能说明
缩写
1
数据载波检测
DCD
8
数据载波检测
DCD
2
接收数据
RXD
3
接收数据
RXD
3
发送数据
TXD
2
发送数据
TXD
4
数据终端准备
DTR
可编程串行通讯接口SIO

2019/1/18
26
• 信号的调制和解调
Fig 4-3-5
2019/1/18
27
9.3.2 可编程串行通信接口 8251
1) 功能与结构 2) 8251的编程
2019/1/18
28
1)8251 的功能与结构
2019/1/18
29
2)8251的编程
模式REG 控制REG 状态REG 初始化流程
2019/1/18
2
1. 串行通信的工作方式
单工
发送器 接收器
半双工
发送器/接收器
发送器/接收器
全双工
发送器/接收器
发送器/接收器
2019/1/18
3
2. 调制与解调
远距离通信时需要通过普通电话网络传输
– 数字信号:频带宽 – 电话网络:频带窄 – 要使数字信号在电话网络上传输,需要进行信 号变换—把数字信号承载到模拟信号上传输, 这个模拟信号称为载波信号。
2019/1/18 6
3. 数据校验
串行通信主要用于远距离数据传输。
– 问题:干扰、衰减,信号畸变
解决方法:差错控制技术——检测、纠正 常用的数据校验方法:
– 奇偶校验: 以字符为单位进行校验 发送方使发送的每个字节中’1’的个数为奇数或偶数; 接收方检查收到的每个字节中’1’的个数是否符合双 方的事先约定。 奇偶校验可以检查出一个字节中发生的单个错误。 奇偶校验不能自动纠错,发现错误后需“重传”。
2019/1/18
20
② 串行同步通信协议
2019/1/18
21
4)物理标准
通信速率 串行通信接口标准 信号的调制和解调
2019/1/18
22
微机并行、串行(IO)接口

data
请体会这里8255A的数据缓冲作用
方式0输出时序
WR
输出端口
data
CS,A1,A0
D0~D7
data
8255A对CPU通过它输出给外设的数据进行锁存
方式1输入引脚:A端口
PA7~PA0
INTEA
数据选通信号 表示外设已经准备好数据 STBA
PC4 PC5
IBFA
输入缓冲器满信号 表示A口已经接收数据 INTRA
3.8255A的控制字
(1)方式选择控制字: 用来设定的工作方式及数据的传送方向。 (2)端口C置位/复位控制字: 控制端口C的每一位置位或复位。 (3)两个控制字的差别 方式选择控制字放在程序的开始部分; 置位/复位控制字可放在初始化程序以后的 任何地方。
D7 D6 D5 D4 D3 D2 D1 D0
4. 8255A的工作方式
方式0:基本输入输出方式
适用于无条件传送和查询方式的接口电路 适用于查询和中断方式的接口电路
方式1:选通输入输出方式
方式2:双向选通传送方式
适用于与双向传送数据的外设 适用于查询和中断方式的接口电路
方式0输入时序
RD
输入端口
CS,A1,A0
data
D0~D7
B组 控制 读写 控制 逻辑
PB0~PB7
内部控制线
B组 端口C 下部
PC0~PC3
9.1.2 可编程并行接口芯片 8255A
1.8255A的内部结构
(1) 三个数据输入输出端口A、B、C
(2) A 组控制和 B 组控制
(3) 数据总线缓冲器
(4)读/写控制逻辑
IO接口电路

SJMP LOOP
第十五页,共三十八页。
(2)中断(zhōngduàn)方式
ORG 0000H
AJMP MAIN
ORG 000BH
AJMP PT0INT
ORG 0100H
MAIN:
MOV SP,#60H
MOV TMOD,#
MOV TL0,#
MOV TH0,#
SETB EA
SETB ET0
SETB TR0
SWAP A
MOV P1,A
SJMP MAIN
MCS-51
P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0
第五页,共三十八页。
2.中断传送方式(fāngshì):
先设好开关状态,然后发出中断请求信号,改变指示灯亮灭状态。
ORG 0000H
AJMP MAIN
ORG 0003H
;装入Tx时间常数 ;开Tx中断
(SETB ETx )
SETB TRx
;启动Tx定时器
1. 按实际需要选择定时/计数功能
2. 按时间或计数长度选择方式
3. 计算时间常数
第十三页,共三十八页。
4. 溢出处理(chǔlǐ)编程格式:
1)查询方式:先查询定时器溢出标志,再进行溢出处理(chǔlǐ)。
…
;定时器初始化
WAIT:JBC TFx,PT ;检测溢出标志
SJMP WAIT
PT: MOV MOV
TTHLxx, ,##XXHL ;重装时间常数
…
;溢出处理
SJMP WAIT
2)中断方式:初始化后执行其他任务,中断服务程序处理(chǔlǐ)溢出。
ORG 0000H
LJMP MAIN
串行I-O接口

32
波特率是串行口每秒钟发送或接收的数码位数,与振荡器的频率或
定时器的溢出率成正比。当定时器/计数器处于工作方式0、工作方式1
和工作方式3时 溢出率= 振荡频率/(2n-n位定时器初值+重置定时器的中断处理程序机
RI:接收中断标志。由硬件在方式0串行接收第8位结束或在其它 方式中接收停止位的中间时置1(除了与SM2有关),由软件清0。
以上标志设有位地址,可进行位操作,复位时全部清0。 2. 波特率选择寄存器PCON
D7 D6 D5 PCON SMOD
D4 D3 D2 D1 D0
字节地址87H
PCON用来确定串行数据传送时的波特率,没有位地址。有关SMOD 位的使用,将在下面结合串行通信接口的工作方式一起介绍。
2. 工作方式1 当SM0 SM1=01时,串行接口选择工作方式1,为可变波特率的
8位异步通信方式。发送数据由TXD端输出,每一帧信息为10位,一 位起始标志位0,8位数据位和一位停止位1。发送时,数据送入发送 缓冲器SBUF,然后启动发送。数据发送完后,将中断标志位TI置1。
接收时(REN=1)以所选波特率的16倍速率采样RXD引脚,当 采样到从1到0的下跳沿时启动接收器,确认起始位后,接收一帧信息 。当RI=0,停止位为1或SM2=0时,停止位进入RB8,中断标志位 RI置1。若这两个条件都不满足,则信息丢失。在通常情况下,串行 口方式1工作时,SM2清0,波特率为:
MOV A, @R0
;取数
MOV C, P
;奇偶标志送C
MOV TB8, C
;置奇偶标志
MOV SBUF, A
可编程串行通信接口芯片8251A

• 2)在同步发送方式中,发送缓冲器在准备发送的数据前面先插入由初始化程序设 定的一个或两个同步字符,在数据中插入奇偶校验位。然后在发送时钟TXC的作用 下,将数据逐位地由TXD引脚发送出去。
能根据编程为每个字符设置1个、1.5个或2个停止位。 • (4)所有的输入输出电路都与TTL电平兼容。 • (5)全双工双缓冲的接收/发送器。
2
1.1 8251A内部逻辑与工作原理
• 8251A的结构框图如图1.1所示,可分五个主要部分:写控制逻辑电路和调制解调控制电路。
6
(3)接收缓冲器
• 1)在异步接收方式,当“允许接收”和“准备好接收数据”有效时,接收缓冲器 监视RXD线。在无字符传送时,RXD线上为高电平,当RXD线上出现低电平时,即 认为它是起始位,就启动接收控制电路中的一个内部计数器,计数脉冲就是8251A 的接收时钟脉冲RXC,当计数器计到一个数据位宽度的一半(若时钟脉冲频率为波 特率的16倍,则计数到第8个脉冲)时,又重新采样RXD线,若其仍为低电平,则 确认它为起始位,而不是噪声信号。
17
• 1.方式选择控制字:根据题意,方式选择控制字为00111000B(即38H),写入控 制端口,端口地址为91H。
• 2.命令控制字:设置为10010111B(即97H),使8251A进入同步字符检测,出错 标志复位,允许发送和接收,置引脚有效,写入控制端口,端口地址为91H。
• 3.同步字符:2个同步字符,均为3AH。 • 4.初始化程序:
9
1.3 8251A的控制字
KJF21控制器说明书

KJF21型控制器1 概述KJF21型控制器是KJ50型PROMOS监控系统中的核心产品,是一种多功能可编程通用型控制器。
1.1 控制器的主要功能-程序存贮和处理;-集中控制台;-语音通讯、预警发生、故障报警;-急停和闭锁;-信息显示;-参数设置;-系统网络终端或服务器。
1.2 型号及其含义KJ F 21登记序号分站设备矿用监测、控制系统或设备1.3 防爆型式:Ex ibI(+150℃)1.4 关联设备:KDW10型矿用直流稳压电源。
1.5 配接设备为:KJF21型控制器KJJ10型控制接口KJK3型系列辅助控制器KTK1型系列扩音电话KPG3型系列急停开关KFD1型系列线路终端KPA1型按钮KPG2型开关KZD2型电控阀等等1.6 适用环境-工作环境温度:0-40℃;-平均相对湿度:不超过95%(+25℃);-大气压力:80-106 kPa;-有甲烷和煤尘等爆炸性危险的矿井中;-无破坏绝缘的腐蚀性气体的环境中;-允许有溅水但无剧烈振动和冲击的地方。
-在安装贮运期间允许承受加速度为50m/s2的振动和峰值加速度不超过500m/s2的冲击。
2 组成结构与工作原理2.1 外部结构产品外形结构见图1控制器外形图(1)显示器(2)键盘(3)被控设备运行指示灯(4)安全回路状态指示灯(5)外围设备错误指示灯(6)磁开关动作指示灯(7)磁感应开关(8)急停开关2-1-2(9)前门锁孔 (10)控制方式开关 (11)集中控制开关 (12)讲话按钮 (13)麦克风 (14)预警按钮 (15)扬声器 (16)linie 左 (17)AST 口 (18)linie 右 2.2 内部结构2.2.1 主要部件:控制单元PE2105由框架PE2175和底板,总线卡以及框架主板组成,框架上安装了下列卡:CPU 卡 PE2120 MIO 卡 PE2145 存贮卡 PE2155 Linie 卡(总线卡) PE2160 一个AST 插座 二个Linie 插座 NF 扩音电话模块底板上有LED 显示,通过底板把所有卡和插接件连接在一起。
单片机串行口IO端口扩展介绍

08
检查串行口IO端 口的电源供应是
否正常
09
检查串行口IO端 口的接地是否正
确
10
检查串行口IO端 口的抗干扰措施
是否正确
串行口IO端口扩展应 用案例
实际应用场景
智能家居:通过串行口IO端口扩展,实现对家电 设备的远程控制和监测。
工业自动化:通过串行口IO端口扩展,实现对工 业设备的远程监控和操作。
单片机与网络设备通信:通过串行口扩展IO端口,实现 单片机与网络设备的通信,实现网络控制和数据传输。
串行口IO端口扩展硬 件设计
硬件结构设计
单片机串行口IO端口 扩展硬件主要包括单 片机、串行口、IO端 口扩展芯片等部分。
IO端口扩展芯片负责 将单片机的IO端口进 行扩展,增加硬件的
IO端口数量。
利用单片机的IO 端口进行扩展
使用串行口扩展 板进行扩展
扩展应用实例
单片机与传感器通信:通过串行口扩展IO端口,实现单 片机与各种传感器的通信。
单片机与显示屏通信:通过串行口扩展IO端口,实现单 片机与显示屏的通信,显示各种信息。
单片机与无线模块通信:通过串行口扩展IO端口,实现 单片机与无线模块的通信,实现无线数据传输。
端口扩展程序
1 端口扫描:检测可用端口并进行编号 2 端口配置:设置端口参数,如波特率、数据位、停止位等 3 数据收发:实现数据的接收和发送 4 错误处理:检测并处理通信错误,如超时、数据丢失等 5 端口管理:实现端口的添加、删除、修改等操作 6 用户界面:提供友好的用户界面,方便用户操作和查看端口状态
校验方式等
串行通信接口:用于连 接串行设备的物理接口
串行通信波特率:数据 传输的速率,单位为bps
单片机中常见的接口类型及其功能介绍

单片机中常见的接口类型及其功能介绍单片机(microcontroller)是一种集成了中央处理器、内存和各种外围接口的微型计算机系统。
它通常用于嵌入式系统中,用于控制和监控各种设备。
接口是单片机与外部设备之间进行数据和信号传输的通道。
本文就单片机中常见的接口类型及其功能进行介绍。
一、串行接口1. 串行通信口(USART):USART是单片机与外部设备之间进行串行数据通信的接口。
它可以实现异步或同步传输,常用于与计算机、模块、传感器等设备进行数据交换。
2. SPI(串行外围接口):SPI接口是一种全双工、同步的串行数据接口,通常用于连接单片机与存储器、传感器以及其他外围设备。
SPI接口具有较高的传输速度和灵活性,可以实现多主多从的数据通信。
3. I2C(Inter-Integrated Circuit):I2C接口是一种面向外部设备的串行通信总线,用于连接不同的芯片或模块。
I2C接口通过两条双向线路进行数据传输,可以实现多主多从的通信方式,并且占用的引脚较少。
二、并行接口1. GPIO(通用输入/输出):GPIO接口是单片机中最常见的接口之一,用于连接与单片机进行输入输出的外围设备。
通过设置相应的寄存器和引脚状态,可以实现单片机对外部设备进行控制和监测。
2. ADC(模数转换器):ADC接口用于将模拟信号转换为数字信号,常用于单片机中对模拟信号的采集和处理。
通过ADC接口,单片机可以将外部传感器等模拟信号转化为数字信号,便于处理和分析。
3. DAC(数模转换器):DAC接口用于将数字信号转换为模拟信号。
通过DAC接口,单片机可以控制外部设备的模拟量输出,如音频输出、电压控制等。
三、特殊接口1. PWM(脉冲宽度调制):PWM接口用于产生特定占空比的脉冲信号。
通过调节脉冲的宽度和周期,可以控制外部设备的电平、亮度、速度等。
PWM接口常用于控制电机、LED灯、舵机等设备。
2. I2S(串行音频接口):I2S接口用于在单片机和音频设备之间进行数字音频数据传输。
第八章串行通信与可编程串行通信接口

(4)全双工、双缓冲器发送和接收。
(5)出错检测:具有奇偶、溢出和帧错误检测。 (6)输入输出与TTL电平兼容。
8.3.2 8251A的基本结构与引脚功能 1.基本结构
接口技术
8251A的结构框图如图所示。包括数据总 线缓冲器、读/写控制逻辑、MODEM控制电 路、发送器、接收器以及控制电路。
8.3.2 8251A的基本结构与引脚功能
解调器电话线
控制器
MODEM远程通信示意图
8.1.2 串行通信的基本概念 4.串行通信的检错和纠错
接口技术
检错是如何发现数据传输过程中出现的错误; 纠错是在发现错误后,如何采取措施纠正错误 (1)误码率 误码率是指数据经传输后发生错误的位数与总 传输位数之比。在计算机通信中,一般要求误 码率达到10-6数量级。与通信过程中的线路质 量、干扰、波特率等因素有关。
8.3.2 8251A的基本结构与引脚功能
接口技术
DSR(Data Set Ready):数据装置准备好,输入, 低电平有效。通用的输入信号,表示 MODEM或
外设的数据已经准备好。
RTS(Request To Send):请求发送,输出, 低电平有效。用于通知MODEM,CPU已准 备好,准备发送数据。 CTS(Clear To Send):清除发送,输入, 低电平有效。当有效时,表示MODEM或外 设允许8251A发送数据。
(1)连接CPU信号 D7~D0:数据总线。 CS:片选信号,低电平有效。
接口技术
C/D:控制/数据信号。高电平时,CPU对8251A写 入控制字或读取状态字;低电平时,CPU读/写数据 信号。当将C/D与CPU地址总线的最低位(A0)相 连时,8251A就占用两个端口地址,偶地址为数据 口地址,奇地址为控制口地址。
可编程串行接口

器的写数据
驱动器禁止信号,CPU 读 读 8250时为低电平,非 内 / 写 部 读时为高电平。 控 数 片选输出指示引脚,当三 制 据 逻 个片选线都为有效时输出 总 辑 高电平,说明 8250被选中 线 主复位输入信号,高电平 外部时钟端。可接晶振或 有效 直接接外部时钟信号
②频率调制(Frequency Shift Keying,FSK)
③相位调制(Phase Shift Keying,PSK)
串行通信需要解决的问题
双方以何种速率进行通讯
进行传输的数据格式
如何从位流中正确地采样到位数据
收发出错时如何处理
收发双方必须严格遵守相关通信协议:
同步串行通信 异步串行通信
2、同步通信与异步通信
发送方
接收方
公用时钟
异步串行通信方式
特点:以字符/字节为单位传送,通信双方需约定 协议(格式,速率等)。 异步通信必须遵从两项规定: 1.数据的格式:每一个数据传送时,必须加一个起 始位,后面加1或1.5或2个停止位。还可根据需要加 入校验位。 校验位 奇校验 :字符加上校验位有奇数个1; 偶校验 :字符加上校验位有偶数个1 。 校验位产生和检查由串行通信控制器内部自动产生, 停止位也是由硬件自动产生的。(偶数个错误不能检测)。
4) 发送器
双缓冲结构,CPU发来并行数据,写入缓冲寄存器,再 送入移位寄存器。
发送缓冲 寄存器 发送移位 寄存器 SOUT
内 部 数 据 总 线
传输线控制 寄存器
发送同步 控制
硬体结构介绍1.6串行接口

0 X X X X
7
X 1 0 X X
X X X 1 0
SIO数据与地址寄存器
P_SIO_Data(读/写)(701AH)
该单元为接收/发送串行数据的缓冲单元
P_SIO_Addr_Low(读/写)(701BH)
串行设备起始地址的低字节(默认值为00H)
P_SIO_Addr_Mid(读/写)(701CH)
10
P_SIO_Start读
P_SIO_Start(读/写)(701FH)
读出P_SIO_Start(701FH)单元可获取 SIO的数据传输状态,该单元的第7位Busy 为占用标志位。
b7
busy
b6
-
b5
-
b4
-
b3
-
b2
-
b1
-
b0
-
11
向P_SIO_Stop单元写入任意 一个数值,以停止SIO操作
23
波特率对照表
Fosc在24.576MH或者49.152MHz时
波特率(bps)
1500 2400 4800 9600 19200 38400
高字节
1FH 14H 0AH 05H 02H 01H
低字节
FFH 00H 00H 00H 80H 40H
Scale
8192 5120 2560 1280 640 320
串口通讯速率匹配
当通讯双方速率不匹配时,通常接收到的都 是些错误数据。
26
UART常见问题<2>
开接收中断后一直进入接收中断
端口设置有误或出现导常。 一般会由于IOB7与IOB10设置有误才导至 问题的出现的; 有时也会因为IOB7共用端 口的器件使IO口信号发生变化造成。
串行口通信原理及操作流程

串行口通信原理及操作流程51单片机的串行口是一个可编程全双工的通信接口,具有UART(通用异步收发器)的全部功能,能同时进行数据的发送和接收,也可以作为同步移位寄存器使用。
51单片机的串行口主要由两个独立的串行数据缓冲寄存器SBUF(发送缓冲寄存器和接收缓冲寄存器)和发送控制器、接收控制器、输入移位寄存器及若干控制门电路组成。
51 单片机可以通过特殊功能寄存器SBUF队串行接收或串行发送寄存器进行访问,两个寄存器共用一个地址99H,但在物理上是两个独立的寄存器,由指令操作决定访问哪一个寄存器。
执行写指令时访问串行发送寄存器;执行读指令时,访问串行接收寄存器。
(接收器具有双缓冲结构,即在接收寄存器中读出前一个已接收到的字节之前,便能接收第二个字节,如果第二个字节已接收完毕,而第一个字节还没有读出,则将丢失其中一个字节,编程时应引起注意。
对于发送器,因为是由cpu控制的,所以不需要考虑。
与串行口紧密相关的一个特殊功能寄存器是串行口控制寄存器SCON,它用来设定串行口的工作方式、接收/发送控制以及状态标志等。
串行口控制寄存器SCON串行口控制寄存器SCON在特殊功能寄存器中,字节地址为98H,可位寻址,单片机复位时SCON全部被清零。
位序号D7D6D5D4D3D2D1D0位符号SM0SM1SM2RENTB8RB8T1R1SM0,SM1为工作方式选择位。
串行口有四种工作方式,它们由SM0、SM1设定。
其中方式一最为常用。
SM2为多机通信控制位。
REN为允许串行接收位。
TB8为方式2、3中方式数据的第九位。
RB8为方式2、2中接收数据的第九位。
TI为发送中断标志位,在方式0时,当串行发送第8位数据结束时,或在其他方式,串行发送停止位的开始时,由内部硬件使TI置一,向CPU发出中断申请。
在中断服务程序中,必须使用软件将其清零,取消此中断申请。
RI为接收中断标志位。
在方式0时,当串行接收第8位数据结束时,或在其他方式,串行接收停止位的中间时,由内部硬件使RI置一,向CPU发出中断申请。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2019/1/18
8
CRC校验和计算方法
– 若G(x)为r阶,原帧为m位,其多项式为M(x), 则在原帧后面添加r个0,帧成为m+r位,相应 多项式xrM(x) – 按模2除法用xrM(x)除以G(x):商Q(x),余R(x)
即 xrM(x) = G(x)Q(x)+R(x)
– 按模2加法把xrM(x)与余数R(x)相加,结果就是 要传送的带校验和的帧的多项式T(x) T(x) = xrM(x) + R(x)
异步传输的时钟定时方法
发送方利用内部时钟来决定什么时候发送每个位 接收方检测开始信号的下降沿,然后利用它 的内部时钟从每一位的中间接收该位
数据 (61H)
起始位
1
0
0
0
0
1
1
位 0 MSB
停止位
LSB 异步传输先发送低位(LSB)
2019/1/18
14
3. 同步通信和异步通信
串行异步通信格式 一帧字符用起始位和停止位 同步 Fig 4-3-1
2019/1/18
26
• 信号的调制和解调
Fig 4-3-5
2019/1/18
27
9.3.2 可编程串行通信接口 8251
1) 功能与结构 2) 8251的编程
2019/1/18
28
1)8251 的功能与结构
2019/1/18
29
2)8251的编程
模式REG 控制REG 状态REG 初始化流程
– 实际上,T(x) = xrM(x) + R(x) = G(x)Q(x) + R(x) + R(x) = G(x)Q(x) (模2运算) =0 所以,若接收的T(x)正确,则它肯定能被G(x)除尽。
2019/1/18 9
– CRC校验码的检错能力: 可检出所有奇数个错 可检出所有单/双比特错 可检出所有≤G(x)长度的突发错 – 常用的生成多项式: CRC12 = x12+x11+x3+x2+1 CRC16 = x16+x15+x2+1 CRC32 =x32+x26+x23+x22+x16+x11+x10 +x8+x7+x5+x4+x2+x+1
9.3 可编程串行通讯接口SIO
9.3.1 串行通信基础
工作方式、同步方式、通信协议、物理标准
9.3.2 串行通信的接口标准
EIA RS-232C
9.3.3 可编程串行通信接口8250
连接、编程、应用
2019/1/18
1
9.3.1 串行通信基本概念
串行通信: ●每个时间单位仅传送一位信息; ●每个字符(字节)的各位依次传送。 优点: ●传输线少,成本低,传输距离远
37
2019/1/18
38
RS-232连接器连接方式
2019/1/18
39
调制—把数字信号承载到载波信号上 解调—从载波信号中恢复出数字信号 调制解调器:实现调制与解调的设备
2019/1/18 4
三种调制方式
根据载波 Asin(t + )的三个参数:幅度、频率、相位,产 生常用的三种调制技术: – 幅移键控法 Amplitude-Shift Keying (ASK) – 频移键控法 Frequency-Shift Keying (FSK) – 相移键控法 Phase-Shift Keying (PSK)
2019/1/18 10
4. 同步通信和异步通信
所有串行通信都需要一个时钟信号来作为 数据的定时参考。发送器和接收器用时钟 来决定何时发送和读取每一位数据。 根据采用统一时钟还是本地局部时钟,分 为同步传输和异步传输两种。 同步传输用一个时钟确定一个数据位 同步传输用多个时钟确定一个数据位
2019/1/18
① 异步通信协议 ② 同步通信协议
2019/1/18
18
① 异步通信数据格式
2019/1/18
19
② 串行同步通信协议
– BISYNC(Binary Synchronous Communication): SYN(1或多)、STX(起始控制符)、DATA FIELD (100或更多字节)、ETX(结束控制符)、BCC(块 校验字符)、PAD(帧结束FFH) – SDLC(Serial Data Link Control): IBM 用于计算机网络中 SYNC(Flag byte 01111110)、Address field (8bits)、Control field(8bits)、Data field(k bits)、Frame check(16 bits)、End flag (01111110)
2019/1/18 7
– 循环冗余校验CRC (循环冗余码/多项式编码)
以数据块(帧, Frame)为单位进行校验 编码思想:将数据块构成的位串看成是系数为0或1 的多项式 – 如110001,可表示成多项式 x5 + x4 + 1 数据块构成的多项式除以另一个多项式G(x),得到 的余数多项式R(x)就称为CRC码(或称为校验和), 而G(x)则称为生成多项式。 CRC校验的检错方式:收发双方约定一个生成多项 式G(x)(其最高阶和最低阶系数必须为1),发送方在 帧的末尾加上校验和,使带校验和的帧的多项式能 被G(x)整除;接收方收到后,用G(x)去除它,若有 余数,则传输有错。
2019/1/18
30
Fig 9.3.7 模式寄 存器
2019/1/18
31
Fig 9.3.8 控制寄存器Βιβλιοθήκη 2019/1/1832
Fig 9.3.9 状态寄存器
2019/1/18
33
Fig 9.3.10 初始化流程
2019/1/18
34
9.4
2019/1/18
35
2019/1/18
36
2019/1/18
2019/1/18 6
3. 数据校验
串行通信主要用于远距离数据传输。
– 问题:干扰、衰减,信号畸变
解决方法:差错控制技术——检测、纠正 常用的数据校验方法:
– 奇偶校验: 以字符为单位进行校验 发送方使发送的每个字节中’1’的个数为奇数或偶数; 接收方检查收到的每个字节中’1’的个数是否符合双 方的事先约定。 奇偶校验可以检查出一个字节中发生的单个错误。 奇偶校验不能自动纠错,发现错误后需“重传”。
2019/1/18
2
1. 串行通信的工作方式
单工
发送器 接收器
半双工
发送器/接收器
发送器/接收器
全双工
发送器/接收器
发送器/接收器
2019/1/18
3
2. 调制与解调
远距离通信时需要通过普通电话网络传输
– 数字信号:频带宽 – 电话网络:频带窄 – 要使数字信号在电话网络上传输,需要进行信 号变换—把数字信号承载到模拟信号上传输, 这个模拟信号称为载波信号。
ASK (又称为调幅) 用载波信号的不同幅度代表‘1’和‘0’ FSK (又称为调频) 用载波信号的不同频率代表‘1’和‘0’ PSK (又称为调相) 用载波信号的相位变化代表‘1’和‘0’(有变化 2019/1/18 为’1’)
5
数字信息
数字信号 调幅 调频
0
0
1
1
0
1
0 0
0
1
0
调相
三种调制方式的调制波形图
波特,与距离成反比
2019/1/18
23
• 串行通信接口标准:EIA RS-232C
控制信号的定义
2019/1/18
24
• 串行通信接口标准:RS-232C
信号电平标准 Fig 4-3-4
2019/1/18
25
•信号的调制和解调
长距离传输时传输介质频带限制 把发送代码调制成正弦波 调频 Frequency Modulation 1:2100Hz 0:1070Hz 调相移 Frequency – Shift Keying
11
同步传输的时钟定时方法
发送方在时钟信号的下降沿发送字节 接收方在时钟信号的上升沿接收字节
时钟
数据(61H) 位
0
1 1 0 0 0 0 1
先发送高位(MSB)
2019/1/18
12
同步通信的帧格式
同步传输需要定义一个帧的开始和结束。通 常用1个同步字符(标志符)来表示。
2019/1/18
13
2019/1/18
20
② 串行同步通信协议
2019/1/18
21
4)物理标准
通信速率 串行通信接口标准 信号的调制和解调
2019/1/18
22
• 通信速率
波特率:bits / S
– – – – – – – – 100, 300, 600, 1200。 2400, 4800, 9600, 19200。
2019/1/18
15
2) 串行通信的类型和数据位的检测 方式
串行同步通信格式 用同步字符完成同步 Fig 4-32
2019/1/18
16
• 串行通信数据位的检测 时钟周期 :Tc 数据位间隔:Td Tc = Td / K K:波特率因子(16,32,64)
2019/1/18
17
3)串行通信协议