3.1 FPGA结构设计
本系统是由集成在系统采用层次化开发方式,顶层模块由多个子模块组合而成,FPGA设计系统框图如图5所示。系统由Nios II微处理器模块和数字逻辑模块组成。

图5 FPGA设计系统框图
控制器采Nios II的32位CPU软核,由SOPC Builder 生成。用来接收外界控制信号并把信号处理后送给脉冲发生器,并通过输出端口控制LED来指示系统工作情况。系统顶层设计图如图6所示,系统由CPU软核(stepmotor_controller、CP发生器(PatternGenerator)、正弦查表控制模块(interface)、A/D电流采样模块(currenttop)、C相电流计算模块(Current_c)调节模块、PI调节模块(pimodule)、PWM发生模块(PWM)组成,各模块功能如下:
CPU:接受外界控制信号把信号处理后得到相应的细分等级和与速度对应的控制信号送给CP发生器,把转向信号处理后送到查表控制模块,并把转速和转向信号送到LED数码管和发光二极管来指示电机运行情况;
CP发生器:接受转速控制信号发出与转速相对应的CP脉冲并给出相应转速下对应的最佳细分等级; 正弦查表控制模块:根据CP脉冲和细分等级进行查表产生参考电流,根据转向控制信号来决定查表方向来实现转向控制;
A/D电流采样模块:采集步进电机A、B两相电流值;
C相电流计算模块:根据基尔霍夫电流定律A、B、C三相电流之和为零,由A/D采集的A、B两相的电流计算出C相电流;
PI调节模块:将参考正弦电流与反馈电流差值进行PI调节,把调节后的控制信号,为了防止IPM内上下半桥的IGBT同时导通,导致IPM短路,PI模块内设置的了死区时间。

图6 系统顶层设计图
顶层接口说明: AD_in_a、AD_in_b 是 AD1674转换输出的数字信号; AD_CE、AD_RD、AD_STS为AD的控制信号; clk、reset分别为系统时钟输入端口和系统复位端口; enable端口是PWM发生器使能端,功率模块温度过高热保护就会动作将enable置0停止发出PWM波,保护驱动器; setspeet、rotate_dirc分别为转速和转向控制端口; led_sel、speeddisplay、led_indicator为工作情况指示电路; pl_a、ph_a、pl_b、ph_b、pl_c、ph_c为A、B、C三相桥臂的上下半桥控制端;
|