CAN-LINゲートウェイのソフトウェア・モジュールの実装 ――高い信頼性を確保して異なるプロトコル通信間をつなぐ
1) CANからLINスレーブへのデータ送信(図9(a))
ゲートウェイでCANデータを受信した場合,まず,ゲートウェイ内部のCANドライバでデータを取得し,メッセージ・フィルタに送ります.このとき,ゲートウェイ処理におけるメッセージIDのデータを取得できるように,CANコントローラを設定しておく必要があります.
次に,メッセージ・フィルタでは,受信したIDをIDマッピング・テーブルと照合します.図9(a)の場合,CAN ID=0x100,LIN ID=0x02であり,さらに問い合わせ元がCANネットワークであることがわかっているので,プロトコルを変換して送信要求をLIN側のメッセージ・バッファに格納します.
その後,LINメッセージ・バッファに格納してある送信要求は,メッセージ・スケジューラによって定期的に処理されます.メッセージ・スケジューラによって取り出された送信要求は,LINマスタ・ドライバを介してLINフレームとして送信されます.
図9 ゲートウェイの内部動作
(a)にCANノードからLINスレーブへデータが送信される場合を,(b)にCANノードからLINスレーブへデータを要求する場合を示す.