CAN 通信プログラムの 制作と実験 - CQ出版社

第 9 章 CAN 内蔵ワンチップ・マイコン
H8S/2612F を使った
CAN 通信プログラムの
制作と実験
渡邉 善和
Yoshikazu Watanabe
信します.
ノード 2 :アイデンティファイヤのフィルタ・マス
■ はじめに
本稿では,日立製の CAN 内蔵ワンチップ・マイコ
クで,アイデンティファイヤ“A”のメッセージのデ
ン H8S/2612F を使った通信プログラムを制作し,実
際の転送波形と照らし合わせながら動作を確認してみ
ータだけ受信するように設定されています.
ノード 3 :ノード 2 と同じように,アイデンティフ
ます.また,リモート・フレームを使ったデータ転送
例も紹介します.
ァイヤ“B”のメッセージのデータだけ受信するよう
に設定されています.
プログラム制作の前に
ノード 4 :ノード 2 と同じように,アイデンティフ
ァイヤ“C”のメッセージのデータだけ受信するよう
に設定されています.
まず CAN の通信動作をおさらいしてみましょう.
図 1 に五つのノードの通信例を示します.
ノード 5 :すべてのメッセージのデータを受信する
ように設定されています.
● 各ノードの動作や設定
図 1 の各ノードの動作や設定は,以下のようになっ
● 通信動作
ているものとします.
ド 1 以外のすべてノードが受信します.そしてそれぞ
ノード 1 :アイデンティファイヤ“A”のメッセー
ジと,アイデンティファイヤ“B”のメッセージを送
れのノードは,設定されたフィルタ・マスクによって
受信メッセージを選び,データを受信します.
ノード 1 から送信された二つのメッセージは,ノー
〈図 1〉五つのノードで構成するネットワークの通信例
ノード1
アイデンティファイヤ“A”のメッセージ・データと
アイデンティファイヤ“B”のメッセージ・データを送信
ACKを受信
ノード5
“A”データと
“B”データを受信
ACKを2回送信
メッセージを受信
メッセージを受信
ACKを送信
ノード4
データ受信なし
ACKを送信
CANバス
メッセージを受信
ノード2
“A”のデータ
だけ受信
メッセージを受信
ACKを送信
ノード3
“B”のデータ
だけ受信
Keywords
H8S/2612F,アイデンティファイヤ,フィルタ・マスク,ノード,HCAN,コンフィギュレーション・モード,ストップ・モード,
リセット・フラグ,メッセージ・コントロール・エリア,メッセージ・データ・エリア,メール・ボックス,スタンダード・フォー
マット,データ・フレーム,リモート・フレーム.
202
■ プログラムの入手方法 この記事の関連プログラムは @nifty の FDEVICE
のデータ・ライブラリ# 7「CQ 出版トランジスタ技術提供データ」と小社ホー
ム・ページに登録します.
(編集部)http://www.cqpub.co.jp/
2003 年 3 月号
特集*最新シリアル・バスの仕組み
また,ノード 1 以外のすべてのノードからはメッセ
ージ受信後,同じタイミングで ACK が送信され,ノ
の設定に十分注意してください.
実験環境とプログラムの仕様
ード 1 はメッセージごとに ACK を受信します.
● アイデンティファイヤの設定が重要
● 実験するネットワークの概要
ここで,ノード 1 とノード 4 だけの通信を考えてみ
ましょう.図 2 に示すように,ノード 4 はノード 1 が
送信した二つのメッセージを受信し ACK を送信しま
図 3 に示します.これは,図 1 のノード 1 とノード
2 だけの通信を抜き出したものです.なお,ノード 2
すが,データ自体は受信しません.受信側からの ACK
信号は,正常なメッセージを受信したという応答であ
の受信データは,ノード 2 に使用するボードに搭載さ
れている液晶表示器(LCD)
で確認します.
り,データを受信したという応答ではありません.
● 実験環境の構成
つまり,アイデンティファイヤの設定を間違えると,
送信したデータを誰も受信してくれないのです.CAN
構成を図 4 に,実際の実験環境を写真 1 に示します.
ノード 1 には,㈱北斗電子製の HCAN ・ LIN スター
のプログラムを制作するときはアイデンティファイヤ
タキット HSB8S2612ST を,ノード 2 には日立製の
〈図 2〉二つのノード間の通信例
CANscope
ノード1
HSB8S2612ST
アイデンティファイヤ“A”の
メッセージ・データと
アイデンティファイヤ“B”の
メッセージ・データを送信
ACKを受信
CANバス
CANバス
メッセージを受信
ノード4
データ受信なし
HA13723評価ボード
ACKを送信
〈写真 1〉実験環境の外観
〈図 3〉実験するネットワークの概要
ノード1
ACKを受信
アイデンティファイヤ“A”のメッセージ・データと
アイデンティファイヤ“B”のメッセージ・データを送信
メッセージを受信
ACKを送信
CANバス
ノード1
(株)北斗電子
HCAN・LI N スタータキット
HSB8S2612ST
〈図 4〉実験環境の構成
ノード2
“A”のデータ
だけ受信
ノード2
(株)日立製作所
CAN ドライバ内蔵 5V 電源
レギュレータ I C(HA13723)
評価ボード
ベクター・ジャパン(株)
CAN バス・モニタ
CANscope V1.20
CANバス
2003 年 3 月号
CAN バス・モニタ CANscope
価格: 65 万円 ベクター・ジャパン㈱
 http://www.vector − japan.co.jp/
203