マイコンとEEPROMを接続する方法を教えて:Q&Aで学ぶマイコン講座(11)(3/3 ページ)
マイコンユーザーのさまざまな疑問に対し、マイコンメーカーのエンジニアがお答えしていく本連載。11回目は、上級者の方からよく質問される「マイコンとEEPROMを接続する方法」についてです。
SPIの場合
SPIはモトローラ(現フリースケール・セミコンダクタ)が提唱した通信規格です。物理的な動作はクロック同期式シリアル通信と同じです。4つの信号、クロック(SCLK)、マスター出力/スレーブ入力(MOSI)、マスター入力/スレーブ出力(MISO)、スレーブセレクト(SS)で通信を行います。SCKは同期クロックでマスターデバイスから出力されます。MOSIとMISOはSCKに同期したデータ信号です。SS信号はスレーブ認識信号です。マスターの場合はLowを出力し、スレーブは入力で受けて、Lowの場合に自分が選択されたと認識します。いわゆるチップセレクト(CS)のような信号です。
SPIの通信プロトコルは基本的にモトローラのSPIに準拠していますが、各マイコンで使い方が若干異なります。ここでも、STM8Lを使って、SPI機能を説明します(図6/図7)。
クロックの位相とデータをラッチするタイミングは、クロック極性(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ページから無料でダウンロードできます。
- アプリケーションノートAN2014(PDFファイル):STマイクロエレクトロニクスのEEPROMと一般的なマイコンとの接続方法の説明書です。I2CとSPIとマイクロワイヤの接続方法の説明が詳しく記載されています。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 「Q&Aで学ぶマイコン講座」連載一覧
- 「マイコン入門!! 必携用語集」連載一覧
- 未使用GPIO(汎用I/O)の処理はどうすれば良いの?
マイコンユーザーのさまざまな疑問に対し、マイコンメーカーのエンジニアがお答えしていく本連載。5回目は、初心者の方からよく質問される「未使用GPIO(汎用I/O)の処理はどうすれば良いの?」についてです。 - マイコンが港で行う仕事とは? 「入出力ポート」
マイコンが行う仕事の中で、最も簡単な仕事は、「端子から0/1の信号を出すこと」と、「端子に入力された0/1の信号を読み取ること」です。非常に簡単な動作ですが、非常に重要な動作です。どんな高機能なマイコンでも、必ず使われている機能であり、今回はこの機能を行う「入出力ポート」を説明します。 - マイコンでメロディーを作りたい!
マイコンユーザーのさまざまな疑問に対し、マイコンメーカーのエンジニアがお答えしていく本連載。10回目は、中級者の方からよく質問される「マイコンで簡単なメロディを作ることができますか?」についてです。