IO-Linkトランシーバーによりデータ・リンクを管理することで、マイクロコントローラの選択肢が広がる理由

質問:

IO-Link®デバイス用のマイクロコントローラが、定められたタイミング要件を満たせるようにするにはどうすればよいですか?

How using an io-link transceiver to manage the data link simplifies microcontroller selection

回答:

IO-Linkデバイス(センサーやアクチュエータ)用のマイクロコントローラには、複数のタスクを同時に実行することが求められます。その結果として、同マイクロコントローラが、許容される時間内にリクエストに応答できなくなるケースがあります。特に、マイクロコントローラが、中断が許されないタスクを実行しているときにはそのようなことが起こり得ます。一般に、このタイミングに関する課題を解決するためには、IO-Linkスタックの管理を担う2つ目のマイクロコントローラが用いられます。それによって、IO-LinkデバイスとIO-Linkマスタの間で応答時間の間隔をより一定に保つということです。しかし、これは非常に効率の悪い方法だと言えます。なぜなら、マイクロコントローラを1つ増やすことによって消費電力が増えるからです。それだけでなく、プリント基板がかなり大きくなるため、センサーの筐体としても大きなものが必要になります。果たして、これよりも優れた対処方法は存在しないのでしょうか。実は、通信経路内のデータ・リンク層と物理層の両方を管理できるトランシーバーを採用すれば問題を解決することができます。そのトランシーバーにより、IO-Linkデバイス用のマイクロコントローラは上記のタスクから解放されることになります。その結果、より小型で、より複雑で、より高機能で、費用対効果の高い産業用のフィールド・デバイスを設計することが可能になります。

はじめに

古代ローマの作家、プブリリウス・シルスはマルチタスキングについて次のような言葉を残しています。それは「2つのことを同時に行うのは、どちらも行わないことと同じである」というものです。この見解は極端なものかもしれません。しかし、マルチタスキングは実際に問題を生じさせることがあります。当初意図したとおりに、あるいは時間どおりにタスクが完了しないという状況が起こり得るのです。産業用のプロセスがますます複雑になるにつれ、センサーやアクチュエータといったフィールド・デバイスは、複数の異なるタスクを同時に実行できるものに進化しています。その中には、プロセス・コントローラとの定期的な通信を維持するというタスクも含まれています。それにより、IO-Linkデバイス用のコントローラではより大きなオーバーヘッドが生じます。そのオーバーヘッドを慎重に管理しなければ、プロセス・データが失われ、製造施設にダウンタイムが生じてしまうかもしれません。現代の産業用の通信プロトコルが達成すべき目標の1つは、ダウンタイムを低減することです。それにもかかわらず、そのような結果を招くおそれがあるのです。

IO-Linkのタイミング

IO-Linkは、24Vを使用する3線式の産業用通信規格です。これを採用することにより、産業用のデバイス(IO-Linkデバイス)とIO-Linkマスタの間でポイントtoポイントの通信を実現できます(図1)。その場合、IO-Linkマスタは、より高位のプロセス制御用のネットワークとの間でも通信を実行します。

図1. IO-LinkマスタとIO-Linkデバイスの通信用インターフェース
図1. IO-LinkマスタとIO-Linkデバイスの通信用インターフェース

IO-Linkのアプリケーションにおいて、マイクロコントローラはデータ・リンク層のプロトコル(スタック)を実行します。このマイクロコントローラとIO-Linkに対応する24Vの信号ラインの間では、物理層のインターフェースとしてトランシーバーが機能します。IO-Linkの通信では、プロセスのデータ、値のステータス、デバイスのデータ、イベントなどに関する様々な情報が伝送されます。それにより、IO-Linkデバイスを迅速に特定したり、追跡したりすることができます。また、エラーが発生した場合にはそれに対処することも可能です。その結果、ダウンタイムの低減を図ることができます。加えて、IO-Linkではリモートで構成を実施することも可能です。例えば、プロセスに関するアラームをトリガするための閾値を調整しなければならなかったとします。その場合、IO-Linkの接続を介して新しい閾値をIO-Linkデバイスに送信することで調整を実現できます。つまり、技術者が工場の製造フロアに出向く必要はありません。

