Chinaunix首页 | 论坛 | 博客
  • 博客访问: 156929
  • 博文数量: 20
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 120
  • 用 户 组: 普通用户
  • 注册时间: 2015-03-27 15:17
文章分类

全部博文(20)

文章存档

2016年(1)

2015年(19)

我的朋友

分类: 嵌入式

2015-04-29 16:52:16

文章地址: 



需要将RS232转为TTL时,身边没有max3232可以用一对NPN、PNP三极管代替(如图电路)


图中所用pnp为9015,npn为9014。

RS232的(-15)-(-3)V为逻辑1;3-15V为逻辑0;

发出的数据经过TXD从PCRXD发出,接收的数据从PCTXD进入通过RXD接收。

当PCTXD为逻辑1时,PCTXD为负电压,此时二极管D1导通,给电容C7充电,从而使电容顶端呈负电压;
当PCTXD为逻辑0时,PCTXD为正电压,图中9013射极为0V,所以基极与射极见有电压差,且大于0.7V,故使9013导通,RXD端由未导通时的5V被三极管拉低为0V,PCTXD至RXD完成接收动作。


当TXD为5V时(逻辑1),三极管9012的基极与射极间电压为0V,处于不导通状态。此时PCRXD处电压等于电容C7顶端电压,即负电压,此时PCRXD为逻辑1;
当TXD为0V时(逻辑0),三极管9012的基极与射极间电压为(-5)V,处于导通状态,此时PCRXD直接接入5V电源由于电阻R7的存在,PCRXD的电压等于电源电压即5V(逻辑0);
TXD至PCRXD完成发送动作。


个人在使用此电路时发现需要注意如下:
        TXD应与VCC尽量相同,相差大于0.7V时可能发送数据。当VCC为5V时,TXD采用3.3V为逻辑1电路,由于3.3V与5V相差1.7V大于了9012的导通电压,故使三极管9012一直处于导通状态,无法发送数据。3.3V为逻辑1的电路可以采用VCC=3.3V供电或在9012上加二极管降压到3.3V,也可以在TXD端加三极管将3.3V转为5V。
        供电电源VCC应大于3V,低于3V不满足RS232对电平要求。
        经本人测试使用9015与9014制作的电路,在波特率为115200下收发正常。








阅读(4361) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~