串口通信编程大全.rtf
《串口通信编程大全.rtf》由会员分享,可在线阅读,更多相关《串口通信编程大全.rtf(81页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、串口通信编程大全.txt 明骚易躲,暗贱难防。佛祖曰:你俩就是大傻 B!当白天又一次把黑夜 按 翻 在 床 上 的 时 候,太 阳 就 出 生 了-Page 1-RS232 术文摘 枕善居收集整理 http:/ 版权声明:本资料来自互联网,枕善居只负责聚合,原版权规原作者所有!枕善居不 负责任何责任!(我为人人,人人为我,枕善居 http:/)次 1.RS-232-C 详解 2 2.串口通信基本接线方法 12 3.串口通讯的概念及接口电路 13 4.有关 RS232 和 RS485 接口的问答 14 5.同步通信方式 16 6.通信协议19 7.实战串行通讯25 8.全双工和半双工方式 33
2、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 -1-Page 2-RS232 术文摘 枕善居收集整理 http:/ RS-232-C 详解 串行通信接口标准经过使用和发展,目前已经有几种。但都是在 RS-232 标准的基
3、础上 经过改进而形成的。所以,以 RS-232C 为主来讨论。RS-323C 标准是美国 EIA(电子工业联合 会)与 BELL 等公司一起开发的 1969 年公布的通信协议。它适合于数据传输速率在 0 20000b/s 范围内的通信。这个标准对串行通信接口的有关问题,如信号线功能、电器特性 都作了明确规定。由于通行设备厂商都生产与 RS-232C 制式兼容的通信设备,因此,它作为 一种标准,目前已在微机通信接口中广泛采用。在讨论 RS-232C 接口标准的内容之前,先说明两点:首先,RS-232-C 标准最初是远程通信连接数据终端设备 DTE(DataTerminalEquipment)与数
4、据通信设备 DCE(Data Communication Equipment)而制定的。因此这个标准的制定,并未考虑计算机系统的应用要求。但目前它又广泛地被借来用于计算机(更准确的说,是计 算机接口)与终端或外设之间的近端连接标准。显然,这个标准的有些规定及和计算机系统 是不 致的,甚至是相矛盾的。有了对这种背景的了解,我们对 RS-232C 标准与计算机不兼 容的地方就不难理解了。其次,RS-232C 标准中所提到的“发送”和“接收”,都是站在 DTE 立场上,而不是站 在 DCE 的立场来定义的。由于在计算机系统中,往往是 CPU 和 I/O 设备之间传送信息,两者 都是 DTE,因此双方
5、都能发送和接收。一、RS-232-C RS-232C 标准(协议)的全称是 EIA-RS-232C 标准,其中 EIA(Electronic Industry Association)代表美国电子工业协会,RS(ecommeded standard)代表推荐标准,232 是标 识号,C 代表 RS232 的最新 次修改(1969),在这之前,有 RS232B、RS232A。它规定连 接电缆和机械、电气特性、信号功能及传送过程。常用物理标准还有有 EIARS-232-C、EIARS-422-A、EIARS-423A、EIARS-485。这里只介绍 EIAR
6、S-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 -2-Page 3-RS232 术文摘 枕善居收集整理 http:/ 图 1 以上规定说明了 RS-323C
7、 标准对逻辑电平的定义。对于数据(信息码):逻辑“1”(传 号)的电平 于-3V,逻辑“0”(空号)的电平告语+3V;对于控制信号;接通状态(ON)即信号有效的电平高于+3V,断开状态(OFF)即信号无效的电平 于-3V,也就是当传输电平 的绝对值大于 3V 时,电路可以有效地检查出来,介于-3+3V 之间的电压无意义,于-15V 或高于+15V 的电压也认为无意义,因此,实际工作时,应保证电平在(315)V 之间。EIA-RS-232C 与 TTL 转换:EIA-RS-232C 是用正负电压来表示逻辑状态,与 TTL 以高 电平表示逻辑状态的规定不同。因此,为了能够同计算机接口或终端的 TT
8、L 器件连接,必须 在 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-23
9、2C。MC1498 的 14 的 1、4、10、13 脚接 EIA 输入,而 3、6、8、11 脚接 TTL 输出。具体连接方法如图 2 所示。图中的左边是微机串行接口电路中的主芯片 UART,它是 TTL 器件,右边是 EIA-RS-232C 连接器,要求 EIA 高电压。因此,RS-232C 所有的输出、输 入信号都要分别经过 MC1488 和 MC1498 转换器,进行电平转换后才能送到连接器上去或从连 接器上送进来。-3-Page 4-RS232 术文摘 枕善居收集整理 http:/ 图 2 2、连接器的机械特性:连接器:由于 RS-232C 并未定义连接器的物理特性,因此,出现了 D
10、B-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 电流环信号仅 IBMPC 和 IBM PC/X
11、T 机提供,至 AT 机及以后,已不支持。图 3 (2)DB-9 连接器 在 AT 机及以后,不支持 20mA 电流环接口,使用 DB-9 连接器,作为提供多功能 I/O 卡 或主板上 COM1 和 COM2 两个串行接口的连接器。它只提供异步通信的 9 个信号。DB-25 型连 -4-Page 5-RS232 术文摘 枕善居收集整理 http:/ 接器的引脚分配与 DB-25 型引脚信号完全不同。因此,若与配接 DB-25 型连接器的 DCE 设备 连接,必须使用专门的电缆线。电缆长度:在通信速率 于 20kb/s 时,RS-232C 所直接连接的最大物理距离为 15m(50 英尺)。最大直
12、接传输距离说明: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 处
13、 于可以使用的状态。数据终端准备好(Data set ready-DTR)有效时(ON)状态,表明数据终端可 以使用。这两个信号有时连到电源上,一上电就立即有效。这两个设备状态信号有效,只表示 设备本身可用,并不说明通信链路可以开始进行通信了,能否开始进行通信要由下面的控制 信号决定。请求发送(Request tosend-RTS)用来表示 DTE 请求 DCE 发送数据,即当终端要发送数据时,使该信号有效(ON 状态),向 MODEM 请求发 送。它用来控制 MODEM 是否要进入发送状态。允许发送(Clear to send-CTS)用来表示 DCE 准备好接收 DTE 发来的数据,是对请
14、求发送信号 RTS 的响应信号。当 MODEM 已准备好 接收终端传来的数据,并向前发送时,使该信号有效,通知终端开始 沿发送数据线 TxD 发送数据。这对 RTS/CTS 请求应答联络信号是用于半双工 MODEM 系统中发送方式和接收方式之间 的切换。在全双工系统中作发送方式和接收方式之间的切换。在全双工系统中,配置双向 通道,故不需要 RTS/CTS 联络信号,使其变高。接收线信号检出(Received Line detection-RLSD)用来表示 DCE 已接通通信链路,告知 DTE 准备接收数据。当本地的 MODEM 收到由通 信链路另一端(远地)的 MODEM 送来的载波信号时,
15、使 RLSD 信号有效,通知终端准备接收,并且由 MODEM 将接收下来的载波信号解调成数字 两数据后,沿接收数据线 RxD 送到终端。此线也叫做数据载波检出 (Data Carrier dectection-DCD)线。振铃指示(Ringing-RI)当 MODEM 收到交换台送来的振铃呼叫信号 时,使该信号有效(ON 状态),通知终端,已被呼叫。(2)数据发送与接收线:-5-Page 6-RS232 术文摘 枕善居收集整理 http:/ 发送数据(Transmitted data-TxD)通过 TxD 终端将串行数据发送 到 MODEM,(DTEDCE)。接收数据(Receiveddata
16、-RxD)通过 RxD 线终端接收从 MODEM 发来 的串行数据,(DCEDTE)。(3)地线 有两根线 SG、PG信号地和保护地信号线,无方向。上述控制信号线何时有效,何时无效的顺序表示了接口信号的传送过程。例如,只有 当 DSR 和 DTR 都处于有效(ON)状态时,才能在 DTE 和 DCE 之间进行传送操作。若 DTE 要发 送数据,则预先将 DTR 线置成有效(ON)状态,等 CTS 线上收到有效(ON)状态的回答后,才能 在 TxD 线上发送串行数据。这种顺序的规定对半双工的通信线路特别有用,为半双工的通 信才能确定 DCE 已由接收方向改为发送方向,这时线路才能开始发送。2 个
17、数据信号:发送 TXD;接收 RXD。1 个信号地线:SG。6 个控制信号:DSR数传机(即 modem)准备好,Data Set Ready.DTR数据终端(DTE,即微机接口电路,如 Intel8250/8251,16550)准备好,Data Terminal Ready。RTSDTE 请求 DCE 发送(Request To Send)。CTSDCE 允许 DTE 发送(Clear To Send),该信号是对 RTS 信 号的回答。DCD数据载波检出,Data Carrier Detection 当本地 D
18、CE 设 备(Modem)收到对方的 DCE 设备送来的载波信号时,使 DCD 有效,通 知 DTE 准备接收,并且由 DCE 将接收到的载波信号解调为数字信号,经 RXD 线送给 DTE。RI振铃信号 Ringing 当 DCE 收到交换机送来的振铃呼叫信号 时,使该信号有效,通知 DTE 已被呼叫。用途 232 引脚 CCITTModem 名称 说明 异步同步 1 101 AA 保护地 设备外壳接地 PE PE 2 103 BA 发送数据 数据送 Modem TXD 3 104 BB 接收数据 从 Modem 接收数据 RXD 4 105 CA 请求发送 在半双工时控制发送
19、器的开和关 RTS 5 106 CB 允许发送 Modem 允许发送 CTS 6 107 CC 数据终端准备好 Modem 准备好 DSR 7 102 AB 信号地 信号公共地 SG SG -6-Page 7-RS232 术文摘 枕善居收集整理 http:/ 8 109 CF 载波信号检测 Modem 正在接收另一端送来的信号 DCD 9 空 10 空 11 空 12 接收信号检测(2)在第二通道检测到信号 13 允许发送(2)第二通道允许发送 14 118 发送数据(2)第二通道发送数据 15 113 DA 发送器定时 为 Modem 提供发送器定时信号 16 119 接收数据(2)第二通道
20、接收数据 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 与计算机间的电平转换电路未画
21、出。1、采用 Modem(DCE)和电话网通信时的信号连接:若在双方 MODEM 之间采用普通电话交换线进行通信,除了需要 28 号信号线外还要增 加 RI(22 号)和 DTR(20 号)两个信号线进行联络,如图 1 所示。-7-Page 8-RS232 术文摘 枕善居收集整理 http:/ 图 1 DSR、DTR:数传机(DCE)准备好、数据终端(DTE)准备好,只表示设备本身可用。首先,通过电话机拔号呼叫对方,电话交换台向对方发出拔号呼叫信号,当对方 DCE 收到该信号后,使 RI(振铃信号)有效,通知 DTE,已被呼叫。当对方“摘机”后,两方建 立了通信链路。若计算机要发送数据至对方,
22、首先通过接口电路(DTE)发出 RTS(请求发送)信号。此时,若 DCE(Modem)允许传送,则向 DTE 回答 CTS(允许发送)信号。般可直接将 RTS/CTS 接高电平,即只要通信链路已建立,就可传送信号。(RTS/CTS 可只用于半双工系统中作发 送方式和接收方式的切换。当 DTE 获得 CTS 信号后,通过 TXD 线向 DCE 发出串行信号,DCE(Modem)将这些数字 信号调制成模拟信号(又称载波信号),传向对方。计算机向 DTE“数据输出寄存器”传送新的数据前,应检查 Modem 状态和数据输出寄存 器为空。当对方的 DCE 收到载波信号后,向对方的 DTE 发出 DCD
23、信号(数据载波检出),通 知其 DTE 准备接收,同时,将载波信号解调为数据信号,从 RXD 线上送给 DTE,DTE 通过串 行接收移位寄存器对接收到的位流进行移位,当收到 1 个字符的全部位流后,把该字符的数 据位送到数据输入寄存器,CPU 可以从数据输入寄存器读取字符。2、采用专用电话线通信:在通信双方的 MODEM 之间采用电话线进行通信,则只要使用 28 号信号线进行联络与控制。不需要电话机、振铃信号 RI 和 DTR 信号,其信号线的连接 如图 2 那样。-8-Page 9-RS232 术文摘 枕善居收集整理 http:/ 图 2 二、近距离通信:当通信距离较近时,可不需要 Mod
24、em,通信双方可以直接连接,这种情况下,只需使用 少数几根信号线。最简单的情况,在通信中根本不需要 RS-232C 的控制联络信号,只需三根 线(发送线、接收线、信号地线)便可实现全双工异步串行通信,即是这里要讨论的第一种 情况。无 Modem 时,最大通信距离按如下方式计算:RS-232C 标准规定:当误码率小于 4%时,要求导线的电容值应小于 2500PF。对于普通 导线,其电容值约为 170PF/M。则允许距离 L=2500PF/(170PF/M)=15M 这 距离的计算,是偏于保守的,实际应用中,当使用 9600bps,普通双绞屏蔽线时,距离可达 3035 米。1、零 Modem 的最
25、简连线(3 线制)图 3 是零 MODEM 方式的最简单连接(即三线连接),图中的 2 号线与 3 号线交叉连接 是 为在直连方式时,把通信双方都当作数据终端设备看待,双方都可发也可收。在这种方 式下,通信双方的任何 方,只要请求发送 RTS 有效和数据终端准备好 DTR 有效就能开始发 送和接收。图 3 (1)RTS 与 CTS 互联:只要请求发送,立即得到允许 (2)DTR 与 DSR 互联:只要本端准备好,认为本端立即可以接收(DSR、数传机准备好)。2、零 Modem 标准连接:如果想在直接连接时,而又考虑到 RS-232C 的联络控制信号,则采用零 MODEM 方式的 标准连接方法,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 串口 通信 编程 大全
限制150内