可编程串行通讯接口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
- 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)串行通信协议