Article header tecarticle 870x300  49

モータ制御に最適なペリフェラルがギュッと詰まったXMC1300,1400,4000シリーズ!!その機能とは?

ターゲットアプリは、ズバリ、モータ制御機器!

XMC1000,4000シリーズは、ターゲットアプリケーション向けに開発された製品です。
これらシリーズの内、XMC1300,1400,4000シリーズはモータ制御機器をターゲットに開発されており、たくさんの機能が盛り込まれています。今回は、特長的な機能を4つを選んでご紹介します。
 XMC1400は、サンプル:リリース済み、量産:2016Q1を予定しています。

特長的な機能
機能その1 高性能PWM生成ブロック(CCU8)
機能その2 位置検出インターフェース(POSIF)
機能その3 Math Co-Processor
機能その4 ⊿Σデモジュレーションブロック (XMC4000シリーズのみ)

機能その1:高性能PWM生成ブロック(CCU8)

Article header ccu8 372 293  1

XMC1300,XMC1400,XMC4000シリーズに搭載されている機能です。モータ制御の肝になるPWM生成用回路です。シリーズにより、ブロックの搭載数が違うので注意してください。CCU8ブロックは4つのSliceで構成されており、1つのSlice辺り、4つのPWM出力が生成可能です。また、1つのSlice出力からの4つのPWM信号を組み合わせて2つの相補出力のPWM信号を生成できます。

Sliceの機能概要
多様なオペレーションモード キャリア信号生成の為にEdgeアライン、Centerアライン、シングルショットの3モードに対応
2つのコンペアチャネル コンペアレジスタを2つ保有。この2つの組み合わせで多彩な出力が可能
多彩な出力モード PWM出力を1Sliceから4本出力。相補PWM信号を生成可能。設定したタイミングでAD等へ直接割り込み出力
ディザーコントロール タイマーカウンタの他に4ビットカウンタ+コンパレータ用意。PWM周波数&Dutyを微調整可能
高分解能タイマー CCUブロックの組み合わせで最大64ビットタイマーまで連結可能
デットタイム生成回路 プログラマブルに自動的にPWM出力にデットタイムをつけることが可能

 安全制御に関してもPWMの出力制御コントロールを外部、或いは内部信号を用いて制御が可能です。

機能その2:位置検出インターフェース(POSIF)

XMC1300、1400,XMC4000に搭載されている機能です。
インクリメンタルのロータリーエンコーダやホールセンサー信号を受信できる専用回路が搭載されています。
POSIFを使うための専用ライブラリも用意しているので、これを使えば開発期間短縮にも繋がります。

Article header posif 774 319  2

例えば こんな便利な使い方、
 ロータリーエンコーダーを接続した場合には・・・
 1.POSIFによりZeropointパルス、方向指示信号、ピリオドパルス、位相パルスをデコード
 2.POSIFとCCU4(タイマー)が連動して回転速度、位置検出、回転数を自動計算!
 →通常ソフトウェアで行う処理をハードウェアのみで実現できます。

 ホールセンサーを接続した場合には・・・
 1.信号のバウンシングによるミスラッチを回避する為に、遅延時間後ラッチし、比較タイミングトリガ生成
 2.トリガを元に受信したホールパターンとユーザー定義の期待値パターンを自動比較
 3.比較結果が期待したものと違う場合には、PWM出力のIdle/Stopの安全制御を自動で行います
 4.期待値パターンと一致していた場合には、CPUの介在なしにCCU8(PWM生成回路)経由で同期モータ用駆動パルス自動生成します

機能その3:Math Co-Processor

Article header math%20co processor 372 262  1

