ステップテクニカ技術情報

最終更新日 2017/09/19

エッグプロトコル内蔵でらくらく通信!ステップテクニカのHLSとCUnet

こんにちは。技術開発部システムGのエッグです。

ステップテクニカ製品のプロモーションを担当しています。これから定期的に、便利なステップテクニカ製品の特長を紹介していきたいと思います。以後、お見知り置きを。

一発目の今回は、ステップテクニカ製品の大きな特長である「プロトコル内蔵」について書いてみます。ステップテクニカのネットワークICであるHLSとCUnetは、独自の通信プロトコルを内蔵しており、通信ソフトウェアの開発を一切必要としません!

HLS/CUnetのネットワーク内において、IC同士は自動的に通信を実施しているので、CPUパワーに依存することなく自動的に通信を実行しています。詳しく見ていきましょう。

通信プロトコルとは

そもそも通信プロトコルとは何でしょうか。

通信には、データを送る側と受ける側がいます。ここで、やり取りのルールをあらかじめ両者で決めておかないと通信ができません。このルールの部分がプロトコルです。

例としてよく引き合いに出されるのが、日常会話です。日本語しか話せない人と、アラビア語しか話せない人ではコミュニケーションができません。お互いが同じ言語(ルール)で話せる場合に通信(コミュニケーション)が確立します。この言語がプロトコルというわけです。

会話不成立

> أين هو محطة القطار

> (この人何言ってるんだろう…)

会話成立

> 駅はどこですか?

> 次の信号を左折したところですよ。

ステップテクニカ製品は全てプロトコル内蔵

ステップテクニカのネットワークICは、通信プロトコルを内蔵しており、プログラムを必要としません。無理やり先ほどの例に結びつけるとすれば、いきなりアラビア語を話せる状態にあり、アラビア語を勉強する必要がないといったところでしょうか。

プログラムを必要としないということは、つまり、プロトコル・スタック等のソフトウェア開発コストを大幅に削減可能で、通信の信頼性もアップします。また、通信がハードウェアで実現できているため、CPUレスの通信が可能になり、CPUパワーに依存することなく自動的に通信を実行できます。したがって、アプリケーションの重さに引っ張られないという点もメリットです。

HLSのプロトコル

HLSは自動的にポーリングを実行し、応答速度が常に一定周期となるため、簡単にネットワークを構築できます。

マスタICは各スレーブICに対応した制御レジスタ(メモリ空間)を持っており、ポーリングを自動的に繰り返すことで、各スレーブの通信に同期してメモリ空間が更新されます。CPUはマスタICのメモリ空間をリード/ライトするだけで、各スレーブのI/Oを制御することが可能です。

HLSのプロトコル

・リード動作

I/Oの入力データはマスタIC内のメモリへ自動的に書き込まれ、常に最新の状態へ更新されています。CPUが各スレーブの入力データを個別に取得したい場合、CPUがマスタIC内のメモリをリードするだけで、最新のスレーブ入力データを取得することが可能です。

・ライト動作

CPUが各スレーブへ個別のデータを出力したい場合、CPUがマスタIC内のメモリへデータをライトするだけで、最新の出力データをスレーブICへ出力することが可能です。

CUnetのプロトコル

CUnetのプロトコルはHLSとは違い、各CUnet ICは他の全CUnet ICの制御データを共有できるメモリエリアを持っています。つながれたネットワーク内で一定の周期でデータをやり取りし、下図の構成では①~⑤まで一周する毎に全てのCUnet ICのメモリ内容が同じになります。

CUnetのプロトコル

CUnet ICは、CPUに依存せずに自動的に通信(データ共有)を実行しています。各CUnet ICは、64ブロックから構成される512バイトのメモリを内蔵しており、この512バイトのメモリ内に自己のみがライト可能な8バイト単位の「自己占有エリア」が存在します。自己占有エリア以外のメモリ領域へは、他のCUnet ICのデータがコピーされます。

マスタ基板のCPUは隣にいるCUnet IC(MKY43)の自己占有エリアに対してデータをライトすることにより、そのデータが他のCUnet ICのメモリへコピーされます。これにより、各CUnet ICは全てのデータを共有することが可能です。

逆に言えば、CPUは自分の隣にいるCUnet ICのメモリ内容をリードするだけで、ネットワークにつながれた全CUnet ICのデータを把握することができます。マルチマスタ構成も可能で、高信頼性通信を簡単に実現でき、かつアプリケーションソフトウェア開発の負担を軽減できます。

ソフトウェア開発の必要なし

ユーザーはプロトコル・スタックなどのソフトウェア開発は必要なく、メモリのリード/ライトのみでI/O制御が可能です。ちなみに、通信異常(LINK ERROR)は自動的にマスタCPUで検出可能となっています。

ネットワークを起動するために必要な処理は、1つのビット(STARTビット)を操作することだけです。必ずしも全てのレジスタを理解する必要はありません。高度な応用を可能とする各種レジスタも搭載されていますが、必要に応じてそのレジスタを理解すればOKです。

CUnetを起動するときはこんな感じ↓↓↓

CUnetの起動手順

CUnetはCPU無しでネットワークを構築できてしまうのですが、その話題はひとまず置いておいて、基本的にはHLSもCUnetもマスタICの隣にCPUが存在しています。

ただ、通信プロトコルはHLS/CUnet ICに内蔵されているため、通信に関してCPUがやるべきことはありません。CPUは隣にいるマスタICのメモリエリアを、好きなタイミングでリード/ライトするだけです。データは常に一定の周期で更新されるため、この辺りの制御も非常に楽なのです。

よくある質問として「開発ツールはありますか?」と聞かれますが……ないです。メモリみたいなものだと考えてください。

まとめ

ステップテクニカ製品を使用すると、いつも頭を悩ませられる通信部分の設計が楽々終わります。プロトコル内蔵なので、通信ソフトウェア開発に手間を取られることがないですからね。

またプロトコル関連の話題になると、「世の中の通信プロトコルを全部まとめて、一つのルールに統一してしまえばいいのでは?」と感じる方がいるかもしれませんが、それがベストとも限りません。日本語で伝えた方が分かりやすい場面もあれば、英語の方が分かりやすい場面もあります。その場面・局面に合ったルールが存在していて、これはフィールドバスに置き換えても同じことが言えます。

統一が容易ではないということもありますが、適材適所のフィールドバスをチョイスするのもエンジニアの腕の見せどころです。

お礼

お問い合わせ・サンプル請求・ご相談はこちらから

取り扱いメーカー

お問い合わせ