碧波液压网 欢迎你,游客。 登录 注册

基于FPGA的永磁同步电机控制器设计

版权信息:站内文章仅供学习与参考,如触及到您的版权信息,请与本站联系。

  1 引言

  国内普遍采用TM320系列的DSP器件作为永磁同步电机控制系统的主控制器,因CPU负载过重导致系统实时性降低的问题日益显著。采用具有并行工作特性的FPGA器件作为主控制器能够提高系统实时性。因此,这里给出一种基于FPGA的永磁同步电机控制器设计方案。

  FPGA器件内嵌NiosⅡCPU软核的SoPC是Altera公司首创的SoC解决方案。将SoPC应用到电机控制中,是当前的研究热点。FPGA依靠硬件逻辑门工作,NiosⅡ处理器依靠执行软件程序工作。而在电机控制中实现软硬件协同工作则是设计的难点和创新之处。本设计需要特别注意软硬件协同工作的时序控制。软硬件之间信号的交换需按严格时序进行控制。

  2 片上系统规划

  片上系统功能总体规划为电机硬件驱动和NiosⅡ系统模块两部分,前者主要完成速度外环,电流内环的双闭环运算;而后者主要完成按键输入、LED数码管显示、电机驱动器参数设置和传输以及上位机通信。

  3 系统硬件设计

  3.1 NioslI系统模块

  3.1.1 Nios lI系统模块的设计

  在QuaauslI的SoPC builder中调出nioslI软核。调用4个用于输出的PIO核,挂接到Avalon总线上,作为信号输出I/O端口,这4个PIO核分别是start(启动电机信号),Data(16位,电机参数值),ec(8位,参数寄存器使能信号),choice(3位,多路选择信号)。调用6个作为输入的PIO核用以按键输入。设置中断掩码寄存器为中断有效,边沿捕获寄存器为上升沿检测。按键经FPGA引脚,用户设计硬件防抖动后,产生一个上升沿信号,启动NioslI处理器中断,执行相应中断功能。调用异步串口UART内核,实现与上位机通信,设置其波特率同定,UART通过中断请求实现数据通信功能。图1和图2分别给出Niosll系统结构框图和其电路原理图。

  3.1.2 NiosⅡ系统软件设计

  该系统设计的软件程序主要在Nios IED软件中编辑调试,实现按键中断程序,按键如下:reset(复位),start/stop(启动和暂停),choose(参数选择),increase(参数值的增量),de-crease(参数值的减量),transmit(参数的传输);并实现串口通信中断程序。图3为NiosⅡ处理器软件执行流程。

  这里只给出 stait按键中断软件程序代码,而choose,in-crease,decrease,transmit程序与之相同。

  int main(void)

  { alL_irq_register(start_IRQ,start_BASE,start_ISR);//按键

  start的中断注册

  IOWR_ALTERA_AVALON_PIO_IRQ_MASK(start_BASE,

  0x01);//开启中断使能;

  IOWR_ALTERA_AVALON_PIO_EDGE_CA(start_BASE,

你没有登陆,无法阅读全文内容

您需要 登录 才可以查看,没有帐号? 立即注册

标签: 同步
点赞   收藏

相关文章

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。

用户名: 验证码:

最新评论