24
2014 Microchip Technology Inc. DS70005145B_JP - p. 1 ハイライト 本セクションには下記の主要項目を記載しています。 1.0 はじめに ........................................................................................................................................ 2 2.0 レジスタ ........................................................................................................................................ 3 3.0 プロトコルの概要 ........................................................................................................................ 8 4.0 送信モード .................................................................................................................................... 9 5.0 受信モード .................................................................................................................................. 15 6.0 割り込み ...................................................................................................................................... 19 7.0 省電力モード中の動作 .............................................................................................................. 19 8.0 リセットの影響 .......................................................................................................................... 19 9.0 レジスタマップ .......................................................................................................................... 20 10.0 関連アプリケーション ノート ................................................................................................. 21 11.0 参考資料 ...................................................................................................................................... 21 12.0 改訂履歴 ...................................................................................................................................... 22 SENT (Single-Edge Nibble Transmission) モジュール 注意 : この日本語版文書は参考資料としてご利用ください。最新情報 は必ずオリジナルの英語版をご参照願います。

SENT (Single-Edge Nibble Transmission) モジュールww1.microchip.com/downloads/jp/DeviceDoc/70005145B_JP.pdf-n = POR 時の値 1 = ビットはセット 0 = ビットはクリア

  • Upload
    vukien

  • View
    249

  • Download
    4

Embed Size (px)

Citation preview

Page 1: SENT (Single-Edge Nibble Transmission) モジュールww1.microchip.com/downloads/jp/DeviceDoc/70005145B_JP.pdf-n = POR 時の値 1 = ビットはセット 0 = ビットはクリア

SENT (Single-Edge Nibble Transmission) モジュール

注意 : この日本語版文書は参考資料としてご利用ください。最新情報は必ずオリジナルの英語版をご参照願います。

ハイライト

本セクションには下記の主要項目を記載しています。

1.0 はじめに ........................................................................................................................................2

2.0 レジスタ ........................................................................................................................................3

3.0 プロトコルの概要 ........................................................................................................................8

4.0 送信モード ....................................................................................................................................9

5.0 受信モード ..................................................................................................................................15

6.0 割り込み ......................................................................................................................................19

7.0 省電力モード中の動作 ..............................................................................................................19

8.0 リセットの影響 ..........................................................................................................................19

9.0 レジスタマップ ..........................................................................................................................20

10.0 関連アプリケーション ノート .................................................................................................21

11.0 参考資料 ......................................................................................................................................21

12.0 改訂履歴 ......................................................................................................................................22

2014 Microchip Technology Inc. DS70005145B_JP - p. 1

Page 2: SENT (Single-Edge Nibble Transmission) モジュールww1.microchip.com/downloads/jp/DeviceDoc/70005145B_JP.pdf-n = POR 時の値 1 = ビットはセット 0 = ビットはクリア

dsPIC33/PIC24 ファミリ リファレンス マニュアル

1.0 はじめに

SENT は SAE J2716 の「SENT – Single-Edge Nibble Transmission for Automotive Applications」に基づく単方向 / 単線式通信プロトコルです。このプロトコルは信号値のポイント ツー ポイント送信を目的に設計され、一連の立ち下がりエッジに基づく信号システムを使います。SENTは既存のシリアルデータ ソリューションよりも低コストで高分解能データ転送を可能にします。SENT はデータをセンサからエンジン制御ユニット (ECU) 等のセントラル コントローラへ伝送する必要があるアプリケーションを主な用途とします。

16 ビット SENT モジュールは SAE J2716 に基づく専用ハードウェアです。このモジュールは以下の 3 つの主要モード向けに設定できます。

• 非同期トランスミッタ ( 既定値 )

• 同期トランスミッタ

• レシーバ

このモジュールは以下の機能も備えています。

• 自動データレート同期

• 受信モード中の CRC エラー自動検出 ( オプション )

• 送信モード中のハードウェアによる CRC 計算 ( オプション )

• ポーズパルス ( オプション ) のサポート

• 1 メッセージ フレームのデータ バッファリング

• 1 ~ 6 ニブルの範囲で選択可能な送受信データ長

• フレーミング エラーの自動検出

• ペリフェラルピン セレクト (PPS) を備えるデバイスでは、入力機能と出力機能を別々にピン割り当て可能

図 1-1 に、SENT モジュールの概要を示します。

図 1-1: SENTx モジュールのブロック図

SENTxCON3

SENTxCON2 SENTxSYNC

Sync Period

Nibble PeriodDetector

SENTxDATH/L

Control andError Detection

SENTxSTATSENTxCON1

SENTxTX

EdgeDetect Detector

Edge

Timing

OutputDriver

トランスミッタ専用レシーバ専用 共通凡例 :

SENTxRX

Tick PeriodGenerator

SENTx EdgeControl

DS70005145B_JP - p. 2 2014 Microchip Technology Inc.

Page 3: SENT (Single-Edge Nibble Transmission) モジュールww1.microchip.com/downloads/jp/DeviceDoc/70005145B_JP.pdf-n = POR 時の値 1 = ビットはセット 0 = ビットはクリア

SENT モジュール

2.0 レジスタ

各 SENT モジュールは以下のレジスタを備えます (「x」はモジュール番号 )。

• SENTxCON1: コンフィグレーションとセットアップ制御

• SENTxCON2: 送信モードでは TICKTIME<15:0> ビットを格納し、受信モードでは YNCMAX<15:0> ビットを格納

• SENTxCON3: 送信モードでは FRAMETIME<15:0> ビットを格納し、受信モードでは SYNCMIN<15:0> ビットを格納

• SENTxSTAT: ステータス情報

• SENTxSYNC: 受信モード中にキャプチャした同期時間

• SENTxDATH/L: メッセージ フレーム ニブルデータ

2.1 制御レジスタ

SENTxCON1 レジスタ ( レジスタ 2-1) は送信 / 受信モード選択、データ長、送信極性、CRC チェックサム計算を含むモジュールの大部分の機能を制御します。SNTEN ビット (SENTxCON1<15>)をセットするとモジュールは有効になります。

SENTxSTAT レジスタ ( レジスタ 2-2) は送信および受信モードの両方で動作ステータスを示します。同期送信モード中にデータ送信をトリガするために使う SYNCTXEN (SENTxSTAT<0>)以外の全てのビットは読み出し専用です。

2.2 制御レジスタ ( データ値専用 )

モジュール動作の中心となるデータ値の保存用に 2 つのレジスタを使います。これらは個々の制御ビットを格納しません。これらのレジスタの使用方法については、4.0「送信モード」と5.0「受信モード」で詳しく説明します。

SENTxCON2 レジスタは 16 ビットの読み書き可能レジスタです。送信モードの場合、このレジスタは TICKTIME<15:0> の 16 ビット値 ( ティック クロック ジェネレータの周期 ) を保存します。受信モードの場合、このレジスタは SYNCMAX<15:0> の 16 ビット値 ( 同期パルスの最大許容時間 ) を保存します。

SENTxCON3 レジスタも 16 ビットの読み書き可能レジスタです。送信モードの場合、このレジスタは FRAMETIME<15:0> の 16 ビット値 ( ポーズパルスを使う場合のデータフレームの総ティック数 ) を保存します。受信モードの場合、このレジスタは SYNCMIN<15:0> の 16 ビット値 ( 同期パルスの最小許容時間 ) を保存します。

2.3 データレジスタ

SENTxSYNC レジスタは 16 ビットの読み書き可能レジスタです。送信モード中に、このレジスタを使って同期パルスの時間をキャプチャします。

SYNCxDATH と SYNCxDATL は 16 ビットの読み書き可能レジスタです。これらは送信データと受信データの保存用に使います。表 2-1 に示すように、データはパッキングされた 4 個のニブルとして各レジスタに保存されます。

表 2-1: SENTxDATH/L レジスタ内のパッキングされたメッセージニブル

SENTxDATH SENTxDATL

ビットレンジ 内容 ビットレンジ 内容

<15:12> ステータスニブル <15:12> データニブル 4

