单片机与PC通信的简化接口

出处:http://www.ic37.com 发布于:2007-09-25 10:31:07

  摘要:给出了一种单片同与PC进行通信的低成本接口的设计方法,并给出了其中的关键参数,通过在实践中检验证明:该接口在对成本和体积有严格要求的系统中有着广泛的应用。

  关键词:单片机 PC 接口 通信

  在单片机系统的设计中,经常遇到需要与PC进行通信的问题。一般单片机都提供有UART接口,而普通PC机也都有1~2个RS-232口,所以,实际使用时经常用RS-232进行单片机与计算机间的通信。在近距离通信中,以零调制三线经济型使用为广泛。
RS-232标准是广泛使用的串行通信标准,但使用的电平与TTL和MOS电平完全不同,逻辑“0”至少为+3V,逻辑“1”至少为-3V,而单片机系统则使用TTL电平或MOS电平。因此,需要使用接口电路来实现TTL电平或MOS电平与RS-232电平之间的转换。目前已有现成的接口芯片可供选用,价格低一些的如MC地488(将TTL电平转换为RS-232C标准电平)和MC1489(将RS-232标准电平转换为TTL电平),但MC1488需要±12V的供电电压。另外,也有许多使用单一的+5V供电芯片可供选择,如MAX2003,但此类芯睡价格不菲,且需要若干外围元件。在对体积和成本有较严格的要求时,进一步简化接口电路很有必要。

1 一种简单的接口电路

  实用中,单片机与PC的通信通常采用半双工通信,这时,可以采用一种较简单的接口电路(如图1所示)。在这种电路中,PC机的RXD上的逻辑高电平(小于-3V)是以“偷电”的方式从本身的TXD端获得。这种电路的工作原理如下:
PC机TXD端的逻辑电平经T1后变为TTL电平或MOS电平。在单片机TXD端为逻辑低电平时,光耦的发光二极管发光,使得晶体管导通。其集电极的VCC(一般为+5V)加在PC机的RXD端;而在单片机TXD端为逻辑高电平时,光耦的发光二极管不发光,晶体管截止。由于PC机的TXD端在空闲时处于逻辑高电平(小于-3V),因此,这个电平便通过电阻R4加到其RXD端。这样,便实现了TTL电平或MOS电平到RS-232电平的转换。但需要注意的是,由于PC机的RXD和RXD端通过电阻接到了一起,因此有时会出现PC机自发自收的情况,这一点需要在编程时加以处理。

2 电阻值的确定

  图1电路中,R1、R2的取值范围较大,一般只要使得T1正常工作在开关状态下即可。R3的取值可按下式进行计算:
R3=(Vcc-VF-Vcs)/IF

  其中Vcc是工作电源电压,Vcs是单片机TXD端的低电平电压(一般取0.2V),VF是光耦中的发光二极管导通时的正向压降(一般为1.1V左右),IF是其正常工作电流(一般为10mA)。

  R4取值的合适与否是本电路的关键。取值过小,可能会在单片机发送逻辑低电平时,使PC机的RXD端电平受自身TXD端的影响太大而导致电压过低,从而达不到逻辑低电平的要求而不能正确接收;取值过大,则会在单片机发送逻辑高电平时,PC机RXD端受其输入电阻的影响而不能将自身TXD端的逻辑电平正确传送过来,这样也不能正确接收。实际上,R4的取值受多种因素的影响,其中包括:光耦中晶体管的特性、R2的值、二极管D的特性、PC机RXD端的输入电阻和输入电平、TXD端的输出电阻和输出电平等。而这些因素中,尤以后两乾的影响为甚。
在PC机系统中,异步通信适配器以INS8250通讯芯片为,再配以可进行电平转换的发送器和接收器电路而组成的。不同种类的PC机由于主板设计的不同,其RS-232的特性也有差异,特别是RXD端的输入电阻和TXD端的输出电阻相去甚远。因此,若要用计算的方法得到R4的取值,需要了解各种主板的电路设计,这样非常麻烦。但是对各种常见品牌计算机的RS-232口的特性进行测试却是相对简便的。笔者在各种常见品牌的近百台计算机上进行了测试,得到了可以在各种计算机上可正常使用的R4值,具体取值如表1所列。
表1 PC与单片机通信情况和R4值的关系

