第7章 常用集成时序逻辑器件及应用 7.1 集成计数器 7.2 集成寄存器和移位寄存器 7.3 序列信号发生器 7.4 以MSI为核心的同步时序电路的分析与设计
7.1 集 成 计 数 器 集成计数器具有功能较完善、通用性强、功耗低、工作速率高且可以自扩展等许多优点,因而得到广泛应用。 目前由TTL和CMOS电路构成的MSI计数器都有许多品种, 表 7-1 列出了几种常用TTL型MSI计数器的型号及工作特点。
表 7-1 常用TTL型MSI计数器
7.1.1 常用集成计数器功能分析 1. 异步集成计数器74LS90 74LS90是二—五—十进制异步计数器,其内部逻辑电路及传统逻辑符号分别如图7-1(a)、 (b)所示。它包含两个独立的下降沿触发的计数器,即模2(二进制)和模5(五进制)计数器; 异步清0端R01、R02和异步置9端S91、S92均为高电平有效,图 7-1(c)为74LS90的简化结构框图。采用这种结构可以增加使用的灵活性。74LS196、74LS293等异步计数器多采用这种结构。
(a) 逻辑图; (b) 传统逻辑符号; (c) 结构框图 图 7-1 74LS90计数器 (a) 逻辑图; (b) 传统逻辑符号; (c) 结构框图
74LS90的功能表如表7-2 所示。从表中看出,当R01R02=1, S91S92=0时,无论时钟如何,输出全部清0;而当S91S92=1时,无论时钟和清0信号R01、R02如何,输出就置9。这说明清0、置9都是异步操作,而且置9是优先的,所以称R01、R02为异步清0端,S91、S92为异步置9端。 表 7-2 74LS90功能表
当满足R01R02=0、S91S92=0时电路才能执行计数操作,根据CP1、CP2的各种接法可以实现不同的计数功能。当计数脉冲从CP1输入,CP2不加信号时,QA端输出2分频信号,即实现二进制计数。当CP1不加信号,计数脉冲从CP2输入时,QD、 QC、QB实现五进制计数。实现十进制计数有两种接法。图7-2(a)是8421 BCD码接法,先模2计数,后模5计数,由QD、QC、 QB、QA 输出8421 BCD码,最高位QD作进位输出。图7-2(b)是5421 BCD码接法,先模5计数,后模2计数,由QA、QD、 QC、QB输出5421 BCD码,最高位QA作进位输出,波形对称。 两种接法的状态转换表(也称态序表)见表 7-3。
表 7-3 两种接法的态序表
图 7-2 74LS90构成十进制计数器的两种接法 (a) 8421 BCD码接法; (b) 5421 BCD码接法
2. 同步集成计数器74161 74161是模24(四位二进制)同步计数器,具有计数、保持、 预置、清0功能,其逻辑电路及传统逻辑符号分别如图7-3(a)、 (b)所示。它由四个JK触发器和一些控制门组成,QD、 QC、QB、QA 是计数输出,QD 为最高位。74LS161与74161内部电路不同,但外部引脚图及功能表均相同。 OC为进位输出端,OC=QDQCQBQAT,仅当T=1且计数状态为1111时,OC才变高,并产生进位信号。
图 7-3 74161计数器 (a) 逻辑图; (b) 传统逻辑符号
CP为计数脉冲输入端,上升沿有效。 Cr为异步清0端,低电平有效,只要Cr=0,立即有QDQCQBQA=0000,与CP无关。 LD为同步预置端,低电平有效,当Cr=1,LD=0,在CP上升沿来到时,才能将预置输入端D、C、B、A的数据送至输出端,即QDQCQBQA=DCBA。 P、T为计数器允许控制端,高电平有效,只有当Cr=LD=1, PT=1,在CP作用下计数器才能正常计数。当P、T中有一个为低时,各触发器的J、K端均为0,从而使计数器处于保持状态。P、T的区别是T影响进位输出OC,而P则不影响OC。
表7-4 74161功能表
图 7-4 74161 时序图
3. 十进制可逆集成计数器74LS192 图 7-5 74LS192传统逻辑符号
表 7-5 74LS192功能表
① 该器件为双时钟工作方式,CP+是加计数时钟输入,CP-是减计数时钟输入,均为上升沿触发,采用8421 BCD码计数。 ② Cr为异步清0端,高电平有效。 ③ LD为异步预置控制端,低电平有效,当Cr=0、LD=0时预置输入端D、C、B、A的数据送至输出端,即QDQCQBQA=DCBA。 ④ 进位输出和借位输出是分开的。 OC为进位输出,加法计数时,进入1001状态后有负脉冲输出,脉宽为一个时钟周期。 OB为借位输出,减法计数时,进入0000状态后有负脉冲输出,脉宽为一个时钟周期。
4. 二进制可逆集成计数器74LS169 表 7-6 74LS169功能表 图7-6 74LS169传统逻辑符号
74LS169的特点如下: ① 该器件为加减控制型的可逆计数器,U/D=1时进行加法计数,U/D=0时进行减法计数。模为16,时钟上升沿触发。 ② LD为同步预置控制端,低电平有效。 ③ 没有清0端, 因此清0靠预置来实现。 ④ 进位和借位输出都从同一输出端OC输出。当加法计数进入1111后,OC端有负脉冲输出,当减法计数进入0000后,OC端有负脉冲输出。输出的负脉冲与时钟上升沿同步,宽度为一个时钟周期。 ⑤ P、T为计数允许端,低电平有效。只有当LD=1,P=T=0, 在CP作用下计数器才能正常工作,否则保持原状态不变。
图 7-7 74LS169时序工作波形图
7.1.2 集成计数器的级联 1. 异步级联 用前一级计数器的输出作为后一级计数器的时钟信号。这种信号可以取自前一级的进位(或借位)输出,也可直接取自高位触发器的输出。 此时若后一级计数器有计数允许控制端,则应使它处于允许计数状态。图7-8是两片74LS90按异步级联方式组成的 10×10=100进制计数器。图中每片74LS90接成8421 BCD码计数器,第二级的时钟由第一级输出QD提供。第一级每经过10个状态向第二级提供一个时钟有效沿,使第二级改变一次状态。
图 7-8 74LS90的级联扩展
2. 同步级联 同步级联时,外加时钟信号同时接到各片的时钟输入端,用前一级的进位(借位)输出信号作为下级的工作状态控制信号(计数允许或使能信号)。只有当进位(借位)信号有效时, 时钟输入才能对后级计数器起作用。在同步级联中,计数器的计数允许(使能)端和进位(借位)端的连接有不同的方法,常见的有两种: ① 利用T端串行级联,各片的T端与相邻低位片的OC相连, 级联电路如图7-9(a)所示。从图中看出,因T1=1,所以
当片1开始计数,但未计满时,由于T2=0, 所以片2、片3均处于保持状态。只有当片1计满需要进位时,即T2=OC1=1时, 片2才在下一个时钟作用下加1计数。同理,只有当低位片各位输出全为1,即T3=OC2=1时,片3才可能计数。 这种级联方式工作速度较低,因为片间进位信号OC是逐级传递的。例如, 当Q7~Q0=11111110时,T3=0,此时若CP有效,使Q0由0→1, 则经片1延迟建立OC1,再经T2到OC2的传递延迟,T3才由0→1, 待片3内部稳定后,才在下一个CP作用下使片3开始计数。因此,计数的最高频率将受到片数的限制,片数越多,计数频率越低。
图 7-9 74161的两种同步级联方式
② 利用P、T双重控制,最低位片的OC1并行接到其它各片的P端,只有T2不与OC1相连,其它高位片的T端均与相邻低位片OC相连。级联电路如图 7-9(b)所示。 从图中看出:
显然,只有P3=1,T3=1,即低片各位输出全为1时,片3才可能计数,但OC传递比第一种方法快多了。例如,Q7~Q0=11111110时T3已经为1,虽然P3=0,但只要有CP作用, Q0由0→1,只需经片1延迟,就可以使P3=OC1=1,片3稳定后,在CP作用下便可开始计数。因此这种接法速度较快,而且级数越多,优越性越明显。但这种接法其最高位片的进位OC3=1时并不表示计数器已计到最大值,只有将最高位片OC3和片1的OC1相与,其输出才能作为整个计数器的进位输出,见图 7-9(c)。
7.1.3 任意模值计数器 集成计数器可以加适当反馈电路后构成任意模值计数器。 7.1.3 任意模值计数器 集成计数器可以加适当反馈电路后构成任意模值计数器。 设计数器的最大计数值为N,若要得到一个模值为M(<N)的计数器,则只要在N进制计数器的顺序计数过程中,设法使之跳过(N-M)个状态,只在M个状态中循环就可以了。通常MSI计数器都有清0、置数等多个控制端,因此实现模M计数器的基本方法有两种:一种是反馈清0法(或称复位法), 另一种是反馈置数法(或称置数法)。
1. 反馈清0法 这种方法的基本思想是:计数器从全0状态S0开始计数, 计满M个状态后产生清0信号,使计数器恢复到初态S0,然后再重复上述过程。具体做法又分两种情况: ① 异步清0。计数器在S0~SM-1共M个状态中工作,当计数器进入SM状态时,利用SM状态进行译码产生清0信号并反馈到异步清0端,使计数器立即返回S0状态。其示意图如图7-10(a)中虚线所示。由于是异步清0,只要SM状态一出现便立即被置成S0状态,因此SM状态只在极短的瞬间出现,通常称它为“过渡态”。在计数器的稳定状态循环中不包含SM状态。
图 7-10 实现任意模值计数器的示意图 (a) 清0法; (b) 置数法
② 同步清0。计数器在S0~SM-1共M个状态中工作,当计数器进入SM-1状态时,利用SM-1状态译码产生清0信号并反馈到同步清0端,要等下一拍时钟来到时,才完成清0动作,使计数器返回S0。可见,同步清0没有过渡状态,其示意图如图 7-10(a)中实线所示。
2. 反馈置数法 置数法和清0法不同,由于置数操作可以在任意状态下进行,因此计数器不一定从全0状态S0开始计数。它可以通过预置功能使计数器从某个预置状态Si开始计数,计满M个状态后产生置数信号,使计数器又进入预置状态Si,然后再重复上述过程,其示意图如图7-10(b)所示。这种方法适用于有预置功能的计数器。对于同步预置的计数器,使置数(LD)有效的信号应从Si+M-1状态译出,等下一个CP到来时,才将预置数置入计数器,计数器在Si、Si+1、… Si+M-1共M个状态中循环, 如图7-10(b)中实线所示;对于异步预置的计数器,使置数(LD)有效的信号应从Si+M状态译出,当Si+M状态一出现,即置数信号一有效,立即就将预置数置入计数器,它不受CP控制,所以Si+M状态只在极短的瞬间出现,稳定状态循环中不包含S i+M,如图7-10(b)中虚线所示。
综上所述,采用反馈清0法或反馈置数法设计任意模值计数器都需要经过以下三个步骤: ① 选择模M计数器的计数范围,确定初态和末态;② 确定产生清0或置数信号的译码状态,然后根据译码状态设计译码反馈电路;③ 画出模M计数器的逻辑电路。
【例 7-1】 用74LS90实现模7计数器。 解:因为74LS90有异步清0和异步置9功能,并有8421BCD码和5421BCD码两种接法,因此可以用四种方案设计。 ① 异步清0法。 计数范围是 0~6, 计到7时异步清0。 · 8421 BCD码接法的态序表如表7-7 所示。计数器输出QD、QC、QB、QA 的有效状态为0000~0110,计到0111时异步清0,译码状态为0111,利用部分译码设计译码门,故R01R02=QCQBQA,即当QC、QB、QA全为高时R01R02=1,使计数器复位到全0状态。
· 5421 BCD码接法的态序表如表 7-8 所示。计数器输出QA、QD、QC、QB 的有效状态为 0000~1001,计到 1010 时异步清0,译码门逻辑方程为R01R02=QCQA。两种接法的波形图和逻辑电路分别如图7-11(a)、 (b)所示。从波形图中可看出,在过渡态 0111 和 1010 中,输出端都有“毛刺”,这是异步清0产生的。
表 7-7 清0法8421BCD码态序表
表 7-8 清0法5421BCD码态序表
图 7-11 例 7-1 清0法逻辑图和时序图 (a) 8421 BCD码接法; (b) 5421 BCD码接法
② 反馈置 9 法。 以9为起始状态,按9、0、1、2、3、4、5 顺序计数,计到 6 时异步置 9。 · 8421 BCD码接法。态序表如表7-9所示,译码逻辑方程为S91S92=QCQB,其逻辑电路如图 7-12(a)所示。 · 5421 BCD码接法。态序表如表7-10所示,译码逻辑方程为S91S92=QAQB,其逻辑电路如图 7-12(b)所示。
表7-9 置9法8421BCD码态序表
表 7-10 置9法5421 BCD码态序表
图 7-12 例 7-1 置9法逻辑图 (a) 8421 BCD码接法; (b) 5421 BCD码接法
【例7-2】用74161实现模7计数器。 解: 74161有异步清0和同步置数功能,因此可以采用异步清 0 法和同步置数法实现任意模值计数器。 采用异步清 0 法和74LS90相似,不同的是74161的异步清0 端Cr是低电平有效,因此译码门应采用与非门。模 7 计数器态序表见表 7-11(a),逻辑图见图 7-13(a)。 置数法是通过控制同步置数端LD和预置输入端DCBA来实现模M计数器。由于置数状态可在N个状态中任选,因此实现的方案很多,常用方法有三种:
① 同步置0法(前M个状态计数)。 选用S0~SM-1共M个状态计数,计到SM-1时使LD=0,等下一个CP来到时置0,即返回S0状态。这种方法和同步清0 似,但必须设置预置输入DCBA=0000。本例中M=7,故选用 0000~0110 共七个状态,计到 0110 时同步置 0 ,LD=QCQB,其态序表见表7-11(b),逻辑图见图7-13(b)。
② OC置数法(后M个状态计数)。 选用Si~SN-1共M个状态,当计到SN-1状态并产生进位信号时,利用进位信号置数,使计数器返回初态Si。同步置数时预置输入数的设置为N-M。本例要求M=7,预置数为16-M=9, 即DCBA=1001,故选用1001~1111共七个状态,计到 1111 时利用OC同步置数,所以LD=OC,其态序表见表7-11(c),逻辑图见图 7-13(c)。
③ 中间任意M个状态计数。 随意选用Si~Si+M-1共M个状态,计到Si+M-1时译码使LD=0,等下一个CP来到时返回Si状态。本例选用 0010~1000 共七个状态,计到 1000 时同步置数,故LD=QD,DCBA=0010,态序表见表 7-11(d),逻辑图见图 7-13(d) 。
图 7-13 例 7-2 模 7 计数器的四种实现方法
表 7-11 例 7-2 态序表
如果要求实现的模值M超过单片计数器的计数范围时, 必须将多片计数器级联,才能实现模M计数器。常用的方法有两种: ① 将模M分解为M=M1×M2×…Mn,用n片计数器分别组成模值为M1、M2、 …、Mn的计数器,然后再将它们异步级联组成模M计数器。 ② 先将n片计数器级联组成最大计数值N>M的计数器,然后采用整体清 0 或整体置数的方法实现模M计数器。
【例7-3】试用74LS90实现模 54 计数器。 解:因一片74LS90的最大计数值为10,故实现模54计数器需要用两片74LS90。 ① 大模分解法。 可将M分解为 54=6×9,用两片74LS90分别组成8421BCD码模 6、模 9 计数器,然后级联组成 M=54 计数器,其逻辑图如图 7-14(a)所示。图中,模 6 计数器的进位信号应从QC输出。
② 整体清 0 法。 先将两片74LS90用8421BCD码接法构成模100计数器,然后加译码反馈电路构成模54计数器。过渡态 ,所以译码逻辑方程为 。 模 54 计数器的逻辑图如图 7-14(b)所示。 图 7-14 例 7-3 用 74LS90 实现模 54 计数器逻辑图 (a) 大模分解法; (b) 整体清 0 法
【例7-4】 试用 74161 实现模 60 计数器。 解: 因一片 74161 最大计数值为 16,故实现模 60 计数器必须用两片 74161。 ① 大模分解法。 可将M分解为 60=6×10,用两片 74161 分别组成模 6、 模 10 计数器,然后级联组成模 60 计数器,逻辑电路如图 7-15(a)所示。
图 7-15 例 7-4 模 60 计数器逻辑图 (a) 大模分解法; (b) 整体置 0 法; (c) OC整体置数法
② 整体置数法。 先将两片74161 同步级联组成 N=162=256 的计数器,然后用整体置数法构成模60计数器。图7-15(b)为整体置0逻辑图, 计数范围为 0~59,当计到 59(00111011)时同步置0。图7-15(c)为OC整体置数法逻辑图,计数范围为 196~255,计到 255(OC=1)时使两片LD均为 0,下一个CP来到时置数,预置输入=256-M=196, 故D′C′B′A′DCBA=(196)10=(11000100)2。
通常,凡是具有预置功能的加(减)计数器都可以实现可编程分频器,只要用进位(或借位)输出去控制置数端,使加计数计到SN-1状态,或减计数计到S0状态时置数控制端有效,使计数器又进入Si预置状态。这样计数器总是在Si~SN-1(或S0)共M个状态中循环,从而构成模M计数器。表7-12列出了在不同工作条件下预置输入数的设置方式。表中N为最大计数值,M为要求实现的模值。对于同步置数加法计数器,预置值=N-M=[M]补,M=N-预=[预]补,即如果已知M,只要求出[M]补(M的各位求反,末位加 1),即可求得预置值;同理,若已知预置值,只要求出[预]补即可求得模M的值。可见用这种方法设计可编程分频器是很简便的。
表 7-12 可编程计数器预置输入数的设置
【 例 7-5 】图 7-16 为可编程分频器,试分别求出M=100 和M=200 时的预置值;若I7~I0=01101000,试求M值。 解:该电路为同步置数加法计数器,最大计数值N=256。 根据预置值=N-M=[M]补,可求得: ①当M=(100)10=(01100100)2时,预置值D′C′B′A′DCBA=[M]补=10011100;当M=(200)10=(11001000)2 时,预置值D′C′B′A′DCBA=[M]补=00111000。 ② 当I7~I0=01101000 时,由于M=[预]补,因此M=[01101000]补=(10011000) 2=152。
图 7-16 例 7-5 可编程分频器
【 例 7-6 】 分别用74LS192 和 74LS169 实现模 6加法计数器和模 6 减法计数器。 解:① 用74LS192实现模6加、减计数器。由于74LS192为异步预置,最大计数值N=10,因此,加计数时预置值=N-M-1=10-6-1=3,减计数时,预置值=M=6。其态序表分别如表 7-13(a)、 (b)所示, 逻辑图如图 7-17(a)、 (b)所示。 ② 用74LS169实现模 6 加、减计数器。由于74LS169为同步置数,最大计数值N=16,因此,加计数时预置值=N-M=16-6=10=(1010) 2, 减计数时预置值M-1=6-1=5=(0101)2。其态序表分别如表 7-13(c)、 (d)所示,逻辑图如图7-17(c)、(d)所示。
表 7-13 例 7-6 态序表
(a)、 (c) 模6加法计数器; (b)、 (d) 模6减法计数器 图 7-17 例 7-6 模 6 计数器 (a)、 (c) 模6加法计数器; (b)、 (d) 模6减法计数器
7.2 集成寄存器和移位寄存器 7.2.1 常用集成寄存器 一类是由多个(边沿触发)D触发器组成的触发型集成寄存器, 如74LS171(4D)、74LS175(4D)、74LS174(6D)、 74LS273(8D)等。图 7-18(a)是74LS171的逻辑符号,其功能表如表 7-14 所示。其中Cr为异步清 0 端,当Cr=1时,在CP上升沿作用下,输出Q接收输入代码,若CP无效时输出保持不变。
另一类是由带使能端(电位控制式)D触发器构成的锁存型集成寄存器,如74LS375(4D)、74LS363(8D)、 74LS373(8D)等。图 7-18(b)是八D锁存器 74LS373的逻辑符号,其功能表见表 7-15。当EN1EN0=10 时,输出Q随输入D变化,接收输入代码;当EN1EN0=00 时锁存代码;当EN0=1时,输出端的三态门处于禁止状态,因此输出为高阻。
表 7-14 74LS171 功能表
表 7-15 74LS373 功能表
(a) 74LS171 的逻辑符号; (b)74LS373的逻辑符号 图 7-18 集成寄存器 (a) 74LS171 的逻辑符号; (b)74LS373的逻辑符号
7.2.2 常用集成移位寄存器 1. 四位双向移位寄存器74LS194 74LS194是四位通用移存器,具有左移、右移、并行置数、保持、清除等多种功能,其内部结构与逻辑符号分别如图 7-19(a)、(b)所示,功能表如表7-16 所示。74LS194各引出端功能如下: D0~D3: 并行数码输入端。 Cr: 异步清 0 端,低电平有效。 SR、SL:右移、左移串行数码输入端。 S1、 S0: 工作方式控制端。
图 7-19 74LS194四位双向移位寄存器 (a) 逻辑图; (b) 逻辑符号; (c) 时序图
表 7-16 74LS194 功能表 从其功能表和图7-19(c)时序图可以看出,只要Cr=0,移存器无条件清 0。只有当Cr=1,CP上升沿到达时,电路才可能按S1S0设置的方式执行移位或置数操作:S1S0=11为并行置数,S1S0=01为右移,S1S0=10为左移,时钟无效或虽然时钟有效,但S1S0=00 则电路保持原态。
在数字系统中,信息的传播通常是串行的,而处理和加工往往是并行的,因此经常要进行输入、输出的串、并转换。 2. 集成移位寄存器的应用 1) 实现数据的串—并转换 在数字系统中,信息的传播通常是串行的,而处理和加工往往是并行的,因此经常要进行输入、输出的串、并转换。 图 7-20 七位串入—并出转换电路
表 7-17 七位串入—并出状态表
图 7-21 七位并入—串出转换电路
表 7-18 七位并入—串出状态表
2) 构成移位型计数器 移位型计数器的状态变化顺序必须符合移位的规律,即 图 7-22 移位型计数器一般框图
① 环型计数器。 图 7-23 四位环型计数器 (a) 逻辑电路; (b) 完全状态图
n位环型计数器由n位移存器组成,其反馈逻辑方程为D1=Qn。图 7-23(a)是由74LS194构成的四位环型计数器, 其输入方程为SR=Q3,根据移位规律作出完全状态图如图 7-23(b)所示。若电路的起始状态为Q0Q1Q2Q3=1000,则电路中循环移位一个 1,环①为有效循环。若起始状态为Q0Q1Q2Q3=1110,则电路中循环移位一个0,环②为有效循环。可见,四位环型计数器实际上是一个模 4 计数器。环型计数器结构很简单,其特点是每个时钟周期只有一个输出端为 1(或 0),因此可以直接用环型计数器的输出作为状态输出信号或节拍信号,不需要再加译码电路。但它的状态利用率低,n个触发器或n位移存器只能构成M=n的计数器,有(2n-n)个无效状态。
为了使环型计数器具有自启动特性,设计时要进行修正。 图 7-24(a)是修正后的四位环型计数器,它利用74LS194 的预置功能,并进行全0序列检测, 有效地消除了无效循环,其状态图如图7-24(b)所示。
图 7-24 有自启动特性的环型计数器 (a) 逻辑电路; (b) 完全状态图
② 扭环计数器(也称循环码或约翰逊计数器)。 n位扭环计数器由n位移存器组成,其反馈逻辑方程为 n位移存器可以构成M=2n计数器,无效状态为(2n-2n)个。扭环计数器的状态按循环码的规律变化,即相邻状态之间仅有一位代码不同,因而不会产生竞争、冒险现象,且译码电路也比较简单。 图7-25是由74LS194构成的四位扭环计数器和它的状态图。它有一个无效循环,不能自启动。
图 7-25 扭环计数器 (a) 逻辑电路; (b) 完全状态图
图 7-26 有自启特性的扭环计数器
扭环计数器输出波形的频率比时钟频率降低了2n倍,所以它可以用作偶数分频器。如果将反馈输入方程改为 , 则可以构成奇数分频器,其模值为 M=2n-1。图7-27是用 74LS194 构成的 7 分频电路,其态序表如表7-19 所示,其状态变化与扭环计数器相似,但跳过了全 0 状态。
表 7-19 M=7 分频器状态表
图 7-27 用74LS194 构成的 7 分频电路
7.3 序列信号发生器 序列信号发生器是能够循环产生一组或多组序列信号的时序电路,它可以用移位寄存器或计数器构成。序列信号的种类很多,按照序列循环长度M和触发器数目n的关系一般可分为三种: ① 最大循环长度序列码, M=2n。 ② 最长线性序列码(m序列码),M=2n-1。 ③ 任意循环长度序列码,M<2n。
7.3.1 序列信号发生器的设计 1. 反馈移位型序列信号发生器 图 7-28 反馈移位型序列信号发生器框图
反馈移位型序列码发生器的结构框图如图7-28所示,它由移位寄存器和组合反馈网络组成,从移存器的某一输出端可以得到周期性的序列码。其设计按以下步骤进行: ① 根据给定序列信号的循环长度M,确定移存器位数n, 2n-1<M≤2n。 ② 确定移位寄存器的M个独立状态。 将给定的序列码按照移位规律每n位一组,划分为M个状态。若M个状态中出现重复现象,则应增加移存器位数。用n+1位再重复上述过程,直到划分为M个独立状态为止。
③ 根据M个不同状态列出移存器的态序表和反馈函数表,求出反馈函数F的表达式。 ④ 检查自启动性能。 ⑤ 画逻辑图。
【例 7-7 】 设计一个产生 100111 序列的反馈移位型序列信号发生器。 解: ① 确定移存器位数n。 因M=6, 故n≥3。 ② 确定移存器的六个独立状态。 将序列码 100111 按照移位规律每三位一组,划分六个状态为 100、001、011、111、111、110。其中状态 111 重复出现,故取n=4, 并重新划分六个独立状态为 1001、 0011、0111、1111、1110、1100。因此确定n=4,用一片 74LS194即可。
③ 列态序表和反馈激励函数表,求反馈函数F的表达式。 首先列出态序表,然后根据每一状态所需要的移位输入即反馈输入信号,列出反馈激励函数表如表 7-20 所示。从表中可见,移存器只需进行左移操作,因此反馈函数F=SL。 表7-20 也表明了组合反馈网络的输出和输入之间的函数关系, 因此可填出F的K图如图 7-29(a)所示,并求得
图 7-29 [例 7-7]F的K图和移存器状态图
表 7-20 例 7-7 反馈函数表 Q0 Q1 Q2 Q3 F(SL) 1 0 0 1 0 0 1 1 0 1 1 1 1 1 1 1 1 1 1 0 1 1 0 0 1
④ 检查自启动性能。 图 7-30 修正后的F的K图和移存器状态图
⑤ 画逻辑电路。 移位寄存器用一片74LS194,组合反馈网络可以用SSI门电路或MSI组合器件实现。图7-31(a)所示电路中 , 采用了门电路实现反馈函数。图 7-31(b)电路中SL=(Q0Q2)m(1 Q3 1 0)T采用了4选1 MUX实现反馈函数。
(a) 反馈网络采用SSI门; (b) 反馈网络采用MSI器件 图 7-31 例 7-7 逻辑电路 (a) 反馈网络采用SSI门; (b) 反馈网络采用MSI器件
2. 计数型序列码发生器 设计过程分两步: ① 根据序列码的长度M设计模M计数器, 状态可以自定;② 按计数器的状态转移关系和序列码的要求设计组合输出网络。由于计数器的状态设置和输出序列没有直接关系,因此这种结构对于输出序列的更改比较方便,而且还能同时产生多组序列码。 图 7-32 计数型序列码发生器结构框图
【 例 7-8 】设计一个产生 1101000101 序列码的计数型序列码发生器。 解: ① 因M=10,可选用74161设计一个模10计数器,并采用OC置数法来实现,有效状态为 0110~1111。 ② 设计组合输出网络。根据计数状态和输出序列的对应关系,列出真值表如表7-21所示。Z输出的卡诺图如图7-33(a)所示,若采用 8 选 1MUX实现逻辑函数, 则可求得
图 7-33 例 7-8 实现Z的K图及逻辑电路 (a) K图; (b) 逻辑电路
【例7-9】 设计一个能同时产生两组序列码的双序列码发生器,要求两组代码分别是:Z1—110101,Z2—010110。 解: 首先用74LS194设计一个能自启动的模6 扭环计数器如图 7-34(a)所示,并列出组合输出电路的真值表如表 7-22 所示;然后用一片3-8译码器和与非门实现组合输出网络;最后画出逻辑电路如图7-34(b)所示。组合电路的输出函数式为
(a) 模 6 计数器; (b) 双序列码发生器电路 图 7-34 例 7-9 逻辑电路 (a) 模 6 计数器; (b) 双序列码发生器电路
表 7-22 例 7-9 真值表
7.3.2 m序列码发生器 m序列码也称伪随机序列码, 其主要特点是: ① 每个周期中, “1”码出现 2n-1次,“0”码出现2n-1-1 次,即 0、1 出现的概率几乎相等。 ② 序列中连 1 的数目是n, 连 0 的数目是n-1。 ③ 分布无规律,具有与白噪声相似的伪随机特性。 m序列码发生器是一种反馈移位型结构的电路,它由n位移位寄存器加异或反馈网络组成,其序列长度M=2n-1, 只有一个冗余状态即全 0 状态, 所以称为最大线性序列码发生器。由于其结构已定型,且反馈函数和连接形式都有一定规律,因此利用查表的方式就可以设计出m序列码。
表 7-23 m序列反馈函数表
表7-23列出了部分m序列码的反馈函数F和移存器位数n的对应关系。如果给定一个序列信号长度M,则根据M=2n-1求出n, 由n查表便可得到相应的反馈函数F。 例如,要产生M=7的m序列码, 首先根据M=2n=1,确定n=3,再查表可得反馈函数F=Q1 Q3(即74LS194的 F=Q0 Q2)。
但由于电路处于全0状态时F=0,故采用此方法设计的m序列发生器不具有自启动特性。为了使电路具有自启动特性可以采取两种方法: ① 在反馈方程中加全 0 校正项 其逻辑电路如图 7-35(a)所示。 ② 利用全 0 状态重新置数从而实现自启动, 其逻辑电路如图 7-35(b)所示。 该电路输出的m序列码为 0011101。
图 7-35 M=7的m序列码发生器电路 (a) 加全 0 校正项; (b) 利用全 0 状态置数
7.4 以MSI为核心的同步时序电路的分析与设计 7.4.1 分析方法 图 7-36 例 7-10逻辑电路
【例 7-10】分析图 7-36 所示同步时序电路。 解: 该电路无外部输入信号,其输出取自计数器的输出端QDQCQBQA,是Moore型电路。 ① 求写激励(控制)方程。 ② 列状态迁移表,画状态图。 先根据激励方程与 74161 的功能确定每个状态下的激励信号及操作功能,然后确定其次态,因而得出该电路的态序表如表 7-24 所示。 ③ 分析功能。 该电路是模 12 计数器,若从QD端输出,则可以得到 12 分频的对称方波。 图 7-36 例 7-10 逻辑电路
表7-24 例7-10态序表
【 例 7-11 】 试分析图 7-37 所示电路。 图 7-37 例 7-11 逻辑电路
解:该电路是由移存器74LS194和 8 选 1 数据选择器组成的Moore型同步时序电路,X为外部输入,Z为外输出。 ① 求激励方程和输出方程。
② 列态序表。 由激励方程可知,S1S0=10,故74LS194一直进行左移操作,由于状态变化会使SL变化,从而又使状态更新, 于是可列出X=0、X=1的态序表如表 7-25 所示。 ③ 分析功能。 由表7-25可见,该电路为可控序列码发生器,当X=0时产生 1001011 序列,当X=1 时,产生 1010011 序列。
表7-25 例7-11态序表
7.4.2 设计方法 采用MSI器件设计同步时序电路时有许多不同于传统方法的特点:
【例7-12】 试以 74LS169 为核心设计模 5 可逆加/减计数器。 解: ① 选择状态。 设X为加/减控制变量,X=0 时进行加法计数,X=1 时进行减法计数,可选择 74LS169 的最后五个状态构成模 5 可逆计数器,其状态图如图 7-38(a)所示。
(a) 状态图; (b) 操作表; (c) 函数表; (d) LD; (e) DCBA; (f) Z 图 7-38 例 7-12设计过程 (a) 状态图; (b) 操作表; (c) 函数表; (d) LD; (e) DCBA; (f) Z
② 列操作表。 器件在每个状态下所进行的操作功能用操作表来表示。从图 7-38(a)看出,当电路处于1011状态时,若X=0,则计数器进行加 1 计数操作;若X=1,则计数器进行预置(送数)操作……,不同状态下74161需要进行的操作可以用图7-38(b)的K图来表示。 ③ 求P、T、LD、DCBA的激励函数和Z输出函数。 这一步是确定74161各控制端PT、LD、DCBA 需要加什么信号才能实现图7-38(b)的操作。从状态图和操作表可以看出, 计数器在各种状态下的操作是由外输入X和内部状态QDQCQBQA来决定的,因此可以首先根据图(b)操作表求出每一个状态下激励函数、输出函数与外输入X的关系,然后再求出激励函数、输出函数与X、 QDQCQBQA的关系。
例如,当状态为 1011、 1111 时有计数、送数两种操作,因而可列出当QDQCQBQA为 1011、1111时 PT、LD、Z与X 的函数关系如图 7-38(c)所示,并求得当QDQCQBQA=1011时, PT=0,LD=X, Z=X, 当QDQCQBQA =1111 时,PT=0,LD=X, Z=X;由于状态为 1100、 1101、 1110 时仅有计数操作,故PT=0,LD=1。可见PT一直为 0,其K图可以省略。LD、 DCBA、Z的卡诺图分别如图 7-38(d)、 (e)、 (f)所示。
实现LD有两种方案: · 选用8选1数据选择器: · 选用SSI门电路:
(a) LD采用 8 选1 MUX; (b) LD采用SSI门电路 ④ 画逻辑电路。 图 7-39 例 7-12逻辑电路 (a) LD采用 8 选1 MUX; (b) LD采用SSI门电路