6

Similar documents
スライド 1

13 Analog-to-Digital Converter (ADC)

SOPC Builder ペリフェラル 簡易ユーザ・ガイド - PIO (Parallel I/O)

6

13 Analog-to-Digital Converter (ADC)

スライド 1

データ収集用 NIM/CAMAC モジュールマニュアル 2006/5/23 目次 クレート コントローラ CC/ NIM ADC 1821 (Seiko EG&G)...3 ADC インターフェイス U デッドタイム

Nios II - PIO を使用した I2C-Bus (2ワイヤ)マスタの実装

Jan/25/2019 errata_c17m11_10 S1C17 マニュアル正誤表 項目 リセット保持時間 対象マニュアル発行 No. 項目ページ S1C17M10 テクニカルマニュアル システムリセットコントローラ (SRC) 特性 19-3 S1C17M20/M

I2Cコントローラ、ハード・プロセッサ・システム(HPS)のテクニカル・リファレンス・マニュアル(TRM)

81 /******************************************************************************/ 82 /* スレーブアドレスの設定 */ 83 /*****************************************

スライド 1

6

LaunchPadベースのMSP430 UART BSLインターフェイス

Microsoft PowerPoint - RL78G14_動画マニュアル_タイマRD.ppt [互換モード]

QuartusII SOPC_Builderで利用できるGPIF-AVALONブリッジとは?

AN-1077: ADXL345 Quick Start Guide

スライド 1

1. 使用する信号 1.1. UART 信号 UART 通信に使用する信号と接続相手との接続は以下の通りです UART 信号表 番号 CPU 機能名 CPU 信号名 基板コネクタピン番号 方向 接続相手の信号名 1 USART1_TX PA9 CN > RxD 2 USART1_R

NANDフラッシュ・コントローラ、ハード・プロセッサ・システム(HPS)のテクニカル・リファレンス・マニュアル(TRM)

-2 外からみたプロセッサ GND VCC CLK A0 A1 A2 A3 A4 A A6 A7 A8 A9 A10 A11 A12 A13 A14 A1 A16 A17 A18 A19 D0 D1 D2 D3 D4 D D6 D7 D8 D9 D10 D11 D12 D13 D14 D1 MEMR

スライド 1

arduino プログラミング課題集 ( Ver /06/01 ) arduino と各種ボードを組み合わせ 制御するためのプログラミングを学 ぼう! 1 入出力ポートの設定と利用方法 (1) 制御( コントロール ) する とは 外部装置( ペリフェラル ) が必要とする信号をマイ

CoIDE 用 F4D_VCP の説明 V /07/05 USB の VCP( 仮想 COM ポート ) による非同期シリアル通信を行うプログラムです Free の開発ツール CoIDE で作成した STM32F4 Discovery 用のプロジェクトです プログラムの開始番地は 0x

MODBUS ユーザーズマニュアル 페이지 1 / 23

Microsoft Word - dg_sataahciip_refdesign_jp.doc

1. USB の VCP( 仮想 COM ポート ) について USB の VCP( 仮想 COM ポート ) は USB を非同期シリアル通信として使用するための USB のドライバです PC には VCP ドライバをインストールする必要があります USB の VCP( 仮想 COM ポート )

Notes and Points for TMPR454 Flash memory

App Note Template

2.RL78 での割り込み処理 ( 割り込み受け付け ) マスクが解除された (xxmk ビットが 0 の ) 割り込み要求信号は 2 つの用途で使用されます 一つ目は,CPU のスタンバイ状態の解除です この動作は, 割り込み優先順位とは全く無関係で, マスクされていない (xxmk=0 の )

PLCシリアル通信 MODBUS通信 データ送信/受信プログラム例

スライド 1

Section 36. Programmable Cyclic Redundancy Check (CRC)

変更履歴 Revision 日付 内容 /10/10 初版 /10/24 車載関連説明文削除 /10/06 会社所在地を本社に修正 2

アナログ・接点変換器

PIC24F Reference Manual Sect.23

IrDA型赤外線タグ仕様

RTC_STM32F4 の説明 2013/10/20 STM32F4 内蔵 RTC の日付 時刻の設定および読み込みを行うプログラムです UART2( 非同期シリアル通信ポート 2) を使用して RTC の設定および読み込みを行います 無料の開発ツール Atollic TrueSTUDIO for

Introducing_SPIStorm-JP

Cyclone III デバイス・ファミリの メモリ・ブロック

スライド 1

Microsoft Word - SUA007

目次 1 I2Cとは 13 結線写真 2 センサの多くがI2Cに対応 14 WHO_AM_I 3 マイコンでのI2C通信例 15 I2C読込みプログラム 4 とは 16 I2C読込みスクリプト概要① 5 タイミングパラメータ 17 I2C読込みスクリプト概要② 6 書込み 18 センサ読込みプログラ

SAC (Jap).indd

PowerPoint プレゼンテーション

Microsoft Word - PCI-X_PCIeバスのデータ転送-ver1.0.docx

TMSx70 MCU の RTI(リアルタイム割り込み)を使用してオペレーティングシステムの Tick を発生させる方法

CMOS リニアイメージセンサ用駆動回路 C CMOS リニアイメージセンサ S 等用 C は当社製 CMOSリニアイメージセンサ S 等用に開発された駆動回路です USB 2.0インターフェースを用いて C と PCを接続

Microsoft Word - FCTT_CS_Mod( )Jver1.doc

1. A/D 入力について分解能 12bit の A/D コンバータ入力です A/D 入力電圧とディジタル値との対応は理論上 入力電圧 0V : 0 入力電圧 +3V : 4095 です 実際はオフセットと傾きがあり ぴったりこの数値にはなりません 2. A/D 入力に使用する信号 STM32L_A

TD-UARTip 設計仕様書

RL78開発環境移行ガイド R8C/M16C, H8S/H8SXからRL78への移行(統合開発環境編)(High-performance Embedded Workshop→CS+)

RH850の割り込み/例外実現方法 CC-RHアプリケーションガイド

ハード・プロセッサ・システム (HPS)のテクニカル・リファランス・マニュアル (TRM) 、第12章:クワッドSPIフラッシュ・コントローラ

CANコントローラ、ハード・プロセッサ・システム(HPS)のテクニカル・リファレンス・マニュアル(TRM)

6

本資料のご使用につきましては 次の点にご留意願います 本資料の内容については 予告無く変更することがあります 1. 本資料の一部 または全部を弊社に無断で転載 または 複製など他の目的に使用することは堅くお断りいたします 2. 本資料に掲載される応用回路 プログラム 使用方法等はあくまでも参考情報で

株式会社日新テクニカ USB シリアル CAN 変換器 /8/22 ホームページ : メール

内容 1. APX-3302 の特長 APX-3312 から APX-3302 へ変更するためには 差分詳細 ハードウェア ハードウェア性能および仕様 ソフトウェア仕様および制限 Ini ファイルの設

Microsoft PowerPoint - kougi7.ppt

CoIDE 用 STM32F4_UART2 の説明 V /03/30 STM32F4 Discovery の非同期シリアル通信ポート UART2 の送受信を行うプログラムです Free の開発ツール CoIDE で作成したプロジェクトサンプルです プログラムの開始番地は 0x08000

Report Template

ヤマハDante機器と他社AES67機器の接続ガイド

このダイナミックリンクライブラリ GaugeC48.dll は 8CH から 48CH 用の DigitalGaugeCounterDG3000 シリーズ共通の DLL です この説明書は GaugeC48.dll を使ったアプリケーションを作成するためのものです 開発環境は MicrosoftVi

WAGO PROFIBUS バスカプラ/コントローラと、QJ71PB92Dとのコンフィグレーションマニュアル

ターゲット項目の設定について

PIC24F Family Reference Manual Section 9 WDT

(Microsoft Word - \216\346\220\340SiTCP-VME-Master\(Rev26\).doc)

電気的特性 (Ta=25 C) 項目 記号 条件 Min. Typ. Max. 単位 読み出し周波数 * 3 fop khz ラインレート * Hz 変換ゲイン Gc ゲイン =2-5 - e-/adu トリガ出力電圧 Highレベル Vdd V -

出 アーキテクチャ 誰が 出 装置を制御するのか 1

CCD リニアイメージセンサ用駆動回路 C CCD リニアイメージセンサ (S11155/S ) 用 C は 当社製 CCDリニアイメージセンサ S11155/S 用に開発された駆動回路です S11155/S11156-

アプリケーション インスペクションの特別なアクション(インスペクション ポリシー マップ)

Microsoft Word - 7_rusb.doc

1. プログラム実行時の動作プログラムを実行すると以下のように動作します 1) NUCLEO-F401RE 上の LED LD2( 緑 ) が 200mSec 間隔で点滅します 2. プロジェクトの構成 2.1. プロジェクト F401N_BlinkLD2 の起動画面 TrueSTUDIO で作成し

8ビットデータバスでアクセスする場合は、16ビットレジスタを上位バイト、下位バイトに分けてアクセスします

6

CS-3000/5000 用 LabView ドライバ 取扱説明書 第 1 版 2014/7/28 岩通計測株式会社 1. 使用条件 a. 装置 : 岩通計測製 CS-3000/CS-5000 シリーズ b. 動作確認 PC/OS:IBM PC/AT 互換機 マイクロソフト Windows7 c.p

ウォッチドッグ・タイマ、ハード・プロセッサ・システム(HPS)のテクニカル・リファレンス・マニュアル(TRM)

スライド 1

Microsoft Word - dg_sata_achi_ip_data_sheet_jp.doc

VLSI工学

PowerPoint Presentation

スライド 1

(Microsoft Word - JE000250_\203\312TURTLE-RWModbusTCP\220\332\221\261\220\340\226\276\217\221\(4\224\305\).doc)

PowerPoint Presentation

CommCheckerManual_Ver.1.0_.doc

TFTP serverの実装

VelilogHDL 回路を「言語」で記述する

増設メモリ 1. 機能 型名 N N N N N GB 16GB 3 (x2 枚 ) (x2 枚 ) (x2 枚 ) (8GBx2 枚 ) (16GBx2 枚 ) DDR3-1066(PC3-8500) 動作クロック

Microsoft PowerPoint - 3.3タイミング制御.pptx

増設メモリ 1. 機能 型名 N N N (x1 枚 ) (x1 枚 ) (x1 枚 ) DDR3-1333(PC ) SDRAM-DIMM, Unbuffered,ECC 動作クロック 667MHz( 差動 ) 1.5V 型名 N8102

(Microsoft Word -

1. UART について UART は Universal Asynchronous Receiver Transmitter の頭文字をとったもので 非同期シリアル通信と呼ばれます シリアル通信とは 一本の信号線でデータをやりとりするために 1bit ずつデータを送出することをいいます データを受

QuartusII SOPC_Builderで利用できるGPIF-AVALONブリッジとは?

PCI-Express ハード IP を使用した DMA 転送の実現 for Cyclone V GT FPGA 開発キット(ハードウェア編)

増設メモリ 1. 機能 型名 N8102-G342 N8102-G343 N8102-G344 1GB (1GBx1 枚 ) (x1 枚 ) (x1 枚 ) SDRAM-DIMM, Unbuffered,ECC 1.5V 型名 N N N (1GBx1

増設メモリ (2010/06/17)

問 2. タイミングチャート以下に示す VHDL コードで記述されている回路に関するタイミングチャートを完成させよ ) レジスタの動作 use IEEE.std_logic_64.all; entity RegN is generic (N : integer := 8 port ( CLK, EN

SiTCP ユーティリティユーザガイド 2014 年 6 月 18 日 0.73 版 Bee Beans Technologies 1

35.STM32L4-Peripheral-SDMMC interface (SDMMC) Final_JP

Transcription:

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 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 つ以上の空きがある場合にアサートされる送信バースト リクエスト Stellaris LM3S9B96 Microcontroller Data Sheet (Rev. D) 15 章翻訳版

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)) を参照してください 2

表 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 SSI1Fss SSI1Rx SSI1Tx 60 74 76 59 63 75 42 62 95 15 41 96 PF2 (9) PE0 (2) PH4 (11) PF3 (9) PH5 (11) PE1 (2) PF4 (9) PH6 (11) PE2 (2) PH7 (11) PF5 (9) PE3 (2) a. TTL は ピンが TTL 互換の電圧レベルを持つことを示します I/O TTL SSI モジュール 1 クロック I/O TTL SSI モジュール 1 フレーム I TTL SSI モジュール 1 受信 O TTL SSI モジュール 1 送信 表 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 SSI1Fss SSI1Rx SSI1Tx J11 B11 B10 J12 F10 A12 K4 G3 A4 H3 K3 B4 PF2 (9) PE0 (2) PH4 (11) PF3 (9) PH5 (11) PE1 (2) PF4 (9) PH6 (11) PE2 (2) PH7 (11) PF5 (9) PE3 (2) a. TTL は ピンが TTL 互換の電圧レベルを持つことを示します I/O TTL SSI モジュール 1 クロック I/O TTL SSI モジュール 1 フレーム I TTL SSI モジュール 1 受信 O TTL SSI モジュール 1 送信 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 割り込み SSI は 次に示す割り込みを生成することが可能です 4

送信 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 同期式シリアル フレームフォーマット ( 連続送信 ) 6

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 後 送受信が開始されま 8

す また 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 がローレベルに保持されます 転送の終了は シングル転送の場合と同じです 10

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 割り込みベクタに対して起動されます したがっ 12

て 割り込みが必要で かつ μ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がイネーブルになります 14

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) オフセット 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 ビット データ 16

0x6 0x7 0x8 0x9 0xA 0xB 0xC 0xD 0xE 0xF 7 ビット データ 8 ビット データ 9 ビット データ 10 ビット データ 11 ビット データ 12 ビット データ 13 ビット データ 14 ビット データ 15 ビット データ 16 ビット データ [ テキストを入力してください ]

レジスタ 2: SSI コントロール 1 (SSICR1) オフセット 0x004 マスタ モードとスレーブ モードの機能を設定します SSI コントロール 1 (SSICR1) オフセット 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 にクリ アして下さい 18

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) オフセット 0x008 タイプ R/W リセット 0x0000.0000 31:16 予約 RO 0x0000 予約ビットの値はソフトウェアで使用しないでください 将来の製品との互換性のため 予約ビットの値はリード モディファイ ライト処理から保護する必要があります 15:0 DATA R/W 0x0000 SSI Receive/Transmit Data リードすると 受信 FIFO のデータが読み出されます ライトすると 送信 FIFO にデータを書き込みます 16 ビットより小さいデータの設定の場合は データは右詰めにして下さい 送信ロジックでは先頭の未使用ビットを無視します 受信ロジックでは自動的にデータを右詰めします 20

レジスタ 4: SSI ステータス (SSISR) オフセット 0x00C FIFO のステータスと SSI のビジーステータスを示します SSI ステータス (SSISR) オフセット 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) オフセット 0x010 タイプ R/W リセット 0x0000.0000 名称 タイプ リセット 説明 31:8 予約 RO 0x00 予約ビットの値はソフトウェアで使用しないでください 将来の製品との互換性のため 予約ビットの値はリード モディファイ ライト処理から保護する必要があります 7:0 CPSDVSR R/W 0x00 SSI Clock Prescale Divisor 使用する SSIClk の周波数に合わせて 2~254 の偶数値を設定して下さい 読み出すと LSB は常に 0 です 22

レジスタ 6: SSI 割り込みマスク (SSIIM) オフセット 0x014 割り込みマスクの設定を行います 読み出し / 書き込み可能なレジスタであり すべてのビットはリセット時に 0 にクリアされます 読み出すと 割り込みマスクの現在の設定が読み出されます マスクビットを 1 にセットするとマスクが設定され 割り込みが割り込みコントローラに対して通知されません マスクビットを 0 にクリアするとマスクがクリアされ 割り込みコントローラに割り込みが送信できるようになります SSI 割り込みマスク (SSIIM) オフセット 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) オフセット 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 にクリアされます 24

レジスタ 8: SSI マスク割り込みステータス (SSIMIS) オフセット 0x01C 読み出すと 割り込みのマスク ステータスが読み出されます 書き込みは無効です SSI マスク割り込みステータス (SSIMIS) オフセット 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) オフセット 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 にクリアされます 26

レジスタ 10: SSI DMA コントロール (SSIDMACTL) オフセット 0x024 μdma の制御レジスタです SSI DMA コントロール (SSIDMACTL) オフセット 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) オフセット 0xFD0 タイプ RO リセット 0x0000.0000 31:8 予約 RO 0x0000.00 予約ビットの値はソフトウェアで使用しないでください 将来の製品との互換性のため 予約ビットの値はリード モディファイ ライト処理から保護する必要があります 7:0 PID4 RO 0x00 SSI Peripheral ID Register [7:0] このペリフェラル固有の ID です 28

レジスタ 12: SSI ペリフェラル ID 5 (SSIPeriphID5) オフセット 0xFD4 SSI の ID レジスタです SSI ペリフェラル ID 5 (SSIPeriphID5) オフセット 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) オフセット 0xFD8 タイプ RO リセット 0x0000.0000 31:8 予約 RO 0x0000.00 予約ビットの値はソフトウェアで使用しないでください 将来の製品との互換性のため 予約ビットの値はリード モディファイ ライト処理から保護する必要があります 7:0 PID6 RO 0x00 SSI Peripheral ID Register [23:16] このペリフェラル固有の ID です 30

レジスタ 14: SSI ペリフェラル ID 7 (SSIPeriphID7) オフセット 0xFDC SSI の ID レジスタです SSI ペリフェラル ID 7 (SSIPeriphID7) オフセット 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) オフセット 0xFE0 タイプ RO リセット 0x0000.0022 31:8 予約 RO 0x0000.00 予約ビットの値はソフトウェアで使用しないでください 将来の製品との互換性のため 予約ビットの値はリード モディファイ ライト処理から保護する必要があります 7:0 PID0 RO 0x22 SSI Peripheral ID Register [7:0] このペリフェラル固有の ID です 32

レジスタ 16: SSI ペリフェラル ID 1 (SSIPeriphID1) オフセット 0xFE4 SSI の ID レジスタです SSI ペリフェラル ID 1 (SSIPeriphID1) オフセット 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) オフセット 0xFE8 タイプ RO リセット 0x0000.0018 31:8 予約 RO 0x0000.00 予約ビットの値はソフトウェアで使用しないでください 将来の製品との互換性のため 予約ビットの値はリード モディファイ ライト処理から保護する必要があります 7:0 PID2 RO 0x18 SSI Peripheral ID Register [23:16] このペリフェラル固有の ID です 34

レジスタ 18: SSI ペリフェラル ID 3 (SSIPeriphID3) オフセット 0xFEC SSI の ID レジスタです SSI ペリフェラル ID 3 (SSIPeriphID3) オフセット 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) オフセット 0xFF0 タイプ RO リセット 0x0000.000D 31:8 予約 RO 0x0000.00 予約ビットの値はソフトウェアで使用しないでください 将来の製品との互換性のため 予約ビットの値はリード モディファイ ライト処理から保護する必要があります 7:0 CID0 RO 0x0D SSI PrimeCell ID Register [7:0] このペリフェラル固有の ID です 36

レジスタ 20: SSI PrimeCell ID 1 (SSIPCellID1) オフセット 0xFF4 SSI の ID レジスタです SSI PrimeCell ID 1 (SSIPCellID1) オフセット 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) オフセット 0xFF8 タイプ RO リセット 0x0000.0005 31:8 予約 RO 0x0000.00 予約ビットの値はソフトウェアで使用しないでください 将来の製品との互換性のため 予約ビットの値はリード モディファイ ライト処理から保護する必要があります 7:0 CID2 RO 0x05 SSI PrimeCell ID Register [23:16] このペリフェラル固有の ID です 38

レジスタ 22: SSI PrimeCell ID 3 (SSIPCellID3) オフセット 0xFFC SSI の ID レジスタです SSI PrimeCell ID 3 (SSIPCellID3) オフセット 0xFFC タイプ RO リセット 0x0000.00B1 31:8 予約 RO 0x0000.00 予約ビットの値はソフトウェアで使用しないでください 将来の製品との互換性のため 予約ビットの値はリード モディファイ ライト処理から保護する必要があります 7:0 CID3 RO 0xB1 SSI PrimeCell ID Register [31:24] このペリフェラル固有の ID です [ テキストを入力してください ]