机   型 联想500 同创100 东海550 兼容机300 PHILIPS350
R4值  X1   X2  X3  X1   X2  X3  X1   X2  X3  X1   X2  X3  X1   X2  X3
5.6kΩ  1    1    0  1    1    0  1    1    0  1    1    0  1    1    0
10kΩ  1    1    0  1    1    0  1    1    0  1    1    0  1    1    0
11kΩ  1    1    0  1    1    0  1    1    0  1    1    0  1    1    0
12.2kΩ  1    1    1  1    1    1  1    1    1  1    1    1  1    1    1
15.6kΩ  1    1    1  1    1    1  1    1    1  1    1    1  1    1    1
20kΩ  1    1    1  1    1    1  1    1    1  1    1    1  1    1    1
21kΩ  0    1    1  0    1    1  0    1    1  0    1    1  0    1    1
22kΩ  0    1    1  0    1    1  0    1    1  0    1    1  0    1    1
30kΩ  0    1    1  0    1    1  0    1    1  0    1    1  0    1    1
56kΩ  0    1    1  0    1    1  0    1    1  0    1    1  0    1    1
77kΩ  0    1    1  0    1    1  0    1    1  0    1    1  0    1    1
100kΩ  0    1    1  0    1    1  0    1    1  0    1    1  0    1    1
131kΩ  0    1    1  0    1    1  0    1    1  0    1    1  0    1    1
150kΩ  0    1    1  0    1    1  0    1    1  0    1    1  0    1    1
200kΩ  0    1    1  0    1    1  0    1    1  0    1    1  0    1    1
240kΩ  0    1    1  0    1    1  0    1    1  0    1    1  0    1    1
280kΩ  0    1    1  0    1    1  0    1    0  1    1    1   1    1    1
300kΩ  0    1    1  0    1    1  0    1    0  1    1    0  1    1    1
开路  0    1    1  0    1    0  0    1    0  0    1    0  0    1    0

测试中,R2取10kΩ,D采用IN4148,光耦采用TIL117,其发光二极管的工作电流为10mA(推荐值)。改变R4的取值,检查PC能否和单片机系统进行通信,以及PC机在发送数据时是否被自己接到。实验发现,常用PC机的RS-232口根据外部特性可以分为几大类,现将每一类取一例示于表1中。表中的X1X2X3含义如下:
X1=0表示PC机发送数据时不能通过R4自收。
=1表示PC机发送数据进可以通过R4自收。
X2=0表示PC机发送的数据不能被单片机接收。
=1表示PC机发送的数据可以被单片机接收。
X3=0表示单片机发送的数据不能被PC机接收。
=1表示单片机发送的数据可以被PC机接收。
从表1中可以看出,尽管各种主板特性不同,但都有一段性相同的范围,即R4取12.2kΩ~20kΩ时,PC可以和单片机正常通信,且PC发送的数据也可以被它自己接收。这样,在设计电路时可以把R4取成15kΩ,从而使得该以与各种PC进行通信。但需要注意是,当PC由发送转变为接收时,需要清除自发自收的数据。如果PC的通信程序是用汇编或C语言编写的,只需假读以清空接收缓冲器,或者复位线路状态寄存器的D0位即可。如果PC的通信程序是用WB或VF编写,且使用了通信控件,那么刚才发送的全部内容都会进入接收缓冲区,这样就需要根据发送的字节数将接收缓冲区中前面相应的内容清除。

3 电路的进一步简化

  如果想进一步简化电路,则可用三极管替代光电耦合器,该简化接口电路见图2所示。实验证明,在R4取10kΩ,T2采9015,R3取15kΩ时,该电路仍可正常工作。

4 结论
  
  本文给出的简单接口电路具有成本低和占用印制版面积小的优点。通过实验测定的元件取值具有广泛的适用性。上述电路在笔者开发的手持式通用秒表器中得到应用。实际应用中与各种品牌近千台PC的通信皆正确,从而证明了本设计的可靠性。

  
关键词:单片机接口通信

版权与免责声明

凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

广告
上传BOM文件: BOM文件
*公司名:
*联系人:
*手机号码:
QQ:
应用领域:

有效期:
OEM清单文件: OEM清单文件
*公司名:
*联系人:
*手机号码:
QQ:
有效期:

扫码下载APP,
一键连接广大的电子世界。

在线人工客服

买家服务:
卖家服务:

0571-85317607

客服在线时间周一至周五
9:00-17:30

关注官方微信号,
第一时间获取资讯。

建议反馈

联系人:

联系方式:

按住滑块,拖拽到最右边
>>
感谢您向阿库提出的宝贵意见,您的参与是维库提升服务的动力!意见一经采纳,将有感恩红包奉上哦!