RS232通信协议.pdf
RS232 技术文摘 枕善居收集整理 http:/-1-版权声明:本资料来自互联网,枕善居只负责聚合,原版权规原作者所有!枕善居不负责任何责任!(我为人人,人人为我,枕善居 http:/)目目 次次 1.RS-232-C 详解 2 2.串口通信基本接线方法 12 3.串口通讯的概念及接口电路 13 4.有关 RS232 和 RS485 接口的问答 14 5.同步通信方式 16 6.通信协议19 7.实战串行通讯25 8.全双工和半双工方式 33 9.浅析 PC 机串口通讯流控制 34 10.奇偶校验 35 11.开发通信软件的技术与技巧 36 12.接口技术的基本知识 41 13.一个单片机串行数据采集/传输模块的设计 44 14.单工、半双工和全双工的定义 48 15.从 RS232 端口获得电源49 16.串行同步通信的应用50 17.串行通信波特率的一种自动检测方法53 18.RS-232、RS-422 与 RS-485 标准及应用56 19.串口泵 64 RS232 技术文摘 枕善居收集整理 http:/-2-RS-232-C 详解详解 串行通信接口标准经过使用和发展,目前已经有几种。但都是在 RS-232 标准的基础上经过改进而形成的。所以,以 RS-232C 为主来讨论。RS-323C 标准是美国 EIA(电子工业联合会)与 BELL 等公司一起开发的 1969 年公布的通信协议。它适合于数据传输速率在 020000b/s 范围内的通信。这个标准对串行通信接口的有关问题,如信号线功能、电器特性都作了明确规定。由于通行设备厂商都生产与 RS-232C 制式兼容的通信设备,因此,它作为一种标准,目前已在微机通信接口中广泛采用。在讨论 RS-232C 接口标准的内容之前,先说明两点:首先,RS-232-C标准最初是远程通信连接数据终端设备DTE(Data Terminal Equipment)与数据通信设备 DCE(Data Communication Equipment)而制定的。因此这个标准的制定,并未考虑计算机系统的应用要求。但目前它又广泛地被借来用于计算机(更准确的说,是计算机接口)与终端或外设之间的近端连接标准。显然,这个标准的有些规定及和计算机系统是不一致的,甚至是相矛盾的。有了对这种背景的了解,我们对 RS-232C 标准与计算机不兼容的地方就不难理解了。其次,RS-232C 标准中所提到的“发送”和“接收”,都是站在 DTE 立场上,而不是站在 DCE 的立场来定义的。由于在计算机系统中,往往是 CPU 和 I/O 设备之间传送信息,两者都是 DTE,因此双方都能发送和接收。一、一、RS-232-C RS-232C 标准(协议)的全称是 EIA-RS-232C 标准,其中 EIA(Electronic Industry Association)代表美国电子工业协会,RS(ecommeded standard)代表推荐标准,232 是标识号,C 代表 RS232 的最新一次修改(1969),在这之前,有 RS232B、RS232A。它规定连接电缆和机械、电气特性、信号功能及传送过程。常用物理标准还有有 EIA�RS-232-C、EIA�RS-422-A、EIA�RS-423A、EIA�RS-485。这里只介绍 EIA�RS-232-C(简称 232,RS232)。例如,目前在 IBM PC 机上的 COM1、COM2 接口,就是 RS-232C 接口。1.电气特性 EIA-RS-232C 对电器特性、逻辑电平和各种信号线功能都作了规定。在 TxD 和 RxD 上:逻辑 1(MARK)=-3V-15V 逻辑 0(SPACE)=+315V 在 RTS、CTS、DSR、DTR 和 DCD 等控制线上:信号有效(接通,ON 状态,正电压)+3V+15V 信号无效(断开,OFF 状态,负电压)=-3V-15V RS232 技术文摘 枕善居收集整理 http:/-3-图 1 以上规定说明了 RS-323C 标准对逻辑电平的定义。对于数据(信息码):逻辑“1”(传号)的电平低于-3V,逻辑“0”(空号)的电平告语+3V;对于控制信号;接通状态(ON)即信号有效的电平高于+3V,断开状态(OFF)即信号无效的电平低于-3V,也就是当传输电平的绝对值大于 3V 时,电路可以有效地检查出来,介于-3+3V 之间的电压无意义,低于-15V或高于+15V 的电压也认为无意义,因此,实际工作时,应保证电平在(315)V 之间。EIA-RS-232C 与 TTL 转换:EIA-RS-232C 是用正负电压来表示逻辑状态,与 TTL 以高低电平表示逻辑状态的规定不同。因此,为了能够同计算机接口或终端的 TTL 器件连接,必须在 EIA-RS-232C 与 TTL 电路之间进行电平和逻辑关系的变换。实现这种变换的方法可用分立元件,也可用集成电路芯片。目前较为广泛地使用集成电路转换器件,如 MC1488、SN75150芯片可完成 TTL 电平到 EIA 电平的转换,而 MC1489、SN75154 可实现 EIA 电平到 TTL 电平的转换。MAX232 芯片可完成 TTLEIA 双向电平转换,图 1 显示了 1488 和 1489 的内部结构和引脚。MC1488 的引脚(2)、(4,5)、(9,10)和(12,13)接 TTL 输入。引脚 3、6、8、11 输出端接 EIA-RS-232C。MC1498 的 14 的 1、4、10、13 脚接 EIA 输入,而 3、6、8、11 脚接 TTL输出。具体连接方法如图 2 所示。图中的左边是微机串行接口电路中的主芯片 UART,它是TTL 器件,右边是 EIA-RS-232C 连接器,要求 EIA 高电压。因此,RS-232C 所有的输出、输入信号都要分别经过 MC1488 和 MC1498 转换器,进行电平转换后才能送到连接器上去或从连接器上送进来。RS232 技术文摘 枕善居收集整理 http:/-4-图 2 2、连接器的机械特性:连接器:由于 RS-232C 并未定义连接器的物理特性,因此,出现了 DB-25、DB-15 和 DB-9各种类型的连接器,其引脚的定义也各不相同。下面分别介绍两种连接器。(1)DB-25:PC 和 XT 机采用 DB-25 型连接器。DB-25 连接器定义了 25 根信号线,分为 4 组:异步通信的 9 个电压信号(含信号地 SG)2,3,4,5,6,7,8,20,22 20mA 电流环信号 9 个(12,13,14,15,16,17,19,23,24)空 6 个(9,10,11,18,21,25)保护地(PE)1 个,作为设备接地端(1 脚)DB-25 型连接器的外形及信号线分配如图 3 所示。注意,20mA 电流环信号仅 IBM PC 和IBM PC/XT 机提供,至 AT 机及以后,已不支持。图 3 (2)DB-9 连接器 在 AT 机及以后,不支持 20mA 电流环接口,使用 DB-9 连接器,作为提供多功能 I/O 卡或主板上 COM1 和 COM2 两个串行接口的连接器。它只提供异步通信的 9 个信号。DB-25 型连RS232 技术文摘 枕善居收集整理 http:/-5-接器的引脚分配与 DB-25 型引脚信号完全不同。因此,若与配接 DB-25 型连接器的 DCE 设备连接,必须使用专门的电缆线。电缆长度:在通信速率低于 20kb/s 时,RS-232C 所直接连接的最大物理距离为 15m(50英尺)。最大直接传输距离说明:RS-232C 标准规定,若不使用 MODEM,在码元畸变小于 4%的情况下,DTE 和 DCE 之间最大传输距离为 15m(50 英尺)。可见这个最大的距离是在码元畸变小于 4%的前提下给出的。为了保证码元畸变小于 4%的要求,接口标准在电气特性中规定,驱动器的负载电容应小于 2500pF。3、RS-232C 的接口信号 RS-232C 规标准接口有 25 条线,4 条数据线、11 条控制线、3 条定时线、7 条备用和未定义线,常用的只有 9 根,它们是:(1)联络控制信号线:数据装置准备好(Data set ready-DSR)有效时(ON)状态,表明 MODEM 处于可以使用的状态。数据终端准备好(Data set ready-DTR)有效时(ON)状态,表明数据终端可以使用。这两个信号有时连到电源上,一上电就立即有效。这两个设备状态信号有效,只表示设备本身可用,并不说明通信链路可以开始进行通信了,能否开始进行通信要由下面的控制信号决定。请求发送(Request to send-RTS)用来表示DTE请求DCE发送数据,即当终端要发送数据时,使该信号有效(ON 状态),向 MODEM 请求发送。它用来控制 MODEM 是否要进入发送状态。允许发送(Clear to send-CTS)用来表示 DCE 准备好接收 DTE发来的数据,是对请求发送信号 RTS 的响应信号。当 MODEM 已准备好接收终端传来的数据,并向前发送时,使该信号有效,通知终端开始沿发送数据线 TxD 发送数据。这对 RTS/CTS 请求应答联络信号是用于半双工 MODEM 系统中发送方式和接收方式之间的切换。在全双工系统中作发送方式和接收方式之间的切换。在全双工系统中,因配置双向通道,故不需要 RTS/CTS 联络信号,使其变高。接收线信号检出(Received Line detection-RLSD)用来表示 DCE已接通通信链路,告知 DTE 准备接收数据。当本地的 MODEM 收到由通信链路另一端(远地)的 MODEM 送来的载波信号时,使 RLSD 信号有效,通知终端准备接收,并且由 MODEM 将接收下来的载波信号解调成数字两数据后,沿接收数据线 RxD 送到终端。此线也叫做数据载波检出(Data Carrier dectection-DCD)线。振铃指示(Ringing-RI)当 MODEM 收到交换台送来的振铃呼叫信号时,使该信号有效(ON 状态),通知终端,已被呼叫。(2)数据发送与接收线:RS232 技术文摘 枕善居收集整理 http:/-6-发送数据(Transmitted data-TxD)通过 TxD 终端将串行数据发送到 MODEM,(DTEDCE)。接收数据(Received data-RxD)通过 RxD 线终端接收从 MODEM 发来的串行数据,(DCEDTE)。(3)地线 有两根线 SG、PG信号地和保护地信号线,无方向。上述控制信号线何时有效,何时无效的顺序表示了接口信号的传送过程。例如,只有当 DSR 和 DTR 都处于有效(ON)状态时,才能在 DTE 和 DCE 之间进行传送操作。若 DTE 要发送数据,则预先将 DTR 线置成有效(ON)状态,等 CTS 线上收到有效(ON)状态的回答后,才能在 TxD 线上发送串行数据。这种顺序的规定对半双工的通信线路特别有用,因为半双工的通信才能确定 DCE 已由接收方向改为发送方向,这时线路才能开始发送。2 个数据信号:发送 TXD;接收 RXD。1 个信号地线:SG。6 个控制信号:DSR��数传机(即 modem)准备好,Data Set Ready.DTR��数据终端(DTE,即微机接口电路,如Intel8250/8251,16550)准备好,Data Terminal Ready。RTS��DTE 请求 DCE 发送(Request To Send)。CTS��DCE 允许 DTE 发送(Clear To Send),该信号是对 RTS 信号的回答。DCD��数据载波检出,Data Carrier Detection 当本地 DCE 设备(Modem)收到对方的 DCE 设备送来的载波信号时,使 DCD 有效,通知 DTE 准备接收,并且由 DCE 将接收到的载波信号解调为数字信号,经 RXD 线送给 DTE。RI��振铃信号 Ringing当DCE收到交换机送来的振铃呼叫信号时,使该信号有效,通知 DTE 已被呼叫。用途 232 引脚 CCITT Modem 名称 说明 异步 同步 1 101 AA 保护地 设备外壳接地 PE PE 2 103 BA 发送数据 数据送 Modem TXD 3 104 BB 接收数据 从 Modem 接收数据 RXD 4 105 CA 请求发送 在半双工时控制发送器的开和关 RTS 5 106 CB 允许发送 Modem 允许发送 CTS 6 107 CC 数据终端准备好 Modem 准备好 DSR 7 102 AB 信号地 信号公共地 SG SG RS232 技术文摘 枕善居收集整理 http:/-7-8 109 CF 载波信号检测 Modem 正在接收另一端送来的信号 DCD 9 空 10 空 11 空 12 接收信号检测(2)在第二通道检测到信号 13 允许发送(2)第二通道允许发送 14 118 发送数据(2)第二通道发送数据 15 113 DA 发送器定时 为 Modem 提供发送器定时信号 16 119 接收数据(2)第二通道接收数据 17 115 DD 接收器定时 为接口和终端提供定时 18 空 19 请求发送(2)连接第二通道的发送器 20 108 CD 数据终端准备好 数据终端准备好 DTR 21 空 22 125 振铃 振铃指示 RI 23 111 CH 数据率选择 选择两个同步数据率 24 114 DB 发送器定时 为接口和终端提供定时 25 空 PART2 一、远距离通信 第 1 和第 2 中情况是属于远距离通信(传输距离大于 15m 的通信)的例子,故一般要加调制解调器 MODEM,因此使用的信号线较多。注意:在以下各图中,DTE 信号为 RS-232-C信号,DTE 与计算机间的电平转换电路未画出。1、采用 Modem(DCE)和电话网通信时的信号连接:若在双方 MODEM 之间采用普通电话交换线进行通信,除了需要 28 号信号线外还要增加 RI(22 号)和 DTR(20 号)两个信号线进行联络,如图 1 所示。RS232 技术文摘 枕善居收集整理 http:/-8-图 1 DSR、DTR:数传机(DCE)准备好、数据终端(DTE)准备好,只表示设备本身可用。首先,通过电话机拔号呼叫对方,电话交换台向对方发出拔号呼叫信号,当对方 DCE收到该信号后,使 RI(振铃信号)有效,通知 DTE,已被呼叫。当对方“摘机”后,两方建立了通信链路。若计算机要发送数据至对方,首先通过接口电路(DTE)发出 RTS(请求发送)信号。此时,若 DCE(Modem)允许传送,则向 DTE 回答 CTS(允许发送)信号。一般可直接将 RTS/CTS接高电平,即只要通信链路已建立,就可传送信号。(RTS/CTS 可只用于半双工系统中作发送方式和接收方式的切换。当 DTE 获得 CTS 信号后,通过 TXD 线向 DCE 发出串行信号,DCE(Modem)将这些数字信号调制成模拟信号(又称载波信号),传向对方。计算机向 DTE“数据输出寄存器”传送新的数据前,应检查 Modem 状态和数据输出寄存器为空。当对方的 DCE 收到载波信号后,向对方的 DTE 发出 DCD 信号(数据载波检出),通知其 DTE 准备接收,同时,将载波信号解调为数据信号,从 RXD 线上送给 DTE,DTE 通过串行接收移位寄存器对接收到的位流进行移位,当收到 1 个字符的全部位流后,把该字符的数据位送到数据输入寄存器,CPU 可以从数据输入寄存器读取字符。2、采用专用电话线通信:在通信双方的 MODEM 之间采用电话线进行通信,则只要使用28 号信号线进行联络与控制。不需要电话机、振铃信号 RI 和 DTR 信号,其信号线的连接如图 2 那样。RS232 技术文摘 枕善居收集整理 http:/-9-图 2 二、近距离通信:当通信距离较近时,可不需要 Modem,通信双方可以直接连接,这种情况下,只需使用少数几根信号线。最简单的情况,在通信中根本不需要 RS-232C 的控制联络信号,只需三根线(发送线、接收线、信号地线)便可实现全双工异步串行通信,即是这里要讨论的第一种情况。无 Modem 时,最大通信距离按如下方式计算:RS-232C 标准规定:当误码率小于 4%时,要求导线的电容值应小于 2500PF。对于普通导线,其电容值约为 170PF/M。则允许距离 L=2500PF/(170PF/M)=15M 这一距离的计算,是偏于保守的,实际应用中,当使用 9600bps,普通双绞屏蔽线时,距离可达 3035 米。1、零 Modem 的最简连线(3 线制)图 3 是零 MODEM 方式的最简单连接(即三线连接),图中的 2 号线与 3 号线交叉连接是因为在直连方式时,把通信双方都当作数据终端设备看待,双方都可发也可收。在这种方式下,通信双方的任何一方,只要请求发送 RTS 有效和数据终端准备好 DTR 有效就能开始发送和接收。图 3 (1)RTS 与 CTS 互联:只要请求发送,立即得到允许 (2)DTR 与 DSR 互联:只要本端准备好,认为本端立即可以接收(DSR、数传机准备好)。2、零 Modem 标准连接:如果想在直接连接时,而又考虑到 RS-232C 的联络控制信号,则采用零 MODEM 方式的标准连接方法,其通信双方信号线安排如下 1-2-3-4-5 顺序所演示的那样。无 Modem 的标准联线(7 线制)如图所示:RS232 技术文摘 枕善居收集整理 http:/-10-从中可以看出,RS-232C 接口标准定义的所有信号线都用到了,并且是按照 DTE 和 DCE之间信息交换协议的要求进行连接的,只不过是把 DTE 自己发出的信号线送过来,当作对方DCE 发来的信号,因此,又把这种连接称为双叉环回接口。双方的握手信号关系如下(注:甲方乙方并未在图中标出):(1)当甲方的 DTE 准备好,发出DTR 信号,该信号直接联至乙方的 RI(振铃信号)和 DSR(数传机准备好)。即只要甲方准备好,乙方立即产生呼叫(RI)有效,并同时准备好(DSR)。尽管此时乙方并不存在 DCE(数传机)。(2)甲方的 RTS 和 CTS 相连,并与乙方的 DCD 互连。即:一旦甲方请求发送(RTS),便立即得到允许(CTS),同时,使乙方的 DCD 有效,即检测到载波信号。(3)甲方的 TXD 与乙方的 RXD 相连,一发一收。1 2 RS232 技术文摘 枕善居收集整理 http:/-11-3 4 5 RS232 技术文摘 枕善居收集整理 http:/-12-串口通信基本接线方法串口通信基本接线方法 目前较为常用的串口有 9 针串口(DB9)和 25 针串口(DB25),通信距离较近时(12m),可以用电缆线直接连接标准 RS232 端口(RS422,RS485 较远),若距离较远,需附加调制解调器(MODEM)。最为简单且常用的是三线制接法,即地、接收数据和发送数据三脚相连,本文只涉及到最为基本的接法,且直接用 RS232相连,以回答前段网友的咨询。1.DB9 和和 DB25 的常用信号脚说明的常用信号脚说明 9 针串口(DB9)25 针串口(DB25)针号 功能说明 缩写 针号 功能说明 缩写 1 数据载波检测 DCD 8 数据载波检测 DCD 2 接收数据 RXD 3 接收数据 RXD 3 发送数据 TXD 2 发送数据 TXD 4 数据终端准备 DTR 20 数据终端准备 DTR 5 信号地 GND 7 信号地 GND 6 数据设备准备好 DSR 6 数据准备好 DSR 7 请求发送 RTS 4 请求发送 RTS 8 清除发送 CTS 5 清除发送 CTS 9 振铃指示 DELL 22 振铃指示 DELL 2.RS232C 串口通信接线方法(三线制)串口通信接线方法(三线制)首先,串口传输数据只要有接收数据针脚和发送针脚就能实现:同一个串口的接收脚和发送脚直接用线相连,两个串口相连或一个串口和多个串口相连 同一个串口的接收脚和发送脚直接用线相连 对 9 针串口和 25 针串口,均是 2 与 3 直接相连;两个不同串口(不论是同一台计算机的两个串口或分别是不同计算机的串口)9 针9 针 25 针25 针 9 针25 针 2 3 3 2 2 2 3 2 2 3 3 3 5 5 7 7 5 7 上面表格是对微机标准串行口而言的,还有许多非标准设备,如接收 GPS 数据或电子罗盘数据,只要记住一个原则:接收数据针脚(或线)与发送数据针脚(或线)相连,彼些交叉,信号地对应相接。3.串口调试中要注意的几点:串口调试中要注意的几点:RS232 技术文摘 枕善居收集整理 http:/-13-不同编码机制不能混接,如 RS232C 不能直接与 RS422 接口相连,市面上专门的各种转换器卖,必须通过转换器才能连接;线路焊接要牢固,不然程序没问题,却因为接线问题误事;串口调试时,准备一个好用的调试工具,如串口调试助手、串口精灵等,有事半功倍之效果;强烈建议不要带电插拨串口,插拨时至少有一端是断电的,否则串口易损坏。串口通讯的概念及接口电路串口通讯的概念及接口电路 随着计算机系统的应用和微机网络的发展,通信功能越来越显的重要。这里所说的通信是只计算机与外界的信息交换。因此,通信既包括计算机与外部设备之间,也包括计算机和计算机之间的信息交换。由于串行通信是在一根传输线上一位一位的传送信息,所用的传输线少,并且可以借助现成的电话网进行信息传送,因此,特别适合于远距离传输。对于那些与计算机相距不远的人机交换设备和串行存储的外部设备如终端、打印机、逻辑分析仪、磁盘等,采用串行方式交换数据也很普遍。在实时控制和管理方面,采用多台微机处理机组成分级分布控制系统中,各 CPU 之间的通信一般都是串行方式。所以串行接口是微机应用系统常用的接口。许多外设和计算机按串行方式进行通信,这里所说的串行方式,是指外设与接口电路之间的信息传送方式,实际上,CPU 与接口之间仍按并行方式工作。1 串行通信的概念 图 1-1 所谓“串行通信”是指外设和计算机间使用一根数据信号线(另外需要地线,可能还需要控制线),数据在一根数据信号线上一位一位地进行传输,每一位数据都占据一个固定的时间长度。如图 1-1 所示。这种通信方式使用的数据线少,在远距离通信中可以节约通信成本,当然,其传输速度比并行传输慢。由于 CPU 与接口之间按并行方式传输,接口与外设之间按串行方式传输,因此,在串行接口中,必须要有“接收移位寄存器”(串并)和“发送移位寄存器”(并串)。典型的串行接口的结构如 1-2 所示。RS232 技术文摘 枕善居收集整理 http:/-14-图 1-2 在数据输入过程中,数据 1 位 1 位地从外设进入接口的“接收移位寄存器”,当“接收移位寄存器”中已接收完 1 个字符的各位后,数据就从“接收移位寄存器”进入“数据输入寄存器”。CPU 从“数据输入寄存器”中读取接收到的字符。(并行读取,即 D7D0 同时被读至累加器中)。“接收移位寄存器”的移位速度由“接收时钟”确定。在数据输出过程中,CPU 把要输出的字符(并行地)送入“数据输出寄存器”,“数据输出寄存器”的内容传输到“发送移位寄存器”,然后由“发送移位寄存器”移位,把数据 1 位 1 位地送到外设。“发送移位寄存器”的移位速度由“发送时钟”确定。接口中的“控制寄存器”用来容纳 CPU 送给此接口的各种控制信息,这些控制信息决定接口的工作方式。“状态寄存器”的各位称为“状态位”,每一个状态位都可以用来指示数据传输过程中的状态或某种错误。例如,用状态寄存器的 D5 位为“1”表示“数据输出寄存器”空,用 D0 位表示“数据输入寄存器满”,用 D2 位表示“奇偶检验错”等。能够完成上述“串并”转换功能的电路,通常称为“通用异步收发器”(UART:Universal Asynchronous Receiver and Transmitter),典型的芯片有:Intel 8250/8251,16550。有关有关 RS232 和和 RS485 接口的问答接口的问答 什么是 RS-232-C 接口?采用 RS-232-C 接口有何特点?传输电缆长度如何考虑?答:计算机与计算机或计算机与终端之间的数据传送可以采用串行通讯和并行通讯二种方式。由于串行通讯方式具有使用线路少、成本低,特别是在远程传输时,避免了多条线路特性的不一致而被广泛采用。在串行通讯时,要求通讯双方都采用一个标准接口,使不同 的设备可以方便地连接起来进行通讯。RS-232-C接口(又称 EIA RS-232-C)是目前最常用的一种串行通讯接口。它是在 1970 年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标 准。它的全名是“数据终端设备(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 引脚序号 信号名称 符号 流向 功能 2 发送数据 TXD DTEDCE DTE 发送串行数据 3 接收数据 RXD DTEDCE DTE 接收串行数据 4 请求发送 RTS DTEDCE DTE 请求 DCE 将线路切换到发送方式 5 允许发送 CTS DTEDCE DCE 告诉 DTE 线路已接通可以发送数据 6 数据设备准备好 DSR DTEDCE DCE 准备好 7 信号地 信号公共地 RS232 技术文摘 枕善居收集整理 http:/-15-8 载波检测 DCD DTEDCE 表示 DCE 接收到远程载波 20 数据终端准备好 DTR DTEDCE DTE 准备好 22 振铃指示 RI DTEDCE 表示 DCE 与线路接通,出现振铃 (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 号电缆为屏蔽电缆,型号为 DECP.NO.9107723 内有三对双绞线,每对由 22#AWG 组成,其外覆以屏蔽网。2 号电缆为不带屏蔽的电缆。型号为 DECP.NO.9105856-04 是 22#AWG 的四芯电缆。附表 2 DEC 公司的实验结果 波特率 1 号电缆传输距离(英尺)2 号电缆传输距离(英尺)110 5000 3000 300 5000 3000 1200 3000 3000 2400 1000 500 4800 1000 250 9600 250 250 2.什么是 RS-485 接口?它比 RS-232-C 接口相比有何特点?答:由于 RS-232-C 接口标准出现较早,难免有不足之处,主要有以下四点:(1)接口的信号电平值较高,易损坏接口电路的芯片,又因为与 TTL 电平不兼容故需使用电平转换电路方能与 TTL 电路连接。(2)传输速率较低,在异步传输时,波特率为 20Kbps。(3)接口使用一根信号线和一根信号返回线而构成共地的传输形式,这种共地传输容易产生共模干扰,所以抗噪声干扰性弱。(4)传输距离有限,最大传输距离标准值为 50 英尺,实际上也只能 用在 50 米左右。针对 RS-232-C 的不足,于是就不断出现了一些新的接口标准,RS-485 就是其中之一,它具有以下特点:1.RS-485 的电气特性:逻辑“1”以两线间的电压差为+(26)V 表示;逻辑“0”以两线间的电压差为-(26)V 表示。接口信号电平比 RS-232-C 降低了,就不易损坏接口电路的芯片,且该电平与 TTL 电平兼容,可方便与 TTL 电路连接。2.RS-485 的数据最高传输速率为 10Mbps RS232 技术文摘 枕善居收集整理 http:/-16-3.RS-485 接口是采用平衡驱动器和差分接收器的组合,抗共模干能力增强,即抗噪声干扰性好。4.RS-485 接口的最大传输距离标准值为 4000 英尺,实际上可达 3000 米,另外 RS-232-C 接口在总线上只允许连接 1 个收发器,即单站能力。而 RS-485 接口在总线上是允许连接多达 128 个收发器。即具有多站能力,这样用户可以利用单一的 RS-485 接口方便地建立起设备网络。因 RS-485 接口具有良好的抗噪声干扰性,长的传输距离和多站能力等上述优点就使其成为首选的串行接口。因为RS485接口组成的半双工网络,一般只需二根连线,所以RS485接口均采用屏蔽双绞线传输。RS485接口连接器采用 DB-9 的 9 芯插头座,与智能终端 RS485 接口采用 DB-9(孔),与键盘连接的键盘接口 RS485采用 DB-9(针)。3.采用 RS485 接口时,传输电缆的长度如何考虑?答:在使用 RS485 接口时,对于特定的传输线经,从发生器到负载其数据信号传输所允许的最大电缆长度是数据信号速率的函数,这个 长度数据主要是受信号失真及噪声等影响所限制。下图所示的最大电缆长度与信号速率的关系曲线是使用 24AWG 铜芯双绞电话电缆(线 径为 0.51mm),线间旁路电容为 52.5PF/M,终端负载电阻为 100 欧 时所得出。(曲线引自 GB11014-89 附录 A)。由图中可知,当数据信 号速率降低到 90Kbit/S 以下时,假定最大允许的信号损失为 6dBV 时,则电缆长度被限制在 1200M。实际上,图中的曲线是很保守的,在实 用时是完全可以取得比它大的电缆长度。当使用不同线径的电缆。则取得的最大电缆长度是不相同的。例 如:当数据信号速率为 600Kbit/S 时,采用 24AWG 电缆,由图可知最 大电缆长度是 200m,若采用 19AWG 电缆(线径为 0。91mm)则电缆长 度将可以大于 200m;若采用 28AWG 电缆(线径为 0。32mm)则电缆 长度只能小于 200m。同步通信方式同步通信方式 1、同步通信方式的特点:、同步通信方式的特点:采用同步通信时,将许多字符组成一个信息组,这样,字符可以一个接一个地传输,但是,在每组信息(通常称为帧)的开始要加上同步字符,在没有信息要传输时,要填上空字符,因为同步传输不允许有间隙。在同步传输过程中,一个字符可以对应 58 位。当然,对同一个传输过程,所有字符对应同样的数位,比如说 n 位。这样,传输时,按每 n 位划分为一个时间片,发送端在一个时间片中发送一个字符,接收端则在一个时间片中接收一个字符。同步传输时,一个信息帧中包含许多字符,每个信息帧用同步字符作为开始,一般将同步字符和空字符用同一个代码。在整个系统中,由一个统一的时钟控制发送端的发送和空字符用同一个代码。接收端当然是应该能识别同步字符的,当检测到有一串数位和同步字符相匹配时,就认为开始一个信息帧,于是,把此后的数位作为实际传输信息来处理。2、面向字符的同步协议(、面向字符的同步协议(IBM 的的 BSC 协议)协议)RS232 技术文摘 枕善居收集整理 http:/-17-该协议规定了 10 个特殊字符(称为控制字符)作为信息传输的标志。其格式为 SYN SOH 标题 STX 数据块 ETB/ETX 块校验 SYN:同步字符(Synchronous character),每帧可加 1 个(单同步)或 2 个(双同步)同步字符。SOH:标题开始(Start of Header)。标题:Header,包含源地址(发送方地址)、目的地址(接收方地址)、路由指示。STX:正文开始(Start of Text)。数据块:正文(Text),由多个字符组成。ETB:块传输结束(end of transmission block),标识本数据块结束。ETX:全文结束(end of text),(全文分为若干块传输)。块校验:对从 SOH 开始,直到 ETB/ETX 字段的检验码。3、面向、面向 bit 的同步协议(的同步协议(ISO 的的 HDLC)一帧信息可以是任意位,用位组合标识帧的开始和结束。帧格式为:F 场 A 场 C 场 I 场 FC 场 F 场 F 场:标志场;作为一帧的开始和结束,标志字符为 8 位,01111110。A 场:地址场,规定接收方地址,可为 8 的整倍位。接收方检查每个地址字节的第 1 位,如果为“0”,则后边跟着另一 个地址字节。若为“1”,则该字节为最后一个地址字节。C 场:控制场。指示信息场的类型,8 位或 16 位。若第 1 字节的第 1 位为 0,则还有第 2 个字节也是控制场。I 场:信息场。要传送的数据。FC 场:帧校验场。16 位循环冗余校验码 CRC。除 F 场和自动插入的“0”位外,均参加 CRC 计算。RS232 技术文摘 枕善居收集整理 http:/-18-4、同步通信的“、同步通信的“0 位插入和删除技术”位插入和删除技术”在同步通信中,一帧信息以一个(或几个)特殊字符开始,例如,F 场=01111110B。但在信息帧的其他位置,完全可能出现这些特殊字符,为了避免接收方把这些特殊字符误认为帧的开始,发送方采用了“0 位插入技术”,相应地,接收方采用“0 位删除技术”。发送方的 0 位插入:除了起始字符外,当连续出现 5 个 1 时,发送方自动插入一个 0。使得在整个信息帧中,只有起始字符含有连续的 6 个 1。接收方的“0 位删除技术”:接收方收到连续 6 个 1,作为帧的起始,把连续出现 5 个1 后的 0 自动删除。5、同步通信的“字节填充技术”、同步通信的“字节填充技术”设需要传送的原始信息帧为:SOT DATA EOT 节填充技术采用字符替换方式,使信息帧的 DATA 中不出现起始字符 SOT 和结束字符EOT。设按下表方式进行替换:DATA 中的原字符 替换为 SOT ESC X EOT ESC Y ESC ESC Z 其中,ESC=1AH,X、Y、Z 可指定为任意字符(除 SOT、EOT、ESC 外)。发送方按约定方式对需要发送的原始帧进行替换,并把替换后的新的帧发送给接收方。例如图所示:接收方按约定方式进行相反替换,可以获得原始帧信息。6、异步通信和同步通信的比较、异步通信和同步通信的比较 (1)异步通信简单,双方时钟可允许一定误差。同步通信较复杂,双方时钟的允许误差较小。(2)异步通信只适用于点 点,同步通信可用于点 多。(3)通信效率:异步通信低,同步通信高。RS232 技术文摘 枕善居收集整理 http:/-19-通信协议通信协议 所谓通信协议是指通信双方的一种约定。约定包括对数据格式、同步方式、传送速度、传送步骤、检纠错方式以及控制字符定义等问题做出统一规定,通信双方必须共同遵守。因此,也叫做通信控