第1章计算机串行通信接口技术11

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

串行通信的基本概念
► 工作方式
单工方式:
发送器
发送器/
接收器
接收器
发送器/ 接收器
半双工方式: 全双工方式:
发送器/ 接收器
发送器/
接收器
1.1.1异步串行通信硬件
► 1)计算机内部的数据是并行传送,要进行串行
通信,必须通过接口电路,实现并串、串并转换
(1)单片机一般内部集成UART(通用异步收发机) (2)也可以使用芯片进行扩展如 8251——并行接口 MAX3100——SPI(8FIFO) TL16C550A——并行(16FIFO)
T1
引脚 (门)移位寄存器 TxD P3.1 发送控制器 TI
CPU
内 部
1
接收控制器 RI
去申请中断
SBUF (收)
引脚 移位寄存器
RxD P3.0
串行通信
②UART对RXD的检测:依据芯片的时钟对输入的 RXD采样,检测到RXD的起始位以后自动转入 数据接收。如下图。
串行通信
► 51单片机内部有一个功能很强的全双工串行
RS232C 设备 图1.8 两个RS-232C串行口的连接
RS232C 设备
RS232C 设备
图1.8 使用多串口卡多个RS-232C串行口
上位机与多个串口设备通信时,每个串口必须使用1 个独立的RS232C串口,可使用多串口卡,或多路串口 接口芯片扩展, RS232C串口不使用的引脚请不要连接。电缆线长度

► 3)连接器
常用9针D形连接器 DB9 计算机端使用DB9针,连线使用DB9孔
1 2 3 4 5
TXD:发送数据,2号引脚 RXD:接受数据,3号引脚 GND:信号地,5号引脚
9 8 7 6
► 4)连接方法
PC机
RXD
2 2 3 5
JARA1104 4串口卡
RXD TXD GND
TXD 3 GND 5
①按选定串行口的操作方式设定SCON的SM0、SM1两位二进制 编码。 ②对于操作方式2或3,应根据需要在TB8中写入待发送的第 9 位数据。 ③若选定的操作方式不是方式0,还需设定接收/发送的波特 率。设定SMOD的状态, 以控制波特率是否加倍。若选定操作 方式1或3, 则应对定时器T1进行初始化以设定其溢出率。
► 1)接口电路
-3v ~ -15v “1” +3v ~ +15v “0”
1.SM0、SM1 控制串行口方式,如 mov scon,#00xxxxxxb 则该串口工作在方式0
SM0 SM1
工作方式


