用两片74hc00设计一个3.3v 到 5.0v的双向电平转换电路, 用于AVR32的PS/2键盘通讯
http://cache.amobbs.com/bbs_upload782111/files_22/ourdev_508165.GIF(原文件名:3.GIF)
大家帮我看看是否正确,
能否用在低速的串行通讯上 不如,直接串1K电阻吧 【1楼】 little Monkey :
不行!因为是双向串行通讯
单片机的3.3v高电平 怎么转换成 5.0v的高电平与键盘通讯? 3.3V对5V的单片机来说就是高电平 楼主这样接,同一端口又是输入又是输出的,谁说了算? 即使用也应该是用74HC125之类的带输出使能控制的片子,而且AVR32要负责控制数据方向。
最简单的方法就如little Monkey 所说,串个电阻防止电流太大烧AVR32的IO口
3.3V到键盘没问题,回来就不行了,5V对于AVR32太高了 不行,会锁死的,HC的输出能力是比较强的 【4楼】 bozai 章其波
积分:2897
派别:
等级:------
来自:江苏 无锡
楼主这样接,同一端口又是输入又是输出的,谁说了算? 即使用也应该是用74HC125之类的带输出使能控制的片子,而且AVR32要负责控制数据方向。
最简单的方法就如little Monkey 所说,串个电阻防止电流太大烧AVR32的IO口
3.3V到键盘没问题,回来就不行了,5V对于AVR32太高了
AVR32 UC3 的A和B系列能耐受5V的电压输入,但是在使用的时候要注意有几个管脚不能兼容5V请查下相关的数据手册 我试过加电阻方式,
linux驱动没有检测到ps/2键盘和鼠标,
所以我估计作为PS/2的时候电压可能比较低,
至于低到多少没测量,估计是键盘检测不到的电压.
所以双向电平转换芯片是肯定要的,
官方的应用文档也推荐I2C总线专用电平转换芯片NXP PCA9306,
但是这个芯片不好买.
所以想用逻辑门电路替代. 官方文档
http://www.atmel.com/dyn/resources/prod_documents/doc32088.pdf
http://cache.amobbs.com/bbs_upload782111/files_22/ourdev_508213.gif
(原文件名:Screenshot-AVR32415: AVR32 AP7 Linux PS-2 keyboard and mouse.gif) http://cache.amobbs.com/bbs_upload782111/files_22/ourdev_508243.JPG
(原文件名:3v-5v.JPG)
详细说明在
点击此处下载 ourdev_508244.pdf(文件大小:75K) (原文件名:an97055.pdf) 第10页。 楼上的方法很好
估计PCA9306的原理就是helloshi提供的图片 TI的TXB0102也很好,自动识别方向,不需要外围的,这里是手册下载http://focus.ti.com.cn/cn/docs/prod/folders/print/txb0102.html
也有TXB0104.TXB0106,TXB0108分别是4位,6位,8位的电平转换 mark to LZ:
楼主,解决了没
贴出来分享西西 去TI网站看看吧,那里有很多电平转换的芯片,还有很多文档,类似9楼的电路在TI网站都有说明 很好{:lol:} 留个脚印,备用! 不要在 VCC=3.3V 的 CMOS 芯片(74HC就是)接入 Ui=5V 的逻辑电压,除非这个芯片支持输入超压用,
否则输入端的 ESD 钳位二极管会把你整疯的。结果就是功能能用,但 3.3V 电源轨随高电平数目而上漂。
之前做过 3.3v 液晶转接板就这个 BUG, 传 0xff 数据时亮度猛增,3.3V 电源轨完全跑偏。
U8A/C 目测要有这个 BUG。
页:
[1]