高速电路逻辑电平转换设计

本文探讨了在SOC器件中1.8V电平转换为3.3V或5V的需求,通过三极管和MOS管转换案例,阐述了电平转换的问题及参数解读。强调了信号转换时间、压摆率、传播延迟和Skew等关键参数对高速电路设计的影响,并提到了集成电平转换芯片如ADG3301的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

现在很多SOC器件为了降低功耗,都把IO口的电平设计成了1.8V,核电压0.85V,当这种SOC做主平台时,在做接口设计需要格外关注电平的匹配。单板中经常需要将1.8V的电平转换成3.3V或者转成5V。如果没有注意到输入和输出信号之间的电平匹配,系统就无法正常工作。

这篇文章主要从两个简单的案例入手,分析电平转换电路需要注意的一些问题,以及在此类芯片数据手册中几个重要参数的解读,对开发人员来说,掌握这些器件的参数是器件选型必须关注的点。

  1. 三极管做电平转换

以常见的三极管做1.8V转3.3V为案例。电路图如下所示:
在这里插入图片描述
OC门输出的电路,在单板中做电平转换是较为常见的方法之一。当INPUT信号为1kHz频率时,2N3904处理起来不会有问题。下面进行仿真。
在这里插入图片描述
在这里插入图片描述
如果将输入信号的频率提高到1MHz,仔细观察输入和输出信号的电平,可见此时输出信号的上升沿已经有些变缓。
在这里插入图片描述
现在将频率提高到10MHz,输出波形已经变成了三角波,输出信号已经产生了失真。
在这里插入图片描述
设想一下,如果这个电路用在一个视频传输信号上,数据传输的速率是27M,主平台输出的数据信号电平1.8V,用这个电路将1.8V转换到3.3V,接收端就会因为失真导致接收的数据出现错误。

  1. MOS管做电平转换

下面这个电路一般用在单板的串口电平转换电路中。R3可NC掉。
在这里插入图片描述
用这个电路进行UART信号电平的转换,只要MOS管的选型没问题,基本可以正常的在电路中使用,分析如下:

串口常用波特率为115200,按照起始位,数据位,校验位,传输一个bit所需的时间为8.6us。假设传输数据的序列为1010101010……,则一个周期是8.6us,最大所需的开关频率为116K左右。这样的频率,常见的MOS管开关频率可以做到。
仿真的波形如下:
在这里插入图片描述
证明了我们的理论分析,实际上由于串口发送的数据不可能是10101010…这样规则的序列,对MOS管开通和关断的速率要求可能更低。

根据以上基于分离器件做的电平转换,可以得出的结论是:

  • MOS管或者三级管作电平转换电路,需要看MOS管和三极管作为开关时,能否有足够的能力(带宽)处理高速的变化的电平信号。
  • 用OC/OD门的器件做电平转换,两边的电平自由度比较大。
  1. 集成式电平转换

集成式的电平转换在单板中通常使用TI的74系列和ADI的ADG系列。下面是ADI的电平转换芯片ADG3301。从手册里面可以很清楚的判断出该芯片最高支持数据电平转换的速率为50Mbps。
在这里插入图片描述
TI的一些芯片在数据手册中也会明确的标识出器件支持电平转换的数据速率。
需要注意的是,两端是不同的电平转换,器件所能支持的最大的速率不一样
在这里插入图片描述
这种集成芯片在使用的时,直接根据器件的带宽进行选型,可以不用考虑像三极管和MOS管这类分离器件的带宽是否足够,在设计上能节省不少的时间。

  1. 重要参数解读

仔细阅读电平转换芯片的数据手册,可以看到几个和时间有关系的参数。这里做一个总结。

(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。
在这里插入图片描述


转自---------大话硬件

<think>嗯,用户问的是如果没有电平转换电路会怎么样。我需要先理解电平转换电路的作用,然后再分析没有它可能带来的问题。 首先,电平转换电路是用来确保不同电压级别的设备之间能够正确通信的。比如,一个3.3V的微控制器和5V的外设连接时,直接连接可能无法正确识别高低电平,导致信号错误。这时候电平转换器就起到转换电压的作用,让双方都能正确读取信号。 那如果不用的话,可能的问题有几个。首先是信号电平不匹配。比如,3.3V的输出在5V设备看来可能达不到高电平的最低要求,导致误判为低电平。同样,5V的输出直接接到3.3V设备可能会超过其承受范围,损坏IO口。其次是电流倒灌的问题,如果高电压的设备通过GPIO向低电压设备供电,可能会有电流倒流,影响电源稳定性,甚至损坏器件。还有通信错误,比如I2C总线需要上拉电阻,不同电压设备的上拉可能导致电平不稳定,数据传输出错。最后是长期可靠性问题,过压或欠压运行会缩短元件寿命。 解决办法的话,可能需要使用电平转换芯片,或者分压电阻,或者二极管来限制电压,或者选择兼容电压的器件。比如,用分压电阻将5V降到3.3V,但要注意电阻值的选择。或者使用MOSFET构建双向电平转换电路,这种方法成本低,适用于I2C等双向总线。 然后用户可能想知道具体的实现方法,比如分压电阻的计算,或者转换电路的例子。所以给出一个分压电阻的代码示例,虽然C语言代码可能不太相关,但可以说明如何通过配置GPIO来适应不同的电平,或者展示如何计算电阻值。 最后,相关问题需要围绕电平转换、电压兼容、接口保护等方面提问,比如电平转换电路的作用,不同电压设备连接的问题,分压电阻设计,或者I2C的电平转换方法。</think><< 如果没有电平转换电路,不同电压等级的器件直接连接可能导致以下问题: 1. 信号电平不匹配: - 低电压器件输出高电平可能达不到高电压器件的最低输入高电平要求 - 高电压器件输出可能超出低电压器件的最大承受电压 例如:3.3V MCU直接连接5V传感器时,3.3V的高电平可能无法被5V系统识别为有效高电平 2. 电流倒灌风险: - 当高压器件和低压器件IO直接相连时 - 可能通过保护二极管形成电流通路导致 a) 器件功耗异常增大 b) 可能损坏GPIO端口 c) 影响电源稳定性 3. 通信错误: - I2C/UART等数字接口的电压不匹配会导致 a) 逻辑电平识别错误(0/1误判) b) 时序参数改变(上升/下降时间) c) 总线竞争异常 d) 数据校验失败 4. 可靠性下降: - 长期工作在临界电压下会导致 a) 栅氧层击穿风险增加 b) 热载流子效应加速老化 c) 逻辑门延迟特性改变 解决方案: 1. 使用专用电平转换芯片(如TXB0108) 2. 采用电阻分压降压(仅单向信号) 3. 使用MOSFET构建双向转换电路 4. 选择支持多电压等级的器件 5. 使用光耦隔离(需要隔离时) 示例电阻分压电路代码: ```c // 5V转3.3V的电阻分压配置 #define R1 2200 // 2.2kΩ #define R2 4700 // 4.7kΩ void adc_init() { // 配置ADC输入通道 ADMUX |= (1 << REFS0); // 使用AVCC参考电压 ADCSRA |= (1 << ADEN); // 使能ADC } uint16_t read_5v_sensor() { ADCSRA |= (1 << ADSC); // 启动转换 while (ADCSRA & (1 << ADSC)); // 等待转换完成 return ADC; // 返回转换结果 } ``` 需要根据实际分压比调整ADC参考电压和计算逻辑 >>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值