組み込み向け SPIドライバ
SPI - シリアル・ペリフェラル・インターフェース
組込み用CPUが、比較的低速デバイスと接続するのに利用するシリアル通信のドラバーです。
SPIを使う主たるデバイスは、SDカード、EEPROM、A/Dコンバータ、D/Aコンバータ、リアルタイム・クロックなどです。
階層構造
SPIデバイスのCPU側ファームウェアは大きく分けて3つの階層になり、物理層が実際のシリアル信号をハードウェアと送受信します。
データリンク層はSPIマスターとスレーブの通信を司り、アプリケーション層は実際の 接続デバイスに依存したコードとなります。
本製品では例としてSDカードのコードが付属します。
主な特徴
- 物理層はCPUチップに依存しますが,移植容易なコード。
- 割り込み起動で動作するのでOSが無くても移植可能。
- 10KB以下のコンパクトサイズ。
- SDカード読み書きするサンプルコード付属
製品詳細
物理層機能
SPIは上図のように、4本の信号線で通信を実施します。最近のほとんどの組み込みCPUはSPI制御ポートを備えているので、
SPIの物理層は使用するCPUにより大きく異なります。
この部分はCPUに合せた移植対象となります。
本製品は上図のCPU側のコードです。
データリンク層機能
CPU側からのデータ送信,受信機能を実現します。
アプリケーション層機能
実際のデバイスに合せた通信を行います。本製品は例としてSDカードの読み書きプログラムが付属します。
製品内容
- SPI 物理層(移植対象)
- SPI データリンク層ファームウェアソースコード
- SPI アプリケーション層サンプルソースコード