加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入
  • 正文
    •   TTL和CMOS电平参数定义
    •   如果I2C电平不匹配该怎么处理?
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

ZLG嵌入式笔记(连载09) | 电平匹配问题,简单却容易被忽视

2小时前
85
阅读需 8 分钟
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

导读

电路设计中,电平匹配是一个基本要求,但常常被忽视,可能导致设备故障和通信异常。本文我们将揭示如何避免因电平不匹配导致的设备故障,并提供实用的设计建议,确保您的电路设计既高效又稳定。

电平匹配是进行电路设计时的一个基本要求,但有时候却很容易被忽略,特别是没有仔细查看外设或者芯片规格书的时候,根据以往经验来设计,带来了一些问题。这类问题只要在设计的时候稍加检查就能被发现,下面的案例1和案例2都是因为没有仔细看CAN隔离模块的电气特性引起的设计错误,其中案例2问题比较隐蔽,还涉及到不同温度下电气特性的变化:

MR6450外接5V CAN收发器,工作异常;

使用CAN收发器出现偶发性工作异常。

电平匹配在新处理器系统设计时越来越值得注意,现在很多处理器都分多个电平域,有的IO是3.3V,有的是1.8V。电平不匹配会工作不正常,还会带来损坏IO的危险,例如产生电流倒灌而损伤IO口。

I2C电平匹配也是一个经常遇到的问题,下面我们将给出两种不同方案供参考。

  TTL和CMOS电平参数定义

我们先看下TTL、CMOS逻辑电平参数定义,参考图1。

图1 TTL和CMOS逻辑电平定义

不同逻辑电平的两个器件要想实现信号可靠传输的前提条件:

驱动器输出的VOH(MIN)必须大于或等于接收器输入的VIH(MIN)。

驱动器输出的VOL(MAX)必须小于或等于接收器输入的VIL(MAX)。

驱动器输出的电压不得超过接收器输入的I/O电压容差。

案例1:MR6450 的UART脚接到了5V的收发器

某客户使用我司MR6450-L核心板通过UART通讯方式外接RS485模块,无法正常工作,与客户沟通后了解到客户使用的RS485模块逻辑电平为5V。

MR6450核心板处理器为先楫HPM6450,其IO 3.3V逻辑电平定义如图2所示。

图2 MR6450 IO 3.3V逻辑电平定义

RS485模块5V逻辑电平定义如图3所示。

图3 RS485模块5V逻辑电平定义由此可知HPM6450 TX信号输出的高电平最大值为VCC-0.1V=3.2V ,  而5V RS485模块TXD输入高电平的最小值为5*0.7=3.5V,很明显不满足驱动器输出的VOH必须大于或等于接收器输入的VIH(MIN)这一必要条件,IO口逻辑电平不匹配,从而导致两个模块间无法通讯。

解决方案:选型3.3V 逻辑电平的RS485模块,或MCU和模块间增加电平转换电路。

案例2:CAN隔离模块电平与处理器不匹配,工作时偶尔出现间歇性通讯故障

具体表现为客户使用我司一款隔离CAN收发器模块,常温下偶尔出现个别产品间歇性通讯故障,将异常产品置于高温环境下(65℃)进行重复上电测试,可复现异常现象。

常温下,测试异常产品的以下信号:MCU供电、TXD、CAN差分、CAN模块供电,正常时各点波形如图4所示。

图4 正常时MCU、CAN差分信号、CAN模块供电电平波形

进一步进行高温实验。将异常产品置于65℃的烤箱中,并进行重复上电,测试以下信号:MCU供电、TXD、CAN差分、CAN模块供电,异常时各点波形如图5、图6所示。

图5 异常时MCU、CAN差分信号、CAN模块供电电平波形

图6 异常时CAN差分信号、CAN模块供电电平波形

分析CAN总线出现异常位宽时的波形。当TXD信号由低变高时CAN总线电平仍然维持显性电平,在偶然间叠加线路板上noise后引起TXD电平略微变大。此时CAN总线电平概率性变为隐性电平。

高温环境下,因半导体材料的特性有可能会导致整个系统的功耗有所增加。此案例呈现的现象为MCU供电电压下降,CAN模块供电电压上升,进一步影响到两模块的逻辑电平,从而使异常现象变得更为明显。实测CAN模块不同电压和温度环境下,TXD高电平阈值的变化如图7所示。

图7 CAN模块不同电压和温度环境下,TXD高电平阈值的变化

问题根因:高温65°C环境下,CAN模块供电5.19V,对应的TXD高电平阈值约为3.17V,MCU供电3.08V,对应的IO输出电压最高约为3V,MCU输出的VOH低于CAN模块的输入VIH,两模块间逻辑电平不匹配,导致通讯异常,因IO口电平逻辑的容错余量比较小,常温下也许能工作,但在高温环境等比较严格的环境下,两模块间的逻辑电平很容易出现不匹配问题。

解决方案:将5V隔离模块更换成3.3V隔离模块。

  如果I2C电平不匹配该怎么处理?

1. 使用专用的I2C总线电平转换芯片PCA9306

PCA9306是一款支持I2C总线和SMBus的双向电平转换器,支持从1.0V~3.6V(Vref(1))到1.8V~5.5V(Vbias(ref)(2))的电平转换,PCA9306可工作在两种工作频率下:400KHz和100KHz。最大频率取决于RC时间常数,一般支持>2MHz。

PCA9306标准使用电路如图8所示。

图8 PCA9306参考电路

设计时注意以下几点:

两边的电压VREF1和VREF2并不是取任意值且VREF1为低压位端VREF2为高压位端;

可以使用EN键来控制内部开关的导通和关断;

EN和VREF2管脚连接在一起;

上拉电阻的取值,取决于SW在导通时产生的压降,详见手册推荐值。

2. 使用MOS管搭建电平转换电路

图9所示电路是一个使用MOS管进行电平转换的示例。

图9 MOS实现电平转换

设计时注意以下几点:

低压位VDD_3V3连接MOS管源极,高压位VDD_5V连接MOS管漏极;

如果换用其它电压阈之间的转换,如3.3V、2.5V、1.8V等,需要注意MOS管Vgs开启导通电压;

仅适用于低速率场合(100/400Khz)。

• 15路串口

• 2路千兆

• 4路CANFD

参考价格:49元起

致远电子

致远电子

广州致远电子股份有限公司成立于2001年,注册资金5000万元,国家级高新技术认证企业,广州市高端工控测量仪器工程技术研究开发中心,Intel ECA全球合作伙伴和微软嵌入式系统金牌合作伙伴。

广州致远电子股份有限公司成立于2001年,注册资金5000万元,国家级高新技术认证企业,广州市高端工控测量仪器工程技术研究开发中心,Intel ECA全球合作伙伴和微软嵌入式系统金牌合作伙伴。收起

查看更多

相关推荐

电子产业图谱