Stellaris
®
LM3S9B96 Microcontroller
15 章 同期式シリアル・インターフェイス(SSI)
。 JAJU139 SPMS182D 翻訳版(15 章) 最新の英語版: http://www.ti.com/lit/gpn/lm3s9b96この資料は、Texas Instruments Incorporated(TI)が英文で記述した資料を、皆様のご理解の一助として頂くために日本テキサ ス・インスツルメンツ(日本 TI)が英文から和文へ翻訳して作成したものです。資料によっては正規英語版資料の更新に対応して いないものがあります。日本 TI による和文資料は、あくまでも TI 正規英語版をご理解頂くための補助的参考資料としてご使用下 さい。製品のご検討およびご採用にあたりましては必ず正規英語版の最新資料をご確認下さい。TI および日本 TI は、正規英語 版にて更新の情報を提供しているにもかかわらず、更新以前の情報に基づいて発生した問題や障害等につきましては如何なる
JAJU139
Stellaris LM3S9B96 Microcontroller Data Sheet (Rev. D) 15 章 翻訳版
15 同期式シリアル・インターフェイス (SSI)
Stellaris® は、2 つの同期式シリアル・インターフェイス (SSI)を内蔵しています。 SSI は、Freescale SPI、 MICROWIRE、Texas Instruments 同期式シリアル・インターフェイスをサポートするペリフェラルとクロック同期式で シリアル通信するためのマスタやスレーブとなることができます。
Stellaris® LM3S9B96 は、次のような機能を持つ 2 つの SSI モジュールを内蔵しています。
Freescale SPI、MICROWIRE、Texas Instruments クロック同期式シリアルをサポート マスタモード、およびスレーブモードをサポート プログラマブルなクロック・ビット・レートとプリスケーラ 送信用と受信用にそれぞれ 16 ビット 8 段の FIFO をサポート プログラマブルなデータ・フレーム・サイズ (4~16 ビット) 診断/デバッグ・テスト用の内部ループバック・テスト・モード 標準的な FIFO ベースの割り込みおよび送信終了割り込み μDMA (マイクロ・ダイレクト・メモリ・アクセス) コントローラを使用した、効率的な転送 - 送信用と受信用にそれぞれチャネルをサポート - データが FIFO にある場合にアサートされる受信シングルリクエストや、FIFO に 4 つ以上のデータがある場合 にアサートされる受信バースト・リクエスト - FIFO に空きがある場合にアサートされる送信シングルリクエストや、FIFO に 4 つ以上の空きがある場合にア サートされる送信バースト・リクエスト
15.1 ブロック図
図 15-1. SSI モジュールのブロック図
15.2 信号の説明
表 15-1 と表 15-2 に SSI モジュールの外部信号の一覧と、それぞれの機能を示します。SSI 信号はいくつかの GPIO 信号とマルチプレクスされており、リセット後は GPIO 信号として機能しますが、SSI0Clk、SSI0Fss、SSI0Rx、 SSI0Tx の各ピンは、SSI 信号になります。以下の表中、「ピン・マルチプレクシング / ピン割り当て」の列に、SSI の各信号が割り当てられている GPIO を示します。SSI 信号を選択するには、GPIO 代替機能選択 (GPIOAFSEL) レジスタの AFSEL ビットを 1 にセットする必要があります。カッコ内の数値は、GPIO ポート・ピンに SSI 信号を割り 当てるために、GPIO ポート制御 (GPIOPCTL) レジスタの PMCn フィールドに設定する値を示しています。GPIO の設定の詳細については、P304 の「General-Purpose Input/Outputs (GPIOs) (汎用入出力 (GPIO))」 を参照してください。
表 15-1. SSI の信号 (100LQFP) ピン 名称 ピン番号 ピン・マルチプレクシング / ピン割り当て 入出力 バッファの タイプ a 説明
SSI0Clk 28 PA2 (1) I/O TTL SSI モジュール 0 クロック SSI0Fss 29 PA3 (1) I/O TTL SSI モジュール 0 フレーム
SSI0Rx 30 PA4 (1) I TTL SSI モジュール 0 受信 SSI0Tx 31 PA5 (1) O TTL SSI モジュール 0 送信
SSI1Clk 60 74 76 PF2 (9) PE0 (2) PH4 (11) I/O TTL SSI モジュール 1 クロック SSI1Fss 59 63 75 PF3 (9) PH5 (11) PE1 (2) I/O TTL SSI モジュール 1 フレーム SSI1Rx 42 62 95 PF4 (9) PH6 (11) PE2 (2) I TTL SSI モジュール 1 受信 SSI1Tx 15 41 96 PH7 (11) PF5 (9) PE3 (2) O TTL SSI モジュール 1 送信 a. 「TTL」は、ピンが TTL 互換の電圧レベルを持つことを示します。 表 15-2. SSI の信号 (108BGA) ピン 名称 ピン番号 ピン・マルチプレクシング / ピン割り当て 入出力 バッファの タイプa 説明
SSI0Clk M4 PA2 (1) I/O TTL SSI モジュール 0 クロック SSI0Fss L4 PA3 (1) I/O TTL SSI モジュール 0 フレーム
SSI0Rx L5 PA4 (1) I TTL SSI モジュール 0 受信 SSI0Tx M5 PA5 (1) O TTL SSI モジュール 0 送信 SSI1Clk J11 B11 B10 PF2 (9) PE0 (2) PH4 (11) I/O TTL SSI モジュール 1 クロック SSI1Fss J12 F10 A12 PF3 (9) PH5 (11) PE1 (2) I/O TTL SSI モジュール 1 フレーム SSI1Rx K4 G3 A4 PF4 (9) PH6 (11) PE2 (2) I TTL SSI モジュール 1 受信 SSI1Tx H3 K3 B4 PH7 (11) PF5 (9) PE3 (2) O TTL SSI モジュール 1 送信 a. 「TTL」は、ピンが TTL 互換の電圧レベルを持つことを示します。
15.3 機能の説明
SSI は、ペリフェラル・デバイスから受信したデータのシリアル-パラレル変換を行います。CPU はデータレジスタ、コ ントロールレジスタ、ステータスレジスタにアクセス可能です。送信パスと受信パスは内部 FIFO でバッファリングされ ており、内部 FIFO は送信モードと受信モードのそれぞれで最大 8 個の 16 ビットデータを格納できます。SSI は、μ DMA インターフェイスもサポートしています。送信 FIFO と受信 FIFO は、μDMA モジュールのデスティネーションア [テキストを入力してください]ドレス/ソースアドレスに設定することができます。μDMA は、SSIDMACTL レジスタ(P675 参照)の該当するビットを 1 にセットすることでイネーブルになります。
15.3.1 ビット・レートの生成
SSI は、シリアル出力クロックを生成するための、プログラマブルなビット・レート・クロック分周器およびプリスケーラ が組み込まれています。サポートされるビット・レートは 2MHz 以上ですが、最大ビット・レートはペリフェラル・デバイ スによって決まります。 シリアル・ビット・レートは入力クロック(SysClk)を分周することで生成されます。クロックは最初に 2~254 の中の偶 数のプリスケール値 CPSDVSR で分周されます。この CPSDVSR は SSI クロック・プリスケール(SSICPSR) レジスタ (P668 参照)にプログラムします。クロックはさらに 1~256 までの値(1+ SCR)で分周されます。ここで、SCR は、SSI コントロール 0(SSICR0)レジスタ(P661 参照)にプログラムします。 出力クロック SSIClk の周波数は次の式で定義されます。 SSIClk = SysClk / (CPSDVSR * (1 + SCR)) 注: マスタ・モードの場合は、システム・クロックがSSIClkよりも 2 倍以上高速である必要があります。スレーブ・ モードの場合は、システム・クロックがSSIClkよりも 12 倍以上高速である必要があります。 SSI の AC タイミングは、P 1212 の“同期式シリアル・インターフェイス (SSI)” を参照してください。15.3.2 FIFO の動作
15.3.2.1 送信 FIFO送信 FIFO は、16 ビット幅、8 段の FIFO メモリ・バッファです。CPU が SSI データ(SSIDR)レジスタ (P 665 参照)へ 書き込むとデータが FIFO に転送され、さらに送信ロジックに転送されます。 マスタまたはスレーブとして設定されている場合、送信 FIFO に書き込まれたデータはシリアルデータとして SSITx ピンから出力されます。 スレーブ・モードでは、マスタがトランザクションを開始するごとに SSI がデータを送信します。送信 FIFO が空の状態 でマスタがトランザクションを開始してきた場合、スレーブモードでは送信 FIFO 内の 8 番目の値、つまり最新の値を 送信します。送信 FIFO に書き込まれた値の数が 8 個より少ない場合は、0 が送信されます。必要に応じて、有効な データが FIFO に存在するかどうか注意してください。SSI は、FIFO が空の時に割り込みやμDMA リクエストを生成 することが可能です。
15.3.2.2 受信 FIFO
受信 FIFO は、16 ビット幅、8 段の FIFO メモリ・バッファです。シリアル・インターフェイスから受信されたデータは CPU が SSIDR レジスタを読み出すことにより、リード FIFO からデータを読み出されるまでバッファに格納されます。 マスタまたはスレーブとして設定されている場合、シリアルデータは SSIRx ピンで受信され、受信 FIFO にパラレル・ データとしてロードされます。
15.3.3 割り込み
送信 FIFO サービス (送信 FIFO 内のデータが 1/2 以下の場合) 受信 FIFO サービス (受信 FIFO 内のデータが 1/2 以上の場合) 受信 FIFO タイムアウト 受信 FIFO オーバーラン 送信終了 すべての割り込みイベントは、割り込みコントローラに送信される前に OR されるため、SSI はアクティブな割り込み の数に関係なく、コントローラに対して一つの割り込みリクエストを生成します。4 つの独立したマスカブル割り込みは、 SSI 割り込みマスク(SSIIM)レジスタ (P669 参照)の該当するビットを 0 にクリアすることでマスクできます。同様に、 該当するマスク・ビットを 1 にセットすると、割り込みがイネーブルになります。 個々の割り込みは OR されて一つになっているため、グローバル割り込みやモジュラー・デバイス・ドライバを割り込 みハンドラとして使用することが可能になります。また、送信割り込みや受信割り込みはステータスレジスタにより判 別できますので、FIFO のトリガ・レベルに応じてデータのリードやライトが可能です。個々の割り込みソースのステー タスは、SSI ロウ割り込みステータス(SSIRIS)レジスタと SSI マスク割り込みステータス(SSIMIS)レジスタ (それぞれ P 670 および P 672 を参照)から読み出せます。
受信 FIFO には、(SSIClk が現在アクティブかどうかにかかわらず) SSIClk 換算で 32 クロック分のタイムアウト期 間があり、これは受信 FIFO が EMPTY 状態から not-EMPTY 状態になった時にカウントが開始されます。32 クロッ クが経過しないうちに受信 FIFO が空になった場合は、タイムアウト期間がリセットされます。受信 FIFO タイムアウト 割り込みを使用する場合は、受信 FIFO を読み出した直後に、ISR で SSI 割り込みクリア(SSIICR)レジスタの RTIC ビットに 1 を書き込んで、受信 FIFO タイムアウト割り込みをクリアして下さい。このとき、割り込みをクリアする前に ISR から復帰することのないようにしてください。そうでないと、ISR が再度発生します。 送信終了割り込みは、データが完全に送信されると発生します。この割り込みを使用すると、SSI モジュール・クロッ クをオフにしたり、スリープ・モードに入ってもよいタイミングを知ることができます。また、データの送信とデータの受 信は同時に完了するため、送信終了割り込みにより、受信 FIFO タイムアウトを待つことなく、受信データをリードする ことも可能です。
15.3.4 フレーム・フォーマット
各データ・フレームは、4 ビット長~16 ビット長から選択することができ、MSB ファーストで送信されます。選択可能な 基本フレーム・フォーマットは次の 3 つです。 Texas Instruments 同期式シリアル Freescale SPI MICROWIRE いずれのフォーマットも、SSI がアイドル・ステートの間、シリアル・クロック (SSIClk) は非アクティブになり、 SSIClk はアクティブなデータの送受信期間中のみ、設定した周波数で出力します。SSIClk がアイドル・ステートで あるということは、タイムアウト期間後に受信 FIFO にデータが残っている場合に発生する受信タイムアウトとして利 用することも可能です。Freescale SPI と MICROWIRE のフレームフォーマットでは、、シリアル・フレーム (SSIFss) ピンはアクティブ Low であり、フレーム送信中は Low にアサートされます。
Texas Instruments 同期式シリアルの場合は、各フレームが送信される前に、SSIFss ピンから立ち上がりエッジに 同期して 1 シリアル・クロックのパルスが出力されます。このフレームフォーマットでは、SSI とスレーブ・デバイスは、 SSIClk の立ち上がりエッジでデータを出力し、立ち下がりエッジで相手のデバイスからのデータをラッチします。 MICROWIRE フォーマットでは、他の 2 つのフォーマットでの全二重通信とは異なり、半二重で動作する特殊なマス タ– スレーブ・メッセージング技術を使用します。このモードでは、フレームの開始時に 8 ビットのコントロール・メッ セージをスレーブに送信します。この送信中には、SSI はデータを受信しません。メッセージの送信後、スレーブはそ のメッセージをデコードし、8 ビットのコントロール・メッセージの最後のビットが送信されてから 1 シリアル・クロック後 にリクエストされたデータで応答します。返されるデータ長は 4~16 ビットになるため、フレーム全体の長さは 13~25 ビットの範囲になります。 15.3.4.1 Texas Instruments 同期式シリアル・フレームフォーマット P 651 の図 15-2 に、シングル送信フレームの Texas Instruments 同期式シリアル・フレームフォーマットを示します。 図 15-2. TI 同期式シリアル・フレームフォーマット (シングル送信)
このモードでは、SSI がアイドル状態の場合は常に、SSIClk ピンと SSIFss ピンは Low になり、送信データ・ライン SSITx ピンはトライステートになります。送信FIFO にデータが入ると、SSIFss ピンは 1SSIClk 周期分、ハイパル スを出力します。送信データは、送信 FIFO から送信ロジックのシリアル・シフト・レジスタに転送され、SSIClk の次 の立ち上がりエッジに同期して、4~16 ビット長のデータ・フレームの MSB が、SSITx ピンからシフトアウトされます。 同様に、スレーブ・デバイスからの受信データの MSB が SSIRx ピンへシフトインされます。 その後、SSIClk の立ち下がりエッジごとに、SSI とスレーブ・デバイスの両方が各データ・ビットをクロッキングして、 それぞれのシリアル・シフタに送り込みます。受信データは、LSB がラッチされた後最初の SSIClk の立ち上がり エッジで、シリアル・シフタから受信 FIFO に転送されます。 P 651 の図 15-3 に、連続してフレームを送信する場合の、Texas Instruments 同期式シリアル・フレームフォーマット を示します。 図 15-3. TI 同期式シリアル・フレームフォーマット (連続送信)
15.3.4.2 Freescale SPI フレームフォーマット
Freescale SPI は、SSIFss がスレーブ選択として動作する 4 線式のインターフェイスです。Freescale SPI の主な特 長は、SSIClk 信号の位相および非アクティブ時の信号状態が、SSISCR0 レジスタの SPO ビットと SPH ビットにより 設定可能であることです。
SPO(クロック極性)ビット
SPO ビットを0 にクリアすると、データ転送中以外では、SSIClk ピンは、ローレベルとなります。SPO ビットを 1 に セットすると、データ転送中以外では、SSIClk ピンはハイレベルとなります。 SPH(位相コントロール)ビット SPH ビットは、データのキャプチャ、および、出力データを変化させるクロックエッジを選択します。このビットは、最初 のデータ・キャプチャ・エッジの前にクロック遷移を許可するかしないかを設定しますので、送信データの最初のビット に最も影響を与えます。SPH ビットを 0 にクリアすると、最初のクロック・エッジでデータがキャプチャされます。SPH ビットを 1 にセットすると、二つ目ののクロック・エッジでデータがキャプチャされます。
15.3.4.3 Freescale SPI フレームフォーマット (SPO=0、SPH=0)
P652 の図 15-4 と P652 の図 15-5 に、が SPO=0 および SPH=0 の場合の Freescale SPI フォーマットのシングル 転送と連続転送のタイミング図を示します。
図 15-4. Freescale SPI フォーマット (シングル転送) (SPO=0、SPH=0)
注: Q は不定状態を表します。
図 15-5. Freescale SPI フォーマット (連続転送) (SPO=0、SPH=0)
この設定では、アイドル期間中では次のようになります。 SSIClk はローレベルになります。
SSIFss はハイレベルになります。 [テキストを入力してください]
SSITx はローレベルになります。
SSI がマスタの場合は、SSIClk がイネーブルになります。 SSI がスレーブの場合は、SSIClk がディセーブルになります。
SSI がイネーブルであり、有効なデータが送信 FIFO に入っている場合は、マスタが SSIFss ピンをローレベルにす ることにより、転送が開始します。これにより、スレーブは、SSIRx ピンにデータを出力し、また、マスタは SSITx ピン からデータを出力します。 0.5 クロック(0.5SSIClk)後、マスタの有効なデータが SSITx ピンから転送されます。データ送受信後、0.5 クロック (0.5SSIClk)後に SSIClk はハイレベルになります。 これで、SSIClk の立ち上がりでデータがキャプチャされ、SSIClk の立ち下がりエッジでデータ送信されます。 シングル転送の場合は、全データ・ビットが転送され、最後のビットがキャプチャされてから 1SSIClk 後に、SSIFss ピンはアイドル状態であるハイステートに戻ります。 ただし、連続送信の場合は、各データ・ワードの転送と転送の間に SSIFss が High パルスを出力します。これは、 SSIFss がローレベルのままだと、シリアルペリフェラルのレジスタにデータを留まらせ、また、SPH ビットが0 のとき、 データの出力タイミングが生成できないためです。このため、マスタはデータライトのためにデータ転送間に SSIFss を High にする必要があります。連続転送が完了すると、最後のビットがキャプチャされてから 1SSIClk 後に、 SSIFss ピンがアイドル状態に戻ります。
15.3.4.4 Freescale SPI フレーム・フォーマット (SPO=0、SPH=1)
P653 の図 15-6 に、SPO=0 および SPH=1 の場合のシングル転送および連続転送時の Freescale SPI フォーマッ トを示します。
図 15-6. Freescale SPI フレームフォーマット (SPO=0、SPH=1)
注: Q は不定状態を表します。 この設定では、アイドル期間中では次のようになります。 SSIClk はローレベルになります。 SSIFss はハイレベルになります。 SSITx は、ハイレベルになります。 SSI がマスタの場合は、SSIClk がイネーブルになります。 SSI がスレーブの場合は、SSIClk がディセーブルになります。
SSI がイネーブルであり、有効なデータが送信 FIFO に入っている場合は、マスタが SSIFss ピンをローレベルにす ることにより、転送が開始します。マスタの SSITx がイネーブルになり、さらに 0.5SSIClk 後、送受信が開始されま
す。また、SSClk の立ち上がりエッジでデータが変化します。 これで、SSIClk の立ち上がりでデータがキャプチャされ、SSIClk の立ち下がりエッジでデータ送信されます。 シングル転送の場合は、全データ・ビットが転送され、最後のビットがキャプチャされてから 1SSIClk 後に、SSIFss はアイドル状態であるハイステートに戻ります。 連続転送の場合は、データ間で SSIFss がローレベルに保持されます。転送の終了は、シングル転送の場合と同じ です。
15.3.4.5 Freescale SPI フレーム・フォーマット (SPO=1、SPH=0)
P654 の図 15-7 と P654 の図 15-8 に、SPO=1 および SPH=0 の場合のシングル転送および連続転送の Freescale SPI フォーマットのタイミング図を示します。
図 15-7. Freescale SPI フレームフォーマット (シングル転送) (SPO=1、SPH=0)
注: Q は不定状態です。
図 15-8. Freescale SPI フレームフォーマット (連続転送) (SPO=1、SPH=0)
この設定では、アイドル期間中では次のようになります。 SSIClk は、ローレベルになります。 SSIFss は、ハイレベルになります。 SSITx は、ローレベルになります。 SSI がマスタの場合は、SSIClk ピンがイネーブルになります。 SSI がスレーブの場合は、SSIClk ピンがディセーブルになります。
SSI がイネーブルであり、有効なデータが送信 FIFO に入っている場合は、マスタが SSIFss ピンをローレベルにす ることにより、転送が開始します。また、これにより、スレーブは直ちにマスタの SSIRx にデータを出力します。また、 マスタの SSITx がイネーブルになります。
0.5SSIClk クロック後、マスタはデータを SSITx ピンから出力します。マスタとスレーブの両方のデータが出力され ると、マスタの SSIClk は 0.5SSIClk クロック後、ローレベルになります。これにより、SSIClk の立ち下がりエッジ でデータが取り込まれ、立ち上がりエッジでデータが出力されます。
シングル転送の場合は、全データ・ビットが転送され、最後のビットがキャプチャされてから 1SSIClk 後に、SSIFss ピンはアイドル状態であるハイステートに戻ります。 一方、連続転送の場合は、データ間で SSIFss ピンがローレベルに保持されます。転送の終了は、シングル転送の 場合と同じです。 ただし、連続送信の場合は、各データ・ワードの転送と転送の間に SSIFss が High パルスを出力します。。これは、 SSIFss がローレベルのままだと、シリアルペリフェラルのレジスタにデータを留まらせ、また、SPH ビットが0 のとき、 データの出力タイミングが生成できないためです。このため、マスタはデータライトのためにデータ転送間に SSIFss を High にする必要があります。連続転送が完了すると、最後のビットがキャプチャされてから 1SSIClk 後に、 SSIFss ピンがアイドル状態に戻ります。
15.3.4.6 Freescale SPI フレームフォーマット (SPO=1、SPH=1)
P655 の図 15-9 に、SPO=1 および SPH=1 の場合のシングル転送および連続転送時の Freescale SPI のタイミン グ図を示します。
図 15-9. Freescale SPI フレームフォーマット (SPO=1、SPH=1)
注: Q は不定状態を表します。 この設定では、アイドル期間中では次のようになります。 SSIClk は、ハイレベルになります。 SSIFss は、ハイレベルになります。 SSITx は、ローレベルになります。 SSI がマスタの場合は、SSIClk ピンがイネーブルになります。 SSI がスレーブの場合は、SSIClk ピンがディセーブルになります。
SSI がイネーブルであり、有効なデータが送信 FIFO に入っている場合は、マスタが SSIFss ピンをローレベルにす ることにより、転送が開始します。また、マスタの SSITx の出力が有効になります。0.5SSIClk クロック後、マスタと スレーブのデータが送受信バス上で有効になります。データは SSClk の立下りエッジで変化します。これにより、 SSIClk の立ち下がりエッジでデータが取り込まれ、立ち上がりエッジでデータを出力されます。 シングル転送の場合は、全データ・ビットが転送され、最後のビットがキャプチャされてから 1SSIClk 後に、SSIFss ピンはアイドル状態であるハイステートに戻ります。 連続転送の場合は、最後のデータの最終ビットがキャプチャされ、シングル転送時のようにアイドル・ステートに戻る まで、SSIFss がローレベルに保持されます。転送の終了は、シングル転送の場合と同じです。
15.3.4.7 MICROWIRE フレームフォーマット P656 の図 15-10 に、シングル転送時の MICROWIRE フレームフォーマットを、P 657 の図 15-11 に、連続転送時 の MICROWIRE フレームフォーマットを示します。 図 15-10. MICROWIRE フレームフォーマット (シングル転送) MICROWIRE フォーマットは SPI 形式と似ていますが、送信が全二重でなく半二重である点と、マスタ - スレーブ・ メッセージ受け渡し技術を使用する点が異なります。各シリアル送信は、SSI からスレーブ・デバイスへ送信される 8 ビットのコントロール・メッセージで始まります。この送信中には、SSI はデータを受信しません。メッセージの送信後、 スレーブはそのメッセージをデコードし、8 ビットのコントロール・メッセージの最後のビットが送信されてから 1 シリア ル・クロック後、必要なデータで応答します。返されるデータ長は 4~16 ビットなので、フレーム全体の長さは 13~25 ビットの範囲になります。 この設定では、アイドル期間中では次のようになります。 SSIClk は、ローレベルになります。 SSIFss は、ハイレベルになります。 SSITx は、ローレベルになります。 送信 FIFO にコントロールメッセージを書き込むことにより、送信が開始されます。SSIFss の立ち下がりエッジで、送 信 FIFO の最下位エントリに入っている値が送信ロジックのシリアル・シフト・レジスタに転送され、8 ビットのコントロー ル・メッセージの MSB が SSITx ピンからシフトアウトします。フレーム送信期間中、SSIFss ピンはローレベルを保 持します。この送信中、SSIRx ピンはトライステート状態となっています。 スレーブ・デバイスは、SSIClk の立ち上がりエッジごとに各ビットをシリアル・シフタにラッチします。最後のビットが スレーブ・デバイスにラッチされた後、1 クロックウェイト中にコントロール・メッセージがデコードされ、データを SSI に 返すことによりスレーブが応答します。各ビットは、SSIClk の立ち下がりエッジ時で SSIRx へ出力します。次に SSI が、SSIClk の立ち上がりエッジ時に各ビットをラッチします。フレームの終わりでは、シングル転送の場合、最後の ビットが受信シリアル・シフタにラッチされてから 1 クロック周期後に SSIFss がハイレベルになることで、データが受 信 FIFO に転送されます。 注:スレーブ・デバイスは、LSB が受信シフタにラッチされた後の SSIClk の立ち下がりエッジか、あるいは SSIFss ピンがハイレベルになった時点で、受信ラインをトライステートにします。 連続転送の場合でも、データ送信はシングル転送と同じように開始/終了します。ただし、SSIFss ピンは連続的にア サートされたまま(ローレベルに保持)、データの送信が連続で発生します。次のフレームのコントロールメッセージは、 [テキストを入力してください]
現在のフレームからの受信データの LSB の直後に続きます。各受信データは、各データの LSB がラッチされた後、 SSIClk の立ち下がりエッジで受信シフタから転送されます。
図 15-11. MICROWIRE フレームフォーマット (連続転送)
MICROWIRE モードでは、SSI がスレーブモードのとき、SSIFss ピンがローレベルになった後、最初の SSIClk の 立ち上がりエッジで受信データの最初のビットをサンプリングします。マスタが、SSIClk をフリーランモードで出力し ている場合、SSIClk の立ち上がりエッジに対して、SSIFss が十分なセットアップ・マージンとホールド・マージンを 持つようにして下さい。 P 657 の図 15-12 に、上記のセットアップ時間とホールド時間のタイミング図を示します。SSI がスレーブモードのとき、 受信データの最初のビットのサンプリングタイミングである SSIClk の立ち上がりエッジに対して、SSIFss は SSIClk クロック換算で少なくとも 2 クロック分のセットアップ時間が必要です。同様に、このエッジの一つ前の SSIClk の立ち上がりエッジに対しても、SSIFss は少なくとも 1SSIClk クロック分のホールド時間が必要です。
図 15-12. MICROWIRE フレームフォーマット、SSIFss 入力のセットアップ時間とホールド時間
15.3.5 DMA の動作
SSI は、送信用と受信用にそれぞれ、μDMA コントローラへのインターフェイスを提供します。SSI によるμDMA の 起動は、SSI DMA コントロール(SSIDMACTL)レジスタによりイネーブルにします。μDMA がイネーブルになると、 SSI は受信 FIFO または送信 FIFO でデータを受け取るたびにμDMA リクエストをアサートします。受信チャネルで は、データが受信 FIFO にあると、シングル転送リクエストがアサートされます。受信 FIFO にあるデータ数が 4 アイ テム以上の場合は、バースト転送リクエストがアサートされます。送信チャネルでは、少なくともひとつの空が送信 FIFO にある場合は、シングル転送リクエストがアサートされます。送信 FIFO に 4 つ以上の空がある場合はバース ト・リクエストがアサートされます。シングル転送リクエストおよびバースト転送リクエストは、μDMA チャネルの設定 により、μDMA コントローラにより自動的に処理されます。受信チャネル用のμDMA をイネーブルにするには、DMA コントロール(SSIDMACTL)レジスタの RXDMAE ビットを 1 にセットする必要があります。送信チャネル用のμDMA を イネーブルにするには、SSIDMACTL の TXDMAE ビットを 1 にセットする必要があります。μDMA がイネーブルにな り、転送が完了すると、割り込みを生成します。この割り込みは、SSI 割り込みベクタに対して起動されます。したがっ
て、割り込みが必要で、かつμDMA を使用する場合は、SSI 割り込みハンドラは、μDMA 完了割り込み処理も合わ せて実行する必要があります。
μDMA コントローラの設定の詳細については、P246 の“Micro Direct Memory Access (μDMA)” を参照してくだ さい。
15.4 初期化と設定
SSI をイネーブルにして初期化するには、次のステップが必要です。 1. RCGC1 レジスタ(P182 参照)の SSI ビットをセットして、SSI モジュールをイネーブルにします。 2. RCGC2 レジスタ(P194 を参照)により、使用する GPIO モジュールに対してクロックをイネーブルにします。どの GPIO ポートをイネーブルにするかは、P 1160 の表 25-5 を参照してください。3. 使用するピンの GPIO の AFSEL ビットを 1 にセットします (P328 を参照)。どの GPIO を使用するかは、P 1151 の表 25-4 を参照してください。 4. GPIOPCTL レジスタの PMCn フィールドを設定して、使用するピンに SSI 信号を割り当てます。P 346 と、P 1160 の表 25-5 を参照してください。 各フレームフォーマットについては、次のステップを使用して SSI を設定します。 1. レジスタを設定する前に、SSICR1 レジスタの SSE ビットが 0 にクリアされていることを確認します。 2. SSI をマスタとスレーブのどちらにするかを選択します。 a. マスタモードの場合は、SSICR1 レジスタに 0x0000.0000 を設定します。 b. スレーブ・モードで送信がイネーブルの場合は、SSICR1 レジスタに 0x0000.0004 を設定します。 c. スレーブ・モードで送信がディセーブルの場合は、SSICR1 レジスタに 0x0000.000C を設定します。 3. SSICPSR レジスタに、クロック・プリスケール・分周比を設定します。 4. SSICR0 レジスタに次の設定を行います。 シリアル・クロック・レート (SCR ビット)
Freescale SPI モードを使用する場合は、クロック位相と極性(SPH ビットおよび SPO ビット)
プロトコル・モード: Freescale SPI、Texas Instruments クロック同期式シリアル、MICROWIRE (FRF ビット) データ・サイズ (DSS ビット)
5. 必要に応じて、μDMAチャネル(P 246 の“Micro Direct Memory Access (μDMA)”を参照)を設定し、
SSIDMACTLレジスタの各ビット(TXDMAEビットおよびRXDMAEビット)を 1 にセットにします。 6. SSICR1レジスタのSSEビットを 1 にセットして、SSIをイネーブルにします。
例として、次の動作モードを使用する場合の SSI の設定例を示します。 マスタモード
Freescale SPI モード (SPO=1、SPH=1) 1 Mbps ビット・レート
8 データ・ビット
システム・クロックが 20MHz と仮定すると、ビット・レートは次のように計算されます。 [テキストを入力してください]
SSIClk = SysClk / (CPSDVSR * (1 + SCR)) = 20 * 10^6 / (CPSDVSR * (1 + SCR)) この場合、CPSDVSR = 0x2 であれば、SCR ビットは 0x9 に設定して下さい。 設定の手順は次のようになります。 1. SSICR1レジスタのSSEビットが 0 にクリアされていることを確認します。 2. SSICR1レジスタに、0x0000.0000 を書き込みます。 3. SSICPSRレジスタに、0x0000.0002 を書き込みます。 4. SSICR0レジスタに、0x0000.09C7 を書き込みます。 5. SSICR1レジスタのSSEビットを 1 にセットすることにより、SSIがイネーブルになります。
15.5 レジスタ・マップ
P 659 の表 15-3 は、SSI レジスタのリストです。記載されているオフセットはレジスタのアドレスに対する 16 進インク リメントであり、SSI モジュールのベース・アドレスに対するオフセット値です。 SSI0: 0x4000.8000 SSI1: 0x4000.9000 SSI モジュールへのクロックは、レジスタを設定する前にイネーブルにする必要がありますので、ご注意下さい。 (P182 参照)注: レジスタを設定する前に、SSI はディセーブル(SSICR1 レジスタの SSE ビットを 0 にクリア)にして下さい。
表 15-3. SSI のレジスタ・マップ オフセット 名前 タイプ リセット 説明 ページ 0x000 SSICR0 R/W 0x0000.0000 SSI コントロール 0 661 0x004 SSICR1 R/W 0x0000.0000 SSI コントロール 1 663 0x008 SSIDR R/W 0x0000.0000 SSI データ 665 0x00C SSISR RO 0x0000.0003 SSI ステータス 666 0x010 SSICPSR R/W 0x0000.0000 SSI クロック・プリスケール 668 0x014 SSIIM R/W 0x0000.0000 SSI 割り込みマスク 669 0x018 SSIRIS RO 0x0000.0008 SSI ロウ割り込みステータス 670 0x01C SSIMIS RO 0x0000.0000 SSI マスク割り込みステータス 672 0x020 SSIICR W1C 0x0000.0000 SSI 割り込みクリア 674 0x024 SSIDMACTL R/W 0x0000.0000 SSI DMA コントロール 675 0xFD0 SSIPeriphID4 RO 0x0000.0000 SSI ペリフェラル ID 4 676 0xFD4 SSIPeriphID5 RO 0x0000.0000 SSI ペリフェラル ID 5 677 0xFD8 SSIPeriphID6 RO 0x0000.0000 SSI ペリフェラル ID 6 678 0xFDC SSIPeriphID7 RO 0x0000.0000 SSI ペリフェラル ID 7 679 0xFE0 SSIPeriphID0 RO 0x0000.0022 SSI ペリフェラル ID 0 680 0xFE4 SSIPeriphID1 RO 0x0000.0000 SSI ペリフェラル ID 1 681 0xFE8 SSIPeriphID2 RO 0x0000.0018 SSI ペリフェラル ID 2 682 0xFEC SSIPeriphID3 RO 0x0000.0001 SSI ペリフェラル ID 3 683 0xFF0 SSIPCellID0 RO 0x0000.000D SSI PrimeCell ID 0 684 0xFF4 SSIPCellID1 RO 0x0000.00F0 SSI PrimeCell ID 1 685 0xFF8 SSIPCellID2 RO 0x0000.0005 SSI PrimeCell ID 2 686 0xFFC SSIPCellID3 RO 0x0000.00B1 SSI PrimeCell ID 3 687
15.6 レジスタの説明
このセクションの以降のページでは、SSI のレジスタをアドレス・オフセットの番号順に記載し、説明します。
レジスタ 1: SSI コントロール 0 (SSICR0)、オフセット 0x000
フレームフォーマット、クロック・レート、データ・サイズ等などを設定します。
SSI コントロール 0 (SSICR0) SSI0 ベース: 0x4000.8000 SSI1 ベース: 0x4000.9000 オフセット 0x000 タイプ R/W、リセット 0x0000.0000 ビット / フィールド 名称 タイプ リセット 説明 31:16 予約 RO 0x0000 予約ビットの値はソフトウェアで使用しないでください。将来の 製品との互換性のため、予約ビットの値はリード・モディファ イ・ライト処理から保護する必要があります。
15:8 SCR R/W 0x00 SSI Serial Clock Rate
SSI の送信および受信ビット・レートを設定します。ビット・レート は次の通りです。
SSIClk/(CPSDVSR * (1 + SCR))
ここで、CPSDVSRは SSICPSR レジスタに設定された 2~254 の中の偶数であり、SCRは 0~255 の値です。
7 SPH R/W 0 SSI Serial Clock Phase
Freescale SPI フォーマット時にのみ有効です。 データをキャプチャするクロック・エッジおよび、出力データのク ロック・エッジを選択します。このビットは、最初のデータ・キャプ チャ・エッジの前にクロック遷移を許可するかしないかを設定し ますので、送信データの最初のビットに最も影響を与えます。 値 説明 0 最初のクロック・エッジでデータがキャプチャされます。 1 2 番目のクロック・エッジでデータがキャプチャされま す。
6 SPO R/W 0 SSI Serial Clock Polarity 値 説明
0 SSIClk はデータ転送中以外は、ローレベルになりま す。
1 SSIClk はデータ転送中以外は、ハイレベルになりま す。
5:4 FRF R/W 0x0 SSI Frame Format Select 値 説明 0x0 Freescale SPI フレームフォーマット 0x1 Texas Instruments 同期式シリアル・フレームフォー マット 0x2 MICROWIRE フレームフォーマット 0x3 予約
3:0 DSS R/W 0x0 SSI Data Size Select 値 説明
0x0~0x2 予約 0x3 4 ビット・データ 0x4 5 ビット・データ 0x5 6 ビット・データ
0x6 7 ビット・データ 0x7 8 ビット・データ 0x8 9 ビット・データ 0x9 10 ビット・データ 0xA 11 ビット・データ 0xB 12 ビット・データ 0xC 13 ビット・データ 0xD 14 ビット・データ 0xE 15 ビット・データ 0xF 16 ビット・データ [テキストを入力してください]
レジスタ 2: SSI コントロール 1 (SSICR1)、オフセット 0x004
マスタ・モードとスレーブ・モードの機能を設定します。 SSI コントロール 1 (SSICR1) SSI0 ベース: 0x4000.8000 SSI1 ベース: 0x4000.9000 オフセット 0x004 タイプ R/W、リセット 0x0000.0000 ビット / フィールド 名称 タイプ リセット 説明 31:5 予約 RO 0x0000.0 予約ビットの値はソフトウェアで使用しないでください。将来の 製品との互換性のため、予約ビットの値はリード・モディファ イ・ライト処理から保護する必要があります。4 EOT R/W 0 End of Transmission 値 説明
0 TXRIS 割り込みは、送信 FIFO のデータが 1/2 以下で あるときにイネーブルになります。
1 TXRIS 割り込みは、送信終了時にイネーブルになり ます。
3 SOD R/W 0 SSI Slave Mode Output Disable
スレーブ・モード(MS=1)のときにのみ有効です。 複数のスレーブを使用するシステムにおいて、一つのスレーブ のみがデータをドライブすることにより、マスタがシステムの全 スレーブにブロードキャスト・メッセージを送信することが可能 になります。このようなシステムでは、複数のスレーブからの TXD ラインが接続されています。SSI がスレーブモードのと き、SODビットを 1 にセットすると、SSITxをドライブしません。 値 説明 0 SSI はスレーブ・モードで SSITx を出力できます。 1 SSI はスレーブ・モードで SSITx を出力できません。 2 MS R/W 0 SSI Master/Slave Select
マスタ・モードまたは、スレーブ・モードを選択します。また、SSI がディセーブルの時(SSEビット=0)のみ変更できます。 値 説明
0 SSI はマスタモードです。 1 SSI はスレーブモードです。 1 SSE R/W 0 SSI Synchronous Serial Port Enable
値 説明
0 SSI は、ディセーブルです。 1 SSI は、イネーブルです。
注: SSI のレジスタを設定する前に、このビットは、必ず 0 にクリ アして下さい。
0 LBM R/W 0 SSI Loopback Mode 値 説明 0 通常のシリアル動作がイネーブルになります。 1 送信シリアル・シフト・レジスタの出力は、受信シリア ル・シフト・レジスタの入力に内部的に接続されます。 [テキストを入力してください]
レジスタ 3: SSI データ (SSIDR)、オフセット 0x008
重要: このレジスタを読み出す場合は注意が必要です。読み出しを実行すると、ビットのステータスが変化する場合 があります。 SSIDR レジスタは 16 ビット幅です。受信ロジックは入力されたデータをリードポインタが指す FIFO に格納します。こ のレジスタをリードすると、FIFO のリードポインタが指している受信 FIFO 内のデータを読み出すことができます。 SSIDR レジスタにライトすると、ライトポインタが指している送信 FIFO 内のエントリに対して書き込みが行われます。 データ値は、送信ロジックにより一度にひとつずつ送信 FIFO から送信シリアル・シフタにロードされ、設定したビット・ レートで SSITx ピンからシフトアウトされます。 16 ビットより小さいデータ・サイズを選択する場合は、送信 FIFO に書き込むデータは右詰めにして下さい。また、送 信ロジックは未使用ビットを無視します。16 ビットより小さい受信データは受信バッファ内で自動的に右詰めされ ます。 MICROWIRE フレームフォーマットの場合は、送信データのデフォルト・サイズは 8 ビット(上位バイトは無視)です。受 信データ・サイズはプログラマにより制御されます。SSICR1 レジスタの SSE ビットを 0 にクリアしても、送信 FIFO と 受信 FIFO はクリアされないので、SSI をイネーブルにする前に送信 FIFO をフルにすることができます。SSI データ (SSIDR) SSI0 ベース: 0x4000.8000 SSI1 ベース: 0x4000.9000 オフセット 0x008 タイプ R/W、リセット 0x0000.0000 ビット / フィールド 名称 タイプ リセット 説明 31:16 予約 RO 0x0000 予約ビットの値はソフトウェアで使用しないでください。将来の 製品との互換性のため、予約ビットの値はリード・モディファ イ・ライト処理から保護する必要があります。
15:0 DATA R/W 0x0000 SSI Receive/Transmit Data
リードすると、受信 FIFO のデータが読み出されます。ライトす ると、送信 FIFO にデータを書き込みます。
16 ビットより小さいデータの設定の場合は、データは右詰めに して下さい。送信ロジックでは先頭の未使用ビットを無視しま す。受信ロジックでは自動的にデータを右詰めします。
レジスタ 4: SSI ステータス (SSISR)、オフセット 0x00C
FIFO のステータスと SSI のビジーステータスを示します。 SSI ステータス (SSISR) SSI0 ベース: 0x4000.8000 SSI1 ベース: 0x4000.9000 オフセット 0x00C タイプ RO、リセット 0x0000.0003 ビット / フィールド 名称 タイプ リセット 説明 31:5 予約 RO 0x0000.00 予約ビットの値はソフトウェアで使用しないでください。将来の 製品との互換性のため、予約ビットの値はリード・モディファ イ・ライト処理から保護する必要があります。4 BSY RO 0 SSI Busy Bit 値 説明
0 SSI はアイドル状態です。
1 SSI はフレームを送信中または受信中であるか、また は送信 FIFO が空ではありません。
3 RFF RO 0 SSI Receive FIFO Full 値 説明
0 受信 FIFO はフルではありません。 1 受信 FIFO はフルです。
2 RNE RO 0 SSI Receive FIFO Not Empty 値 説明
0 受信 FIFO は空です。
1 受信 FIFO は空ではありません。 1 TNF RO 1 SSI Transmit FIFO Not Full
値 説明
0 送信 FIFO はフルです。
1 送信 FIFO はフルではありません。 0 TFE RO 1 SSI Transmit FIFO Empty
値 説明
0 送信 FIFO は空ではありません。 1 送信 FIFO は空です。
レジスタ 5: SSI クロック・プリスケール (SSICPSR)、オフセット 0x010
システム・クロックから SSIClk を導き出す分周係数を指定します。クロックは 1~256(1 + SCR)でさらに分周されま す。SCR は SSICR0 レジスタに設定して下さい。SSIClk の周波数は次のように定義されます。 SSIClk = SysClk / (CPSDVSR * (1 + SCR)) このレジスタへの設定値は、2~254 の偶数にして下さい。また、LSB は 0 として扱いますので、このレジスタから読 み出した値の最下位ビットは 0 です。 SSI クロック・プリスケール (SSICPSR) SSI0 ベース: 0x4000.8000 SSI1 ベース: 0x4000.9000 オフセット 0x010 タイプ R/W、リセット 0x0000.0000 ビット / フィールド 名称 タイプ リセット 説明 31:8 予約 RO 0x00 予約ビットの値はソフトウェアで使用しないでください。将来の 製品との互換性のため、予約ビットの値はリード・モディファ イ・ライト処理から保護する必要があります。7:0 CPSDVSR R/W 0x00 SSI Clock Prescale Divisor
使用するSSIClkの周波数に合わせて、2~254 の偶数値を 設定して下さい。読み出すと、LSB は常に 0 です。
レジスタ 6: SSI 割り込みマスク(SSIIM)、オフセット 0x014
割り込みマスクの設定を行います。読み出し/書き込み可能なレジスタであり、すべてのビットはリセット時に 0 にクリ アされます。 読み出すと、割り込みマスクの現在の設定が読み出されます。マスクビットを 1 にセットするとマスクが設定され、割り 込みが割り込みコントローラに対して通知されません。マスクビットを 0 にクリアするとマスクがクリアされ、割り込みコ ントローラに割り込みが送信できるようになります。 SSI 割り込みマスク(SSIIM) SSI0 ベース: 0x4000.8000 SSI1 ベース: 0x4000.9000 オフセット 0x014 タイプ R/W、リセット 0x0000.0000 ビット / フィールド 名称 タイプ リセット 説明 31:4 予約 RO 0x0000.000 予約ビットの値はソフトウェアで使用しないでください。将来の 製品との互換性のため、予約ビットの値はリード・モディファ イ・ライト処理から保護する必要があります。3 TXIM R/W 0 SSI Transmit FIFO Interrupt Mask 値 説明
0 送信 FIFO の割り込みをマスクします。 1 送信 FIFO の割り込みがマスクされません。 2 RXIM R/W 0 SSI Receive FIFO Interrupt Mask
値 説明
0 受信 FIFO の割り込みをマスクします。 1 受信 FIFO の割り込みがマスクされません。 1 RTIM R/W 0 SSI Receive Time-Out Interrupt Mask
値 説明
0 受信 FIFO のタイムアウト割り込みをマスクします。 1 受信 FIFO のタイムアウト割り込みがマスクされま
せん。
0 RORIM R/W 0 SSI Receive Overrun Interrupt Mask 値 説明
0 受信 FIFO のオーバーラン割り込みをマスクします。 1 受信 FIFO のオーバーラン割り込みがマスクされま
せん。
レジスタ 7: SSI ロウ割り込みステータス(SSIRIS)、オフセット 0x018
読み出すと、マスクする前の割り込みのロウステータスが読み出されます。書き込みは無効です。 SSI ロウ割り込みステータス (SSIRIS) SSI0 ベース: 0x4000.8000 SSI1 ベース: 0x4000.9000 オフセット 0x018 タイプ RO、リセット 0x0000.0008 ビット / フィールド 名称 タイプ リセット 説明 31:4 予約 RO 0x0000.00 0 予約ビットの値はソフトウェアで使用しないでください。将来の 製品との互換性のため、予約ビットの値はリード・モディファ イ・ライト処理から保護する必要があります。3 TXRIS RO 1 SSI Transmit FIFO Raw Interrupt Status 値 説明
0 割り込みなし
1 SSICR1レジスタのEOTビットが 0 のとき、送信FIFO 内のデータは 1/2 以下です。 EOTビットが 1 のとき、送信FIFOは空で、かつ、最後 のビットが送信されました。 送信 FIFO 内のデータが 1/2 を超えるか(EOTビットが 0 の時)、 データが存在する場合(EOTビットが1のとき)は、0 にクリアさ れます。
2 RXRIS RO 0 SSI Receive FIFO Raw Interrupt Status 値 説明
0 割り込みなし
1 受信 FIFO のデータ数が、1/2 以上です。
受信 FIFO のデータ数が 1/2 未満の場合は 0 にクリアされ ます。
1 RTRIS RO 0 SSI Receive Time-Out Raw Interrupt Staus 値 説明
0 割り込みなし
1 受信タイムアウトが発生しました。
SSI 割り込みクリア(SSIICR)レジスタのRTICビットに 1 を書き 込むと 0 にクリアされます。
0 RORRIS RO 0 SSI Receive Overrun Raw Interrupt Status 値 説明
0 割り込みなし
1 受信 FIFO がオーバーフローしました。
SSI 割り込みクリア(SSIICR)レジスタのRORICビットに 1 を書 き込むと 0 にクリアされます。
レジスタ 8: SSI マスク割り込みステータス (SSIMIS)、オフセット 0x01C
読み出すと、割り込みのマスク・ステータスが読み出されます。書き込みは無効です。 SSI マスク割り込みステータス (SSIMIS) SSI0 ベース: 0x4000.8000 SSI1 ベース: 0x4000.9000 オフセット 0x01C タイプ RO、リセット 0x0000.0000 ビット / フィールド 名称 タイプ リセット 説明 31:4 予約 RO 0x0000.00 0 予約ビットの値はソフトウェアで使用しないでください。将来の 製品との互換性のため、予約ビットの値はリード・モディファ イ・ライト処理から保護する必要があります。3 TXMIS RO 0 SSI Transmit FIFO Masked Interrupt Status 値 説明 0 割り込みが発生していないか、マスクされています。 1 送信 FIFO 内のデータ数が 1/2 以下である(EOT ビット が 0 の場合)、あるいは、最後のデータのビットが送信 された(EOT ビットが 1 の場合)ことにより、マスクされて いない割り込みが通知されました。 送信 FIFO 内のデータ数が 1/2 を超えると(EOTビットが 0 の 場合)、または、送信 FIFO 内にデータが存在すると(EOTビット が 1 の場合)、このビットは 0 にクリアされます。
2 RXMIS RO 0 SSI Receive FIFO Masked Interrupt Status 値 説明 0 割り込みが発生していないか、マスクされています。 1 受信 FIFO 内に 1/2 以上のデータがあることにより、マ スクされていない割り込みが通知されました。 受信 FIFO 内のデータ数が 1/2 未満になるとこのビットは 0 に クリアされます。
1 RTMIS RO 0 SSI Receive Time-Out Masked Interrupt Status 値 説明
0 割り込みが発生していないか、マスクされています。 1 受信タイムアウトにより、マスクされていない割り込み
が通知されました。
SSI 割り込みクリア(SSIICR)レジスタのRTIC ビットに 1 を 書き込むと 0 にクリアされます。
0 RORMIS RO 0 SSI Receive Overrun Masked Interrupt Status 値 説明
0 割り込みが発生していないか、マスクされています。 1 受信 FIFO のオーバーフローにより、マスクされていな
い割り込みが通知されました。
このビットは、SSI 割り込みクリア(SSIICR)レジスタのRORIC
ビットに 1 を書き込むと 0 にクリアされます。
レジスタ 9: SSI 割り込みクリア (SSIICR)、オフセット 0x020
1 を書き込むと、対応する割り込み要因が 0 にクリアされます。0 を書き込んでも無効です。 SSI 割り込みクリア (SSIICR) SSI0 ベース: 0x4000.8000 SSI1 ベース: 0x4000.9000 オフセット 0x020 タイプ W1C、リセット 0x0000.0000 ビット / フィールド 名称 タイプ リセット 説明 31:2 予約 RO 0x0000.00 0 予約ビットの値はソフトウェアで使用しないでください。将来の 製品との互換性のため、予約ビットの値はリード・モディファ イ・ライト処理から保護する必要があります。1 RTIC W1C 0 SSI Receive Time-Out Interrupt Clear
このビットに 1 を書き込むと、SSIRIS レジスタのRTRIS ビット と、SSIMIS レジスタのRTMISビットが 0 にクリアされます。 0 RORIC W1C 0 SSI Receive Overrun Interrupt Clear
このビットに 1 を書き込むと、SSIRIS レジスタのRORRISビッ トと、SSIMIS レジスタのRORMISビットが 0 にクリアされます。
レジスタ 10: SSI DMA コントロール (SSIDMACTL)、オフセット 0x024
μDMA の制御レジスタです。
SSI DMA コントロール (SSIDMACTL) SSI0 ベース: 0x4000.8000 SSI1 ベース: 0x4000.9000 オフセット 0x024 タイプ R/W、リセット 0x0000.0000 ビット / フィールド 名称 タイプ リセット 説明 31:2 予約 RO 0x0000.00 0 予約ビットの値はソフトウェアで使用しないでください。将来の 製品との互換性のため、予約ビットの値はリード・モディファ イ・ライト処理から保護する必要があります。
1 TXDMAE R/W 0 Transmit DMA Enable 値 説明
0 送信 FIFO 用のμDMA がディセーブルになります。 1 送信 FIFO 用のμDMA がイネーブルになります。 0 RXDMAE R/W 0 Receive DMA Enable
値 説明
0 受信 FIFO 用のμDMA がディセーブルになります。 1 受信 FIFO 用のμDMA がイネーブルになります。
レジスタ 11: SSI ペリフェラル ID 4 (SSIPeriphID4)、オフセット 0xFD0
SSI の ID レジスタです。
SSI ペリフェラル ID4 (SSIPeriphID4) SSI0 ベース: 0x4000.8000 SSI1 ベース: 0x4000.9000 オフセット 0xFD0 タイプ RO、リセット 0x0000.0000 ビット / フィールド 名称 タイプ リセット 説明 31:8 予約 RO 0x0000.00 予約ビットの値はソフトウェアで使用しないでください。将来の 製品との互換性のため、予約ビットの値はリード・モディファ イ・ライト処理から保護する必要があります。
7:0 PID4 RO 0x00 SSI Peripheral ID Register [7:0] このペリフェラル固有の ID です。
レジスタ 12: SSI ペリフェラル ID 5 (SSIPeriphID5)、オフセット 0xFD4
SSI の ID レジスタです。 SSI ペリフェラル ID 5 (SSIPeriphID5) SSI0 ベース: 0x4000.8000 SSI1 ベース: 0x4000.9000 オフセット 0xFD4 タイプ RO、リセット 0x0000.0000 ビット / フィールド 名称 タイプ リセット 説明 31:8 予約 RO 0x0000.00 予約ビットの値はソフトウェアで使用しないでください。将来の 製品との互換性のため、予約ビットの値はリード・モディファ イ・ライト処理から保護する必要があります。7:0 PID5 RO 0x00 SSI Peripheral ID Register [15:8] このペリフェラル固有の ID です。
レジスタ 13: SSI ペリフェラル ID 6 (SSIPeriphID6)、オフセット 0xFD8
SSI の ID レジスタです。 SSI ペリフェラル ID 6 (SSIPeriphID6) SSI0 ベース: 0x4000.8000 SSI1 ベース: 0x4000.9000 オフセット 0xFD8 タイプ RO、リセット 0x0000.0000 ビット / フィールド 名称 タイプ リセット 説明 31:8 予約 RO 0x0000.00 予約ビットの値はソフトウェアで使用しないでください。将来の 製品との互換性のため、予約ビットの値はリード・モディファ イ・ライト処理から保護する必要があります。7:0 PID6 RO 0x00 SSI Peripheral ID Register [23:16] このペリフェラル固有の ID です。
レジスタ 14: SSI ペリフェラル ID 7 (SSIPeriphID7)、オフセット 0xFDC
SSI の ID レジスタです。 SSI ペリフェラル ID 7 (SSIPeriphID7) SSI0 ベース: 0x4000.8000 SSI1 ベース: 0x4000.9000 オフセット 0xFDC タイプ RO、リセット 0x0000.0000 ビット / フィールド 名称 タイプ リセット 説明 31:8 予約 RO 0x0000.00 予約ビットの値はソフトウェアで使用しないでください。将来の 製品との互換性のため、予約ビットの値はリード・モディファ イ・ライト処理から保護する必要があります。7:0 PID7 RO 0x00 SSI Peripheral ID Register [31:24] このペリフェラル固有の ID です。
レジスタ 15: SSI ペリフェラル ID 0 (SSIPeriphID0)、オフセット 0xFE0
SSI の ID レジスタです。 SSI ペリフェラル ID 0 (SSIPeriphID0) SSI0 ベース: 0x4000.8000 SSI1 ベース: 0x4000.9000 オフセット 0xFE0 タイプ RO、リセット 0x0000.0022 ビット / フィールド 名称 タイプ リセット 説明 31:8 予約 RO 0x0000.00 予約ビットの値はソフトウェアで使用しないでください。将来の 製品との互換性のため、予約ビットの値はリード・モディファ イ・ライト処理から保護する必要があります。7:0 PID0 RO 0x22 SSI Peripheral ID Register [7:0] このペリフェラル固有の ID です。
レジスタ 16: SSI ペリフェラル ID 1 (SSIPeriphID1)、オフセット 0xFE4
SSI の ID レジスタです。 SSI ペリフェラル ID 1 (SSIPeriphID1) SSI0 ベース: 0x4000.8000 SSI1 ベース: 0x4000.9000 オフセット 0xFE4 タイプ RO、リセット 0x0000.0000 ビット / フィールド 名称 タイプ リセット 説明 31:8 予約 RO 0x0000.00 予約ビットの値はソフトウェアで使用しないでください。将来の 製品との互換性のため、予約ビットの値はリード・モディファ イ・ライト処理から保護する必要があります。7:0 PID1 RO 0x00 SSI Peripheral ID Register [15:8] このペリフェラル固有の ID です。
レジスタ 17: SSI ペリフェラル ID 2 (SSIPeriphID2)、オフセット 0xFE8
SSI の ID レジスタです。 SSI ペリフェラル ID 2 (SSIPeriphID2) SSI0 ベース: 0x4000.8000 SSI1 ベース: 0x4000.9000 オフセット 0xFE8 タイプ RO、リセット 0x0000.0018 ビット / フィールド 名称 タイプ リセット 説明 31:8 予約 RO 0x0000.00 予約ビットの値はソフトウェアで使用しないでください。将来の 製品との互換性のため、予約ビットの値はリード・モディファ イ・ライト処理から保護する必要があります。7:0 PID2 RO 0x18 SSI Peripheral ID Register [23:16] このペリフェラル固有の ID です。
レジスタ 18: SSI ペリフェラル ID 3 (SSIPeriphID3)、オフセット 0xFEC
SSI の ID レジスタです。 SSI ペリフェラル ID 3 (SSIPeriphID3) SSI0 ベース: 0x4000.8000 SSI1 ベース: 0x4000.9000 オフセット 0xFEC タイプ RO、リセット 0x0000.0001 ビット / フィールド 名称 タイプ リセット 説明 31:8 予約 RO 0x0000.00 予約ビットの値はソフトウェアで使用しないでください。将来の 製品との互換性のため、予約ビットの値はリード・モディファ イ・ライト処理から保護する必要があります。7:0 PID3 RO 0x01 SSI Peripheral ID Register [31:24] このペリフェラル固有の ID です。
レジスタ 19: SSI PrimeCell ID 0 (SSIPCellID0)、オフセット 0xFF0
SSI の ID レジスタです。
SSI PrimeCell ID 0 (SSIPCellID0) SSI0 ベース: 0x4000.8000 SSI1 ベース: 0x4000.9000 オフセット 0xFF0 タイプ RO、リセット 0x0000.000D ビット / フィールド 名称 タイプ リセット 説明 31:8 予約 RO 0x0000.00 予約ビットの値はソフトウェアで使用しないでください。将来の 製品との互換性のため、予約ビットの値はリード・モディファ イ・ライト処理から保護する必要があります。
7:0 CID0 RO 0x0D SSI PrimeCell ID Register [7:0] このペリフェラル固有の ID です。
レジスタ 20: SSI PrimeCell ID 1 (SSIPCellID1)、オフセット 0xFF4
SSI の ID レジスタです。
SSI PrimeCell ID 1 (SSIPCellID1) SSI0 ベース: 0x4000.8000 SSI1 ベース: 0x4000.9000 オフセット 0xFF4 タイプ RO、リセット 0x0000.00F0 ビット / フィールド 名称 タイプ リセット 説明 31:8 予約 RO 0x0000.00 予約ビットの値はソフトウェアで使用しないでください。将来の 製品との互換性のため、予約ビットの値はリード・モディファ イ・ライト処理から保護する必要があります。
7:0 CID1 RO 0xF0 SSI PrimeCell ID Register [15:8] このペリフェラル固有の ID です。
レジスタ 21: SSI PrimeCell ID 2 (SSIPCellID2)、オフセット 0xFF8
SSI の ID レジスタです。
SSI PrimeCell ID 2 (SSIPCellID2) SSI0 ベース: 0x4000.8000 SSI1 ベース: 0x4000.9000 オフセット 0xFF8 タイプ RO、リセット 0x0000.0005 ビット / フィールド 名称 タイプ リセット 説明 31:8 予約 RO 0x0000.00 予約ビットの値はソフトウェアで使用しないでください。将来の 製品との互換性のため、予約ビットの値はリード・モディファ イ・ライト処理から保護する必要があります。
7:0 CID2 RO 0x05 SSI PrimeCell ID Register [23:16] このペリフェラル固有の ID です。
レジスタ 22: SSI PrimeCell ID 3 (SSIPCellID3)、オフセット 0xFFC
SSI の ID レジスタです。
SSI PrimeCell ID 3 (SSIPCellID3) SSI0 ベース: 0x4000.8000 SSI1 ベース: 0x4000.9000 オフセット 0xFFC タイプ RO、リセット 0x0000.00B1 ビット / フィールド 名称 タイプ リセット 説明 31:8 予約 RO 0x0000.00 予約ビットの値はソフトウェアで使用しないでください。将来の 製品との互換性のため、予約ビットの値はリード・モディファ イ・ライト処理から保護する必要があります。
7:0 CID3 RO 0xB1 SSI PrimeCell ID Register [31:24] このペリフェラル固有の ID です。