|
PICとCAN … MAL勝手にCAN宣言! |
|
|
|
|
|
|
|
|
|
|
|
CANとは |
|
|
|
|
CANは当初、自動車用のLANであるCar Area Networkとしてボッシュ社により開発されました。その後、機械系のLANとしてController Area Networkの名称で規格を行なったネットワークです。 |
|
|
|
CANの特長 |
|
|
|
|
CANは簡単で信頼性が高く使いやすいLANです。それはCANが特別な特長があるLANだからです。CANの特長は次のような点が上げられます。 |
|
|
●相手がいなくても電文送信 |
各ユニットは聞く相手があろうが無かろうが情報を提供します。聞きたいと思うユニットが自由に情報を読み取ります。そのため全てのユニットが同格で上下関係がありません。このような状態をマルチマスタ方式での通信と言っています。もちろん相手ユニットを指定してデータ要求をかけることもできます。 |
|
●電文は短い |
機械系のユニットが必要とする情報は1バイト、2バイトといった短い情報である場合が多いでしょう。CANでは8バイトデータを最大値とし、0〜8バイトを1パケットとして扱うことができます。可変長のデータ構成です。 |
|
●各ユニットの電文が衝突しても大丈夫 |
各ユニットが同時に電文を出力してしまった場合IDの低いものが優先されます。自動的に衝突処理、再送処理が行われるためソフトの負担が少なくて済みます。 |
|
●簡単な通信形態 |
通信は非同期型のシリアル通信でRS422のような差動型の双方向通信です。2線式+GNDのシンプルなハードウエアです。小型ユニットにも負担がありません。 |
|
●ボーレートは最大1Mbps |
ボーレートはシステム内で規定できます。最大1Mbpsまで使用できますが、通信距離を考えると100〜300bpsあたりが使いやすいでしょう。装置内など短距離では高速の伝送が可能です。 |
|
●エラーは最小限 |
通信フォーマットにはいくつかの工夫があり、エラー状態を回避したり、エラーを検出しやすい構造になっています。エラー検出やエラー発生時のユニットの処理も考慮されています。 |
|
●複数電文の受信 |
PICのハードウエアは複数のIDの電文を並列に受信できます。センサ情報、キーボード操作情報、異常監視情報、等を各受信バッファに割り当てて定期的に情報を取得し更新できます。入り口は1つでも自動的にデータがバッファに入るので、どこから来た何のデータかを調べる必要なく情報を処理できます。このことはモータなどの制御中の小さな隙間で通信を処理することができる高速性があります。 |
|
|
|
PICのCAN |
|
|
|
|
PICはPIC18の登場時期からCANを搭載しています。CANへのアプローチはMCP2510デバイスよりはじまり、PIC18F458でPIC内に内蔵されました。さらに改良されPIC18F4580でECANとして完成された形になりました。ECANは機能の規模が大きくなりましたが、PIC18F458規模の利用でも同一操作で利用できます。16bitのPICではdsPIC30FとPIC24H、dsPIC33Fに搭載されています。dsPIC30FではPIC18と同一の使い方ができます。 |
|
|
|
CANは規格化されているか? |
|
|
|
|
CANのプロトコルやデバイスIDを規格化しているのはデバイスネットです。FA機器メーカが集まり、CAN、イーサネットを統合した規格化や管理が行われています。CANの決まりを意識せずに利用するにはデバイスネット準拠のユニットを利用します。 |
|
|
|
勝手にCAN |
|
|
|
|
PIC内蔵のCANを利用するとMCP2551を外部に装備するだけでCANバスに接続ができ、高信頼性で安定、高速なLANを利用できます。こんな簡単なLANを利用しない手はありません。デバイスネットなどの規格に合わせるにはプロトコルの規定が複雑ですが、自社のシステム内の自社LANなら勝手なプロトコルでもかまいません。勝手に通信ができる理由は通信の信頼性がプロトコルに委ねられていないことです。1パケットを安全に伝送するシステムはハード的に完成されていますから、8バイトデータを送るだけで通信が可能です。CPUユニットと表示ユニット、操作ユニット、センサ、動力など5ユニット、10ユニット程度の通信システムで10m程度のLANなら気軽に利用できます。ラック筐体内の通信はもちろん、ロボットの内部通信などには最適といえます。卓上ユニット内に使ってもいいではないでしょうか? 各ユニットは電源を入れても4本の線でつなぐだけということをお忘れ無く。 |
|
|
|
CANの利用はアイデア次第 |
|
|
|
|
CANの通信はシリアル伝送やイーサネットなどに見られる一般的なシリアル伝送と大きく異なる特徴があることはご理解いただけたと思います。パケットの通信の仕組みを知るとLAN内の効率的な伝送を想像し、設計することができます。自由なLANは使い方も無限にある機能的なLANであるといえます。比較的大きな電文を送ることももちろん可能です。CANの特徴を知り、PICのCANインタフェースを知ることがまず必要です。 |
|
|
|
CANの立ち上げは? |
|
|
|
|
PICによるCANの立ち上げは弊社のCAN360をご利用下さい。解説書を含めたボードで、ボード内3ノードを利用した通信の実験やプログラミングが可能です。さらにノードを追加する場合MA299-CANが利用できます。プログラミングが効率的なのはボード内に通信モニタがあり伝送電文を監視できることにあります。数ヶ月の開発工数を一挙に短縮できます。 |
|
|
|
MALのCAN機能搭載製品紹介 |
|
|
|
|
|
|
|
|