<11:8> データニブル 1 <11:8> データニブル 5

<7:4> データニブル 2 <7:4> データニブル 6

<3:0> データニブル 3 <3:0> CRC ニブル

2014 Microchip Technology Inc. DS70005145B_JP - p. 3

Page 4: SENT (Single-Edge Nibble Transmission) モジュールww1.microchip.com/downloads/jp/DeviceDoc/70005145B_JP.pdf-n = POR 時の値 1 = ビットはセット 0 = ビットはクリア

dsPIC33/PIC24 ファミリ リファレンス マニュアル

レジスタ 2-1: SENTxCON1: SENTx 制御レジスタ 1

R/W-0 U-0 R/W-0 U-0 R/W-0 R/W-0 R/W-0 R/W-0

SNTEN — SNTSIDL — RCVEN TXM(1) TXPOL(1) CRCEN

bit 15 bit 8

R/W-0 R/W-0 U-0 R/W-0 U-0 R/W-1 R/W-1 R/W-0

PPP SPCEN(2) — PS — NIBCNT2 NIBCNT1 NIBCNT0

bit 7 bit 0

凡例 :

R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

-n = POR 時の値 1 = ビットはセット 0 = ビットはクリア x = ビットは未知

bit 15 SNTEN: SENTx イネーブルビット

1 = モジュールを有効にする 0 = モジュールを無効にする

bit 14 未実装 : 「0」として読み出し

bit 13 SNTSIDL: SENTx アイドル中停止ビット

1 = アイドル中もモジュールの動作を継続する0 = アイドル中はモジュールの動作を停止する

bit 12 未実装 :「0」として読み出し

bit 11 RCVEN: SENTx 受信イネーブルビット

1 = モジュールはレシーバとして動作する0 = モジュールはトランスミッタとして動作する

bit 10 TXM: SENTx 送信モードビット (1)

1 = モジュールは SYNCTXEN ステータスビットを使ってトリガされた時にのみデータフレームを送信する

0 = モジュールが有効である間は連続的にデータフレームを送信する

bit 9 TXPOL: SENTx 送信極性ビット (1)

1 = データ出力ピンのアイドル状態は LOW0 = データ出力ピンのアイドル状態は HIGH

bit 8 CRCEN: CRC イネーブルビット 受信モード (RCVEN = 1)の場合 :1 = J2716 方式で CRC 値を照合する0 = CRC 値は照合しない

送信モード (RCVEN = 0) の場合 :1 = J2716 方式で CRC 値を計算する0 = CRC 値は計算しない

bit 7 PPP: ポーズパルス有無ビット

1 = SENTx メッセージをポーズパルス付きで送受信する0 = SENTx メッセージをポーズパルスなしで送受信する

bit 6 SPCEN: SPC (Short PWM Code) イネーブルビット (2)

1 = 外部ソースからの SPC 制御を有効にする0 = 外部ソースからの SPC 制御を無効にする

bit 5 未実装 : 「SENTx」として読み出し

bit 4 PS: プリスケーラ選択ビット

1 = 1:4 ( モジュール クロック = TCY/4)0 = 1:1 ( モジュール クロック = TCY)

Note 1: RCVEN = 1の場合、これらの制御ビットは効力を持ちません。

2: RCVEN = 0の場合、このビットは効力を持ちません。

DS70005145B_JP - p. 4 2014 Microchip Technology Inc.

Page 5: SENT (Single-Edge Nibble Transmission) モジュールww1.microchip.com/downloads/jp/DeviceDoc/70005145B_JP.pdf-n = POR 時の値 1 = ビットはセット 0 = ビットはクリア

SENT モジュール

bit 3 未実装 :「SENTx」として読み出し

bit 2-0 NIBCNT<2:0>: ニブル数制御ビット 111 = 予約済み ( 使用禁止 )110 = データパケットあたり 6 個のデータニブル101 = データパケットあたり 5 個のデータニブル100 = データパケットあたり 4 個のデータニブル011 = データパケットあたり 3 個のデータニブル010 = データパケットあたり 2 個のデータニブル001 = データパケットあたり 1 個のデータニブル000 = 予約済み ( 使用禁止 )

レジスタ 2-1: SENTxCON1: SENTx 制御レジスタ 1 ( 続き )

Note 1: RCVEN = 1の場合、これらの制御ビットは効力を持ちません。

2: RCVEN = 0の場合、このビットは効力を持ちません。

2014 Microchip Technology Inc. DS70005145B_JP - p. 5

Page 6: SENT (Single-Edge Nibble Transmission) モジュールww1.microchip.com/downloads/jp/DeviceDoc/70005145B_JP.pdf-n = POR 時の値 1 = ビットはセット 0 = ビットはクリア

dsPIC33/PIC24 ファミリ リファレンス マニュアル

レジスタ 2-2: SENTxSTAT: SENT x モジュール ステータス レジスタ

U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0

— — — — — — — —

bit 15 bit 8

R-0 R-0 R-0 R-0 R/C-0 R/C-0 R-0 R/W-0, HC(1)

PAUSE NIB2 NIB1 NIB0 CRCERR FRMERR RXIDLE SYNCTXEN

bit 7 bit 0

凡例 : C = クリア可能ビット HC = ハードウェア クリア可能ビット

R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

-n = POR 時の値 1 = ビットはセット 0 = ビットはクリア x = ビットは未知

bit 15-8 未実装 :「0」として読み出し

bit 7 PAUSE: ポーズパルス ステータスビット

1 = モジュールはポーズパルスを送受信中0 = モジュールはポーズパルスを送受信中ではない

bit 6-4 NIB<2:0>: ニブル ステータスビット 送信モード (RCVEN = 0) の場合 :111 = モジュールは CRC ニブルを送信中110 = モジュールはデータニブル 6 を送信中101 = モジュールはデータニブル 5 を送信中100 = モジュールはデータニブル 4 を送信中011 = モジュールはデータニブル 3 を送信中010 = モジュールはデータニブル 2 を送信中001 = モジュールはデータニブル 1 を送信中000 = モジュールはステータスニブルまたはポーズパルスを送信中、または何も送信していない

受信モード (RCVEN = 1) の場合 :111 = モジュールは CRC ニブルを受信中、またはエラー発生時に CRC ニブルを受信中であった110 = モジュールはデータニブル 6 を受信中、またはエラー発生時にデータニブル 6 を受信中であった101 = モジュールはデータニブル 5 を受信中、またはエラー発生時にデータニブル 5 を受信中であった100 = モジュールはデータニブル 4 を受信中、またはエラー発生時にデータニブル 4 を受信中であった011 = モジュールはデータニブル 3 を受信中、またはエラー発生時にデータニブル 3 を受信中であった010 = モジュールはデータニブル 2 を受信中、またはエラー発生時にデータニブル 2 を受信中であった001 = モジュールはデータニブル 1 を受信中、またはエラー発生時にデータニブル 1 を受信中であった000 = モジュールはステータスニブルを受信中、または同期パルスを待機中

bit 3 CRCERR: CRC ステータスビット ( 受信モード専用 )

1 = SENTxDATH/L 内のデータニブルに対して CRC エラーが発生した0 = CRC エラーは発生していない

bit 2 FRMERR: フレーミング エラー ステータスビット ( 受信モード専用 )

1 = 受信したデータニブルが 12 ティックよりも短いか 27 ティックよりも長かった0 = フレーミング エラーは発生していない

bit 1 RXIDLE: レシーバアイドル ステータスビット ( 受信モード専用 )

1 = SENTx データバスはアイドル状態中 (HIGH 状態が SYNCMAX 以上の時間持続している )0 = SENTx データバスはアイドル 状態ではない

Note 1: このビットは、受信モード中は読み出し専用であり、送信モード中は書き込み可能 (セット /クリア可能 )です。

DS70005145B_JP - p. 6 2014 Microchip Technology Inc.

Page 7: SENT (Single-Edge Nibble Transmission) モジュールww1.microchip.com/downloads/jp/DeviceDoc/70005145B_JP.pdf-n = POR 時の値 1 = ビットはセット 0 = ビットはクリア

