RS232串口通信的应用
0 引言
随着信息技术的飞速发展和科技进步,在许多现代化集中管理的控制系统中,需要对现场数据进行统计、分析、打印、报警等,同时又要对现场设备进行实时控制,完成各种操作。单片机作为控制系统中必不可少的部分,在各个领域得到了广泛的应用。由于单片机具有体积小、价格低廉、适应性强的特点,一般在工业控制系统中,各种数据的采集和执行机构的控制都是由单片机来完成。而单片机的计算能力有限,难以进行复杂的数据处理。在功能比较复杂的自动控制系统中,通常以工控机为上位机,单片机为下位机,由单片机完成数据的采集及对设备的控制,而由上位机完成各种复杂的数据处理及对单片机的控制。在分布式控制系统中大多采用单片机作为下位机来进行数据采集和现场控制,在这些应用中,单片机只是直接面对被控对象底层,而对采集到的数据进行进一步的分析和处理工作,则是由功能强大的PC机来完成的。因此,PC机和单片机之间就有着大量的数据交换。在绝大多数PC机的标准配置中,都有一个到多个RS 232串口,因为RS 232串口担
负着PC机和单片机之间大量的数据交换的重任。单片机89C52用于自动控制及数据传输,并通过RS 232接口向上位机进行数据通信。
1 RS 232串口通信
1.1 RS 232C标准
RS 232C标准(协议)的全称是EIA-RS-232C标准,其中EIA(Electronic Industry Association)代表美国电子工业协会,RS(ecommeded standard)代表推荐标准,232是标识号,C代表RS 232的最新一次修改。在这之前,有RS 232B,RS 232A,它规定连接电缆和机械、电气特性、信号功能及传送过程。
1.2 RS 232的接口引脚定义
由于RS 232C并未定义连接器的物理特性,因此,出现了DB-25,DB-15和DB-9各种类型的连接器,其引脚定义也各不相同。常用的连接器接口图如图1所示,DB9的引脚功能见表1。
RS232C标准接口有25条线,分别为4条数据线、11条控制线、3条定时线、7条备用和未定义线,常用的只有9根,它们是:
(1)状态线
数据准备就绪(Data Set Ready,DSR):有效时(ON)状态,表明数据通信设备可以使用。
数据终端就绪(Data Terminal Ready,DTR):有效时(ON)状态,表明数据终端设备可以使用。
这两个信号有时连到电源上,上电就立即有效。
这两个设备状态信号有效,只表示设备本身可用,并不说明通信链路可以开始进行通信了,能否开始进行通信由下面的控制信号决定。
(2)联络线
请求发送(Request to Send,RTS):DTE准备向DCE发送数据,DTE使该信号有效(ON状态),通知DCE要发送数据给DCE了。
允许发送(Clear to Send,CTS):对RTS的响应信号。当DCE已准备好接收DTE传来的数据时,使该信号有效,通知DTE开始发送数据。
RTS/CTS请求应答联络信号是用于半双工MODEM系统中发送方式和接收方式之间的切换。在全双工系统中,因配置双向通道,故不需要RTS/CTS联络信号,使其变高。
(3)数据线
发送数据(Transmitted Data,TXD):DTE发送数据到DCE。
接收数据(Received Data,RXD):DCE发送数据到DTE。
(4)地线
有两根线SG,PG:信号地和保护地信号线。
(5)其余
载波检测(Carrier Detection,CD):用来表示DCE已接通通信链路,告知DTE准备接收数据。
振铃指示(Ringlng,RI):当DCE收到交换台送来的振铃呼叫信号时,使该信号有效(ON状态),通知DTE,已被呼叫。
通常的应用系统中,往往是在CPU和I/O设备之间传送信息,两者都是DTE,上位机和单片机89C52之间的通信,双方都能发送和接收,他们的连接只需要使用三根线即可,即RXD,TXD和GND,这种连接方式,即两个串口连接时,接收数据针脚与发送数据针脚相连,彼此交叉,信号地对应接地即可。连接方式如图2所示。
1.3 波特率的概念
串行通信中,每秒传送的数据位称为波特率。如数据传送的波持率为1200波特,采用N.8.1帧格式(10位),则每秒传送字节为120个,而字节中每一位传送时间即为波特率的倒数:T=1/1 200=0.833 ms。同样,如数据传送的波特率为1 9 200波特,则字节中每一位传送时间T=1/19 200=0.052 ms。根据数据传送的波特率即字节中每一位的传送时间,便可用普通I/O口来模拟实现串行通信的时序。
1.4RS232C的电气特性
(1)逻辑电平
在TXD和RXD上:
逻辑1(MARK):-3~-15 V;
逻辑0(SPACE):+3~+15 V。
在RTS,CTS,DSR,DTR和DCD等控制线上:
信号有效(接通,ON状态,正电压):+3~+15 V;
信号无效(断开,OFF状态,负电压):-3~-15 V。
由以上定义可以看出,信号无效的电平低于-3 V,也就是当传输电平的绝对值大于3 V时,电路可以有效地检查出来,介于-3~+3 V之间的电压无意义,低于-1 5 V或高于+15 V的电压也认为无意义,因此,实际工作时,应保证电平的绝对值在3~15 V之间。当计算机和TTL电平的设备通信时,如上位机和单片机通信时,需要使用RS232/TTL电平转换器件,常用的有MAX232。
1.5RS232与单片机之间的接口电路MAX232
由于RS232信号的电平和单片机串口信号的电平不一致,必须进行二者之间的电平转换。MAX232由单一的+5 V电源供电,只需配5个高精度10μF/50 V的钽电容即可完成电平转换,转换后的串行信号TXD,RXD直接与上位机的串口连接。MAX232芯片的内部结构基本可分三个部分:
第一部分是电荷泵电路。由1,2,3,4,5,6脚和4只电容构成。功能是产生+12 V和-1 2 V两个电源,提供给RS232串口电平的需要。
第二部分是数据转换通道。由7,8,9,10,11,12,13,14脚构成两个数据通道。其中13脚(R1in)、12脚(R1out)、11脚(T1in)、14脚(T1out)为第一数据通道。8脚(R2in)、9脚(R2out)、10脚(T2in)、7脚(T2out)为第二数据通道。TTL/COMS数据从T1in,T2in输入转换成RS 232数据从T1out,T2out送到电脑DB9插头;DB9插头的RS 232数据从R1in,R2in输入转换成TTL/COMS数据后从R1out,R2out输出。
第三部分是供电。1 5脚GND、16脚VCC(+5 V)。
PC机MAX232RS232串口通 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)