位置:51电子网 » 技术资料 » 测试测量

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

发布时间:2008/6/3 0:00:00 访问次数:593

作者:山东大学 郑来波 来源:《国外电子元器件》

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

相关IC型号
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!