项目系统中有一个嵌入式主板与工控板的串行接口,之前没有怎么考虑电平的问题,因为现在很多器件都是5V、3V3兼容的,不过后来在使用中发现并不是那么回事,尤其是在高波特率下,容易出错,因此,需要有一个电平的转换。开始的时候倾向于选择一个芯片,因为我发现我的电子电路基础知识实在是忘的差不多了,后来发现成本过高,通不过预算。。。。没办法,把模拟、数字电路技术两本书翻出来,看了看,同时受到网上有网友用分离元件转换TTL电平的启发,设计下面这个电路。实际使用证明,其通信稳定性提高了很多。
电路完成后,我得出一个结论:我这方面的知识实在是忘掉太多,原因是什么?太不重视基础了!教训!!!!
下面来分析一下电路的设计思路:
首先声明一下:这个电路是从3V3的角度考虑的!
1、接收通道
我们首先来明确一下数据流向(其实就是电平驱动方向),接收通道是由5V方驱动的(Source),3V3方只是取电平(Sink),因此TXD5V作为此通道的输入方,RXD3V3作为通道的输出方。
我们知道,三极管(开关型)集电极输出驱动能力不错,我们就设计为集电极输出;但是,只有一个三极管是不行的,因为集电极输出的时候,基极电平和集电极逻辑是相反的;那么,加一个反相器?没必要,那是另外一种电平转换的方法了,我们只需要再使用一个三极管,基极接前级输出就可以了。这样,逻辑转换就完成了,当输入低电平时,Q1截止,集电极输出高电平,Q2导通,集电极输出低电平。同理,高电平分析是一样的。
逻辑转换完成了,那么就是电平的问题了。这很好解决,输入方为5V逻辑,那么就给它一个VCC5,3V3逻辑高电平需要一个3V3,那么就给一个VCC3V3;OK!
2、发送通道
分析完接收通道,发送通道的原理其实也是一样的,就不详细介绍了。
3、结论
其实如果稍微熟悉电子电路知识的人看来,这个电路实在太简单,正因为如此,我才要强调,基础很重要!否则,一个系统的设计会在这些小地方卡住。
用户377235 2013-5-18 15:56
用户188034 2009-9-14 19:47
用户1573624 2009-7-19 15:34
yannzi 2009-7-17 21:47
用户142112 2009-7-17 18:50