EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
使用SoC FPGA进行工业设计和电机控制 引言$ [, N' O' w, n
; s! C$ U( H+ [3 G% ]2 I 在工业系统中选择器件需要考虑多个因素,其中包括:性能、工程变更的成本、上市时间、人员的技能、重用现有IP/程序库的可能性、现场升级的成本,以及低功耗和低成本。 2 R \# g: P- {' I/ U
& V! a" P' s7 D1 m+ X+ k7 @
工业市场的近期发展推动了对具有高集成度、高性能、低功耗FPGA器件的需求。设计人员更喜欢网络通信而不是点对点通信,这意味着可能需要额外的控制器用于通信,进而间接增加了BOM成本、电路板尺寸和相关NRE(一次性工程费用)成本。
1 z. G% v D. s9 Y0 k8 h' y$ A5 o) C' `) E
总体拥有成本用于分析和估计购置的寿命周期成本,它是所有与设计相关的直接和间接成本的扩展集,包括工程技术成本、安装和维护成本、材料清单(BOM)成本和NRE(研发)成本等。通过考虑系统级因素有可能最大限度地减少总体拥有成本,从而带来可持续的长期盈利能力。 2 b7 `! z8 A$ m! t
3 r' W/ @" p- L6 O" @) X 美高森美公司(Microsemi)提供具有硬核 ARM Cortex-M3微控制器和IP集成的 SmartFusion2 SoC FPGA器件,它采用成本优化的封装,具有减少BOM和电路板尺寸的特性。这些器件具有低功耗和宽温度范围,能够在没有冷却风扇的极端条件下可靠地运行。SmartFusion2 SoC FPGA架构将一个硬核ARM Cortex-M3 IP与FPGA架构相集成,可以实现更大的设计灵活性和更快的上市时间。美高森美为 电机控制算法开发提供了具有多个多轴电机控制参考设计和IP的生态系统,使由多处理器解决方案转向单一器件解决方案(即SoC FPGA)更加容易。
- Q8 W& E6 }/ f W9 [8 T# ^5 v& R( B! a
4 b+ ^( J G' i+ V* x0 l8 m影响TCO的因素8 T# S2 {' l# V
5 _! M" r6 q$ z% J$ I
以下是影响系统TCO的一些因素。 `, O) q' }9 L# R
+ N, v) ^0 \% `8 X (1)长寿命周期。FPGA可以在现场部署之后进行重新编程,这延长了产品的寿命周期,从而使设计人员能够专注于新产品开发,实现更快的上市时间。
& v. o) [) R/ r( |# t
: l _" z7 {! R7 t' A4 g8 U$ D4 \! ` (2)BOM.美高森美基于闪存技术的FPGA在上电时无需启动PROM或闪存 mcu来加载FPGA,它们是零级非易失性/即时启动器件。与基于SRAM的FPGA器件不同,美高森美基于闪存的FPGA无需附加上电监控器,这是因为闪存开关不会随电压而改变。 8 D# L* {8 I6 c7 G
w5 A9 D. i( r( y (3)上市时间。OEM厂商之间的激烈竞争迫切需要更多的产品差异化和更快的上市时间。经过验证的IP模块可大幅缩短设计时间。目前已经可以提供多个构建工业解决方案所需的IP模块,同时更多的模块正在开发中。SoC表现出的另一个独特优势是可以用于调试FPGA设计。为了调试FPGA设计,可以通过用于调试的高速接口,利用微控制器子系统从FPGA中提取信息。
5 C" j3 r G3 |" L
2 h9 p2 ?- R0 \& {- K2 l8 b6 U0 s (4)工程工具成本。与FPGA开发工具昂贵的概念相反,美高森美提供用于FPGA开发的免费Libero SoC IDE,仅在开发高端器件时才需要付费。
3 [4 v. Y% N4 [' B) c# f# U( g$ p: _2 K8 S
工业驱动系统
, V% @9 R6 P1 I, \0 x
: d" `) l: f) X2 }2 w 工业驱动系统由一个电机控制器件和一个通信器件构成,电机控制器件包含了驱动逆变器的逻辑和保护逻辑,通信器件则使监控控制能够对运行时间参数进行初始化和修改。 4 h1 }8 h' H2 h7 z4 t+ K% H* h4 T
* e+ h; v. A& X图1:典型工业驱动系统。 2 A5 p" {- V4 G- V8 w
在典型的驱动系统(图1)中,可能使用多个控制器器件来实现驱动逻辑。一个器件可能执行与电机控制算法相关的计算,第二个器件可能运行与通信相关的任务,第三个器件则可能运行与安全性相关的任务。
% i* j0 O5 b: g6 L4 t' r& E4 c- S( f+ V2 [; u
多轴电机控制! |0 S% d6 x K9 T s& v0 E0 h) m
6 d; f6 o" x2 R$ V4 i7 ?; k+ W& a! R 传统上,工业电机控制应用使用微控制器或DSP来运行电机控制所需的复杂算法,在大多数传统的工业驱动中,FPGA与微控制器或DSP一起使用,用于数据采集和快速作用保护。除了数据采集、PWM生成和保护逻辑,FPGA传统上并未在实现电机控制算法方面发挥主要作用。 5 {& [* n0 U M) a
4 l: e' H! e8 ^/ y8 L
使用微控制器或DSP实现电机控制算法的方法并不容易扩展到多个以独立速度运行的电机(多轴电机控制),美高森美SmartFusion2 SoC FPGA可以使用单一器件来实现集成且完整的多轴电机驱动控制(图2)。 8 E! C2 {8 O' V! h% H- h; m
7 g: l# f1 A% D9 K n6 k3 {" N) e图2:美高森美SmartFusion2 SoC FPGA使用单一器件来实现完整的多轴电机驱动控制。
* L; O( S3 @7 @4 Z) a/ ] 控制方面可以分为两个部分。一个部分用于运行磁场定向控制(FOC)算法、速度控制、电流控制、速度估计、位置估计和PWM生成;另一个部分则包括速度曲线、负载特性、过程控制和保护(故障和报警)。执行FOC算法属于时间关键型,需要在极高的采样速率下进行(在微秒范围),特别是针对具有低定子电感的高速电机。这使得在FPGA中实现FOC算法变得更优越。过程控制、速度曲线和其他保护无需快速更新,因而能够以较低的采样速率执行(在毫秒范围),并且能够在内置Cortex-M3子系统中进行编程。
9 ^1 G) W6 y% y; N& U, Q+ Q2 w
# y8 M B2 Q) T& ]* u6 c; f6 l 晶体管开关周期在驱动中发挥着重要的作用,如果FOC回路执行时间比开关周期短得多,硬件模块可以重用于计算第二个电机的电压。这意味着器件可以在相同的成本下提供更高的性能。
- R" o" ~7 v1 _- j
+ Z) v3 q4 s' Z图3:永磁同步电机的磁场定向控制(FOC)框图。
1 r9 j: i5 D9 r B- L (1)电机控制IP模块。图3为无传感器磁场定向控制算法,这一部分将会讨论这些模块,它们作为IP核提供。
* I2 z' y: |# I# W r! k$ M4 ^% P$ v
4 R2 w1 j6 ?6 n8 b$ U9 ?5 } s ●PI控制器。比例积分(PI)控制器是用于控制系统参数的反馈机制,它具有两个用于控制控制器动态响应的可调增益参数—比例和积分增益常数。PI控制器的比例分量是比例增益常数和误差输入的乘积,而积分分量是累积误差和积分增益常数的乘积。这两个分量被加在了一起。PI控制器的积分阶段可能在系统中引起不稳定,因为数据值不受控制地增加。这种不受控制的数据上升称作积分饱卷,所有的PI控制器实现方案都包括一个抗饱卷机制,用于确保控制器输出是有限的。美高森美的PI控制器IP模块使用hold-on-saturation(保持饱和)算法用于抗饱卷。这个模块还提供附加特性以设置最初的输出值。2 l0 ?( M8 E& u
}0 Q; s; r. x- }! n5 q X; C ●磁场定向控制(FOC)。FOC是通过独立地确定和控制转矩和磁化电流分量来为电机提供最优电流的算法。在永磁同步电机(PMSM)中,转子已经磁化。因此,为电机提供的电流只用于转矩。FOC是计算密集型算法,但是美高森美电机控制参考设计已经针对器件资源的最优使用而构建。FOC算法包括Clarke、Park、逆Clarke和逆Park变换。+ @9 R9 y! v( |5 I3 W/ F) g
$ G1 Z/ Q! ^+ u6 r8 ?9 w
●角度估计。FOC的一个输入是转子角度。精确确定转子角度对于确保低功耗是必不可少的。增添确定位置和速度的物理传感器会增加系统的成本并降低可靠性。无传感器算法有助于消除传感器,但是增加了计算复杂性。美高森美针对无传感器控制提供了两个角度计算算法IP模块—一个基于Luenberger观测器,另一个基于直接反电动势计算。该公司还提供基于霍尔传感器和编码器的单独参考设计。9 Y! I* f/ i) d2 K0 ]
* K" } ~! l# M ●PLL.PLL用于同步信号,在多个应用中有用,例如逆变器的角度估计和电网同步。
7 M" {0 [9 ?; q# r7 \
! _4 h1 Q4 b! \/ J% G$ r& [9 E ●速率限制器。速率限制器模块可以实现系统变量或输入的平滑改变。例如,在电机控制系统中,如果电机所需的速度突然改变,系统可能变得不稳定。为了避免此类情形,速率限制器模块用于从初始速度转变到所需的速度。速率限制器模块可以进行配置以控制改变的速率。
( u% b/ C8 D- }
. \! S q7 |" r& o1 ^2 B0 `2 { ●空间矢量调制。空间矢量调制模块改善了直流总线利用率,并消除了晶体管开关的短脉冲。因为晶体管开启/关断时间比脉冲持续时间长,短脉冲会导致不正确的开关行为。
. T5 n5 i- a, D! `* M! ?/ \. V4 H1 w; S( k# k' P, O
●三相PWM生成。在所有计算的最后,可以得到三相电机电压。这些电压用于生成逆变器中晶体管的开关信号。PWM模块为六个(三个高侧和三个低侧)晶体管产生开关信号,并且具有死区时间和延迟时间插入等先进特性。可编程的死区时间插入特性有助于避免逆变器引脚上的灾难性短路情况。可编程的延迟时间插入特性使ADC测量与PWM信号生成能够同步。该模块可以配置成与仅由N-MOSFET组成的逆变器或同时包括N-MOSFET和P-MOSFET的逆变器一起工作。
. t) u6 u( L1 o+ V$ @
* I- i4 w& U* T- |7 J8 p: r/ x (2)在SoC中调试FPGA设计。通常,在微控制器上调试设计比在FPGA上进行调试相对简单一些。在SoC中,可以利用FPGA的高性能,同时保持在微控制器中更快速调试的优势。美高森美SmartFusion2 SoC FPGA中的微控制器子系统和FPGA架构可以通过AMBA APB或AXI总线彼此进行通信。这样可以把测试数据注入FPGA架构中,或者从FPGA架构中记录调试数据,从而帮助实现运行时间的内部数据可视化,用于实时调试。固件代码可以单步运行,在代码中可以设置断点来分析FPGA寄存器数据。
6 x% y- w E7 k* y. M! }
基于SmartFusion2 SoC FPGA的多轴电机控制解决方案通过USB连接至主机PC,并与图形用户界面(GUI)通信,进行启动/停止电机,设置电机速度值和其他系统参数,描绘多达四个系统变量,例如电机速度、电机电流和转子角度(图4)。 * k4 @% Z! V2 q. O% E p$ R
' |0 B: Q3 K; W7 ?
图4:GUI的屏幕截图—绘制内部参数:转子角度(绿色)、Valpha(红色)、Vbeta(黑色)、电机速度(蓝色)。 4 P K4 Q, }( h8 W/ x, M$ G Z
(3)生态系统。美高森美提供一组丰富的IP库,包括前面讨论过的数种电机控制功能。这些模块可以轻易定制,并可以在美高森美器件中移植。使用Libero SoC软件的Smart Design工具,这些模块可以采用图形方式配置和连接在一起。借助于这些IP模块,设计人员能够显著减少在FPGA中实现电机控制算法所需的时间。
2 K; F/ X9 I. I# @' N; K" X" s' U) H' l7 r' m6 w9 f
这些IP模块已在以高达30,000r/min转速和200kHz开关频率运行的电机上进行了测试。 工业通信协议
m- I' |' V( |8 D5 h
$ J6 ~1 I( o0 K/ K1 r/ b 工业网络的发展趋势是通过使用更快的网络通信替代点至点通信。实现此类高速通信需要支持更高的带宽,这对于同时处理电机控制算法的微控制器或DSP来说并不容易。在大多数情况下,会使用一个附加的微控制器或FPGA来处理与每个电机控制器的通信。通常使用的基于以太网的协议有PROFINET、EtherNet/IP和EtherCAT标准,这些标准仍然在演进。其他的协议包括了CAN和Modbus.在这种情况下使用SoC的优势,是在单一FPGA平台上支持多种工业以太网协议标准。& Z d+ u$ s6 G2 c% N* g- w
6 [1 _' {- X0 U8 d/ q) w4 D& R5 L
根据终端系统目标,可以通过重用IP和协议栈(用于通信)来优化系统的成本,或者通过仔细地在硬件(FPGA)和软件(ARMCortex-M3子系统)中划分功能来优化性能。& U* W- [: t2 y+ _1 Y$ F4 t
' G% H. h4 w; A+ w9 t 美高森美的SmartFusion2 FPGA具有内置CAN、高速USB和千兆以太网模块作为微控制器子系统的一部分。高速SERDES模块用于实现涉及串行数据传送的协议。
" x3 c9 \! W( h9 t- q: R |# q. P1 q* {3 n: H8 Y. Y% R
安全性: C* W) v5 h5 w
& c% C3 L7 J* H! F# [! p$ [9 U
SmartFusion2 SoC FPGA器件具有数项设计和数据安全特性。DPA认证反篡改保护和加密特性等设计安全特性能够帮助保护客户的知识产权。SoC FPGA器件还包括数据安全特性,例如ECC硬件加速器、AES-128/256和SHA-256服务。对于数据安全性,可以使用EnforcIT IP Suite和CodeSEAL软件安全构件,EnforcIT IP包括一套可定制内核(作为网表),有效地将安全层移到硬件中。CodeSEAL将对策注入到固件中,可以独立地使用,或者用作EnforcIT的提升。: I4 O: K8 l2 y2 e( d
5 C! `4 I& D) J 实现协议的灵活性可让设计人员使用多个安全层来认证从中央监控控制器进入的信息。
9 V/ ]1 v/ N' c( _/ ^; z$ ]! }+ m8 f* y& b! O- ?( k
可靠性+ q+ k1 F5 c: U: K) g7 |2 G
9 H0 @1 j8 _3 E 在多个市场中安全标准的增长推动了高可靠性的需求,SmartFusion2经设计满足高可用性、安全关键型和任务关键型系统的需求,以下是SmartFusion2 SoC FPGA提供的某些可靠性特性。
+ Y! A* `1 \$ g" @ T6 f- t7 Q* ^
$ w. n5 y! z2 U) J- W. x3 Z) E (1)单粒子翻转(SEU)免疫零FIT率配置。高可靠性运作需要SEU免疫零FIT率FPGA配置,SmartFusion2架构具有不受α或中子辐射的免疫能力,因为它使用闪存来配置路由矩阵和逻辑模块中使用的晶体管。基于SRAM的FPGA在海平面上的FIT(时间失效)率可能为1k~4k,在高于海平面5,000英尺的位置会高得多。高可靠性应用可接受的FIT率低于20,这使得SmartFusion2最适合这些应用。
: f- S9 V9 H/ s5 c" t' P4 K3 d: P! e8 y% d+ R8 I$ u. g
(2)EDAC保护。SmartFusion2器件具有错误检测与校正(EDAC)控制器,可防止在微控制器子系统(MSS)存储器中发生的单粒子翻转错误。
1 e+ I" y9 \/ `6 Y6 p! S9 b
7 r; _6 e8 v/ K- |8 q8 [ [ (3)无外部配置器件。在具有大量FPGA的复杂系统中,使用外部配置器件会降低可靠性。在上电时,FPGA需花费时间来进行配置,这在使用多个FPGA器件的应用中带来了设计复杂性。SmartFusion2 SoC FPGA在器件内部包含了配置存储器,它提供了在器件一上电时就开启的附加优势。
) B1 y& j; n/ x' e% O7 k
+ M2 i0 S& V6 C3 ~ (4)军用温度级器件。SmartFusion2 SoC FPGA器件针对军用温度条件进行了全面测试。军用级器件具有10k和150k逻辑单元,并具有允许访问密码加速器的安全特性和数据安全特性。7 {% `' w/ t4 Z0 k1 V6 c
) y; b, x& C; i 总结( N0 L2 ^, Y$ d+ }
6 E+ ~% {* \2 w* J* L4 z 美高森美SmartFusion2 SoC FPGA使用经过高度优化的电机控制IP模块和经过验证的参考设计,提供了数种降低工业设计TCO的特性。从微控制器迁移的客户将能够重用某些旧代码,而FPGA设计人员将能够利用FPGA架构和ARM Cortex-M3子系统来创建一个高效的架构,允许电机控制模块和通信模块同时驻留在单一器件中。ARM Cortex-M3微控制器子系统的存在,可以实现灵活的设计和智能分区,而针对性能和成本做优化。微控制器子系统还可以在运行时间中注入和记录数据,加速调试FPGA设计。SmartFusion2平台还提供了实现工业通信协议的广泛选项。它同时提供用于设计和数据安全的多项安全特性,还提供了满足高可靠性需求的特性。SmartFusion2系列器件备有强大的生态系统支持,能够帮助客户以最低TCO来开发工业解决方案。
- J% m+ C" {' x* S |