背景
MCP25625とはCan busという通信形式を扱うための集積回路です。マイコンなどのCan busを扱いたい装置からはSPIで通信で利用します。
SPI通信で扱うCan busのコントローラー(MCP2515)と、コントローラーの信号をCan bus形式の信号に変換するトランシーバー(MCP2562)が1つの集積回路になった製品と言えるので、プログラムはMCP2515のものが使えます。
MCP25625は足が28本あるのですが、電源と通信線に絞ると10本あれば自分の用途では十分でした。
必要な信号線だけ出ている装置が欲しかったので、作ってみました。
スイッチサイエンスで購入可能です。
MCP25625-breakout
この製品を利用してArduinoでCANを扱う記事を書いたので、良かったらこちらもご覧ください。
CANをArduinoで扱ってみた
機能の紹介
ピンの役割
本製品からは11本のピン(信号線)が出ています。裏側にピンの役割を大きく表示しています。
各ピンの役割はこちらです。
ピン名 | 役割 |
---|---|
SCK | SPI通信線の1つです。 |
MISO | SPI通信線の1つです。 |
MOSI | SPI通信線の1つです。 |
CS | SPIでこの装置とやり取りする際にマイコン側で電位を下げるピンです。 |
INT | 情報が蓄積されたことをマイコンに伝えるピンです。 マイコンの割り込みを受け付けるピンに接続します。 |
GND | グラウンドピンです。 |
Reset | リセットピンです。 電位を下げると装置が再起動します。 このピンを使えばSPIの同期外れによる不具合も対応可能です。 |
VIO | コントローラーへの給電ピンです。 このピンの電圧がSPIの通信線の電圧になります。 対応電圧は2.7~5.5Vです。 |
VDDA | Can busトランシーバーへの給電ピンです。 対応電圧は4.5~5.5Vです。 |
CAN H | Can busの高電位側です。 |
CAN H | Can busの低電位側です。 |
ちなみに、旧製品はリセットピンが無い10ピンでした。
終端抵抗スイッチ
Can busは通信線の終端に120Ωの抵抗を配置する仕様です。
本製品はスイッチでその抵抗の有効化と無効化の切り替えが可能です。
NC(not connected)が無効で、USEが有効です。
既存のCan bus通信網に接続する場合はNCにして、Can bus通信網を新たに作る場合は端のものだけUseにしてご利用ください。
16MHzの水晶振動子を利用
16MHzの水晶振動子を振動源として搭載しています。
これにより、装置から外に出るピンの数を減らせています。
MCP2515のライブラリを利用する際は16Mhz動作としてご利用ください。
ちなみに、Rev2021.04はセラロックを利用していました。
利用例
このMCP25625の信号線を変換基盤でブレッドボードに引き出してProMicroと接続するとこのようになります。ProMicroの場合はCSを10番として割り当てれば、ProMicroの横に本製品を配置することでSCK、MOSI、MISO、CSの4本をジャンパワイヤ無しでブレッドボードを介して接続可能です。
ProMicroで利用されるATmega32u4は7番ピンに割り込み機能を割り当てられるため、INTを7番に接続しています。
またRSTを接続して制御することで、SPIの同期外れによる不調に対応可能です。
旧型Rev2021.04の接続例です。
MCP25625と変換器番を利用して配線した同様構成の装置に比べて配線が少なく済みます。
まとめ
MCP25615を少ない配線で利用でき、終端抵抗の有無をスイッチで変更可能な基盤を作りました。Can bus機能が付いていないマイコンでCan bus通信したい際に良かったらご利用ください。
MCP25625-breakout
参考
設計情報: MCP25625-breakout変更履歴
2021.06.28 スイッチサイエンスの商品リンクを追加しました。2021.07.13 関連記事(ArduinoでCANを扱ってみた)のリンクを追加しました。
2023.04.18 ピンが11本になり、水晶振動子を利用するRev2023.02の説明に変更しました。
0 件のコメント :
コメントを投稿