同步时序电路(精选7篇)
同步时序电路 篇1
同步时序电路设计是根据给定的任务设计出符合要求的逻辑电路。同步时序电路设计的一般步骤如下。
1) 根据设计要求画出状态转换图。
2) 根据状态转换图写出状态方程和驱动方程。
3) 根据驱动方程画出逻辑电路图。
1 通过状态转换表对同步时序电路进行设计
以同步四进制加法计数器为例。
1.1 根据设计要求画出状态转换图
(00) → (01) → (10) → (11) → (00)
1.2 根据状态转换图写出状态转换表
1.3 根据状态转换表写出状态方程
将表1同步四进制加法计数器状态转换表分解为1号触发器和0号触发器状态转换真值表, 由状态转换真值表写出触发器的状态方程, 并将状态方程改写成标准形式。
1.4 根据状态方程写出驱动方程
将各触发器标准状态方程与JK触发器状态方程对比, 可得各触发器驱动方程。
1.5 根据驱动方程画出逻辑电路图
根据驱动方程, 采用JK触发器设计的同步四进制加法计数器电路图如图1所示。
2通过状态转换卡诺图对同步时序电路进行设计
以同步六进制加法计数器为例。
2.1 根据设计要求画出状态转换图
(000) → (001) → (010) → (011) → (100) → (101) → (000)
2.2 根据状态转换图写出状态转换卡诺图
由状态转换图可画出总的状态转换卡诺图, 然后将其分解为2号触发器、1号触发器和0号触发器状态转换卡诺图。为了直接得到触发器状态方程标准形式, 对各触发器状态转换卡诺图按0区和1区进行卡诺图画简。
2.3 根据状态转换卡诺图写出状态方程
由各触发器状态转换卡诺图写出其状态方程, 并将状态方程改写成标准形式。
2.4 根据状态方程写出驱动方程
将各触发器标准状态方程与JK触发器状态方程对比, 可得各触发器驱动方程。
2.5 根据驱动方程画出逻辑电路图
根据驱动方程, 采用JK触发器设计的同步六进制加法计数器电路图如图3所示。
3 通过Multisim对同步时序电路进行仿真
对所设计的同步六进制加法计数器进行Multisim仿真。
3.1 创建电路
以JK触发器作记忆元件, 三个JK触发器从左至右依次为Q1、Q2、Q3, 使能端接5V电源, 选方波发生器做时钟脉冲信号, 方波信号频率设置为10k Hz, 创建如图3所示同步六进制加法计数器电路。
3.2 观测计数器输出波形
将三个JK触发器的输出Q接在逻辑分析仪上, 以测试各触发器的输出。电路的输出波形如图4所示。由输出波形可以看出Q3Q2Q1的状态按000、001、010、101、110、101循环, 构成的是六进制同步计数器。
通过上述分析可以看出, 通过状态转换表对同步时序电路进行设计比较清晰, 通过状态转换卡诺图对同步时序电路进行设计比较方便, 通过Multisim对同步时序电路进行仿真比较直观。
摘要:同步时序电路, 可通过状态转换表进行设计, 也可通过状态转换卡诺图进行设计, 并可通过Multisim进行仿真, 本文以同步计数器为例进行设计方法分析和Multisim仿真。
关键词:时序电路,状态转换表,状态转换卡诺图,设计仿真
参考文献
[1]贾立新.数字电路[M].北京:电子工业出版社, 2011.
[2]杨志忠.数字电子技术基础[M].北京:高等教育出版社, 2009.
[3]蒋卓勤.Multisim及其在电子设计中的应用[M].西安:西安电子科技大学出版社, 2011.
同步时序逻辑电路设计步骤研究 篇2
关键词:时序逻辑电路,原始状态,电路设计
1 设计方法
同步时序逻辑电路设计方法可按以下几个步骤进行:设计要求;原始状态图;最简状态图;状态分配;选定触发器类型,求出状态方程、驱动方程和输出方程;画逻辑电路图并检查能否自启动[1]。但是在现有教材中,原始状态的确定并没有被突出和强化,事实上,原始状态的罗列是联系设计要求和原始状态图之间的一个重要的纽带,因此分析设计任务,列出原始状态对于时序逻辑电路的设计至关重要。本文通过对具体实例的设计研究,完善了时序逻辑电路设计的一般规律、原则及方法[1,2]。
2 实例设计分析
设计一种铁路平交道控制电路来控制道栅门的放下与升起,如图1所示,在P1和P2两处设置感测组件,用以感测火车是否经过,此两点相距足够远,同一列火车不会同时被此两处感测组件所侦测,当火车任何部位位于P1和P2两处之间时,平交道栅门应放下,否则升起栅门[3]。
(1)设计任务分析。
在P1和P2出放置两个感测组件,设P1、P2处的输出信号分别为P1、P2,当火车经过P1和P2时,输出信号1;当火车未压到P1和P2时,则输出0。A、B两个栅门由Z控制,当Z=0时栅门打开;当Z=1时栅门关闭。
(2)原始状态分析。
电路原始状态转化图的正确与否首先取决于原始状态是否符合要求,也就是原始状态数是否涵盖所有可能发生的情况,其次再决定于状态转换关系是否正确,原始状态的定义不同,最简状态的物理含义以及最简状态转换图也会不同。
首先,铁路为双向的,所以火车可以从东向西,也可以从西向东;其次P1和P2相距足够远,火车不可能同时压住两个感测组件。原始状态分析如下:火车从西向东时,火车没有到达P1处,则P1P2=00;火车压住P1,则P1P2=10;火车处于P1、P2之间,则P1P2=00;火车压住P2,则P1P2=01;火车驶出P2,则P1P2=00;火车从东向西时,火车没有到达P2处,则P1P2=00;火车压住P2,则P1P2=01;火车处于P1、P2之间,则P1P2=00;火车压住P1,则P1P2=10;火车驶出P1,则P1P2=00。在时序逻辑电路的设计过程中,原始状态的定义方法并不唯一,现给出两种原始状态的定义方法。
1)原始状态定义方法一。由以上分析可定义如下7个原始状态:
状态S1 火车在P1和P2区间之外,对应输入P1P2=00。
状态S2 火车自西向东行驶,并压在P1上。
状态S3 火车继续自西向东行驶,且位于P1和P2之间。
状态S4 火车仍自西向东行驶,并压在P2上。
状态S5 火车自东向西行驶,并压在P2上。
状态S6 火车继续自东向西行驶,且位于P1和P2之间。
状态S7 火车仍自东向西行驶,并压在P1上。
(a)由原始状态分析可列出原始状态转换如表1所示。
(b)状态化简及状态定义。根据化简原则,在相同输入下有相同输出且转换到同一次态的状态可以合并的原则,状态S2和状态S3可以合并为一个状态,称S2状态;状态S4和状态S7可以合并为一个状态,称S4状态;状态S5和状态S6可以合并为一个状态,称S5状态。此4个最简状态所具有的物理意义分别为:S1:火车处于P1、P2之外,P1P2=00,Z=0;S2:火车从西向东行驶,压住P1,和处于P1、P2之间,P1P2=X0,Z=1;S4:火车从东向西行驶,压住P2,和处于P1、P2之间,P1P2=0X,Z=1;S5:火车从西向东行驶,压住P2,P1P2=01,Z=1以及火车从东向西行驶,压住P1,P1P2=10,Z=1。可得简化状态转化表如表2所示。
根据最简状态转换表,按照常规设计步骤即可得到状态方程、驱动方程和输出方程,最终画出系统电路图。
2)原始状态定义方法二。
也可转换思路改变定义原始状态的方法,定义如下6个原始状态:
状态S1 火车在P1和P2区间之外,对应输入P1P2=00。
状态S2 火车自西向东或自东向西行驶,且位于P1和P2之间。
状态S3 火车自西向东行驶,且压在P1上。
状态S4 火车自西向东行驶,并压在P2上。
状态S5 火车自东向西行驶,并压在P2上。
状态S6 火车自东向西行驶,并压在P1上
(a)由原始状态分析可列出原始状态转换表如表3所示。
(b)状态化简及状态定义。根据化简原则,在相同输入下有相同输出且转换到同一次态的状态可以合并的原则,状态S3和状态S5可以合并为一个状态,称S3状态;状态S4和状态S6可以合并为一个状态,称S4状态。此4个最简状态所具有的物理意义分别为:S1:火车处于P1、P2之外,P1P2=00,Z=0;S2:火车自西向东或自东向西行驶,且位于P1和P2之间。P1P2=00,Z=1;S3:火车自西向东行驶,压在P1上或火车自东向西行驶,压在P2上。S4:火车自西向东行驶,压在P2上或火车自东向西行驶,压在P1上。P1P2=01,Z=1以及火车从东向西行驶,压住P1,P1P2=10,Z=1。可得简化状态转化表如表4所示。
3 结束语
在数字电子技术各个版本教材中,对原始状态的定义都不作重点阐述,或含糊不清或一笔带过。事实上,除了计数器的设计,像自动售货机、序列代码检测电路等一些教材上的设计实例,在设计分析过程中,原始状态的分析对设计成功与否以及设计过程是否清晰十分重要,本文通过对铁路平交道控制电路设计过程中原始状态的分析,对原始状态做了两种定义,都能得到逻辑关系正确的最简状态转换表,但显然第二种定义方法由于原始状态定义较合理,其最简状态的逻辑含义也更清晰。因此,在时序逻辑电路的设计过程中,原始状态的分析和定义应被列入设计步骤或在设计过程中被强化。
参考文献
[1]阎石.数字电子技术基础[M].5版.北京:高等教育出版社,2006.
[2]夏路易.数字电子技术基础教程[M].北京:电子工业出版社,2009.
[3]秦曾煌.电工学简明教程[M].北京:高等教育出版社,2001.
[4]蔡宪承.基于Multisim的时序逻辑电路设计与仿真[J].电子科技,2010,23(12):12-13.
时序逻辑电路的自启动 篇3
时序逻辑电路的输出不仅和输入有关, 还和当前的状态有关。在设计时序逻辑电路时, 针对具体的逻辑问题应进行具体的分析。对于初学者来说, 往往是先按要求设计电路, 设计完成之后再检查电路能否自启动, 不符合要求的时候就需要重新修改设计的逻辑。
实际上在设计时序电路的时候, 如果共有m个状态, 用到触发器的个数为n个, m与n之间的关系满足2n-1
例如我们设计一个7进制计数器, 根据要求设计七进制计数器要有七个状态, 我们分别用001~111来表示, 得状态转换图如图1所示。
由状态转换图可以得到逻辑状态转换表, 如表1所示:
运用卡诺图法进行化简如图2中的a、b、c所示, 我们用圆角矩形圈出相邻项, 为了得到最简单的逻辑函数式, 从图中我们可以看到, 无效状态000没有被利用上, 所以当电路受到外界干扰或者电路故障就有可能进入到000状态, 而电路一旦进入了000状态, 将无法再正常工作。
回顾电路的设计整个过程, 就能发现在利用卡诺图化简的时候, 为了得到最简的逻辑函数式, 无效编码状态000一直没有利用, 这也就说明了一个问题, 在本次设计的过程中, 已确定了000的次态也是000, 即为无效状态, 电路一旦进入无效状态, 就在无效状态中循环, 不能靠时钟脉冲的激励重新回到有效的状态中去, 在实际应用中这个电路就存在了缺陷。
所以在设计电路的时候不能一味的只追求函数式的简单, 还要考虑电路的实用功能, 所以我们要考虑在化简的时候把无效状态也利用上, 当由于某种原因进入到无效状态的时候, 能在时钟脉冲的作用下, 快速的进入到有效状态, 进行正常工作。在图2 b) 的卡诺图化简中, 再增加一个椭圆形状的圈, 虽然这样逻辑函数式复杂了, 但是已经把无效状态000的次态巧妙的转换成了有效状态010, 这样电路就具有了自启动的功能。
用波形图法分析时序逻辑电路 篇4
(1) , 根据电路列出方程式, 包括特性方程、驱动方程、进位方程等;
(2) , 计算状态转换真值表;
(3) , 绘出状态转换图;
(4) , 绘出波形图;
(5) , 检查能否自启动。
分析时, 必须按部就班, 一环扣一环, 哪一个环节不熟练, 便无法进行下去, 此外必须熟练掌握各种触发器合门电路的特性, 才能作出正确的分析结果, 笔者采用波形图法分析时序逻辑电路, 获得较好的教学效果。
图一所示电路由4个触发器F3、F2、F1、F0组成, 输入脉冲从CP端输入, 作为F0的时钟脉冲, F0的输出Q0作为F1的时钟脉冲, F2的时钟脉冲由F1的输出Q1提供, F3的时钟脉冲由F2的输出Q2提供, 四个J—K触发器的时钟输入端都是低电平有效。就是说触发器的翻转时刻对应于时钟脉冲的下降沿, 由于J—K触发器都接成T/触发器 (J=K=1) , T/触发器的特点是每输入一个时钟脉冲, 电路翻转一次, 因此, 每输入一个CP脉冲, 在CP脉冲下降沿出现的时刻, F0便翻转一次, 在图二中, Q0的波形就是根据这个道理画出来的, 同理, Q0的每一个下降沿出现时, F1就翻转一次。于是得到Q1的波形, Q1的每一个下降沿出现时, F2就翻转一次。于是得到Q2的波形, Q2的每一个下降沿出现时, F3就翻转一次。于是得到Q3的波形, 这样便得到电路的波形图, 如图二所示。
从图二看出:
1.Q0波形的频率为CP脉冲频率的1/2倍, Q1波形的频率为CP脉冲频率的1/4倍, Q2波形的频率为CP脉冲频率的1/8倍, Q3波形的频率为CP脉冲频率的1/16倍。这就是该电路的分频原理。
2.设各触发器的初始状态都处于“0”态, 即前全去Q3Q2Q1Q0=0000, 当第1个CP脉冲输入后, 电路状态变为0001, 当第2个CP脉冲输入后, 电路状态变为0010, 当第3个CP脉冲输入后, 电路状态变为0011……当第15个CP脉冲输入后, 电路状态变为1111, 当第16个CP脉冲输入后, 电路状态变为0000, 以后周期性的重复下去, 由此可得到电路的状态转换图为:
3.各触发器的时钟信号时逐次传递的, 且低位的翻转频率高, 高位的翻转频率低。这种从低位到高位逐次传递时钟信号的时序逻辑电路属于异步逻辑电路。
由此可见:图一所示电路为二进制异步加法计数器。异步计数器的优点是电路简单, 由于电路翻转总需要一定时间, 计数器的位数越多, 因翻转造成的延时时间也越长, 因此异步计数器的工作速度较低。
图三所示电路由4个JK触发器, 3个门, 1个与或门做成, 4个JK触发器的钟
信号由CP输入端统一提供, 因此为同步时序逻辑电路, F0的JK都接高电平1, 构成了T/触发器, 每输入一个CP脉冲, F0便翻转一次, 翻转时刻对应于CP的下降沿。F1、F2、F3的J、K端连接在一起, 构成T触发器, T触发器具有保持合翻转两种功能, 在时钟脉冲的下降沿到达的时刻, 若J=K=0, 触发器保持原态不变, 若J=K=1, 触发器翻转一次。
F1的J=K=Q0Q3, 只有在Q0=1Q3=0时, F1才可以翻转, 否则将保持原态不变, 因此, 对F1来说分两种情况:
(1) , 在Q3=0时, F1是否翻转由F0状态 (即Q0) 决定, 在时钟脉冲下降沿到前夕, 若Q0=0则F1保持原态, 若Q01则F1翻转一次。
(2) , 在Q3=1时, 不管Q0为何状态, F1都保持原态不变。
F2的J=K=Q0Q1, 只有Q0Q1都为电平F2才可以翻转, 否则将保持原态。
F3的J=K=Q0Q1Q2+Q0Q3=Q0Q1Q2+Q3) , 表明F3要能翻转, 必须同时满足两个条件:
(1) , Q0=1;
(2) Q1Q2同时为1或者Q3为1, 否则F3保持原态。
下面结合图四所示波形图进行讨论:
F0为T/触发器, 每对应CP脉冲的一下降沿, 触发器翻转一次, 从而得到Q0波, F1为T触发器, 在第2、4、6、8个CP冲作用期间, Q0=1, 对应CP下降沿F1转一次。在第1、3、5、7个CP脉冲作用间, Q0=0, 对应CP下降沿F1保持不变, 就是说在第九个时钟脉冲之前:Q3=0, 对应Q0的一个下降沿, F1翻转一次, 第个CP脉冲到达时虽然Q0A下降沿有效, 因Q3=1, 因而Q1保持低电平不变。
F2处为T触发器, 在第4, 8个CP脉作用时 (即其下降沿前夕) , Q0=Q1=1, 发器F2翻转, 在第2, 6, 10个CP脉冲用时, Q1=0, 触发器F2保持不变。
F3处为T触发器, 在第8个CP脉冲作用时, Q0=Q1=Q2=1, 触发器F3翻转, 在第10个CP脉冲作用时, Q0=Q3=1, 触发器F3又翻转。
这样就得到图四所示波形图, 可见该电路的状态转换图为:
由此可见:图三所示电路为十进制同步加法计数器。
4. 小结
从上述讨论可以看出, 用波形图分析逻辑电路紧扣各触发器的逻辑功能和特性, 分析它们在时钟信号和输入信号作用下的状态变化, 从而得出电路的波形图以及状态图, 简单明了, 概念清晰, 容易理解、掌握。
摘要:本文运用波形图法分析时序逻辑电路, 具有简单明了、易懂的优点。
关键词:触发器,状态图,自启动,异步计数器,同步计数器
参考文献
[1]阎石主编《数字电子技术基础》高等教育出版社
时序电路的PLC程序设计 篇5
关键词:PLC,时序电路,梯形图,程序设计
PLC的控制电路大多为时序电路, 所谓时序电路是指PLC在任意时刻的输出不仅取决于该时刻的输入, 而且还和电路原来的状态有关。初学者在进行时序电路的PLC程序设计时, 由于经验不足, 方法不当, 通常设计出的程序可读性差, 且不便于调试。本文从非周期性控制电路和周期性 (循环) 控制电路两个方面介绍三菱FX系列PLC时序电路的设计方法。
1 非周期性控制时序电路的设计
下面以三台电机顺序启动, 逆序停止的PLC控制为例来介绍时序电路的设计方法。
1.1 控制要求
有三台三相异步电动机M 1、M 2和M3, 控制要求如下:⑴按下启动按钮SB1时, 电动机M1先启动, 经过10s后, 电动机M2启动, 再过10s, 电动机M3启动;⑵按下停止按钮SB2时, 电动机M3先停止, 经过10s, 电动机M2停止, 再过10s, 电动机M 1停止。
1.2 设计步骤
(1) I/O地址分配:
输入:X0启动按钮;X1停止按钮。
输出:Y1控制电动机M1的启停;Y 2控制电动机M2的启停;Y3控制电动机M3的启停。
(2) 画出时序图:
明确各输入和输出信号之间的时序关系, 画出各输入和输出信号的工作时序图。时序图一般只画输出波形和少量的输入波形。根据时间的变化画出它们的起、停状态, 元件得电, 波形画成高电平;如果它释放则画低电平。在本例中, 根据控制要求, 可作出工作时序图如图1所示:
(3) 分配定时器
将时序图划分成若干个时间区段, 并合理分配定时器及其定时时间。在本例中, 根据时序图, 分配定时器及其定时时间如图1如示。
(4) 画梯形图
在编写梯形图程序时, 可分为三个模块来编写:运行控制 (启停控制) 、定时器控制、输出继电器回路。
运行控制:考虑到启动和停止信号是由按钮控制的, 我们可以采用启保停电路来实现运行控制, 如图2所示。
定时器控制:在设计定时器控制程序时, 要明确各定时器的启动和复位时刻及启动和复位条件。本例中, 按下启动按钮X0, 即M0得电时, 启动定时器T0、T1, 按下停止按钮X1, M0失电, 启动定时器T2、T3;当停止过程结束, 即Y1断电后, 所有的定时器复位。由此, 可设计定时器控制程序如图3所示。
输出继电器回路:根据启动、保持、停止三个条件来编每个输出继电器的控制回路。
如Y1控制回路可考虑三点:M0得电时Y 1启动;用Y 1常开触点实现自锁 (保持) ;T3定时时间到Y1停止。即Y1与内部触点的逻辑关系为:Y1= (M0+Y1) ·T3, 相应的可画出梯形图如图4所示。需要说明的是, 当启动信号为长信号, 在输出继电器得电期间一直接通, 此时就无须自锁了。按照这种方法, 可设计输出继电器回路程序如图4所示。经过上面几步, 我们就完成了整个时序电路的程序设计。
2 周期性控制时序电路的设计
周期性循环控制时序电路当控制任务较为复杂时, 可先根据时序控制要求, 列表表述一个工作周期的控制要求, 然后再按上述四步来完成程序设计。在进行程序设计时, 先分析一个周期内时序关系, 把一个周期划分成若干个时间区段并分配定时器, 然后再进行梯形图程序设计。设计定时器控制模块要注意的是:一个周期完成后, 必须让所有的定时器复位, 然后再重新依次启动定时器, 这样才能实现循环控制。以下用十字路口交通信号灯的PLC控制为例, 来介绍周期性控制时序电路设计方法。
2.1 控制要求
按启动按钮SB1后, 南北向红灯亮, 东西向绿灯亮, 25s后东西向绿灯闪烁3s (3次, 每次亮、暗0.5s) , 然后熄灭。在绿灯熄灭同时, 东西向黄灯亮2s, 然后熄灭。在该灯熄灭的同时, 东西向红灯亮及南北向绿灯亮, 以下的变化规律与上述相同。到南北向绿灯亮, 东西向红灯亮开始第二个循环, 以后周而复始地循环动作。按停止按钮SB2, 所有信号灯都熄灭[1]。
2.2 设计步骤
以列表的方式表述一个工作周期的时序关系如表1所示。
(1) I/O地址分配:
根据信号灯的控制要求, 可确定I/O地址分配如下。
输入地址:X0为启动按钮 (SB1) , X1为停止按钮 (SB2) 。
输出地址:Y0为南北向绿灯, Y1为南北向黄灯, Y2为南北向红灯;
Y4为东西向绿灯, Y5为东西向黄灯, Y6为东西向红灯。
(2) 画出时序图:限于篇幅, 读者可根据表2自行画出一个周期内的时序图。
(3) 分配定时器:由表2可以非常清晰的看到, 一个周期分为6个时间区段, 可分配6个定时器T0~T5, 定时时间分别为25s, 3s, 2s, 25s, 3s, 2s。
(4) 画梯形图:按上述三个模块来进行程序设计。在设计定时器控制模块时, 对定时器的控制可采用同步启动或顺序启动的方法。同步启动法即在M0接通时同时启动T0~T5。此时定时器T0~T5的定时时分别为25s, 28s, 30s, 55s, 58s, 60s。这里采用顺序启动各个定时器, 即按下起动按钮X0后, M0变为得电并保持, 其常开触点使定时器T0的线圈通电, 开始定时, 25s后T0的常开触点接通, 使Tl的线圈通电, 开始定时, 3s后T1的常开触点接通, 使T2的线圈通电, ……各定时器以“接力赛跑”的方式依次对各段时间定时, 直至最后一段定时结束[2]。T5的常闭触点断开, 使T0定时器复位, T0的常开触点断开这样所有的定时器都将依次复位, 当T5定时器复位后, T5的常闭触点接通, 进入下一个周期, 以实现循环控制。T5常闭触点断开的时间为PLC的一个扫描周期。程序设计如图5所示。
3 结语
通过面的分析, 我们可以看到, 时序电路的PLC程序设计是有规律可循的。只要明确控制任务, 正确绘制好时序图, 并合理分配定时器, 然后再按照运行控制 (启停控制) 、定时器控制、输出继电器回路三个模块来设计梯形图程序, 即使是没有一定PLC编程经验的电气技术人员, 也能设计出比较满意的梯形图来。该方法思路清晰, 步骤明了, 易于接受和掌握, 在教学获得了良好的效果。
参考文献
[1]蔡红斌, 郭和伟, 孙梅等.电气与PLC控制技术[M].北京:清华大学出版社, 2007:187-190.
同步时序电路 篇6
1 时序逻辑电路的分析与设计
逻辑电路的分析过程就是根据指定的电路图,分析得出该电路实现的逻辑功能的过程。逻辑电路的设计过程就是根据指定的逻辑功能要求,设计得出该电路的电路图的过程。数字逻辑课程中的两大类电路包括组合逻辑电路和时序逻辑电路。
分析时序电路的一般步骤如下:
(1)根据给定的时序电路图,写出各触发器的时钟方程、时序电路的输出方程和各触发器的驱动方程(或激励方程)。
(2)根据驱动方程和相应触发器的特性方程,求得时序逻辑电路的状态表,画出状态图或时序图。
(3)根据电路的状态表或状态图,说明给定时序逻辑电路的逻辑功能。
设计时序逻辑电路的一般步骤如下:
(1)根据设计要求,设定状态,导出对应状态图或状态表。
(2)状态化简,得到最简单的状态图。
(3)对状态图进行状态分配,又称状态编码。
(4)根据状态图画出状态转换表。
(5)选择触发器类型。
(6)根据状态转换表及所采用的触发器的逻辑功能,求出待设计电路的输出方程和驱动方程。
(7)根据输出方程和驱动方程画出逻辑电路图。
分析时序电路的关键步骤是根据驱动方程和触发器类型得到电路状态转换表的步骤(即第2步骤),设计时序电路的关键步骤是根据触发器类型和状态图得到驱动方程的步骤(即第5、6步骤)。在这两个关键步骤中都可以采用公式法和表格法这两种不同的方法。
2 时序电路分析中的公式法和表格法
公式法进行时序逻辑电路分析的步骤中,是先将驱动方程代入相应触发器的特性方程中,得到电路的状态方程,然后设定各种电路现态的真值表,进而代入状态方程得到对应的电路次态表,即电路的状态转换表。这种状态转换表的表头形式如下:
表格法则是直接建立“电路次态真值表”,利用驱动方程将电路的输入和现态所对应的各个驱动的值作为中间变量填入表中,进一步根据各个现态与驱动的具体值求出各个电路对应的次态值以及输出值。这种电路次态真值表的表头形式如下:
如例题:分析如下时序电路,如图1所示,求得电路状态转换表即可。
解:首先写出该电路的驱动函数和输出函数:
(1)采用公式法,则下一个步骤是将驱动函数代入触发器特性方程,得到各触发器的次态方程:
然后将状态方程代入电路现态的真值表,进而得到状态转换表,如表1所示:
(2)采用表格法,直接建立电路次态真值表,如表2所示,利用电路输入和现态求出各个驱动的值作为中间变量填入表中,进一步根据现态与驱动的具体值求出次态和输出的值。
以上是同步时序电路分析的例子,如果分析的是异步时序电路,可以在状态转换表右侧加上“时钟”列,用于分析各状态情况下各触发器时钟的满足条件,不具备时钟条件的情况下次态都将保持现态的状态。
对照比较公式法与表格法,对于驱动较为简单的时序电路分析中,两种方法都很实用有效,但对于驱动较为复杂的时序电路分析中,表格法更直观容易些。因为这时公式法经过代入运算后各触发器的状态方程就已经比较繁琐,再代入状态转换表时就显得较为麻烦,而表格法因为直接将驱动方程代入表格进行运算,相对来说就较为容易。
3 时序电路设计中的公式法和表格法
公式法是利用状态转换表得到状态方程,再通过状态方程向触发器特性方程的形式转换再采用对照比较的方法来确定驱动方程。
表格法则直接建立“状态转换驱动真值表”,将驱动方程对应各个电路现态的值作为中间变量填入表中,进一步根据各个现态与驱动的具体值求出各个电路现态对应的次态值。有了这个“状态转换驱动真值表”,即可利用卡诺图来求出每个驱动的最简函数。这种表格的表头形式如下:
如例题:已知时序逻辑电路状态转换表如表3所示,假定选用JK触发器实现同步时序电路设计,求驱动方程。
(1)采用公式法,利用卡诺图进行化简,可以得到状态方程和输出方程:
将状态方程形式向JK触发器特性方程形式Qn+1=JQn+KQn转换,
采用对照比较的方法可以确定驱动方程:
(2)采用表格法,建立“状态转换驱动真值表”,根据选定触发器即JK触发器的驱动表如表4所示,来确定状态转移真值表中每种情况下的具体驱动的值,如表5所示:
有了这个“状态转换驱动真值表”,即可根据卡诺图化简,得到输出方程和驱动方程。
另外一种类似的方法是利用“次态卡诺图”来代替上述表格法中的“状态转换驱动真值表”,笔者认为这种方法比较表格法来说较为晦涩难懂,不如表格法清晰明了。
对照比较公式法与表格法,公式法的难点在于状态方程向触发器特性方程的形式转换再采用对照比较的方法来确定驱动方程。对于较为复杂的状态方程对照比较以确定驱动方程时有时可以采取不同的方案,也即获得了不同的设计方案,不同的方案效果往往需要进一步比较以确定最佳方案。而表格法只要准确应用触发器驱动表,即可得到准确的驱动真值表,进一步可以获得最简化的驱动方程。因此笔者认为表格法更值得向学生推荐。
4 总结
通过时序逻辑电路分析与设计过程中的公式法与表格法的研究发现,两种解决问题的方法各有特点:公式法使用的是逻辑代数中公式推导的方法,它更加强调逻辑代数中严谨的数学推导过程;表格法较为直观灵活,而且适用于驱动函数较为复杂的时序逻辑电路分析与设计过程。
参考文献
[1]贾然,安卫超.时序逻辑电路教学方法浅析.保定职业技术学院,2007(02):23-25.
[2]王为群.同步时序电路激励函数的一种求法.贵州教育学院学报,2005(02):93-95.
[3]林海霞,高静,任银厚.数字逻辑课程教学方法探讨.科技信息,2009(06):81.
同步时序电路 篇7
近些年来, 光纤光栅传感器在传感领域的应用迅速发展。光谱仪 (OSA) 是实验室中实现光纤光栅传感解调的方法, 但是光谱仪不但造价高, 而且波长扫描速度极慢, 不适于实时测量。Alexander G.Simpson等人提出了基于CCD和闪耀布喇格光纤光栅对光纤传感器进行解调的方案[1]。虽然CCD能对光纤传感器进行解调, 但是由于它们的波长响应范围在400~1 100 nm, 而布喇格光纤光栅传感解调波长在1 300 nm和1 500 nm附近, 如果用CCD进行解调, 不得不镀膜而增加额外的成本[2]。由于InGaAs 是一种Ⅲ-Ⅴ族合金材料, 其截止波长可在0.8 (GaAs) ~3.5 μm (InAs) 范围内变化, 在布喇格光纤光栅传感解调波长1. 3~1. 5 μm 波长范围内。InGaAs 探测器性能良好, 可摆脱制冷的制约, 具有高响应度、高传输率和低暗电流等优点, 因此本文利用线阵InGaAs光电二极管阵列探测波长随外界物理量变化的移动, 然后把光信号转化为电信号, 通过模数转化 (A/D) , 直接输入计算机, 实现光纤光栅传感系统小型化和智能化。
InGaAs阵列除了电源外, 还需要与之配套的驱动电路, 提供电荷转移所必需的各种时钟脉冲以及输入、输出所需的复位脉冲才能工作。InGaAs阵列的性能受驱动电路的影响很大, 诸如信号处理能力、转移效率、信噪比等只有在合适的时钟脉冲配合下才能达到器件设计和工艺所规定的最佳值。因此InGaAs阵列驱动时序电路的设计, 就成了InGaAs阵列应用技术中非常重要的部分。本文以G9212为核心, 驱动并控制该线阵InGaAs, 采用VHDL进行硬件编程就可以方便、稳定、精确地实现线阵InGaAs的驱动时序。
1 线阵InGaAs的基本结构及工作原理
1.1 线阵InGaAs的结构
G9212芯片是日本滨淞光子 (Hamamatsu) 生产的一款InGaAs线阵图像传感器, 其成像原理和普通CCD器件的原理相同, 它最为广泛的应用就是用来制作近红外多通道光谱仪。G9212线阵图像传感器包含一个InGaAs阵列、一个耦合放大器阵列、一个转移寄存器和一个时钟发生器, 其中, 一个像元的等效电路如图1所示。该InGaAs线阵图像传感器的主要特点有:宽动态范围、低噪声和暗电流、可选择增益、具有相关双采样电路、驱动方式简单以及低串扰等。
G9212芯片是具有512个有效像元的线阵图像传感器。像元尺寸为25 μm (H) ×250 μm (V) , 像元间距为25 μm;时钟频率在0.1~4.0 MHz范围内;工作温度范围在-40~70°C之间;供电电压典型值为5.0 V;峰值响应波长为1.55 μm, G9212的光谱响应特性曲线如图2所示, 光谱响应在1.4~1.6 μm范围内最佳。
1.2 线阵InGaAs的工作原理
线阵InGaAs 图像传感器用来测量800~1 900 nm 范围内的光谱, 该光谱涵盖了人们感兴趣的光纤光栅波长范围, 也就是1 300 nm和1 550 nm通讯窗口, 适于布拉格光纤光栅传感的解调。InGaAs 的阵列探测器主要结构有PIN 结构、MSM 结构和APD 结构, 由于MSM结构的InGaAs阵列探测器研究难度大, 制作工艺复杂, 而APD 结构的InGaAs 阵列探测器需要在较高电压下工作, 暗电流比较大, 所以目前InGaAs 图像传感器用于探测的都是PIN 结构。线阵InGaAs 图像传感器的PIN 结构的实质是利用p-n结的光生伏特效应, 在光的照射下产生的电子和空穴受强电场的作用而漂移, 从而在外电路产生光电流。量子效率和暗电流是衡量线阵InGaAs 图像传感器性能的两个主要指标。量子效率是接触电极收集的电子数与入射光的光子数之比, 基本上由反射率、吸收系数和载流子扩散长度所决定。由于线阵InGaAs 图像传感器表面反射系数低, p-n结深控制得比扩散长度小, 能减少少数载流子在通过扩散到达p-n结过程中的复合, 所以具有很高的量子效率。光伏器件的暗电流机制主要包括少子的扩散电流、势垒区的产生-复合电流、由表面损伤引入的表面漏电流以及由掺杂、深能级引入的直接与间接隧道电流。线阵InGaAs 图像传感器的暗电流限制了器件的灵敏度, 目前性能好的线阵InGaAs 图像传感器的暗电流可以减小到几皮安级, 所以灵敏度很高。
2 G9212的工作波形
G9212 InGaAs线阵图像传感器只需要CLK和RESET两路驱动脉冲即可正常工作, 其内部可自动产生其余工作时序脉冲, 与传统的图像传感器需要外部逻辑器件产生多路驱动脉冲和偏置电压才能正常工作相比, 这让驱动设计相对简便。G9212器件正常工作时的驱动时序波形如图3所示。
3 线阵InGaAs驱动电路的设计
3.1 线阵InGaAs驱动方式
线阵InGaAs同普通CCD器件一样, 是完成光电转换的图像传感器, 只是线阵InGaAs器件接收的是近红外辐射。使用线阵InGaAs传感器要解决的两个主要问题是线阵InGaAs驱动时序的产生和线阵InGaAs器件输出信号的采集处理。对于不同的厂家生产的线阵InGaAs器件其驱动时序不尽相同, 即使同一厂家的不同型号的线阵InGaAs其驱动时序也不完全一致。为了充分发挥线阵InGaAs的性能, 保证图像传感器稳定可靠的工作, 必须设计出符合线阵InGaAs正常工作要求的定时脉冲和驱动控制电路。只有当定时和驱动控制脉冲与线阵InGaAs传感器配合良好时才能充分发挥其光电转换功能。于是产生了众多的驱动时序的产生方法, 主要有直接数字电路驱动、单片机口驱动、EPROM驱动、专用IC驱动等常用的驱动时序的产生方法[2]。本系统采用的就是直接数字电路驱动进行的线阵InGaAs驱动电路时序的仿真。用CPLD或者FPGA编程只需要1片集成电路就能实现线阵InGaAs的驱动时序, 可以获得高速的驱动频率, 而且可以实现复杂的输出时序。虽然逻辑设计比较复杂, 调试较为困难, 但是这种方法灵活性好, 电路体积小, 设计完成后时序稳定。
3.2 G9212驱动时序分析及Verilog HDL 描述的源代码
表1为G9212驱动脉冲时序关系。由表1可知, 时钟脉冲 (CLK) 脉冲宽度tpw最小为200 ns, 当TCLK=1 000 ns时, CLK脉冲宽度为500 ns, 大于200 ns, 故满足设计要求;复位脉冲 (RESET) 脉冲宽度最小为6 000 ns, 最低为CLK脉冲宽度tpw的30倍, 又已知tpw=500 ns, 故仿真时可取tpw (RES) =40×tpw=40×500 ns=2×104 ns, 即需要20个CLK脉冲周期TCLK。由图3知, 当RESET变为低电平时, 经过3个时钟脉冲后, 再输出4个时钟脉冲, 此时, 输出信号VIDEO变为高电平, 在VIDEO为高电平期间, 输出一个TRIGGER信号, 用作AD转换, VIDEO高电平持续3个时钟脉冲周期后和TRIGGER信号同时变为低电平, 再经过一个时钟周期, 完成一个TRIGGER信号和一个VIDEO信号的触发, 整个过程需要8个时钟周期, 由于G9212有512个像元, 因此完成整个触发过程共需要512×8=4 096个时钟周期。由图3可以看出, 在最后一个即第512个TRIGGER信号和VIDEO信号输出后, 至少需要经过10个时钟脉冲周期, 复位信号RESET才能变化为高电平, 即完成一个周期。综上所述, 实现一个RESET信号周期需要20 (INTEGRATION TIME) +3+4096 (TRIGGER and VIDEO OUTPUT) +10=4 129 CLOCKS。
整个电路包括一个输入端口CLK0, 和两个输出端口, 输入端口由CPLD器件的输出脉冲提供, 输出端口为该器件所需要的驱动脉冲, 即CLK和RESET。实体说明用VHDL语言描述如下:
在该器件中, 首先定义两个标志符, COUNTER为十三进制计数器, 用作确定时钟脉冲个数:
在进程中, 时钟信号CLK0为敏感信号, 其时钟频率将决定该线阵InGaAs器件正常工作的两路信号CLK和RESET。
时钟信号CLK0上升沿到来时有效, 因为212<4 129<213, 所以需要定义一个十三进制计数器, 计数范围为1~4 129, 即一个RESET周期包含的CLK周期数;RESET高电平期间, CLK0要持续20个周期, 因此在COUNTER开始计数的前20个周期, R=1, 第21个CLK0到来时, R置为低电平;当计数满4 129个脉冲信号后, RESET完成一个周期, 同时计数器COUNTER置0, 循环计数;然后将R赋给RESET, CLK信号可以直接由CLK0获得, 即:
3.3 时序仿真
芯片采用CPLD 的InGaAs驱动电路方案已在实际项目中得到验证, 时序参数均满足要求, 工作稳定可靠。基于CPLD 技术的纯硬件电子电路设计易于实现与微机、高速D/A 转换芯片接口, 不占用CPU 软、硬件资源、集成度高, 开发成本低, 设计周期短, 修改逻辑方便, 是一种快捷有效的电子电路实现方法。CPLD 时序仿真如图4 所示。
4 结 论
本文在分析了滨淞光子 (Hamamatsu) 生产的线阵G9212 的内部结构、工作原理以及对驱动信号的要求基础上, 采用复杂可编程逻辑器件CPLD 和硬件描述语言Verilog HDL 进行设计, 并使用软件进行仿真、综合、配置, 使得线阵InGaAs驱动电路简单、灵活、可靠。
参考文献
[1]Alexander G S, Zhou K M, Zhang L, et al.Optical sensor in-terrogation with a blazed fiber bragg grating and acharge-cou-pled device linear array[J].Applied Optics, 2004, 43 (1) :33-40.