原创 【原创】总线收发器与电平转换

2011-6-3 21:36 5012 9 10 分类: FPGA/CPLD

一,74HC24574HCT245

245是比较常见的总线收发器,具有转换速度快、驱动能力强且价格便宜等优点,广泛应用于各个设计中。

首先,有几个概念需要搞清楚:

1)       输入高电平(Vih):保证逻辑门的输入为高电平时所允许的最小输入高电平,当输入电平高于Vih时,则认为输入电平为高电平。

2)       输入低电平(Vil):保证逻辑门的输入为低电平时所允许的最大输入低电平,当输入电平低于Vil时,则认为输入电平为低电平。

3)       输出高电平(Voh):保证逻辑门的输出为高电平时的输出电平的最小值,逻辑门的输出为高电平时的电平值都必须大于此Voh

4)       输出低电平(Vol):保证逻辑门的输出为低电平时的输出电平的最大值,逻辑门的输出为低电平时的电平值都必须小于此Vol

5)       阀值电平(Vt):数字电路芯片都存在一个阈值电平,就是电路刚刚勉强能翻转动作时的电平。它是一个界于VilVih之间的电压值,对于CMOS电路的阈值电平,基本上是二分之一的电源电压值,但要保证稳定的输出,则必须要求输入高电平>Vih>Vt,输入低电平<Vil<Vt

6)       Ioh:逻辑门输出为高电平时的负载电流(为拉电流)。

7)       Iol:逻辑门输出为低电平时的负载电流(为灌电流)。

8)       Iih:逻辑门输入为高电平时的电流(为灌电流)。

9)       Iil:逻辑门输入为低电平时的电流(为拉电流)。

其次,是搞清楚进行逻辑和电平转换的理论基础:

1)       驱动器的VOH必须高于接收器的VIH

2)       驱动器的VOL必须低于接收器的VIL

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

在平时应用中,经常碰到FPGA或者MCUIO输出需要使用245来做缓冲,也是利用245的强驱动来弥补FPGA或者MCU驱动力的不足。FPGAMCU比较常用的输出是2.5VCMOS 3.3CMOS3.3VTTL等。对于245而言,如果要求输出是3.3V,则比较容易处理,而如果要求输出是5V,需要注意。

对于HC245,典型的CMOS器件,供电电压2~6V,VIHVIL随着供电电压的不同而不同,一般分别为0.7VCC0.3VCC左右。典型的器件参数如下图:


20110603211204700.jpg


需要245输出高电平为5V,则供电电压VCC应该是5V,此时VIH的最小值和VIL的最大值分别约为3.5V1.5V

下图是Cyclone IIIIO口电平表:


20110603211928140.jpg

    

       从表中可以读出,3.3V TTL3.3VCMOS3VTTL3VCMOS2.5VTTL2.5VCMOSVOH的最小值分别为2.43.12.42.822。这些值都小于HC245VIL3.5V。如果此时选用HC245作为收发器,显然不合适。在很多时候我们发现的确有人这样用了,而且数据收发似乎也正常,这是为什么呢?原来这里还有一个电平叫做Vt,一般情况下,输入的电平在大于Vt后可以被识别为高电平,而低于Vt的可以被识别为低电平,但这个是电路刚刚勉强能翻转动作时的电平,在环境发生一些变化(如低温、电磁干扰)时很可能就会出现错误。5VCMOSVt约为2.5V,对于大多数3.3V3V、甚至2.5V的器件,在驱动电流不是很大的情况下,输出一般都很接近VCC,所以电平就可以被正确识别。这种设计对于系统的稳定性是非常不利的,应该尽量避免。

       HC245的输入可以兼容TTL电平,其供电电压为4.5V~5.5VVIHVIL符合5VTTL的标准,分为为2V0.8V。典型器件的参数如下表:


20110603211343809.jpg

      

从这里我们我们就可以发现,选用HCT245作为Cyclone III3.3V TTL3.3VCMOS3VTTL3VCMOS2.5VTTL2.5VCMOS输出的缓冲是可以的。


   二,双供电收发器

   对于245这类的收发器,输入、输出是单独供电,在需要双向的传输中就不合适。还是前面的FPAG例子,FPGAIO输入和输出都是3.3V,而且FPGAIO最大能承受的输入电压是3.6V,如果此时用HC245/HCT245作为缓冲对FPGA输入信号很可能就会损坏FPGAIO。这种场合下具有双向供电的收发器或者电平转换器就是较好的选择。