IO-LinkマスタのポートとIO-Linkデバイスの間で行われる通信には、タイミングに関するいくつかの制約があります。具体的には、Mシーケンス・タイムと呼ばれる固定のスケジュールで通信が実行されます。Mシーケンスのメッセージには、IO-LinkマスタからIO-Linkデバイスに送信されるコマンド/リクエストと、IO-Linkデバイスからの応答があります。図2に、Mシーケンスのタイミング・パラメータを示しました。この図は、IO-LinkマスタのポートとIO-Linkデバイスの間で行われるメッセージのやり取りを表しています。IO-Linkデバイスは、応答時間tAの間にIO-Linkマスタに対する応答を開始しなければなりません。ここで、tAの値は1Tbit~10Tbitです(Tbitはビット時間)。COM3のボー・レートの場合、tAは4.3マイクロ秒~43マイクロ秒になるはずです。応答時間がこの範囲を外れると通信エラーが発生したことになります。

図2. IO-Linkの通信におけるMシーケンスのタイミング
図2. IO-Linkの通信におけるMシーケンスのタイミング

タイミングに関する制約を守れないケース

IO-Linkデバイス用のマイクロコントローラには、複数のタスクを同時に実行することが求められます。そのため、tAによって規定される許容時間内にリクエストに応答するのが難しくなることがあります。特に、ノンマスカブル割り込み(NMI:Nonmaskable Interrupt)と呼ばれる、中断が許されないタスクを実行している際には、そのようなことが起こり得ます。IOLinkデバイス用のマイクロコントローラが定められた時間内に応答しない場合、通信は失敗に終わります。その場合、再度通信を開始しなければなりません。

測距に使用する超音波センサーを例にとると、マイクロコントローラには以下のようなタスクを実行することが求められます。

  • 超音波のバーストを送信する
  • 最後のバーストからの固有線を処理して距離を計算する
  • 周囲温度を測定し、超音波の速度を補償する
  • センサーのバックグラウンドのタスク(パワー・マネージメントなど)を管理する
  • IO-Linkのサイクリック・リクエストに応答する
  • IO-Linkの非サイクリック・リクエストに応答する

データ・サンプルを連続的に処理するマイクロコントローラには、データ・リンク層の通信タスクを管理する時間的な余裕がほとんどありません。そのため、IO-Linkデバイスの応答時間にはかなりのばらつきが生じます。極端な場合には、tAのタイミング要件を満たせなくなる可能性があります。

NMIに起因するタイミングの問題は、より多くの機能を備える、より高速なマイクロコントローラを使用すれば解決できるといった単純なものではありません。そのため、この問題に対する一般的な解決策としては2つ目のマイクロコントローラを使用してIO-Linkのスタックを管理する方法が用いられます。それにより、IO-LinkマスタとIO-Linkデバイスの間で応答時間の間隔をより一定に保つということです。しかし、これは非常に効率の悪い方法だと言えます。なぜなら、マイクロコントローラを追加することにより、消費電力が増えてしまうからです。それだけでなく、プリント基板がかなり大きくなるため、センサーの筐体としても大きなものが必要になります。

データ・リンクの管理

ここでは、2つ目のマイクロコントローラを使用するよりも優れた方法を紹介します。それは、IO-Linkに対応するトランシーバーを使用するというものです。そのトランシーバーによって、通信経路内のデータ・リンク層と物理層の両方を管理します。具体的な例として、IO-Linkステート・マシン(データ・リンク用のコントローラ)である「MAX22516」を紹介しましょう(図3)。このICは、IO-Linkデバイス用の一般的なマイクロコントローラが備えるすべての機能を内蔵しています。特徴的な点は、24Vに対応するC/Qトランシーバー、集積型の降圧DC/DCコンバータ、5V/3.3Vのリニア・レギュレータなども備えていることです。

図3. MAX22516の内部ブロック図。このIO-Linkステート・マシンは、トランシーバーや集積型のDC/DCコンバータも備えています。
図3. MAX22516の内部ブロック図。このIO-Linkステート・マシンは、トランシーバーや集積型のDC/DCコンバータも備えています。