SENT モジュール

bit 0 SYNCTXEN: 同期パルスステータス / 送信イネーブルビット (1)

受信モード (RCVEN = 1) の場合 :1 = 有効な同期パルスを検出した ( モジュールはニブルデータを受信中 )0 = 有効な同期パルスは検出していない ( モジュールはニブルデータを受信中ではない )

同期送信モード (RCVEN = 0、TXM = 1) の場合 :1 = モジュールは SENT データフレームを送信中0 = モジュールはデータフレームを送信中ではない(ソフトウェアでSYNCTXENをセットする事で次

のデータフレーム送信を開始可能 )

非同期送信モード (RCVEN = 0、TXM = 0) の場合 :

SYNCTXEN は常に「1」として読み出され、モジュールがフレームを連続的に送信中である事を示します。

レジスタ 2-2: SENTxSTAT: SENT ( 続き )x モジュール ステータス レジスタ ( 続き )

Note 1: このビットは、受信モード中は読み出し専用であり、送信モード中は書き込み可能 (セット /クリア可能 )です。

2014 Microchip Technology Inc. DS70005145B_JP - p. 7

Page 8: SENT (Single-Edge Nibble Transmission) モジュールww1.microchip.com/downloads/jp/DeviceDoc/70005145B_JP.pdf-n = POR 時の値 1 = ビットはセット 0 = ビットはクリア

dsPIC33/PIC24 ファミリ リファレンス マニュアル

3.0 プロトコルの概要

SENT メッセージは、立ち下がりエッジ間の時間に基づいてエンコード / デコードされます。このプロトコルのタイミングは、あらかじめ決められた時間単位 TTICK (3 ~ 90 µs の範囲で設定可能 ) に基づきます。トランスミッタとトランシーバは同じ TTICK 値に設定しておく必要があります。SENT 仕様は、メッセージの通信において最大で 20% の TTICK 変動まで許容します。従ってトランスミッタとレシーバが異なるクロック源を使って動作する場合、それらのクロックの精度が多少低くても、また時間および温度ドリフトが多少大きくても通信が可能です。

SENT メッセージは以下を含みます。

• 同期 / 校正パルス : 長さ 56 ティック

• ステータスニブル : 長さ 12 ~ 27 ティック

• 最大 6 個のデータニブル : 長さ 12 ~ 27 ティック

• CRC ニブル : 長さ 12 ~ 27 ティック

• ポーズパルス ( オプション ): 長さ 12 ~ 768 ティック

同期パルスの開始から CRC ニブルの終了までがメッセージ フレームです。オプションのポーズパルスを使う事で、長さ TFRAME ( 単位は一般的に μs) の SENT メッセージを構成します。図 3-1 に、典型的な 6 ニブル データフレームの構造を示します。 図には各セクションの最小 /最大ティック数も示しています。

図 3-1: SENT メッセージのフォーマット

メッセージ フレームは同期パルスで始まり、この期間を使ってトランスミッタとレシーバ間でTTICK を同期します。送信モードに設定されたモジュールは、ラインを 5 ティック間 LOW に駆動した後に 51 ティック間ハイインピーダンス状態にします。

同期パルスの次に 4 ビットのステータスニブルが続きます。これはデバイス ステータスの識別用に使うか、追加のデータとして使えます。ステータスニブルはデータニブルと同様にエンコードされます。

ステータスニブルの次に 1 ~ 6 個のデータニブルが続きます。これらは 4 ビット長であり、( データ値 + 12) ティックとしてエンコードされます。すなわち、データ値が 0h であれば最小長の 12 ティック、データ値が Fh であれば最大長の 27 ティックにエンコードされます。送信モードに設定されたモジュールは、最初の 5 ティック間でラインを LOW に駆動した後、残りの 7 ~ 22 ティック間でラインをハイインピーダンス状態にします。

データペイロードの次に CRC データニブルが続きます。これは 6 データニブル専用の 4 ビット CRC 値です。CRC は多項式 [x4 + x3 + x2 + 1] ( シード値 = 0101) を使って計算します。これに「0」をパディングする事でシフトエラーの検出を可能にします。CRC ニブルはデータニブルと同様にフォーマットされます。

データ値は立ち下がりエッジから次の立ち下がりエッジまでの時間としてエンコードされるため、SENT プロトコルのメッセージは可変長です。アプリケーションによっては、メッセージの受信間隔が常に一定になるよう、ポーズパルスを使ってメッセージ長を揃えます。本モジュールは、メッセージを一定周期で送信するために必要なポーズパルス長を自動的に計算するためのサポートを提供します。送信モードに設定されたモジュールは、最初の 5 ティック間でラインを LOW に駆動した後、残りのパルス期間でラインをハイインピーダンス状態にします。

Sync Period Status Data 1 Data 2 Data 3 Data 4 Data 5 Data 6 Pause (optional)

56 12-27 12-27 12-27 12-27 12-27 12-27 12-27 12-768

CRC

12-27

Message FramePause Pulse

SENT Message (duration of TFRAME)

Note: SENT メッセージ フレームは常にステータスニブルと CRC ニブルを含みます。データニブルが 1 個 (SENTxCON1<2:0> = 001) の最短メッセージ フレームは、同期パルスと3個のニブル (ステータス /データ /CRCニブルを1個ずつ )を含みます。

DS70005145B_JP - p. 8 2014 Microchip Technology Inc.

Page 9: SENT (Single-Edge Nibble Transmission) モジュールww1.microchip.com/downloads/jp/DeviceDoc/70005145B_JP.pdf-n = POR 時の値 1 = ビットはセット 0 = ビットはクリア

SENT モジュール

3.1 短縮および拡張シリアル メッセージ フォーマット

J2716 仕様は 2 種類のオプション メッセージ フォーマットとして、短縮シリアル メッセージフォーマットと拡張シリアル メッセージ フォーマットを定義しています。これらのメッセージ フォーマットはどちらも 2 ビットのステータスニブルを使って、より長いシリアル メッセージをエンコードします。1 つのメッセージは複数の SENT データフレームを使ってエンコードされます。

モジュールをトランスミッタとして設定した場合、アプリケーションは適切な値を書き込む事によって、これらのシリアル メッセージをエンコードする必要があります。モジュールをレシーバとして設定した場合、アプリケーションは受信したステータスニブルの内容を保存および解析する事によって、これらのシリアル メッセージをデコードする必要があります。

4.0 送信モード

RCVEN (SENTxCON1<11>) = 0の場合、モジュールはトランスミッタとして動作します。メッセージ フレームはコンフィグレーションおよびデータレジスタを使って生成します。

本モジュールは 2種類の送信動作モードを備えています (TXMビット (SENTxCON1<10>)で選択 )。非同期モード (TXM = 0) は、SNTEN ビット (SENTxCON1<15>) がセットされている時にデータ メッセージ フレームを連続的に送信します。同期モード (TXM = 1) は、ソフトウェア制御によってメッセージを送信する事で、SPC (Short PWM Code) を含む追加機能をサポートします。

図 4-1 に送信モードのブロック図を示します。

図 4-1: SENTx 送信モードのブロック図

4.1 送信モードのタイミング設定

送信モードでは、SENTxCON2とSENTxCON3はそれぞれTICKTIME<15:0>とFRAMETIME<15:0>の値を保持します。SENT トランスミッタで使うティック周期 (TTICK) は、TICKTIME<15:0> の値を SENTxCON2 レジスタに書き込む事によって設定します。TICKTIME 値の計算式を式 4-1に示します。FCLK 値は FCY または FCY/4 のどちらかに設定できます ( プリスケーラ イネーブルビット PS (SENTxCON1<4>) で設定 )。

式 4-1: ティック周期の計算式

SENTxCON3

SENTxCON2 SENTxSYNC

SENTxDATH/L

Control andError Detection

SENTxSTATSENTxCON1

SENTxTX

EdgeTiming

SENTx EdgeControl

OutputDriver

Tick PeriodGenerator

Where:

