SPI タイミング/シグナルインテグリティ計算ツール
ビット周期、フレーム時間、トレース容量によって制限される最大クロック周波数、信号スルーレートなどのSPIバスタイミングパラメータを計算
公式
仕組み
この計算器は、信頼性の高いマスター/スレーブ通信を実現するためのSPIクロック周波数制限、セットアップ/ホールド時間、およびデータ転送速度を決定します。組み込みエンジニアや FPGA 設計者は、これを使用してマイクロコントローラと周辺IC の間のタイミングマージンを検証します。オリジナルのMotorola SPI仕様(現在は個々のICメーカーによって管理されており、NXPアプリケーションノートAN3020「SPIへのインターフェース」に記載されています)によると、このプロトコルはSCLK、MOSI、MISO、CSの4つの信号を使用します。SPIには単一のISO/IEC規格はありませんが、事実上のタイミングパラメータはマイクロチップのアプリケーションノートAN901に記載されており、SPI互換メモリ用のJEDEC規格JESD79Fは高速フラッシュおよびSRAMデバイスのタイミング要件を定義しています。クロック周波数は、デバイスの機能に応じて100kHzから100MHzの範囲です。一般的なフラッシュメモリは50〜133MHz(ウィンボンドW25Qシリーズ)をサポートしますが、ADCは1〜20MHzに制限されることがよくあります。重要なタイミングパラメータには、t_setup (クロックエッジより前に有効なデータ、通常は 5 ~ 25 ns)、t_hold (クロックエッジより後に有効なデータ、通常は 5 ~ 15 ns)、t_clk (最小クロック周期) などがあります。10MHzのSPIクロックの周期は100ナノ秒で、40ナノ秒のセットアップ、40ナノ秒のホールド、20ナノ秒のマージンが可能です。50 MHz では、これらのマージンはそれぞれ 8 ns に縮小するため、1 ns (15 cm) 以内のトレースマッチングを行うように慎重な PCB レイアウトが必要になります。
計算例
産業用センサー・インターフェースは、STM32H7マイクロコントローラをSPI経由でADS1256 24ビットADCに接続します。ADS1256 データシートによると、F_SCLK_max = 1.92 MHz、t_setup = 50 ナノ秒、t_hold = 25 ナノ秒となっています。480 MHz で動作する STM32H7 は APB2 (120 MHz) から SPI クロックを供給します。プリスケーラーの計算:120 MHz/1.92 MHz = 62.5、64 に切り上げると、実際の SCLK は 1.875 MHz になります。この周波数では、t_clk = 533 ナノ秒となり、半周期は 266 ナノ秒となり、セットアップ要件は 50 ns (5.3 倍のマージン) になります。データレート = 1.875 MHz/24 ビット = 78.1 kSPS。10 cm の PCB トレース (伝搬 0.6 ns) では、合計遅延は 25 ns のホールドタイム要件をはるかに下回ります。
実践的なヒント
- ✓マイクロチップAN1067によると、10MHzを超える周波数では、5nsを超えるタイミングマージンを維持するために、SPIトレースの長さを10 cm未満に抑えてください。
- ✓CPOL=0、CPHA=0 (モード0) をデフォルトとして使用-業界調査によると、SPI周辺機器の 85% がこのモードをサポートしています
- ✓20 MHzを超える周波数で5 cmを超えるトレースには、SCLKとMOSIに33~100オームの直列終端抵抗を追加することで、リンギングを60~ 80% 低減できます。
よくある間違い
- ✗スレーブデバイスの制限を確認せずに最大MCU周波数(50MHzなど)でSPIを実行-多くのセンサーは1〜10 MHzに制限されています
- ✗CPOL/CPHAモードのミスマッチを無視すると、波形が似ていても、モード0とモード3ではデータが 100% 破損する
- ✗1 MHzを超える周波数で長い(30 cmを超える)非シールドケーブルを使用すると、LSBが破損する10~50mVのクロストークが発生する
よくある質問
Shop Components
As an Amazon Associate we earn from qualifying purchases.
関連電卓
Comms
CAN バスタイミング
特定のボーレートとサンプルポイントについて、プリスケーラー、時間量子、同期セグメント、伝播セグメント、フェーズバッファセグメントを含むCANバスのビットタイミングパラメーターを計算します
Comms
UART ボードレート
ボーレート、データ形式、MCUクロック周波数から、UARTフレームタイミング、スループット、およびUSART BRRレジスタ除数を計算します。ボーレート誤差を特定して、シリアル通信の信頼性を高めます。
Comms
I2C プルアップ
スタンダード (100 kHz)、ファスト (400 kHz)、およびファストプラス (1 MHz) モードの I2C プルアップ抵抗値を計算します。NXP UM10204 あたりの電源電圧とバスキャパシタンスから、最小抵抗、最大抵抗、推奨抵抗値を求めます。
Comms
クロックジッタ
FPGAおよびSoC設計のクロックツリータイミングバジェットを計算します。