电平匹配是进行电路设计时的一个基本要求,但有时候却很容易被忽略,特别是没有仔细查看外设或者芯片规格书的时候,根据以往经验来设计,带来了一些问题。这类问题只要在设计的时候稍加检查就能被发现,下面的案例1和案例2都是因为没有仔细看CAN隔离模块的电气特性引起的设计错误,其中案例2问题比较隐蔽,还涉及到不同温度下电气特性的变化:
MR6450外接5V CAN收发器,工作异常;
使用CAN收发器出现偶发性工作异常。
电平匹配在新处理器系统设计时越来越值得注意,现在很多处理器都分多个电平域,有的IO是3.3V,有的是1.8V。电平不匹配会工作不正常,还会带来损坏IO的危险,例如产生电流倒灌而损伤IO口。
不同逻辑电平的两个器件要想实现信号可靠传输的前提条件:
驱动器输出的VOH(MIN)必须大于或等于接收器输入的VIH(MIN)。
驱动器输出的VOL(MAX)必须小于或等于接收器输入的VIL(MAX)。
MR6450核心板处理器为先楫HPM6450,其IO 3.3V逻辑电平定义如图2所示。
RS485模块5V逻辑电平定义如图3所示。
解决方案:选型3.3V 逻辑电平的RS485模块,或MCU和模块间增加电平转换电路。
常温下,测试异常产品的以下信号:MCU供电、TXD、CAN差分、CAN模块供电,正常时各点波形如图4所示。
进一步进行高温实验。将异常产品置于65℃的烤箱中,并进行重复上电,测试以下信号:MCU供电、TXD、CAN差分、CAN模块供电,异常时各点波形如图5、图6所示。
分析CAN总线出现异常位宽时的波形。当TXD信号由低变高时CAN总线电平仍然维持显性电平,在偶然间叠加线路板上noise后引起TXD电平略微变大。此时CAN总线电平概率性变为隐性电平。
PCA9306是一款支持I2C总线和SMBus的双向电平转换器,支持从1.0V~3.6V(Vref(1))到1.8V~5.5V(Vbias(ref)(2))的电平转换,PCA9306可工作在两种工作频率下:400KHz和100KHz。最大频率取决于RC时间常数,一般支持>2MHz。
PCA9306标准使用电路如图8所示。
设计时注意以下几点:
两边的电压VREF1和VREF2并不是取任意值且VREF1为低压位端VREF2为高压位端;
可以使用EN键来控制内部开关的导通和关断;
EN和VREF2管脚连接在一起;
上拉电阻的取值,取决于SW在导通时产生的压降,详见手册推荐值。
图9所示电路是一个使用MOS管进行电平转换的示例。
设计时注意以下几点:
低压位VDD_3V3连接MOS管源极,高压位VDD_5V连接MOS管漏极;
如果换用其它电压阈之间的转换,如3.3V、2.5V、1.8V等,需要注意MOS管Vgs开启导通电压;