一,74HC245与74HCT245
245是比较常见的总线收发器,具有转换速度快、驱动能力强且价格便宜等优点,广泛应用于各个设计中。
首先,有几个概念需要搞清楚:
1) 输入高电平(Vih):保证逻辑门的输入为高电平时所允许的最小输入高电平,当输入电平高于Vih时,则认为输入电平为高电平。
2) 输入低电平(Vil):保证逻辑门的输入为低电平时所允许的最大输入低电平,当输入电平低于Vil时,则认为输入电平为低电平。
3) 输出高电平(Voh):保证逻辑门的输出为高电平时的输出电平的最小值,逻辑门的输出为高电平时的电平值都必须大于此Voh。
4) 输出低电平(Vol):保证逻辑门的输出为低电平时的输出电平的最大值,逻辑门的输出为低电平时的电平值都必须小于此Vol。
5) 阀值电平(Vt):数字电路芯片都存在一个阈值电平,就是电路刚刚勉强能翻转动作时的电平。它是一个界于Vil、Vih之间的电压值,对于CMOS电路的阈值电平,基本上是二分之一的电源电压值,但要保证稳定的输出,则必须要求输入高电平>Vih>Vt,输入低电平<Vil<Vt。
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。典型器件的参数如下表:
![](http://space.ednchina.com/ewebeditor/uploadfile/20110603211343809.jpg)
里我们我们就可以发现,选用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通道的双向双供电收发器。基本的一些参数如下:
![](http://space.ednchina.com/ewebeditor/uploadfile/20110603212331723.jpg)
每个管脚灌入、拉出电流可以高达24mA,一般应用已经足够。可以通过控制方向的DIR管脚来确定是输入还是输出。这些器件需要注意的是控制管脚(DIR、OE)的参考电平。比如上面的74LVC8T245的控制脚参考电平是VCCA,那么就需要搞清楚控制信号的电平是否满座A端的电平要气。
这种具有方向控制的器件也不是万能的,有些场合就不合适使用。比如有以下IO有时候需要作为输入,有时候又作为输出,一直在变化,此时就需要选用“无方向控制”的双供电器件。
2.2无方向控制类
无方向控制类的器件一般不具有驱动能力,仅作为电平转换使用,每个通道可以作为单独的输入或输出,不受其他通道影响。一般有2种结构,自动感应方向结构和FET结构。
自动感应方向结构的器件,典型的如TI的TXB0108。其基本结构和典型应用如下图:
![](http://space.ednchina.com/ewebeditor/uploadfile/20110603211543588.jpg)
![](http://space.ednchina.com/ewebeditor/uploadfile/20110603211622551.jpg)
AB两端首先侦测确定哪端是输入信号,接着侦测上升沿和下降沿,如果是上升沿则开启T1和T3,下降沿就开启T2和T4。
这种器件在应用时需要留意以下几点:
1) 驱动TXB0108的器件的IO的最小驱动电流要达到±2mA。
2) VCCA的电平始终要低于VCCB,当然,如果VCCA高于VCCB,不会损坏器件,只是逻辑上可能会出现错误,也无需要考虑上电的顺序。
3) 如果输入或输出的IO需要外接上拉或者下拉电阻,则阻值至少要大于50Kohm,这样才不会与启动器脚弱的输出相冲突。
4) 这种器件不可以与IIC之类的OD门电路直接相连。
另外一种FET结构的器件,典型的有TXS0108E,其应用电路与TXB0108一样,其内部结构如下图:
![](http://space.ednchina.com/ewebeditor/uploadfile/20110603211655244.jpg)
其内部集成上拉、下拉电阻,可以应用于OD门电路中,但收发的速度要慢许多。以下是TXB0108和TXS0108E的两个速度对比:
(1)TXB0108B
![](http://space.ednchina.com/ewebeditor/uploadfile/20110603211735243.jpg)
(2)TXS0108E
这类器件在使用时也需要注意下面2点:
1, VCCA的电平始终要低于VCCB,当然,如果VCCA高于VCCB,不会损坏器件,只是逻辑上可能会出现错误,也无需要考虑上电的顺序。
2,内部的2个电阻Rpub和Rpua,在作为下拉电阻时约为40Kohm,而作为上拉电阻时约为4Kohm,如果是OD门,那么要估算驱动电流是否满足系统的要求。