Last Update 2022/07/29

AVR,PIC,Arduinoを使ったCANコントローラとの接続とプログラミング
動かして学ぶCAN通信【オンデマンド版】

中尾 司 著
B5変型判 200ページ
定価3,300円(税込)
JAN9784789853026
2010年2月15日発行
好評発売中!
動かして学ぶCAN通信【オンデマンド版】

 車などのノイズの多い場所に使われているCAN通信は,中長距離のマイコンとマイコンをむすぶ通信にも適しています.
 本書は,試作に便利なDIPタイプが入手できるコントローラMCP2515/MCP2551を利用して,PICとAVRマイコンで通信する方法を具体的に説明します.ドライバの使い方を説明した後,CANノードをいくつか製作し,複数をつなぎ,通信の実験を行います.また,CANバスの簡易モニタ,シリアル-CANブリッジを製作するので,本書で紹介した以外のいろいろなマイコン/パソコンで活用できます.

※本書は,2010年2月15日に発行した同タイトルの書籍を,オンデマンド版として再発行するものです.
目次

はじめに

 信頼性の高い通信を行う
第1章 中距離マイコン間インターフェースCANとは

 CAN専用コントローラを用いて各種マイコンから活用を図る
第2章 CANコントローラMCP2515の機能
 2-1 CANコントローラの概要
 2-2 MCP2515のレジスタの概要
 2-3 CANコントローラへのアクセス(SPI通信)
 2-4 MCP2515のレジスタ
 2-5 CANコントローラの機能

 実際にノード間で通信を行う
第3章 CANノード(ハードウェア)の製作
 3-1 製作する機器
 3-2 PIC CANコントローラ(#219)
 3-3 CAN制御LCDボード(#221)
 3-4 SPI-CANブリッジ(#217, #220)
 3-5 リレー・ボード(#222)
 Column…3-1 シリアル - RS-232C - USB変換
 Column…3-2 モジュラ・ケーブル・アダプタ(#231)

 MCP2515のレジスタを使いこなす
第4章 CANコントローラの制御プログラム
 4-1 はじめに
 4-2 MCP2515ドライバ関数,マクロのコード
 4-3 ドライバ関数,マクロの使用法
 Column…4-1 ビット・フィールドのアドレス設定
 Column…4-2 Cコンパイラについて

 CANドライバの使用例
第5章 基本動作の確認
 5-1 基本的な送受信の確認…プロジェクト001
 5-2 双方向の送受信の確認…プロジェクト002
 5-3 データ・フィールドを伴うメッセージの送受信の確認…プロジェクト003A/B
 5-4 メッセージ振り分けの確認…プロジェクト004
 Column…5-1 アービトレーションの確認

 WinAVR環境でプログラミング
第6章 AVRでMCP2515コントローラを使う
 6-1 実験回路
 6-2 CAN通信の実験
 6-3 WinAVRによるプログラミング
 6-4 tiny2313版でのノードの製作
 Column…6-1 ブレッドボード用の小物

 CANのバスのやり取りを可視化する
第7章 簡易CANバス・モニタの製作
 7-1 バス・モニタの機能
 7-2 制御ソフトウェア
 7-3 制御ソフトウェアのプログラム
 7-4 CCS-Cのシリアル送信ドライバ
 7-5 CCS-Cのシリアル受信ドライバ
 7-6 バス・モニタ制御用のWindowsアプリケーション
 Column…7-1 NI社のCANデバイス

 CAN機器の応用装置を作る
第8章 シリアル-CANブリッジの製作
 8-1 シリアル-CANブリッジの機能
 8-2 制御ソフトウェア
 8-3 制御ソフトウェアのプログラム
 8-4 CANブリッジ制御用Windowsアプリケーション

 複数のノードを一つのCANバスにつないで互いに通信
第9章 組み合わせ応用例
 9-1 機器の構成
 9-2 各ノードの機能定
 9-3 ノード1 ホスト・インターフェースのプログラミング
 9-4 ノード2 表示器のプログラミング
 9-5 ノード3 温度測定のプログラミング
 9-6 ノード4 リレーのプログラミング
 9-7 ノード1 ホスト・インターフェース制御用Windowsアプリケーション
 Column…9-1 電源分配ボード

 オープン・ハードウェアのプラットホームで動かす
第10章 ArduinoでCAN制御
 10-1 Arduinoについて
 10-2 Arduinoの使い方
 10-3 Arduinoプログラミングの基本
 10-4 CAN対応の拡張ボード(#258)の製作
 10-5 CAN制御プログラム
 10-6 Arduino使用のCANノードの製作
 Appendix A MCP2515のレジスタ(一部除く)の構造と ビット・マッピングの一覧
 Appendix B MCP2515で複数バイトで構成される, 送受信バッファ,フィルタ/マスク・バッファの ID領域の構造とビット・マッピングの一覧
 Appendix C MCP2515制御ドライバ 関数,マクロ一覧
 Appendix D Windowsアプリケーションのコントロール定義