TICKTIME = (TTICK • FCLK) – 1

FCLK = FCY/Prescaler

2014 Microchip Technology Inc. DS70005145B_JP - p. 9

Page 10: SENT (Single-Edge Nibble Transmission) モジュールww1.microchip.com/downloads/jp/DeviceDoc/70005145B_JP.pdf-n = POR 時の値 1 = ビットはセット 0 = ビットはクリア

dsPIC33/PIC24 ファミリ リファレンス マニュアル

ポーズパルスを使う場合、フレーム周期 (TFRAME) を定義する必要があります。これはFRAMETIME<15:0> の値を SENTxCON3 に書き込む事によって行います。FRAMETIME 値の計算式を式 4-2 に示します ( 使用する単位は TTICK の場合と同じ )。データニブルの個数に対応する FRAMETIME のレンジを表 4-1 に示します。

式 4-2: TFRAME の計算式

表 4-1: FRAMETIME<15:0> 値のレンジ

4.2 CRC 計算

必要に応じ、本モジュールは例 4-1 に示す推奨方法で CRC を計算できます。この CRC 計算はCRCEN ビット (SENTxCON1<8>) をセットすると有効になり、CRC (SENTxDATAL<3:0>) レジスタビットは読み出し専用になります。計算が終了すると、ハードウェアが計算した CRC 値がCRC<3:0> レジスタビットに格納されます。

CRCEN = 0の場合、ハードウェアは CRC を計算せず、CRC<3:0> ビットはソフトウェアで書き込み可能です。この場合、アプリケーションで計算した CRC 値を CRC<3:0> に書き込む必要があります。

例 4-1: 推奨する J2716 CRC の実装

4.3 トランスミッタ ステータスビット

送信モード中は、SENTxSTAT レジスタがステータス情報と制御を提供します。NIB<2:0> ステータスビット (SENTxSTAT<6:4>) は、メッセージ フレーム内で現在送信中のデータニブルを示します。ポーズパルスを有効 (PPP (SENTxCON1<7>) = 1) にした場合、PAUSE ビット(SENTxSTAT<7>) は現在ポーズパルスを送信中かどうかを示します。

TXM をセットした場合 ( 同期送信モード )、SYNCTXEN ビット (SENTxSTAT<0>) を使って同期送信を開始します。データニブル、CRC ニブル、ポーズパルスの送信が全て完了した時点で、SYNCTXEN ビットは自動的にハードウェアによってクリアされます。

データニブルの個数 最小 FRAMETIME<15:0> 値 最大 FRAMETIME<15:0> 値

1 149 860

2 176 872

3 203 884

4 230 896

5 257 908

6 284 920

FRAMETIME = TFRAME (µs)/TTICK

Where:

848 + 12N FRAMETIMEfor

#define NUM_NIBBLES 6// Array holding received nibblesrec_data[NUM_NIBBLES];// CRC lookup tablecrc_table = {0,13,7,10,14,3,9,4,1,12,6,11,15,2,8,5};// Initialize checksum to seed valueChecksum = 5;// For each data nibble, bit-wise XOR with lookup value from tablefor(i=0;i<NUM_NIBBLES;i++){

Checksum = rec_data[i] ^ crc_table[Checksum];}// Bit-wise XOR with additional 0 valueChecksum = 0 ^ crc_table[Checksum];

DS70005145B_JP - p. 10 2014 Microchip Technology Inc.

Page 11: SENT (Single-Edge Nibble Transmission) モジュールww1.microchip.com/downloads/jp/DeviceDoc/70005145B_JP.pdf-n = POR 時の値 1 = ビットはセット 0 = ビットはクリア

SENT モジュール

4.4 送信極性オプション

SENT データピンの極性は TXPOL ビット (SENTxCON1<9>) をセットする事で反転できます。この機能は外付けのトランスミッタ駆動回路を実装する場合に便利です。外付けのプルアップ抵抗回路を使うため、ライン上のハイ インピーダンス ( アイドル ) 状態は HIGH のままである事に注意してください。

4.5 送信出力ピンと PPS

ペリフェラル ピンセレクト (PPS) を備えたデバイスでは、SENTx 送信ピンの機能 (SENTxTX)は再配置可能です。モジュールを送信モードで使う場合、対応する RPORx レジスタを使ってSENTxTX を利用可能な I/O ピンに割り当てる必要があります。詳細は各デバイスのデータシートを参照してください。

2014 Microchip Technology Inc. DS70005145B_JP - p. 11

Page 12: SENT (Single-Edge Nibble Transmission) モジュールww1.microchip.com/downloads/jp/DeviceDoc/70005145B_JP.pdf-n = POR 時の値 1 = ビットはセット 0 = ビットはクリア

dsPIC33/PIC24 ファミリ リファレンス マニュアル

4.6 非同期トランスミッタ モード

本モジュールは既定値で非同期トランスミッタとして設定されます。このモードでは、SNTENビット (SENTxCON1<15>) がセットされている間、モジュールはメッセージ フレームを連続的に送信します。CRC ニブルの最後の立ち下がりエッジは同期パルスの最初の立ち下がりエッジとしても機能します。CRC ニブルの送信完了時に割り込みが生成されます。

図 4-2 と図 4-3 に制御、ステータス、割り込みイベントの関係を示します。

図 4-2: SENTx データ送信 ( 非同期モード )

図 4-3: SENTx データ送信 ( ポーズパルスあり )

モジュールを設定するには、以下を明確にする必要があります。

• ティック周期 (TTICK) ( 式 4-1)

• データニブルの個数 (N)

• CRC の計算方法 ( ハードウェアまたはソフトウェア )

• ポーズパルスを使ってメッセージ周期を一定にするかどうか

• ポーズパルスを使う場合、SENT メッセージの総長 ( 式 4-2)

Sync (56 Ticks) Status Data 1 Data 2 Data 3 Data 4 Data 5 Data 6 CRC Sync (56 Ticks)

000 010 011 100 101 110 111 000000 001

SENTx Data Out

SENTxIF

NIB<2:0>

SYNCTXEN

SNTEN

5 Ticks

Sync (56 Ticks) Status Data 1 Data 2 Data 3 Data 4 Data 5 Data 6 CRCPause Sync (56 Ticks)

000 010 011 100 101 110 111000 001

SENTx Data Out

SENTxIF

NIB<2:0>

Pause(12-768 Ticks)

PAUSE

000

DS70005145B_JP - p. 12 2014 Microchip Technology Inc.

Page 13: SENT (Single-Edge Nibble Transmission) モジュールww1.microchip.com/downloads/jp/DeviceDoc/70005145B_JP.pdf-n = POR 時の値 1 = ビットはセット 0 = ビットはクリア

SENT モジュール

モジュールの初期化方法は以下の通りです。

1. RCVEN (SENTxCON1<11>) をクリアして送信モードに設定する。

2. TXM (SENTxCON1<10>) をクリアして非同期送信モードに設定する。

3. NIBCNT<2:0> (SENTxCON1<2:0>) にデータニブルの個数を書き込む。

4. CRCEN (SENTxCON1<8>) をセットまたはクリアして CRC 計算の方法 ( ハードウェアまたはソフトウェア ) を設定する。

5. SENTxCON2 に TICKTIME 値を書き込む。

6. オプションのポーズパルスが必要な場合、PPP (SENTxCON1<7>) をセットしてこの機能を有効にし、SENTxCON3 に FRAMETIME 値を書き込む。

7. SENT 割り込みを有効にし、割り込み優先度を設定する。

8. SENTxDATH/L に初期ステータスとデータ値を書き込む。アプリケーションで計算したCRC値を使う場合(CRCEN = 0)、メッセージのCRC値を計算してCRC<3:0>に書き込む。

9. SNTEN (SENTxCON1<15>) をセットしてモジュールを有効にする。

SENTxDATH/L に対する更新は、CRC ニブルの送信完了後、次のメッセージ フレームのステータスニブルの送信開始までに実行する必要があります。これには、メッセージ フレーム完了割り込みを使ってデータ書き込みをトリガする事を推奨します。

4.7 同期トランスミッタ モード

本モジュールは同期トランスミッタとして設定する事もできます。このモードでは、モジュールは SYNCTXEN ビット (SENTxSTAT<0>) がセットされるたびにメッセージ フレームを 1 つだけ送信します。データフレームの送信が完了すると、SYNCTXEN ビットはハードウェアでクリアされます。ラインは、CRC ニブルの送信を完了するために 5 ティック間 LOW に駆動された後に 3 ステートにされ、SYNCTXEN が次にセットされるまでアイドル状態を維持します。CRC ニブルの送信が完了してから 5 ティック後に割り込みが生成されます。図 4-4 に制御、ステータス、割り込みイベントの関係を示します。

図 4-4: SENTx データ送信 ( 同期モード )

モジュールを設定するには、以下を明確にする必要があります。

• ティック周期 (TTICK) (?4-1)

• データニブルの個数

• CRC の計算方法 ( ハードウェアまたはソフトウェア )

Sync (56 Ticks) Status Data 1 Data 2 Data 3 Data 4 Data 5 Data 6 CRC

000 010 011 100 101 110 111 000000 001

SENTx Data Out

NIB<2:0>

SYNCTXEN

SNTEN

Software Sets SYNCTXEN Hardware Clears SYNCTXEN

5 Ticks Low

2014 Microchip Technology Inc. DS70005145B_JP - p. 13

Page 14: SENT (Single-Edge Nibble Transmission) モジュールww1.microchip.com/downloads/jp/DeviceDoc/70005145B_JP.pdf-n = POR 時の値 1 = ビットはセット 0 = ビットはクリア

dsPIC33/PIC24 ファミリ リファレンス マニュアル

モジュールを同期送信モードに初期化する手順は以下の通りです。

1. RCVEN ビット (SENTxCON1<11>) をクリアして送信モードに設定する。

2. TXM ビット (SENTxCON1<10>) をセットして同期送信モードに設定する。

3. NIBCNT<2:0> (SENTxCON1<2:0>) にデータニブルの個数を書き込む。

4. CRCEN (SENTxCON1<8>) をセットまたはクリアして CRC 計算の方法 ( ハードウェアまたはソフトウェア ) を設定する。

5. SENTxCON2 に TICKTIME 値を書き込む。

6. SENT 割り込みを有効にし、割り込み優先度を設定する。

7. SNTEN ビット (SENTxCON1<15>) をセットしてモジュールを有効にする。

アプリケーションがデータ送信可能になったら以下を実行します。

1. SENTxDATH/L レジスタに送信データを書き込む。

2. SYNCTXEN ビットをセットして送信を始める。

SENTxDATH/L に対する更新は、CRC ニブルの送信完了後、次のメッセージ フレームのステータスニブルの送信開始までに実行する必要があります。これには、メッセージ フレーム完了割り込みを使ってデータ書き込みをトリガするか、SYNCTXEN ビットをポーリングする事を推奨します。

4.7.1 SPC (SHORT PWM CODE) のサポート

SPC (Short PWM Code) は、同期モードを使ってユーザ ソフトウェアで実装できます。SPC は双方向通信を可能にします。例えば、レシーバからトランスミッタに対してメッセージ フレームの送信、モードの変更、センサの校正を要求できます。

SPC パルスはレシーバが生成するアクティブ LOW パルスです。本モジュールは SPC パルスを検出するためのハードウェア機能を備えていないため、SENT データピン上の SPC パルスはアプリケーションで検出する必要があります。

トランスミッタがアイドル状態である時に、ユーザ ソフトウェアは以下のいずれかの方法を使って SENT データピン上の SPC パルスを検出できます。

• 対応する PORTx レジスタを使ってデータピンの状態をポーリングする

• SENT データピンに多重化されている入力キャプチャ周辺モジュールを有効にする

• 状態変化通知 (CN) 入力または SENT データピンに多重化されているコンパレータを有効にする

SPC パルスを検出した後、アプリケーションは SPC パルスの検出に使った周辺モジュールを無効にし、SYNCTXEN ビットをセットする事で SENT 送信を開始します。

Note: 次のメッセージ フレームの送信を開始する前に、ソフトウェアで追加の待機時間が必要になる場合があります。J2716 仕様は、SENT データライン上で最大 18 μs の立ち上がり時間を許容しています。立ち上がり時間には外付けプルアップ抵抗と SENTデータライン上の EMI フィルタが影響します。待機時間は [ 同期時間 (56 ティック ) +20%] よりも長くする事を推奨します。

DS70005145B_JP - p. 14 2014 Microchip Technology Inc.

Page 15: SENT (Single-Edge Nibble Transmission) モジュールww1.microchip.com/downloads/jp/DeviceDoc/70005145B_JP.pdf-n = POR 時の値 1 = ビットはセット 0 = ビットはクリア

SENT モジュール

5.0 受信モード

RCVEN (SENTxCON1<11>) = 1の場合、モジュールはレシーバとして動作可能です。モジュールは有効なシリアルデータをデコードし、SENTxDATH/L レジスタに書き込みます。エラーおよびステータス情報は SENTxSTAT および SENTxSYNC レジスタによって示されます。キャプチャした同期時間は SENTxSYNC レジスタに格納されます。図 5-1 に受信モードにおけるモジュールのブロック図を示します。

図 5-1: SENTx 受信モードのブロック図

5.1 受信モードのタイミング計算

モジュールを受信モードに設定した場合、SENTxCON2 および SENTxCON3 レジスタは同期パルスの検証に使う上限値 (SYNCMAX<15:0>) と下限値 (SYNCMIN<15:0>) を保持します。SYNCMIN と SYNCMAX は公称同期時間の ±20% です。レシーバは、このレンジから外れる同期パルスを拒絶します。

SYNCMIN と SYNCMAX の計算式を式 5-1 に示します。送信モードと同様に、FRCV の値はPS ビットの設定に応じて FCY または FCY/4 のどちらかです。

式 5-1: SYNCMIN と SYNCMAX の計算式

Note: SENT プロトコルは連続するメッセージ間のタイミング変動を 1.5625% (1/64) まで許容します。この条件を満たすかどうかを確認するため、データフレームを受信するたびに SENTxSYNC にキャプチャした値を保存し、次のデータフレームでキャプチャした値と比較します。

Sync Period

Nibble PeriodDetector

Control andError Detection

SENTxRXEdge

Detect Detector

EdgeTiming

SENTxCON3

SENTxCON SENTxSYNC

SENTxDATH/L

SENTxSTATSENTxCON1

Tick PeriodGenerator

Where:

SyncCount = 8 • FRCV • TTICK

SYNCMIN = 0.8 • SyncCount

SYNCMAX = 1.2 • SyncCount

FRCV = FCY/Prescaler

2014 Microchip Technology Inc. DS70005145B_JP - p. 15

Page 16: SENT (Single-Edge Nibble Transmission) モジュールww1.microchip.com/downloads/jp/DeviceDoc/70005145B_JP.pdf-n = POR 時の値 1 = ビットはセット 0 = ビットはクリア

dsPIC33/PIC24 ファミリ リファレンス マニュアル

5.2 レシーバのステータス

モジュールをレシーバとして設定した場合 (RCVEN = 0)、受信メッセージのステータス ( ニブルのステータス、ラインの状態、同期およびポーズパルスの状態 ) は SENTxSTAT レジスタに保存されます。図 5-2 に、信号内の SENT データと SENTxSTAT ステータスビットの関係を示します。

図 5-2: SENTx のデータ受信 ( ポーズパルスあり )

5.3 受信入力ピンと PPS

ペリフェラル ピンセレクト (PPS) を備えたデバイスでは、SENT 受信ピンの機能 (SENTxRX)は再配置可能です。モジュールを受信モードで使う場合、対応する RPINRx または RPORx レジスタを使って SENTxRX を利用可能な I/O ピンに割り当てる必要があります。SPC (ShortPWM Code) のサポートが必要な場合、パルス出力をサポートするために双方向に割り当て可能なピンを使う必要があります。

5.4 受信の設定手順

モジュールを設定するには、以下を明確にする必要があります。

• ティック周期 (TTICK) ( 式 4-1)

• データニブルの個数

• CRC の計算方法 ( ハードウェアまたはソフトウェア )

• ポーズパルスを使うかどうか

Sync (56 Ticks) Status Data 1 Data 2 Data 3 Data 4 Data 5 Data 6 CRCLine Idle Sync (56 Ticks)

000 010 011 100 101 110 111000 001

SENT Data In

SENTxIF

NIB<2:0>

Pause(12-768 Ticks)

PAUSE

SYNC

IDLE

000

Note: SENT データラインの HIGH 状態が同期パルスの最大許容時間 (SYNCMAX 値 ) よりも長く続いた場合、レシーバはアイドル状態です。

Note: アプリケーション ソフトウェアを使って CRC アルゴリズムを実装する事ができます。その場合、CRCEN (SENTxCON1<8>) をクリアする事でハードウェアによる CRC 照合を無効にします。受信した CRC 値 (SENTxDATA<3:0>) は、アプリケーションで計算した CRC 値と照合します。

DS70005145B_JP - p. 16 2014 Microchip Technology Inc.

Page 17: SENT (Single-Edge Nibble Transmission) モジュールww1.microchip.com/downloads/jp/DeviceDoc/70005145B_JP.pdf-n = POR 時の値 1 = ビットはセット 0 = ビットはクリア

SENT モジュール

モジュールを受信モードに初期化する手順は以下の通りです。

1. RCVEN (SENTxCON1<11>) をセットして受信モードに設定する。

2. NIBCNT<2:0> (SENTxCON1<2:0>) にデータニブルの個数を書き込む。

3. CRCEN (SENTxCON1<8>) をセットまたはクリアして CRC 計算の方法 ( ハードウェアまたはソフトウェア ) を設定する。

4. ポーズパルスが含まれる場合、PPP (SENTxCON1<7>) をセットする。

5. SENTxCON2 に SYNCMAX ( 公称同期時間 + 20%) を書き込む。

6. SENTxCON3 に SYNCMIN ( 公称同期時間 - 20%) を書き込む。

7. SENT 割り込みを有効にし、割り込み優先度を設定する。

8. SNTEN ビット (SENTxCON1<15>) をセットしてモジュールを有効にする。

CRC ニブルの受信後、次のメッセージ フレームのステータスニブルが始まるまでに受信データを SENTxDATH/L レジスタから読み出す必要があります。これには、メッセージ フレーム完了割り込みトリガの使用を推奨します。

5.5 エラー対応

本モジュールはフレーミング エラーと CRC 不一致を自動的に検出してフラグを立てる機能を備えています。フレーミング エラーは、ステータスまたはデータニブルが 12 ~ 27 ティックのレンジ内ではない場合に検出されます。フレーミング エラーが検出されると FRMERR ビット(SENTxSTAT<2>) がセットされ、受信エラー割り込みが生成されます。その後、モジュールはSYNCTXEN (SENTxSTAT<0>) をクリアし、後続の同期パルスを待機します。FRMERR ビットは、モジュールが次の有効な同期パルスを検出して SYNCTXEN を「1」にセットするまでセットされたままです。必要に応じて、アプリケーションで FRMERR ビットをクリアする事もできます。

CRC の照合に失敗すると CRCERR ビット (SENTxSTAT<3>) がセットされ、受信エラー割り込みが生成されます。後続のメッセージで有効な同期パルスを受信するまで、CRCERR ビットはセットされたままです。必要に応じて、ソフトウェアで CRCERR ビットをクリアする事もできます。CRC エラー時に割り込みを生成するには、CRCEN ビット (SENTxCON1<8>) をセットする必要があります。

Note: PPP ビットがセットされている場合、モジュールは後続の有効な同期パルスでフレーミング エラーを生成しません。これは、ポーズパルスが有効な同期パルスとして解釈されて、その後の実際の同期パルスがフレームエラーとして解釈される可能性があるためです。PPP = 1 の場合でも、ニブルデータのフレーミング エラーは検出されます。

2014 Microchip Technology Inc. DS70005145B_JP - p. 17

Page 18: SENT (Single-Edge Nibble Transmission) モジュールww1.microchip.com/downloads/jp/DeviceDoc/70005145B_JP.pdf-n = POR 時の値 1 = ビットはセット 0 = ビットはクリア

dsPIC33/PIC24 ファミリ リファレンス マニュアル

5.6 SPC (Short PWM Code) のサポート

本 SENT モジュールは、他の周辺モジュールを併用する事で SPC をサポートします。SPCENビット (SENTxCON1<6>) は、出力コンペア (OC) モジュールによる SENT データ入力ピンの制御を有効にします。一般的に、特定の SENTx モジュールに対して特定の OC モジュールがハードウェアで割り当てられています。詳細は各デバイスのデータシートを参照してください。

SENT モジュールを SPC 動作向けに初期化する手順は以下の通りです。

1. SPCEN (SENTxCON1<6>) ビットをセットする事で他の周辺モジュールによる SENT データピンの制御を有効にする。

2. デバイスがペリフェラル ピンセレクトを備えている場合、SENTxTX 機能を SENTxRXと同じ I/O ピンに割り当てる。

3. 出力コンペア モジュールを以下のように設定する。

a) トリガモードに設定する。

b) シングルショット、アクティブ HIGH パルスに設定する。

c) 周期およびデューティサイクル レジスタを必要なパルス長が得られるよう設定する。

以上を設定した後に、以下の手順で SPC パルストリガを使います。

1. RXIDLE ビット (SENTxSTAT<1>) をポーリングする事で、ラインがハイ インピーダンス状態である事を確認する。

2. OC モジュールのトリガビットをセットして SPC パルスをトリガする。

SPC パルスのアクティブ期間中は SENT レシーバのエッジ検出は無効になり、SENT データ入力ピンはOCモジュールによって LOWに駆動されます。この時点でレシーバロジックはリセットされ、新しいデータフレームを受信する準備が整います。パルスが終了すると OC モジュールは SENT データ入力ピンの制御を解放し、SENT モジュールの入力エッジ検出が再度有効になります。これにより、センサからのデータフレームが受信可能になります。

SENT データピンを手動で制御する事で SPC プロトコルを実装する事も可能です。その場合の手順は以下の通りです。

1. SNTEN ビットをクリアしてレシーバ動作を無効にする。

2. SENT データピンに対応する PORTx および TRISx レジスタを使ってデータピンを必要な期間 LOW に駆動する。

3. TRISx レジスタを使って SENT データピンをハイ インピーダンス状態に戻す。

4. SNTEN ビットをセットしてレシーバ動作を再開する。

Note: SPC プロトコルを実装する場合、SENT 送信デバイスは CRC ニブルを終了する立ち下がりエッジの後にデータバスをハイ インピーダンス状態のままにする必要があります。この時、SENT データラインは外付けプルアップ抵抗によって HIGHにプルされます。レシーバ デバイスが SENT データライン上で LOW パルスを生成する事によってデータを要求するまで、全てのトランスミッタ デバイスはデータバスを駆動しない事が必要です。

DS70005145B_JP - p. 18 2014 Microchip Technology Inc.

Page 19: SENT (Single-Edge Nibble Transmission) モジュールww1.microchip.com/downloads/jp/DeviceDoc/70005145B_JP.pdf-n = POR 時の値 1 = ビットはセット 0 = ビットはクリア

SENT モジュール

6.0 割り込み

各 SENT モジュールは自身の動作に関連する 2 個の割り込みビット (SENTx 送受信割り込みフラグ (SENTxIF)とSENTxエラー割り込みフラグ (SENTxEIF))を備えています。対応するSENTx割り込みイネーブルビット (SENTxIE、SENTxEIE) をセットする事で、そのモジュールからデバイスレベルの割り込みを生成する事が可能になります。

送受信割り込みは、送信モード中にメッセージ フレームの送信が完了した時点、または受信モード中にメッセージ フレームの受信に成功した時点で生成されます。