MAX22516は、IO-Linkによるデータ通信のタイミングを完全に管理するためにフル機能のステート・マシンを内蔵しています。このような機能を網羅するトランシーバーとしては初の製品になります。IO-LinkマスタとIO-Linkデバイスの間では、構成や保守などに関するリクエスト/応答が実施されます。MAX22516は、その通信を自律的に処理します。それだけでなく、マイクロコントローラによってレジスタやFIFO(First In, First Out)に書き込まれたデータを使用し、データ転送の処理も実行します。MAX22516を採用することで得られる主要なメリットとは何でしょうか。それは、IO-Linkデバイス用のものとして使用するマイクロコントローラの選択肢が広がることです。なぜなら、同ICを採用することにより、IO-Linkデバイス用のマイクロコントローラはIO-Linkマスタとの通信というタスクを管理する必要がなくなるからです。

MAX22516は、IO-Linkマスタから受信するメッセージをモニタリングします。ISDU(Indexed Service Data Unit)の構成/保守のための完全なリクエストを受信した場合には、IO-Linkマスタに対して自動的にISDU BUSYのメッセージを送信します。また、通信が正常に終了したことをIO-Linkデバイス用のマイクロコントローラに通知します。同マイクロコントローラは、オンデマンドでISDU FIFOにデータを読み込むことができます。通常、このタスクを実行する際には、時間が許す範囲内で多くのサイクルを費やすことになります。入力プロセス・データ(PDIn)と出力プロセス・データ(PDOut)は、MAX22516がPDIn用のFIFOとPDOut用のFIFOに含まれるデータを使用して管理します。そのため、マイクロコントローラは、時間の面で制約を受けることなく、PDIn用のFIFOにデータを書き込み、PDOut用のFIFOからデータを読み出すことができます。FIFOの中のデータが処理される前に失われたり、上書きされたりしないことは、MAX22516が内蔵するバッファによって保証されます。

MAX22516を使用すれば、単一のマイクロコントローラを使用する場合と比べて、IO-LinkデバイスがIO-Linkマスタに応答するまでの時間を劇的に短縮することができます。図4に示す例では、その応答時間が50%ほど短くなっています。それだけでなく、応答時間のばらつきも、12マイクロ秒から0.25マイクロ秒まで大幅に低減されています。

図4. アプリケーションの応答時間の比較。(左)は、IO-Linkの通信の管理に単一のマイクロコントローラを使用した場合の例です。(右)ではMAX22516を使用しています。
図4. アプリケーションの応答時間の比較。(左)は、IO-Linkの通信の管理に単一のマイクロコントローラを使用した場合の例です。(右)ではMAX22516を使用しています。

図5は、IO-Linkデバイスのリファレンス設計「MAXREFDES281」のブロック図です。ご覧のように、このリファレンス設計ではMAX22516を使用しています。それにより、IO-Linkに対応する様々なセンサーのタイミング性能を確認できるようになっています。

図5. MAXREFDES281のブロック図。IO-Linkデバイスのリファレンス設計です。
図5. MAXREFDES281のブロック図。IO-Linkデバイスのリファレンス設計です。

まとめ

IO-Linkデバイス用のマイクロコントローラには、複数のタスクを同時に管理することが求められます。そのため、IO-Linkのデータ通信におけるタイミングの仕様を満たすのが難しくなるケースがあります。機器メーカーによっては、その対策として2つ目のマイクロコントローラを使用することでIO-Linkスタックを管理しています。しかし、それは望ましくない解決策です。より優れた方法は、IO-LinkトランシーバーであるMAX225162を採用することです。同ICは、IO-Linkのすべての通信を管理するためのステート・マシンを内蔵しています。そのため、IO-Linkデバイス用のマイクロコントローラの負荷が軽減されます。結果として、同マイクロコントローラは他のタイムクリティカルなタスクの実行を担うことが可能になります。

著者

Brian Condell

Brian Condell

Brian Condellは、アナログ・デバイセズ(アイルランド リムリック)のデジタル・マーケティング・エンジニアです。半導体業界で25年以上にわたり様々な職務を経験してきました。IEC 61508規格に即したハードウェア/ソフトウェア設計について機能安全技術者の資格を取得(TÜV Rheinlandが認定)。2003年にリムリック大学で電気工学の優等学士号を取得しました。

Michael Jackson

Michael Jacksonは、アナログ・デバイセズのプリンシパル・エンジニアです。SSG事業部門でソリューション・マーケティングを担当。電子工学の修士号を取得しています。

Konrad Scheuer

Konrad Scheuer

Konrad Scheuerは、アナログ・デバイセズのシニア・プリンシパルMTS(Member of Technical Staff)です。2003年にアーレン応用科学大学で電気工学の学士号を取得しています。