メディア
連載
» 2015年02月16日 09時00分 公開

Q&Aで学ぶマイコン講座(11):マイコンとEEPROMを接続する方法を教えて (3/3)

[菅井賢(STマイクロエレクトロニクス),EDN Japan]
前のページへ 1|2|3       

SPIの場合

 SPIはモトローラ(現フリースケール・セミコンダクタ)が提唱した通信規格です。物理的な動作はクロック同期式シリアル通信と同じです。4つの信号、クロック(SCLK)、マスター出力/スレーブ入力(MOSI)、マスター入力/スレーブ出力(MISO)、スレーブセレクト(SS)で通信を行います。SCKは同期クロックでマスターデバイスから出力されます。MOSIとMISOはSCKに同期したデータ信号です。SS信号はスレーブ認識信号です。マスターの場合はLowを出力し、スレーブは入力で受けて、Lowの場合に自分が選択されたと認識します。いわゆるチップセレクト(CS)のような信号です。

 SPIの通信プロトコルは基本的にモトローラのSPIに準拠していますが、各マイコンで使い方が若干異なります。ここでも、STM8Lを使って、SPI機能を説明します(図6/図7)。

図6 STM8LシリーズのSPIの通信フォーマット (クリックで拡大)
図7 STM8LシリーズのSPIのブロック図 (クリックで拡大)

 クロックの位相とデータをラッチするタイミングは、クロック極性(CPOL)とクロック位相(CPHA)の2つのパラメータで指定できます(図6)。内部にデータシフトレジスタを持っていて、このデータを1ビットずつシフトして出力または入力します。送信データはTXバッファへ格納します。受信データはRXバッファに格納されます。CPUはRXバッファとTXバッファを介してデータの送受信を行います。

 転送速度はSCKの周波数によって決まります。ボーレート発生器を持っているため、ユーザーが任意の値に設定することができます。最大周波数はSTM8Lの場合8MHzですが、各製品で仕様が異なりますので、各製品のデータシートを参照してください。

 基本的にはクロック同期式シリアル通信と同じため、I2Cのような転送シーケンスは必要ありません。1クロックにつき1ビットのデータを送りながら1バイトを送信します。

 ユーザーは同期式シリアルと同じ動作で、各EEPROMで規定されたアドレス、データ、オペコード(書き込みイネーブル/ディセーブル、レジスタの読み出し/書き込み、データの読み出し/書き込みなど)を通信します。

参考情報

 実際のEEPROMとマイコンの接続方法を知りたい場合は、次の情報を参考にしてください。

  • M24LR-DISCOVERY:EEPROM(M24LR)とマイコン(STM8L)が4.5cm×9.0cmのプリント板に実装され、実際にEEPROMとマイコンの通信をI2Cで行うことができます。回路図やソフトウェアの詳細情報はこちらのWebページから無料でダウンロードできます。
  • アプリケーションノートAN2014PDFファイル):STマイクロエレクトロニクスのEEPROMと一般的なマイコンとの接続方法の説明書です。I2CとSPIとマイクロワイヤの接続方法の説明が詳しく記載されています。

前のページへ 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.