エラー割り込みは受信モード中にフレームエラーまたは CRC エラーが発生した時点で生成されます。送信モードはエラー割り込みを生成しません。

7.0 省電力モード中の動作

7.1 スリープモード

SENT モジュールはデバイスのスリープ中に動作しません。アプリケーションでデバイスをスリープに移行させる必要がある場合、 SNTEN ビット (SENTxCON1<15>) をクリアして SENTモジュールを停止する必要があります。トランスミッタとして動作している場合、アプリケーションはメッセージの送信が完了するまで待機してからデバイスをスリープに移行させる事ができます。

7.2 アイドルモード

デバイスがアイドルに移行した時のSENTモジュールの動作は2通りに選択できます。SNTSIDL(SENTxCON1<13>) = 1の場合、デバイスがアイドルに移行するとモジュールの動作は停止します。この場合のシステムの挙動は上記のスリープの場合と同じです。

SNTSIDL = 0の場合、デバイスがアイドルに移行した後も SENT モジュールは送信または受信処理を継続します。トランスミッタ モードで動作している場合、デバイスがアイドルから復帰してデータを書き換えない限り、SENT モジュールは SENTxDATH/L 内のデータを使ってメッセージを送信し続けます。SENT モジュールが受信モードで動作している場合、デバイスがアイドルから復帰してデータを読み出さない限り、SENTxDATH/L レジスタ内の古いデータは失われます。

8.0 リセットの影響

デバイスリセットが発生すると、全てのレジスタはリセット状態に戻ります。これにより SENTモジュールは停止し、実行中であった全てのメッセージ フレームの送受信は中止されます。アナログ入力と多重化されている全ての SENT ピンはアナログ入力として設定されます。対応する TRISx ビットもセットされ、全てのピンは入力として設定されます。

2014 Microchip Technology Inc. DS70005145B_JP - p. 19

Page 20: SENT (Single-Edge Nibble Transmission) モジュールww1.microchip.com/downloads/jp/DeviceDoc/70005145B_JP.pdf-n = POR 時の値 1 = ビットはセット 0 = ビットはクリア

dsP

IC33/P

IC24

ファミリ

リファレンス

マニュアル

DS

70005145B

_JP - p. 20

2014 M

icrochip Technolo

gy Inc.

Bit 3 Bit 2 Bit 1 Bit 0 全

リセット

— NIBCNT2 NIBCNT1 NIBCNT0 0006FFFFFFFF

CRCERR FRMERR RXIDLE SYNCTXEN 00000000

データニブル 3 0000CRC データニブル 0000

9.0 レジスタマップ

SENT モジュールに関連する特殊機能レジスタの一覧を表 9-1 に示します。

表 9-1: SENT モジュール関連の特殊機能レジスタ

File Name Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8 Bit 7 Bit 6 Bit 5 Bit 4

SENTxCON1 SNTEN — SNTSIDL — RCVEN TXM TXPOL CRCEN PPP SPCEN — PS

SENTxCON2 TICKTIME<15:0>( 送信モード ) または YNCMAX<15:0>( 受信モード )

SENTxCON3 FRAMETIME<15:0>( 送信モード ) または SYNCMIN<15:0>( 受信モード )

SENTxSTAT — — — — — — — — PAUSE NIB2 NIB1 NIB0

SENTxSYNC 同期時間 ( 送信モード )

SENTxDATH ステータスニブル データニブル 1 データニブル 2

SENTxDATL データニブル 4 データニブル 5 データニブル 6

凡例 : — = 未実装、「0」として読み出し、リセット値は 16 進表記です。

Page 21: SENT (Single-Edge Nibble Transmission) モジュールww1.microchip.com/downloads/jp/DeviceDoc/70005145B_JP.pdf-n = POR 時の値 1 = ビットはセット 0 = ビットはクリア

SENT モジュール

10.0 関連アプリケーション ノート

本書に関連するアプリケーション ノートの一覧を以下に記載します。一部のアプリケーション ノートは 16 ビットデバイス向けではありません。ただし概念は共通しており、変更が必要であったり制限事項が存在するものの利用が可能です。SENT モジュールに関連する最新のアプリケーション ノートは以下の通りです。

タイトル アプリケーション ノート番号

現在、関連するアプリケーション ノートはありません。

11.0 参考資料

タイトル :「SENT – Single-Edge Nibble Transmission for Automotive Applications」

著者 : SAE International

http://www.sae.org/

Note: dsPIC33/PIC24F ファミリ関連のアプリケーション ノートとサンプルコードは Microchip 社のウェブサイト (www.microchip.com) でご覧になれます。

2014 Microchip Technology Inc. DS70005145B_JP - p. 21

Page 22: SENT (Single-Edge Nibble Transmission) モジュールww1.microchip.com/downloads/jp/DeviceDoc/70005145B_JP.pdf-n = POR 時の値 1 = ビットはセット 0 = ビットはクリア

dsPIC33/PIC24 ファミリ リファレンス マニュアル

12.0 改訂履歴

リビジョン A (2013 年 11 月 )

本書の初版です。

リビジョン B (2014 年 4 月 )

本書の表題を「Single-Ended Nibble Transmission (SENT) Module」から「Single-EdgeNibble Transmission (SENT) Module」に変更しました。

参考資料として「SENT - Single-Edge Nibble Transmission for Automotive Applications」(SAE International) を追加しました。

DS70005145B_JP - p. 22 2014 Microchip Technology Inc.

Page 23: SENT (Single-Edge Nibble Transmission) モジュールww1.microchip.com/downloads/jp/DeviceDoc/70005145B_JP.pdf-n = POR 時の値 1 = ビットはセット 0 = ビットはクリア

2014 Microchip Technology Inc. DS70005145B_JP - p. 23

本書に記載されているデバイス アプリケーション等に関する

情報は、ユーザの便宜のためにのみ提供されているものであ

り、更新によって無効とされる事があります。お客様のアプ

リケーションが仕様を満たす事を保証する責任は、お客様に

あります。Microchip 社は、明示的、暗黙的、書面、口頭、法

定のいずれであるかを問わず、本書に記載されている情報に

関して、状態、品質、性能、商品性、特定目的への適合性を

はじめとする、いかなる類の表明も保証も行いません。

Microchip 社は、本書の情報およびその使用に起因する一切の

責任を否認します。Microchip 社の明示的な書面による承認な

しに、生命維持装置あるいは生命安全用途に Microchip 社の製

品を使用する事は全て購入者のリスクとし、また購入者はこ

れによって発生したあらゆる損害、クレーム、訴訟、費用に

関して、Microchip 社は擁護され、免責され、損害をうけない

事に同意するものとします。暗黙的あるいは明示的を問わず、

Microchip社が知的財産権を保有しているライセンスは一切譲

渡されません。

商標

Microchip 社の名称と Microchip ロゴ、dsPIC、FlashFlex、KEELOQ、KEELOQ ロゴ、MPLAB、PIC、PICmicro、PICSTART、PIC32 ロゴ、rfPIC、SST、SST ロゴ、SuperFlash、UNI/O は、

米国およびその他の国における Microchip TechnologyIncorporated の登録商標です。

FilterLab、Hampshire、HI-TECH C、Linear Active Thermistor、MTP、SEEVAL、Embedded Control Solutions Company は、

米国における Microchip Technology Incorporated の登録商標

です。

Silicon Storage Technologyは、その他の国におけるMicrochipTechnology Incorporated の登録商標です。

Analog-for-the-Digital Age、Application Maestro、BodyCom、

chipKIT、chipKIT ロゴ、CodeGuard、dsPICDEM、dsPICDEM.net、dsPICworks、dsSPEAK、ECAN、ECONOMONITOR、FanSense、HI-TIDE、In-Circuit Serial Programming、ICSP、Mindi、MiWi、MPASM、MPF、MPLAB 認証ロゴ、MPLIB、MPLINK、mTouch、Omniscient Code Generation、PICC、PICC-18、PICDEM、

