2 采用GAL控制脉冲分配的逻辑设计
若采用集成电路芯片来实现三相六拍步进电机的控制,所用器件较多,电路一般比较复杂。为了满足电机转速的二分频,在同一时钟频率控制下,必须利用一个D型触发器,通过C参与组合逻辑来实现。其逻辑电路如图2所示。CK为控制信号,三个D型触发器的输出O、P、Q分别接步进电机的三项绕组。根据步进电机驱动相数及控制要求,必须有相应于相数的延迟触发器保持现态与次态间的转换过程。对此,可利用GAL中八个输出逻辑宏单元中的三个来完成,电机的工作状态(O、P、Q)中的现态与控制信号(S、R、D)可通过GAL的与、或阵列组合逻辑来完成。
2.1 逻辑控制状态表
按照电机的激励规律,在时序脉冲作用下,时序电路的状态将在六个状态中循环,驱动电机运转。这里用a、b、c、d、e、f分别表示其六个状态,即a=100、b=110、c=010、d=011、e=001、f=101。根据逻辑电路图可得其状态表,如表1所示。
表1 逻辑控制状态表
S RDC 现态 | 1 | 0 |
× | 000 | 010 | 100 | 110 | 101 | 111 |
a | a | f | b | f | b | a | a |
b | b | e | c | a | c | b | b |
c | c | d | d | b | d | c | c |
d | d | c | e | c | e | d | d |
e | e | b | f | d | f | e | e |
f | f | a | a | e | a | f | f |
表1中分频控制量R决定C的取值,即C=RC。当R=0时,电机按fck频率运行,当R=1时,C重复取0和1,电机按fck/2频率运行。
2.2 状态真值表
由表1可得状态真值表,如表2所示。表中O、P、Q状态是在时钟脉冲控制下变化的,在控制变量的控制下,决定电机的启动、转向和转速大小。
表2 状态真值表
O | P | Q | S | R | D | C | Do | Dp | Dq | | O | P | Q | S | R | D | C | Do | Dp | Dq |
1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 1 |
1 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 1 | | 0 | 0 | 1 | 0 | 1 | 1 | 1 | 0 | 0 | 1 |
0 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 0 | 1 |
0 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 0 | 1 |
0 | 0 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | | 1 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 0 | 0 |
1 | 0 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0 |
1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 1 |
1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 1 | 0 | 1 |
0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 1 |
0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 1 |
0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 1 |
1 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | | 0 | 1 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 1 |
1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0 | | 0 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 0 |
1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | | 0 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 |
1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 1 | 0 |
1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | | 1 | 1 | 0 | 0 | 1 | 0 | 1 | 1 | 1 | 0 |
0 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | | 1 | 1 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 0 |
0 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | | × | × | × | 1 | × | × | × | 0 | 0 | 0 |
0 | 1 | 1 | 0 | 1 | 1 | 1 | 0 | 1 | 1 | | | | | | | | | | | |
2.3 卡诺图
在卡诺图中,输入变量分两排表示,变量的取值次序按照循环码排列。这种排列方法使得卡诺图中几何上相邻的两个小方块所代表的最小项只有一个变量不同这正是利用卡诺图化简逻辑函数的基础。
对于多变量输入,使用卡诺图时要注意以下几点:
(1)按照"最少、最大"的原则(即圈数最少,圈内的最小项个数尽可能多)圈起所有取值为1的相邻相。
(2)卡诺图中四个角与两对边的各项也是相邻的,卡诺图里上、下或左右部分中对称的项也是相邻的。
(3)每圈一个矩形圈时,必须至少包含一个在其它圈中未出现过的最小项,否则出现重复而得不到最简式。 (4)每一个取值为"1"的小方块都可以被圈多次,但不能遗漏,最小圈可以只包含一个小方块,即不能简化。
以O为例,由状态真值表可得其卡诺图,如图3所示。根据圈数和最小项可得其逻辑表达式为:
同样,也可以求得P、Q的逻辑表达式
[
本帖最后由 心仪 于 2010-1-5 09:54 编辑 ]