74HC138这颗芯片,学数字电路的时候基本都会碰到。它是个三八译码器,也就是3位二进制输入,8路输出,根据输入的不同组合,选中对应的某一输出端拉低。这种芯片在地址译码、端口扩展这些场景里特别常用。
先看一下引脚。138有16个引脚,DIP或者SOP封装。A0、A1、A2是三个地址输入端,Y0到Y7是八个输出端,低电平有效。还有三个使能端:G1是高电平有效,G2A和G2B是低电平有效。只有当G1=1且G2A=0且G2B=0的时候,译码器才工作,否则所有输出都是高电平。
真值表记起来有个规律:输入是二进制数,输出对应的位拉低。比如输入A2A1A0=000,Y0输出低电平,其余高电平;输入=001,Y1输出低电平;以此类推,输入=111,Y7输出低电平。三个使能端全有效的时候,八个输出里永远只有一个低电平,其余七个高电平。
最常见的应用是做地址译码。比如单片机要扩展多个外设,IO口不够用,可以用138把几根地址线扩展成8根片选线。每个外设占一个Y输出,当地址线选中某个值时,对应的外设就被使能。一片138能管理8个设备,如果设备更多,还可以级联,用另一片138的输出来控制下级138的使能端。
另一个常见用法是做数据分配器。把G1当数据输入端,A0A1A2当选择端,数据就从被选中的Y端输出。不过要注意输出是低电平有效,如果需要高电平有效,后面可以接一个反相器,或者直接换用74HC238,那是高电平输出的版本。
实际使用中要注意使能端的接法。很多初学者画电路的时候忘了接使能端,或者接法不对,导致138不工作,输出全高。排查的时候先用万用表量一下三个使能端的电平,确认都有效了再看地址输入。另外,输入悬空会导致不稳定,不用的输入端最好上拉或下拉固定电平。
138的速度对于一般应用完全够用,74HC系列的传输延迟大约十几纳秒。如果是高速系统,可以考虑74AC或者74LVC系列,延迟能降到几纳秒。功耗方面,CMOS的138静态功耗极低,主要是动态功耗,开关频率越高耗电越大。电池供电的系统里,如果不需要译码的时候,可以把使能端关掉,节省电量。
下一篇:没有了