fpgaベースのシステムで、モーター制御の 性能を … › media › jp ›...
TRANSCRIPT
Analog Dialogue 49-03 1
FPGAベースのシステムでモーター制御の
性能を向上著者Andrei CozmaEric Cigan
はじめに 産業民生自動車など電気モーターはさまざまな分野で活用されていますその制御は入力電力を変化させてトルク速度位置を調整するモーター制御システムによって行われます高性能のモーター制御システムを使えば効率が向上するとともにより高速で高精度な制御が可能になります高度なモーター制御システムには制御用のアルゴリズム産業用ネットワークユーザーインターフェース(UI)が統合されるためすべてのタスクをリアルタイムに実行するには強力な処理能力が必要になります一般に最新のモーター制御システムにはマルチチップのアーキテクチャが使われます例えばDS Pによってモーター制御のアルゴリズムを実行しFPGAによって高速 I Oとネットワークプロトコルの処理を行いマルチプロセッサが実行制御の処理を担うといった具合です 1
X i l i n x社は汎用性の高いC P Uと処理能力の高いF P G Aを組み合わせたSoC(Sys tem on Ch ip)「Zynq Al l P ro -g rammab le SoC(以下Zynq)」を製品化していますこの製品を利用すればモーターを制御する機能とその他の処理タスクを単一のデバイスに統合することが可能です制御アルゴリズムやネットワーク機能集中的な処理を要するタスクはプログラマブルロジックにオフロードすることができます一方で監視制御システムの監視 診断UIコミッショニングなどはプロセッシングユニットによって実行することが可能ですプログラマブルロジックには制御用のコアを複数搭載することができますそれらを並列に動作させれば複数の軸に対応する機械や複数の制御システムを実現することが可能です1チップにコントローラのすべてを実装することでよりシンプルで信頼性が高く低コストのハードウェア設計が行えます
一方MathWorks reg社はソフトウェアモデリングとシミュレーションを行うためのツール「S i m u l i n k reg」を提供していますこのツールを使用すればモデルの作成から実装までを完全に網羅する設計フローによってモデルベースの設計を行うことが可能になります 2モデルベースの設計では設計作業の場が研究施設や現場からデスクトップ環境へと移行できますまた技術者や研究者が行う作業の方法にも変化をもたらします最近はプラントからコントローラまでを含むシステム全体をモデル化することが可能ですまた技術者はコントローラを現場に配備する前に動作のチューニングを行うことができますこれによって故障のリスクが軽減されるうえに迅速なシステム統合が可能になり装置の可用性に対する依存度が低下します完成した制御用モデルはSimul inkの環境において制御システムで実行可能なC言語のコードまたはHDLのコードに自動変換することができ時間短縮と手作業によるコーディングエラーの回避につながりますシステムのモデルを実際の条件下でコントローラの動作を観測できるラピッドプロトタイピング環境とリンクさせることによってリスクはさらに軽減されます
ここではモーター制御の性能を向上させるための完全な開発環境を紹介しますこの環境はコントローラを実装するためのXil inx社のZynq SOCモデルベース設計と自動コード生成のためのMathWorks社のSimul inkに加えドライブシステムのラピッドプロトタイピングを行うためのアナログデバイセズ(ADI)の「 In te l -l i gen t Dr ives Ki t」を使って構築されました
Zynqを用いたモーター制御ソリューション
高度なモーター制御システムでは制御通信UIのタスクを組み合わせて実行しなければなりませんが処理に必要な帯域幅の要件やリアルタイム性に関する制約は
図 1 Z y n qのブロック図
SPItimes2 AMBAregインターコネクト
AMBAreg インターコネクト セキュリティ AESSHARSA
汎用AXIポート
プログラマブルロジック(システムゲートDSPRAM)
EMIO高性能のAXIポート
PCIe Gen2times
1~8レーン
XADCADCtimes2MUX温度センサー
マルチギガビットトランシーバマルチスタンダードIO(33V高速の18V)
ACP
AMBAregインターコネクト
NEONreg DSPFPUエンジン
ARMreg CoreSightreg マルチコアのデバッグトレース
NEON DSPFPUエンジン
512kBのL2キャッシュ汎用割り込みコントローラ
コンフィギュレーション タイマー DMA
ウォッチドッグタイマー
スヌープ制御ユニット
256kBのオンチップメモリ
Cortexreg-A9 MPCore32kB32kBのIDキャッシュ
Cortex-A9 MPCore32kB32kBのIDキャッシュ
AMBAreg インターコネクト
フラッシュコントローラNORNANDSRAMQUAD SPI
プロセッシングシステム
マルチポートDRAMコントローラDDR3DDR3LDDR2
I2Ctimes2
CANtimes2
UARTtimes2
プロセッサの
IOM
UX
GPIO
SDIOtimes2(DMA対応)
USBtimes2(DMA対応)
GbEtimes2(DMA対応)
Analog Dialogue 49-032
タスクごとに異なりますこのような制御システムの実装に使用するハードウェアプラットフォームは堅牢かつ拡張可能なものである必要があります加えてシステムにおいて将来的に生じる改善や規模の拡大にも対応できるものでなければなりません
Zynqは高性能のプロセッシングシステムとプログラマブルロジックを組み合わせたものです(図1)この組み合わせによって優れた並列処理能力リアルタイム性能高速演算性能多くの用途に対応可能な接続性が実現されるため上述したような要件を満たすことができますZ y n qはシステム内または外付けのアナログセンサーを監視するためにX i l i n x社製のA Dコンバータ(XADCXi l inx Ana log to Dig i t a l Conver t e r)を2個集積しています
Z y n qのプロセッシングユニットはデュアルコアの「ARM Cor t ex -A9」コプロセッサの「NEON」ソフトウェアの実行を高速化するための浮動小数点向け拡張回路で構成されていますプロセッシングシステムはソフトウェアの実装にうまく適合した監視制御やモーション制御システム管理UI遠隔保守機能などのタスクを実行しますシステムの能力を活用するために組み込みLinuxやリアルタイムOSを配備することが可能ですプロセッサは自己完結型なものでありプログラマブルロジックを構成(コンフィギュレーション)していなくても使用可能ですこのためソフトウェア開発者はF P G Aファブリックを設計するハードウェア技術者の作業が完了するのを待つことなくコードを開発することができます
プログラマブルロジック部には最大 4 4万 4 0 0 0個のロジックセルと 2 2 0 0個のD S Pスライスを集積しておりこれにより莫大な処理能力が得られますF P G Aファブリックはスケーラブルなものなので2万8 0 0 0個程度のロジックセルから成る小さなデバイスから極めて負荷の高い信号処理に対応可能なハイエンドのデバイスまでの選択肢がありますプログラマブルロジックはA M B A(A d v a n c e d M i c r o c o n t r o l l e r B u s A r c h i -t e c tu r e) - 4 AXI(Ad vanced Ex t ens ib l e I n t e r f ace)に対応する5つの高速インターコネクトによってプロセッシングシステムに密に結合されていますこれにより3000本以上のピンを使用することに相当する有効帯域幅が実現されていますプログラマブルロジックはリアルタイム対応の産業用イーサネットプロトコルなどタイムクリティカルで集中的な処理を要するタスクの実装に適していますまた複数の軸に対応する機械や複数の制御システムに必要な並列処理を実現可能な複数の制御用コアを構築することもできます
Z y n qをベースとするソリューション プラットフォームは磁界方向制御(FOCFie ld Or ien ted Cont ro l)のような今日の複雑な制御アルゴリズムにも対応できますまたXil inx社とQDESYS社が設計したRPFM(Regenera -t ive Pu l se F requency Modu la to r) 3のような複雑な変調方式においてタイミングと性能に関して求められる厳しい要件にも対応可能です
Simulinkを用いたモデルベース設計 S i m u l i n kは複数のドメインにまたがるシミュレーションとモデルベース設計に向けたブロックダイアグラムベースの開発環境です制御用のアルゴリズムやプラントのモデルを含むシステムのシミュレーションに
非常に適していますモーター制御に使うアルゴリズムは高精度な位置決めを行うことを主な目的として速度やトルクなどのパラメータを調整しますモーター制御の設計の適合性を判断するために制御アルゴリズムの評価をシミュレーションによって行うというのは非常に有効な手段ですコストのかかるハードウェア ベースのテストに移行する前にアルゴリズムについて十分に検証することで開発にかかる時間とコストを削減できるからです図2に示したのはモーター制御アルゴリズムを開発するための効率的なワークフローです モーター駆動用電子回路センサー負荷のライブ ラリを使用してコントローラとプラントの正確な モデルを構築する
システムの動作をシミュレーションしコントローラ が想定どおりに機能することを検証する
リ ア ル タ イ ム テ ス ト と 実 装 用 に C 言 語 H D L の コードを生成する
プロトタイプのハードウェアを用いて制御アルゴリズ ムのテストを行う
シミュレーションとプロトタイプのハードウェアで 行うテストによって制御システムが要件を満たす ことを実証したうえでコントローラを最終製品の システムに配備する
システムのモデルを正確に構築
テストと実装用にC言語HDLのコードを
生成
プロトタイプのハードウェア上で制御アルゴリズムを検証テスト
システムの動作をシミュレーション
製品の制御システム上に制御アルゴリズム
を実装
図 2 モーターの制御アルゴリズムを 開発するためのワークフロー
MathWorks社は「Cont ro l Sys t em Too lbox TM」「Sim-PowerSystems TM」「Simscape TM」などの製品を提供していますこれらは線形制御システムを体系的に解析 設計 チューニングするための業界標準のアルゴリズムとアプリケーションを備えています加えて機械電気油圧などの物理的ドメインにわたりシステムをモデル化してシミュレーションするためのコンポーネントライブラリと解析ツールも備えていますこれらのツールによってプラントやコントローラについて忠実度の高いモデルを作成し実装を行う前に制御システムの動作と性能を検証することができますシミュレーションは機能のコーナーケースや極端な条件下における動作の検証に最適な手法ですシミュレーションではそのような状況にも対応できるコントローラを準備でき実際の動作が装置とオペレータにとって安全であることを確認することができます
シミュレーション環境では「 E m b e d d e d C o d e r」と「HDL Code r」の各ツールを用いて制御システムを完全に検証します両ツールを使えばC言語 H D Lのコードを生成しテストに使用するプロトタイプのハードウェアに配備することができますそれらのコードは検証後に最終製品のシステムに配備することも可能です
Analog Dialogue 49-03 3
SIMULINK
シミュレーション プロトタイプ 製造
アルゴリズムのモデル EMBEDDED CODER
ZYNQ ZYNQ
ARM ARM
C言語によるアルゴリズム
HDLによるアルゴリズム
プログラマブルロジック プログラマブルロジック
モーター モーター システム
Linuxドライバ
C言語によるアルゴリズム
Linuxドライバ
システム用のコード
AXIインターフェース
AXIインターフェース
IP1
IP2
IP3HDL CODER
VIVADO
VIVADO
アルゴリズムのモデル
モーターのモデル
AXI バス
HDLによるアルゴリズム
AXI バス
図 3 シミュレーションから製造までの流れ
この時点では固定小数点やタイミングに関する要件などソフトウェアとハードウェアの実装についての仕様が定められますコードの自動生成機能は概念設計からシステム実装までに要する時間の短縮に貢献しますまた人為的なコーディングエラーが削減されるので実装がモデルとマッチしているかを保証します図3はS i m u l i n kにおいてモーター用のコントローラをモデル化しそれを最終製品のシステムに移行するまでに必要な手順を示しています
最初の作業は S i m u l i n kでコントローラとプラントをモデル化してシミュレーションを実施することですこの段階でソフトウェアで実装するブロックとプログラマブルロジックで実装するブロックに制御アルゴ
リズムを分割しますシミュレーションと分割が完了したらEmbedded Code rとHDL Code rを使用してコント ローラのモデルをC言語のコードとH D Lのコードに変換しますZynqベースのプロトタイプシステムによって制御アルゴリズムの性能を検証し製造段階に移行する前にコントローラのモデルをさらにチューニングします製造段階では自動生成されたC言語 HDLのコードを複雑な製品システムのフレームワークに実装しますこのワークフローによって製造段階に達した時点で制御アルゴリズムの検証 テストが完全に行われたことが保証されますその結果システムの堅牢性の面で高い信頼性を確保することが可能になります
電圧変換
絶縁
FMC
LPC
HPC
ドライブボード用コネクタ
ドライブボードのコネクタ
RJ45
コネクタ
ホール素子
差動ホール素子エンコーダ
レゾルバ用のコネクタ
絶縁電源
電源
産業用GbEインターフェース
電圧変換
電圧変換
電圧変換
絶縁
絶縁
絶縁
デジタル信号
デジタル信号 PWM
デジタル信号
デジタル信号
デジタル信号
アナログ信号
アナログ信号
アナログ信号
電流電圧測定
コントローラボード 低電圧ドライブボード
位置検出インターフェース(ホール素子エンコーダRDC)
XADCインターフェース
デジタルIO信号
XAD
Cコネクタ
過電流逆電圧保護
12V~48Vの外部電源
MOSFET駆動用IC
モーター用のコネクタ
MOSFETブリッジ
シャント抵抗
電流電圧のアナログシグナルコンディショニング
電流測定用ADC
センサーレス制御用のBEMF検出
図 4 A D - F M C M O T C O N 1 - E B Zのブロック図
Analog Dialogue 49-034
ADIのIDKによるラピッドプロトタイピング プロトタイプ用に適切なハードウェアを選定するのは設計における最も重要な作業ですA D Iの I n t e l l i g e n t D r i v e s K i t(以下 I D K)は迅速で効率的なプロトタイピングを可能にしますAv n e t社はこの I D KとZ y n qを組み合わせた開発キット「Zynq-7000 Al l Programmable SoCAnalog Devices In te l l igen t Dr ives Ki t」を提供していますこのキットではZynqが備えるARM Cortex-A9に28nmプロセスで製造されたプログラマブルロジックA D Iの最新世代の高精度データコンバータとデジタルアイソレータを組み合わせていますこれにより高性能なモーター制御と2G bE(2 G igab i t E the rn e t)の産業用ネットワークへの接続が可能になりますまたこのキットにはAv n e t社のベースボード「Z e d B o a r d 7 0 2 0」と複数種のモーターに対する効率的な制御機能を備えたA D Iの完全なドライブシステムモジュール「A D - F M C M O T C O N 1 - E B Z」が付属していますさらにこのキットはA D Iのダイナモメーター駆動システム「A D- DYNO1- EBZ」によって拡張することが可能ですA D - D Y N O 1 - E B Zは動的に調整が可能な負荷でありモーター制御の性能をリアルタイムにテストする際に利用できますA D - F M C M O T C O N 1 - E B Zは図 4に示すようにコントローラボードとドライブボードで構成されています
コントローラボードはミックスドシグナル対応のFPGAメザニンカード(FMC)ですLPC(Low P in Coun t)またはHPC(High P in Coun t)のコネクタによってX i l i n x社製の任意のF P G AやS o Cプラットフォームに接続できるように設計されていますこのボードは以下のような機能を備えています
絶縁型ADコンバータ(ADC)を用いた電圧 電流測定
XADCに対する絶縁型インターフェース
完全絶縁型のデジタル制御信号 フィードバック信号
ホール素子差動ホール素子エンコーダレゾルバ 向けのインターフェース
産業用の高速通信プロトコル (Ethe rCATPROFINETEthe rne t IPPower l ink など)に対応可能な2GbEの物理層デバイス
FMCの全電圧レベルにおけるシームレスな動作を実現 するFMC信号電圧調節インターフェース
図 5 ダイナモメーターの駆動システム
ANALOG DISCOVERY
組み込み制御ボード
30ピンのコネクタ
UI(キーと
液晶ディスプレイ)
電流速度の測定
MOSFETによる3相ブリッジ 固定的な接続
ダイナモメーター駆動システム
INSTRUMENTCONTROL TOOLBOX
ZYNQ INTELLIGENTDRIVES PLATFORM
G M統合型のコントローラ
すべてのモーター制御システムではコントローラと ユーザーを保護するために絶縁が重要になりますコントローラボード上のアナログ信号 デジタル信号を完全に絶縁することによってモータードライブ側で生じ得る危険な電圧からF P G Aプラットフォームが常に保護されることが保証されます
ドライブボードはモーターの駆動に必要なすべてのパワーエレクトロニクスに加えて電流 電圧の検出回路と保護回路を搭載していますこのボードは以下のような機能を備えています ブラシレス D C( B L D C)モーター永久磁石同期 モーター( P M S M)ブラシ付き D Cモータース テッピングモーターを1 2 V~4 8 Vの範囲において 最大18Aの電流で駆動
動的な制動機能過電流 逆電圧に対する総合的な 保護機能
絶縁型ADCを用いた相電流測定プログラマブルゲ インアンプによって電流測定用の入力範囲を最大限 に拡大可能
コントローラボードに対するDCバス電圧相電流 総電流フィードバック信号の供給
PMSMBLDCモーターに対するセンサーレス制御用 の逆起電力(B E M FB a c k E l e c t r o m o t i v e F o r c e) ゼロ交差検出機能
ダイナモメーターは動的に調整が可能な負荷でありモーター制御の性能をリアルタイムにテストする際に利用できます固定的に直接結合された 2つのB L D Cモー ターで構成されます図 5に示すように一方のB L D C モーターは負荷として機能しダイナモメーターの組み込み制御システムによって制御されますもう一方の モーターはADIのIDKによって駆動されますこのシステムは負荷電流と速度に関する情報を表示するUIを備えておりさまざまな負荷プロファイルの設定が行えますまたUSBベースのオシロスコープ「Analog Discovery」(D i g i l e n t社製)を使用することで外部から制御することができますMathWorks社の「 In s t rumen t Con t ro l To o l b o x T M」を使用し「M AT L A B reg」から直接負荷の信号の取得と制御を行うことが可能です
Analog Dialogue 49-03 5
FPGA コントローラボード 低電圧ドライブボード
SINC3
フィルタ
RC LPF ADA4084-2
オペアンプ
カットオフ周波数
76kHz
RC LPF
カットオフ周波数
76kHz
AD8251
ゲイン1248
ゲイン 01
SINC3
フィルタ
データ
データ
データ
(015) クロック
20MHz
クロック
20MHz
AD7401
ΣΔモジュレータ
絶縁
AD7401
ΣΔモジュレータ
絶縁
∙250mV ∙250mV ∙125mV
LP
LN
∙250mV
∙25V∙25V ∙25V
データ
(015)
PGA
RC LPF
カットオフ周波数100kHz
AD8207
ディファレンスアンプ
シャント抵抗
ゲイン 20
図 6 相電流のシグナルチェーン
すべてのモーター制御システムにおいて性能を大きく左右するのはモーターの電流と電圧の測定品質ですA D Iの I D Kは高性能のアナログシグナルコンディショニング用コンポーネントとA D Cを備えており高い精度で電流 電圧の測定が行えます図6に示すように測定経路はコントローラボードとドライブボードの間で分離されています
相電流はシャント抵抗の両端の電圧を測定することによって算出できます言うまでもなく測定精度は最大限に高めたいわけですがADCがシャント抵抗の近くにあるか否かに依存して測定経路は2種類考えられますまずADCがシャント抵抗の近くにある場合には信号経路は非常に短くノイズは結合しにくくなりますシャント抵抗からの小さな差動電圧は絶縁型のシグマデルタ
(Σ Δ)モジュレータ「A D 7 4 0 1」によって直接測定されますインターフェースやシグナルコンディショニング用の回路を追加する必要はありません一方A D Cがシャント抵抗から離れている場合には信号経路が長く特に電源からのスイッチングノイズやモーターからのノイズが結合しやすくなりますこのためA D Cとシャント抵抗の間に配置されるプリント回路基板のパターンとシグナルコンディショニング回路が適切に シールドされるように十分に注意を払う必要がありますシャント抵抗の小さな差動電圧はディファレンスアンプ「AD8207」によってドライブボード上で増幅されますAD8207はノイズの結合を防ぐためにシャント抵抗の近くに配置します信号の振幅はフルスケールでplusmn 1 2 5 m Vですがノイズの影響を最小限に抑えるために
plusmn 2 5 Vに増幅します増幅された信号はプログラマブルゲイン計装アンプ(PGIA)「AD8251」を用いたもう1つの増幅段を経由しますこれにより入力範囲に合わせて適切にスケーリングされた信号がADCに入力されることが保証されます増幅後のアナログ信号はコネクタを介してコントローラボードに伝送されますコネクタには各アナログ信号にノイズが結合されないようにするためにシールドが施されていますドライブボードからのアナログ信号はオペアンプ「ADA4084-2」によってAD7401の入力範囲に適合するように減衰されます
電圧 電流の情報をフィードバックするシグナルチ ェーンにおいては絶縁型の2次Σ ΔモジュレータであるA D 7 4 0 1 Aが最も重要な要素となりますこの高性能のA D Cはミッシングコードなしで 1 6ビットの分解能13 3ビットのENOB(有効ビット数)83dBのSN比を実現します2線式のデジタルインターフェースは2 0 M H zのクロック入力と1ビットのデジタルビットストリーム出力で構成されますADCの出力はs inc 3
のデジタルフィルタによって再構成(ビット数とサンプリングレートのフォーマッティング)されます データシートには1 6ビット7 8 k H zのサンプリングレートで出力する場合のフィルタのモデルとH D Lによる実装が示されています出力分解能とサンプリング レートはフィルタのモデルとデシメーション率を変更することによって調整可能です7 8 k H zのサンプリングレートは多くのアプリケーションに対して十分な高さですがもっと高いレートが必要なケースもあり得ますそのような場合には図7に示すようにフィルタ
図 7 フィルタバンク
遅延T
AD7401ΣΔ
モジュレータ SINC 3 フィルタ
データ
SINC 3 フィルタ
SINC 3 フィルタ
データセレクタ
N
ADCの出力コード
遅延 N∙T
クロック
Analog Dialogue 49-036
図 8 X A D C用の信号測定チェーン
FPGA
コントローラボード 低電圧ドライブボード
RC LPF ADA4084-2
オペアンプ
カットオフ周波数76kHZ
VAUX_P
VAUX_N
VP
ユニポーラ 0V~1V 0V~1V
VN
AD8251
ゲイン1248
ゲイン01
XADC
AD7401
モジュレータΣ-∆
絶縁
∙250mV ∙250mV ∙125mV
LP
LN
∙25V∙25V ∙25VPGA
RC LPF
カットオフ周波数100kHz
AD8207
ディファレンスアンプ
ADG759
マルチプレクサ
AD8137
ADC用差動ドライバ
アナログ絶縁
デジタルビットストリーム
シャント抵抗
ゲイン20
再構成用のアナログフィルタ
サレンキー型カットオフ周波数100kHz
アナログ絶縁
AD7401
モジュレータΣ-∆
絶縁
∙2
再構成用のアナログフィルタ
サレンキー型カットオフ周波数100kHz
バンクを使用し16ビットの分解能でシステムのサンプリングレートを 1 0 M S P S(メガサンプル 秒)まで高めることが可能ですフィルタバンクではn個のs i n c 3フィルタとサンプリングクロックが使われます各サンプリングクロックにはそれぞれT( s i n c 3フィルタにおける伝搬時間をnで割った数)の倍数の遅延が加えられますデータ用のセレクタは周期TでA D変換の結果となるコードを出力します
相電流の測定はZynqのXADCによって行うこともできますXADCを使用する場合の信号測定チェーンは通常の測定チェーンにおいてA D 7 4 0 1の後段に再構成用のサレンキー型アナログフィルタを追加することで構成しますこのフィルタはオペアンプ「A D 8 6 4 6」を用いてコントローラボード上に実装します(図8)絶縁型のΣ Δモジュレータと再構成用のアナログフィルタを組み合わせることにより測定品質を損なうことなくX A D Cの入力信号のアナログ絶縁を容易かつ低コストで実現できます
A D Iの I D Kには S i m u l i n kベースのコントローラモデル群X i l i n x社の完全な「Vi v a d oフレームワーク」そしてA D IのL i n u xインフラストラクチャが含まれています IDKを使用すればシミュレーションプロトタイピング製品のシステムの実装というモーター制御システムの開発に必要なすべての作業を実施することができます
設計作業は6ステップのコントローラとP M S M磁界方向コントローラという2種類のコントローラのモデルを使用して開始することができます図9にこれら2種類のコントローラの構成を示しました6ステップのコントローラにはB L D Cモーター用に台形波を制御する機能を実装しますFOCコントローラは制御システムに統合するためのFOCコアとして使用できます
プラントのモデルとコントローラのモデルをシミュレーション段階で作成しシステム全体の動作をシミュレーションすることによってコントローラが想定どおりに動作するか否かを検証することができますコントローラのモデルはC言語で実装する部分とH D Lで実装する部分に分割されますその際にはコントローラのモデルがハードウェアによる実装と同じように動作するようにタイミング固定小数点サンプリングレートループ時間などの制約について定義することになります図10に6ステップのコントローラをソフトウェアで実現する部分とHDLで実現する部分に分割した様子を示しました
Analog Dialogue 49-03 7
シミュレーションによってコントローラを完全に検証したら次にハードウェアプラットフォーム上でそのプロトタイプを構築しますZynqをベースとするワークフローによりC o r t e x - A 9とプログラマブルロジックのそれぞれをターゲットとしてサブシステムに分割されたSimul inkのモデルからC言語のコードとHDLのコードが生成されますこのワークフローではプログラマブルロジックをターゲットとするH D LのコードがH D L Coderによって生成されます一方Cor tex-A9をターゲットとするC言語のコードはEmbedded Coderによって生成されますMathWorks社のZynqサポートパッケージを使えばモデルを基にしたアルゴリズムを実装したC言語のコードを含みAXIバスとの通信を行うARM用の実
6ステップのコントローラと周辺回路のシミュレーション用テストベンチCOPYRIGHT 2014 THE MATHWORKS INC
システムへの入力
MOTOR_ON
VELOCITY_COMMAND
INVERTER_GATES
ZynqにおけるC言語とHDLのコンポーネント
ZynqにおけるC言語とHDLのコンポーネント
HALL_A
HALL_B
HALL_C
システムの解析
連続動作する理想的なスイッチ
POWERGUI
M
6ス
Zy
路のシミュレーション用テストベンチHE MATHWORKS INC
ーネント
ステ
yn
辺回路の014 TH
ポーネ
C言語でアルゴリズムを記述したモデル
1kHz
HDLでアルゴリズムを記述したモデル
10MHz
CD DC
図 1 0 コントローラをC言語による実装とH D Lによる実装に分割した様子
6ステップのコントローラと周辺回路のシミュレーション用テストベンチCOPYRIGHT 2014 THE MATHWORKS INC
PMSM磁界方向コントローラのテストベンチCOPYRIGHT 2010-2013 THE MATHWORKS INC
システムへの入力
MOTOR_ON
VELOCITY_COMMAND
INVERTER_GATES
ZynqにおけるC言語とHDLによるコンポーネント
ZynqにおけるC言語とHDLによるコンポーネント
HALL_A
HALL_B
HALL_C
システムの解析
連続動作する理想的なスイッチ
POWERGUI
システムへの入力 システムの
解析
M
MCD DC
MOTOR_ONINVERTER_ENABLE
PMSM FOCHDIFIXPFWRAP
PHASE_VOLTAGES
COMMAND_VELOCITY
ROTOR_VELOCITY
PHASE_CURRENTS
ELECTRICAL_POSITION
CD DC
図 9 S i m u l i n kによるコントローラのモデル
行可能ファイルが生成することができますまたモデルを基にしたHDLのコードを含みプログラマブルロジックのピンとA X Iバスに接続されるビットストリームも生成することが可能です図11にコントローラの実装と IDKのハードウェアの関係を示します
ビットストリームと実行可能ファイルをハードウェア上に読み込めばコントローラの動作のテストを開始できますその際にはSimul inkとオープンソースのLinux O Sが稼働する組み込みシステムとの間でイーサネット接続を使用しHIL(Hardware - in - the -Loop)テストを実施することが可能ですシャフトの速度といったモー ターのパラメータを S i m u l i n kによって取得しシミュ
Analog Dialogue 49-038
オープンソースのLinux
イーサネット
CORTEXtrade-A9
プロセッシングシステム プログラマブルロジック モーター向けFMCカード
AXI-L
ITE
ZYNQ
C言語でアルゴリズムを記述したモデル
HDLでアルゴリズムを記述したモデル インバータ
モジュール
ホール素子用インターフェース
絶縁
図11 プロトタイプシステムに実装したコントローラ
図 1 2 A D IのL i n u xインフラストラクチャ
AD-FMCMOTCON1
ZYNQCORTEXtrade-A9
プロセッシングシステム プログラマブルロジック
ADIUBUNTU
LINUX
IIO SCOPE
libiioサーバー
ユーザーアプリケーション
UART
イーサネット
C言語のコード
HDLのコード
USB 20 USB 20
AXI
AXI
AXI
AXIインターコネクト
PWM
AXI ADC
(IAIBVBUS)
エンコーダ(位置速度)
HDMISPDIF
モーターコントローラ
パワーインバータ
エンコーダ用インターフェース
絶縁
ΣΔ型ADC
DMA
DMA
DMA
DMA
レーション結果と比較することでシステムの実装がモデルと等価であることを確認します制御アルゴリズムのテストが完了すればコントローラを製品のシステムにも適用することができます
A D Iは I D Kと共にプロトタイプと最終製品の両方に適用可能な完全なVi v a d oフレームワークとL i n u xインフラストラクチャを提供しています図1 2に I D KをサポートするLinuxインフラストラクチャを示しましたこのハイレベルの構成図にはADIのリファレンス設計がZynq上で分割される様子が示されていますプログラマブルロジックにはADCやポジションセンサーモーター駆動段と接続するための I P( I n t e l l e c t u a l P r o p e r t y)コアを実装しますH D L C o d e rによって生成されたモーター制御アルゴリズムのHDLコードはADIの IPに組み込まれますすべての I Pは構成と制御のための低速A X I - L i t eインターフェースとD M A(D i r e c t M e m o r y Acces s)チャンネルを介してソフトウェアに対してリア
ルタイムにデータを転送可能な高速A X I - S t r e a m i n gインターフェースを備えます高速イーサネットインターフェースはC o r t e x - A 9が備えるM A C周辺回路(ハードマクロ)またはプログラマブルロジックに含まれるX i l i n x社のイーサネット I Pを使用して実装することができます
Cortex-A9はADIが提供する「Ubuntu(Linux)」を搭載していますこれにはIDKのハードウェアとの通信に必要なLinux I IOドライバ監視 制御用のユーザー空間アプリケーション「 I IO Osc i l loscope(Scope)」TCPを介したリアルタイムのデータ取得とシステム制御を可能にするサーバーソフト「 l i b i i o」リモートのコンピュータ上で動作するクライアントソフトE m b e d d e d C o d e rによって生成されたC言語のコードが組み込まれるオプションのユーザーアプリケーションが含まれています
Analog Dialogue 49-03 9
A D IのL i n u xドライバはいずれも「L i n u x I n d u s t r i a l I O( I I O) S u b s y s t e m」をベースにしています現在このサブシステムはすべての主要な L i n u xカーネルに含まれています I I O S c o p eはA D Iが開発したオープンソースのL i n u xアプリケーションですZ y n qが内蔵するCor tex -A9上で動作しZynqのプラットフォームに接続された任意のADI製FMCカードから取得したデータをリアルタイムに表示することができます表示形式としては時間領域周波数領域コンスタレーションに対応しますまた取得したデータを保存してさらに詳しく解析できるようにCSVファイルやMATLAB形式ファイル(拡張子はmat)といったファイル形式をサポートしていますI IO ScopeはADIのFMCカードの構成を変更したり再度読み込んだりするためのGUIを備えています
リモートのコンピュータ上ではクライアントソフトが実行されTCPを介したリアルタイムでのデータの取得とシステムの制御が行われますこれを可能にするのが l i b i i oサーバーですサーバーはL i n u xを搭載する組み込みターゲット上で動作しますそしてターゲットとリモートクライアントの間で行われるT C Pを介したリアルタイムのデータ交換を管理します I IOクライアントはMATLABとSimul inkのネイティブアプリケーションに統合されるシステムオブジェクトとして提供されますLinuxのインターフェースはHDMI出力を利用してモニターに表示されますまたキーボードとマウスはUSB 2 0ポートによってシステムに接続できます
ADIがIDK向けに提供しているLinuxソフトウェアとHDLインフラストラクチャはMathWorks社とXi l inx社が提供するツールを組み合わせることによってモーター制御アプリケーションのプロトタイピングに最適な環境をもたらしますまた最終的な制御システムに搭載することのできる製品レベルのコンポーネントも含まれているため概念設計から製造までにかかる時間を短縮しコストを削減することが可能になります
まとめ 本稿ではF P G A対応の最新モーター制御システムの要件と動向について説明しましたMathWorks社Xi l inx社A D Iはこれらの要件を満たしより効率的で高精度なモーター制御ソリューションを開発できるよう支援するためにツール システムを市場に提供していますこのツール システムとはM a t h Wo r k s社が提供するモデルベース設計ツールとコードの自動生成ツールにXi l inx社が提供する高性能のZynqADIが提供する絶縁 電源 シグナルコンディショニング 測定用のソリューションを組み合わせたものですこれらを利用することによりモーターを駆動するためのシステムの設計検証テスト実装をかつてないほど効率的に実施できるようになります結果としてモーターの制御性能が向上するだけでなく製品を市場に投入するまでにかかる期間の短縮が可能になりますADIの IDKとZynqを併用すればM a t h Wo r k s社のS i m u l i n kを使用して設計したモーター制御アルゴリズムに対する優れたプロトタイプ環境が得られます IDKにはシステムを評価する際の出発点として使用でき任意のモーター制御プロジェクトに着手できるよう支援することを目的とした複数のリファレンス設計 4が用意されています
関連資料 1 Hi l l Tom「Motor Dr ives Migra te to Zynq SoC wi th Help f rom Mat lab」 Xce l l Journa l I ssue 87 Second Quar te r 2014年
2 O rsquo S u l l i v a n D a r a S o r e n s e n J e n s F r e d e r i k s e n Anders「Model Based Des ign Tools in Closed Loop Motor Cont ro l」 PCIM Europe 2014年
3 C o r r a d i D r G i u l i o「 F p g a H i g h E f f i c i e n c y L o w Noise Pulse Frequency Space Vector Modulat ionmdashPart I」 EDN Network 2012年10月4日
4 AD-FMCMOTCON1-EBZ User Guide
著者
Andre i Cozma(andre i cozmaanalog com)はADIのエンジニアリングマネージャーとしてシステムレベルのリファレンス設計の開発を支援しています産業オートメーションと情報科学に関する学士号に加えて電子工学と電気通信工学の博士号を取得していますモーター制御産業オートメーションソフトウェア無線電気通信などさまざまな分野にわたる設計 開発プロジェクトに従事した経験を持ちます
Andrei Cozma
Eric Cigan氏(Eric Ciganmathworks com)はMathWorks社の技術マーケティング部門でSoCとFPGAの設計ワークフローに関する取り組みを行っています同社に入社する前はMathStar社AccelChip社Mentor Graphics社で技術マーケティングに携わっていましたマサチューセッツ工科大学で機械工学の学士号と修士号を取得しています
Eric Cigan
Analog Dialogue 49-032
タスクごとに異なりますこのような制御システムの実装に使用するハードウェアプラットフォームは堅牢かつ拡張可能なものである必要があります加えてシステムにおいて将来的に生じる改善や規模の拡大にも対応できるものでなければなりません
Zynqは高性能のプロセッシングシステムとプログラマブルロジックを組み合わせたものです(図1)この組み合わせによって優れた並列処理能力リアルタイム性能高速演算性能多くの用途に対応可能な接続性が実現されるため上述したような要件を満たすことができますZ y n qはシステム内または外付けのアナログセンサーを監視するためにX i l i n x社製のA Dコンバータ(XADCXi l inx Ana log to Dig i t a l Conver t e r)を2個集積しています
Z y n qのプロセッシングユニットはデュアルコアの「ARM Cor t ex -A9」コプロセッサの「NEON」ソフトウェアの実行を高速化するための浮動小数点向け拡張回路で構成されていますプロセッシングシステムはソフトウェアの実装にうまく適合した監視制御やモーション制御システム管理UI遠隔保守機能などのタスクを実行しますシステムの能力を活用するために組み込みLinuxやリアルタイムOSを配備することが可能ですプロセッサは自己完結型なものでありプログラマブルロジックを構成(コンフィギュレーション)していなくても使用可能ですこのためソフトウェア開発者はF P G Aファブリックを設計するハードウェア技術者の作業が完了するのを待つことなくコードを開発することができます
プログラマブルロジック部には最大 4 4万 4 0 0 0個のロジックセルと 2 2 0 0個のD S Pスライスを集積しておりこれにより莫大な処理能力が得られますF P G Aファブリックはスケーラブルなものなので2万8 0 0 0個程度のロジックセルから成る小さなデバイスから極めて負荷の高い信号処理に対応可能なハイエンドのデバイスまでの選択肢がありますプログラマブルロジックはA M B A(A d v a n c e d M i c r o c o n t r o l l e r B u s A r c h i -t e c tu r e) - 4 AXI(Ad vanced Ex t ens ib l e I n t e r f ace)に対応する5つの高速インターコネクトによってプロセッシングシステムに密に結合されていますこれにより3000本以上のピンを使用することに相当する有効帯域幅が実現されていますプログラマブルロジックはリアルタイム対応の産業用イーサネットプロトコルなどタイムクリティカルで集中的な処理を要するタスクの実装に適していますまた複数の軸に対応する機械や複数の制御システムに必要な並列処理を実現可能な複数の制御用コアを構築することもできます
Z y n qをベースとするソリューション プラットフォームは磁界方向制御(FOCFie ld Or ien ted Cont ro l)のような今日の複雑な制御アルゴリズムにも対応できますまたXil inx社とQDESYS社が設計したRPFM(Regenera -t ive Pu l se F requency Modu la to r) 3のような複雑な変調方式においてタイミングと性能に関して求められる厳しい要件にも対応可能です
Simulinkを用いたモデルベース設計 S i m u l i n kは複数のドメインにまたがるシミュレーションとモデルベース設計に向けたブロックダイアグラムベースの開発環境です制御用のアルゴリズムやプラントのモデルを含むシステムのシミュレーションに
非常に適していますモーター制御に使うアルゴリズムは高精度な位置決めを行うことを主な目的として速度やトルクなどのパラメータを調整しますモーター制御の設計の適合性を判断するために制御アルゴリズムの評価をシミュレーションによって行うというのは非常に有効な手段ですコストのかかるハードウェア ベースのテストに移行する前にアルゴリズムについて十分に検証することで開発にかかる時間とコストを削減できるからです図2に示したのはモーター制御アルゴリズムを開発するための効率的なワークフローです モーター駆動用電子回路センサー負荷のライブ ラリを使用してコントローラとプラントの正確な モデルを構築する
システムの動作をシミュレーションしコントローラ が想定どおりに機能することを検証する
リ ア ル タ イ ム テ ス ト と 実 装 用 に C 言 語 H D L の コードを生成する
プロトタイプのハードウェアを用いて制御アルゴリズ ムのテストを行う
シミュレーションとプロトタイプのハードウェアで 行うテストによって制御システムが要件を満たす ことを実証したうえでコントローラを最終製品の システムに配備する
システムのモデルを正確に構築
テストと実装用にC言語HDLのコードを
生成
プロトタイプのハードウェア上で制御アルゴリズムを検証テスト
システムの動作をシミュレーション
製品の制御システム上に制御アルゴリズム
を実装
図 2 モーターの制御アルゴリズムを 開発するためのワークフロー
MathWorks社は「Cont ro l Sys t em Too lbox TM」「Sim-PowerSystems TM」「Simscape TM」などの製品を提供していますこれらは線形制御システムを体系的に解析 設計 チューニングするための業界標準のアルゴリズムとアプリケーションを備えています加えて機械電気油圧などの物理的ドメインにわたりシステムをモデル化してシミュレーションするためのコンポーネントライブラリと解析ツールも備えていますこれらのツールによってプラントやコントローラについて忠実度の高いモデルを作成し実装を行う前に制御システムの動作と性能を検証することができますシミュレーションは機能のコーナーケースや極端な条件下における動作の検証に最適な手法ですシミュレーションではそのような状況にも対応できるコントローラを準備でき実際の動作が装置とオペレータにとって安全であることを確認することができます
シミュレーション環境では「 E m b e d d e d C o d e r」と「HDL Code r」の各ツールを用いて制御システムを完全に検証します両ツールを使えばC言語 H D Lのコードを生成しテストに使用するプロトタイプのハードウェアに配備することができますそれらのコードは検証後に最終製品のシステムに配備することも可能です
Analog Dialogue 49-03 3
SIMULINK
シミュレーション プロトタイプ 製造
アルゴリズムのモデル EMBEDDED CODER
ZYNQ ZYNQ
ARM ARM
C言語によるアルゴリズム
HDLによるアルゴリズム
プログラマブルロジック プログラマブルロジック
モーター モーター システム
Linuxドライバ
C言語によるアルゴリズム
Linuxドライバ
システム用のコード
AXIインターフェース
AXIインターフェース
IP1
IP2
IP3HDL CODER
VIVADO
VIVADO
アルゴリズムのモデル
モーターのモデル
AXI バス
HDLによるアルゴリズム
AXI バス
図 3 シミュレーションから製造までの流れ
この時点では固定小数点やタイミングに関する要件などソフトウェアとハードウェアの実装についての仕様が定められますコードの自動生成機能は概念設計からシステム実装までに要する時間の短縮に貢献しますまた人為的なコーディングエラーが削減されるので実装がモデルとマッチしているかを保証します図3はS i m u l i n kにおいてモーター用のコントローラをモデル化しそれを最終製品のシステムに移行するまでに必要な手順を示しています
最初の作業は S i m u l i n kでコントローラとプラントをモデル化してシミュレーションを実施することですこの段階でソフトウェアで実装するブロックとプログラマブルロジックで実装するブロックに制御アルゴ
リズムを分割しますシミュレーションと分割が完了したらEmbedded Code rとHDL Code rを使用してコント ローラのモデルをC言語のコードとH D Lのコードに変換しますZynqベースのプロトタイプシステムによって制御アルゴリズムの性能を検証し製造段階に移行する前にコントローラのモデルをさらにチューニングします製造段階では自動生成されたC言語 HDLのコードを複雑な製品システムのフレームワークに実装しますこのワークフローによって製造段階に達した時点で制御アルゴリズムの検証 テストが完全に行われたことが保証されますその結果システムの堅牢性の面で高い信頼性を確保することが可能になります
電圧変換
絶縁
FMC
LPC
HPC
ドライブボード用コネクタ
ドライブボードのコネクタ
RJ45
コネクタ
ホール素子
差動ホール素子エンコーダ
レゾルバ用のコネクタ
絶縁電源
電源
産業用GbEインターフェース
電圧変換
電圧変換
電圧変換
絶縁
絶縁
絶縁
デジタル信号
デジタル信号 PWM
デジタル信号
デジタル信号
デジタル信号
アナログ信号
アナログ信号
アナログ信号
電流電圧測定
コントローラボード 低電圧ドライブボード
位置検出インターフェース(ホール素子エンコーダRDC)
XADCインターフェース
デジタルIO信号
XAD
Cコネクタ
過電流逆電圧保護
12V~48Vの外部電源
MOSFET駆動用IC
モーター用のコネクタ
MOSFETブリッジ
シャント抵抗
電流電圧のアナログシグナルコンディショニング
電流測定用ADC
センサーレス制御用のBEMF検出
図 4 A D - F M C M O T C O N 1 - E B Zのブロック図
Analog Dialogue 49-034
ADIのIDKによるラピッドプロトタイピング プロトタイプ用に適切なハードウェアを選定するのは設計における最も重要な作業ですA D Iの I n t e l l i g e n t D r i v e s K i t(以下 I D K)は迅速で効率的なプロトタイピングを可能にしますAv n e t社はこの I D KとZ y n qを組み合わせた開発キット「Zynq-7000 Al l Programmable SoCAnalog Devices In te l l igen t Dr ives Ki t」を提供していますこのキットではZynqが備えるARM Cortex-A9に28nmプロセスで製造されたプログラマブルロジックA D Iの最新世代の高精度データコンバータとデジタルアイソレータを組み合わせていますこれにより高性能なモーター制御と2G bE(2 G igab i t E the rn e t)の産業用ネットワークへの接続が可能になりますまたこのキットにはAv n e t社のベースボード「Z e d B o a r d 7 0 2 0」と複数種のモーターに対する効率的な制御機能を備えたA D Iの完全なドライブシステムモジュール「A D - F M C M O T C O N 1 - E B Z」が付属していますさらにこのキットはA D Iのダイナモメーター駆動システム「A D- DYNO1- EBZ」によって拡張することが可能ですA D - D Y N O 1 - E B Zは動的に調整が可能な負荷でありモーター制御の性能をリアルタイムにテストする際に利用できますA D - F M C M O T C O N 1 - E B Zは図 4に示すようにコントローラボードとドライブボードで構成されています
コントローラボードはミックスドシグナル対応のFPGAメザニンカード(FMC)ですLPC(Low P in Coun t)またはHPC(High P in Coun t)のコネクタによってX i l i n x社製の任意のF P G AやS o Cプラットフォームに接続できるように設計されていますこのボードは以下のような機能を備えています
絶縁型ADコンバータ(ADC)を用いた電圧 電流測定
XADCに対する絶縁型インターフェース
完全絶縁型のデジタル制御信号 フィードバック信号
ホール素子差動ホール素子エンコーダレゾルバ 向けのインターフェース
産業用の高速通信プロトコル (Ethe rCATPROFINETEthe rne t IPPower l ink など)に対応可能な2GbEの物理層デバイス
FMCの全電圧レベルにおけるシームレスな動作を実現 するFMC信号電圧調節インターフェース
図 5 ダイナモメーターの駆動システム
ANALOG DISCOVERY
組み込み制御ボード
30ピンのコネクタ
UI(キーと
液晶ディスプレイ)
電流速度の測定
MOSFETによる3相ブリッジ 固定的な接続
ダイナモメーター駆動システム
INSTRUMENTCONTROL TOOLBOX
ZYNQ INTELLIGENTDRIVES PLATFORM
G M統合型のコントローラ
すべてのモーター制御システムではコントローラと ユーザーを保護するために絶縁が重要になりますコントローラボード上のアナログ信号 デジタル信号を完全に絶縁することによってモータードライブ側で生じ得る危険な電圧からF P G Aプラットフォームが常に保護されることが保証されます
ドライブボードはモーターの駆動に必要なすべてのパワーエレクトロニクスに加えて電流 電圧の検出回路と保護回路を搭載していますこのボードは以下のような機能を備えています ブラシレス D C( B L D C)モーター永久磁石同期 モーター( P M S M)ブラシ付き D Cモータース テッピングモーターを1 2 V~4 8 Vの範囲において 最大18Aの電流で駆動
動的な制動機能過電流 逆電圧に対する総合的な 保護機能
絶縁型ADCを用いた相電流測定プログラマブルゲ インアンプによって電流測定用の入力範囲を最大限 に拡大可能
コントローラボードに対するDCバス電圧相電流 総電流フィードバック信号の供給
PMSMBLDCモーターに対するセンサーレス制御用 の逆起電力(B E M FB a c k E l e c t r o m o t i v e F o r c e) ゼロ交差検出機能
ダイナモメーターは動的に調整が可能な負荷でありモーター制御の性能をリアルタイムにテストする際に利用できます固定的に直接結合された 2つのB L D Cモー ターで構成されます図 5に示すように一方のB L D C モーターは負荷として機能しダイナモメーターの組み込み制御システムによって制御されますもう一方の モーターはADIのIDKによって駆動されますこのシステムは負荷電流と速度に関する情報を表示するUIを備えておりさまざまな負荷プロファイルの設定が行えますまたUSBベースのオシロスコープ「Analog Discovery」(D i g i l e n t社製)を使用することで外部から制御することができますMathWorks社の「 In s t rumen t Con t ro l To o l b o x T M」を使用し「M AT L A B reg」から直接負荷の信号の取得と制御を行うことが可能です
Analog Dialogue 49-03 5
FPGA コントローラボード 低電圧ドライブボード
SINC3
フィルタ
RC LPF ADA4084-2
オペアンプ
カットオフ周波数
76kHz
RC LPF
カットオフ周波数
76kHz
AD8251
ゲイン1248
ゲイン 01
SINC3
フィルタ
データ
データ
データ
(015) クロック
20MHz
クロック
20MHz
AD7401
ΣΔモジュレータ
絶縁
AD7401
ΣΔモジュレータ
絶縁
∙250mV ∙250mV ∙125mV
LP
LN
∙250mV
∙25V∙25V ∙25V
データ
(015)
PGA
RC LPF
カットオフ周波数100kHz
AD8207
ディファレンスアンプ
シャント抵抗
ゲイン 20
図 6 相電流のシグナルチェーン
すべてのモーター制御システムにおいて性能を大きく左右するのはモーターの電流と電圧の測定品質ですA D Iの I D Kは高性能のアナログシグナルコンディショニング用コンポーネントとA D Cを備えており高い精度で電流 電圧の測定が行えます図6に示すように測定経路はコントローラボードとドライブボードの間で分離されています
相電流はシャント抵抗の両端の電圧を測定することによって算出できます言うまでもなく測定精度は最大限に高めたいわけですがADCがシャント抵抗の近くにあるか否かに依存して測定経路は2種類考えられますまずADCがシャント抵抗の近くにある場合には信号経路は非常に短くノイズは結合しにくくなりますシャント抵抗からの小さな差動電圧は絶縁型のシグマデルタ
(Σ Δ)モジュレータ「A D 7 4 0 1」によって直接測定されますインターフェースやシグナルコンディショニング用の回路を追加する必要はありません一方A D Cがシャント抵抗から離れている場合には信号経路が長く特に電源からのスイッチングノイズやモーターからのノイズが結合しやすくなりますこのためA D Cとシャント抵抗の間に配置されるプリント回路基板のパターンとシグナルコンディショニング回路が適切に シールドされるように十分に注意を払う必要がありますシャント抵抗の小さな差動電圧はディファレンスアンプ「AD8207」によってドライブボード上で増幅されますAD8207はノイズの結合を防ぐためにシャント抵抗の近くに配置します信号の振幅はフルスケールでplusmn 1 2 5 m Vですがノイズの影響を最小限に抑えるために
plusmn 2 5 Vに増幅します増幅された信号はプログラマブルゲイン計装アンプ(PGIA)「AD8251」を用いたもう1つの増幅段を経由しますこれにより入力範囲に合わせて適切にスケーリングされた信号がADCに入力されることが保証されます増幅後のアナログ信号はコネクタを介してコントローラボードに伝送されますコネクタには各アナログ信号にノイズが結合されないようにするためにシールドが施されていますドライブボードからのアナログ信号はオペアンプ「ADA4084-2」によってAD7401の入力範囲に適合するように減衰されます
電圧 電流の情報をフィードバックするシグナルチ ェーンにおいては絶縁型の2次Σ ΔモジュレータであるA D 7 4 0 1 Aが最も重要な要素となりますこの高性能のA D Cはミッシングコードなしで 1 6ビットの分解能13 3ビットのENOB(有効ビット数)83dBのSN比を実現します2線式のデジタルインターフェースは2 0 M H zのクロック入力と1ビットのデジタルビットストリーム出力で構成されますADCの出力はs inc 3
のデジタルフィルタによって再構成(ビット数とサンプリングレートのフォーマッティング)されます データシートには1 6ビット7 8 k H zのサンプリングレートで出力する場合のフィルタのモデルとH D Lによる実装が示されています出力分解能とサンプリング レートはフィルタのモデルとデシメーション率を変更することによって調整可能です7 8 k H zのサンプリングレートは多くのアプリケーションに対して十分な高さですがもっと高いレートが必要なケースもあり得ますそのような場合には図7に示すようにフィルタ
図 7 フィルタバンク
遅延T
AD7401ΣΔ
モジュレータ SINC 3 フィルタ
データ
SINC 3 フィルタ
SINC 3 フィルタ
データセレクタ
N
ADCの出力コード
遅延 N∙T
クロック
Analog Dialogue 49-036
図 8 X A D C用の信号測定チェーン
FPGA
コントローラボード 低電圧ドライブボード
RC LPF ADA4084-2
オペアンプ
カットオフ周波数76kHZ
VAUX_P
VAUX_N
VP
ユニポーラ 0V~1V 0V~1V
VN
AD8251
ゲイン1248
ゲイン01
XADC
AD7401
モジュレータΣ-∆
絶縁
∙250mV ∙250mV ∙125mV
LP
LN
∙25V∙25V ∙25VPGA
RC LPF
カットオフ周波数100kHz
AD8207
ディファレンスアンプ
ADG759
マルチプレクサ
AD8137
ADC用差動ドライバ
アナログ絶縁
デジタルビットストリーム
シャント抵抗
ゲイン20
再構成用のアナログフィルタ
サレンキー型カットオフ周波数100kHz
アナログ絶縁
AD7401
モジュレータΣ-∆
絶縁
∙2
再構成用のアナログフィルタ
サレンキー型カットオフ周波数100kHz
バンクを使用し16ビットの分解能でシステムのサンプリングレートを 1 0 M S P S(メガサンプル 秒)まで高めることが可能ですフィルタバンクではn個のs i n c 3フィルタとサンプリングクロックが使われます各サンプリングクロックにはそれぞれT( s i n c 3フィルタにおける伝搬時間をnで割った数)の倍数の遅延が加えられますデータ用のセレクタは周期TでA D変換の結果となるコードを出力します
相電流の測定はZynqのXADCによって行うこともできますXADCを使用する場合の信号測定チェーンは通常の測定チェーンにおいてA D 7 4 0 1の後段に再構成用のサレンキー型アナログフィルタを追加することで構成しますこのフィルタはオペアンプ「A D 8 6 4 6」を用いてコントローラボード上に実装します(図8)絶縁型のΣ Δモジュレータと再構成用のアナログフィルタを組み合わせることにより測定品質を損なうことなくX A D Cの入力信号のアナログ絶縁を容易かつ低コストで実現できます
A D Iの I D Kには S i m u l i n kベースのコントローラモデル群X i l i n x社の完全な「Vi v a d oフレームワーク」そしてA D IのL i n u xインフラストラクチャが含まれています IDKを使用すればシミュレーションプロトタイピング製品のシステムの実装というモーター制御システムの開発に必要なすべての作業を実施することができます
設計作業は6ステップのコントローラとP M S M磁界方向コントローラという2種類のコントローラのモデルを使用して開始することができます図9にこれら2種類のコントローラの構成を示しました6ステップのコントローラにはB L D Cモーター用に台形波を制御する機能を実装しますFOCコントローラは制御システムに統合するためのFOCコアとして使用できます
プラントのモデルとコントローラのモデルをシミュレーション段階で作成しシステム全体の動作をシミュレーションすることによってコントローラが想定どおりに動作するか否かを検証することができますコントローラのモデルはC言語で実装する部分とH D Lで実装する部分に分割されますその際にはコントローラのモデルがハードウェアによる実装と同じように動作するようにタイミング固定小数点サンプリングレートループ時間などの制約について定義することになります図10に6ステップのコントローラをソフトウェアで実現する部分とHDLで実現する部分に分割した様子を示しました
Analog Dialogue 49-03 7
シミュレーションによってコントローラを完全に検証したら次にハードウェアプラットフォーム上でそのプロトタイプを構築しますZynqをベースとするワークフローによりC o r t e x - A 9とプログラマブルロジックのそれぞれをターゲットとしてサブシステムに分割されたSimul inkのモデルからC言語のコードとHDLのコードが生成されますこのワークフローではプログラマブルロジックをターゲットとするH D LのコードがH D L Coderによって生成されます一方Cor tex-A9をターゲットとするC言語のコードはEmbedded Coderによって生成されますMathWorks社のZynqサポートパッケージを使えばモデルを基にしたアルゴリズムを実装したC言語のコードを含みAXIバスとの通信を行うARM用の実
6ステップのコントローラと周辺回路のシミュレーション用テストベンチCOPYRIGHT 2014 THE MATHWORKS INC
システムへの入力
MOTOR_ON
VELOCITY_COMMAND
INVERTER_GATES
ZynqにおけるC言語とHDLのコンポーネント
ZynqにおけるC言語とHDLのコンポーネント
HALL_A
HALL_B
HALL_C
システムの解析
連続動作する理想的なスイッチ
POWERGUI
M
6ス
Zy
路のシミュレーション用テストベンチHE MATHWORKS INC
ーネント
ステ
yn
辺回路の014 TH
ポーネ
C言語でアルゴリズムを記述したモデル
1kHz
HDLでアルゴリズムを記述したモデル
10MHz
CD DC
図 1 0 コントローラをC言語による実装とH D Lによる実装に分割した様子
6ステップのコントローラと周辺回路のシミュレーション用テストベンチCOPYRIGHT 2014 THE MATHWORKS INC
PMSM磁界方向コントローラのテストベンチCOPYRIGHT 2010-2013 THE MATHWORKS INC
システムへの入力
MOTOR_ON
VELOCITY_COMMAND
INVERTER_GATES
ZynqにおけるC言語とHDLによるコンポーネント
ZynqにおけるC言語とHDLによるコンポーネント
HALL_A
HALL_B
HALL_C
システムの解析
連続動作する理想的なスイッチ
POWERGUI
システムへの入力 システムの
解析
M
MCD DC
MOTOR_ONINVERTER_ENABLE
PMSM FOCHDIFIXPFWRAP
PHASE_VOLTAGES
COMMAND_VELOCITY
ROTOR_VELOCITY
PHASE_CURRENTS
ELECTRICAL_POSITION
CD DC
図 9 S i m u l i n kによるコントローラのモデル
行可能ファイルが生成することができますまたモデルを基にしたHDLのコードを含みプログラマブルロジックのピンとA X Iバスに接続されるビットストリームも生成することが可能です図11にコントローラの実装と IDKのハードウェアの関係を示します
ビットストリームと実行可能ファイルをハードウェア上に読み込めばコントローラの動作のテストを開始できますその際にはSimul inkとオープンソースのLinux O Sが稼働する組み込みシステムとの間でイーサネット接続を使用しHIL(Hardware - in - the -Loop)テストを実施することが可能ですシャフトの速度といったモー ターのパラメータを S i m u l i n kによって取得しシミュ
Analog Dialogue 49-038
オープンソースのLinux
イーサネット
CORTEXtrade-A9
プロセッシングシステム プログラマブルロジック モーター向けFMCカード
AXI-L
ITE
ZYNQ
C言語でアルゴリズムを記述したモデル
HDLでアルゴリズムを記述したモデル インバータ
モジュール
ホール素子用インターフェース
絶縁
図11 プロトタイプシステムに実装したコントローラ
図 1 2 A D IのL i n u xインフラストラクチャ
AD-FMCMOTCON1
ZYNQCORTEXtrade-A9
プロセッシングシステム プログラマブルロジック
ADIUBUNTU
LINUX
IIO SCOPE
libiioサーバー
ユーザーアプリケーション
UART
イーサネット
C言語のコード
HDLのコード
USB 20 USB 20
AXI
AXI
AXI
AXIインターコネクト
PWM
AXI ADC
(IAIBVBUS)
エンコーダ(位置速度)
HDMISPDIF
モーターコントローラ
パワーインバータ
エンコーダ用インターフェース
絶縁
ΣΔ型ADC
DMA
DMA
DMA
DMA
レーション結果と比較することでシステムの実装がモデルと等価であることを確認します制御アルゴリズムのテストが完了すればコントローラを製品のシステムにも適用することができます
A D Iは I D Kと共にプロトタイプと最終製品の両方に適用可能な完全なVi v a d oフレームワークとL i n u xインフラストラクチャを提供しています図1 2に I D KをサポートするLinuxインフラストラクチャを示しましたこのハイレベルの構成図にはADIのリファレンス設計がZynq上で分割される様子が示されていますプログラマブルロジックにはADCやポジションセンサーモーター駆動段と接続するための I P( I n t e l l e c t u a l P r o p e r t y)コアを実装しますH D L C o d e rによって生成されたモーター制御アルゴリズムのHDLコードはADIの IPに組み込まれますすべての I Pは構成と制御のための低速A X I - L i t eインターフェースとD M A(D i r e c t M e m o r y Acces s)チャンネルを介してソフトウェアに対してリア
ルタイムにデータを転送可能な高速A X I - S t r e a m i n gインターフェースを備えます高速イーサネットインターフェースはC o r t e x - A 9が備えるM A C周辺回路(ハードマクロ)またはプログラマブルロジックに含まれるX i l i n x社のイーサネット I Pを使用して実装することができます
Cortex-A9はADIが提供する「Ubuntu(Linux)」を搭載していますこれにはIDKのハードウェアとの通信に必要なLinux I IOドライバ監視 制御用のユーザー空間アプリケーション「 I IO Osc i l loscope(Scope)」TCPを介したリアルタイムのデータ取得とシステム制御を可能にするサーバーソフト「 l i b i i o」リモートのコンピュータ上で動作するクライアントソフトE m b e d d e d C o d e rによって生成されたC言語のコードが組み込まれるオプションのユーザーアプリケーションが含まれています
Analog Dialogue 49-03 9
A D IのL i n u xドライバはいずれも「L i n u x I n d u s t r i a l I O( I I O) S u b s y s t e m」をベースにしています現在このサブシステムはすべての主要な L i n u xカーネルに含まれています I I O S c o p eはA D Iが開発したオープンソースのL i n u xアプリケーションですZ y n qが内蔵するCor tex -A9上で動作しZynqのプラットフォームに接続された任意のADI製FMCカードから取得したデータをリアルタイムに表示することができます表示形式としては時間領域周波数領域コンスタレーションに対応しますまた取得したデータを保存してさらに詳しく解析できるようにCSVファイルやMATLAB形式ファイル(拡張子はmat)といったファイル形式をサポートしていますI IO ScopeはADIのFMCカードの構成を変更したり再度読み込んだりするためのGUIを備えています
リモートのコンピュータ上ではクライアントソフトが実行されTCPを介したリアルタイムでのデータの取得とシステムの制御が行われますこれを可能にするのが l i b i i oサーバーですサーバーはL i n u xを搭載する組み込みターゲット上で動作しますそしてターゲットとリモートクライアントの間で行われるT C Pを介したリアルタイムのデータ交換を管理します I IOクライアントはMATLABとSimul inkのネイティブアプリケーションに統合されるシステムオブジェクトとして提供されますLinuxのインターフェースはHDMI出力を利用してモニターに表示されますまたキーボードとマウスはUSB 2 0ポートによってシステムに接続できます
ADIがIDK向けに提供しているLinuxソフトウェアとHDLインフラストラクチャはMathWorks社とXi l inx社が提供するツールを組み合わせることによってモーター制御アプリケーションのプロトタイピングに最適な環境をもたらしますまた最終的な制御システムに搭載することのできる製品レベルのコンポーネントも含まれているため概念設計から製造までにかかる時間を短縮しコストを削減することが可能になります
まとめ 本稿ではF P G A対応の最新モーター制御システムの要件と動向について説明しましたMathWorks社Xi l inx社A D Iはこれらの要件を満たしより効率的で高精度なモーター制御ソリューションを開発できるよう支援するためにツール システムを市場に提供していますこのツール システムとはM a t h Wo r k s社が提供するモデルベース設計ツールとコードの自動生成ツールにXi l inx社が提供する高性能のZynqADIが提供する絶縁 電源 シグナルコンディショニング 測定用のソリューションを組み合わせたものですこれらを利用することによりモーターを駆動するためのシステムの設計検証テスト実装をかつてないほど効率的に実施できるようになります結果としてモーターの制御性能が向上するだけでなく製品を市場に投入するまでにかかる期間の短縮が可能になりますADIの IDKとZynqを併用すればM a t h Wo r k s社のS i m u l i n kを使用して設計したモーター制御アルゴリズムに対する優れたプロトタイプ環境が得られます IDKにはシステムを評価する際の出発点として使用でき任意のモーター制御プロジェクトに着手できるよう支援することを目的とした複数のリファレンス設計 4が用意されています
関連資料 1 Hi l l Tom「Motor Dr ives Migra te to Zynq SoC wi th Help f rom Mat lab」 Xce l l Journa l I ssue 87 Second Quar te r 2014年
2 O rsquo S u l l i v a n D a r a S o r e n s e n J e n s F r e d e r i k s e n Anders「Model Based Des ign Tools in Closed Loop Motor Cont ro l」 PCIM Europe 2014年
3 C o r r a d i D r G i u l i o「 F p g a H i g h E f f i c i e n c y L o w Noise Pulse Frequency Space Vector Modulat ionmdashPart I」 EDN Network 2012年10月4日
4 AD-FMCMOTCON1-EBZ User Guide
著者
Andre i Cozma(andre i cozmaanalog com)はADIのエンジニアリングマネージャーとしてシステムレベルのリファレンス設計の開発を支援しています産業オートメーションと情報科学に関する学士号に加えて電子工学と電気通信工学の博士号を取得していますモーター制御産業オートメーションソフトウェア無線電気通信などさまざまな分野にわたる設計 開発プロジェクトに従事した経験を持ちます
Andrei Cozma
Eric Cigan氏(Eric Ciganmathworks com)はMathWorks社の技術マーケティング部門でSoCとFPGAの設計ワークフローに関する取り組みを行っています同社に入社する前はMathStar社AccelChip社Mentor Graphics社で技術マーケティングに携わっていましたマサチューセッツ工科大学で機械工学の学士号と修士号を取得しています
Eric Cigan
Analog Dialogue 49-03 3
SIMULINK
シミュレーション プロトタイプ 製造
アルゴリズムのモデル EMBEDDED CODER
ZYNQ ZYNQ
ARM ARM
C言語によるアルゴリズム
HDLによるアルゴリズム
プログラマブルロジック プログラマブルロジック
モーター モーター システム
Linuxドライバ
C言語によるアルゴリズム
Linuxドライバ
システム用のコード
AXIインターフェース
AXIインターフェース
IP1
IP2
IP3HDL CODER
VIVADO
VIVADO
アルゴリズムのモデル
モーターのモデル
AXI バス
HDLによるアルゴリズム
AXI バス
図 3 シミュレーションから製造までの流れ
この時点では固定小数点やタイミングに関する要件などソフトウェアとハードウェアの実装についての仕様が定められますコードの自動生成機能は概念設計からシステム実装までに要する時間の短縮に貢献しますまた人為的なコーディングエラーが削減されるので実装がモデルとマッチしているかを保証します図3はS i m u l i n kにおいてモーター用のコントローラをモデル化しそれを最終製品のシステムに移行するまでに必要な手順を示しています
最初の作業は S i m u l i n kでコントローラとプラントをモデル化してシミュレーションを実施することですこの段階でソフトウェアで実装するブロックとプログラマブルロジックで実装するブロックに制御アルゴ
リズムを分割しますシミュレーションと分割が完了したらEmbedded Code rとHDL Code rを使用してコント ローラのモデルをC言語のコードとH D Lのコードに変換しますZynqベースのプロトタイプシステムによって制御アルゴリズムの性能を検証し製造段階に移行する前にコントローラのモデルをさらにチューニングします製造段階では自動生成されたC言語 HDLのコードを複雑な製品システムのフレームワークに実装しますこのワークフローによって製造段階に達した時点で制御アルゴリズムの検証 テストが完全に行われたことが保証されますその結果システムの堅牢性の面で高い信頼性を確保することが可能になります
電圧変換
絶縁
FMC
LPC
HPC
ドライブボード用コネクタ
ドライブボードのコネクタ
RJ45
コネクタ
ホール素子
差動ホール素子エンコーダ
レゾルバ用のコネクタ
絶縁電源
電源
産業用GbEインターフェース
電圧変換
電圧変換
電圧変換
絶縁
絶縁
絶縁
デジタル信号
デジタル信号 PWM
デジタル信号
デジタル信号
デジタル信号
アナログ信号
アナログ信号
アナログ信号
電流電圧測定
コントローラボード 低電圧ドライブボード
位置検出インターフェース(ホール素子エンコーダRDC)
XADCインターフェース
デジタルIO信号
XAD
Cコネクタ
過電流逆電圧保護
12V~48Vの外部電源
MOSFET駆動用IC
モーター用のコネクタ
MOSFETブリッジ
シャント抵抗
電流電圧のアナログシグナルコンディショニング
電流測定用ADC
センサーレス制御用のBEMF検出
図 4 A D - F M C M O T C O N 1 - E B Zのブロック図
Analog Dialogue 49-034
ADIのIDKによるラピッドプロトタイピング プロトタイプ用に適切なハードウェアを選定するのは設計における最も重要な作業ですA D Iの I n t e l l i g e n t D r i v e s K i t(以下 I D K)は迅速で効率的なプロトタイピングを可能にしますAv n e t社はこの I D KとZ y n qを組み合わせた開発キット「Zynq-7000 Al l Programmable SoCAnalog Devices In te l l igen t Dr ives Ki t」を提供していますこのキットではZynqが備えるARM Cortex-A9に28nmプロセスで製造されたプログラマブルロジックA D Iの最新世代の高精度データコンバータとデジタルアイソレータを組み合わせていますこれにより高性能なモーター制御と2G bE(2 G igab i t E the rn e t)の産業用ネットワークへの接続が可能になりますまたこのキットにはAv n e t社のベースボード「Z e d B o a r d 7 0 2 0」と複数種のモーターに対する効率的な制御機能を備えたA D Iの完全なドライブシステムモジュール「A D - F M C M O T C O N 1 - E B Z」が付属していますさらにこのキットはA D Iのダイナモメーター駆動システム「A D- DYNO1- EBZ」によって拡張することが可能ですA D - D Y N O 1 - E B Zは動的に調整が可能な負荷でありモーター制御の性能をリアルタイムにテストする際に利用できますA D - F M C M O T C O N 1 - E B Zは図 4に示すようにコントローラボードとドライブボードで構成されています
コントローラボードはミックスドシグナル対応のFPGAメザニンカード(FMC)ですLPC(Low P in Coun t)またはHPC(High P in Coun t)のコネクタによってX i l i n x社製の任意のF P G AやS o Cプラットフォームに接続できるように設計されていますこのボードは以下のような機能を備えています
絶縁型ADコンバータ(ADC)を用いた電圧 電流測定
XADCに対する絶縁型インターフェース
完全絶縁型のデジタル制御信号 フィードバック信号
ホール素子差動ホール素子エンコーダレゾルバ 向けのインターフェース
産業用の高速通信プロトコル (Ethe rCATPROFINETEthe rne t IPPower l ink など)に対応可能な2GbEの物理層デバイス
FMCの全電圧レベルにおけるシームレスな動作を実現 するFMC信号電圧調節インターフェース
図 5 ダイナモメーターの駆動システム
ANALOG DISCOVERY
組み込み制御ボード
30ピンのコネクタ
UI(キーと
液晶ディスプレイ)
電流速度の測定
MOSFETによる3相ブリッジ 固定的な接続
ダイナモメーター駆動システム
INSTRUMENTCONTROL TOOLBOX
ZYNQ INTELLIGENTDRIVES PLATFORM
G M統合型のコントローラ
すべてのモーター制御システムではコントローラと ユーザーを保護するために絶縁が重要になりますコントローラボード上のアナログ信号 デジタル信号を完全に絶縁することによってモータードライブ側で生じ得る危険な電圧からF P G Aプラットフォームが常に保護されることが保証されます
ドライブボードはモーターの駆動に必要なすべてのパワーエレクトロニクスに加えて電流 電圧の検出回路と保護回路を搭載していますこのボードは以下のような機能を備えています ブラシレス D C( B L D C)モーター永久磁石同期 モーター( P M S M)ブラシ付き D Cモータース テッピングモーターを1 2 V~4 8 Vの範囲において 最大18Aの電流で駆動
動的な制動機能過電流 逆電圧に対する総合的な 保護機能
絶縁型ADCを用いた相電流測定プログラマブルゲ インアンプによって電流測定用の入力範囲を最大限 に拡大可能
コントローラボードに対するDCバス電圧相電流 総電流フィードバック信号の供給
PMSMBLDCモーターに対するセンサーレス制御用 の逆起電力(B E M FB a c k E l e c t r o m o t i v e F o r c e) ゼロ交差検出機能
ダイナモメーターは動的に調整が可能な負荷でありモーター制御の性能をリアルタイムにテストする際に利用できます固定的に直接結合された 2つのB L D Cモー ターで構成されます図 5に示すように一方のB L D C モーターは負荷として機能しダイナモメーターの組み込み制御システムによって制御されますもう一方の モーターはADIのIDKによって駆動されますこのシステムは負荷電流と速度に関する情報を表示するUIを備えておりさまざまな負荷プロファイルの設定が行えますまたUSBベースのオシロスコープ「Analog Discovery」(D i g i l e n t社製)を使用することで外部から制御することができますMathWorks社の「 In s t rumen t Con t ro l To o l b o x T M」を使用し「M AT L A B reg」から直接負荷の信号の取得と制御を行うことが可能です
Analog Dialogue 49-03 5
FPGA コントローラボード 低電圧ドライブボード
SINC3
フィルタ
RC LPF ADA4084-2
オペアンプ
カットオフ周波数
76kHz
RC LPF
カットオフ周波数
76kHz
AD8251
ゲイン1248
ゲイン 01
SINC3
フィルタ
データ
データ
データ
(015) クロック
20MHz
クロック
20MHz
AD7401
ΣΔモジュレータ
絶縁
AD7401
ΣΔモジュレータ
絶縁
∙250mV ∙250mV ∙125mV
LP
LN
∙250mV
∙25V∙25V ∙25V
データ
(015)
PGA
RC LPF
カットオフ周波数100kHz
AD8207
ディファレンスアンプ
シャント抵抗
ゲイン 20
図 6 相電流のシグナルチェーン
すべてのモーター制御システムにおいて性能を大きく左右するのはモーターの電流と電圧の測定品質ですA D Iの I D Kは高性能のアナログシグナルコンディショニング用コンポーネントとA D Cを備えており高い精度で電流 電圧の測定が行えます図6に示すように測定経路はコントローラボードとドライブボードの間で分離されています
相電流はシャント抵抗の両端の電圧を測定することによって算出できます言うまでもなく測定精度は最大限に高めたいわけですがADCがシャント抵抗の近くにあるか否かに依存して測定経路は2種類考えられますまずADCがシャント抵抗の近くにある場合には信号経路は非常に短くノイズは結合しにくくなりますシャント抵抗からの小さな差動電圧は絶縁型のシグマデルタ
(Σ Δ)モジュレータ「A D 7 4 0 1」によって直接測定されますインターフェースやシグナルコンディショニング用の回路を追加する必要はありません一方A D Cがシャント抵抗から離れている場合には信号経路が長く特に電源からのスイッチングノイズやモーターからのノイズが結合しやすくなりますこのためA D Cとシャント抵抗の間に配置されるプリント回路基板のパターンとシグナルコンディショニング回路が適切に シールドされるように十分に注意を払う必要がありますシャント抵抗の小さな差動電圧はディファレンスアンプ「AD8207」によってドライブボード上で増幅されますAD8207はノイズの結合を防ぐためにシャント抵抗の近くに配置します信号の振幅はフルスケールでplusmn 1 2 5 m Vですがノイズの影響を最小限に抑えるために
plusmn 2 5 Vに増幅します増幅された信号はプログラマブルゲイン計装アンプ(PGIA)「AD8251」を用いたもう1つの増幅段を経由しますこれにより入力範囲に合わせて適切にスケーリングされた信号がADCに入力されることが保証されます増幅後のアナログ信号はコネクタを介してコントローラボードに伝送されますコネクタには各アナログ信号にノイズが結合されないようにするためにシールドが施されていますドライブボードからのアナログ信号はオペアンプ「ADA4084-2」によってAD7401の入力範囲に適合するように減衰されます
電圧 電流の情報をフィードバックするシグナルチ ェーンにおいては絶縁型の2次Σ ΔモジュレータであるA D 7 4 0 1 Aが最も重要な要素となりますこの高性能のA D Cはミッシングコードなしで 1 6ビットの分解能13 3ビットのENOB(有効ビット数)83dBのSN比を実現します2線式のデジタルインターフェースは2 0 M H zのクロック入力と1ビットのデジタルビットストリーム出力で構成されますADCの出力はs inc 3
のデジタルフィルタによって再構成(ビット数とサンプリングレートのフォーマッティング)されます データシートには1 6ビット7 8 k H zのサンプリングレートで出力する場合のフィルタのモデルとH D Lによる実装が示されています出力分解能とサンプリング レートはフィルタのモデルとデシメーション率を変更することによって調整可能です7 8 k H zのサンプリングレートは多くのアプリケーションに対して十分な高さですがもっと高いレートが必要なケースもあり得ますそのような場合には図7に示すようにフィルタ
図 7 フィルタバンク
遅延T
AD7401ΣΔ
モジュレータ SINC 3 フィルタ
データ
SINC 3 フィルタ
SINC 3 フィルタ
データセレクタ
N
ADCの出力コード
遅延 N∙T
クロック
Analog Dialogue 49-036
図 8 X A D C用の信号測定チェーン
FPGA
コントローラボード 低電圧ドライブボード
RC LPF ADA4084-2
オペアンプ
カットオフ周波数76kHZ
VAUX_P
VAUX_N
VP
ユニポーラ 0V~1V 0V~1V
VN
AD8251
ゲイン1248
ゲイン01
XADC
AD7401
モジュレータΣ-∆
絶縁
∙250mV ∙250mV ∙125mV
LP
LN
∙25V∙25V ∙25VPGA
RC LPF
カットオフ周波数100kHz
AD8207
ディファレンスアンプ
ADG759
マルチプレクサ
AD8137
ADC用差動ドライバ
アナログ絶縁
デジタルビットストリーム
シャント抵抗
ゲイン20
再構成用のアナログフィルタ
サレンキー型カットオフ周波数100kHz
アナログ絶縁
AD7401
モジュレータΣ-∆
絶縁
∙2
再構成用のアナログフィルタ
サレンキー型カットオフ周波数100kHz
バンクを使用し16ビットの分解能でシステムのサンプリングレートを 1 0 M S P S(メガサンプル 秒)まで高めることが可能ですフィルタバンクではn個のs i n c 3フィルタとサンプリングクロックが使われます各サンプリングクロックにはそれぞれT( s i n c 3フィルタにおける伝搬時間をnで割った数)の倍数の遅延が加えられますデータ用のセレクタは周期TでA D変換の結果となるコードを出力します
相電流の測定はZynqのXADCによって行うこともできますXADCを使用する場合の信号測定チェーンは通常の測定チェーンにおいてA D 7 4 0 1の後段に再構成用のサレンキー型アナログフィルタを追加することで構成しますこのフィルタはオペアンプ「A D 8 6 4 6」を用いてコントローラボード上に実装します(図8)絶縁型のΣ Δモジュレータと再構成用のアナログフィルタを組み合わせることにより測定品質を損なうことなくX A D Cの入力信号のアナログ絶縁を容易かつ低コストで実現できます
A D Iの I D Kには S i m u l i n kベースのコントローラモデル群X i l i n x社の完全な「Vi v a d oフレームワーク」そしてA D IのL i n u xインフラストラクチャが含まれています IDKを使用すればシミュレーションプロトタイピング製品のシステムの実装というモーター制御システムの開発に必要なすべての作業を実施することができます
設計作業は6ステップのコントローラとP M S M磁界方向コントローラという2種類のコントローラのモデルを使用して開始することができます図9にこれら2種類のコントローラの構成を示しました6ステップのコントローラにはB L D Cモーター用に台形波を制御する機能を実装しますFOCコントローラは制御システムに統合するためのFOCコアとして使用できます
プラントのモデルとコントローラのモデルをシミュレーション段階で作成しシステム全体の動作をシミュレーションすることによってコントローラが想定どおりに動作するか否かを検証することができますコントローラのモデルはC言語で実装する部分とH D Lで実装する部分に分割されますその際にはコントローラのモデルがハードウェアによる実装と同じように動作するようにタイミング固定小数点サンプリングレートループ時間などの制約について定義することになります図10に6ステップのコントローラをソフトウェアで実現する部分とHDLで実現する部分に分割した様子を示しました
Analog Dialogue 49-03 7
シミュレーションによってコントローラを完全に検証したら次にハードウェアプラットフォーム上でそのプロトタイプを構築しますZynqをベースとするワークフローによりC o r t e x - A 9とプログラマブルロジックのそれぞれをターゲットとしてサブシステムに分割されたSimul inkのモデルからC言語のコードとHDLのコードが生成されますこのワークフローではプログラマブルロジックをターゲットとするH D LのコードがH D L Coderによって生成されます一方Cor tex-A9をターゲットとするC言語のコードはEmbedded Coderによって生成されますMathWorks社のZynqサポートパッケージを使えばモデルを基にしたアルゴリズムを実装したC言語のコードを含みAXIバスとの通信を行うARM用の実
6ステップのコントローラと周辺回路のシミュレーション用テストベンチCOPYRIGHT 2014 THE MATHWORKS INC
システムへの入力
MOTOR_ON
VELOCITY_COMMAND
INVERTER_GATES
ZynqにおけるC言語とHDLのコンポーネント
ZynqにおけるC言語とHDLのコンポーネント
HALL_A
HALL_B
HALL_C
システムの解析
連続動作する理想的なスイッチ
POWERGUI
M
6ス
Zy
路のシミュレーション用テストベンチHE MATHWORKS INC
ーネント
ステ
yn
辺回路の014 TH
ポーネ
C言語でアルゴリズムを記述したモデル
1kHz
HDLでアルゴリズムを記述したモデル
10MHz
CD DC
図 1 0 コントローラをC言語による実装とH D Lによる実装に分割した様子
6ステップのコントローラと周辺回路のシミュレーション用テストベンチCOPYRIGHT 2014 THE MATHWORKS INC
PMSM磁界方向コントローラのテストベンチCOPYRIGHT 2010-2013 THE MATHWORKS INC
システムへの入力
MOTOR_ON
VELOCITY_COMMAND
INVERTER_GATES
ZynqにおけるC言語とHDLによるコンポーネント
ZynqにおけるC言語とHDLによるコンポーネント
HALL_A
HALL_B
HALL_C
システムの解析
連続動作する理想的なスイッチ
POWERGUI
システムへの入力 システムの
解析
M
MCD DC
MOTOR_ONINVERTER_ENABLE
PMSM FOCHDIFIXPFWRAP
PHASE_VOLTAGES
COMMAND_VELOCITY
ROTOR_VELOCITY
PHASE_CURRENTS
ELECTRICAL_POSITION
CD DC
図 9 S i m u l i n kによるコントローラのモデル
行可能ファイルが生成することができますまたモデルを基にしたHDLのコードを含みプログラマブルロジックのピンとA X Iバスに接続されるビットストリームも生成することが可能です図11にコントローラの実装と IDKのハードウェアの関係を示します
ビットストリームと実行可能ファイルをハードウェア上に読み込めばコントローラの動作のテストを開始できますその際にはSimul inkとオープンソースのLinux O Sが稼働する組み込みシステムとの間でイーサネット接続を使用しHIL(Hardware - in - the -Loop)テストを実施することが可能ですシャフトの速度といったモー ターのパラメータを S i m u l i n kによって取得しシミュ
Analog Dialogue 49-038
オープンソースのLinux
イーサネット
CORTEXtrade-A9
プロセッシングシステム プログラマブルロジック モーター向けFMCカード
AXI-L
ITE
ZYNQ
C言語でアルゴリズムを記述したモデル
HDLでアルゴリズムを記述したモデル インバータ
モジュール
ホール素子用インターフェース
絶縁
図11 プロトタイプシステムに実装したコントローラ
図 1 2 A D IのL i n u xインフラストラクチャ
AD-FMCMOTCON1
ZYNQCORTEXtrade-A9
プロセッシングシステム プログラマブルロジック
ADIUBUNTU
LINUX
IIO SCOPE
libiioサーバー
ユーザーアプリケーション
UART
イーサネット
C言語のコード
HDLのコード
USB 20 USB 20
AXI
AXI
AXI
AXIインターコネクト
PWM
AXI ADC
(IAIBVBUS)
エンコーダ(位置速度)
HDMISPDIF
モーターコントローラ
パワーインバータ
エンコーダ用インターフェース
絶縁
ΣΔ型ADC
DMA
DMA
DMA
DMA
レーション結果と比較することでシステムの実装がモデルと等価であることを確認します制御アルゴリズムのテストが完了すればコントローラを製品のシステムにも適用することができます
A D Iは I D Kと共にプロトタイプと最終製品の両方に適用可能な完全なVi v a d oフレームワークとL i n u xインフラストラクチャを提供しています図1 2に I D KをサポートするLinuxインフラストラクチャを示しましたこのハイレベルの構成図にはADIのリファレンス設計がZynq上で分割される様子が示されていますプログラマブルロジックにはADCやポジションセンサーモーター駆動段と接続するための I P( I n t e l l e c t u a l P r o p e r t y)コアを実装しますH D L C o d e rによって生成されたモーター制御アルゴリズムのHDLコードはADIの IPに組み込まれますすべての I Pは構成と制御のための低速A X I - L i t eインターフェースとD M A(D i r e c t M e m o r y Acces s)チャンネルを介してソフトウェアに対してリア
ルタイムにデータを転送可能な高速A X I - S t r e a m i n gインターフェースを備えます高速イーサネットインターフェースはC o r t e x - A 9が備えるM A C周辺回路(ハードマクロ)またはプログラマブルロジックに含まれるX i l i n x社のイーサネット I Pを使用して実装することができます
Cortex-A9はADIが提供する「Ubuntu(Linux)」を搭載していますこれにはIDKのハードウェアとの通信に必要なLinux I IOドライバ監視 制御用のユーザー空間アプリケーション「 I IO Osc i l loscope(Scope)」TCPを介したリアルタイムのデータ取得とシステム制御を可能にするサーバーソフト「 l i b i i o」リモートのコンピュータ上で動作するクライアントソフトE m b e d d e d C o d e rによって生成されたC言語のコードが組み込まれるオプションのユーザーアプリケーションが含まれています
Analog Dialogue 49-03 9
A D IのL i n u xドライバはいずれも「L i n u x I n d u s t r i a l I O( I I O) S u b s y s t e m」をベースにしています現在このサブシステムはすべての主要な L i n u xカーネルに含まれています I I O S c o p eはA D Iが開発したオープンソースのL i n u xアプリケーションですZ y n qが内蔵するCor tex -A9上で動作しZynqのプラットフォームに接続された任意のADI製FMCカードから取得したデータをリアルタイムに表示することができます表示形式としては時間領域周波数領域コンスタレーションに対応しますまた取得したデータを保存してさらに詳しく解析できるようにCSVファイルやMATLAB形式ファイル(拡張子はmat)といったファイル形式をサポートしていますI IO ScopeはADIのFMCカードの構成を変更したり再度読み込んだりするためのGUIを備えています
リモートのコンピュータ上ではクライアントソフトが実行されTCPを介したリアルタイムでのデータの取得とシステムの制御が行われますこれを可能にするのが l i b i i oサーバーですサーバーはL i n u xを搭載する組み込みターゲット上で動作しますそしてターゲットとリモートクライアントの間で行われるT C Pを介したリアルタイムのデータ交換を管理します I IOクライアントはMATLABとSimul inkのネイティブアプリケーションに統合されるシステムオブジェクトとして提供されますLinuxのインターフェースはHDMI出力を利用してモニターに表示されますまたキーボードとマウスはUSB 2 0ポートによってシステムに接続できます
ADIがIDK向けに提供しているLinuxソフトウェアとHDLインフラストラクチャはMathWorks社とXi l inx社が提供するツールを組み合わせることによってモーター制御アプリケーションのプロトタイピングに最適な環境をもたらしますまた最終的な制御システムに搭載することのできる製品レベルのコンポーネントも含まれているため概念設計から製造までにかかる時間を短縮しコストを削減することが可能になります
まとめ 本稿ではF P G A対応の最新モーター制御システムの要件と動向について説明しましたMathWorks社Xi l inx社A D Iはこれらの要件を満たしより効率的で高精度なモーター制御ソリューションを開発できるよう支援するためにツール システムを市場に提供していますこのツール システムとはM a t h Wo r k s社が提供するモデルベース設計ツールとコードの自動生成ツールにXi l inx社が提供する高性能のZynqADIが提供する絶縁 電源 シグナルコンディショニング 測定用のソリューションを組み合わせたものですこれらを利用することによりモーターを駆動するためのシステムの設計検証テスト実装をかつてないほど効率的に実施できるようになります結果としてモーターの制御性能が向上するだけでなく製品を市場に投入するまでにかかる期間の短縮が可能になりますADIの IDKとZynqを併用すればM a t h Wo r k s社のS i m u l i n kを使用して設計したモーター制御アルゴリズムに対する優れたプロトタイプ環境が得られます IDKにはシステムを評価する際の出発点として使用でき任意のモーター制御プロジェクトに着手できるよう支援することを目的とした複数のリファレンス設計 4が用意されています
関連資料 1 Hi l l Tom「Motor Dr ives Migra te to Zynq SoC wi th Help f rom Mat lab」 Xce l l Journa l I ssue 87 Second Quar te r 2014年
2 O rsquo S u l l i v a n D a r a S o r e n s e n J e n s F r e d e r i k s e n Anders「Model Based Des ign Tools in Closed Loop Motor Cont ro l」 PCIM Europe 2014年
3 C o r r a d i D r G i u l i o「 F p g a H i g h E f f i c i e n c y L o w Noise Pulse Frequency Space Vector Modulat ionmdashPart I」 EDN Network 2012年10月4日
4 AD-FMCMOTCON1-EBZ User Guide
著者
Andre i Cozma(andre i cozmaanalog com)はADIのエンジニアリングマネージャーとしてシステムレベルのリファレンス設計の開発を支援しています産業オートメーションと情報科学に関する学士号に加えて電子工学と電気通信工学の博士号を取得していますモーター制御産業オートメーションソフトウェア無線電気通信などさまざまな分野にわたる設計 開発プロジェクトに従事した経験を持ちます
Andrei Cozma
Eric Cigan氏(Eric Ciganmathworks com)はMathWorks社の技術マーケティング部門でSoCとFPGAの設計ワークフローに関する取り組みを行っています同社に入社する前はMathStar社AccelChip社Mentor Graphics社で技術マーケティングに携わっていましたマサチューセッツ工科大学で機械工学の学士号と修士号を取得しています
Eric Cigan
Analog Dialogue 49-034
ADIのIDKによるラピッドプロトタイピング プロトタイプ用に適切なハードウェアを選定するのは設計における最も重要な作業ですA D Iの I n t e l l i g e n t D r i v e s K i t(以下 I D K)は迅速で効率的なプロトタイピングを可能にしますAv n e t社はこの I D KとZ y n qを組み合わせた開発キット「Zynq-7000 Al l Programmable SoCAnalog Devices In te l l igen t Dr ives Ki t」を提供していますこのキットではZynqが備えるARM Cortex-A9に28nmプロセスで製造されたプログラマブルロジックA D Iの最新世代の高精度データコンバータとデジタルアイソレータを組み合わせていますこれにより高性能なモーター制御と2G bE(2 G igab i t E the rn e t)の産業用ネットワークへの接続が可能になりますまたこのキットにはAv n e t社のベースボード「Z e d B o a r d 7 0 2 0」と複数種のモーターに対する効率的な制御機能を備えたA D Iの完全なドライブシステムモジュール「A D - F M C M O T C O N 1 - E B Z」が付属していますさらにこのキットはA D Iのダイナモメーター駆動システム「A D- DYNO1- EBZ」によって拡張することが可能ですA D - D Y N O 1 - E B Zは動的に調整が可能な負荷でありモーター制御の性能をリアルタイムにテストする際に利用できますA D - F M C M O T C O N 1 - E B Zは図 4に示すようにコントローラボードとドライブボードで構成されています
コントローラボードはミックスドシグナル対応のFPGAメザニンカード(FMC)ですLPC(Low P in Coun t)またはHPC(High P in Coun t)のコネクタによってX i l i n x社製の任意のF P G AやS o Cプラットフォームに接続できるように設計されていますこのボードは以下のような機能を備えています
絶縁型ADコンバータ(ADC)を用いた電圧 電流測定
XADCに対する絶縁型インターフェース
完全絶縁型のデジタル制御信号 フィードバック信号
ホール素子差動ホール素子エンコーダレゾルバ 向けのインターフェース
産業用の高速通信プロトコル (Ethe rCATPROFINETEthe rne t IPPower l ink など)に対応可能な2GbEの物理層デバイス
FMCの全電圧レベルにおけるシームレスな動作を実現 するFMC信号電圧調節インターフェース
図 5 ダイナモメーターの駆動システム
ANALOG DISCOVERY
組み込み制御ボード
30ピンのコネクタ
UI(キーと
液晶ディスプレイ)
電流速度の測定
MOSFETによる3相ブリッジ 固定的な接続
ダイナモメーター駆動システム
INSTRUMENTCONTROL TOOLBOX
ZYNQ INTELLIGENTDRIVES PLATFORM
G M統合型のコントローラ
すべてのモーター制御システムではコントローラと ユーザーを保護するために絶縁が重要になりますコントローラボード上のアナログ信号 デジタル信号を完全に絶縁することによってモータードライブ側で生じ得る危険な電圧からF P G Aプラットフォームが常に保護されることが保証されます
ドライブボードはモーターの駆動に必要なすべてのパワーエレクトロニクスに加えて電流 電圧の検出回路と保護回路を搭載していますこのボードは以下のような機能を備えています ブラシレス D C( B L D C)モーター永久磁石同期 モーター( P M S M)ブラシ付き D Cモータース テッピングモーターを1 2 V~4 8 Vの範囲において 最大18Aの電流で駆動
動的な制動機能過電流 逆電圧に対する総合的な 保護機能
絶縁型ADCを用いた相電流測定プログラマブルゲ インアンプによって電流測定用の入力範囲を最大限 に拡大可能
コントローラボードに対するDCバス電圧相電流 総電流フィードバック信号の供給
PMSMBLDCモーターに対するセンサーレス制御用 の逆起電力(B E M FB a c k E l e c t r o m o t i v e F o r c e) ゼロ交差検出機能
ダイナモメーターは動的に調整が可能な負荷でありモーター制御の性能をリアルタイムにテストする際に利用できます固定的に直接結合された 2つのB L D Cモー ターで構成されます図 5に示すように一方のB L D C モーターは負荷として機能しダイナモメーターの組み込み制御システムによって制御されますもう一方の モーターはADIのIDKによって駆動されますこのシステムは負荷電流と速度に関する情報を表示するUIを備えておりさまざまな負荷プロファイルの設定が行えますまたUSBベースのオシロスコープ「Analog Discovery」(D i g i l e n t社製)を使用することで外部から制御することができますMathWorks社の「 In s t rumen t Con t ro l To o l b o x T M」を使用し「M AT L A B reg」から直接負荷の信号の取得と制御を行うことが可能です
Analog Dialogue 49-03 5
FPGA コントローラボード 低電圧ドライブボード
SINC3
フィルタ
RC LPF ADA4084-2
オペアンプ
カットオフ周波数
76kHz
RC LPF
カットオフ周波数
76kHz
AD8251
ゲイン1248
ゲイン 01
SINC3
フィルタ
データ
データ
データ
(015) クロック
20MHz
クロック
20MHz
AD7401
ΣΔモジュレータ
絶縁
AD7401
ΣΔモジュレータ
絶縁
∙250mV ∙250mV ∙125mV
LP
LN
∙250mV
∙25V∙25V ∙25V
データ
(015)
PGA
RC LPF
カットオフ周波数100kHz
AD8207
ディファレンスアンプ
シャント抵抗
ゲイン 20
図 6 相電流のシグナルチェーン
すべてのモーター制御システムにおいて性能を大きく左右するのはモーターの電流と電圧の測定品質ですA D Iの I D Kは高性能のアナログシグナルコンディショニング用コンポーネントとA D Cを備えており高い精度で電流 電圧の測定が行えます図6に示すように測定経路はコントローラボードとドライブボードの間で分離されています
相電流はシャント抵抗の両端の電圧を測定することによって算出できます言うまでもなく測定精度は最大限に高めたいわけですがADCがシャント抵抗の近くにあるか否かに依存して測定経路は2種類考えられますまずADCがシャント抵抗の近くにある場合には信号経路は非常に短くノイズは結合しにくくなりますシャント抵抗からの小さな差動電圧は絶縁型のシグマデルタ
(Σ Δ)モジュレータ「A D 7 4 0 1」によって直接測定されますインターフェースやシグナルコンディショニング用の回路を追加する必要はありません一方A D Cがシャント抵抗から離れている場合には信号経路が長く特に電源からのスイッチングノイズやモーターからのノイズが結合しやすくなりますこのためA D Cとシャント抵抗の間に配置されるプリント回路基板のパターンとシグナルコンディショニング回路が適切に シールドされるように十分に注意を払う必要がありますシャント抵抗の小さな差動電圧はディファレンスアンプ「AD8207」によってドライブボード上で増幅されますAD8207はノイズの結合を防ぐためにシャント抵抗の近くに配置します信号の振幅はフルスケールでplusmn 1 2 5 m Vですがノイズの影響を最小限に抑えるために
plusmn 2 5 Vに増幅します増幅された信号はプログラマブルゲイン計装アンプ(PGIA)「AD8251」を用いたもう1つの増幅段を経由しますこれにより入力範囲に合わせて適切にスケーリングされた信号がADCに入力されることが保証されます増幅後のアナログ信号はコネクタを介してコントローラボードに伝送されますコネクタには各アナログ信号にノイズが結合されないようにするためにシールドが施されていますドライブボードからのアナログ信号はオペアンプ「ADA4084-2」によってAD7401の入力範囲に適合するように減衰されます
電圧 電流の情報をフィードバックするシグナルチ ェーンにおいては絶縁型の2次Σ ΔモジュレータであるA D 7 4 0 1 Aが最も重要な要素となりますこの高性能のA D Cはミッシングコードなしで 1 6ビットの分解能13 3ビットのENOB(有効ビット数)83dBのSN比を実現します2線式のデジタルインターフェースは2 0 M H zのクロック入力と1ビットのデジタルビットストリーム出力で構成されますADCの出力はs inc 3
のデジタルフィルタによって再構成(ビット数とサンプリングレートのフォーマッティング)されます データシートには1 6ビット7 8 k H zのサンプリングレートで出力する場合のフィルタのモデルとH D Lによる実装が示されています出力分解能とサンプリング レートはフィルタのモデルとデシメーション率を変更することによって調整可能です7 8 k H zのサンプリングレートは多くのアプリケーションに対して十分な高さですがもっと高いレートが必要なケースもあり得ますそのような場合には図7に示すようにフィルタ
図 7 フィルタバンク
遅延T
AD7401ΣΔ
モジュレータ SINC 3 フィルタ
データ
SINC 3 フィルタ
SINC 3 フィルタ
データセレクタ
N
ADCの出力コード
遅延 N∙T
クロック
Analog Dialogue 49-036
図 8 X A D C用の信号測定チェーン
FPGA
コントローラボード 低電圧ドライブボード
RC LPF ADA4084-2
オペアンプ
カットオフ周波数76kHZ
VAUX_P
VAUX_N
VP
ユニポーラ 0V~1V 0V~1V
VN
AD8251
ゲイン1248
ゲイン01
XADC
AD7401
モジュレータΣ-∆
絶縁
∙250mV ∙250mV ∙125mV
LP
LN
∙25V∙25V ∙25VPGA
RC LPF
カットオフ周波数100kHz
AD8207
ディファレンスアンプ
ADG759
マルチプレクサ
AD8137
ADC用差動ドライバ
アナログ絶縁
デジタルビットストリーム
シャント抵抗
ゲイン20
再構成用のアナログフィルタ
サレンキー型カットオフ周波数100kHz
アナログ絶縁
AD7401
モジュレータΣ-∆
絶縁
∙2
再構成用のアナログフィルタ
サレンキー型カットオフ周波数100kHz
バンクを使用し16ビットの分解能でシステムのサンプリングレートを 1 0 M S P S(メガサンプル 秒)まで高めることが可能ですフィルタバンクではn個のs i n c 3フィルタとサンプリングクロックが使われます各サンプリングクロックにはそれぞれT( s i n c 3フィルタにおける伝搬時間をnで割った数)の倍数の遅延が加えられますデータ用のセレクタは周期TでA D変換の結果となるコードを出力します
相電流の測定はZynqのXADCによって行うこともできますXADCを使用する場合の信号測定チェーンは通常の測定チェーンにおいてA D 7 4 0 1の後段に再構成用のサレンキー型アナログフィルタを追加することで構成しますこのフィルタはオペアンプ「A D 8 6 4 6」を用いてコントローラボード上に実装します(図8)絶縁型のΣ Δモジュレータと再構成用のアナログフィルタを組み合わせることにより測定品質を損なうことなくX A D Cの入力信号のアナログ絶縁を容易かつ低コストで実現できます
A D Iの I D Kには S i m u l i n kベースのコントローラモデル群X i l i n x社の完全な「Vi v a d oフレームワーク」そしてA D IのL i n u xインフラストラクチャが含まれています IDKを使用すればシミュレーションプロトタイピング製品のシステムの実装というモーター制御システムの開発に必要なすべての作業を実施することができます
設計作業は6ステップのコントローラとP M S M磁界方向コントローラという2種類のコントローラのモデルを使用して開始することができます図9にこれら2種類のコントローラの構成を示しました6ステップのコントローラにはB L D Cモーター用に台形波を制御する機能を実装しますFOCコントローラは制御システムに統合するためのFOCコアとして使用できます
プラントのモデルとコントローラのモデルをシミュレーション段階で作成しシステム全体の動作をシミュレーションすることによってコントローラが想定どおりに動作するか否かを検証することができますコントローラのモデルはC言語で実装する部分とH D Lで実装する部分に分割されますその際にはコントローラのモデルがハードウェアによる実装と同じように動作するようにタイミング固定小数点サンプリングレートループ時間などの制約について定義することになります図10に6ステップのコントローラをソフトウェアで実現する部分とHDLで実現する部分に分割した様子を示しました
Analog Dialogue 49-03 7
シミュレーションによってコントローラを完全に検証したら次にハードウェアプラットフォーム上でそのプロトタイプを構築しますZynqをベースとするワークフローによりC o r t e x - A 9とプログラマブルロジックのそれぞれをターゲットとしてサブシステムに分割されたSimul inkのモデルからC言語のコードとHDLのコードが生成されますこのワークフローではプログラマブルロジックをターゲットとするH D LのコードがH D L Coderによって生成されます一方Cor tex-A9をターゲットとするC言語のコードはEmbedded Coderによって生成されますMathWorks社のZynqサポートパッケージを使えばモデルを基にしたアルゴリズムを実装したC言語のコードを含みAXIバスとの通信を行うARM用の実
6ステップのコントローラと周辺回路のシミュレーション用テストベンチCOPYRIGHT 2014 THE MATHWORKS INC
システムへの入力
MOTOR_ON
VELOCITY_COMMAND
INVERTER_GATES
ZynqにおけるC言語とHDLのコンポーネント
ZynqにおけるC言語とHDLのコンポーネント
HALL_A
HALL_B
HALL_C
システムの解析
連続動作する理想的なスイッチ
POWERGUI
M
6ス
Zy
路のシミュレーション用テストベンチHE MATHWORKS INC
ーネント
ステ
yn
辺回路の014 TH
ポーネ
C言語でアルゴリズムを記述したモデル
1kHz
HDLでアルゴリズムを記述したモデル
10MHz
CD DC
図 1 0 コントローラをC言語による実装とH D Lによる実装に分割した様子
6ステップのコントローラと周辺回路のシミュレーション用テストベンチCOPYRIGHT 2014 THE MATHWORKS INC
PMSM磁界方向コントローラのテストベンチCOPYRIGHT 2010-2013 THE MATHWORKS INC
システムへの入力
MOTOR_ON
VELOCITY_COMMAND
INVERTER_GATES
ZynqにおけるC言語とHDLによるコンポーネント
ZynqにおけるC言語とHDLによるコンポーネント
HALL_A
HALL_B
HALL_C
システムの解析
連続動作する理想的なスイッチ
POWERGUI
システムへの入力 システムの
解析
M
MCD DC
MOTOR_ONINVERTER_ENABLE
PMSM FOCHDIFIXPFWRAP
PHASE_VOLTAGES
COMMAND_VELOCITY
ROTOR_VELOCITY
PHASE_CURRENTS
ELECTRICAL_POSITION
CD DC
図 9 S i m u l i n kによるコントローラのモデル
行可能ファイルが生成することができますまたモデルを基にしたHDLのコードを含みプログラマブルロジックのピンとA X Iバスに接続されるビットストリームも生成することが可能です図11にコントローラの実装と IDKのハードウェアの関係を示します
ビットストリームと実行可能ファイルをハードウェア上に読み込めばコントローラの動作のテストを開始できますその際にはSimul inkとオープンソースのLinux O Sが稼働する組み込みシステムとの間でイーサネット接続を使用しHIL(Hardware - in - the -Loop)テストを実施することが可能ですシャフトの速度といったモー ターのパラメータを S i m u l i n kによって取得しシミュ
Analog Dialogue 49-038
オープンソースのLinux
イーサネット
CORTEXtrade-A9
プロセッシングシステム プログラマブルロジック モーター向けFMCカード
AXI-L
ITE
ZYNQ
C言語でアルゴリズムを記述したモデル
HDLでアルゴリズムを記述したモデル インバータ
モジュール
ホール素子用インターフェース
絶縁
図11 プロトタイプシステムに実装したコントローラ
図 1 2 A D IのL i n u xインフラストラクチャ
AD-FMCMOTCON1
ZYNQCORTEXtrade-A9
プロセッシングシステム プログラマブルロジック
ADIUBUNTU
LINUX
IIO SCOPE
libiioサーバー
ユーザーアプリケーション
UART
イーサネット
C言語のコード
HDLのコード
USB 20 USB 20
AXI
AXI
AXI
AXIインターコネクト
PWM
AXI ADC
(IAIBVBUS)
エンコーダ(位置速度)
HDMISPDIF
モーターコントローラ
パワーインバータ
エンコーダ用インターフェース
絶縁
ΣΔ型ADC
DMA
DMA
DMA
DMA
レーション結果と比較することでシステムの実装がモデルと等価であることを確認します制御アルゴリズムのテストが完了すればコントローラを製品のシステムにも適用することができます
A D Iは I D Kと共にプロトタイプと最終製品の両方に適用可能な完全なVi v a d oフレームワークとL i n u xインフラストラクチャを提供しています図1 2に I D KをサポートするLinuxインフラストラクチャを示しましたこのハイレベルの構成図にはADIのリファレンス設計がZynq上で分割される様子が示されていますプログラマブルロジックにはADCやポジションセンサーモーター駆動段と接続するための I P( I n t e l l e c t u a l P r o p e r t y)コアを実装しますH D L C o d e rによって生成されたモーター制御アルゴリズムのHDLコードはADIの IPに組み込まれますすべての I Pは構成と制御のための低速A X I - L i t eインターフェースとD M A(D i r e c t M e m o r y Acces s)チャンネルを介してソフトウェアに対してリア
ルタイムにデータを転送可能な高速A X I - S t r e a m i n gインターフェースを備えます高速イーサネットインターフェースはC o r t e x - A 9が備えるM A C周辺回路(ハードマクロ)またはプログラマブルロジックに含まれるX i l i n x社のイーサネット I Pを使用して実装することができます
Cortex-A9はADIが提供する「Ubuntu(Linux)」を搭載していますこれにはIDKのハードウェアとの通信に必要なLinux I IOドライバ監視 制御用のユーザー空間アプリケーション「 I IO Osc i l loscope(Scope)」TCPを介したリアルタイムのデータ取得とシステム制御を可能にするサーバーソフト「 l i b i i o」リモートのコンピュータ上で動作するクライアントソフトE m b e d d e d C o d e rによって生成されたC言語のコードが組み込まれるオプションのユーザーアプリケーションが含まれています
Analog Dialogue 49-03 9
A D IのL i n u xドライバはいずれも「L i n u x I n d u s t r i a l I O( I I O) S u b s y s t e m」をベースにしています現在このサブシステムはすべての主要な L i n u xカーネルに含まれています I I O S c o p eはA D Iが開発したオープンソースのL i n u xアプリケーションですZ y n qが内蔵するCor tex -A9上で動作しZynqのプラットフォームに接続された任意のADI製FMCカードから取得したデータをリアルタイムに表示することができます表示形式としては時間領域周波数領域コンスタレーションに対応しますまた取得したデータを保存してさらに詳しく解析できるようにCSVファイルやMATLAB形式ファイル(拡張子はmat)といったファイル形式をサポートしていますI IO ScopeはADIのFMCカードの構成を変更したり再度読み込んだりするためのGUIを備えています
リモートのコンピュータ上ではクライアントソフトが実行されTCPを介したリアルタイムでのデータの取得とシステムの制御が行われますこれを可能にするのが l i b i i oサーバーですサーバーはL i n u xを搭載する組み込みターゲット上で動作しますそしてターゲットとリモートクライアントの間で行われるT C Pを介したリアルタイムのデータ交換を管理します I IOクライアントはMATLABとSimul inkのネイティブアプリケーションに統合されるシステムオブジェクトとして提供されますLinuxのインターフェースはHDMI出力を利用してモニターに表示されますまたキーボードとマウスはUSB 2 0ポートによってシステムに接続できます
ADIがIDK向けに提供しているLinuxソフトウェアとHDLインフラストラクチャはMathWorks社とXi l inx社が提供するツールを組み合わせることによってモーター制御アプリケーションのプロトタイピングに最適な環境をもたらしますまた最終的な制御システムに搭載することのできる製品レベルのコンポーネントも含まれているため概念設計から製造までにかかる時間を短縮しコストを削減することが可能になります
まとめ 本稿ではF P G A対応の最新モーター制御システムの要件と動向について説明しましたMathWorks社Xi l inx社A D Iはこれらの要件を満たしより効率的で高精度なモーター制御ソリューションを開発できるよう支援するためにツール システムを市場に提供していますこのツール システムとはM a t h Wo r k s社が提供するモデルベース設計ツールとコードの自動生成ツールにXi l inx社が提供する高性能のZynqADIが提供する絶縁 電源 シグナルコンディショニング 測定用のソリューションを組み合わせたものですこれらを利用することによりモーターを駆動するためのシステムの設計検証テスト実装をかつてないほど効率的に実施できるようになります結果としてモーターの制御性能が向上するだけでなく製品を市場に投入するまでにかかる期間の短縮が可能になりますADIの IDKとZynqを併用すればM a t h Wo r k s社のS i m u l i n kを使用して設計したモーター制御アルゴリズムに対する優れたプロトタイプ環境が得られます IDKにはシステムを評価する際の出発点として使用でき任意のモーター制御プロジェクトに着手できるよう支援することを目的とした複数のリファレンス設計 4が用意されています
関連資料 1 Hi l l Tom「Motor Dr ives Migra te to Zynq SoC wi th Help f rom Mat lab」 Xce l l Journa l I ssue 87 Second Quar te r 2014年
2 O rsquo S u l l i v a n D a r a S o r e n s e n J e n s F r e d e r i k s e n Anders「Model Based Des ign Tools in Closed Loop Motor Cont ro l」 PCIM Europe 2014年
3 C o r r a d i D r G i u l i o「 F p g a H i g h E f f i c i e n c y L o w Noise Pulse Frequency Space Vector Modulat ionmdashPart I」 EDN Network 2012年10月4日
4 AD-FMCMOTCON1-EBZ User Guide
著者
Andre i Cozma(andre i cozmaanalog com)はADIのエンジニアリングマネージャーとしてシステムレベルのリファレンス設計の開発を支援しています産業オートメーションと情報科学に関する学士号に加えて電子工学と電気通信工学の博士号を取得していますモーター制御産業オートメーションソフトウェア無線電気通信などさまざまな分野にわたる設計 開発プロジェクトに従事した経験を持ちます
Andrei Cozma
Eric Cigan氏(Eric Ciganmathworks com)はMathWorks社の技術マーケティング部門でSoCとFPGAの設計ワークフローに関する取り組みを行っています同社に入社する前はMathStar社AccelChip社Mentor Graphics社で技術マーケティングに携わっていましたマサチューセッツ工科大学で機械工学の学士号と修士号を取得しています
Eric Cigan
Analog Dialogue 49-03 5
FPGA コントローラボード 低電圧ドライブボード
SINC3
フィルタ
RC LPF ADA4084-2
オペアンプ
カットオフ周波数
76kHz
RC LPF
カットオフ周波数
76kHz
AD8251
ゲイン1248
ゲイン 01
SINC3
フィルタ
データ
データ
データ
(015) クロック
20MHz
クロック
20MHz
AD7401
ΣΔモジュレータ
絶縁
AD7401
ΣΔモジュレータ
絶縁
∙250mV ∙250mV ∙125mV
LP
LN
∙250mV
∙25V∙25V ∙25V
データ
(015)
PGA
RC LPF
カットオフ周波数100kHz
AD8207
ディファレンスアンプ
シャント抵抗
ゲイン 20
図 6 相電流のシグナルチェーン
すべてのモーター制御システムにおいて性能を大きく左右するのはモーターの電流と電圧の測定品質ですA D Iの I D Kは高性能のアナログシグナルコンディショニング用コンポーネントとA D Cを備えており高い精度で電流 電圧の測定が行えます図6に示すように測定経路はコントローラボードとドライブボードの間で分離されています
相電流はシャント抵抗の両端の電圧を測定することによって算出できます言うまでもなく測定精度は最大限に高めたいわけですがADCがシャント抵抗の近くにあるか否かに依存して測定経路は2種類考えられますまずADCがシャント抵抗の近くにある場合には信号経路は非常に短くノイズは結合しにくくなりますシャント抵抗からの小さな差動電圧は絶縁型のシグマデルタ
(Σ Δ)モジュレータ「A D 7 4 0 1」によって直接測定されますインターフェースやシグナルコンディショニング用の回路を追加する必要はありません一方A D Cがシャント抵抗から離れている場合には信号経路が長く特に電源からのスイッチングノイズやモーターからのノイズが結合しやすくなりますこのためA D Cとシャント抵抗の間に配置されるプリント回路基板のパターンとシグナルコンディショニング回路が適切に シールドされるように十分に注意を払う必要がありますシャント抵抗の小さな差動電圧はディファレンスアンプ「AD8207」によってドライブボード上で増幅されますAD8207はノイズの結合を防ぐためにシャント抵抗の近くに配置します信号の振幅はフルスケールでplusmn 1 2 5 m Vですがノイズの影響を最小限に抑えるために
plusmn 2 5 Vに増幅します増幅された信号はプログラマブルゲイン計装アンプ(PGIA)「AD8251」を用いたもう1つの増幅段を経由しますこれにより入力範囲に合わせて適切にスケーリングされた信号がADCに入力されることが保証されます増幅後のアナログ信号はコネクタを介してコントローラボードに伝送されますコネクタには各アナログ信号にノイズが結合されないようにするためにシールドが施されていますドライブボードからのアナログ信号はオペアンプ「ADA4084-2」によってAD7401の入力範囲に適合するように減衰されます
電圧 電流の情報をフィードバックするシグナルチ ェーンにおいては絶縁型の2次Σ ΔモジュレータであるA D 7 4 0 1 Aが最も重要な要素となりますこの高性能のA D Cはミッシングコードなしで 1 6ビットの分解能13 3ビットのENOB(有効ビット数)83dBのSN比を実現します2線式のデジタルインターフェースは2 0 M H zのクロック入力と1ビットのデジタルビットストリーム出力で構成されますADCの出力はs inc 3
のデジタルフィルタによって再構成(ビット数とサンプリングレートのフォーマッティング)されます データシートには1 6ビット7 8 k H zのサンプリングレートで出力する場合のフィルタのモデルとH D Lによる実装が示されています出力分解能とサンプリング レートはフィルタのモデルとデシメーション率を変更することによって調整可能です7 8 k H zのサンプリングレートは多くのアプリケーションに対して十分な高さですがもっと高いレートが必要なケースもあり得ますそのような場合には図7に示すようにフィルタ
図 7 フィルタバンク
遅延T
AD7401ΣΔ
モジュレータ SINC 3 フィルタ
データ
SINC 3 フィルタ
SINC 3 フィルタ
データセレクタ
N
ADCの出力コード
遅延 N∙T
クロック
Analog Dialogue 49-036
図 8 X A D C用の信号測定チェーン
FPGA
コントローラボード 低電圧ドライブボード
RC LPF ADA4084-2
オペアンプ
カットオフ周波数76kHZ
VAUX_P
VAUX_N
VP
ユニポーラ 0V~1V 0V~1V
VN
AD8251
ゲイン1248
ゲイン01
XADC
AD7401
モジュレータΣ-∆
絶縁
∙250mV ∙250mV ∙125mV
LP
LN
∙25V∙25V ∙25VPGA
RC LPF
カットオフ周波数100kHz
AD8207
ディファレンスアンプ
ADG759
マルチプレクサ
AD8137
ADC用差動ドライバ
アナログ絶縁
デジタルビットストリーム
シャント抵抗
ゲイン20
再構成用のアナログフィルタ
サレンキー型カットオフ周波数100kHz
アナログ絶縁
AD7401
モジュレータΣ-∆
絶縁
∙2
再構成用のアナログフィルタ
サレンキー型カットオフ周波数100kHz
バンクを使用し16ビットの分解能でシステムのサンプリングレートを 1 0 M S P S(メガサンプル 秒)まで高めることが可能ですフィルタバンクではn個のs i n c 3フィルタとサンプリングクロックが使われます各サンプリングクロックにはそれぞれT( s i n c 3フィルタにおける伝搬時間をnで割った数)の倍数の遅延が加えられますデータ用のセレクタは周期TでA D変換の結果となるコードを出力します
相電流の測定はZynqのXADCによって行うこともできますXADCを使用する場合の信号測定チェーンは通常の測定チェーンにおいてA D 7 4 0 1の後段に再構成用のサレンキー型アナログフィルタを追加することで構成しますこのフィルタはオペアンプ「A D 8 6 4 6」を用いてコントローラボード上に実装します(図8)絶縁型のΣ Δモジュレータと再構成用のアナログフィルタを組み合わせることにより測定品質を損なうことなくX A D Cの入力信号のアナログ絶縁を容易かつ低コストで実現できます
A D Iの I D Kには S i m u l i n kベースのコントローラモデル群X i l i n x社の完全な「Vi v a d oフレームワーク」そしてA D IのL i n u xインフラストラクチャが含まれています IDKを使用すればシミュレーションプロトタイピング製品のシステムの実装というモーター制御システムの開発に必要なすべての作業を実施することができます
設計作業は6ステップのコントローラとP M S M磁界方向コントローラという2種類のコントローラのモデルを使用して開始することができます図9にこれら2種類のコントローラの構成を示しました6ステップのコントローラにはB L D Cモーター用に台形波を制御する機能を実装しますFOCコントローラは制御システムに統合するためのFOCコアとして使用できます
プラントのモデルとコントローラのモデルをシミュレーション段階で作成しシステム全体の動作をシミュレーションすることによってコントローラが想定どおりに動作するか否かを検証することができますコントローラのモデルはC言語で実装する部分とH D Lで実装する部分に分割されますその際にはコントローラのモデルがハードウェアによる実装と同じように動作するようにタイミング固定小数点サンプリングレートループ時間などの制約について定義することになります図10に6ステップのコントローラをソフトウェアで実現する部分とHDLで実現する部分に分割した様子を示しました
Analog Dialogue 49-03 7
シミュレーションによってコントローラを完全に検証したら次にハードウェアプラットフォーム上でそのプロトタイプを構築しますZynqをベースとするワークフローによりC o r t e x - A 9とプログラマブルロジックのそれぞれをターゲットとしてサブシステムに分割されたSimul inkのモデルからC言語のコードとHDLのコードが生成されますこのワークフローではプログラマブルロジックをターゲットとするH D LのコードがH D L Coderによって生成されます一方Cor tex-A9をターゲットとするC言語のコードはEmbedded Coderによって生成されますMathWorks社のZynqサポートパッケージを使えばモデルを基にしたアルゴリズムを実装したC言語のコードを含みAXIバスとの通信を行うARM用の実
6ステップのコントローラと周辺回路のシミュレーション用テストベンチCOPYRIGHT 2014 THE MATHWORKS INC
システムへの入力
MOTOR_ON
VELOCITY_COMMAND
INVERTER_GATES
ZynqにおけるC言語とHDLのコンポーネント
ZynqにおけるC言語とHDLのコンポーネント
HALL_A
HALL_B
HALL_C
システムの解析
連続動作する理想的なスイッチ
POWERGUI
M
6ス
Zy
路のシミュレーション用テストベンチHE MATHWORKS INC
ーネント
ステ
yn
辺回路の014 TH
ポーネ
C言語でアルゴリズムを記述したモデル
1kHz
HDLでアルゴリズムを記述したモデル
10MHz
CD DC
図 1 0 コントローラをC言語による実装とH D Lによる実装に分割した様子
6ステップのコントローラと周辺回路のシミュレーション用テストベンチCOPYRIGHT 2014 THE MATHWORKS INC
PMSM磁界方向コントローラのテストベンチCOPYRIGHT 2010-2013 THE MATHWORKS INC
システムへの入力
MOTOR_ON
VELOCITY_COMMAND
INVERTER_GATES
ZynqにおけるC言語とHDLによるコンポーネント
ZynqにおけるC言語とHDLによるコンポーネント
HALL_A
HALL_B
HALL_C
システムの解析
連続動作する理想的なスイッチ
POWERGUI
システムへの入力 システムの
解析
M
MCD DC
MOTOR_ONINVERTER_ENABLE
PMSM FOCHDIFIXPFWRAP
PHASE_VOLTAGES
COMMAND_VELOCITY
ROTOR_VELOCITY
PHASE_CURRENTS
ELECTRICAL_POSITION
CD DC
図 9 S i m u l i n kによるコントローラのモデル
行可能ファイルが生成することができますまたモデルを基にしたHDLのコードを含みプログラマブルロジックのピンとA X Iバスに接続されるビットストリームも生成することが可能です図11にコントローラの実装と IDKのハードウェアの関係を示します
ビットストリームと実行可能ファイルをハードウェア上に読み込めばコントローラの動作のテストを開始できますその際にはSimul inkとオープンソースのLinux O Sが稼働する組み込みシステムとの間でイーサネット接続を使用しHIL(Hardware - in - the -Loop)テストを実施することが可能ですシャフトの速度といったモー ターのパラメータを S i m u l i n kによって取得しシミュ
Analog Dialogue 49-038
オープンソースのLinux
イーサネット
CORTEXtrade-A9
プロセッシングシステム プログラマブルロジック モーター向けFMCカード
AXI-L
ITE
ZYNQ
C言語でアルゴリズムを記述したモデル
HDLでアルゴリズムを記述したモデル インバータ
モジュール
ホール素子用インターフェース
絶縁
図11 プロトタイプシステムに実装したコントローラ
図 1 2 A D IのL i n u xインフラストラクチャ
AD-FMCMOTCON1
ZYNQCORTEXtrade-A9
プロセッシングシステム プログラマブルロジック
ADIUBUNTU
LINUX
IIO SCOPE
libiioサーバー
ユーザーアプリケーション
UART
イーサネット
C言語のコード
HDLのコード
USB 20 USB 20
AXI
AXI
AXI
AXIインターコネクト
PWM
AXI ADC
(IAIBVBUS)
エンコーダ(位置速度)
HDMISPDIF
モーターコントローラ
パワーインバータ
エンコーダ用インターフェース
絶縁
ΣΔ型ADC
DMA
DMA
DMA
DMA
レーション結果と比較することでシステムの実装がモデルと等価であることを確認します制御アルゴリズムのテストが完了すればコントローラを製品のシステムにも適用することができます
A D Iは I D Kと共にプロトタイプと最終製品の両方に適用可能な完全なVi v a d oフレームワークとL i n u xインフラストラクチャを提供しています図1 2に I D KをサポートするLinuxインフラストラクチャを示しましたこのハイレベルの構成図にはADIのリファレンス設計がZynq上で分割される様子が示されていますプログラマブルロジックにはADCやポジションセンサーモーター駆動段と接続するための I P( I n t e l l e c t u a l P r o p e r t y)コアを実装しますH D L C o d e rによって生成されたモーター制御アルゴリズムのHDLコードはADIの IPに組み込まれますすべての I Pは構成と制御のための低速A X I - L i t eインターフェースとD M A(D i r e c t M e m o r y Acces s)チャンネルを介してソフトウェアに対してリア
ルタイムにデータを転送可能な高速A X I - S t r e a m i n gインターフェースを備えます高速イーサネットインターフェースはC o r t e x - A 9が備えるM A C周辺回路(ハードマクロ)またはプログラマブルロジックに含まれるX i l i n x社のイーサネット I Pを使用して実装することができます
Cortex-A9はADIが提供する「Ubuntu(Linux)」を搭載していますこれにはIDKのハードウェアとの通信に必要なLinux I IOドライバ監視 制御用のユーザー空間アプリケーション「 I IO Osc i l loscope(Scope)」TCPを介したリアルタイムのデータ取得とシステム制御を可能にするサーバーソフト「 l i b i i o」リモートのコンピュータ上で動作するクライアントソフトE m b e d d e d C o d e rによって生成されたC言語のコードが組み込まれるオプションのユーザーアプリケーションが含まれています
Analog Dialogue 49-03 9
A D IのL i n u xドライバはいずれも「L i n u x I n d u s t r i a l I O( I I O) S u b s y s t e m」をベースにしています現在このサブシステムはすべての主要な L i n u xカーネルに含まれています I I O S c o p eはA D Iが開発したオープンソースのL i n u xアプリケーションですZ y n qが内蔵するCor tex -A9上で動作しZynqのプラットフォームに接続された任意のADI製FMCカードから取得したデータをリアルタイムに表示することができます表示形式としては時間領域周波数領域コンスタレーションに対応しますまた取得したデータを保存してさらに詳しく解析できるようにCSVファイルやMATLAB形式ファイル(拡張子はmat)といったファイル形式をサポートしていますI IO ScopeはADIのFMCカードの構成を変更したり再度読み込んだりするためのGUIを備えています
リモートのコンピュータ上ではクライアントソフトが実行されTCPを介したリアルタイムでのデータの取得とシステムの制御が行われますこれを可能にするのが l i b i i oサーバーですサーバーはL i n u xを搭載する組み込みターゲット上で動作しますそしてターゲットとリモートクライアントの間で行われるT C Pを介したリアルタイムのデータ交換を管理します I IOクライアントはMATLABとSimul inkのネイティブアプリケーションに統合されるシステムオブジェクトとして提供されますLinuxのインターフェースはHDMI出力を利用してモニターに表示されますまたキーボードとマウスはUSB 2 0ポートによってシステムに接続できます
ADIがIDK向けに提供しているLinuxソフトウェアとHDLインフラストラクチャはMathWorks社とXi l inx社が提供するツールを組み合わせることによってモーター制御アプリケーションのプロトタイピングに最適な環境をもたらしますまた最終的な制御システムに搭載することのできる製品レベルのコンポーネントも含まれているため概念設計から製造までにかかる時間を短縮しコストを削減することが可能になります
まとめ 本稿ではF P G A対応の最新モーター制御システムの要件と動向について説明しましたMathWorks社Xi l inx社A D Iはこれらの要件を満たしより効率的で高精度なモーター制御ソリューションを開発できるよう支援するためにツール システムを市場に提供していますこのツール システムとはM a t h Wo r k s社が提供するモデルベース設計ツールとコードの自動生成ツールにXi l inx社が提供する高性能のZynqADIが提供する絶縁 電源 シグナルコンディショニング 測定用のソリューションを組み合わせたものですこれらを利用することによりモーターを駆動するためのシステムの設計検証テスト実装をかつてないほど効率的に実施できるようになります結果としてモーターの制御性能が向上するだけでなく製品を市場に投入するまでにかかる期間の短縮が可能になりますADIの IDKとZynqを併用すればM a t h Wo r k s社のS i m u l i n kを使用して設計したモーター制御アルゴリズムに対する優れたプロトタイプ環境が得られます IDKにはシステムを評価する際の出発点として使用でき任意のモーター制御プロジェクトに着手できるよう支援することを目的とした複数のリファレンス設計 4が用意されています
関連資料 1 Hi l l Tom「Motor Dr ives Migra te to Zynq SoC wi th Help f rom Mat lab」 Xce l l Journa l I ssue 87 Second Quar te r 2014年
2 O rsquo S u l l i v a n D a r a S o r e n s e n J e n s F r e d e r i k s e n Anders「Model Based Des ign Tools in Closed Loop Motor Cont ro l」 PCIM Europe 2014年
3 C o r r a d i D r G i u l i o「 F p g a H i g h E f f i c i e n c y L o w Noise Pulse Frequency Space Vector Modulat ionmdashPart I」 EDN Network 2012年10月4日
4 AD-FMCMOTCON1-EBZ User Guide
著者
Andre i Cozma(andre i cozmaanalog com)はADIのエンジニアリングマネージャーとしてシステムレベルのリファレンス設計の開発を支援しています産業オートメーションと情報科学に関する学士号に加えて電子工学と電気通信工学の博士号を取得していますモーター制御産業オートメーションソフトウェア無線電気通信などさまざまな分野にわたる設計 開発プロジェクトに従事した経験を持ちます
Andrei Cozma
Eric Cigan氏(Eric Ciganmathworks com)はMathWorks社の技術マーケティング部門でSoCとFPGAの設計ワークフローに関する取り組みを行っています同社に入社する前はMathStar社AccelChip社Mentor Graphics社で技術マーケティングに携わっていましたマサチューセッツ工科大学で機械工学の学士号と修士号を取得しています
Eric Cigan
Analog Dialogue 49-036
図 8 X A D C用の信号測定チェーン
FPGA
コントローラボード 低電圧ドライブボード
RC LPF ADA4084-2
オペアンプ
カットオフ周波数76kHZ
VAUX_P
VAUX_N
VP
ユニポーラ 0V~1V 0V~1V
VN
AD8251
ゲイン1248
ゲイン01
XADC
AD7401
モジュレータΣ-∆
絶縁
∙250mV ∙250mV ∙125mV
LP
LN
∙25V∙25V ∙25VPGA
RC LPF
カットオフ周波数100kHz
AD8207
ディファレンスアンプ
ADG759
マルチプレクサ
AD8137
ADC用差動ドライバ
アナログ絶縁
デジタルビットストリーム
シャント抵抗
ゲイン20
再構成用のアナログフィルタ
サレンキー型カットオフ周波数100kHz
アナログ絶縁
AD7401
モジュレータΣ-∆
絶縁
∙2
再構成用のアナログフィルタ
サレンキー型カットオフ周波数100kHz
バンクを使用し16ビットの分解能でシステムのサンプリングレートを 1 0 M S P S(メガサンプル 秒)まで高めることが可能ですフィルタバンクではn個のs i n c 3フィルタとサンプリングクロックが使われます各サンプリングクロックにはそれぞれT( s i n c 3フィルタにおける伝搬時間をnで割った数)の倍数の遅延が加えられますデータ用のセレクタは周期TでA D変換の結果となるコードを出力します
相電流の測定はZynqのXADCによって行うこともできますXADCを使用する場合の信号測定チェーンは通常の測定チェーンにおいてA D 7 4 0 1の後段に再構成用のサレンキー型アナログフィルタを追加することで構成しますこのフィルタはオペアンプ「A D 8 6 4 6」を用いてコントローラボード上に実装します(図8)絶縁型のΣ Δモジュレータと再構成用のアナログフィルタを組み合わせることにより測定品質を損なうことなくX A D Cの入力信号のアナログ絶縁を容易かつ低コストで実現できます
A D Iの I D Kには S i m u l i n kベースのコントローラモデル群X i l i n x社の完全な「Vi v a d oフレームワーク」そしてA D IのL i n u xインフラストラクチャが含まれています IDKを使用すればシミュレーションプロトタイピング製品のシステムの実装というモーター制御システムの開発に必要なすべての作業を実施することができます
設計作業は6ステップのコントローラとP M S M磁界方向コントローラという2種類のコントローラのモデルを使用して開始することができます図9にこれら2種類のコントローラの構成を示しました6ステップのコントローラにはB L D Cモーター用に台形波を制御する機能を実装しますFOCコントローラは制御システムに統合するためのFOCコアとして使用できます
プラントのモデルとコントローラのモデルをシミュレーション段階で作成しシステム全体の動作をシミュレーションすることによってコントローラが想定どおりに動作するか否かを検証することができますコントローラのモデルはC言語で実装する部分とH D Lで実装する部分に分割されますその際にはコントローラのモデルがハードウェアによる実装と同じように動作するようにタイミング固定小数点サンプリングレートループ時間などの制約について定義することになります図10に6ステップのコントローラをソフトウェアで実現する部分とHDLで実現する部分に分割した様子を示しました
Analog Dialogue 49-03 7
シミュレーションによってコントローラを完全に検証したら次にハードウェアプラットフォーム上でそのプロトタイプを構築しますZynqをベースとするワークフローによりC o r t e x - A 9とプログラマブルロジックのそれぞれをターゲットとしてサブシステムに分割されたSimul inkのモデルからC言語のコードとHDLのコードが生成されますこのワークフローではプログラマブルロジックをターゲットとするH D LのコードがH D L Coderによって生成されます一方Cor tex-A9をターゲットとするC言語のコードはEmbedded Coderによって生成されますMathWorks社のZynqサポートパッケージを使えばモデルを基にしたアルゴリズムを実装したC言語のコードを含みAXIバスとの通信を行うARM用の実
6ステップのコントローラと周辺回路のシミュレーション用テストベンチCOPYRIGHT 2014 THE MATHWORKS INC
システムへの入力
MOTOR_ON
VELOCITY_COMMAND
INVERTER_GATES
ZynqにおけるC言語とHDLのコンポーネント
ZynqにおけるC言語とHDLのコンポーネント
HALL_A
HALL_B
HALL_C
システムの解析
連続動作する理想的なスイッチ
POWERGUI
M
6ス
Zy
路のシミュレーション用テストベンチHE MATHWORKS INC
ーネント
ステ
yn
辺回路の014 TH
ポーネ
C言語でアルゴリズムを記述したモデル
1kHz
HDLでアルゴリズムを記述したモデル
10MHz
CD DC
図 1 0 コントローラをC言語による実装とH D Lによる実装に分割した様子
6ステップのコントローラと周辺回路のシミュレーション用テストベンチCOPYRIGHT 2014 THE MATHWORKS INC
PMSM磁界方向コントローラのテストベンチCOPYRIGHT 2010-2013 THE MATHWORKS INC
システムへの入力
MOTOR_ON
VELOCITY_COMMAND
INVERTER_GATES
ZynqにおけるC言語とHDLによるコンポーネント
ZynqにおけるC言語とHDLによるコンポーネント
HALL_A
HALL_B
HALL_C
システムの解析
連続動作する理想的なスイッチ
POWERGUI
システムへの入力 システムの
解析
M
MCD DC
MOTOR_ONINVERTER_ENABLE
PMSM FOCHDIFIXPFWRAP
PHASE_VOLTAGES
COMMAND_VELOCITY
ROTOR_VELOCITY
PHASE_CURRENTS
ELECTRICAL_POSITION
CD DC
図 9 S i m u l i n kによるコントローラのモデル
行可能ファイルが生成することができますまたモデルを基にしたHDLのコードを含みプログラマブルロジックのピンとA X Iバスに接続されるビットストリームも生成することが可能です図11にコントローラの実装と IDKのハードウェアの関係を示します
ビットストリームと実行可能ファイルをハードウェア上に読み込めばコントローラの動作のテストを開始できますその際にはSimul inkとオープンソースのLinux O Sが稼働する組み込みシステムとの間でイーサネット接続を使用しHIL(Hardware - in - the -Loop)テストを実施することが可能ですシャフトの速度といったモー ターのパラメータを S i m u l i n kによって取得しシミュ
Analog Dialogue 49-038
オープンソースのLinux
イーサネット
CORTEXtrade-A9
プロセッシングシステム プログラマブルロジック モーター向けFMCカード
AXI-L
ITE
ZYNQ
C言語でアルゴリズムを記述したモデル
HDLでアルゴリズムを記述したモデル インバータ
モジュール
ホール素子用インターフェース
絶縁
図11 プロトタイプシステムに実装したコントローラ
図 1 2 A D IのL i n u xインフラストラクチャ
AD-FMCMOTCON1
ZYNQCORTEXtrade-A9
プロセッシングシステム プログラマブルロジック
ADIUBUNTU
LINUX
IIO SCOPE
libiioサーバー
ユーザーアプリケーション
UART
イーサネット
C言語のコード
HDLのコード
USB 20 USB 20
AXI
AXI
AXI
AXIインターコネクト
PWM
AXI ADC
(IAIBVBUS)
エンコーダ(位置速度)
HDMISPDIF
モーターコントローラ
パワーインバータ
エンコーダ用インターフェース
絶縁
ΣΔ型ADC
DMA
DMA
DMA
DMA
レーション結果と比較することでシステムの実装がモデルと等価であることを確認します制御アルゴリズムのテストが完了すればコントローラを製品のシステムにも適用することができます
A D Iは I D Kと共にプロトタイプと最終製品の両方に適用可能な完全なVi v a d oフレームワークとL i n u xインフラストラクチャを提供しています図1 2に I D KをサポートするLinuxインフラストラクチャを示しましたこのハイレベルの構成図にはADIのリファレンス設計がZynq上で分割される様子が示されていますプログラマブルロジックにはADCやポジションセンサーモーター駆動段と接続するための I P( I n t e l l e c t u a l P r o p e r t y)コアを実装しますH D L C o d e rによって生成されたモーター制御アルゴリズムのHDLコードはADIの IPに組み込まれますすべての I Pは構成と制御のための低速A X I - L i t eインターフェースとD M A(D i r e c t M e m o r y Acces s)チャンネルを介してソフトウェアに対してリア
ルタイムにデータを転送可能な高速A X I - S t r e a m i n gインターフェースを備えます高速イーサネットインターフェースはC o r t e x - A 9が備えるM A C周辺回路(ハードマクロ)またはプログラマブルロジックに含まれるX i l i n x社のイーサネット I Pを使用して実装することができます
Cortex-A9はADIが提供する「Ubuntu(Linux)」を搭載していますこれにはIDKのハードウェアとの通信に必要なLinux I IOドライバ監視 制御用のユーザー空間アプリケーション「 I IO Osc i l loscope(Scope)」TCPを介したリアルタイムのデータ取得とシステム制御を可能にするサーバーソフト「 l i b i i o」リモートのコンピュータ上で動作するクライアントソフトE m b e d d e d C o d e rによって生成されたC言語のコードが組み込まれるオプションのユーザーアプリケーションが含まれています
Analog Dialogue 49-03 9
A D IのL i n u xドライバはいずれも「L i n u x I n d u s t r i a l I O( I I O) S u b s y s t e m」をベースにしています現在このサブシステムはすべての主要な L i n u xカーネルに含まれています I I O S c o p eはA D Iが開発したオープンソースのL i n u xアプリケーションですZ y n qが内蔵するCor tex -A9上で動作しZynqのプラットフォームに接続された任意のADI製FMCカードから取得したデータをリアルタイムに表示することができます表示形式としては時間領域周波数領域コンスタレーションに対応しますまた取得したデータを保存してさらに詳しく解析できるようにCSVファイルやMATLAB形式ファイル(拡張子はmat)といったファイル形式をサポートしていますI IO ScopeはADIのFMCカードの構成を変更したり再度読み込んだりするためのGUIを備えています
リモートのコンピュータ上ではクライアントソフトが実行されTCPを介したリアルタイムでのデータの取得とシステムの制御が行われますこれを可能にするのが l i b i i oサーバーですサーバーはL i n u xを搭載する組み込みターゲット上で動作しますそしてターゲットとリモートクライアントの間で行われるT C Pを介したリアルタイムのデータ交換を管理します I IOクライアントはMATLABとSimul inkのネイティブアプリケーションに統合されるシステムオブジェクトとして提供されますLinuxのインターフェースはHDMI出力を利用してモニターに表示されますまたキーボードとマウスはUSB 2 0ポートによってシステムに接続できます
ADIがIDK向けに提供しているLinuxソフトウェアとHDLインフラストラクチャはMathWorks社とXi l inx社が提供するツールを組み合わせることによってモーター制御アプリケーションのプロトタイピングに最適な環境をもたらしますまた最終的な制御システムに搭載することのできる製品レベルのコンポーネントも含まれているため概念設計から製造までにかかる時間を短縮しコストを削減することが可能になります
まとめ 本稿ではF P G A対応の最新モーター制御システムの要件と動向について説明しましたMathWorks社Xi l inx社A D Iはこれらの要件を満たしより効率的で高精度なモーター制御ソリューションを開発できるよう支援するためにツール システムを市場に提供していますこのツール システムとはM a t h Wo r k s社が提供するモデルベース設計ツールとコードの自動生成ツールにXi l inx社が提供する高性能のZynqADIが提供する絶縁 電源 シグナルコンディショニング 測定用のソリューションを組み合わせたものですこれらを利用することによりモーターを駆動するためのシステムの設計検証テスト実装をかつてないほど効率的に実施できるようになります結果としてモーターの制御性能が向上するだけでなく製品を市場に投入するまでにかかる期間の短縮が可能になりますADIの IDKとZynqを併用すればM a t h Wo r k s社のS i m u l i n kを使用して設計したモーター制御アルゴリズムに対する優れたプロトタイプ環境が得られます IDKにはシステムを評価する際の出発点として使用でき任意のモーター制御プロジェクトに着手できるよう支援することを目的とした複数のリファレンス設計 4が用意されています
関連資料 1 Hi l l Tom「Motor Dr ives Migra te to Zynq SoC wi th Help f rom Mat lab」 Xce l l Journa l I ssue 87 Second Quar te r 2014年
2 O rsquo S u l l i v a n D a r a S o r e n s e n J e n s F r e d e r i k s e n Anders「Model Based Des ign Tools in Closed Loop Motor Cont ro l」 PCIM Europe 2014年
3 C o r r a d i D r G i u l i o「 F p g a H i g h E f f i c i e n c y L o w Noise Pulse Frequency Space Vector Modulat ionmdashPart I」 EDN Network 2012年10月4日
4 AD-FMCMOTCON1-EBZ User Guide
著者
Andre i Cozma(andre i cozmaanalog com)はADIのエンジニアリングマネージャーとしてシステムレベルのリファレンス設計の開発を支援しています産業オートメーションと情報科学に関する学士号に加えて電子工学と電気通信工学の博士号を取得していますモーター制御産業オートメーションソフトウェア無線電気通信などさまざまな分野にわたる設計 開発プロジェクトに従事した経験を持ちます
Andrei Cozma
Eric Cigan氏(Eric Ciganmathworks com)はMathWorks社の技術マーケティング部門でSoCとFPGAの設計ワークフローに関する取り組みを行っています同社に入社する前はMathStar社AccelChip社Mentor Graphics社で技術マーケティングに携わっていましたマサチューセッツ工科大学で機械工学の学士号と修士号を取得しています
Eric Cigan
Analog Dialogue 49-03 7
シミュレーションによってコントローラを完全に検証したら次にハードウェアプラットフォーム上でそのプロトタイプを構築しますZynqをベースとするワークフローによりC o r t e x - A 9とプログラマブルロジックのそれぞれをターゲットとしてサブシステムに分割されたSimul inkのモデルからC言語のコードとHDLのコードが生成されますこのワークフローではプログラマブルロジックをターゲットとするH D LのコードがH D L Coderによって生成されます一方Cor tex-A9をターゲットとするC言語のコードはEmbedded Coderによって生成されますMathWorks社のZynqサポートパッケージを使えばモデルを基にしたアルゴリズムを実装したC言語のコードを含みAXIバスとの通信を行うARM用の実
6ステップのコントローラと周辺回路のシミュレーション用テストベンチCOPYRIGHT 2014 THE MATHWORKS INC
システムへの入力
MOTOR_ON
VELOCITY_COMMAND
INVERTER_GATES
ZynqにおけるC言語とHDLのコンポーネント
ZynqにおけるC言語とHDLのコンポーネント
HALL_A
HALL_B
HALL_C
システムの解析
連続動作する理想的なスイッチ
POWERGUI
M
6ス
Zy
路のシミュレーション用テストベンチHE MATHWORKS INC
ーネント
ステ
yn
辺回路の014 TH
ポーネ
C言語でアルゴリズムを記述したモデル
1kHz
HDLでアルゴリズムを記述したモデル
10MHz
CD DC
図 1 0 コントローラをC言語による実装とH D Lによる実装に分割した様子
6ステップのコントローラと周辺回路のシミュレーション用テストベンチCOPYRIGHT 2014 THE MATHWORKS INC
PMSM磁界方向コントローラのテストベンチCOPYRIGHT 2010-2013 THE MATHWORKS INC
システムへの入力
MOTOR_ON
VELOCITY_COMMAND
INVERTER_GATES
ZynqにおけるC言語とHDLによるコンポーネント
ZynqにおけるC言語とHDLによるコンポーネント
HALL_A
HALL_B
HALL_C
システムの解析
連続動作する理想的なスイッチ
POWERGUI
システムへの入力 システムの
解析
M
MCD DC
MOTOR_ONINVERTER_ENABLE
PMSM FOCHDIFIXPFWRAP
PHASE_VOLTAGES
COMMAND_VELOCITY
ROTOR_VELOCITY
PHASE_CURRENTS
ELECTRICAL_POSITION
CD DC
図 9 S i m u l i n kによるコントローラのモデル
行可能ファイルが生成することができますまたモデルを基にしたHDLのコードを含みプログラマブルロジックのピンとA X Iバスに接続されるビットストリームも生成することが可能です図11にコントローラの実装と IDKのハードウェアの関係を示します
ビットストリームと実行可能ファイルをハードウェア上に読み込めばコントローラの動作のテストを開始できますその際にはSimul inkとオープンソースのLinux O Sが稼働する組み込みシステムとの間でイーサネット接続を使用しHIL(Hardware - in - the -Loop)テストを実施することが可能ですシャフトの速度といったモー ターのパラメータを S i m u l i n kによって取得しシミュ
Analog Dialogue 49-038
オープンソースのLinux
イーサネット
CORTEXtrade-A9
プロセッシングシステム プログラマブルロジック モーター向けFMCカード
AXI-L
ITE
ZYNQ
C言語でアルゴリズムを記述したモデル
HDLでアルゴリズムを記述したモデル インバータ
モジュール
ホール素子用インターフェース
絶縁
図11 プロトタイプシステムに実装したコントローラ
図 1 2 A D IのL i n u xインフラストラクチャ
AD-FMCMOTCON1
ZYNQCORTEXtrade-A9
プロセッシングシステム プログラマブルロジック
ADIUBUNTU
LINUX
IIO SCOPE
libiioサーバー
ユーザーアプリケーション
UART
イーサネット
C言語のコード
HDLのコード
USB 20 USB 20
AXI
AXI
AXI
AXIインターコネクト
PWM
AXI ADC
(IAIBVBUS)
エンコーダ(位置速度)
HDMISPDIF
モーターコントローラ
パワーインバータ
エンコーダ用インターフェース
絶縁
ΣΔ型ADC
DMA
DMA
DMA
DMA
レーション結果と比較することでシステムの実装がモデルと等価であることを確認します制御アルゴリズムのテストが完了すればコントローラを製品のシステムにも適用することができます
A D Iは I D Kと共にプロトタイプと最終製品の両方に適用可能な完全なVi v a d oフレームワークとL i n u xインフラストラクチャを提供しています図1 2に I D KをサポートするLinuxインフラストラクチャを示しましたこのハイレベルの構成図にはADIのリファレンス設計がZynq上で分割される様子が示されていますプログラマブルロジックにはADCやポジションセンサーモーター駆動段と接続するための I P( I n t e l l e c t u a l P r o p e r t y)コアを実装しますH D L C o d e rによって生成されたモーター制御アルゴリズムのHDLコードはADIの IPに組み込まれますすべての I Pは構成と制御のための低速A X I - L i t eインターフェースとD M A(D i r e c t M e m o r y Acces s)チャンネルを介してソフトウェアに対してリア
ルタイムにデータを転送可能な高速A X I - S t r e a m i n gインターフェースを備えます高速イーサネットインターフェースはC o r t e x - A 9が備えるM A C周辺回路(ハードマクロ)またはプログラマブルロジックに含まれるX i l i n x社のイーサネット I Pを使用して実装することができます
Cortex-A9はADIが提供する「Ubuntu(Linux)」を搭載していますこれにはIDKのハードウェアとの通信に必要なLinux I IOドライバ監視 制御用のユーザー空間アプリケーション「 I IO Osc i l loscope(Scope)」TCPを介したリアルタイムのデータ取得とシステム制御を可能にするサーバーソフト「 l i b i i o」リモートのコンピュータ上で動作するクライアントソフトE m b e d d e d C o d e rによって生成されたC言語のコードが組み込まれるオプションのユーザーアプリケーションが含まれています
Analog Dialogue 49-03 9
A D IのL i n u xドライバはいずれも「L i n u x I n d u s t r i a l I O( I I O) S u b s y s t e m」をベースにしています現在このサブシステムはすべての主要な L i n u xカーネルに含まれています I I O S c o p eはA D Iが開発したオープンソースのL i n u xアプリケーションですZ y n qが内蔵するCor tex -A9上で動作しZynqのプラットフォームに接続された任意のADI製FMCカードから取得したデータをリアルタイムに表示することができます表示形式としては時間領域周波数領域コンスタレーションに対応しますまた取得したデータを保存してさらに詳しく解析できるようにCSVファイルやMATLAB形式ファイル(拡張子はmat)といったファイル形式をサポートしていますI IO ScopeはADIのFMCカードの構成を変更したり再度読み込んだりするためのGUIを備えています
リモートのコンピュータ上ではクライアントソフトが実行されTCPを介したリアルタイムでのデータの取得とシステムの制御が行われますこれを可能にするのが l i b i i oサーバーですサーバーはL i n u xを搭載する組み込みターゲット上で動作しますそしてターゲットとリモートクライアントの間で行われるT C Pを介したリアルタイムのデータ交換を管理します I IOクライアントはMATLABとSimul inkのネイティブアプリケーションに統合されるシステムオブジェクトとして提供されますLinuxのインターフェースはHDMI出力を利用してモニターに表示されますまたキーボードとマウスはUSB 2 0ポートによってシステムに接続できます
ADIがIDK向けに提供しているLinuxソフトウェアとHDLインフラストラクチャはMathWorks社とXi l inx社が提供するツールを組み合わせることによってモーター制御アプリケーションのプロトタイピングに最適な環境をもたらしますまた最終的な制御システムに搭載することのできる製品レベルのコンポーネントも含まれているため概念設計から製造までにかかる時間を短縮しコストを削減することが可能になります
まとめ 本稿ではF P G A対応の最新モーター制御システムの要件と動向について説明しましたMathWorks社Xi l inx社A D Iはこれらの要件を満たしより効率的で高精度なモーター制御ソリューションを開発できるよう支援するためにツール システムを市場に提供していますこのツール システムとはM a t h Wo r k s社が提供するモデルベース設計ツールとコードの自動生成ツールにXi l inx社が提供する高性能のZynqADIが提供する絶縁 電源 シグナルコンディショニング 測定用のソリューションを組み合わせたものですこれらを利用することによりモーターを駆動するためのシステムの設計検証テスト実装をかつてないほど効率的に実施できるようになります結果としてモーターの制御性能が向上するだけでなく製品を市場に投入するまでにかかる期間の短縮が可能になりますADIの IDKとZynqを併用すればM a t h Wo r k s社のS i m u l i n kを使用して設計したモーター制御アルゴリズムに対する優れたプロトタイプ環境が得られます IDKにはシステムを評価する際の出発点として使用でき任意のモーター制御プロジェクトに着手できるよう支援することを目的とした複数のリファレンス設計 4が用意されています
関連資料 1 Hi l l Tom「Motor Dr ives Migra te to Zynq SoC wi th Help f rom Mat lab」 Xce l l Journa l I ssue 87 Second Quar te r 2014年
2 O rsquo S u l l i v a n D a r a S o r e n s e n J e n s F r e d e r i k s e n Anders「Model Based Des ign Tools in Closed Loop Motor Cont ro l」 PCIM Europe 2014年
3 C o r r a d i D r G i u l i o「 F p g a H i g h E f f i c i e n c y L o w Noise Pulse Frequency Space Vector Modulat ionmdashPart I」 EDN Network 2012年10月4日
4 AD-FMCMOTCON1-EBZ User Guide
著者
Andre i Cozma(andre i cozmaanalog com)はADIのエンジニアリングマネージャーとしてシステムレベルのリファレンス設計の開発を支援しています産業オートメーションと情報科学に関する学士号に加えて電子工学と電気通信工学の博士号を取得していますモーター制御産業オートメーションソフトウェア無線電気通信などさまざまな分野にわたる設計 開発プロジェクトに従事した経験を持ちます
Andrei Cozma
Eric Cigan氏(Eric Ciganmathworks com)はMathWorks社の技術マーケティング部門でSoCとFPGAの設計ワークフローに関する取り組みを行っています同社に入社する前はMathStar社AccelChip社Mentor Graphics社で技術マーケティングに携わっていましたマサチューセッツ工科大学で機械工学の学士号と修士号を取得しています
Eric Cigan
Analog Dialogue 49-038
オープンソースのLinux
イーサネット
CORTEXtrade-A9
プロセッシングシステム プログラマブルロジック モーター向けFMCカード
AXI-L
ITE
ZYNQ
C言語でアルゴリズムを記述したモデル
HDLでアルゴリズムを記述したモデル インバータ
モジュール
ホール素子用インターフェース
絶縁
図11 プロトタイプシステムに実装したコントローラ
図 1 2 A D IのL i n u xインフラストラクチャ
AD-FMCMOTCON1
ZYNQCORTEXtrade-A9
プロセッシングシステム プログラマブルロジック
ADIUBUNTU
LINUX
IIO SCOPE
libiioサーバー
ユーザーアプリケーション
UART
イーサネット
C言語のコード
HDLのコード
USB 20 USB 20
AXI
AXI
AXI
AXIインターコネクト
PWM
AXI ADC
(IAIBVBUS)
エンコーダ(位置速度)
HDMISPDIF
モーターコントローラ
パワーインバータ
エンコーダ用インターフェース
絶縁
ΣΔ型ADC
DMA
DMA
DMA
DMA
レーション結果と比較することでシステムの実装がモデルと等価であることを確認します制御アルゴリズムのテストが完了すればコントローラを製品のシステムにも適用することができます
A D Iは I D Kと共にプロトタイプと最終製品の両方に適用可能な完全なVi v a d oフレームワークとL i n u xインフラストラクチャを提供しています図1 2に I D KをサポートするLinuxインフラストラクチャを示しましたこのハイレベルの構成図にはADIのリファレンス設計がZynq上で分割される様子が示されていますプログラマブルロジックにはADCやポジションセンサーモーター駆動段と接続するための I P( I n t e l l e c t u a l P r o p e r t y)コアを実装しますH D L C o d e rによって生成されたモーター制御アルゴリズムのHDLコードはADIの IPに組み込まれますすべての I Pは構成と制御のための低速A X I - L i t eインターフェースとD M A(D i r e c t M e m o r y Acces s)チャンネルを介してソフトウェアに対してリア
ルタイムにデータを転送可能な高速A X I - S t r e a m i n gインターフェースを備えます高速イーサネットインターフェースはC o r t e x - A 9が備えるM A C周辺回路(ハードマクロ)またはプログラマブルロジックに含まれるX i l i n x社のイーサネット I Pを使用して実装することができます
Cortex-A9はADIが提供する「Ubuntu(Linux)」を搭載していますこれにはIDKのハードウェアとの通信に必要なLinux I IOドライバ監視 制御用のユーザー空間アプリケーション「 I IO Osc i l loscope(Scope)」TCPを介したリアルタイムのデータ取得とシステム制御を可能にするサーバーソフト「 l i b i i o」リモートのコンピュータ上で動作するクライアントソフトE m b e d d e d C o d e rによって生成されたC言語のコードが組み込まれるオプションのユーザーアプリケーションが含まれています
Analog Dialogue 49-03 9
A D IのL i n u xドライバはいずれも「L i n u x I n d u s t r i a l I O( I I O) S u b s y s t e m」をベースにしています現在このサブシステムはすべての主要な L i n u xカーネルに含まれています I I O S c o p eはA D Iが開発したオープンソースのL i n u xアプリケーションですZ y n qが内蔵するCor tex -A9上で動作しZynqのプラットフォームに接続された任意のADI製FMCカードから取得したデータをリアルタイムに表示することができます表示形式としては時間領域周波数領域コンスタレーションに対応しますまた取得したデータを保存してさらに詳しく解析できるようにCSVファイルやMATLAB形式ファイル(拡張子はmat)といったファイル形式をサポートしていますI IO ScopeはADIのFMCカードの構成を変更したり再度読み込んだりするためのGUIを備えています
リモートのコンピュータ上ではクライアントソフトが実行されTCPを介したリアルタイムでのデータの取得とシステムの制御が行われますこれを可能にするのが l i b i i oサーバーですサーバーはL i n u xを搭載する組み込みターゲット上で動作しますそしてターゲットとリモートクライアントの間で行われるT C Pを介したリアルタイムのデータ交換を管理します I IOクライアントはMATLABとSimul inkのネイティブアプリケーションに統合されるシステムオブジェクトとして提供されますLinuxのインターフェースはHDMI出力を利用してモニターに表示されますまたキーボードとマウスはUSB 2 0ポートによってシステムに接続できます
ADIがIDK向けに提供しているLinuxソフトウェアとHDLインフラストラクチャはMathWorks社とXi l inx社が提供するツールを組み合わせることによってモーター制御アプリケーションのプロトタイピングに最適な環境をもたらしますまた最終的な制御システムに搭載することのできる製品レベルのコンポーネントも含まれているため概念設計から製造までにかかる時間を短縮しコストを削減することが可能になります
まとめ 本稿ではF P G A対応の最新モーター制御システムの要件と動向について説明しましたMathWorks社Xi l inx社A D Iはこれらの要件を満たしより効率的で高精度なモーター制御ソリューションを開発できるよう支援するためにツール システムを市場に提供していますこのツール システムとはM a t h Wo r k s社が提供するモデルベース設計ツールとコードの自動生成ツールにXi l inx社が提供する高性能のZynqADIが提供する絶縁 電源 シグナルコンディショニング 測定用のソリューションを組み合わせたものですこれらを利用することによりモーターを駆動するためのシステムの設計検証テスト実装をかつてないほど効率的に実施できるようになります結果としてモーターの制御性能が向上するだけでなく製品を市場に投入するまでにかかる期間の短縮が可能になりますADIの IDKとZynqを併用すればM a t h Wo r k s社のS i m u l i n kを使用して設計したモーター制御アルゴリズムに対する優れたプロトタイプ環境が得られます IDKにはシステムを評価する際の出発点として使用でき任意のモーター制御プロジェクトに着手できるよう支援することを目的とした複数のリファレンス設計 4が用意されています
関連資料 1 Hi l l Tom「Motor Dr ives Migra te to Zynq SoC wi th Help f rom Mat lab」 Xce l l Journa l I ssue 87 Second Quar te r 2014年
2 O rsquo S u l l i v a n D a r a S o r e n s e n J e n s F r e d e r i k s e n Anders「Model Based Des ign Tools in Closed Loop Motor Cont ro l」 PCIM Europe 2014年
3 C o r r a d i D r G i u l i o「 F p g a H i g h E f f i c i e n c y L o w Noise Pulse Frequency Space Vector Modulat ionmdashPart I」 EDN Network 2012年10月4日
4 AD-FMCMOTCON1-EBZ User Guide
著者
Andre i Cozma(andre i cozmaanalog com)はADIのエンジニアリングマネージャーとしてシステムレベルのリファレンス設計の開発を支援しています産業オートメーションと情報科学に関する学士号に加えて電子工学と電気通信工学の博士号を取得していますモーター制御産業オートメーションソフトウェア無線電気通信などさまざまな分野にわたる設計 開発プロジェクトに従事した経験を持ちます
Andrei Cozma
Eric Cigan氏(Eric Ciganmathworks com)はMathWorks社の技術マーケティング部門でSoCとFPGAの設計ワークフローに関する取り組みを行っています同社に入社する前はMathStar社AccelChip社Mentor Graphics社で技術マーケティングに携わっていましたマサチューセッツ工科大学で機械工学の学士号と修士号を取得しています
Eric Cigan
Analog Dialogue 49-03 9
A D IのL i n u xドライバはいずれも「L i n u x I n d u s t r i a l I O( I I O) S u b s y s t e m」をベースにしています現在このサブシステムはすべての主要な L i n u xカーネルに含まれています I I O S c o p eはA D Iが開発したオープンソースのL i n u xアプリケーションですZ y n qが内蔵するCor tex -A9上で動作しZynqのプラットフォームに接続された任意のADI製FMCカードから取得したデータをリアルタイムに表示することができます表示形式としては時間領域周波数領域コンスタレーションに対応しますまた取得したデータを保存してさらに詳しく解析できるようにCSVファイルやMATLAB形式ファイル(拡張子はmat)といったファイル形式をサポートしていますI IO ScopeはADIのFMCカードの構成を変更したり再度読み込んだりするためのGUIを備えています
リモートのコンピュータ上ではクライアントソフトが実行されTCPを介したリアルタイムでのデータの取得とシステムの制御が行われますこれを可能にするのが l i b i i oサーバーですサーバーはL i n u xを搭載する組み込みターゲット上で動作しますそしてターゲットとリモートクライアントの間で行われるT C Pを介したリアルタイムのデータ交換を管理します I IOクライアントはMATLABとSimul inkのネイティブアプリケーションに統合されるシステムオブジェクトとして提供されますLinuxのインターフェースはHDMI出力を利用してモニターに表示されますまたキーボードとマウスはUSB 2 0ポートによってシステムに接続できます
ADIがIDK向けに提供しているLinuxソフトウェアとHDLインフラストラクチャはMathWorks社とXi l inx社が提供するツールを組み合わせることによってモーター制御アプリケーションのプロトタイピングに最適な環境をもたらしますまた最終的な制御システムに搭載することのできる製品レベルのコンポーネントも含まれているため概念設計から製造までにかかる時間を短縮しコストを削減することが可能になります
まとめ 本稿ではF P G A対応の最新モーター制御システムの要件と動向について説明しましたMathWorks社Xi l inx社A D Iはこれらの要件を満たしより効率的で高精度なモーター制御ソリューションを開発できるよう支援するためにツール システムを市場に提供していますこのツール システムとはM a t h Wo r k s社が提供するモデルベース設計ツールとコードの自動生成ツールにXi l inx社が提供する高性能のZynqADIが提供する絶縁 電源 シグナルコンディショニング 測定用のソリューションを組み合わせたものですこれらを利用することによりモーターを駆動するためのシステムの設計検証テスト実装をかつてないほど効率的に実施できるようになります結果としてモーターの制御性能が向上するだけでなく製品を市場に投入するまでにかかる期間の短縮が可能になりますADIの IDKとZynqを併用すればM a t h Wo r k s社のS i m u l i n kを使用して設計したモーター制御アルゴリズムに対する優れたプロトタイプ環境が得られます IDKにはシステムを評価する際の出発点として使用でき任意のモーター制御プロジェクトに着手できるよう支援することを目的とした複数のリファレンス設計 4が用意されています
関連資料 1 Hi l l Tom「Motor Dr ives Migra te to Zynq SoC wi th Help f rom Mat lab」 Xce l l Journa l I ssue 87 Second Quar te r 2014年
2 O rsquo S u l l i v a n D a r a S o r e n s e n J e n s F r e d e r i k s e n Anders「Model Based Des ign Tools in Closed Loop Motor Cont ro l」 PCIM Europe 2014年
3 C o r r a d i D r G i u l i o「 F p g a H i g h E f f i c i e n c y L o w Noise Pulse Frequency Space Vector Modulat ionmdashPart I」 EDN Network 2012年10月4日
4 AD-FMCMOTCON1-EBZ User Guide
著者
Andre i Cozma(andre i cozmaanalog com)はADIのエンジニアリングマネージャーとしてシステムレベルのリファレンス設計の開発を支援しています産業オートメーションと情報科学に関する学士号に加えて電子工学と電気通信工学の博士号を取得していますモーター制御産業オートメーションソフトウェア無線電気通信などさまざまな分野にわたる設計 開発プロジェクトに従事した経験を持ちます
Andrei Cozma
Eric Cigan氏(Eric Ciganmathworks com)はMathWorks社の技術マーケティング部門でSoCとFPGAの設計ワークフローに関する取り組みを行っています同社に入社する前はMathStar社AccelChip社Mentor Graphics社で技術マーケティングに携わっていましたマサチューセッツ工科大学で機械工学の学士号と修士号を取得しています
Eric Cigan