6)Ioh:逻辑门输出为高电平时的负载电流(为拉电流)。
7)Iol:逻辑门输出为低电平时的负载电流(为灌电流)。
8)Iih:逻辑门输入为高电平时的电流(为灌电流)。
9)Iil:逻辑门输入为低电平时的电流(为拉电流)。
其次,是搞清楚进行逻辑和电平转换的理论基础:
1)驱动器的VOH必须高于接收器的VIH。
2)驱动器的VOL必须低于接收器的VIL。
3)驱动器的输出电压不得超过接收器的I/O电压容差。
在平时应用中,经常碰到FPGA或者MCU的IO输出需要使用245来做缓冲,也是利用245的强驱动来弥补FPGA或者MCU驱动力的不足。FPGA或MCU比较常用的输出是2.5VCMOS 3.3CMOS、3.3VTTL等。对于245而言,如果要求输出是3.3V,则比较容易处理,而如果要求输出是5V,需要注意。
对于HC245,典型的CMOS器件,供电电压2~6V,VIH和VIL随着供电电压的不同而不同,一般分别为0.7VCC、0.3VCC左右。典型的器件参数如下图:
需要245输出高电平为5V,则供电电压VCC应该是5V,此时VIH的最小值和VIL的最大值分别约为3.5V和1.5V。
下图是Cyclone III的IO口电平表:
从表中可以读出,3.3V TTL、3.3VCMOS、3VTTL、3VCMOS、2.5VTTL、2.5VCMOS的VOH的最小值分别为2.4、3.1、2.4、2.8、2、2。这些值都小于HC245的VIL值3.5V。如果此时选用HC245作为收发器,显然不合适。在很多时候我们发现的确有人这样用了,而且数据收发似乎也正常,这是为什么呢?原来这里还有一个电平叫做Vt,一般情况下,输入的电平在大于Vt后可以被识别为高电平,而低于Vt的可以被识别为低电平,但这个是电路刚刚勉强能翻转动作时的电平,在环境发生一些变化(如低温、电磁干扰)时很可能就会出现错误。5VCMOS的Vt约为2.5V,对于大多数3.3V、3V、甚至2.5V的器件,在驱动电流不是很大的情况下,输出一般都很接近VCC,所以电平就可以被正确识别。这种设计对于系统的稳定性是非常不利的,应该尽量避免。
HC245的输入可以兼容TTL电平,其供电电压为4.5V~5.5V,VIH和VIL符合5VTTL的标准,分为为2V和0.8V。典型器件的参数如下表:
从这里我们我们就可以发现,选用HCT245作为Cyclone III的3.3V TTL、3.3VCMOS、3VTTL、3VCMOS、2.5VTTL、2.5VCMOS输出的缓冲是可以的。
二,双供电收发器
对于245这类的收发器,输入、输出是单独供电,在需要双向的传输中就不合适。还是前面的FPAG例子,FPGA的IO输入和输出都是3.3V,而且FPGA的IO最大能承受的输入电压是3.6V,如果此时用HC245/HCT245作为缓冲对FPGA输入信号很可能就会损坏FPGA的IO。这种场合下具有双向供电的收发器或者电平转换器就是较好的选择。
2.1具有方向控制类
74LVC8T245是TI近几年推出的一款有8通道的双向双供电收发器。基本的一些参数如下:
每个管脚灌入、拉出电流可以高达24mA,一般应用已经足够。可以通过控制方向的DIR管脚来确定是输入还是输出。这些器件需要注意的是控制管脚(DIR、OE)的参考电平。比如上面的74LVC8T245的控制脚参考电平是VCCA,那么就需要搞清楚控制信号的电平是否满座A端的电平要气。
这种具有方向控制的器件也不是万能的,有些场合就不合适使用。比如有以下IO有时候需要作为输入,有时候又作为输出,一直在变化,此时就需要选用“无方向控制”的双供电器件。
2.2无方向控制类
无方向控制类的器件一般不具有驱动能力,仅作为电平转换使用,每个通道可以作为单独的输入或输出,不受其他通道影响。一般有2种结构,自动感应方向结构和FET结构。
自动感应方向结构的器件,典型的如TI的TXB0108。其基本结构和典型应用如下图: