Top Banner
00000-A Rev. 1.00 ルネサス エレクトロニクス株式会社 ルネサス半導体トレーニングセンター © 2013 Renesas Electronics Corporation. All rights reserved. 2013/08/02 RX63N 周辺機能紹介 RSPI ルネサスシリアルペリフェラルインタフェース
38

RX63N 周辺機能紹介 RSPI - Renesas e-Learning © 2013 Renesas Electronics Corporation. All rights reserved. シリアルペリフェラルインタフェースとは...

Apr 20, 2018

Download

Documents

buikien
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: RX63N 周辺機能紹介 RSPI - Renesas e-Learning © 2013 Renesas Electronics Corporation. All rights reserved. シリアルペリフェラルインタフェースとは モトローラ(現フリースケール・セミコンダクタ)社によって提唱されたクロッ

00000-A

Rev. 1.00

ルネサス エレクトロニクス株式会社

ルネサス半導体トレーニングセンター

© 2013 Renesas Electronics Corporation. All rights reserved.

2013/08/02

RX63N 周辺機能紹介 RSPI ルネサスシリアルペリフェラルインタフェース

Page 2: RX63N 周辺機能紹介 RSPI - Renesas e-Learning © 2013 Renesas Electronics Corporation. All rights reserved. シリアルペリフェラルインタフェースとは モトローラ(現フリースケール・セミコンダクタ)社によって提唱されたクロッ

© 2013 Renesas Electronics Corporation. All rights reserved. 2

コンテンツ

シリアルペリフェラルインタフェースの概要

RSPIの概要

プログラムサンプル

Page 3: RX63N 周辺機能紹介 RSPI - Renesas e-Learning © 2013 Renesas Electronics Corporation. All rights reserved. シリアルペリフェラルインタフェースとは モトローラ(現フリースケール・セミコンダクタ)社によって提唱されたクロッ

© 2013 Renesas Electronics Corporation. All rights reserved. 3

シリアルペリフェラルインタフェースの概要

Page 4: RX63N 周辺機能紹介 RSPI - Renesas e-Learning © 2013 Renesas Electronics Corporation. All rights reserved. シリアルペリフェラルインタフェースとは モトローラ(現フリースケール・セミコンダクタ)社によって提唱されたクロッ

© 2013 Renesas Electronics Corporation. All rights reserved. 4

シリアルペリフェラルインタフェースとは

モトローラ(現フリースケール・セミコンダクタ)社によって提唱されたクロッ

ク同期式のシリアルバス規格

SC

LK

MO

SI

MIS

O

SSL1

SSL2

SSL3

SC

LK

MO

SI

MIS

O

SSL

SC

LK

MO

SI

MIS

O

SSL

SC

LK

MO

SI

MIS

O

SSL

SPIバス

マスタ スレーブA スレーブB スレーブC

マスタがスレーブAと送受信を行う

Page 5: RX63N 周辺機能紹介 RSPI - Renesas e-Learning © 2013 Renesas Electronics Corporation. All rights reserved. シリアルペリフェラルインタフェースとは モトローラ(現フリースケール・セミコンダクタ)社によって提唱されたクロッ

© 2013 Renesas Electronics Corporation. All rights reserved. 5

SPIモード

SCLK

MOSI MISO

L SPIモード0

SCLK

MOSI MISO

L SPIモード1

SCLK

MOSI MISO

H SPIモード2

SCLK

MOSI MISO

H SPIモード3

CPOL=0(正パルス)、CPHA=0(奇数エッジでデータサンプル、偶数エッジでデータ変化)

CPOL=0(正パルス)、CPHA=1(奇数エッジでデータ変化、偶数エッジでデータサンプル)

CPOL=1(負パルス)、CPHA=0(奇数エッジでデータサンプル、偶数エッジでデータ変化)

CPOL=1(負パルス)、CPHA=1(奇数エッジでデータ変化、偶数エッジでデータサンプル)

※CPOL (Clock POLarity:極性)、CPHA (Clock PHAse:位相)、 × データサンプル

Page 6: RX63N 周辺機能紹介 RSPI - Renesas e-Learning © 2013 Renesas Electronics Corporation. All rights reserved. シリアルペリフェラルインタフェースとは モトローラ(現フリースケール・セミコンダクタ)社によって提唱されたクロッ

© 2013 Renesas Electronics Corporation. All rights reserved. 6

RSPIの概要

Page 7: RX63N 周辺機能紹介 RSPI - Renesas e-Learning © 2013 Renesas Electronics Corporation. All rights reserved. シリアルペリフェラルインタフェースとは モトローラ(現フリースケール・セミコンダクタ)社によって提唱されたクロッ

© 2013 Renesas Electronics Corporation. All rights reserved. 7

RSPIの仕様

Page 8: RX63N 周辺機能紹介 RSPI - Renesas e-Learning © 2013 Renesas Electronics Corporation. All rights reserved. シリアルペリフェラルインタフェースとは モトローラ(現フリースケール・セミコンダクタ)社によって提唱されたクロッ

© 2013 Renesas Electronics Corporation. All rights reserved.

RSPIのブロック図

モジュールデータバス バスインタフェース

周辺バス

ボーレート ジェネレータ

クロック 設定用レジスタ

PCLK

送受信 コントロール

送受信 制御用レジスタ

クロック

RSPCK

SSL1~3 SSL0 割り込み

要求

MISO

MOSI

SPTX SPRX

パリティ回路

シフトレジスタ

セレクタ

マスタ

スレーブ

マスタ

マスタ

スレーブ

8

Page 9: RX63N 周辺機能紹介 RSPI - Renesas e-Learning © 2013 Renesas Electronics Corporation. All rights reserved. シリアルペリフェラルインタフェースとは モトローラ(現フリースケール・セミコンダクタ)社によって提唱されたクロッ

© 2013 Renesas Electronics Corporation. All rights reserved. 9

プログラムサンプル

Page 10: RX63N 周辺機能紹介 RSPI - Renesas e-Learning © 2013 Renesas Electronics Corporation. All rights reserved. シリアルペリフェラルインタフェースとは モトローラ(現フリースケール・セミコンダクタ)社によって提唱されたクロッ

© 2013 Renesas Electronics Corporation. All rights reserved. 10

プログラムサンプル シングルマスタ仕様

■シングルマスタの例

下記の仕様を満たすよう送受信を行います。

仕様

・チャネル チャネル1

・動作モード シングルマスタモード(全二重) ・ビットレート 12Mbps(RSPCK:12MHz) ・SPIモード モード3 ・転送データ長 8 ・ビットの送り順 MSBファースト ・バースト転送 使用 ・遅延時間 RSPCK遅延、SSLネゲート遅延:1RSPCK 次アクセス遅延:1RSPCK+2PCLK ・端子 RSPCKB、MOSIB、MISOB、SSLB0 ・割り込み 使用せず

Page 11: RX63N 周辺機能紹介 RSPI - Renesas e-Learning © 2013 Renesas Electronics Corporation. All rights reserved. シリアルペリフェラルインタフェースとは モトローラ(現フリースケール・セミコンダクタ)社によって提唱されたクロッ

© 2013 Renesas Electronics Corporation. All rights reserved. 11

初期化フロー

初期化関数

通信形式の設定

マスタモードに設定

モジュールストップ解除

終了

SPDRのアクセスサイズ設定

ビットレートの設定

端子の設定

RSPI チャネル1

消費電力低減機能

I/Oポート

レジスタの設定が可能

Page 12: RX63N 周辺機能紹介 RSPI - Renesas e-Learning © 2013 Renesas Electronics Corporation. All rights reserved. シリアルペリフェラルインタフェースとは モトローラ(現フリースケール・セミコンダクタ)社によって提唱されたクロッ

© 2013 Renesas Electronics Corporation. All rights reserved. 12

モジュールストップコントロールレジスタB(MSTPCRB)

チャネル1使用可 C言語マクロ表記: MSTP(RSPI1) = 0;

Page 13: RX63N 周辺機能紹介 RSPI - Renesas e-Learning © 2013 Renesas Electronics Corporation. All rights reserved. シリアルペリフェラルインタフェースとは モトローラ(現フリースケール・セミコンダクタ)社によって提唱されたクロッ

© 2013 Renesas Electronics Corporation. All rights reserved. 13

PEn 端子機能制御レジスタ(PEnPFS)(n=0 ~ 7)

<仕様>

・端子 RSPCKB、MOSIB、MISOB、SSLB0

Page 14: RX63N 周辺機能紹介 RSPI - Renesas e-Learning © 2013 Renesas Electronics Corporation. All rights reserved. シリアルペリフェラルインタフェースとは モトローラ(現フリースケール・セミコンダクタ)社によって提唱されたクロッ

© 2013 Renesas Electronics Corporation. All rights reserved. 14

書き込みプロテクトレジスタ(PWPR)

Page 15: RX63N 周辺機能紹介 RSPI - Renesas e-Learning © 2013 Renesas Electronics Corporation. All rights reserved. シリアルペリフェラルインタフェースとは モトローラ(現フリースケール・セミコンダクタ)社によって提唱されたクロッ

© 2013 Renesas Electronics Corporation. All rights reserved. 15

ビットレートの設定

n: SPBRの設定値(0≦n≦255) N:分周の設定(0≦n≦3)

ビットレートレジスタ( SPBR ) コマンドレジスタの分周の設定

Page 16: RX63N 周辺機能紹介 RSPI - Renesas e-Learning © 2013 Renesas Electronics Corporation. All rights reserved. シリアルペリフェラルインタフェースとは モトローラ(現フリースケール・セミコンダクタ)社によって提唱されたクロッ

© 2013 Renesas Electronics Corporation. All rights reserved. 16

RSPI ビットレートレジスタ(SPBR)

Page 17: RX63N 周辺機能紹介 RSPI - Renesas e-Learning © 2013 Renesas Electronics Corporation. All rights reserved. シリアルペリフェラルインタフェースとは モトローラ(現フリースケール・セミコンダクタ)社によって提唱されたクロッ

© 2013 Renesas Electronics Corporation. All rights reserved. 17

ビットレート分周設定ビット(BRDV)

コマンドレジスタ0

Page 18: RX63N 周辺機能紹介 RSPI - Renesas e-Learning © 2013 Renesas Electronics Corporation. All rights reserved. シリアルペリフェラルインタフェースとは モトローラ(現フリースケール・セミコンダクタ)社によって提唱されたクロッ

© 2013 Renesas Electronics Corporation. All rights reserved. 18

通信形式の設定

SSLB0-A

1 2 3 5 7 4 6 8

開始 終了 シリアル転送期間

t1 t2 t3

RSPCKB-A

MISOB-A

MOSIB-A

RSPCK周期

データのサンプル

RSPCK=12MHz

SPIモード3 MSB LSB

t1:RSPCK遅延時間=1RSPCK t2:SSLネゲート遅延時間=1RSPCK t3:次アクセス遅延時間=1RSPCK+2PCLK

Page 19: RX63N 周辺機能紹介 RSPI - Renesas e-Learning © 2013 Renesas Electronics Corporation. All rights reserved. シリアルペリフェラルインタフェースとは モトローラ(現フリースケール・セミコンダクタ)社によって提唱されたクロッ

© 2013 Renesas Electronics Corporation. All rights reserved. 19

RSPCK位相設定ビット(CPAH)とRSPCK極性設定ビット(CPOL)

SPIモード3

RSPCKB-A

MISOB-A

MOSIB-A

コマンドレジスタ0

Page 20: RX63N 周辺機能紹介 RSPI - Renesas e-Learning © 2013 Renesas Electronics Corporation. All rights reserved. シリアルペリフェラルインタフェースとは モトローラ(現フリースケール・セミコンダクタ)社によって提唱されたクロッ

© 2013 Renesas Electronics Corporation. All rights reserved. 20

RSPIデータ長設定ビット(SPB)

コマンドレジスタ0

1 2 3 5 7 4 6 8

開始 終了 シリアル転送期間

RSPCK周期

RSPCKB-A

Page 21: RX63N 周辺機能紹介 RSPI - Renesas e-Learning © 2013 Renesas Electronics Corporation. All rights reserved. シリアルペリフェラルインタフェースとは モトローラ(現フリースケール・セミコンダクタ)社によって提唱されたクロッ

© 2013 Renesas Electronics Corporation. All rights reserved. 21

RSPI LSBファーストビット(LSBF)

MSB

MISOB-A

MOSIB-A

LSB

コマンドレジスタ0

Page 22: RX63N 周辺機能紹介 RSPI - Renesas e-Learning © 2013 Renesas Electronics Corporation. All rights reserved. シリアルペリフェラルインタフェースとは モトローラ(現フリースケール・セミコンダクタ)社によって提唱されたクロッ

© 2013 Renesas Electronics Corporation. All rights reserved. 22

SSL信号レベル保持ビット(SSLKP)

SSLKPビット = 0

転送終了

SSLKPビット = 1(バースト転送) SSLB0-A

RSPCKB-A

コマンドレジスタ0

Page 23: RX63N 周辺機能紹介 RSPI - Renesas e-Learning © 2013 Renesas Electronics Corporation. All rights reserved. シリアルペリフェラルインタフェースとは モトローラ(現フリースケール・セミコンダクタ)社によって提唱されたクロッ

© 2013 Renesas Electronics Corporation. All rights reserved. 23

RSPCK遅延設定許可ビット(SCKDEN)

コマンドレジスタ0

SSLB0-A

t1

RSPCKB-A

t1:RSPCK遅延時間=1RSPCK

Page 24: RX63N 周辺機能紹介 RSPI - Renesas e-Learning © 2013 Renesas Electronics Corporation. All rights reserved. シリアルペリフェラルインタフェースとは モトローラ(現フリースケール・セミコンダクタ)社によって提唱されたクロッ

© 2013 Renesas Electronics Corporation. All rights reserved. 24

SSLネゲート遅延設定許可ビット(SLNDEN)

コマンドレジスタ0

SSLB0-A

RSPCKB-A

t2:SSLネゲート遅延時間=1RSPCK t2

Page 25: RX63N 周辺機能紹介 RSPI - Renesas e-Learning © 2013 Renesas Electronics Corporation. All rights reserved. シリアルペリフェラルインタフェースとは モトローラ(現フリースケール・セミコンダクタ)社によって提唱されたクロッ

© 2013 Renesas Electronics Corporation. All rights reserved. 25

RSPI次アクセス遅延設定許可ビット(SPNDEN)

コマンドレジスタ0

SSLB0-A

RSPCKB-A

t3:SSLネゲート遅延時間=1RSPCK t3

Page 26: RX63N 周辺機能紹介 RSPI - Renesas e-Learning © 2013 Renesas Electronics Corporation. All rights reserved. シリアルペリフェラルインタフェースとは モトローラ(現フリースケール・セミコンダクタ)社によって提唱されたクロッ

© 2013 Renesas Electronics Corporation. All rights reserved. 26

RSPI データレジスタ(SPDR)

モジュールデータバス

SPTX SPRX SPDRにマッピング

SPDRのライト SPDRのリード

ワードアクセス

ロングワードアクセス

SPDRのアクセスサイズ≧転送データ長

