fpgaベースのシステムで、モーター制御の 性能を … › media › jp ›...

9
Analog Dialogue 49-03 1 FPGAベースのシステムで、モーター制御の 性能を向上 著者:Andrei Cozma/Eric Cigan はじめに 産業、民生、自動車など、電気モーターはさまざまな分 野で活用されています。その制御は、入力電力を変化さ せてトルク、速度、位置を調整するモーター制御システ ムによって行われます。高性能のモーター制御システム を使えば効率が向上するとともに、より高速で高精度な 制御が可能になります。高度な モーター制御システム は、制御用のアルゴリズム、産業用ネットワーク、ユー ザー・インターフェース( UI )が統合されるため、すべ てのタスクをリアルタイムに実行するには、強力な処理 能力が必要になります。一般に、最新のモーター制御 システムには、マルチチップのアーキテクチャが使われ ます。例えば、 DSP によってモーター制御のアルゴリズ ムを実行し、 FPGA によって高速 I/O とネットワーク・プ ロトコルの処理を行い、マルチプロセッサが実行制御の 処理を担うといった具合です 1 Xilinx 社は、汎用性の高い CPU と処理能力の高い FPGA を組み合わせた SoC System on Chip )「 Zynq All Pro- grammable SoC (以下、 Zynq 」を製品化しています。 この製品を利用すれば、モーターを制御する機能とその 他の処理タスクを単一のデバイスに統合することが可能 です。制御アルゴリズムやネットワーク機能、集中的な 処理を要するタスクは、プログラマブル・ロジックにオ フロードすることができます。一方で、監視制御、シス テムの監視/ 診断、UI 、コミッショニングなどはプロセッ シング・ユニットによって実行することが可能です。プ ログラマブル・ロジックには、制御用のコアを複数搭載 することができます。それらを並列に動作させれば、複 数の軸に対応する機械や、複数の制御システムを実現す ることが可能です。 1 チップにコントローラのすべてを 実装することで、よりシンプルで信頼性が高く、低コス トのハードウェア設計が行えます。 一方、 MathWorks ® 社は、ソフトウェア・モデリングとシ ミュレーションを行うためのツール「 Simulink ® 」を提 供しています。このツールを使用すれば、モデルの作成 から実装までを完全に網羅する設計フローによって、 デル・ベース の設計を行うことが可能になります 2 。モデ ル・ベースの設計では、設計作業の場が研究施設や現場 からデスクトップ環境へと移行できます。また、技術者 や研究者が行う作業の方法にも変化をもたらします。最 近は、プラントからコントローラまでを含むシステム全 体をモデル化することが可能です。また、技術者はコン トローラを現場に配備する前に、動作のチューニングを 行うことができます。これによって、故障のリスクが軽 減されるうえに、迅速なシステム統合が可能になり、装 置の可用性に対する依存度が低下します。完成した制御 用モデルは、 Simulink の環境において、制御システムで 実行可能な C 言語のコードまたは HDL のコードに自動変 換することができ、時間短縮と手作業によるコーディン グ・エラーの回避につながります。システムのモデルを 実際の条件下でコントローラの動作を観測できるラピッ ド・プロトタイピング環境とリンクさせることによって、 リスクはさらに軽減されます。 ここでは、モーター制御の性能を向上させるための完全 な開発環境を紹介します。この環境は、コントローラを 実装するためのXilinx 社のZynq SOC 、モデル・ベース設 計と自動コード生成のためのMathWorks Simulink 加え、ドライブ・システムのラピッド・プロトタイピン グを行うためのアナログ・デバイセズ( ADI )の「 Intel- ligent Drives Kit 」を使って構築されました。 Zynqを用いたモーター制御ソリューション 高度な モーター制御 システムでは、制御、通信、 UI のタ スクを組み合わせて実行しなければなりませんが、処理 に必要な帯域幅の要件やリアルタイム性に関する制約は 1. Zynq のブロック図 SPI×2 AMBA®インターコネクト AMBA ® インターコネクト セキュリティ AESSHARSA 汎用AXIポート プログラマブル・ロジック (システム・ゲート、 DSPRAMEMIO 高性能の AXIポート PCIe Gen2 × 18レーン XADC ADC×2MUX温度センサー マルチギガビット・トランシーバ マルチスタンダードI/O 3.3V、高速の1.8VACP AMBA®インターコネクト NEON® DSP/FPUエンジン ARM® CoreSight® マルチコアのデバッグ/ トレース NEON DSP/FPUエンジン 512kBL2キャッシュ 汎用割り込み コントローラ コンフィギュレーション タイマー DMA ウォッチドッグ・ タイマー スヌープ 制御 ユニット 256kBオンチップ・ メモリ Cortex®-A9 MPCore 32kB/32kBI/Dキャッシュ Cortex-A9 MPCore 32kB/32kBI/Dキャッシュ AMBA ® インターコネクト フラッシュ・コントローラ NORNANDSRAMQUAD SPI プロセッシング・システム マルチポートDRAMコントローラ DDR3DDR3LDDR2 I 2 C×2 CAN×2 UART×2 プロセッサのI/OMUX GPIO SDIO×2 DMA対応) USB×2 DMA対応) GbE×2 DMA対応)

Upload: others

Post on 24-Jun-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: FPGAベースのシステムで、モーター制御の 性能を … › media › jp › analog-dialogue › volume...実装することで、よりシンプルで信頼性が高く、低コス

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

Page 2: FPGAベースのシステムで、モーター制御の 性能を … › media › jp › analog-dialogue › volume...実装することで、よりシンプルで信頼性が高く、低コス

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

Page 3: FPGAベースのシステムで、モーター制御の 性能を … › media › jp › analog-dialogue › volume...実装することで、よりシンプルで信頼性が高く、低コス

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

Page 4: FPGAベースのシステムで、モーター制御の 性能を … › media › jp › analog-dialogue › volume...実装することで、よりシンプルで信頼性が高く、低コス

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

Page 5: FPGAベースのシステムで、モーター制御の 性能を … › media › jp › analog-dialogue › volume...実装することで、よりシンプルで信頼性が高く、低コス

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

Page 6: FPGAベースのシステムで、モーター制御の 性能を … › media › jp › analog-dialogue › volume...実装することで、よりシンプルで信頼性が高く、低コス

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

Page 7: FPGAベースのシステムで、モーター制御の 性能を … › media › jp › analog-dialogue › volume...実装することで、よりシンプルで信頼性が高く、低コス

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

Page 8: FPGAベースのシステムで、モーター制御の 性能を … › media › jp › analog-dialogue › volume...実装することで、よりシンプルで信頼性が高く、低コス

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

Page 9: FPGAベースのシステムで、モーター制御の 性能を … › media › jp › analog-dialogue › volume...実装することで、よりシンプルで信頼性が高く、低コス

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