原创 兼具性能与灵活性的SoC FPGA

2016-4-10 00:01 1072 22 22 分类: FPGA/CPLD
最新的FPGA单片系统器件集成了双ARM A9 CPU核心,全套ARM外就是下一代的电机控制。下一代电机控制系统采用了非常快速的控制回路,超过了仅用处理器方案的能力,可提供最高的电机效率。实现现场控制(FOC)的内部控制回路要求最好以浮点方式完成的变换。同时带有双处理器核心和FPGA结构的FPGA SoC最适合这种应用,单只器件就具备了通用处理器,以及用于专门算法的高性能逻辑等功能(见《FPGA与多核CPU如何改变嵌入式设计》)。 电机换向 电机工作遵循基本的电磁原理。磁场吸引与排斥的力产生了转矩,从而使电机旋转运动。 转子与定子都有磁场,磁场的产生可以用永久磁铁,也可以采用电磁方式。当转子旋转时,要求磁场有正确的对准。 磁场必须连续改变,这样,在转子360度旋转过程中,都维持产生转矩的对准。这个过程叫做换向,最基本的方法是使用直流电刷电机。这种电机设计是在定子上使用永久磁铁,而在转子上使用一对或多对电磁铁。为了消除电刷的火花与机械换向时的磨损,可以反过来做电机设计,即把永久磁铁放在转子上,而定子采用电磁铁。用电子换向代替机械换向也可以获得相同效果,这就是所谓的无刷直流电机。 面向现场的控制 在一只直流有刷电机中,控制回路可以轻易地驱动电机电流产生变化,而电刷完成机械换向功能,虽然不算最佳方式完成电子正弦换向,使用的是集成控制回路,使产生有用转矩的磁场分量最大化,而不产生转矩的磁场分量最小化(例如,也许只产生对电机轴承起作用的力)。FOC的目标是确定磁场在所有时间都有精准的方向,以产生最大转矩、消除转矩波动,从而提高电机效率,降低系统的拥有成本。 如图所示FOC功能采用了Park与Clarke变换,以及针对转矩(有用的磁场方向)和磁通(不产生转矩的磁场方向)的PI控制回路。这里使用PI控制器,而不是一般控制系统中常见的PID控制器。

EDNCOL_2013JUN27_FPGA_PLD_AN_FPGASoc01.JPG

电机通常要使用三个独立的相位。这些相围绕定子复制,给出各个极或绕组的数量。在三相系统中,根据Kirchhoff定律,三相电流之和为零。这意味着,三相电流矢量(a、b和c分量)可以用Clarke变换,表示为两个正交的相位(α、β分量)。Clarke变换在转子的一个确定旋转角上是有效的。 通过采用Park变换,这些电流矢量可以映射到旋转电机的旋转面上。于是,α、β分量被映射为q(正交)和d(直接)分量。这个变换需要转子角度(作为输入值),转子角度一般是由转子轴上附着的正交编码器决定。因此,Clarke与Park变换需要在转子旋转时做连续地计算。

分页导航

第1页:电机换向及面向现场的控制

第2页:要求、处理系统及FOC硬件

第3页:控制回路硬件、软件及ARM A9中断延迟

第4页:该团队考虑了以下场景


《电子设计技术》网站版权所有,谢绝转载 要求 虽然电机控制应用是机械式,但驱动电路必须更新的速率,以及电流、位置与速度传感器的读数都可能相当大。一个合理的场景是:某个工作在最高12,000RPM(或200RPS)转速下的电机。如果我们估测一下,则需要最少80个采样才能生成一个形态完好的正弦电流波形,于是,所需采样速率就等于:电机速度(RPS)×80×电机极性对的数量。 电机极性对的数量就是定子上电磁绕组的数量。对于一个八个绕组(或极性对)的12,000RPM电机,这相当于128,000次/s的采样速率,处理延迟为7.8μs。 不同应用各有差异,但一般系统必须设计成能够在5μs或更短时间内响应并处理所有中断,并更新电机驱动器。这个处理过程就是:采样反馈电机电流、位置与速度,并用FOC以200,000次/s的速率、5μs的处理延迟,计算出更新的电机电流驱动值。对于基于处理器的系统,这意味着200kHz的中断速率,对采用缓存、操作系统,以及非矢量中断控制器的通用处理器会是一个巨大的挑战。 处理系统 采用一个SoCFPGA系统可以做到一种更优化且灵活的实现。SoC包括了两800MHzARMCortex-A9微处理器系统。 ARMA9处理器是一种更通用的高性能处理器,但它并未针对要求确定响应时间的实时应用做过优化。不过利用SoCFPGA中集成的可编程逻辑,可以消减实时性能的局限性。可编程逻辑可以用于PWM驱动电路、任何ADC与DAC的多功能接口、位置与速度传感器接口、安全关断电路、专有网络或MAC硬件接口等等。它还可以实现FOC以及较低延迟的控制回路,较仅有处理器的系统响应时间快得多。它的典型系统响应时间不到2μs,这要比大多数仅用处理器的系统快一个数量级。 FOC硬件 像Altera公司DSPBuilder这样的设计工具可以用于对一个设计做Simulink表述,并直接实现为FPGA逻辑。DSPBuilder还能生成浮点逻辑,如仿真一样,提供较定点实现更大的动态范围和数值稳定性。表1给出了实现最小SoCFPGA所使用的资源。 所有与FOC块的接口均是由Altera的DSPBuilder与Qsys工具映射到ARM处理器系统中的存储器。这样就可以用软件控制所需要的转矩输出,用PI回路增益控制转矩与磁通,监控运行,以及完成其它功能。

