今天走晚了看门大爷没打招呼就把大楼的大门锁了;被锁在实验室了,干脆写博文把-:)
上一次使用system generator体验了自动生成代码技术的简洁、方便,本次博文主要探讨基于Xilinx SOPC技术对SVPWM控制算法进行实现。
1.1 系统软硬件分工
一个完整的SOPC系统,其最大的特点就是软硬件协同设计,软硬件协同设计强调软件和硬件开发的并行性和相互反馈。
处理器可以通过顺序执行的方式完成复杂的运算,而硬件电路对于高速并行的逻辑处理部分有无可替代的优势,所以系统中的运算部分可以交给MicroBlaze处理器来处理,而FPGA内部剩余的硬件逻辑资源则负责处理系统中对速度要求高的逻辑处理部分。结合SVPWM算法的任务特点,将扇区判断以及作用时间计算这两部分工作分配给MicroBlaze,而PWM波生成模块以及死区产生模块都由相应的硬件逻辑电路来完成,将其封装成一个IP 核,取名为PWM_IPcore,并连接到MicroBlaze的PLB总线上。系统中需要的其他IP核有:
[1]. 通用输入输出设备(GPIO):在闭环控制系统中,为uα和uβ的采样提供采样通道。
[2]. 定时器/计数器(Timer/Counter):通过设置定时器的初值,从而提供可变的采样频率。
[3]. 通用串口(Uartlite):在软件调试的过程中,可以通过串口实现与PC机的数据交换,同时在系统运行时可以接收上位机发送的指令信号。
[4]. 中断控制器(Intc):处理定时器和通用串口产生的中断信号,并按照设置的中断优先级顺序,向MicroBlaze申请中断。
以上所添加的IP核都连接到PLB总线上,系统的整体结构框图如图1所示。
图1 基于SOPC的SVPWM控制系统硬件结构图 |