在实际中,应该从逻辑功能、触发方式和参数3个方面来考虑触发器的选择问题。
4.8.1 逻辑功能的选择
Section titled “4.8.1 逻辑功能的选择”在选择触发器的逻辑功能时,应作如下考虑:
(1) 如果要求单端形式的输入信号时,宜选用 D 触发器。
(2)如果要求双端形式的输入信号时,宜选用 JK 触发器。JK 触发器包含 RS 触发器的逻辑功能,且没有约束条件。
(3)如果用触发器进行计数时,宜选用 T' 触发器。它可以容易地用 JK 触发器或 D 触发器转换而成。
4.8.2 触发方式的选择
Section titled “4.8.2 触发方式的选择”如果只用触发器作存储数据用,可选择主从触发方式;如果要求触发器的状态不受干扰,工作稳定,最好选用边沿触发方式。注意,有上升沿和下降沿两种触发方式。
4.8.3 触发器的参数
Section titled “4.8.3 触发器的参数”为了保证触发器稳定可靠地工作,除了正确选择逻辑功能和触发方式外,还应考虑其参数。触发器的参数包括直流参数和时间参数。
1. 直流参数
Section titled “1. 直流参数”由于触发器是由门电路组成的,所以触发器的直流参数几乎与门电路一样,也可以用同样的方法来测试。主要包括:输出高电平 V_(OH) 、输出低电平 V_(OL) 、输入高电平(开门电平) V_(ON) 、输入低电平(关门电平) V_(OFF) 、低电平输入电流(输入短路电流) IᵢL 、高电平输入电流(交叉漏电流) IᵢH 、电源电流(功耗) I_(CC) 。
主要差别在于对不同的输入端(CP、J、K、 S_(D) 、 R_(D) 、D)输入电流的指标是不同的,原因是每个输入端所连接的触发器内部晶体管的数目是不同的。例如, TTL JK 触发器7472的输入电流指标如表4.8.1所示,反映了对前级的不同电流要求。另外不同触发器的各输入端电流值的比例也可能是不同的。
表 4.8.1 7472 触发器的电流指标
| IᵢH | J,K | 40μA |
| R_D | 80μA | |
| S_D | 80μA | |
| CP | 40μA | |
| IᵢL | J,K | 1.6 mA |
| R_D | 3.2 mA | |
| S_D | 3.2 mA | |
| CP | 1.6 mA |
2. 时间参数
Section titled “2. 时间参数”触发器的时间参数比门电路复杂得多,也更重要。因为它们将影响触发器是否可以正常、可靠地工作。
集成触发器状态转换的时刻虽然是在时钟的某一边沿,但由于触发器内部电路存在的延迟,触发器翻转也需要一定时间,所以输入信号不能在时钟的边沿出现时才来到,也不能在时钟有效边沿之后就立即消失。因此为保证触发器能正常工作,对各种信号都有时间上的要求,这就是时间参数。
(1) 输入信号 (J、K、D 等 ) 的时间参数
Section titled “(1) 输入信号 (J、K、D(J、K、D 等 )) 的时间参数”输入信号的时间参数有两个:建立时间 tₛu 和保持时间 tₕ 。其定义如图 4.8.1 所示。
建立时间 tₛu 是指输入信号较之时钟有效边沿提前到来的时间;保持时间 tₕ 是输入信号位于时钟有效边沿之后保持不变的时间。
显然,输入信号不这样的话,就可能写不进触发器,或者触发器工作不可靠。

有些触发器,如边沿型 JK 触发器,tₕ 可为 0,这是由其电路结构决定的。这也是边沿型 JK 触发器的一个优点。
有时手册中也给出异步置位信号的建立时间。
(2) 时钟信号的时间参数
Section titled “(2) 时钟信号的时间参数”时钟信号的时间参数也有两个:高电平宽度 t_(WH) 和低电平宽度 t_(WL) 。
图 4.8.1. 建立时间和保持时间 高电平宽度 t_(WH) 是指时钟保持高电平的最小持续时间,低电平宽度 t_(WL) 是指时钟保持低电平的最小持续时间。
时钟的时间参数和输入信号的时间参数有关,在图 4.8.1的情况下,要求 t_(WL) ≥slant tₛu , t_(WH) ≥slant tₕ 。一般这两对参数不是相等的关系,特别是当 tₕ=0 时, t_(WL) 或 t_(WH) 不能为0。
t_(WH) 和 t_(WL) 之和是保证触发器正常工作的最小时钟周期,由此可确定触发器的最高工作频率 fₘax :
f _ max ≤slant frac 1t _ WH + t _ WL (4.8.1)fₘax 是表明触发器工作速度的一个指标。
对于每个具体型号的集成触发器,可以从手册上查到这些时间参数,在使用时应符合这些参数所规定的条件。例如,74ALS114 JK 负边沿触发器的主要时间参数为: tₛu=25 ns , tₕ=0 ns , t_(WH)=25 ns , t_(WL)=5 ns , fₘax=30 MHz 。
下面通过一个例子说明时序的重要性。
图 4.8.2 是一种两拍工作寄存器的逻辑图,即每次在存入数据之前,必须先加入置 0 信号,然后“接收”信号有效,数据存入寄存器。①若不按两拍工作方式来工作,即置 0 信号始终无效,则当输入数据为 D₂D₁D₀=100arrow001arrow010 时,输出数据 Q₂Q₁Q₀ 将如何变化?②为使电路正常工作,置 0 信号和接收信号应如何配合?画出这两种信号的正确时间关系。
解
(1) 若按一拍工作,并且置 0 信号恒为 1 时,可得表 4.8.2。

表4.8.2
| overlineS | overlineR | Qⁿ + 1 | |
| overlineD | 1 | D = 0 | 保持 |
| D = 1 | 置1 | ||
所以可得状态表 4.8.3。
表4.8.3
| D₂ | D₁ | D₀ | Q₁^(q+1) | Q₁^(q+1) | Q₀^(q+1) | 说明 |
| 1 | 0 | 0 | 1 | 0 | 0 | 触发器状态与数据一致,正确 |
| 0 | 0 | 1 | 1 | 0 | 1 | 触发器状态与数据不一致,错误 |
| 0 | 1 | 0 | 1 | 1 | 1 | 触发器状态与数据不一致,错误 |
即当 D₂D₁D₀ 为 100arrow001arrow010 时, Q₂Q₁Q₀ 为 100arrow101arrow111 (初始状态都为 0)。这是因为当 D=0, overlineRoverlineS=11 ,只起保持 Q 不变的作用,而不一定使 Q 输出为 0。
(2)若按两拍工作方式,即每次在存入数据之前,必须先加入置0信号,然后“接收”信号有效,如图 4.8.3所示。

可得表 4.8.4。
表4.8.4
| overlineS | overlineR | Qⁿ + 1 | 功能 | ||
| 置0信号有效 | 1 | 0 | 0 | 清0 | |
| 接收信号有效 | overlineD | 1 | D = 0 | 保持 | 接收数据 |
| D = 1 | 置1 | ||||
| 之后 | 1 | 1 | 保持 | 保持数据 | |
这样安排时序,使输出每拍都先有一段的 000 时间,实际使用时,还要加输出控制门以保证正确输出。