波特率
0 0
1 1
0 1
0 1
方式0 (扩展I/O 口) 方式1 (常用) 方式2 (不常用) 方式3 (常用)
移位输入/输出(用 为fosc(振荡 于扩展I/O引脚)方 频率)的 式 1/12。 波特率可变的8位 异步串行通信方式 波特率固定的9位 异步串行通信方式 波特率可变的9位 异步串行通信方式
20mA电流环——500米
RS-422/485——1200米
需TTL电平信号进行转换
1.1.2异步串行通信的直接连接
► 将TTL/CMOS信号直接连接
1米以内,最长不超过5米
主机
TXD
RXD GND
从机1
RXD
TXD GND
从机2
RXD TXD GND
从机3
RXD TXD GND
图1.5 直接连接 图1.5 多机接连接
工业控制中,用于调制解调器的信号不使用
RTS:请求发送 询问数据装置是否做好了接受数据的准备 CTS:清除发送 数据装置通知数据终端已做好了接受数据的准备 DTR:数据终端就绪 数据终端做好了接受数据的准备 DSR:数据装置就绪 数据装置做好了发送数据的准备 CD:载波信号检出 RI: 振铃信号
MOV A,SBUF ;CPU读SBUF,就是读接收缓冲器。
串行口对外也有两条独立的收发信号线RXD(P3.0)和 TXD(P3.1),因此可以同时发送、接收数据,实现全双工传送
串行通信
► ②发送和接收过程都是在发送和接收时钟控
制下进行的,必须与设定的波特率保持一致。
串行通信
► 串行口控制寄存器SCON(98H)
常用的波特率有38400,19200,9600,48002400,1200, 600,300等 网速:华数10兆和电信4兆
2011年年底,中国互联网接入速率为1.4兆比特,国际排名降到了第90位。 全球最快带宽速度:韩国13.8Mb居首 英国建世界最快宽带 速度为1.5Gb/s 802.11b(11Mb/s 无线标准)理论最大速度11Mbps,其WLAN传输速度一 般在3-6Mbps之间,换算成MB(1MB=8Mb)也就是每秒传输速度在400KB800KB左右。取其中间值600KB,这样的速度要传输100MB的文件需要2分半钟 到3分钟左右 无线上网卡注意分为GPRS和CDMA两种。 GPRS的实际速度:基本和56Kbps的Modem速度持平。 CDMA的实际速度:达到153.6Kbps,是家里电话线上网的四倍左右。
串行通信
► 2.SM2
允许方式2、3的多机通讯特征位(2,3主机 0,分机1)
3、REN 允许串行接收位,由软件置/复位 1:允许接收 0:不允许接收;发送数据时设为0
4、TB8 在方式2、3中要发送的第九位数据,由软件置/复位
串行通信
串行口的编程
串行口需初始化后,才能完成数据的输入、输出。 其初始化过程如下:
计算机测控技术
张明 谢列敏 编著
第一章 计算机串行通信接口技术
串行通信的基本概念
计算机系统与外设或者计算机系统与计算机 系统之间的信息传递通常采用串行通信 串行通信按同步方式来分,可分为异步串行 通信和同步串行通信
异步串行通信:
是指不使用同步时钟信号进行通信的方案。 只要通信的收发双方使用相同的位速率(即波特率:每秒传 送的数据位数),并使用适当的方法对数据校验,异步串行 通信是可以可靠传送数据包的.
口,可同时发送和接收数据。 ► 它有四种工作方式,可供不同场合使用。波 特率由软件设置,通过片内的定时/计数器产 生。接收、发送均可工作在查询方式或中断 方式,使用十分灵活。
串行通信
TXD RXD GND
RXD TXD GND
串行通信
发送和接收电路 ①SBUF是两个在物理上独立的接收、发送缓冲器,可同时发 送、接收数据。两个缓冲器只用一个字节地址99H,可通过指 令对SBUF的读写来区别是对接收缓冲器的操作还是对发送缓 冲器的操作。 MOV SBUF,A ;CPU写SBUF,就是修改发送缓冲器;
串行通信
► 例:设甲乙机以串行方式1进行数据传送, ►
fosc=11.0592MHz,波特率为1200b/s。 甲机发送的1个数据存在内RAM 40H单元中, 乙机接收后存在内RAM 50H地址区域中
串行通信
T1初值
20 ×11059200 = 256 12×1200 32
= 232 = E8H
► 2)电平转换——常用芯片MAX232
+5V C 5 C 1 C 1 TTL/COM S输入 TTL/COM S输出 C 4 RS-232 输出 C 3
RS-232 输入
图1.7 MAX232功能框图
图1.7 MAX32功能框图(电平转换)
RS-232C
将TTL的异步通信逻辑转换为RS-232C逻辑电平,使用最方 便的器件即是使用MAX232A(或功能类似的器件)。上图即 是其内部逻辑框图,可以看到,片内包含了能产生±10V电 源的电荷泵电路(电压加倍器和电压反相器),仅需外接四个 0.1μf电容(MAX232A)或1μf电容(MAX232)即可。每个器件含 有两路TTL/CMOS到RS-232C的转换输出电路,同时含有两 路RS-232C到TTL/CMOS逻辑的输入电路。所以,当不需要 其它控制信号时,一片MAX232即可支持两路RS-232C作全 双工通信,而且不需要±12V供电电源。 ► 与MAX232A功能相当的器件有很多,仅Maxim公司就有许多 型号,如MAX202、MAX220~249等,有些器件甚至不必外 加电容。
乙机接收子程序
RXDB: MOV TMOD,#20H ;置T1定时器工作方式2 MOV TL1,#0E8H ;置T1计数初值 MOV TH1,#0E8H ;置T1计数重装值 CLR ET1 ;禁止T1中断 SETB TR1 ;T1启动 MOV SCON,#40H ;置串行方式1,禁止接收 MOV PCON,#00H ;置SMOD=0(SMOD不能位操作) CLR ES ;禁止串行中断 MOV R0,#50H ;置接收数据区首地址 SETB REN ;启动接收 RDSB: JNB RI,$ ;等待一帧数据接收完毕 CLR RI ;清接收中断标志 MOV A,SBUF ;读接收数据 MOV @R0,A ;存接收数据 INC R0 ;指向下一数据存储单元 RET
异步通信
以字符为传送单位 , 用起始位和停止位标识每个字符 的 开始和结束 , 字符间隔不固定,只需字符传送时同步。 (A) 异步通信常用格式:一个字符帧
奇偶
空 闲 位
起 始 位
校验 D0 D1 D2 D3 D4 D5 D6 D7 0/1 停 止 位
起 始 位
(B) 异步通讯双方的两项约定
字符格式规定(一帧): 起始位,数据位,奇偶校验位和停止位。 波特率(位/秒)——每秒传送的位数
超过15米时,最好使用三芯屏蔽线,屏蔽层接地。
1.1.4 RS-422和RS-485
实现较长距离传送 传输距离1200米以内,最远传输距离与波特率有关
► ►
RS-422 与RS-232C 异步通信逻辑相同,不同的是驱动及接收逻辑。 RS-485与RS-422 RS-485网络只能工作于半双工方式 RS-422可工作于全双工方式
TXDA: MOV TMOD,#20H ;置T1定时器工作方式2 MOV TL1,#0E8H ;置T1计数初值 MOV TH1,#0E8H ;置T1计数重装值 CLR ET1 ;禁止T1中断 SETB TR1 ;T1启动 MOV SCON,#40H ;置串行方式1,禁止接收 MOV PCON,#00H ;置SMOD=0(SMOD不能位操作) CLR ES ;禁止串行中断 TRSA: MOV R0,#40H ;置发送数据区首地址 MOV A,@R0 ;读一个数据 MOV SBUF,A ;发送 JNB TI,$ ;等待一帧数据发送完毕 CLR TI ;清发送中断标志 INC R0 ;指向下一字节单元 RET
数据终端:如计算机 数据装置:如MODEM 或另一台计算机
异步串行通信接口
► 异步串行通信接口通常指以下三类: ► RS-232(A、B、C); ► 20mA电流环;
► RS-422/RS485。
► 2)串行通信连接方式
直接连接——1米以内,不超过5米 RS-232C——15米以内,不超过100米
串行方式1波特率取决于T1溢出率(设SMOD=0),
计算T1定时初值:
► 发送过程: ► 1.给定时器设定初值并开启,为串口工作准
备 ► 2.串口禁止接收状态; ► 3.发送数据 ► 4.一个字节结束判断 ► 5结束清标志位,发下一个字节
甲机发送子程序:

