软件框架的设计是否合理,空压机控制算法的优劣直接关系到整个系统的功能和性能。软件是数字控制系统的灵魂,它在系统硬件的基础上,实现高效的控制算法和丰富的系统功能,充分体现了数字控制系统的优越性。软件总体结构主要由主程序和波形发生器中断子程序组成。系统的主程序流程。片内波形发生器WFG(Wave Form Generator)是87C196MC独具的特点之一。这一外设装置大大简化了用于产生同步脉宽调制(PwM)波形的控制软件和外部硬件,特别适用于控制三相交流感应电机,也可用于控制直流无刷电机和其他需要多个PWM输出的装置。波形发生器有3个同步的PwM模块,每个模块包含一个相位比较寄存器、一个无信号时间(dead—time)发生器和一对可编程的输出。WFG可以产生独立的3对PWM波形,但它们有共同的载波频率、无信号时间和操作方式。一旦启动之后,FG只要求CPU在改变PWM的占空比时加以干预。采用16MHz晶振时,中心对准的PWM的载波周期为0.25us一--16ms,增量为0.25us;边沿对准的P删的载波周期为0.125us~8ms,增量为0.125us,无信号时间的调整范围为0.125us---125us 1)双向计数寄存器WG_COUNTER该寄存器是一个16位的双向计数器,湖南空压机是3对输出信号的时基发生器。它的时钟频率是振荡频率的二分之一,也就是每一个状态周期WG_COUNTER改变一个计数值a无论什么时候都可以读计数器,但是不能直接对它进行写操作。用户可以对WG—RELOAD寄存器进行写操作,而它的值周期地装载到计数器中。
重装载寄存器WG_RELOAD
该寄存器实际上包含一对16位寄存器。当读或写该寄存器时,访问的是WG—RELOAD寄存器。写到WG—RELOAD的值,被周期地(取决于操作方式)装入到第二个寄存器。这个寄存器称为计数器比较寄存器,它是WG—COUNTER实际与之比较的时间寄存器。对第二个寄存器的装载发生于WG—COUNTER=1或者WG COUNTER的值等于计数器比较寄存器的值时,与WFG的操作方式有关。长沙空压机若写“0”到WG—RELOAD中,则当该值装入计数器中,它就停止计数。
相比较缓冲寄存器WG_COMPx共有3个(x=l,2,3)可读写的16位相比较缓冲器。每一个相比较缓冲器有一个关联的比较寄存器,它的值与每次计数后的WG_COUNTER相比较。这些比较寄存器不能直接被用户访问。G_COUNTER停止时,半个状态周期后,写入到相位比较缓冲器的值被装。