CAN Monitor の使い方 1. 仕様項目内容ポート数 1ch 対応速度 125kbps,250kbps,500kbps,1Mbps ログ記録 CSV フォーマットで時系列に記録時間は msec 単位 H/W mailbox 受信 :16ch 送信 :8ch 受信フィルタチャネル毎にデータ ID および MASK 機能設定可能 Bit Timing 調整可能 サンプリングポイントを約 30%~ 80% の間で設定可能 PC 間インタフェース USB (HID クラスを使用 ) indos 標準ドライバで動作可能コントローラー Cypress CY8C3866AXI ( この類似の PSoC3 or 5 であれば動作可能 ) 2. 動作環境 indos XP, indos 7(32bit.64bit) 特徴 indos 標準の HID ドライバーを使用するため特別なドライバーを必要としません 使いやすいユーザーインタフェース(^^ ゞ 1/8
3. 使い方 CAN の詳細な仕様やプロトコルはルネサスの以下のところを参考にしてください http://documentation.renesas.com/jpn/products/mpumcu/apn/rjj05b0937_canap.pdf 接続構成図はおおよそ下のような感じ 図 1: 接続構成図 CANBUS コネクタ (D-SUB9) USB コネクタ PC へ HidCanMoni.exe を適当なところで展開する CanMoni.INI ファイルもあればその内容を読み込みなければ内部に持っているデフォルト値を生成して CanMoni.INI を作成する 各設定パラメータはプログラム終了時に ini ファイルに書き込む 起動すると図 2のような画面となる 2/8
接続 ON/OFF 設定 DATA のところの表示の 10 進 16 進切り替え 受信データの消去 受信データ表示 ( 最大 8byte) 受信時刻 10msec 単位表示 受信データ ID 受信データ数 受信できたら 接続できた! できなかったら 接続無理! と表示する 図 2: 受信データモニタ画面 3/8
送信の Mailbox は 8 セットある ID と DLC( データ長 ) をセットする (MAX:8) RTR はその ID をリモート ( 要求 ) するときにチェックする SEND ボタンはチャネル毎にデータ送信することができる ALL SEND ボタンはチェックされているチャネルすべてデータ送信する 図 3: 送信データ設定タブ画面 4/8
チェックするとこの項目の設定が有効となる なお ID,MASK は 10 進で設定する 通常はここの設定だけで OK ここの詳細は図 5 を参照 RTR をチェックすると AUTO 返信機能が有効となる この Mailbox で設定された ID に対するリモート ( データリクエスト ) に対してデータ長 (DLC) とそのデータ DATA(hex) が自動的に応答する なお リモート ( リクエスト ) が来たかどうかをここで見ることはできない ( 受信ウィンドウには出てこない マイコン内部で閉じられた処理となる ) 図 4: 受信データ設定タブ 受信したデータは [ 日付 ]+ CAN +[ 通し番号 ].txt 形式で自動にファイル名が生成される ファイル保存は 接続している状態 でないと記録しない また ファイル名を更新したいときは一旦接続を OFF ON にすると通し番号がインクリメントされる ファイルはこの実行ファイルがあるフォルダに生成される 10 9 8 7 6 5 4 3 2 1 0 ID(20h) 0 0 0 0 0 1 0 0 0 0 0 MASK(3h) 0 0 0 0 0 0 0 0 0 x x 受信するデータ 0 0 0 0 0 1 0 0 0 1 or 0 1 or 0 MASK の部分は "1" でも "0" でも ID としては有効になる つまり受信するデータの ID は 20h,21h,22h,23h の 4 種類となる ID は 11bit で表されるため MASK=2047(7ffh) を設定するとすべての ID についてモニタすることになるが データの量が多くなるため処理できなくなる可能性もあるので注意 図 5:ID と MASK の設定について 5/8
使用するビットレートを 125kbps,250kbps, 500kbps,1Mbps から選択してください そして以下に示すシステム系で定義されている Sample Point を選択してダブルクリックしてください するとその内容が BRP,Tseg1,Tseg2 に反映されます ただし Sample Timing を正しく設定しても相性にとってうまくいかないこともあります その場合 マイコンで検出された以下のような CAN エラーがあれば通知される Receive Buffer Full Bus Off State CRC Error Detect 図 6: ビットタイミング設定タブ Message Format Error Message Ack Error Bit Stuffing Error Bit Error Detect Overload Frame Receive Arbitration Lost ビットタイミングを合わせるコツビットレートとサンプルポイントに相当する Tseg1,Tseg2 を設定してもエラーが出ることがある その場合 手動でビットタイミングパラメータを適当にふっていくとあるときエラーが出なくなるポイントが出てくる 6/8
TTY 画面ではマイコンとのやりとりしているそのままのコマンド生データを表示します 上段は受信 下段は送信データを示します 従って受信データが多い場合 表示更新に PC の処理リソースがとられるため うまく動作しない可能性もあります デバッグ以外はこのウィンドウを閉じておくことをお薦めします 図 7:TTY 画面 4. TTY スクリプト TTY スクリプトのコマンドは以下のようなも [TTY ファイルスクリプト実行機能 ] これは intty で使用していたファイルスクリプトを実行できるようにしました 今回搭載したものは若干機能拡張しています 文法は下記の通りです 大文字小文字の区別はありません コマンド 内容 s[ スヘ ース ][ シリアルコマント ] シリアルコマンドは頭から 2 文字単位で 1byte のデーターを構成して送信します 従って "Ah" のデーターを送る場合は "0A" と記する必要があります "1Eh","6h","ch" のデーターを送信する場合は "1e060c" と書いてください [ スヘ ース ][ 時間 (msec)] ait( 待ち ) 時間を挿入することが出来ます 時間を指定しない場合はデフォルトで 500msec 待ちになります つまり と 1500 とは待ち時間は同じになります ; コメント行です H B 0.1 秒の ait( 待ち ) です 0.3 秒の ait( 待ち ) です 7/8
実際のファイル構成例 s 1E060C 3000 ;----テストモード要求 S 1E060C ;----テストモード要求 S 1E060C ;------- 特殊試験モード S D10F04020103 S D10F04020103 8/8