メディア

裏技!? SPIに複数のスレーブを接続する方法Q&Aで学ぶマイコン講座(49)(3/3 ページ)

» 2019年09月30日 07時00分 公開
前のページへ 1|2|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で学ぶマイコン講座:過去の質問一覧はこちら

次の記事を読む

前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSフィード

公式SNS

EDN 海外ネットワーク

All material on this site Copyright © ITmedia, Inc. All Rights Reserved.
This site contains articles under license from AspenCore LLC.