Page 27: RX63N 周辺機能紹介 RSPI - Renesas e-Learning © 2013 Renesas Electronics Corporation. All rights reserved. シリアルペリフェラルインタフェースとは モトローラ(現フリースケール・セミコンダクタ)社によって提唱されたクロッ

© 2013 Renesas Electronics Corporation. All rights reserved. 27

RSPI データコントロールレジスタ(SPDCR)

Page 28: RX63N 周辺機能紹介 RSPI - Renesas e-Learning © 2013 Renesas Electronics Corporation. All rights reserved. シリアルペリフェラルインタフェースとは モトローラ(現フリースケール・セミコンダクタ)社によって提唱されたクロッ

© 2013 Renesas Electronics Corporation. All rights reserved. 28

RSPI 制御レジスタ(SPCR) -マスタモードの設定-

設定後はリードすること

Page 29: RX63N 周辺機能紹介 RSPI - Renesas e-Learning © 2013 Renesas Electronics Corporation. All rights reserved. シリアルペリフェラルインタフェースとは モトローラ(現フリースケール・セミコンダクタ)社によって提唱されたクロッ

© 2013 Renesas Electronics Corporation. All rights reserved. 29

RSPIのシングルマスタ動作の初期化関数

void init_RSPI1(void) { uint8_t dummy; // Wakeup RSPI1 MSTP(RSPI1) = 0; // RSPCKB, MOSIB, MISOB,SSLB0 pin is enabled MPC.PWPR.BYTE = 0x40; MPC. PE4PFS.BIT.PSEL = 0xB; MPC. PE5PFS.BIT.PSEL = 0xB; MPC. PE6PFS.BIT.PSEL = 0xB; MPC. PE7PFS.BIT.PSEL = 0xB; // SPDR is accessed in longwords RSPI1.SPDCR.BIT.SPLW = 1; // set for bitrate RSPI1.SPBR.BYTE = 1; // SPCMD0 settings RSPI1.SPCMD0.WORD = 0x0783; // set to master mode RSPI1.SPCR.BIT.MSTR = 1; // dummy read dummy = RSPI1.SPCR.BIT.MSTR }

初期化関数

転送フォーマットの設定

マスタモードに設定

モジュールストップ解除

終了

SPDRのアクセスサイズ設定

ビットレートの設定

端子の設定

Page 30: RX63N 周辺機能紹介 RSPI - Renesas e-Learning © 2013 Renesas Electronics Corporation. All rights reserved. シリアルペリフェラルインタフェースとは モトローラ(現フリースケール・セミコンダクタ)社によって提唱されたクロッ

© 2013 Renesas Electronics Corporation. All rights reserved. 30

マスタ送受信関数仕様

宣言

説明

引数

戻り値

uint8_t communicate8bit( uint8_t transmit );

引数で指定した8ビットデータを送信し、受信した8ビットデータをリターンする。

uint8_t transmit

8ビット受信データ

注意事項 全二重通信を行い、受信エラーは考慮しない。

8ビット送信データ

概要 8ビットデータの送受信

※uint8_t(unsigned char)

Page 31: RX63N 周辺機能紹介 RSPI - Renesas e-Learning © 2013 Renesas Electronics Corporation. All rights reserved. シリアルペリフェラルインタフェースとは モトローラ(現フリースケール・セミコンダクタ)社によって提唱されたクロッ

© 2013 Renesas Electronics Corporation. All rights reserved. 31

マスタ送受信関数のフロー

マスタ送受信関数

SPDRへ書き込み(送信)

終了

SPDRの読み出し(受信)

受信完了? no

yes

送信が不要な場合も、 ダミーデータを書き込む

受信が不要な場合も、 ダミーリードを行う

Page 32: RX63N 周辺機能紹介 RSPI - Renesas e-Learning © 2013 Renesas Electronics Corporation. All rights reserved. シリアルペリフェラルインタフェースとは モトローラ(現フリースケール・セミコンダクタ)社によって提唱されたクロッ

© 2013 Renesas Electronics Corporation. All rights reserved. 32

SPDRの書き込みと読み込み

SPDR

書き込みデータ

32ビット

送信データ

8ビット

SPDR

読み出しデータ

32ビット

受信データ

8ビット

Page 33: RX63N 周辺機能紹介 RSPI - Renesas e-Learning © 2013 Renesas Electronics Corporation. All rights reserved. シリアルペリフェラルインタフェースとは モトローラ(現フリースケール・セミコンダクタ)社によって提唱されたクロッ

© 2013 Renesas Electronics Corporation. All rights reserved. 33

RSPI ステータスレジスタ(SPSR)

データ通信開始

SPDRへ書き込み(送信)

データ通信終了

SPDRの読み出し(受信)

受信完了? no

yes

Page 34: RX63N 周辺機能紹介 RSPI - Renesas e-Learning © 2013 Renesas Electronics Corporation. All rights reserved. シリアルペリフェラルインタフェースとは モトローラ(現フリースケール・セミコンダクタ)社によって提唱されたクロッ

© 2013 Renesas Electronics Corporation. All rights reserved. 34

マスタ送受信関数

uint8_t communicate8bit( uint8_t transmit ) { uint32_t receive; // start communication RSPI1.SPDR.LONG = (uint32_t) transmit; // wait for end of communication while( RSPI1.SPSR.BIT.SPRF != 1 ); // read receive data receive = RSPI1.SPDR.LONG; return (uint8_t) (receive & 0xFF ); }

マスタ送受信関数

SPDRへ書き込み(送信)

終了

SPDRの読み出し(受信)

受信完了? no

yes

Page 35: RX63N 周辺機能紹介 RSPI - Renesas e-Learning © 2013 Renesas Electronics Corporation. All rights reserved. シリアルペリフェラルインタフェースとは モトローラ(現フリースケール・セミコンダクタ)社によって提唱されたクロッ

© 2013 Renesas Electronics Corporation. All rights reserved. 35

マスタ送受信関数の使用フロー

送信するデータがある?

RSPI機能を無効に設定

開始

終了

マスタ送受信関数

NO

yes

RSPI機能を有効に設定

クロックとデータの ビットずれ防止

Page 36: RX63N 周辺機能紹介 RSPI - Renesas e-Learning © 2013 Renesas Electronics Corporation. All rights reserved. シリアルペリフェラルインタフェースとは モトローラ(現フリースケール・セミコンダクタ)社によって提唱されたクロッ

© 2013 Renesas Electronics Corporation. All rights reserved. 36

RSPI 制御レジスタ(SPCR) -RSPI機能有効ビット-

送受信する前

送受信した後

Page 37: RX63N 周辺機能紹介 RSPI - Renesas e-Learning © 2013 Renesas Electronics Corporation. All rights reserved. シリアルペリフェラルインタフェースとは モトローラ(現フリースケール・セミコンダクタ)社によって提唱されたクロッ

© 2013 Renesas Electronics Corporation. All rights reserved. 37

マスタ送受信関数の使用

void sample(void) { uint8_t send[16] = {‘0’, ‘1’, ‘2’, ・・・ ‘F’}; uint8_t receive[16]; int i; // enable RSPI1.SPCR.BIT.SPE = 1; for(i=0; i<16; i++){ receive[i] = communicate8bit( send[i] ); } // disable RSPI1.SPCR.BIT.SPE = 0; }

送信するデータがある?

RSPI機能を無効に設定

開始

終了

マスタ送受信関数

NO

yes

RSPI機能を有効に設定

例:16バイトの送受信

Page 38: RX63N 周辺機能紹介 RSPI - Renesas e-Learning © 2013 Renesas Electronics Corporation. All rights reserved. シリアルペリフェラルインタフェースとは モトローラ(現フリースケール・セミコンダクタ)社によって提唱されたクロッ

ルネサス エレクトロニクス株式会社 © 2013 Renesas Electronics Corporation. All rights reserved.

END