2.1具有方向控制类

   74LVC8T245TI近几年推出的一款有8通道的双向双供电收发器。基本的一些参数如下:


20110603212331723.jpg


    每个管脚灌入、拉出电流可以高达24mA,一般应用已经足够。可以通过控制方向的DIR管脚来确定是输入还是输出。这些器件需要注意的是控制管脚(DIROE)的参考电平。比如上面的74LVC8T245的控制脚参考电平是VCCA,那么就需要搞清楚控制信号的电平是否满座A端的电平要气。

   这种具有方向控制的器件也不是万能的,有些场合就不合适使用。比如有以下IO有时候需要作为输入,有时候又作为输出,一直在变化,此时就需要选用“无方向控制”的双供电器件。

2.2无方向控制类

   无方向控制类的器件一般不具有驱动能力,仅作为电平转换使用,每个通道可以作为单独的输入或输出,不受其他通道影响。一般有2种结构,自动感应方向结构和FET结构。

   自动感应方向结构的器件,典型的如TITXB0108。其基本结构和典型应用如下图:


20110603211543588.jpg20110603211622551.jpg



AB两端首先侦测确定哪端是输入信号,接着侦测上升沿和下降沿,如果是上升沿则开启T1T3,下降沿就开启T2T4

   这种器件在应用时需要留意以下几点:

1)       驱动TXB0108的器件的IO的最小驱动电流要达到±2mA

2)       VCCA的电平始终要低于VCCB,当然,如果VCCA高于VCCB,不会损坏器件,只是逻辑上可能会出现错误,也无需要考虑上电的顺序。

3)       如果输入或输出的IO需要外接上拉或者下拉电阻,则阻值至少要大于50Kohm,这样才不会与启动器脚弱的输出相冲突。

4)       这种器件不可以与IIC之类的OD门电路直接相连。

另外一种FET结构的器件,典型的有TXS0108E,其应用电路与TXB0108一样,其内部结构如下图:


20110603211655244.jpg


其内部集成上拉、下拉电阻,可以应用于OD门电路中,但收发的速度要慢许多。以下是TXB0108TXS0108E的两个速度对比:

1TXB0108B


20110603211735243.jpg



 (2)TXS0108E


20110603211808824.jpg



这类器件在使用时也需要注意下面2点:

1, VCCA的电平始终要低于VCCB,当然,如果VCCA高于VCCB,不会损坏器件,只是逻辑上可能会出现错误,也无需要考虑上电的顺序。

2,内部的2个电阻RpubRpua,在作为下拉电阻时约为40Kohm,而作为上拉电阻时约为4Kohm,如果是OD门,那么要估算驱动电流是否满足系统的要求。



PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

用户1362824 2013-3-13 10:55

分析不错,精辟
相关推荐阅读
用户145710 2011-10-24 10:09
【原创】 Xilinx DDR控制器使用中的一些问题
Xilinx DDR控制器使用中的一些问题 XILINX 公司在最新的Spartan6中集成了MCB硬核,它可以支持到DDR3-800,而且对于大多数厂家的存储芯片都支持(Micron、Elpid...
用户145710 2011-10-24 10:08
【原创】使用HDL Designer 加速设计之流程配置
使用HDL Designer 加速设计之流程配置 1,HDL Designer Series简介   HDL Designer Series是Mentor公司一款针对FPGA和ASIC工程中“设...
用户145710 2011-10-24 10:08
【原创】使用HDL Designer 加速设计之Design Check
使用HDL Designer 加速设计之Design Checker   Design Checker作为HDL Designer的一个组件,主要是用来检查语法规则和代码风格,这个类似于Synop...
用户145710 2011-05-27 17:09
【原创】Expedition的CES中的一些小问题
初始化CES后,打开CES对话框,会发现很多网络后面多出了几个“^^^”,经过几次尝试,终于找到原因。这里带有“^^^”就跟Allegro里面的x-net是一个概念,就是把串联无源器件的的所有网络...
用户145710 2011-05-13 18:18
【原创】Inout的使用和仿真
        Inout类型在使用和仿真时需要将其理解为2个端口,每个时刻有且只有一个在使用状态。我们在处理时可以将其手动分为2个端口,一个输入,另一个是输出。当用作输入端口时,输出端口处于“高阻”...
EE直播间
更多
我要评论
1
9
关闭 站长推荐上一条 /3 下一条