分页导航

第1页:电机换向及面向现场的控制

第2页:要求、处理系统及FOC硬件

第3页:控制回路硬件、软件及ARM A9中断延迟

第4页:该团队考虑了以下场景


《电子设计技术》网站版权所有,谢绝转载 控制回路硬件 位置与速度的控制回路也可以用逻辑来实现,类似于FOC功能中使用的PI控制。不同PID电路的增益级可以用内存映射的寄存器更新到ARM处理器中。如有必要,这能够以换向功能相同的速率提供极低的延迟和快速响应。很容易实现低于5μs的控制与FOC总响应时间,可以为极快反应系统提供更高的稳定性。如FOC一样,这些控制回路也可以从Simulink模型用硬件实现,用DSPBuilder在FPGA逻辑中提供浮点硬件。 另外一个考虑是,增加少量逻辑和处理延迟,就可以为FOC硬件增加电机的多轴控制。四轴电机控制器可能要较单轴实现多用20%的逻辑,而延迟增加并不多。在基于软件的实现中,延迟基本会呈线性增加。 控制回路的软件 电机控制回路实现最常见的是在软件中用C代码。由于FOC将控制回路与电机换向隔离开来,因此电机控制的中断速率与延迟就取决于系统的响应,通常这要比PWM换向电路慢得多。为获得预期性能与稳定性而确定出最小更新速率,就需要做仿真和分析,不过,一般10kHz的更新速率就足够了。在本例中,FOC的转矩设置就是根据当前位置与速度信息的反馈与计算,以这个较低的速率(每100μs)更新。 这个SoC方案可以将硬件用于FOC“内部回路“,而ARM A9用于电机控制的“外部回路”。内部回路可以在FPGA中保证硬件有低于2μs的延迟。ARM可以在大多数情况下实现非常合理的处理延迟,最适合用于外部回路处理,此时对中断延迟要求要宽松得多,丢失一个中断也不致引起灾难性后果。 ARM A9中断延迟 以下内容是基于Altera SoC工程团队对低价SoC FPGA中所包含ARM处理器实时系统性能的一个分析,尤其是中断延迟。中断响应时间可能会随系统配置、操作系统、缓存结构,以及处理任务负载而变化。

分页导航

第1页:电机换向及面向现场的控制

第2页:要求、处理系统及FOC硬件

第3页:控制回路硬件、软件及ARM A9中断延迟

第4页:该团队考虑了以下场景


《电子设计技术》网站版权所有,谢绝转载 该团队考虑了以下场景 场景1:在单核心上的高度约束系统,它建立了一个可以实现的最小延迟基准(为了测量可实现的最高性能,场景1没有使用OS,测试采用裸机驱动器)。 场景2:与场景1类似,但测试实现采用了一个RTOS(μC/OS-II),做了一些迭代重复测量(1024次),目标是获得中断延迟的一个统计学模型。 场景3:与场景2类似,有多个后台任务运行在RTOS上,做中断延迟测量(这种后台任务是以一个无限循环向UART端口写入数据,另外,另一个后台任务则是以一个无限循环在外存储器中做memcpy,这样会产生需要长时间才能完成的AXI读/写)。 场景4:模拟一个较大的系统,此时不能将所有代码都装入到L1缓存中。(这种情况下,关键代码被置于L2缓存中。由于缓存似乎足够大,能装下全部后台处理代码,因此每次中断后,都触发对L1缓存的刷新。此时的目标是:对于一个缓存更新在系统性能中占重要角色的实际环境,当使用一个有实时操作系统的SoCFPGA时,测量可以获得的中断延迟)。 缓存(L1和L2)对中断延迟的影响最大(表2)。在场景4情况下,指令代码锁存在L2内,延迟就明显小于从外存运行的相同系统。L1使能情况下,延迟仍然较低。不过,场景3和场景4情况下的延迟会差得多,原因是后台任务会使ISR代码被另外的后台任务所替换。 中断响应延迟需要加到FOC的处理时间内(表3)。基本FOC算法被作为基准,包括三角函数、Clarke/Park变换、PID控制器,以及反向Park/Clarke变换。

EDNCOL_2013JUN27_FPGA_PLD_AN_FPGASoc02.JPG

由于ARMA9处理器的性能,基于软件的FOC控制器已表现出能够满足5μs的要求。不过,裕度几乎没有,中断响应时间通常是系统中最不确定的部分。虽然给出的结果是这些测试条件下最长的延迟,但偶尔也会出现更长的时间,原因来自于处理任务负载的统计学特性。但是,在中断以10kHz~20kHz(即50μs~100μs)速率发生的情况下,ARM Cortex-A9可以有极高的裕度来满足实时要求,而未及时服务中断的概率极低。由于将ARM中断与更高速的FOC换向要求隔离开来,因此在各种工作条件和处理负载下,都能确保实时性能。 SoC FPGA用于像电机控制这类实时应用,不仅有集成度的好处,而且能够根据需要调整性能。这种方案可用硬件实现高速率、确定性的功能(内部回路),而软件完成较低速率、更高动态和复杂的处理(外部回路),从而使系统设计者同时获得两方面的最佳性能。

分页导航

第1页:电机换向及面向现场的控制

第2页:要求、处理系统及FOC硬件

第3页:控制回路硬件、软件及ARM A9中断延迟

第4页:该团队考虑了以下场景


《电子设计技术》网站版权所有,谢绝转载

文章评论0条评论)

登录后参与讨论
我要评论
0
22
关闭 站长推荐上一条 /2 下一条