裏技!? SPIに複数のスレーブを接続する方法:Q&Aで学ぶマイコン講座(49)(3/3 ページ)
SPIのデータをやり取りするレジスタはシフトレジスタのため、出力と入力をリング状に接続すると、SPIが数珠状に接続され、通信データを循環させることができます。
マスターのMOSIを最初のスレーブのMOSIにつなぎ、そのスレーブのMISOを次のスレーブのMOSIにつなぐようにします。図5の例ではスレーブが2つですが、複数個のスレーブをこのルールに従ってつなげて、最後のスレーブのMISOをマスターのMISOにつなぐと、すべてのシフトレジスタを数珠状につなげることができます。この時、スレーブ側のNSSはすべてローレベルにしておきます(すべてのスレーブが活性状態になります)
図5:マルチ・スレーブ・チェーンシステム(STM32F3シリーズの場合) (クリックで拡大)
例えば、1バイト(8ビット)データの通信であれば、1回目の通信で、次のSPIに1バイト移動させることができ、2回目の通信で、2つ目のSPIまで1バイトデータを伝達することができます。データラインは、大きな閉ループを形成することになります。
この方式の最大の特長は、スレーブ同士でもデータをやり取りでき、マスターを経由する必要がない点です。データはすべてのSPIを巡回するので、すべてのSPIで受け取ることができます。
データ伝達効率のメリットだけでなく、ハード的なメリットもあります。隣り合うSPI同士で配線できるので、配線長を最短にすることができます。そのため、配線によって生じる遅延時間を短縮し、信号の歪みを抑えることができます。
電子機器を複数接続して構成されるシステムの場合、テスト用のデータを各電子機器に巡回させて、各機器の動作チェックを行うことにより、システム全体のテスト用ネットワークとしても利用できます。
⇒Q&Aで学ぶマイコン講座:過去の質問一覧はこちら
(次の記事を読む)
- 汎用I/Oの構造はどうなっているの? 使い方は?
マイコンユーザーのさまざまな疑問に対し、マイコンメーカーのエンジニアがお答えしていく本連載。今回は、初心者の方からよく質問される「汎用I/Oの構造と使い方?」についてです。
- Quad SPIって何?
マイコンユーザーのさまざまな疑問に対し、マイコンメーカーのエンジニアがお答えしていく本連載。今回は、中級者の方からよく質問される「Quad SPIって何?」についてです。
- 未使用GPIO(汎用I/O)の処理はどうすれば良いの?
マイコンユーザーのさまざまな疑問に対し、マイコンメーカーのエンジニアがお答えしていく本連載。5回目は、初心者の方からよく質問される「未使用GPIO(汎用I/O)の処理はどうすれば良いの?」についてです。
- 外部発振子なしで、UART通信は可能ですか?
マイコンユーザーのさまざまな疑問に対し、マイコンメーカーのエンジニアがお答えしていく本連載。7回目は、初心者の方からよく質問される「外部発振子なしで、UART通信は可能ですか?」についてです。
- フラッシュメモリをEEPROMとして使う「裏技」
マイコンユーザーのさまざまな疑問に対し、マイコンメーカーのエンジニアがお答えしていく本連載。47回目は、中級者の方からよく質問される「フラッシュメモリをEEPROMとして使う裏技」についてです。
- オーバーランエラーの原因
マイコンユーザーのさまざまな疑問に対し、マイコンメーカーのエンジニアがお答えしていく本連載。今回は、中級者の方からよく質問される「オーバーランエラーの原因」についてです。
Copyright © ITmedia, Inc. All Rights Reserved.