PC/XT微机的I/O接口实际使用的地址线的条数是

RS232技术文摘枕善居收集整理
版权声奣:本资料来自互联网枕善居只负责聚合,原版权规原作者所有!枕善居不
负责任何责任! (我为人人人人为我,枕善居)
串行通信接口标准经过使用和发展目前已经有几种。但都是在RS-232标准的基础上
经过改进而形成的所以,以RS-232C为主来讨论RS-323C 标准是美国EA(电子工业联合
会)与BELL等公司一起开发的1969 年公布的通信协议。它适合于数据传输速率在0~
20000b/s 范围内的通信这个标准对串行通信接口的有关问题,如信号线功能、電器特性
都作了明确规定由于通行设备厂商都生产与RS-232C制式兼容的通信设备,因此它作为
一种标准,目前已在微机通信接口中广泛采用
在讨论 RS-232C 接口标准的内容之前,先说明两点:
并未考虑计算机系统的应用要求但目前它又广泛地被借来用于计算机(更准确的说,是计
算机接口)与终端或外设之间的近端连接标准显然,这个标准的有些规定及和计算机系统
是不一致的甚至是相矛盾的。有了对这种背景的了解我们对RS-232C标准与计算机不兼
容的地方就不难理解了。
其次RS-232C 标准中所提到的“发送”和“接收”,都是站在DTE 立场上而不是站
在DCE 嘚立场来定义的。由于在计算机系统中往往是CPU 和/O设备之间传送信息,两者
都是DTE因此双方都能发送和接收。
识号C代表RS232 的最新一次修改(1969),在这之前有RS232B、RS232A。它规定连
接电缆和机械、电气特性、信号功能及传送过程。常用物理标准还有有EA�RS-232-C、
2、、连接器的机械特性:
连接器:由于RS-232C 并未定义连接器的物理特性因此,出现了DB-25、DB-15和DB-9
各种类型的连接器其引脚的定义也各不相同。下面分别介绍两种连接器
①異步通信的9 个电压信号(含信号地SG)2,34,56,78,2022
④保护地(PE)1 个,作为设备接地端(1 脚)
DB-25 型连接器的外形及信号线分配如图3 所示紸意,20mA 电流环信号仅BM PC和
BM PC/XT 机提供至AT 机及以后,已不支持
在 AT 机及以后,不支持20mA 电流环接口使用DB-9连接器,作为提供多功能/O卡
或主板上COM1 和COM2 两個串行接口的连接器它只提供异步通信的9 个信号。DB-25 型连
接器的引脚分配与DB-25 型引脚信号完全不同因此,若与配接DB-25 型连接器的DCE设备
连接必须使用专门的电缆线。
电缆长度:在通信速率低于20kb/s 时RS-232C所直接连接的最大物理距离为15m(50
最大直接传输距离说明:RS-232C 标准规定,若不使用MODEM茬码元畸变小于4%的情
况下,DTE和DCE 之间最大传输距离为15m(50英尺)可见这个最大的距离是在码元畸变
小于4%的前提下给出的。为了保证码元畸变尛于4%的要求接口标准在电气特性中规定,
驱动器的负载电容应小于2500pF
RS-232C 规标准接口有25 条线,4 条数据线、11 条控制线、3条定时线、7 条备用和未
萣义线常用的只有9 根,它们是:
(1)联络控制信号线:
数据终端准备好(Data set ready-DTR)——有效时(ON)状态表明数据终端可
这两个信号有时连到电源仩,一上电就立即有效这两个设备状态信号有效,只表示
设备本身可用并不说明通信链路可以开始进行通信了,能否开始进行通信要甴下面的控制
即当终端要发送数据时使该信号有效(ON 状态),向MODEM 请求发
送它用来控制MODEM 是否要进入发送状态。
发来的数据是对请求发送信号RTS 的响应信号。当MODEM 已准备好
接收终端传来的数据并向前发送时,使该信号有效通知终端开始
沿发送数据线TxD 发送数据。
这对 RTS/CTS 请求应答联络信号是用于半双工MODEM系统中发送方式和接收方式之间
的切换在全双工系统中作发送方式和接收方式之间的切换。在全双工系统中洇配置双向
通道,故不需要RTS/CTS 联络信号使其变高。
已接通通信链路告知DTE 准备接收数据。当本地的MODEM 收到由通
信链路另一端(远地)的MODEM送来嘚载波信号时使RLSD 信号有效,
通知终端准备接收并且由MODEM将接收下来的载波信号解调成数字
两数据后,沿接收数据线RxD送到终端此线也叫莋数据载波检出
振铃指示(Rngng-R)——当MODEM 收到交换台送来的振铃呼叫信号
时,使该信号有效(ON状态)通知终端,已被呼叫
(2)数据发送与接收線:
有两根线SG、PG——信号地和保护地信号线,无方向
上述控制信号线何时有效,何时无效的顺序表示了接口信号的传送过程例如,只囿
当DSR 和DTR 都处于有效(ON)状态时才能在DTE和DCE 之间进行传送操作。若DTE要发
送数据则预先将DTR 线置成有效(ON)状态,等CTS线上收到有效(ON)状态的回答后財能
在TxD 线上发送串行数据。这种顺序的规定对半双工的通信线路特别有用因为半双工的通
信才能确定DCE 已由接收方向改为发送方向,这时線路才能开始发送
2 个数据信号:发送TXD;接收RXD。
1 个信号地线:SG
12 接收信号检测(2) 在第二通道检测到信号√
13 允许发送(2) 第二通道允许发送√
14 118 发送数据(2) 第二通道发送数据√
16 119 接收数据(2) 第二通道接收数据√
17 115 DD 接收器定时为接口和终端提供定时√
19 请求发送(2) 连接第二通道嘚发送器√
20 108 CD 数据终端准备好数据终端准备好DTR
23 111 CH 数据率选择选择两个同步数据率√
24 114 DB 发送器定时为接口和终端提供定时√
第 1 和第2中情况是属于远距离通信(传输距离大于15m 的通信)的例子,故一般要
加调制解调器MODEM因此使用的信号线较多。注意:在以下各图中DTE 信号为RS-232-C
信号,DTE 与计算機间的电平转换电路未画出
1、采用Modem(DCE)和电话网通信时的信号连接:
若在双方MODEM 之间采用普通电话交换线进行通信,除了需要2~8 号信号线外还偠增
加R(22 号)和DTR(20 号)两个信号线进行联络如图1 所示。
RS232技术文摘枕善居收集整理
DSR、DTR:数传机(DCE)准备好、数据终端(DTE)准备好只表示设备本身鈳用。
首先通过电话机拔号呼叫对方,电话交换台向对方发出拔号呼叫信号当对方DCE
收到该信号后,使R(振铃信号)有效通知DTE,已被呼叫当对方“摘机”后,两方建
若计算机要发送数据至对方首先通过接口电路(DTE)发出RTS(请求发送)信号。
此时若DCE(Modem)允许传送,則向DTE 回答CTS(允许发送)信号一般可直接将RTS/CTS
接高电平,即只要通信链路已建立就可传送信号。(RTS/CTS 可只用于半双工系统中作发
送方式和接收方式的切换
信号调制成模拟信号(又称载波信号),传向对方
计算机向DTE“数据输出寄存器”传送新的数据前,应检查Modem状态和数据输絀寄存
器为空当对方的DCE收到载波信号后,向对方的DTE 发出DCD 信号(数据载波检出)通
知其DTE 准备接收,同时将载波信号解调为数据信号,從RXD线上送给DTEDTE通过串
行接收移位寄存器对接收到的位流进行移位,当收到1 个字符的全部位流后把该字符的数
据位送到数据输入寄存器,CPU 鈳以从数据输入寄存器读取字符
2、采用专用电话线通信:在通信双方的MODEM 之间采用电话线进行通信,则只要使用
2~8 号信号线进行联络与控淛不需要电话机、振铃信号R 和DTR 信号,其信号线的连接
RS232技术文摘枕善居收集整理
当通信距离较近时可不需要Modem,通信双方可以直接连接這种情况下,只需使用
少数几根信号线最简单的情况,在通信中根本不需要RS-232C的控制联络信号只需三根
线(发送线、接收线、信号地线)便可实现全双工异步串行通信,即是这里要讨论的第一种
无 Modem 时最大通信距离按如下方式计算:
RS-232C 标准规定:当误码率小于4%时,要求导线嘚电容值应小于2500PF对于普通
这一距离的计算,是偏于保守的实际应用中,当使用9600bps普通双绞屏蔽线时,
距离可达30~35米
1、零Modem 的最简连线(3 線制)
图 3 是零MODEM 方式的最简单连接(即三线连接),图中的2 号线与3 号线交叉连接
是因为在直连方式时把通信双方都当作数据终端设备看待,双方都可发也可收在这种方
式下,通信双方的任何一方只要请求发送RTS 有效和数据终端准备好DTR 有效就能开始发
(1)RTS 与CTS 互联:只要请求發送,立即得到允许
(2)DTR 与DSR互联:只要本端准备好认为本端立即可以接收(DSR、数传机准备好)。
2、零Modem标准连接:
如果想在直接连接时洏又考虑到RS-232C的联络控制信号,则采用零MODEM方式的
标准连接方法其通信双方信号线安排如下1-2-3-4-5顺序所演示的那样。
无 Modem 的标准联线(7 线制)如图所示:
RS232技术文摘枕善居收集整理
从中可以看出RS-232C 接口标准定义的所有信号线都用到了,并且是按照DTE和DCE
之间信息交换协议的要求进行连接的只不过是把DTE 自己发出的信号线送过来,当作对方
DCE 发来的信号因此,又把这种连接称为双叉环回接口
双方的握手信号关系如下(注:甲方乙方并未在图中标出):
(1)当甲方的DTE 准备好,发出
DTR 信号该信号直接联至乙方的R(振
铃信号)和DSR(数传机准备好)。即
只要甲方准備好乙方立即产生呼叫
(R)有效,并同时准备好(DSR)尽
管此时乙方并不存在DCE(数传机)。
(2)甲方的RTS 和CTS 相连并
与乙方的DCD 互连。即:┅旦甲方请求
发送(RTS)便立即得到允许(CTS),
同时使乙方的DCD有效,即检测到载
(3)甲方的TXD 与乙方的RXD相
RS232技术文摘枕善居收集整理
RS232技术文摘枕善居收集整理
目前较为常用的串口有9针串口(DB9)和25针串口(DB25)通信距离较近时(<12m),可以用电缆
线直接连接标准RS232端口(RS422,RS485较远)若距离较远,需附加调制解调器(MODEM)最为简单且
常用的是三线制接法,即地、接收数据和发送数据三脚相连本文只涉及到最为基本的接法,且直接用RS232
相连以回答前段网友的咨询。
· 不同编码机制不能混接如RS232C不能直接与RS422接口相连,市面上专门的各种转换器卖必
须通过转换器才能连接;
· 线路焊接要牢固,不然程序没问题却因为接线问题误事;
· 串口调试时,准备一个好用的调试工具如串口调试助手、串口精灵等,有事半功倍之效果;
· 强烈建议不要带电插拨串口插拨时至少有一端是断电的,否则串口易损坏
串口通讯的概念及接口电路
隨着计算机系统的应用和微机网络的发展,通信功能越来越显的重要这里所说的通信是只计算机与
外界的信息交换。因此通信既包括計算机与外部设备之间,也包括计算机和计算机之间的信息交换由
于串行通信是在一根传输线上一位一位的传送信息,所用的传输线少并且可以借助现成的电话网进行信
息传送,因此特别适合于远距离传输。对于那些与计算机相距不远的人-机交换设备和串行存储的外部
设备如终端、打印机、逻辑分析仪、磁盘等采用串行方式交换数据也很普遍。在实时控制和管理方面
采用多台微机处理机组成分級分布控制系统中,各CPU之间的通信一般都是串行方式所以串行接口是微
机应用系统常用的接口。
许多外设和计算机按串行方式进行通信这里所说的串行方式,是指外设与接口电路之间的信息传送
方式实际上,CPU与接口之间仍按并行方式工作
所谓“串行通信”是指外设囷计算机间使用一根数据信号线(另外需要地线,可能还需要控制线),数据
在一根数据信号线上一位一位地进行传输,每一位数据都占据一个固萣的时间长度如图1-1所示。这种
通信方式使用的数据线少在远距离通信中可以节约通信成本,当然其传输速度比并行传输慢。
由于CPU与接口之间按并行方式传输接口与外设之间按串行方式传输,因此在串行接口中,必须
要有“接收移位寄存器”(串→并)和“发送移位寄存器”(并→串)典型的串行接口的结构如1-2所
RS232技术文摘枕善居收集整理
在数据输入过程中,数据1位1位地从外设进入接口的“接收移位寄存器”当“接收移位寄存器”
中已接收完1个字符的各位后,数据就从“接收移位寄存器”进入“数据输入寄存器”CPU从“数据输
入寄存器”中读取接收到的字符。(并行读取即D7~D0同时被读至累加器中)。“接收移位寄存器”的
移位速度由“接收时钟”确定
在数据输絀过程中,CPU把要输出的字符(并行地)送入“数据输出寄存器”“数据输出寄存器”
的内容传输到“发送移位寄存器”,然后由“发送迻位寄存器”移位把数据1位1位地送到外设。“发
送移位寄存器”的移位速度由“发送时钟”确定
接口中的“控制寄存器”用来容纳CPU送給此接口的各种控制信息,这些控制信息决定接口的工作方
“状态寄存器”的各位称为“状态位”每一个状态位都可以用来指示数据传輸过程中的状态或某种
错误。例如用状态寄存器的D5位为“1”表示“数据输出寄存器”空,用D0位表示“数据输入寄存器满”
用D2位表示“渏偶检验错”等。
能够完成上述“串<- ->并”转换功能的电路通常称为“通用异步收发器”(UART:Unversal
什么是RS-232-C接口?采用RS-232-C接口有何特点传输电缆長度如何考虑?
答: 计算机与计算机或计算机与终端之间的数据传送可以采用串行通讯和并行通讯二种方式由于串行通
讯方式具有使用線路少、成本低,特别是在远程传输时避免了多条线路特性的不一致而被广泛采用。在
串行通讯时要求通讯双方都采用一个标准接口,使不同的设备可以方便地连接起来进行通讯 RS-232-C
接口(又称EA RS-232-C)是目前最常用的一种串行通讯接口。它是在1970年由美国电子工业协会(EA)
联合貝尔系统、调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准它的全名是“数
据终端设备(DTE)和数据通讯设备(DCE)の间串行二进制数据交换接口技术标准”该标准规定采用一个
25个脚的 DB25连接器,对连接器的每个引脚的信号内容加以规定还对各种信号的電平加以规定。
(1)接口的信号内容实际上RS-232-C的25条引线中有许多是很少使用的在计算机与终端通讯中一般
只使用3-9条引线。RS-232-C最常用的9条引线嘚信号内容见附表1所示
(2)接口的电气特性在RS-232-C中任何一条信号线的电压均为负逻辑关系即:逻辑“1”,-5— -15V;
逻辑“0” +5— +15V 噪声容限为2V。即要求接收器能识别低至+3V的信号作为逻辑“0”高到-3V
的信号作为逻辑“1” 附表1
引脚序号信号名称符号流向功能
RS232技术文摘枕善居收集整理
(3) 接ロ的物理结构 RS-232-C接口连接器一般使用型号为DB-25的25芯插头座,通常插头在DCE端,插座
在DTE端. 一些设备与PC机连接的RS-232-C接口,因为不使用对方的传送控制信号,只需彡条接口线,即“发
送数据”、“接收数据”和“信号地”。所以采用DB-9的9芯插头座传输线采用屏蔽双绞线。
(4)传输电缆长度由RS-232C标准规定茬码元畸变小于4%的情况下传输电缆长度应为50英尺,其实
这个4%的码元畸变是很保守的在实际应用中,约有99%的用户是按码元畸变10-20%的范围工莋的所以
实际使用中最大距离会远超过50英尺,美国DEC公司曾规定允许码元畸变为10%而得出附表2 的实验结果
其中1号电缆为屏蔽电缆,型号为
該协议规定了10 个特殊字符(称为控制字符)作为信息传输的标志其格式为
标题:Header,包含源地址(发送方地址)、目的地址(接收方地址)、路由指
数据块:正文(Text)由多个字符组成。
ETX:全文结束(end of text)(全文分为若干块传输)。
块校验:对从SOH 开始直到ETB/ETX字段的检验码。
┅帧信息可以是任意位用位组合标识帧的开始和结束。帧格式为:
F 场:标志场;作为一帧的开始和结束标志字符为8位,
A 场:地址场,規定接收方地址可为8 的整倍位。接收方检查每个地址字节的
第1 位如果为“0”,则后边跟着另一
个地址字节若为“1”,则该字节为最後一个地址字节
C 场:控制场。指示信息场的类型8 位或16 位。若第1 字节的第1 位为0则
还有第2 个字节也是控制场。
场:信息场要传送的数據。
FC 场:帧校验场16位循环冗余校验码CRC。除F 场和自动插入的“0”位外
RS232技术文摘枕善居收集整理
4、同步通信的“0位插入和删除技术”
在同步通信中,一帧信息以一个(或几个)特殊字符开始例如,F 场=B
但在信息帧的其他位置,完全可能出现这些特殊字符为了避免接收方紦这些特殊字
符误认为帧的开始,发送方采用了“0位插入技术”相应地,接收方采用“0 位删除技术”
发送方的0位插入:除了起始字符外,当连续出现5个1 时发送方自动插入一个0。
使得在整个信息帧中只有起始字符含有连续的6 个1。
接收方的“0位删除技术”:接收方收到連续6 个1作为帧的起始,把连续出现5 个
1 后的0 自动删除
5、同步通信的“字节填充技术”
设需要传送的原始信息帧为:
节填充技术采用字符替换方式,使信息帧的DATA 中不出现起始字符SOT和结束字符
设按下表方式进行替换:
DATA 中的原字符替换为
其中ESC=1AH,X、Y、Z 可指定为任意字符(除SOT、EOT、ESC外)
发送方按约定方式对需要发送的原始帧进行替换,并把替换后的新的帧发送给接收方
接收方按约定方式进行相反替换,可以获得原始帧信息
6、异步通信和同步通信的比较
(1)异步通信简单,双方时钟可允许一定误差同步通信较复杂,双方时钟的允许误
(3)通信效率:异步通信低同步通信高。
RS232技术文摘枕善居收集整理
所谓通信协议是指通信双方的一种约定约定包括对数据格式、同步方式、传送速度、
传送步骤、检纠错方式以及控制字符定义等问题做出统一规定,通信双方必须共同遵守因
此,也叫做通信控制规程或称传输控制规程,它属于SO'S OS七层参考模型中的数据链
目前采用的通信协议有两类:异步协议和同步协议。同步协议又有面向字符和面向
比特以及媔向字节计数三种其中,面向字节计数的同步协议主要用于DEC公司的网络体系
OS 七层参考模型不是通讯标准它只给出一个不会由于技术发展而必须修改的稳定模
型,使有关标准和协议能在模型定义的范围内开发和相互配合
一般的通讯协议只符合OS 七层模型的某几层,如: EA-RS-232-C:實现了物理层
BM 的SDLC(同步数据链路控制规程):数据链路层。ANS 的ADCCP(先进数据通讯规程):
数据链路层BM 的BSC(二进制同步通讯协议):数据链蕗层应用层的电子邮件协议SMTP
只负责寄信、POP3 只负责收信。
(1)物理层:对应OS 的物理层
(2)网络接口层:类似于OS的数据链路层。
(4)传输層:对应OS 的传输层
(5)应用层:对应OS 的表示层和应用层。
起止式异步协议的特点是一个字符一个字符传输并且传送一个字符总是以起始位开
始,以停止位结束字符之间没有固定的时间间隔要求。其格式如图3 所示每一个字符的
前面都有一位起始位(低电平,逻辑值0)字符本身有5~7 位数据位组成,接着字符后
面是一位校验位(也可以没有校验位)最后是一位,或意味半或二位停止位,停止位后
面昰不定长度的空闲位停止位和空闲位都规定为高电平(逻辑值),这样就保证起始位开
始处一定有一个下跳沿
从图中可以看出,这种格式是靠起始位和停止位来实现字符的界定或同步的故称为
起始式协议。传送时数据的低位在前,高位在后图4 表示了传送一个字符E 嘚ASCA
码的波形1010001。当把它的最低有效位写到右边时就是E 的ASC码H。
起/止位的作用:起始位实际上是作为联络信号附加进来的当它变为低电平時,告
诉收方传送开始它的到来,表示下面接着是数据位来了要准备接收。而停止位标志一个
字符的结束它的出现,表示一个字符傳送完毕这样就为通信双方提供了何时开始收发,
何时结束的标志传送开始前,发收双方把所采用的起止式格式(包括字符的数据位長度
停止位位数,有无校验位以及是奇校验还是偶校验等)和数据传输速率作统一规定传送开
始后,接收设备不断地检测传输线看昰否有起始位到来。当收到一系列的“1”(停止位
或空闲位)之后检测到一个下跳沿,说明起始位出现起始位经确认后,就开始接收所规
定的数据位和奇偶校验位以及停止位经过处理将停止位去掉,把数据位拼装成一个并行字
节并且经校验后,无奇偶错才算正确的接收一个字符一个字符接收完毕,接收设备有继
续测试传输线监视“0”电平的到来和下一个字符的开始,直到全部数据传送完毕
由仩述工作过程可看到,异步通信是按字符传输的每传输一个字符,就用起始位来
通知收方以此来重新核对收发双方同步。若接收设备囷发送设备两者的时钟频率略有偏差
这也不会因偏差的累积而导致错位,加之字符之间的空闲位也为这种偏差提供一种缓冲所
以异步串行通信的可靠性高。但由于要在每个字符的前后加上起始位和停止位这样一些附加
位使得传输效率变低了,只有约80%因此,起止协议┅般用在数据速率较慢的场合(小
(2)面向字符的同步协议
特点与格式:这种协议的典型代表是BM公司的二进制同步通信协议(BSC)它的特
点昰一次传送由若干个字符组成的数据块,而不是只传送一个字符并规定了10 个字符作
为这个数据块的开头与结束标志以及整个传输过程的控制信息,它们也叫做通信控制字由
于被传送的数据块是由字符组成,故被称作面向字符的协议
特定字符(控制字符)的定义:由上媔的格式可以看出,数据块的前后都加了几个特
的称单同步加两个SYN的称双同步设置同步字符是起联络作用,传送数据时,接收端不断检
测,一旦出现同步字符,就知道是一帧开始了。接着的SOH 是序始字符(Start Of Header)
它表示标题的开始。标题中包括院地址、目的地址和路由指示等信息STX是攵始字符(Start
Of Text),它标志着传送的正文(数据块)开始数据块就是被传送的正文内容,由多个
Of Text)其中ETB用在正文很长、需要分成若干个分数据塊、分别在不同帧中发送的场合,
这时在每个分数据块后面用文终字符ETX一帧的最后是校验码,它对从SOH 开始到ETX(或
ETB)字段进行校验校验方式可以是纵横奇偶校验或CRC。另外在面向字符协议中还采
用了一些其他通信控制字,它们的名称如下表所示:
数据透明的实现:面向字苻的同步协议不象异步起止协议那样,需要在每个字符前
后附加起始和停止位因此,传输效率提高了同时,由于采用了一些传输控淛字故增强
了通信控制能力和校验功能。但也存在一些问题例如,如何区别数据字符代码和特定字符
代码的问题因为在数据块中完铨有可能出现与特定字符代码相同的数据字符,这就会发生
误解比如正文有个与文终字符ETX 的代码相同的数据字符,接收端就不会把它当莋为普通
数据处理而误认为是正文结束,因而产生差错因此,协议应具有将特定字符作为普通数
据处理的能力这种能力叫做“数据透明”。为此协议中设置了转移字符DLE(Data Lnk
Escape)。当把一个特定字符看成数据时在它前面要加一个DLE,这样接收器收到一个DLE
就可预知下一个字符是數据字符而不会把它当作控制字符来处理了。DLE 本身也是特定字
符当它出现在数据块中时,也要在它前面加上另一个DLE这种方法叫字符填充。字符填
RS232技术文摘枕善居收集整理
充实现起来相当麻烦且依赖于字符的编码。正是由于以上的缺点故又产生了新的面向比
(3)面姠比特的同步协议
特点与格式:面向比特的协议中最具有代表性的是BM的同步数据链路控制规程SDLC
意位,而且它是靠约定的位组合模式而不昰靠特定字符来标志帧的开始和结束,故称“面
向比特”的协议这中协议的一般帧格式如图5所示:
帧信息的分段:由图5 可见,SDLC/HDLC的一帧信息包括以下几个场(Fled)所有场
都是从有效位开始传送。
(1)SDLC/HDLC 标志字符:SDLC/HDLC协议规定所有信息传输必须以一个标志字符
开始,且以同一个字苻结束这个标志字符是,称标志场(F)从开始标志到结
束标志之间构成一个完整的信息单位,称为一帧(Frame)所有的信息是以帧的形传输的,
洏标志字符提供了每一帧的边界接收端可以通过搜索“”来探知帧的开头和结
(2)地址场和控制场:在标志场之后,可以有一个地址场A(Address)和一个控制场
C(Control)地址场用来规定与之通信的次站的地址。控制场可规定若干个命令SDLC规
定A 场和C场的宽度为8 位或16 位。接收方必须检查每个哋址字节的第一位如果为“0”,
则后面跟着另一个地址字节;若为“1”则该字节就是最后一个地址字节。同理如果控
制场第一个字節的第一位为为“0”,则还有第二个控制场字节否则就只有一个字节。
(3)信息场:跟在控制场之后的是信息场(nformaton) 场包含有要传送的数據,
并不是每一帧都必须有信息场即数据场可以为0,当它为0 时则这一帧主要是控制命令。
(4)帧校验信息:紧跟在信息场之后的是两芓节的争校验帧校验场称为FC(Frame
实际应用时的两个技术问题:
(1)“0”位插入/删除:如上所述,SDLC/HDLC协议规定以为标志字节但
在信息场中也完铨有可能有同一种模式的字符,为了把它与标志区分开来所以采取了“0”
位插入和删除技术。具体作法是发送端在发送所有信息(除标誌字节外)时只要遇到连续
5 个“1”,就自动插入一个“0”当接收端在接收数据时(除标志字节)如果连续收到5
个“1”,就自动将其后嘚一个“0”删除是以恢复信息的原有形式。这种“0”位的插入
和删除过程是由硬件自动完成的
RS232技术文摘枕善居收集整理
(2)SDLC/HDLC异常结束:若在发送过程中出现错误,则SDLC/HDLC协议常用异常结束(Abort)
字符或称为失效序列使本帧作废。在HDLC规程中7 个连续的“1”被作为失效字符,而
在SDLC 中夨效字符是8 个连续的“1”当然在试销序列中不使用“0”位插入/删除技术。
SDLC/HDLC 协议规定在一帧之内不允许出现数据间隔。在两帧之间发送器可以连续输出
标志字符序列,也可以输出连续的高电平它被称为空闲(dle)信号。
本文不是全面的讲述如何编写串行通讯程序而是討论一些实际遇到的问题。
1 选择通讯方式-- 同步还是非同步
(NonOverLapped)方式是比较简单的一种方式编写起来代码的长度要明显少于异步
(OverLapped)方式,我开始用同步方式编写了整个子程序在Wndows98 下工作正常,
但后来在 Wndows2000 下测试发现接收正常,但一发送数据程序就会停在那里,原因
应该茬于同步方式下如果有一个通讯 Ap 在操作中另一个会阻塞直到上一个操作完成,
所以当读数据的线程停留在 WatCommEvent 的时候WrteFle 就停在那里。我又测試了
我手上所有有关串行通讯的例子程序发现所有使用同步方式的程序在 Wndows 2000 下全
部工作不正常,对这个问题我一直找不到解决的办法后來在czelon 站点上发现一篇文
章提到 NT 下对串行通讯的处理和 9x 有些不同,根本不要指望在 NT 或Wndows 2000 下
用同步方式同时收发数据我只好又用异步方式把整個通讯子程序重新写了一遍。
所以对于这个问题的建议是:如果程序只打算工作在 Wn9x 下为了简单起见,可以用同
步方式写程序如果程序咑算在 NT 下也可以工作的话,就必须用异步方式写
CommConfgDalog 是弹出系统内置串口设置对话框的 AP,我们在设备管理器中设置串口
参数的对话框就是这個使用这个AP 时不用先打开端口,它并不针对一个已打开的端口
而是仅仅是把 DCB 的内容填写到对话框中,当按了 OK 后把输入的结果存回到DCB 数據结
构中至于什么时候把结果设置到串口上,那就是你自己要做的事情了
来,所以我用的代码中定义了一个足够大的缓冲区作为结构嘚地址:
DCB 中但使用中也存在问题,我发现我用它转换象 com1:9600,e,7,1 之类的带校验位的
字符串它总是无法把这个e 给我转换过去,设置好串口一看荿了 9600,n,7,1,而上面
提到的 CommConfgDalog 返回的结果用来设置串口却是正确的经过比较,发现问题出在
4 Wn32 通讯编程的一般流程
由于同步方式相对比较简单在這里讲述的是异步方式的流程,在其他的很多文章里提到了
RS232技术文摘枕善居收集整理
我刚看到这些 AP 的时候都不知道如何使用它们,但并鈈是所有这些 AP 都是必须用的
GetCommConfg,虽然它们返回的信息可能更多同样,如果有些值你想用缺省的比如缓
字符用的,平时也很少用到下媔讲的是必须用到的 AP 和使用步骤:
WatCommEvent 认为有 Event 发生,它就会马上返回也许这并不是普遍的情况,但如果
你的程序也是停在了WatCommEvent 的地方不妨一試。
6 如何编写读线程中的循环
;这里是线路状态的处理
; 如果没有在等待异步读的过程中则读端口
;这里是接收到的数据处理
; 如果在异步读端ロ中,则等待一段时间
在流控制方式为“无”和“软件控制”的情况下基本上没有什么问题,但在“硬件控制”
比如计算机主机用串荇接口连接显示终端,而显示终端带有键盘这样,一方面键
盘上输入的字符送到主机内存;另一方面主机内存的信息可以送到屏幕显礻。通常往键
盘上打入1个字符以后,先不显示计算机主机收到字符后,立即回送到终端然后终端再
把这个字符显示出来。这样前┅个字符的回送过程和后一个字符的输入过程是同时进行的,
若使用同一根传输线既作接收又作发送虽然数据可以在两个方向上传送,泹通信双
方不能同时收发数据这样的传送方式就是半双工制,如图2 所示采用半双工方式时,通
信系统每一端的发送器和接收器通过收/发开关转接到通信线上,进行方向的切换因此,
会产生时间延迟收/发开关实际上是由软件控制的电子开关。
当计算机主机用串行接ロ连接显示终端时在半双工方式中,输入过程和输出过程使
用同一通路有些计算机和显示终端之间采用半双工方式工作,这时从键盤打入的字符在
发送到主机的同时就被送到终端上显示出来,而不是用回送的办法所以避免了接收过程和
发送过程同时进行的情况。
目湔多数终端和串行接口都为半双工方式提供了换向能力也为全双工方式提供了两
条独立的引脚。在实际使用时一般并不需要通信双方哃时既发送又接收,像打印机这类的
单向传送设备半双工甚至单工就能胜任,也无需倒向
浅析 PC 机串口通讯流控制
我们在串行通讯处理Φ,常常看到RTS/CTS和XON/XOFF这两个选项这就是两个流控制的选项,目前流控
制主要应用于调制解调器的数据通讯中但对普通RS232编程,了解一点这方媔的知识是有好处的那么,
流控制在串行通讯中有何作用在编制串行通讯程序怎样应用呢?这里我们就来谈谈这个问题
奇偶校验能夠检测出信息传输过程中的部分误码(1位误码能检出,2位及2位以上误码不能检出)
同时,它不能纠错在发现错误后,只能要求重发泹由于其实现简单,仍得到了广泛使用
有些检错方法,具有自动纠错能力如循环冗余码(CRC)检错等。
开发通信软件的技术与技巧
【提偠】随着计算机应用领域的不断扩展计算机之间的远程通信用得也越来越广泛,计算
机间的远程通信所使用的通信软件在市面上可以買到,但是通用的通信软件虽然能发送和
接收文件在许方情况下这些通信软件并不能满足实际工作的需要。本文就这一技术进行了
探讨介绍了有关的知识和技术,并由实例分步骤说明如何进行通信软件的开发
1XON/XOFF,即在数据流中嵌入控制苻来进行流控。
2RTS/CTS,既由信号线RTS/CTS自动进行鋶量控制(常用)
设置或返回硬件握手协议,指的是PC机MODEM之间为了控制流速而约定的内部协议
传输缓冲区的字节数,如选1024。
设置或返回传輸缓冲区大小
向传输缓冲区写数据流。
传输文本数据时,应将Strng型数据放入Varant 变量传输二进制数据(即按字节)时,应
接收缓冲区的字节数,如选1024。
設置或返回接收缓冲区大小
0 用nput 属性接收文本型数据。
1 用nput 属性接收二进制数据
设置或返回接收数据的数据类型。
返回接收缓冲区中已传箌但还未取走的字符个数
当 nputMode 属性值为0(文本模式)时,变量中含Strng型数据。
当 nputMode 属性值为1(二进制模式)时,变量中含Byte 型数组数据
将接收缓冲區中收到的数据读入变量。
用于读取或控制pc 机与modem之间的交互状态需运用好。例如应在读取到DSRHoldng
再向MODEM发送数据。
三、MSCOMM控件的触发事件
MSCOMM控件呮使用一个事件OnComm用属性CommEvent的十七个值来区分不同的触发
时机。主要有以下几个:
RS232技术文摘枕善居收集整理
(2)CommEvent=2 时:接收缓冲区中收到hreshold(可设置的属性值)个个字符利用
此事件可编写接收数据的过程。
另外十种情况是通信错误时产生即错误代码。
1、首先是通信参数设置主偠就是可以设置端口号,波特率数据位,停止位奇偶
校验位及设置硬件握手协议,这些设置较为简单
2、向MODEM 发出DTR(已准备好)信号,如丅例程:
(10)可编程的输出数据长度
TLC2543的引脚排列如图1所示。图1中AN0~AN10为模拟输入端; 为片选端;DN 为串行数据
输入端;DOUT为A/D转换结果的三态串荇输出端;EOC为转换结束端;CLK为/O时钟;REF+为正基准电
压端;REF-为负基准电压端;VCC为电源;GND为地
串行数据传输模块包括串行口初始化子程序和数據传输子程序,各子程序分别如下其中数据传输采
用查询方式,也可以方便地改为中断方式
MOV SCON,#50H ;串口方式1工作,8位数据位1位停止位,無奇偶校验
4 上位机串口接收程序设计
上位机接收数据所用C语言程序包括初始化子程序和接收子程序各子程序分别如下:
本文给出的硬件囷软件均经过实践检验,并且已经按照PC/104总线制作成数据采集卡使用很方便,
能够满足对数据采样频率要求不是特别高的应用场合
1 TLC2543模数轉换器数据手册及应用笔记. 武汉力源电子股份有限公司,1999
2 一九九九年产品目录(第一期). 武汉力源电子股份有限公司, 1999
3 何立民. MS-51系列单片机应鼡系统设计. 北京:北京航空航天大学出版社, 1999
单工、半双工和全双工的定义
串行通讯的基本概念:与外界的信息交换称为通讯基本的通讯方式有并行通讯和串行通讯两种。
一条信息的各位数据被同时传送的通讯方式称为并行通讯并行通讯的特点是:各数据位同时传送,
传送速度快、效率高但有多少数据位就需多少根数据线,因此传送成本高且只适用于近距离(相距数
一条信息的各位数据被逐位按顺序傳送的通讯方式称为串行通讯。串行通讯的特点是:数据位传送
传按位顺序进行,最少只需一根传输线即可完成成本低但送速度慢。串行通讯的距离可以从几米到几千
根据信息的传送方向串行通讯可以进一步分为单工、半双工和全双工三种。信息只能单向传送为单
工;信息能双向传送但不能同时双向传送称为半双工;信息能够同时双向传送则称为全双工
串行通讯又分为异步通讯和同步通讯两种方式。在单片机中主要使用异步通讯方式。
MCS_51单片机有一个全双工串行口全双工的串行通讯只需要一根输出线和一根输入线。数据的输出
又稱发送数据(TXD)数据的输入又称接收数据(RXD)。串行通讯中主要有两个技术问题一个是数据
传送、另一个是数据转换。数据传送主要解决传送中的标准、格式及工作方式等问题数据转换是指数据
的串并行转换。具体说在发送端,要把并行数据转换为串行数据;而在接收端却要把接收到的串行数
单工、半双工和全双工的定义
如果在通信过程的任意时刻,信息只能由一方A传到另一方B则称为单工。
如果在任意时刻信息既可由A 传到B,又能由B传A但只能由一个方向上的传输存在,称为半双工传输
如果在任意时刻,线路上存在A到B和B到A的雙向信号传输则称为全双工。
电话线就是二线全双工信道由于采用了回波抵消技术,双向的传输信号不致混淆不清双工信道有时也
將收、发信道分开,采用分离的线路或频带传输相反方向的信号如回线传输。
RS232技术文摘枕善居收集整理
图1的电路从一个RS-232端口产生半稳压5V 輸出与PC鼠标电源或依靠调制
解调器控制信号DTR和RTS的可比较电路不同的是,该电路采用3线端口(GND,Rx
和Tx)工作并仅从Tx线获得功率。(除非高占空仳时Tx线,RCV-232在提
供功率时仍然可供使用)输出电流大约8mA,对CMOS微控制器和其它低功耗
电路足够了C1是一个开关电容充电泵电压转换器,它既可以使输入电压反向
也可以使输入电压加倍。图中的电路连接提供倍压配置,使输入电压极性反转:
正输入电压一般在GND和OUT之间连接但昰该电路却在OUT和GND之间连接一
个负输入电压。C使负Vn在正向加倍产生一个与Vn相等的正输出(在Vdd
齐纳二级管D1用作并联稳压器,使Vn“半稳压”至-5V(實际为-
命令字的ENTER HUNT位置上的数据在RXC的上升没被采样RXC 缓冲器与同步字符比较
直到相同为止(若8251A 被设置为双SYNC方式,则要与第二同步字符比较)8251A结束
HUNT 搜索同步字符状态进入同步状态,处于字符同步中然后把SYNDET 引脚置为高电平。
表明接收方已与发送方同步上
外同步方式是发送方接收主SYNDET脚施加一高电平的方法,迫使脱离HUNT 方式实现
发送方与接收方的同步。
Assocaton)公布RS-232-C 标准最初拟制为终端设备和调制解调器之间的连接规萣。它
规定了两设备间的电器特性和所需连线的名称及编号
在串行通讯链路中,将通信设备分为两类,以线“2”作为数据输出的通讯设备稱为
“2”,“3”到“3”的一一对应地将它们连接起来这就是公认的直接连接。但厂家不一定
总遵守这个规定所以一个给出的通讯设备是DTE,還是DCE 并不能分清。因此在连接两个
通讯设备时,最有效的方法是根据RS232-C 出脚的名称,按实际应用需要相联图3 为调制解
调器与通讯模板的RS232-C 25芯接口嘚连接图。
计算机首先发出数据终端就绪信号然后指示调制解调器呼叫远程站,当调制解调器完
成联通后它就发出调制解调器就绪信號,通知计算机调制解调器已完成通讯准备此时计
算机就发出请求传送信号,等调制解调器应答了允许发送信号后即开始数据传送。
4 控制字设置与软件实现
8251A的引脚上有一“控制/信号”信号C/D,此信号和“读/写”信号合起来通知8251A
当前读写的是数据还是控制字.状态字当C/D=0进行读寫时,读出和写入的是数据。当C/D=1
进行写入时,写入的是控制字、方式字和同步字符;C/D=1 进行读出时,是从状态寄存器中读
出的状态那么,在C/D=1 写入时,到底写到哪一个寄存器呢?这涉及8251A初始化的有关约
定。这个约定有三条: (1)芯片复位后,第一次用C/D=1 写入的值是方式字;(2)如果方式字中
规定了同部方式,接著用C/D=1写入的就是同部字符;(3)在此之后,以C/D=1写入的都被作为
从原则上来说, 象8251A这样的8位接口芯片,连接在16 位系统时,低8 位的数据总写
到偶地址, 高8 位的数據总写到奇地址. STD5221 也遵从这个原则,不将地址总线的最低位
A0连到8251A的地址线上,而将地址总线A1作为8251A的地址最低位地址总线A0 经过反相
端,与STD5221 相反,这一点茬应用时要注意)注:据实验结果,在C/D=1 写入的第一个命令
字之后,先向数据口写同步字符,才能启动同步发送(在流程图中有标示)
5 通讯模板及程序说明
STD5221 是一种通用的串行数据通讯插件,它提供了两套完全独立的RS232-C串行数据
通道本例子在STD V40 系统Ⅱ下开发, 以STD5221作为通讯模板经过 Modem 以同步方式
互发一串字符。限于篇幅未能完全收录
[1] 魏庆福.STD 总线工业控制机设计于应用
[2] 康拓公司.STD 总线工业控制机双串行通信板(STD5221)
[4] 王仲文译.精通串荇通信, 电子工业出版社
串行通信波特率的一种自动检测方法
摘 要:给出了一种利用接收到的字符信息检测串行终端通信波特率的方法。此方法简单、可靠、易行
并给出了实现这种检测方法的伪代码。
关键词:自动检测;波特率
串行通信是终端和主机之间的主要通信方式通信波特率一般选择1800、4800、9600和19200等。
终端的类型有很多种其通信速率也有很多种选择。主机怎样确定终端的通信速率呢本文给出了一种简
單、易行的方法:设定主机的接收波特率(以9600波特为例),终端发送一个特定的字符(以回车符为例)
主机根据接收到的字符信息就可鉯确定终端的通信波特率。本文对这种方法予以详述
回车符的ASC值为0x0D。串行通信时附加一个起始位和终止位位的传输顺序一般是先传低位再
传高位。此时回车符的二进制表示方式为:
串行通信中一个二进制位的传输时间(记为T)取决于通信的波特率9600波特时一个二进制位嘚传
输时间是19200波特时一个二进制位传输时间的两倍,即:2*T19200=T 9600因此,9600波特时一个位的传输
时间19200波特时可以传输两个位。同样地9600波特传输兩个位的时间在4800波特时只能传送一个
位。主机设定接收波特率为9600 终端只有也以9600波特发送的字符,主机才能正确地接收发送波特
RS232技术文摘枕善居收集整理
率高于或低于9600都会使主机接收到的字符发生错误。接收波特率为9600终端以不同的波特率发送回
车符时,主机接收到的二進制序列如表1所示
从表1中可以看出,除了19200和1800波特时两种特例情况其他情形的二进制序列都是 9600波特
时二进制序列的变换。取前十个二进淛位与9600波特时的二进制位相对应忽略缺少停止位‘1’引发的
数据帧错误,把接收到的字符表示成字节方式(如表1的最右列所示) 例如:在发送速率为1200波特,
接收速率为9600波特时主机得到的字节是0x80,而不是正确的回车符0x0D因为在不同的发送速率下
(9600,48002400,1200)得到的字节不哃所以通过接收字符的判定就可以确定发送波特率。
发送波特率为19200时其发送速度正好是接收速度(9600波特)的两倍,因此发送端的两个②进
制位会被接收端看作一个取决于不同的串行接口硬件,‘01’和‘10’这两种二进制位组合可能被认为
是‘1’或者‘0’幸运的是,只囿0~4位存在这样的歧义问题 后面的位因为都是停止位,所以都是
‘1’因此,发送速率为19200波特时接收到的字符其高半个字节为0xF低半个芓节可能是多个值中的
一个,但不会是0x0因为0x0D中有相邻的两个‘1’,这就会至少在低半个字节中产生一个‘1’因
此,整个字节的形式为0xF? 且低半个字节不为0。
表1 不同波特率下的二进制序列
波特率接收到的二进制位序列字节表示
发送速率为1800波特时因为
而16/3不是整数,接收端②进制位的状态转换时刻和9600波特不一一对应引起在接收端的一个位接收
周期内有状态发生变化的可能。表1中给出的第六个位(表示为x)僦是这种情况因为x有可能被看作
‘1’,也有可能被看作‘0’所以发送速率为1800波特时接收到的字节可能是0xE0或者0xF0。波特
率为3600和7200时也有同样嘚问题也可以采用同样的方法,但不确定的位数会增加需要检测的字节
种类也会更多。3600波特和7200波特的传输速率几乎不采用因此这个問题并不严重。只要发送波特率
在1200~19200之间我们都可以通过接收到的一个字符对此波特率进行唯一的判定。
当发送速率低于1200波特时接收端收到的字节都是0x00,因此只能确定其速率低于12 00波特
而不可能再得到更多的信息。为了解决这个问题可以在9600波特的速率下继续接收下一個字节信息。
发送速率为600波特或更低时一个位的发送时间要大于9600波特时整个字节的接收时间。因此发送
端每一个从‘1’(终止位)到‘0’(起始位)的跳变都会让接收端认为一个新的字节开始了。表2所示
为600波特或更低的传输速率时接收端回车符的二进制序列(只给出开始的一些位)
表2 低波特率回车符的接收方式
波特率9600波特二进制序列
[1]赵依军等. 单片微机接口技术[M].北京: 人民邮电出版社,
RS-422、RS-485与RS-232不┅样数据信号采用差分传输方式,也称作平衡传输它使用一对双绞线,
将其中一线定义为A另一线定义为B,如图2
通常情况下,发送驅动器A、B之间的正电平在+2~+6V是一个逻辑状态,负电平在-2~6V是另一个逻
辑状态。另有一个信号地C在RS-485中还有一“使能”端,而在RS-422中这是鈳用可不用的“使能”
端是用于控制发送驱动器与传输线的切断与连接。当“使能”端起作用时发送驱动器处于高阻状态,称
作“第彡态”即它是有别于逻辑“1”与“0”的第三态。
接收器也作与发送端相对的规定收、发端通过平衡双绞线将AA与BB对应相连,当在收端AB之間有大于
+200mV的电平时输出正逻辑电平,小于-200mV时输出负逻辑电平。接收器接收平衡线上的电平范围通
常在200mV至6V之间参见图3。
RS-422标准全称是“岼衡电压数字接口电路的电气特性”它定义了接口电路的特性。图5是典型的RS-422
四线接口实际上还有一根信号地线,共5根线图4是其DB9连接器引脚定义。由于接收器采用高输入
阻抗和发送驱动器比RS232更强的驱动能力故允许在相同传输线上连接多个接收节点,最多可接10个节
点即一个主设备(Master),其余为从设备(Salve)从设备之间不能通信,所以RS-422支持点对多
的双向通信接收器输入阻抗为4k,故发端最大负载能力是10×4k+100Ω(终接电阻)。RS-422四线接
口由于采用单独的发送和接收通道因此不必控制数据方向,各装置之间任何必须的信号交换均可以按软
件方式(XON/XOFF握手)或硬件方式(一对单独的双绞线)实现
RS-422的最大传输距离为4000英尺(约1219米),最大传输速率为10Mb/s其平衡双绞线的长度与传输
速率荿反比,在100kb/s速率以下才可能达到最大传输距离。只有在很短的距离下才能获得最高速率传
输一般100米长的双绞线上所能获得的最大传输速率仅为1Mb/s。
RS-422需要一终接电阻要求其阻值约等于传输电缆的特性阻抗。在矩距离传输时可不需终接电阻即一
般在300米以下不需终接电阻。終接电阻接在传输电缆的最远端
RS-422有关电气参数见表1
由于RS-485是从RS-422基础上发展而来的,所以RS-485许多电气规定与RS-422相仿如都采用平衡传
输方式、都需要在传输线上接终接电阻等。RS-485可以采用二线与四线方式二线制可实现真正的多点双
而采用四线连接时,与RS-422一样只能实现点对多的通信即只能有一个主(Master)设备,其余为从设
备但它比RS-422有改进,无论四线还是二线连接方式总线上可多接到32个设备参见图7。
的规范所以RS-485嘚驱动器可以用在RS-422网络中应用。
RS-485有关电气规定参见表1
RS-485与RS-422一样,其最大传输距离约为1219米最大传输速率为10Mb/s。平衡双绞线的长度与传输
速率荿反比在100kb/s速率以下,才可能使用规定最长的电缆长度只有在很短的距离下才能获得最高
速率传输。一般100米长双绞线最大传输速率仅为1Mb/s
RS-485需要2个终接电阻,其阻值要求等于传输电缆的特性阻抗在矩距离传输时可不需终接电阻,即一
般在300米以下不需终接电阻终接电阻接茬传输总线的两端。
RS-422可支持10个节点RS-485支持32个节点,因此多节点构成网络网络拓扑一般采用终端匹配的总
线型结构,不支持环形或星形网絡在构建网络时,应注意如下几点:
1.采用一条双绞线电缆作总线将各个节点串接起来,从总线到每个节点的引出线长度应尽量短鉯便使
引出线中的反射信号对总线信号的影响最低。图8所示为实际应用中常见的一些错误连接方式(ac,e)
和正确的连接方式(bd,f)a,ce 这三种网络连接尽管不正确,在短距离、低速率仍可能正常工作
但随着通信距离的延长或通信速率的提高,其不良影响会越来越严偅主要原因是信号在各支路末端反射
后与原信号叠加,会造成信号质量下降
2.应注意总线特性阻抗的连续性,在阻抗不连续点就会发苼信号的反射下列几种情况易产生这种不连续
性:总线的不同区段采用了不同电缆,或某一段总线上有过多收发器紧靠在一起安装再鍺是过长的分支
总之,应该提供一条单一、连续的信号通道作为总线
五、RS-422与RS-485传输线上匹配的一些说明
对RS-422与RS-485总线网络一般要使用终接电阻進行匹配。但在短距离与低速率下可以不用考虑终端匹
配那么在什么情况下不用考虑匹配呢?理论上在每个接收数据信号的中点进行采样时,只要反射信号
在开始采样时衰减到足够低就可以不考虑匹配但这在实际上难以掌握,美国MAXM公司有篇文章提到一
条经验性的原则鈳以用来判断在什么样的数据速率和电缆长度时需要进行匹配:当信号的转换时间(上升
或下降时间)超过电信号沿总线单向传输所需时間的3倍以上时就可以不加匹配例如具有限斜率特性的
RS-485接口MAX483输出信号的上升或下降时间最小为250ns,典型双绞线上的信号传输速率约为
生地电位差而形成串扰
由图2可见:Er=Et+En+Eg,Et为十几伏,Eg一般为几十伏至几百伏En若
是来自用电器一般不超过几十伏,若是来自雷电则可达几千伏 RS232接口所
能承受的最大电压是25伏,由此可见几十伏以上的干扰信号不仅会影响正常
通讯而且足可将接口烧毁。
SC-232系列光隔离长线收发器是将RS232 接口數据传送方式转换成双端平
衡信号传输并用高速光隔离器件将两台设备隔离开,在差分接收器接收到双端
平衡信号后再还原成RS232信号送至RS232接口见图3所示:
Et为发送端电压,Er为接收端电压En 为干扰电压,Eg为地电位差
由于采用双端平衡传输和差分接收,使得加在两根导线上的幹扰信号可以
相互抵消而不影响正常信号的传输因而有效克服了噪声干扰。同时由于光隔离
器的作用使得两台通讯设备之间的地电位差Eg不会对信号有任何影响。从而
彻底解决了通讯中的串扰和噪声干扰
经实测,使用串口泵后在波特率为9600bps时通讯距离可达2公里若降
低通訊速率,则可相应延长通讯距离
本装置不需外接电源,其工作电源从RS232接口上窃取如图4所示:图
中TXD、RTS、DTR是RS232的输出信号,每根信号线可提供约9mA的输出电源
通讯时其电压在+10V和-10V之间跳变,通讯停止后其电压极性不定但开机上
电时全部为-10V。该三个信号经D1~D6全波整流和C1、C2滤波后嘚到+9V和-9V
直流电压若是开机上电状态则只有-9V电压。C1和C2分别是负电压到正电
压转换器和正电压到负电压转换器将输入电压转换极性并升壓,这样无论TXD、
RS232技术文摘枕善居收集整理
RTS、DTR是什么极性都能在DW1和DW2端得到+9V和-9V的稳定电压亦即
不需靠软件设置来得到工作电压,確保适合所有软件!其实只需以上任意一根信
四、瞬态电压干扰接口保护
由于本装置采用平衡差分传输方式因而具有良好的抗电磁干扰能力,光
电隔离电路能有效的抑制地电位差的干扰采用屏幕电缆对抑制射频干扰很有
效,但屏蔽电缆线的电容较大会相应降低通讯速率。除上述常见干扰因素外
瞬态电压干扰是威胁通讯接口安全的元凶之一。
瞬态电压抑制器TVS是一种高效能的电路保护器件外形及符号哃普通稳压
管,所不同的是它是一种特制的齐纳二级管,能经受高达数千伏的脉冲电压和
数十乃至数百安培的浪涌电流能承受的功率高达数千瓦。同时TVS具有极小的
极间电容并不会影响信号的正常传输。
图5给出了本采用TVS的保护电路在发送端和接受端各采用3个TVS单元,
分别对线路之间、线路对地之间的瞬态电压干扰进行抑制消除了由于强电进入
而产生通讯口被烧毁的现象,从而有效的保证了整个通訊系统的安全运行
串口泵可广泛用于各种工业控制系统、计算机通讯系统等一切采用RS232
通讯的设备,对延长通讯距离、抗干扰和保护接口等方面不失为一种经济可靠的
装置根据以上原理,还可设计出RS232到RS422/RS485等各种通讯规程转换器

微型计算机原理及应用习题集

您還没有浏览的资料哦~

快去寻找自己想要的资料吧

您还没有收藏的资料哦~

收藏资料后可随时找到自己喜欢的内容

一、单项选择题(共15分)

(下列題目只有一个答案正确,请选出正确答案)

1.8位补码操作数“”等值扩展为16位后其机器数为()。

2.80X86处理器在响应外部总线请求(HOLD)后將()。

A.转人特殊中断服务程序B.放弃对总线控制权

C.进人等待周期D.接管对总线控制权

3.80X86系列微机响应外部中断后从数据总线上获取的是()。

A.中断向量号B.中断服务程序第一条指令的操作码

C.中断向量地址D.外设采集的数据

4.在计算机中高速缓存器(Cache)一般采鼡()构成。

5.堆栈指针的作用是用来指示()

A.栈底地址B.下一条要执行指令的地址

C.栈顶地址D.堆栈的深度

6. 当存储器读写速度较慢時,需产生一个READY信号以实现与CPU的同步CPU

将在总线周期的时候采样该信号。

7. 8086有两种工作模式, 最小模式的特点是()

A. CPU提供全部控制信号

B. 由编程进行模式设定

8. 在PC微机中,CPU要读取/O端口地址302H中的数据时应该用()指令。

9. 若8255A接口芯片的A口工作在方式2时则B口可以工作在()。

10. 程序查詢/O的流程总是按()的次序完成一个字符的传输

A. 写数据端口,读/写控制端口

B. 读状态端口,读/写数据端口

C. 写控制端口,读/写状态端口

D. 随/O接口的具体要求而定。

后接着NTO指令则会

A. 进人NTO中断服务子程序

我要回帖

更多关于 I9 的文章

 

随机推荐