基于GAL器件的步进电机控制器的研究与设计
对于多变量输入,使用卡诺图时要注意以下几点:
(1)按照"最少、最大"的原则(即圈数最少,圈内的最小项个数尽可能多)圈起所有取值为1的相邻相。
(2)卡诺图中四个角与两对边的各项也是相邻的,卡诺图里上、下或左右部分中对称的项也是相邻的。
(3)每圈一个矩形圈时,必须至少包含一个在其它圈中未出现过的最小项,否则出现重复而得不到最简式。 (4)每一个取值为"1"的小方块都可以被圈多次,但不能遗漏,最小圈可以只包含一个小方块,即不能简化。
以O为例,由状态真值表可得其卡诺图,如图3所示。根据圈数和最小项可得其逻辑表达式为:
同样,也可以求得P、Q的逻辑表达式
图3
3 GAL的软件设计
3.1 GAL器件选型及引脚变量分配
GAL器件有多种型号,根据设计的需要,同时从经济的角度考虑,选用GALl6V8来实现三相六拍步进电机的控制。
3.2 GAL源文件设计
根据控制要求和编程格式,对已得到的时序逻辑方程编写的源文件如下:
在实际输入时不需要加入,注释行以";"开始。将上述源文件输入计算机,再对文件进行编译或汇编以生成JEDEC文件、引脚配置图、熔丝图等。用编程器对GAL器件进行编程,编程器在编程结束后还具有对编程芯片所有的存储单元进行自动检验的功能。
javascript:window.open(this.src);" style="cursor:pointer;"/>
4 系统的硬件连接
电路原理图如图4所示,左边为GALl6V8芯片的引线图,S、D、R分别决定电机的启动、转向和转速大小,输出O、P、Q分别接电机的A、B、C三个线包。图中只给出一个线包的驱动电路。注意:GAL元件不用的引脚应该直接接地或接电源,不要悬空,否则会增大功耗,降低抗干扰能力。 这种主要由GALl6V8组成的步进电机控制器用于对三相六拍工作制步进电机的自动控制,既可以独立运用于驱动对象,又可以在微机管理下运行,且不占用CPU的时间。用一片GAL便可以实现复杂的时序电路,缩小组成系统的体积。借助计算机辅助设计,大大加快了设计速度,减少了差错,降低了成本,提高了系统的可靠性和稳定性,且可反复修改和编程,灵活性极强。