Skip to content
RFrftools.io
Comms

SPI タイミング/シグナルインテグリティ計算ツール

ビット周期、フレーム時間、トレース容量によって制限される最大クロック周波数、信号スルーレートなどのSPIバスタイミングパラメータを計算

Loading calculator...

公式

tbit=1/fCLK;τ=RdriveCtrace;fmax=1/(4.4τ)t_bit = 1/f_CLK; τ = R_drive·C_trace; f_max = 1/(4.4τ)
t_bitビットピリオド (ns)
τRC 時定数 (ns)
R_driveドライブ出力インピーダンス (3.3V/I_ドライブ) (Ω)
C_trace総トレースキャパシタンス (F)
f_max最大クロック周波数 (Hz)

仕組み

この計算器は、信頼性の高いマスター/スレーブ通信を実現するための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のクロストークが発生する

よくある質問

デバイス依存:マイクロコントローラは通常25~50MHzをサポートし、SPIフラッシュメモリは133MHz(クアッドSPI)に達し、FPGAは200MHzを超えることがあります。実際的な制限は、チェーン内の最も遅いデバイスと PCB の寄生成分によって決まります (通常は 1-2 pF/cm トレース容量)。
CSラインとバスキャパシタンスによって制限されます。各デバイスには 5 ~ 15 pF の負荷容量が追加されます。50 MHz では、合計バスキャパシタンスは 30 pF 未満 (約 3 ~ 5 デバイス) にとどまるはずです。74HC138 デコーダを使用すると、わずか 3 つの GPIO ピンで 8 つのデバイスを使用できます。
t_setup (標準5~50ns): データはクロックエッジの前に安定していなければなりません。t_hold (標準5~25ns): データはクロックエッジ後も安定していなければなりません。t_clk_min (8-1000 ns): 最小クロック周期。t_css (20-100 ns): 最初のクロックまでのCSセットアップ時間。t_csh (20-100 ns): 最終クロック以降の CS ホールド時間。

Shop Components

As an Amazon Associate we earn from qualifying purchases.

USB-UART Adapter

USB to serial adapter for protocol debugging and flashing

USB Logic Analyzer

8-channel USB logic analyzer for capturing digital bus traffic

関連電卓