(TTL电路与CMOS电路的接口)
电路设计时,你可以不懂集成电路的内部结构,但是初学者必须掌握电平转换设计理论及其基本方法,否则,你的电路将“罢工”。以下主要是参考阎石教授主编的《数字电子技术基础》编辑的,最后一部分我写了一点实际工作中遇到的电平匹配案例。希望此文对初学者有所帮助。
无论是TTL电路驱动CMOS电路还是CMOS电路驱动TTL电路,驱动门必须为负载门提供合乎标准的高、低电平和足够的驱动电流,也就是必须满足下列各式(表1)
驱动门 负载门 |
V(OH(min)) ≥ V(IH(min)) |
V(OL(max)) ≤ V(IL(max)) |
I(OH(max)) ≥ n I(IH(max)) |
I(OL(max)) ≥ m I(IL(max)) |
其中n和m分别为负载电流中I(IH),I(IL)的个数。
为便于比较对照,下表中列出了TTL和CMOS两种电路输出电压、输出电流、输入电压、输入电流的参数。(表2)
| TTL 74系列 | TTL 74LS系列 | CMOS* 4000系列 | 高速CMOS 74HC系列 | 高速CMOS 74HCT系列 |
VOH(min)/V | 2.4 | 2.7 | 4.6 | 4.4 | 4.4 |
VOL(max)/V | 0.4 | 0.5 | 0.05 | 0.1 | 0.1 |
IOH(max)/mA | -0.4 | -0.4 | -0.51 | -4 | -4 |
IOL(max)/mA | 16 | 8 | 0.51 | 4 | 4 |
VIH(min)/V | 2 | 2 | 3.5 | 3.5 | 2 |
VIL(max)/V | 0.8 | 0.8 | 1.5 | 1 | 0.8 |
IIH(max)/uA | 40 | 20 | 0.1 | 0.1 | 0.1 |
IIL(max)/mA | -1.6 | -0.4 | -0.0001 | -0.0001 | -0.0001 |
*系CC4000系列CMOS门电路在VDD=5V时的参数。
一. 用TTL电路驱动CMOS电路
1.用TTL电路驱动4000系列和74HC系列CMOS电路
从上表中的数据可以看出,无论是74系列TTL电路做驱动门还是74LS系列TTL电路做驱动门,都能在n,m大于1的情况下满足
V(OL(max)) ≤V(IL(max)),I(OH(max)) ≥ n I(IH(max)),I(OL(max)) ≥m I(IL(max)),但是不满足V(OH(min)) ≥V(IH(min))。所以,必须将TTL电路输出高电平提升到3.5V以上。
最简单的解决方法是在TTL电路的输出端与电源之间接入上拉电阻R.
在CMOS电路的电源电压较高时,它所要求的VIH(min)值将超过推拉式输出结构TTL电路输出端能够承受的电压。例如CMOS电路在VDD=15V时,要求VIH(min)=11V。因此,TTL电路输出的高电平必须大于11V。在这种情况下,应采用集电极开路输出结构的TTL门电路(OC门)作为驱动门。OC门输出端三极管的耐压较高,可达30V以上。
另一种解决方法是使用带电平偏移的CMOS门电路实现电平转换。
2.用TTL电路驱动74HCT系列CMOS门电路
为了能方便地实现直接驱动,又生产了74HCT系列高速CMOS电路。通过改进工艺和设计,使74HCT系列的VIH(min)值降至2V。由表2可知,将TTL电路的输出直接接到74HCT系列电路的输入端时,表2中的所有式全满足。
二. 用CMOS电路驱动TTL电路
1. 用4000系列CMOS电路驱动74系列TTL电路
由表2中的数据可知,表1中的前三个式子均满足,唯独第四个式子满足不了,因此,需要扩大CMOS门电路输出低电平时吸收负载电流的能力。常用的方法如下:
第一种方法:将同一封装内的门电路并联使用。
第二种方法:在CMOS电路的输出端增加一级CMOS驱动器,例如可以选用同相输出的驱动器CC4010,当VDD=5V时它的最大负载电流IOL≥3.2mA,足以同时驱动两个74系列的TTL门电路。此外,也可以选用漏极开路的CMOS驱动器,如CC40107当VDD=5V时,CC40107输出低电平时的负载能力为IOL≥16mA, 能同时驱动十个74系列的TTL门电路。
第三种方法:使用分立器件的电流放大器实现电流扩展。
2. 用4000系列CMOS电路驱动74LS系列TTL电路
从表2可以看出,表1中的各式均满足。所以可将CMOS电路的输出与74LS系列门电路的输入直接连接。但如果n>1,则仍需要采用上面讲到的这些方法才能连接。
3.用74HC/74HCT系列CMOS电路驱动TTL电路
根据表2的数据可知,无论负载门是74系列TTL电路还是74LS系列TTL电路,都可以直接用74HC或74HCT系列CMOS门驱动。可驱动负载门的数目可从表2中的数据求出。