第1章计算机串行通信接口技术11
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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左右)