PICDEM.net、PICkit、PICtail、REAL ICE、rfLAB、Select Mode、SQI、Serial Quad I/O、Total Endurance、TSHARC、UniWinDriver、WiperLock、ZENA、Z-Scale は、米国およびその他の国におけ

る Microchip Technology Incorporatedの登録商標です。

SQTP は、米国における Microchip Technology Incorporatedのサービスマークです。

GestICとULPPは、その他の国におけるMicrochip TechnologyGermany II GmbH & Co. & KG (Microchip TechnologyIncorporated の子会社 ) の登録商標です。

その他、本書に記載されている商標は各社に帰属します。

©2013, Microchip Technology Incorporated, Printed in theU.S.A., All Rights Reserved.

ISBN: 978-1-63276-146-0

Microchip 社製デバイスのコード保護機能に関して次の点にご注意ください。

• Microchip 社製品は、該当する Microchip 社データシートに記載の仕様を満たしています。

• Microchip 社では、通常の条件ならびに仕様に従って使用した場合、Microchip 社製品のセキュリティ レベルは、現在市場に流

通している同種製品の中でも最も高度であると考えています。

• しかし、コード保護機能を解除するための不正かつ違法な方法が存在する事もまた事実です。弊社の理解ではこうした手法は、

Microchip 社データシートにある動作仕様書以外の方法で Microchip 社製品を使用する事になります。このような行為は知的所

有権の侵害に該当する可能性が非常に高いと言えます。

• Microchip 社は、コードの保全性に懸念を抱くお客様と連携し、対応策に取り組んでいきます。

• Microchip 社を含む全ての半導体メーカーで、自社のコードのセキュリティを完全に保証できる企業はありません。コード保護

機能とは、Microchip 社が製品を「解読不能」として保証するものではありません。

コード保護機能は常に進歩しています。Microchip 社では、常に製品のコード保護機能の改善に取り組んでいます。Microchip 社

のコード保護機能の侵害は、デジタル ミレニアム著作権法に違反します。そのような行為によってソフトウェアまたはその他の著

Microchip 社では、Chandler および Tempe ( アリゾナ州 )、Gresham( オレゴン州 ) の本部、設計部およびウェハー製造工場そしてカリフォルニア州とインドのデザインセンターが ISO/TS-16949:2009 認証を取得しています。Microchip 社の品質システム プロセスおよび手順は、PIC® MCU および dsPIC® DSC、KEELOQ® コード ホッピング デバイス、シリアル EEPROM、マイクロペリフェラル、不揮発性メモリ、アナログ製品に採用されています。さらに、開発システムの設計と製造に関する Microchip 社の品質システムは ISO 9001:2000 認証を取得しています。

QUALITY MANAGEMENT SYSTEM CERTIFIED BY DNV

== ISO/TS 16949 ==

Page 24: SENT (Single-Edge Nibble Transmission) モジュールww1.microchip.com/downloads/jp/DeviceDoc/70005145B_JP.pdf-n = POR 時の値 1 = ビットはセット 0 = ビットはクリア

DS70005145B_JP - p. 24 2014 Microchip Technology Inc.

北米本社2355 West Chandler Blvd.Chandler, AZ 85224-6199Tel:480-792-7200 Fax:480-792-7277技術サポート : http://www.microchip.com/supportURL: www.microchip.com

アトランタDuluth, GA Tel:678-957-9614 Fax:678-957-1455

オースティン (TX)Tel:512-257-3370

ボストンWestborough, MA Tel:774-760-0087 Fax:774-760-0088

シカゴItasca, IL Tel:630-285-0071 Fax:630-285-0075

クリーブランドIndependence, OH Tel:216-447-0464

Fax:216-447-0643

ダラスAddison, TX Tel:972-818-7423 Fax:972-818-2924

デトロイトNovi, MI Tel:248-848-4000

ヒューストン (TX) Tel:281-894-5983

インディアナポリスNoblesville, IN Tel:317-773-8323Fax:317-773-5453

ロサンゼルスMission Viejo, CA Tel:949-462-9523 Fax:949-462-9608

ニューヨーク (NY) Tel:631-435-6000

サンノゼ (CA) Tel:408-735-9110

カナダ - トロントTel:905-673-0699 Fax:905-673-6509

アジア / 太平洋

アジア太平洋支社Suites 3707-14, 37th FloorTower 6, The GatewayHarbour City, KowloonHong KongTel:852-2943-5100Fax:852-2401-3431

オーストラリア - シドニーTel:61-2-9868-6733Fax:61-2-9868-6755

中国 - 北京Tel:86-10-8569-7000 Fax:86-10-8528-2104

中国 - 成都Tel:86-28-8665-5511Fax:86-28-8665-7889

中国 - 重慶Tel:86-23-8980-9588Fax:86-23-8980-9500

中国 - 杭州Tel:86-571-8792-8115 Fax:86-571-8792-8116

中国 - 香港 SARTel:852-2943-5100 Fax:852-2401-3431

中国 - 南京Tel:86-25-8473-2460Fax:86-25-8473-2470

中国 - 青島Tel:86-532-8502-7355Fax:86-532-8502-7205

中国 - 上海Tel:86-21-5407-5533 Fax:86-21-5407-5066

中国 - 瀋陽Tel:86-24-2334-2829Fax:86-24-2334-2393

中国 - 深圳Tel:86-755-8864-2200 Fax:86-755-8203-1760

中国 - 武漢Tel:86-27-5980-5300Fax:86-27-5980-5118

中国 - 西安Tel:86-29-8833-7252Fax:86-29-8833-7256

中国 - 厦門Tel:86-592-2388138 Fax:86-592-2388130

中国 - 珠海Tel:86-756-3210040 Fax:86-756-3210049

アジア / 太平洋

インド - バンガロールTel:91-80-3090-4444 Fax:91-80-3090-4123

インド - ニューデリーTel:91-11-4160-8631Fax:91-11-4160-8632

インド - プネTel:91-20-3019-1500

日本 - 大阪Tel:81-6-6152-7160 Fax:81-6-6152-9310

日本 - 東京Tel:81-3-6880- 3770 Fax:81-3-6880-3771

韓国 - 大邱Tel:82-53-744-4301Fax:82-53-744-4302

韓国 - ソウルTel:82-2-554-7200Fax:82-2-558-5932 または 82-2-558-5934

マレーシア - クアラルンプールTel:60-3-6201-9857Fax:60-3-6201-9859

マレーシア - ペナンTel:60-4-227-8870Fax:60-4-227-4068

フィリピン - マニラTel:63-2-634-9065Fax:63-2-634-9069

シンガポールTel:65-6334-8870Fax:65-6334-8850

台湾 - 新竹Tel:886-3-5778-366Fax:886-3-5770-955

台湾 - 高雄Tel:886-7-213-7830

台湾 - 台北Tel:886-2-2508-8600 Fax:886-2-2508-0102

タイ - バンコクTel:66-2-694-1351Fax:66-2-694-1350

ヨーロッパ

オーストリア - ヴェルスTel:43-7242-2244-39

Fax:43-7242-2244-393

デンマーク - コペンハーゲンTel:45-4450-2828 Fax:45-4485-2829

フランス - パリTel:33-1-69-53-63-20 Fax:33-1-69-30-90-79

ドイツ - デュッセルドルフTel:49-2129-3766400

ドイツ - ミュンヘンTel:49-89-627-144-0 Fax:49-89-627-144-44

ドイツ - プフォルツハイムTel:49-7231-424750

イタリア - ミラノ Tel:39-0331-742611 Fax:39-0331-466781

イタリア - ベニスTel:39-049-7625286

オランダ - ドリューネンTel:31-416-690399 Fax:31-416-690340

ポーランド - ワルシャワTel:48-22-3325737

スペイン - マドリッドTel:34-91-708-08-90Fax:34-91-708-08-91

スウェーデン - ストックホルムTel:46-8-5090-4654

イギリス - ウォーキンガムTel:44-118-921-5800Fax:44-118-921-5820

各国の営業所とサービス

03/25/14