日本語参考資料 最新英語アプリケーション・ノートはこちら AN-1248 アプリケーション・ノート SPI インターフェース 著者: Miguel Usach はじめに マスター―スレーブ間の互換性 SPI バス・インターフェースは、多様な構成で比較的高い送信 レートが可能であるため、同期データ伝送に広く採用されてい ます。 最初のステップは、マスター―スレーブ間接続の互換性を保証 することです。SPI インターフェースは公式な仕様でないため、 マスターからスレーブへのデータ、または逆向きのデータがそ れぞれの仕様を満たすことが重要です。 SPI は事実上の業界標準になっていますが、公式に規定された ものではありません。部品自身の能力を最大限活用することが できるため、これを利点と見なすことがありますが、異なる部 品間の接続は複雑になってしまいます。 データはクロックに同期していますが、CS は同期または非同期 のことがあるため、SPI は完全な同期インターフェースではあ りません。 完全な同期インターフェースでは、エッジはサンプリング・エ ッジと駆動エッジに分けられます。駆動エッジでは、データを バス上で更新(切り替える)します。サンプリング・エッジで は、SDI/DATA IN ピンのデータが読みこまれます (サンプルさ れます)。 SPI バスは単方向の 4 本の線から構成されています。これらの 線の名称は、部品間で、さらに同じ製品範囲内でさえ、異なる ことがあります。 • • インターフェース・イネーブル: CS、SYNC、ENABLEなど データ入力: SDI、MISO (マスター用)、MOSI (スレーブ用) など データ出力: SDO、MISO (スレーブ用)、MOSI (マスター用) など クロック: SCLK、CLK、SCK など 実用的な点から、バス上のデータはサンプリング・エッジ以外 の任意のタイミングで更新することができます。 SPI インターフェースでは、 4 つの送信モードを定義していま す。マスター側は 4 つのすべてのモードをサポートできる必要 がありますが、マスターの素子よっては特定のモードと互換性 を持たないこともあるため、これを事前に確認しておく必要が あります。SPI モード相互接続のセクションで説明するように、 これをインバータ・ロジックの使用により解決することができま す。 図 1 に示すように、各ピンの信号方向について混乱のないよう に名前を定義することから始めることが重要です。 3 本の線しか使用しないこともあります。例えば、DAC ではデ ータのリードバックが不要な場合で、ADC ではマスターからの データの送信が不要の場合です。これらの場合、接続は 3 線式 インターフェースとして定義することができます。 大部分の部品では、スレーブ動作でのモード設定はできないた め、1 つの動作モードでのみで動作します。ただし、最大 2 つ のモードで動作するものもあります。 MASTER SLAVE SCLK DATA OUT DATA IN CS SCLK SDI SDO CS 11585-001 • • 図 1.SPI の基本的な接続 t10 t1 t9 SCLK t8 t4 t3 t2 t7 CS SDI t6 DB31 DB0 11585-002 t5 図 2.SPI タイミング図の例 アナログ・デバイセズ社は、提供する情報が正確で信頼できるものであることを期していますが、その情報の利用に関して、あるいは利用によって 生じる第三者の特許やその他の権利の侵害に関して一切の責任を負いません。また、アナログ・デバイセズ社の特許または特許の権利の使用を明示 的または暗示的に許諾するものでもありません。仕様は、予告なく変更される場合があります。本紙記載の商標および登録商標は、それぞれの所有 者の財産です。※日本語版資料は REVISION が古い場合があります。最新の内容については、英語版をご参照ください。 Rev. 0 ©2015 Analog Devices, Inc. All rights reserved. 本 社/〒105-6891 東京都港区海岸 1-16-1 ニューピア竹芝サウスタワービル 電話 03(5402)8200 大阪営業所/〒532-0003 大阪府大阪市淀川区宮原 3-5-36 新大阪トラストタワー 電話 06(6350)6868 AN-1248 アプリケーション・ノート 目次 はじめに .............................................................................................. 1 バス・データが更新されるタイミングは?................................... 4 マスター―スレーブ間の互換性 ...................................................... 1 その他の考慮事項は? ...................................................................... 5 改訂履歴 .............................................................................................. 2 SPI モードの相互接続 ....................................................................... 6 スレーブで使用される送信モードは? ........................................... 3 接続...................................................................................................... 6 改訂履歴 7/13—Revision 0: Initial Version Rev. 0 - 2/7 - AN-1248 アプリケーション・ノート スレーブ側で使用される伝送モードは? 図 2 に示すように、タイミング図では、複数のラインと名称を 使用しています。 これらのモードを定義することは比較的容易です。図の例で は CS の立下がりエッジと SCLK を関連付けるタイミングが存 在します(図 4 参照)。 このモードは、データ伝送が開始される(CSをロー・レベルにす る)ときの SCLK レベル(極性 (CPOL)と呼ばれる)と、サンプリン グ・エッジ (位相 (CPHA)と呼ばれる) によって決定されます(図 3 参照)。位相は極性に対する相対的なもので絶対値でないこと に注意してください。SPI モードを表 1 に示します。 t1 11585-005 t6 DB0 DB31 SDI SCLK 図 4.極性モード CS この図のケースでは、SCLK は CS 立下り時にハイ・レベルまた はロー・レベルであることができ、制約はありません。 11585-003 SCLK CPHA = 1 図 3.SPI のタイミング 表 1.SPI のモード Mode t7 CS t5 CPOL = 0 t2 t3 CPHA = 0 CPOL = 1 t9 SCLK Polarity (CPOL) 次に SDI の図には、セットアップとホールドの 2 つのタイミン グで囲まれる区間が重要です。2 つのタイミングは、バス上に データが有効でなければならない、サンプル・エッジの前後の 時間を意味し、両タイミングはサンプリング・エッジを基準タ イミングとして使用します(図 5 参照)。 t10 Phase (CPHA) 0 t1 t9 SCLK t8 1 t4 t3 t2 t7 CS 11585-004 3 t5t5 SDI tt66 DB31 DB0 11585-006 2 図 5.位相モード この例では、サンプル・エッジは立下がりエッジです。 以上と表 1 から、スレーブ・デバイスはモード 1 およびモード 2 で互換性を持っています。 Rev. 0 - 3/7 - AN-1248 アプリケーション・ノート バス上のデータが更新されるタイミングは? SDO を使って、データをスレーブからマスターへ転送、あるい はマスターからスレーブへ転送します。データは何時でも更新 できますが、特に 2 つの方法が採用されています。 サンプリング・エッジの後ろ数ナノセカンドでピンを更新する 場合、SCLK 周波数を低下させずにリードバックを可能にする ようにバス上で信号の安定な値を保証するために、スレーブは SCLK のほぼ全周期を必要とします。 1 つ目の方法は、駆動エッジで SDO/DATA OUT ピンを更新する 方法です(図 7 参照)。 主なトレードオフは、マスター側が低速の場合にあります。こ れは、サンプリング・エッジの後の数ナノセカンドしかピン上 にデータが安定していないため、マスターのホールド・タイム の制限に反する危険性があるからです。この問題は、ホール ド・タイムが 15 ns 以上と大きくなると発生します。この場合、 DATA IN ピンの新しいデータを必要なだけ遅延させるロジッ ク・ゲートを使うことが推奨されます(図 6 参照)。 2 つの方法にはそれぞれに技術的な理由がありますが、トレー ドオフを理解することが重要です。 マスターでは最初の方法が使われます。これは SDO ドライバが 高速な切り替えをサポートするようにデザインされているため です。 SAMPLING EDGE スレーブではマスターに比べて駆動能力の低い SDO ドライバを 内蔵しているため、使用する方法はデータ転送レートに依存し ます。 DATA OUT SCLK SDO SDI U1 MICROCONTROLLER DATA IN SCLK CS CS ORIGINAL SCLK DELAYED SDO 信号を駆動エッジで更新する場合、信号はサンプリング・ エッジの数ナノセカンド前に安定している必要があるため、ピ ンは信号の更新にクロック周期の 1/2 以下の時間しか使うこと ができません。 図 6.イネーブル時間 幾つかのゲート技術と NOR ゲートの伝搬遅延 (typ)を表 2 に示 します。 正しいリードバックを保証するためには、サンプリング・エッ ジの前に信号が安定することを保証するため SCLK を狭くする 必要があります。 表 2.ゲート技術と伝搬遅延 この例では、最大変化時間を 36 ns としています。 Technology Propagation Delay SCLK 立上がりエッジから SDO デ ータ有効 AHC 4.4 ns HC 9 ns HCT 11 ns t9 36 ns これは、最大サイクル・タイムが 36 ns + マスター・セットア ップ・タイム (10 ns と仮定) = 46 ns となるため、リードバック の最大 SCLK 周波数は約 10 MHz となることを意味します。 t4 t1 t2 t7 SCLK t3 t8 tt99 C2 C3 C1 C0 D6 D7 D5 t10 D2 D1 D2 D0 11585-007 SYNC SDO 図 7.SDO 駆動エッジでの更新 CS t8 1 2 3 4 5 18 19 t7 tt4 t3 DOUT A THREE-STATE 20 20 t6 2121 DB13A B13A 4 DB12A DB12A DB11A DB11A 図 8.遅延 SDO 更新 Rev. 0 - 4/7 - 31 32 33 t9 t5 t5 DB1A DB0A tQUIET THREESTATE 11585-008 t2 SCLK UPDATE SDO 11585-009 もう 1 つの方法は、サンプリング・エッジの数ナノセカンド後 に SDO/DATA OUT ピンを更新する方法です(図 8 参照)。 AN-1248 アプリケーション・ノート 変換開始信号としてのCS その他の考慮すべき事項は? 幾つかの ADC ではピン数を減らすためや、小型パッケージへの 組み込み、あるいは単に配線の複雑さを減らすために、1 本の ピンを複数の機能で共用しています。 イネーブル時間 イネーブル時間は、SPI インターフェースをイネーブルしてデ ータの受信または送信を可能にする速さを決定します。これは 一般に SCLK サンプリング・エッジと呼ばれます(図 9 参照)。 CSを使って内部で変換開始信号を発生させる場合、2 つの方法 があります。 ディスエーブル時間 1 つ目の方法 ディスエーブル時間は、SPI をディスエーブルして新しく発生 するサンプリング・エッジの変化を無視する速さを決定します (図 9 参照)。 t10 SCLK 信 号 を 内 部 ク ロ ッ ク と し て 使 用 す る た め 、 連 続 的 な SCLK が必要です。この場合、SCLK の速度は最大値と最小値の 間に制限されます(表 3 参照)。 tt 9 t1 表 3.SCLK 周波数制限の例 9 SCLK t8 tt44 t2 t3 t7 Parameter Min Max Unit Description fSCLK 0.01 20 MHz SCLK frequency CS SDI t6 DB31 下に説明するイネーブル・タイムに似たタイミングの制約が、 図 10 のようにあります。さもないと、マスターがサンプリン グ・エッジを正しく発生できず、変換が失敗します。 11585-010 t5 DB0 図 9.イネーブル時間とディスエーブル時間 t1 CS tCONVERT 11 SCLK t6 2 3 4 SDATA Z ZERO 13 t4 t3 THREESTATE B 5 ZERO ZERO DB11 14 t7 DB10 15 t8 tQUIET DB2 DB1 4 LEADING ZEROS 図 10.変換時の連続 SCLK Rev. 0 16 t5 - 5/7 - DB0 THREE-STATE 11585-016 t2t2 AN-1248 アプリケーション・ノート 2 つ目の方法 接続 この例ではデバイスは変換クロックを内蔵しています。この場 合、一番微細な LSB ビット変換へのデジタル・フィードスルー の影響を小さくするため、変換中は SCLK パルスを発生しない ことが推奨されます (図 11 参照)。 SPI インターフェースでは、1 個または複数のスレーブをマスタ ーから制御する様々な接続が可能です。 スタンドアロン接続 この構成では、1 個のスレーブと 1 個のマスターのみが存在し ます (図 12 参照)。 tCNVH CNV tCONV tCONV tACQ MASTER (QUIET TIME) ACQUISITION tSCKL 1 2 3 17 tHSDO 18 19 D1 D0 D17 D16 tDIS CS 図 12.スタンドアロン構成 デイジーチェーン接続 この構成では、1 個のマスターと直列に接続された複数のスレ ーブが存在します(図 13 参照)。 SPI インターフェースを FPGA ではなくハードウェアで構成す る場合、SCLK ピンと CS ピンを正確に調整することは不可能で す。この場合は、GPIO を CSとして使用して、CSと SCLK の関 係を正確に制御することが推奨されます。 MOSI SDI MISO SCLK CS SDO SDI U1 MICROCONTROLLER CS SCLK SDO U2 CS SCLK 11585-013 変換レディ・ピンとしての SDO 幾つかの ADC では、SDO が 2 つの機能を持っています。これ は一般に SDO/RDYと表されています。SDO ピンが CSによりデ ィスエーブルされ、変換が完了するまで高インピーダンスを維 持します。変換が完了したとき、このピンはロー・レベルにな って、変換の終了を表示します。 図 13.デイジーチェーン構成 この構成の主な利点は、必要な接続ライン数が少なくなること です。 このモードで動作させる場合、後続デバイス間のライン伝搬遅 延のため、クロック周期を大きくする必要があります。さらに、 所要クロックは U1 と U2 の和であるため、クロック数を増やす 必要があります。 SPI モードの相互接続 スレーブが使用する特定の SPI モードにコントローラを設定で きないとき、または同じ SPI モードですべてのデバイスを動作 させる必要があるとき(すなわちデイジーチェーン・モード)、 モードを外部から変更する必要があります。 デイジーチェーン構成での代表的な送信を図 14 に示します。先 頭データ・ワードは接続されたマスターから最も遠いスレーブ に、最終データ・ワードは最も間近のスレーブに、それぞれ割 り当てられます。 次の 2 つのケースを考えます。 • SDO CS 図 11.変換時に静かな SCLK • SDI DATA IN tSCKH tCSDO SDO SCLK DATA OUT tQUIET 11585-017 SCK SLAVE SCLK tSCK 11585-012 CONVERSION ACQUISITION CONVERSION モードが相補的(ロジックの論理が逆の場合)で、MODE 1 = MODE 2または MODE 0 = MODE 3になる場合 SCLK ラインにインバータ・ゲートを使用すると、問題は 解決されます。 モードが相補的でない場合 この場合の解決策は少し複雑になります。インバータとフ リップフロップを使用するため、タイミング問題が生ずる のでこれを回避することが推奨されます。 デイジーチェーン・モードに設定できるデバイスがありますが、 デフォルトでは、デバイスはスタンドアロン・モードでパワー アップします。すなわち、そのままでは SDO ピンはデータを出 力しません。 この場合、このデバイスをチェーンの先頭に置いて、デバイス に直接書込みを行ってデイジーチェーン・モードをイネーブル することが推奨されます。モードをイネーブルする前に SDO は 高インピーダンスであるため、SDO ピンにプルアップ (または プルダウン) 抵抗を接続して、チェーン内の 2 番目のデバイスへ 転送されるデータを制御することをおすすめします。 SDO ピンを複数の機能 SDO/RDYに使用する場合、同じ問題が 生 じま す。プル アッ プ抵抗を 接続 して、電 気的 問題を回 避 し、RDY 機能の使用を続けることが推奨されます。 Rev. 0 - 6/7 - AN-1248 アプリケーション・ノート SCLK 1 2 16 17 18 32 CS DB15 DB0 DB15 DB0 MOSI DB15 INPUT WORD FOR U1 DB0 DB15 DB0 SDO_U1 UNDEFINED INPUT WORD FOR U2 11585-014 INPUT WORD FOR U2 図 14.デイジーチェーンのタイミング図 並列構成 この構成では、SCLK と SDI がすべてのデバイス内で共用され ます。回路 (またはパターン) の寄生容量があるため、クロック 周期を単体の場合より少し大きくすることが推奨されます。 この構成では、1 個のマスターと並列に接続された複数のスレ ーブが存在します (図 15 参照)。 SLAVE MASTER DATA OUT SDI この構成での注意として、例えばデバイスをデイジーチェー ン ・モ ードに構 成し た場合の よう に、幾つ かの デバイス で は SYNCと同期して SDO をディスエーブルすることはできませ ん。 SDO SCK SCLK CS1 CS CS2 SLAVE DATA IN CS3 この場合は、電気的問題を回避するため、SDO ピンをバス構成 にしないことが推奨されます。あるいは、SDO ピンをディスエ ーブルできる場合、直列抵抗を SDO ピンに接続して、最初の送 信や開始時に SDO ピンをディスエーブルする際の電気的問題を 小さくします。 SDO SDI SCLK CS SLAVE SDI SDO CS 11585-015 SCLK 図 15.並列構成 ©2015 Analog Devices, Inc. All rights reserved. Rev. 0 商標および登録商標は、それぞれの所有者の財産です。 - 7/7 -
© Copyright 2024 ExpyDoc