MAX II CPLDを使用したシリアル・ペリフェラル

MAX II CPLD を使用した
シリアル・ペリフェラル・
インタフェース・マスタ
この資料は英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。こちらの日本語版は参考用としてご利用
ください。設計の際には、最新の英語版で内容をご確認ください。
Application Note 485
2007 年 12 月 ver 1.0
はじめに
シリアル・ペリフェラル・インタフェース(SPI)は、広範囲に使用されている
4 線式のシリアル通信インタフェースです。デジタル・オーディオ、デジタル信
号処理、通信チャネルなどのアプリケーションでは、高速なデータ・ストリーム
を必要とします。低消費電力で高速なアルテラの MAX® II CPLD は、ホストの外
部にある SPI マスタとして最適です。このアプリケーション・ノートでは、MAX II
CPLD を使用した SPI マスタの実装について説明します。マイクロプロセッサは、
マスタの制御に使用し、マスタはデータの読み書き対象となるスレーブ・デバイ
スを選択するときに使用することができます。
シリアル・
ペリフェラル・
インタフェー
ス
SPI は業界標準プロトコルであり、センサ、メモリ・チップ、シフト・レジスタ、
ポート・エクスパンダ、ディスプレイ・ドライバ、データ・コンバータ、プリン
タ、データ・ストレージ・デバイス、センサ、マルチメディア・カードなど、様々
なデバイスをマイクロプロセッサにインタフェースさせるエンベデッド・システ
ム内で広範囲に使用されています。このインタフェース規格には、次の利点があ
ります。
■
ピン数が少なく、配線がシンプル。
■
スループットの高い全二重通信(I2C などの他のプロトコルより高速通信が
■
可能)
。
アドレス指定がないため、オーバヘッドが少ない。
CPLD は 4 本の信号を使用して SPI スレーブと交信します。MISO はスレーブか
らの読み出しに、MOSI はスレーブへの書き込みに、それぞれ使用します。ホス
ト・プロセッサは、図 1 に示す信号を使用して CPLD を制御します。
図 1.
MAX II CPLD を使用した SPI マスタの実装
SCLK
MOSI
MISO
CS
Address [1:0]
Host
Processor
Data Bus [7:0]
RD
WR
CLK
Altera Corporation
AN-485-1.0/JP
SPI
Slave
SPI
Slave
SPI Master
0
1
.
.
.
7
SS
SS
SS
SPI
Slave
1
MAX II CPLD を使用したシリアル・ペリフェラル・インタフェース・マスタ
MAX II CPLD
上の SPI
マスタ
図 1 に、SPI マスタの実装を示します。様々な CPLD インタフェースについては、
次の項で説明します。
SPI インタフェース
CPLD は、1 つのデータ出力ポート(MOSI)
、1 つのデータ入力ポート(MISO)
、
クロック(SCLK)
、スレーブ・セレクト信号(SS)を使用して、スレーブ・デバ
イスと交信します。スレーブ・セレクトは、SPI マスタが通信対象とするデバイ
スを選択するときに使用します。最大 8 個のデバイスを SPI マスタに接続するこ
とができます。表 1 に、インタフェース・ピンの一覧を示します。
表 1.
SPI インタフェース・ピンの説明
信号
注 (1)
用途
説明
MOSI
マスタ・アウト・
スレーブ・イン
マスタからの出力データをスレーブへ入力
します。
MISO
マスタ・イン・
スレーブ・アウト
スレーブからのデータをマスタの入力へ転
送します。
SCLK
SPI クロック
マスタから駆動されるクロックで、スレー
ブへ入力されます。データ・ビットの同期
に使用されます。
SS
スレーブ・セレクト セレクト信号(アクティブ Low)はマスタ
から駆動され、各スレーブに送信されて、
ターゲット・スレーブの選択に使用されま
す。
表 1 の注 :
(1)
2
SPI クロック = ホスト・クロック /(CLK DIV + 2)
Altera Corporation
2007 年 12 月
MAX II CPLD 上の SPI マスタ
ホスト・インタフェース
ホスト・プロセッサ・インタフェースは、8 ビットの双方向データ・バス(data
bus [7:0])、2 ビットのアドレス・バス(address [1:0])
、1 本のチップ・セ
レクト、1 個の読み出しフラグ、1 個の書き込みフラグ、クロック信号から構成さ
れます。これらの信号が CPLD(SPI マスタ)のホスト・インタフェースを構成
します。表 2 に、様々な信号の説明を示します。
表 2.
ホスト・インタフェース・ピンの説明
信号
説明
チップ・セレクト(CS) High のとき、ホストから SPI マスタへのインタフェー
スがイネーブルされます。
アドレス・バス
(address [1:0])
対応するアドレスを持つ SPI マスタのレジスタを選択
します。
データ・バス
ホストを SPI マスタへ接続する双方向データ・バス。
(data bus [7:0])
読み出し(RD)
High のとき、ホストは SPI レジスタを読み出します。
このレジスタのアドレスは、アドレス・バス上に送信
されます。
書き込み(WR)
High のとき、ホストは SPI レジスタへ書き込みを行い
ます。このレジスタのアドレスは、アドレス・バス上
に送信されます。
クロック(CLK)
ホスト・クロック信号。
ホストは、CS 信号を High にすることにより、SPI マスタを選択します。CS が
High のとき、アドレス・バス・ビットはホストが指定している SPI レジスタを決
定します。ホストは RD を High にして、特定のレジスタを読み出し、WR を High
にして、レジスタへ書き込みます。SPI ワードの転送が完了すると、ステータス・
レジスタ内の割り込みフラグが High になります。ホストは頻繁にステータス・
レジスタを監視します。表 3 に、SPI レジスタを示します。
表 3.
Altera Corporation
2007 年 12 月
SPI レジスタ
アドレス
レジスタ
幅
00
コントロール・レジスタ
8 ビット
01
ステータス・レジスタ
8 ビット
10
転送レジスタ
8 ビット
11
レシーバ・レジスタ
8 ビット
3
MAX II CPLD を使用したシリアル・ペリフェラル・インタフェース・マスタ
図 2に、コントロール・レジスタ・マップとステータス・レジスタ・マップを示します。
図 2.
コントロール・レジスタおよびステータス・レジスタのマップ
Control Register Map
7
6
5
4
3
SS
SS
SS
CPOL
CPHA
2
1
0
CLK DIV CLK DIV CLK DIV
Status Register Map
7
X
6
X
5
X
4
X
3
X
2
X
1
X
0
INT
割り込みが検出されると、ホストは受信バッファを読み出し、必要に応じて新し
いコマンド・ワードを書き込み、送信バッファを更新します。送信バッファが更
新されると、ステータス・レジスタ内の割り込みフラグがリセットされ、新しい
SPI ワードが送信されます。受信バッファはこの SPI ワードに受信されたデータ
で更新され、ワードの終わりで再度割り込みが発生されます。SPI スレーブ・セ
レクト、クロック極性、クロック位相、SPI クロック周波数は、図 2 に示すコン
トロール・レジスタの設定により制御することができます。
図 3 に、一般的な SPI タイミング特性を示します。
図 3.
一般的な SPI タイミング特性
SCLK
CPOL = 0
CPOL = 1
SS
CPHA = 0
CPHA = 1
CYCLE #
1
2
3
4
5
6
7
MOSI
Z
0
1
2
3
4
5
6
7
Z
MISO
Z
0
1
2
3
4
5
6
7
Z
0
1
2
3
4
5
Z
0
1
2
3
4
5
Z
0
1
2
3
4
5
CYCLE #
MOSI
MISO
4
0
7
Z
6
7
Z
6
7
Z
6
Altera Corporation
2007 年 12 月
実装
実装
このデザインは、EPM240 またはその他の MAX II CPLD を使用して実装できま
す。デザインのソース・コードはコンパイルして、MAX II CPLD にプログラム
することができます。ホスト・インタフェース・ポートおよび SPI スレーブ・イ
ンタフェース・ポートは、図 1 に示されています。
ソース・
コード
このデザイン例は Verilog を使用して作成されています。ソース・コード、テス
トベンチ、および完成した Quartus® II プロジェクトは、以下から入手可能です。
www.altera.co.jp/literature/an/an485_design_example.zip
まとめ
このデザイン例が示すように、MAX II CPLD は SPI マスタのような業界標準のイ
ンタフェース・コントローラを実装するための優れた選択肢となります。MAX II
デバイスの特長である低消費電力、低コスト、すべてのパワーオン・シーケンス
に対応できる能力、多電圧機能は、SPI マスタなどのインタフェース・コントロー
ラの実装に最適です。
関連情報
以下に、このアプリケーション・ノートの関連情報を示します。
■
MAX II CPLD ホームページ :
www.altera.co.jp/products/devices/cpld/max2/mx2-index.jsp
■
MAX II デバイスの資料ページ :
www.altera.co.jp/literature/lit-max2.jsp
■
MAX II パワーダウン・デザイン :
www.altera.co.jp/support/examples/max/exm-power-down.html
■
MAX II アプリケーション・ノート :
「AN 428: MAX II CPLD のデザイン・ガイドライン」
「AN 422: MAX II CPLD を使用したポータブル・システムにおける消費電力
の管理」
Altera Corporation
2007 年 12 月
5
MAX II CPLD を使用したシリアル・ペリフェラル・インタフェース・マスタ
表 4 に、このアプリケーション・ノートの改訂履歴を示します。
改訂履歴
表 4.
改訂履歴
日付 & ドキュメント・
バージョン
2007 年 12 月 v1.0
101 Innovation Drive
San Jose, CA 95134
www.altera.com
Literature Services:
[email protected]
6
変更内容
初版
概要
—
Copyright © 2007 Altera Corporation. All rights reserved. Altera, The Programmable Solutions Company, the stylized
Altera logo, specific device designations, and all other words and logos that are identified as trademarks and/or service
marks are, unless noted otherwise, the trademarks and service marks of Altera Corporation in the U.S. and other
countries. All other product or service names are the property of their respective holders. Altera products are protected
under numerous U.S. and foreign patents and pending applications, maskwork rights, and copyrights. Altera warrants
performance of its semiconductor products to current specifications in accordance with Altera's standard warranty, but
reserves the right to make changes to any products and services at any time without notice. Altera assumes no
responsibility or liability arising out of the application or use of any information, product, or service described herein
except as expressly agreed to in writing by Altera Corporation. Altera customers are advised to
obtain the latest version of device specifications before relying on any published information and
before placing orders for products or services.
Altera Corporation
2007 年 12 月