► ► ► ► ► ►
► ► ►
► ► ► ►
1.1.3 RS-232C
传输距离一般在15米以内,最远不超过30米。最远 传输距离与波特率有关.传输速率越快,可靠传输的距离 越短,RS-232C在长距离通信时,常常发生通信错误,即 便波特率低到300b/s ,通信距离也达不到100m
► 1)电气特性——采用负逻辑
-3v ~ -15v表示逻辑“1” +3v ~ +15v表示逻辑“0”
TL16C554——内含4路TL16C550B
串行通信
硬件实现 一般采用UART芯片实现,如下页图。 ①工作原理:发送时,由硬件将并行送来的 数据串行由TXD发出,并自动添加辅助位。接 收时,自动监视RXD线,测到起始位时转入串 行接收,并自动去掉辅助位后并行送出。
51单片机的串行接口硬件结构
SBUF (发) A 累 加 器 波 特 率 发 生 器
主机
TXD RXD TXD RXD GND
从机1
RXD TXD GND
RXD
TXD GND
GND
Leabharlann Baidu
从机2
RXD
TXD GND
从机3
RXD
TXD
GND
主机可以是计算机或单片机系统,从机多为单片机系统。 51系列常采用总线方式。 从机较多时, 主机TXD应使用总线驱动器(如74HC244)驱动 从机TXD应使用OC门(如7407驱动)输出,并在主机 端接上拉电阻(2.2k左右)
相关文档
最新文档