XMC1300,1400に搭載されている機能です。モータ制御でベクトル制御を行う場合には、三角関数、割り算の計算を行うためにソフトウェア負荷が非常にかかります。この為、一般的にはM3以降のARMコアを使用するのが一般的です。これを打開する為にXMC1300,1400シリーズではMath Co-Processorという三角関数及び割り算の為の専用ブロックを用意しています。図の通り、32bitの割り算器、CORDICアルゴリズムを使用した専用回路を保有しています。双曲線計算、割り算、掛け算、三角関数(逆三角関数)計算に効果を発揮するブロックです。
本回路を使用するためには、例えば割り算の場合、被除数と除数をレジスタに格納すると自動的に計算結果がレジスタに格納されるので、それを商として使うだけです。Co-Processor用の特別なソフトウェアプログラミングは不要です。

Article header  372 246  2

本Math Co-Processorを使用した場合、コサインの計算ですとCPUの介在なしで動作可能になる為、94%コードサイクル数を削減可能になります(Coretex-M0によるソフトウェア計算比較)
大きなコード削減にも寄与しますし、M3コアをM0コアに置き換えられることで大きなコストメリットにも繋がります。

機能その4:⊿Σデモジュレーションブロック

Article header  450 321  1

XMC4000シリーズに搭載されている機能です。電流センスする際にMCU内臓のADCでは解像度が足りず、外付けで⊿ΣADCを使うケースがあります。また、この際、ADCのサンプリング値をそのままビットストリームで外部に出力し、FPGA,MCUでフィルタリングを行うケースもあると思います。フィルタリングする際にFPGAで行う場合には、コストが掛かりますし、MCUでやる場合には、それなりにソフト負荷がかかります。これを打開するためにInfineonはフィルタリング用専用回路を搭載しました。XMC4800には⊿Σデモジュレーションブロックが4つ搭載されており、更にひとつのキャリアジェネレータから構成されています。フィルタリングにはCIC、CIC2、CIC3、CIC Fの4つのタイプが用意されており、更にデシメーションファクターは4-256までそれぞれのチャネルごとに設定が可能です。この際のクロックレートは3.75Mhz-60Mhzまで対応することができます。また、オーバーカレント/オーバーヴォルテージ検出の際には、可能な限り早いレスポンスタイムが必要です。この際、Auxiliaryフィルター+コンパレータを使用することにより、性能を犠牲にしてMainフィルターよりも素早いレスポンスを行うことが可能です。

Article header  %e5%a4%96%e4%bb%98%e3%81%91%e2%8a%bf%ce%a3%e3%83%a2%e3%82%b8%e3%83%a5%e3%83%ac%e3%83%bc%e3%82%b7%e3%83%a7%e3%83%b3%e3%83%81%e3%83%83%e3%83%97 450 320  2

図の通り、カレントセンシング為に外付けにFPGAのようなデモジュレーションチップを置くことなく構成することができます。この例の他に、レゾルバーなどの信号を本回路を使ってフィルタリングすることも可能です。

センサーレスFOC制御ライブラリで、コントロールループスピードを検証!

無償提供されるXMCシリーズ開発ツール”DAVE"にはFOC(フィールド・オリエンテッド・コントロール)制御ライブラリも用意されています。実際にInfineon提供のFOC制御ライブラリ使用時のコントロールループスピードを計測しました。

❏ FOC制御実験の条件
 ・実装ターゲット:XMC1302(ARM Cortex-M0)
 ・RAMからFOC実行(コードサイズ16KB)
 ・センサーレス
 ・シャント抵抗×1

❏ 結果
 コントロールループスピード=18μS

センサーレス、シャント抵抗1個というソフトウェアに負荷のかかる条件ながら、XMC1300シリーズのM0コアで、M3コアに匹敵するコントロールループスピードが実現できることをご理解頂けたかと思います。(FOC実行を内蔵SRAMからFlashに変えた場合でも34μSという結果でした。)

FOC制御ライブラリ以外にもXMCシリーズでは、以下の特長があります。
 ・モーターのパラメータとして通常必要なR,Lのパラメータの内、LのみでOK
 ・内部ADCにアンプ機能内臓のため、外付けのAMPが不要

FOC制御ライブラリはNDA(秘密保持契約)を締結頂ければ無償でご提供させて頂きます。
XMCシリーズをお使いの際は是非、お声がけ下さい。

関連商品はこちら

関連タグ