1、8.4 8.4 CountersCounters(计数器)(计数器)modulus(模模):the number of states in the cycle modulo-m counter:a counter with m states n-bit binary counter:has 2n statesAny clocked sequential circuit whose state diagram contains a single cycle can be called counter.S1S2S3SnS5S4可用于对输入的时钟脉冲计数可用于对输入的时钟脉冲计数divide-by-
2、m counter0,1,2,2n-1,0,1,计数器的分类计数器的分类 按时钟:同步、异步按时钟:同步、异步 按计数方式:加法、减法、可逆按计数方式:加法、减法、可逆 按编码方式:二进制、十进制按编码方式:二进制、十进制BCD码、循环码码、循环码计数器的功能计数器的功能 计数、分频、定时、产生脉冲序列、数字运算计数、分频、定时、产生脉冲序列、数字运算Ripple CountersRipple Counters(行波计数器)(行波计数器)利用利用 T T 触发器实现:触发器实现:Q*=QQQT 二进制计数顺序:二进制计数顺序:只有当第只有当第 i-1 位由位由10时,时,第第 i 位才翻转。位
3、才翻转。CLKQQTQQTQQTQQTQ0Q1Q2Q3CLKQ0Q1Q20 01 12 23 34 45 56 67 70 0缺点:速度慢。最坏情况,第最坏情况,第n位要经过位要经过 n nt tTQTQ 的延迟。的延迟。异步时序异步时序(Asynchronous Counters)(Asynchronous Counters)CLKQQTQQTQQTQQTQ0Q1Q2Q3 分析:仅当第仅当第 i 位以下的各位都为位以下的各位都为 1 时,时,第第 i 位的状态才会改变;位的状态才会改变;最低位的状态每次都要改变。最低位的状态每次都要改变。利用有使能端的T触发器实现于是于是 ENi =Qi-1
4、Qi-2 Q1Q0EN0=1 Each T flip-flop toggles if and any if all of the lower-order counter bits are 1.QQTEN 使用同一个时钟信号;使用同一个时钟信号;通过使能端进行控制:需翻转时,通过使能端进行控制:需翻转时,EN=1。Synchronous CountersSynchronous Counters(同步计数器)(同步计数器)1CLKQ0Q1Q2“1”How to introduce a counter enable input?Q0Q1Q0Q2Q1Q0Synchronous CountersSync
5、hronous Counters(同步计数器)(同步计数器)CNTEN低位 LSB高位 MSBserial enable serial enable Synchronous Counters with enable inputSynchronous Counters with enable inputIf the clock period is too short,If the clock period is too short,there may not be enough time there may not be enough time for a change in the count
6、ers for a change in the counters LSB to propagate to the MSB.LSB to propagate to the MSB.CNTENparallel parallel enableenable低位 LSB高位 MSBSynchronous Counters with enable inputSynchronous Counters with enable inputMSIMSI CountersCounters 74x163:synchronous 4-bit binary counterCLR同步清零同步清零LD同步置数同步置数RCO进
7、位输出进位输出ENPENT使能端使能端进位输出清零RCO=(QA QB QC QD)ENT01111CLK工作状态同步清零同步置数保持保持,RCO=0计数CLR_L LD_L ENP ENT0111 0 1 0 1 1ENT既是使能输入,又是RCO的控制信号。Free-running mode(自由运行模式)(自由运行模式):模模16计数:计数:0,1,2,15,0,74x163:synchronous 4-bit binary counter012345678910 11 12 13 14 150dutyduty-cyclecycle:50%:50%Free-running mode(自由运
8、行模式)(自由运行模式):模模16计数:计数:0,1,2,15,0,A free-running 163 can be used as a divide-by-2,-4,-8 or-16 counter.(自由运行的自由运行的163163可以用作可以用作2 2、4 4、8 8和和1616分频计数器分频计数器.)74x163:synchronous 4-bit binary counter Other MSI Counters 74x161:asynchronous clear 74x160:asynchronous clear 74x162:synchronous clearQC、QD都是十分
9、频,但占空比不是都是十分频,但占空比不是50。Modulo-10 counter(decade counter)01234567890QAQBQCQDRCOMSIMSI CountersCounters 74x169:up/down counterUP/DN UP/DN=1,加法计数(升序)加法计数(升序)计数到“1111”时,RCO有效;UP/DN=0,减法计数(降序)减法计数(降序)计数到“0000”时,RCO有效。使能输入进位输出低电平有效 Other MSI Counters 74x161:asynchronous clear 74x160:asynchronous clear 74x
10、162:synchronous clearModulo-10 counter(decade counter)MSIMSI CountersCounters任意模值计数器任意模值计数器利用触发器和门电路实现利用触发器和门电路实现 时钟同步状态机的设计时钟同步状态机的设计(Moore机)机)利用利用MSI计数器芯片实现计数器芯片实现 利用利用n位二进制计数器实现模位二进制计数器实现模m计数器计数器 清零法、置数法n n位二进制计数器的最大模值为位二进制计数器的最大模值为2 2n n,实现模实现模mm的计数器分两种情况:的计数器分两种情况:m 2n m 2n 级联模值模值m=终值终值-初值初值+1(
11、连续计数的情况)(连续计数的情况)例例1.1.利用利用7474x163x163实现模实现模11 11的计数器的计数器 同步清零法S0S1S2S3S4S12S11S10S9S8S7S6S5S13S14S15计数到“1010”时,利用同步清零端清零。m2m2n n的情况的情况S0S1S2S3S4S12S11S10S9S8S7S6S5S13S14S15例例1.1.利用利用7474x163x163实现模实现模11 11的计数器的计数器 同步清零法计数到“1010”时,利用同步清零端清零。m2m2n n的情况的情况CLKQ0Q1Q2Q3思考:思考:如果换成如果换成7474x161x161,应怎样处理?应
12、怎样处理?利用利用“1011“1011状态状态”异步清异步清零零;存在存在“毛刺毛刺”。模模1010计数计数例例1.1.利用利用7474x163x163实现模实现模11 11的计数器的计数器 m2m2n n的情况的情况 同步置数法S0S1S2S3S4S12S11S10S9S8S7S6S5S13S14S15计数到“1111”时,利用同步置数端置数为“0101”。S0S1S2S3S4S12S11S10S9S8S7S6S5S13S14S15例例1.1.利用利用7474x163x163实现模实现模11 11的计数器的计数器 m2m 2m 2n n)先进行级联,再整体清零或置数先进行级联,再整体清零或置
13、数例:用例:用74x163构造模构造模193计数器计数器 两片两片163级联得级联得8位二进制计数器(位二进制计数器(0255)采用整体清零法:采用整体清零法:0192计数计数 采用整体置数法:采用整体置数法:63255计数计数 255-193+163若若 m 可以分解:可以分解:m=m1m2分别实现分别实现m1和和m2,再级联再级联6310=(0011 1111)2 CLKCLRLDENPENTA QAB QBC QCD QD RCO74x163 CLKCLRLDENPENTA QAB QBC QCD QD RCO74x16311001111+5VCLOCKRESET_L例例3.3.利用利用
14、7474x163x163构造构造模模193193的计数器的计数器置数法置数法 CLKCLRLDENPENTA QAB QBC QCD QD RCO74x163011+5VCLOCKQD QC QB QA0 0 0 00 1 1 00 1 1 11 0 0 01 1 1 01 1 1 1例例4.4.分析下面电路的计数顺序和模。分析下面电路的计数顺序和模。计数顺序:计数顺序:0,6,7,8,14,15,0,6,模:模:6 CLKCLRLDENPENTA QAB QBC QCD QD RCO74x16301+5VCLOCK 模12计数器 QD:12分频 占空比50练习:练习:分析下面电路的计数顺序和
15、模。分析下面电路的计数顺序和模。Decoding Binary-Counter StatesDecoding Binary-Counter States CLKCLRLDENPENTA QAB QBC QCD QD RCO74x163CLOCK+5VQ1Q2Q3ABCG1G2AG2BY0Y1Y2Y3Y4Y5Y6Y774x138S0_LS1_LS2_LS3_LS4_LS5_LS6_LS7_L计数状态的译码计数状态的译码n中取1码 译码输出存在尖峰脉冲译码输出存在尖峰脉冲;(Fig.8-34)消除方法:接一多位寄存器消除方法:接一多位寄存器(74x374)。(Fig.8-35)(二进制计数器状态的
16、译码)(二进制计数器状态的译码)Decoding Binary-Counter StatesDecoding Binary-Counter States(二进制计数器状态的译码)(二进制计数器状态的译码)若在一次状态转移中有若在一次状态转移中有2位或多位计数位同时变化,位或多位计数位同时变化,译码器输出端可能会产生译码器输出端可能会产生“尖峰脉冲尖峰脉冲”01234567012 功能性冒险功能性冒险Function hazardFunction hazardDecoding Binary-Counter StatesDecoding Binary-Counter States(二进制计数器状态的译码)(二进制计数器状态的译码)CLK 8 8位寄存器位寄存器改进:消除改进:消除“毛刺毛刺”第二次作业8.138.358.38补充:用用74x163设计模设计模14的计数器,计数顺序为:的计数器,计数顺序为:1,2,13,15,1,2,(跳过(跳过0和和14)。)。