大家好,又见面了,我是你们的朋友全栈君。
现在很多SOC器件为了降低功耗,都把IO口的电平设计成了1.8V,核电压0.85V,当这种SOC做主平台时,在做接口设计需要格外关注电平的匹配。单板中经常需要将1.8V的电平转换成3.3V或者转成5V。如果没有注意到输入和输出信号之间的电平匹配,系统就无法正常工作。
这篇文章主要从两个简单的案例入手,分析电平转换电路需要注意的一些问题,以及在此类芯片数据手册中几个重要参数的解读,对开发人员来说,掌握这些器件的参数是器件选型必须关注的点。
- 三极管做电平转换
以常见的三极管做1.8V转3.3V为案例。电路图如下所示:
OC门输出的电路,在单板中做电平转换是较为常见的方法之一。当INPUT信号为1kHz频率时,2N3904处理起来不会有问题。下面进行仿真。
如果将输入信号的频率提高到1MHz,仔细观察输入和输出信号的电平,可见此时输出信号的上升沿已经有些变缓。
现在将频率提高到10MHz,输出波形已经变成了三角波,输出信号已经产生了失真。
设想一下,如果这个电路用在一个视频传输信号上,数据传输的速率是27M,主平台输出的数据信号电平1.8V,用这个电路将1.8V转换到3.3V,接收端就会因为失真导致接收的数据出现错误。
- MOS管做电平转换
下面这个电路一般用在单板的串口电平转换电路中。R3可NC掉。
用这个电路进行UART信号电平的转换,只要MOS管的选型没问题,基本可以正常的在电路中使用,分析如下:
串口常用波特率为115200,按照起始位,数据位,校验位,传输一个bit所需的时间为8.6us。假设传输数据的序列为1010101010……,则一个周期是8.6us,最大所需的开关频率为116K左右。这样的频率,常见的MOS管开关频率可以做到。 仿真的波形如下:
证明了我们的理论分析,实际上由于串口发送的数据不可能是10101010…这样规则的序列,对MOS管开通和关断的速率要求可能更低。
根据以上基于分离器件做的电平转换,可以得出的结论是:
- MOS管或者三级管作电平转换电路,需要看MOS管和三极管作为开关时,能否有足够的能力(带宽)处理高速的变化的电平信号。
- 用OC/OD门的器件做电平转换,两边的电平自由度比较大。
- 集成式电平转换
集成式的电平转换在单板中通常使用TI的74系列和ADI的ADG系列。下面是ADI的电平转换芯片ADG3301。从手册里面可以很清楚的判断出该芯片最高支持数据电平转换的速率为50Mbps。
TI的一些芯片在数据手册中也会明确的标识出器件支持电平转换的数据速率。 需要注意的是,两端是不同的电平转换,器件所能支持的最大的速率不一样。
这种集成芯片在使用的时,直接根据器件的带宽进行选型,可以不用考虑像三极管和MOS管这类分离器件的带宽是否足够,在设计上能节省不少的时间。
- 重要参数解读
仔细阅读电平转换芯片的数据手册,可以看到几个和时间有关系的参数。这里做一个总结。
(1)transition time
transition time是指信号转换时间,表征的是信号在两个电平之间变化所经历的时间,它是压摆率的倒数。
下面是NXP的74AHC1G07的数据手册,transition time描述的是∆t/∆V,这参数是该芯片对前级输出信号的要求,即要求输入到它的信号满足此参数的要求,它才能准确的识别出信号电平的变化,并做出正确的电平转换。
如果这个参数不满足,主要会存在两个方面的风险:前级信号的驱动能力不足,该信号会容易受到外界干扰。另外一个就是74AHC1G07的功耗会增加
(2)Slew Rate
Slew Rate是运放比较常见的一个参数压摆率,单位是V/s,V/ms,V/us。这个参数表征的信号在单位时间内改变的电压。 如果压摆率比较低,输出就无法准确的跟上输入信号的变化,产生失真。压摆率(slew rate)强调的电压变化速率,信号转换(transition time)强调的是信号变化时间。
(3) Propagation Delay
Propagation Delay是指信号的传播延时,简单的理解就是输入信号和输出信号之间的相位差。
(4)Skew
Skew是指两个或者多个时间信号之间的时间差。一般用在时钟树的场合。 比如由晶振产生的时钟树,后端有10个端点,并且Skew是100ps,则意味着在10个信号中,最长时钟路径和最短时钟路径之间的时差为100ps。
转自———大话硬件
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/169415.html原文链接:https://javaforall.cn