TD-HDLCip 設計仕様書
TD-HDLCip 変更履歴 Ver1.21 ・ インレビアム初版 Ver1.22 2006/08/31 6 頁 25 頁 26 頁 ・ XTLAST の機能説明修正 ・ CPU リード/ライトタイミングに注意事項追記 ・ 送信 DMA ライトタイミングに注意事項追記 ・ 誤字脱字、文字の統一 Ver1.22-1 2011/04/13 6 頁 ・ 修正 Ver1.23 2014/04/11 8-22 頁 23 頁 29 頁 ・ レジスタのインデックス追加 ・ 受信時の注意追加 ・ インプリメントの注意追加
目次
第1章 概要・特徴 ... 4 1.1 特徴 ... 4 第2章 ブロックの説明 ... 4 2.1 ブロック図 ... 4 2.2 ブロック機能説明 ... 4 第3章 端子機能説明 ... 5 第4章 レジスタ構成 ... 8 4.1 レジスタマップ ... 8 4.2 レジスタ説明 ... 9 CRC 選択レジスタ ... 10 転送モードレジスタ ... 10 送信モードレジスタ ... 11 受信ステータスレジスタ0 ... 12 受信ステータスレジスタ1 ... 13 受信制御レジスタ ... 14 受信割込み許可レジスタ ... 15 送信ステータスレジスタ ... 16 送信制御レジスタ ... 17 送信割込み許可レジスタ ... 19 シリアルデータレジスタ ... 20 リクエストレジスタ ... 21 マスクレジスタ ... 22 第5章 動作説明 ... 23 5.1 ステータス FIFO 構成 ... 23 5.2 符号/復号 ... 24 第6章 外部タイミング ... 25 6.1 CPU リード/ライトタイミング ... 25 6.2 送信 DMA ライトタイミング ... 26 6.3 受信 DMA リードタイミング ... 27 6.4 シリアル I/F タイミング ... 28TD-HDLCip
第1章 概要・特徴
本HDLC モジュールは、シリアルデータの転送制御を行うデータリンクコントローラマクロです。 1.1 特徴 ・全二重通信方法 ・最大 10Mbps の転送が可能(40MHz 以上での動作時) ・2 種類の CRC チェック(CRC16/CCITT)をサポート ・送信データ FIFO(16 レベル),受信データ FIFO(16 レベル) ・各種符号サポート(NRZ/NRZI/FM0/FM1) ・各種エラーの割込み要求,および DMA インタフェース機能有り第2章 ブロックの説明
2.1 ブロック図 図2.1-1 に本 HDLC モジュールのブロック図を示します。本 HDLC は、SIC 部、 リード/ライト制御部,DMA インタフェース部より構成されています。 図2.1-1 2.2 ブロック機能説明 SIC 部 ・フラグ検出/生成 ・‘0’挿入/消去 ・CRC の生成/チェック リード/ライト制御部 ・CPU とのインタフェース制御 DMA インタフェース部 ・外部のDMAC との転送動作の制御 XCS A[4:0] XRD XWR XTACK XRACK DI TIRQ RIRQ TDRQ RDRQ TXDT DO DDIR SIC部 リード/ライト 制御部 DMA インタフェース部 RXDT XTLAST TXCI RXCI CLK XRES第3章 端子機能説明
図3.1-1 に、端子図を示します。表 3.1-1 に、端子機能説明を示します。 XRES TIRQ (リセット入力) (送信割込み要求出力) CLK RIRQ (システムクロック入力) (受信割込み要求出力) CXS TDRQ (チップセレクト入力) (送信 DMA 要求出力) A4~A0 RDRQ (5 ビットアドレス入力) (受信 DMA 要求出力) XRD TXDT (リード入力) (送信データ出力) XWR (ライト入力) XTACK (送信 DMA アクノリッジ入力) DO7~DO0 XRACK (8 ビットデータ出力) (受信 DMA アクノリッジ入力) DDIR TXCI (データバス制御信号) (送信クロック入力) RXCI (受信クロック入力) RXDT (受信データ入力 ) XTLAST (送信 DMA 終了入力) DI7~DI0 (8 ビットデータ入力) 図3.1-1TD-HDLCip 表3.1-1 端子機能説明(1/2) 信号名 端子名 極 性 入出力 機能 送信クロック入力 TXCI ― I 送信クロック入力 受信クロック入力 RXCI ― I 受信クロック入力
送信DMA 終了入力 XTLAST 負 I 送信モードレジスタ(SMR3)の TxLASTEND ビットが
“1”であり、かつ送信割込み許可レジスタ(TxIER)の TxD/I ビットが“1”であるとき、送信 DMA 終了入力に なります。送信フレーム最終デ―タの DMA 転送時に、 “L”を入力するとフレーム終結動作(FCS の自動生成を 設定しているならばFSC の付加、終了フラグの付加)を 行います。 送信モードレジスタ(SMR3)の TxLASTEND ビットが “0”であるとき、この入力は意味を持ちません。または 送信割込み許可レジスタ(TxIER)の TxD/I ビットが “0”であるときこの入力は常に“1”にしてください。 送信データ出力 TXDT ― O シリアル送信データの出力 受信データ入力 RXDT ― I シリアル受信データの入力 リセット入力 XRES 負 I “L”アクティブのリセット入力 リード入力 XRD 負 I XCS 入力が“L”であるとき、XRD 入力が“L”になる と、アドレス入力 A4~A0 で選択されているレジスタの 内容をデータ出力DO7~DO0 から出力します。 また、受信DMA 転送時にこの端子を使用して受信デー タの読み出しを行います。 ライト入力 XWR 負 I XCS 入力が“L”であるとき、XWR 入力が“L”になる と、アドレス入力A4~A0 で選択されているレジスタにデ ータ入力DI7~DI0 の内容が書き込まれます。 また、送信DMA 転送時にこの端子を使用して送信デー タの書き込みを行います。 チップセレクト入力 XCS 負 I この入力が“L”であると、XRD 入力,XWR 入力によっ てレジスタの読み出し,書き込みを行うことができます。 システムクロック入力 CLK ― I 動作クロックを入力して下さい。 送受信クロックの最低 4 倍のクロックを入力してくださ い。(推奨32 倍) 8 ビットデータ入力 DI7:0 ― I 8 ビットデータ入力です。
表3.1-1 端子機能説明(2/2) 信号名 端子名 極 性 入出力 機 能 8 ビットデータ出力 DO7:0 ― O 8 ビットデータ出力 5 ビットアドレス入力 A4:0 ― I これらの入力は、レジスタへのデータ書き込みまたは レジスタ内容の読み出しを行う際、レジスタを選択する ための入力です。 送信割り込み要求出力 TIRQ 正 O “H”の送信割込み要求を発生します。割込み要因ビ ットをクリアすることにより、割込み要求が取り下げら れ、“L”になります。 レジスタへの設定で割込み要因 をマスクすることが可能です。 受信割り込み要求出力 RIRQ 正 O “H”の受信割込み要求を発生します。割込み要因ビ ットをクリアすることにより、割込み要求が取り下げら れ、“L”になります。 レジスタへの設定で割込み要因 をマスクすることが可能です。 受信DMA 要求出力 RDRQ 正 O 読み出されるデータが存在するとき、受信割込み許可 レジスタ(RxIER)の RxD/I ビットが“1”であると、 “H”を出力します。読み出されるデータが存在しない とき、“L”を出力します。受信割込み許可レジスタ (RxIER)の RxD/I ビットが“0”であると、“L”を出力 します。
送信DMA 要求出力 TDRQ 正 O 送信割込み許可レジスタ(TxIER)の TxD/I ビットが
“1”であると、送信データの書き込みが可能なとき、 “H”を出力します。書き込みが出来ないとき、“L”を出 力します。送信割込み許可レジスタ(TxIER)の TxD /I ビットが“O”であると、“L”を出力します。 受信DMA アクノリッジ 入力
XRACK 負 I 受信割込み許可レジスタ(RxIER)の RxD/I ビット
が“1”であり、受信データの DMA 転送を行うとき、 “L”のアクノリッジ信を入力して下さい。受信割込み許 可レジスタ(RxIER)の RxD/I ビットが“O”であると、 この入力は意味を持ちません。
送信DMA アクノリッジ 入力
XTACK 負 I 送信割込み許可レジスタ(TxIER)の TxD/I ビット
が“1”であり、送信データの DMA 転送を行うとき、 “L”のアクノリッジ信号を入力して下さい。送信割込み 許可レジスタ(TxIER)の TxD/I ビットが“O”である と、この入力は意味を持ちません。
バス制御信号 DDIR 負 O HDLC に対しリード動作をしている場合に“L”出力と
TD-HDLCip
第4章 レジスタ構成
4.1 レジスタマップ 表4.1-1 レジスタマップ ア ド レ ス レ ジ ス タ 名 レジスタ省略 記載場所 (ページ) XCS A4 A3 A2 A1 A0 0 0 0 0 0 0 CRC 選択 SMR1 10 0 0 0 0 0 1 転送モード SMR2 10 0 0 0 0 1 0 受信ステータス0 RxSR0 12 0 0 0 0 1 1 受信ステータス1 RxSR1 13 0 0 0 1 0 0 受信制御 RxCR 14 0 0 0 1 0 1 受信割込み許可 RxIER 15 0 0 0 1 1 X 送信ステータス TxSR 16 0 0 1 0 0 0 送信制御 TxCR 17 0 0 1 0 0 1 送信割込み許可 TxIER 19 0 0 1 0 1 0 シリアルデータ SDR 20 0 0 1 0 1 1 送信モード SMR3 11 0 0 1 1 0 0 リクエスト REQR 21 0 0 1 1 0 1 マスク MASKR 22 0 1 X X X X Reserved 1 X X X X X No access4.2 レジスタ説明 レジスタの表記は以下の通りです。 最上段はビット番号、2段目は機能名、3段目はCPU のアクセス条件、最下段は リセット時の値を表記します。 ・ ビット番号:左側をMSB、右側を LSB とします。 ・機能名 :機能名の省略です。 ・R/W :アクセス条件は次の通りです。 R :リード可 W :ライト可 R0 :リード時は常に“0”です。 W0 :“0”の書き込みのみ許可 未使用ビットでは“0”を書き込んで下さい。 ・ リセット時:リセット後の値を表します。 X:不定
TD-HDLCip
CRC 選択レジスタ
(Serial Mode reg.1 SMR1) アドレス=00
【概要】 CRC のポリノミアル(生成多項式)を選択します。 【構成】 ビット番号 7 6 5 4 3 2 1 0 機能名 未使用 未使用 未使用 PRS CRCM1 CRCM0 未使用 未使用 R/W R0/W0 R0/ W0 R0/ W0 R/W R/W R/W R0/W0 R0/ W0 リセット時 0 0 0 0 0 0 0 0 【説明】 CRCM 1~0:CRC Mode 1~0 CRCM1,CRCM0 ビットは、CRC ポリノミアルの設定ビットです。 CRCM1 CRCM0 ポリノミアル 0 0 1 1 0 1 0 1 CRC ディゼーブル Reserved CRC16 (X16+X15+X2+1) CCITT (X16+X12+X5+1) 注)CRCM1,CRCM0 ビットに‘01’を設定した場合の動作は保証されません。 PRS:Preset PRSビットには、CRCジェネレータおよびCRCチェッカーのプリセット値およびCRC演算結果 の送信シリアルデータ上での非反転/反転を設定するビットです。 0:プリセット値“0”、送信するCRC演算結果は非反転。 1:プリセット値“1”、送信するCRC演算結果は反転。 転送モードレジスタ
(Serial Mode reg.2 SMR2) アドレス=01 【概要】 転送モードを設定します。
【構成】
ビット番号 7 6 5 4 3 2 1 0
機能名 未使用 CODE2 CODE1 CODE0 未使用 未使用 未使用 未使用
R/W R0/W0 R/W R/W R/W R0/W0 R0/W0 R0/W0 R0/ W0 リセット時 0 0 0 0 0 0 0 0 【説明】 CODE 0~2:Code0~2 CODE0、CODE1、CODE2ビットは、RXDT入力に各種復号化機能、TXDT出力に種符号化機能を 設定するためのビットです。
CODE2 CODE1 CODE0 符 号 / 復 号
0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 NRZ (Reserved) NRZI (Reserved) FM 0 FM 1 (Reserved) (Reserved) 注)Reserved を選択した場合の動作は保証されません。 送信モードレジスタ
(Serial Mode reg.3 SMR3) アドレス=0B 【概要】 送信動作の詳細を設定します。 【構成】 ビット番号 7 6 5 4 3 2 1 0 機能名 未使用 未使用 未使用 NRZI M 未使用 未使用 TxUEN D TxLAST END R/W R0/W0 R0/W0 R0/W0 R/W R0/ W0 R0/W0 R/W R/W リセット時 0 0 0 0 0 0 0 0 【説明】
TxLASTEND : Transmit Last End
TxLASTEND ビットは、DMA 転送による送信動作中に XTLAST 入力信号によりフレーム終結動
作をするかしないかを設定するビットです。このビットに“1”を設定した場合はXTLAST 入力信号による
フレーム 終結動作が可能となり、“0”を設定した場合は XTLAST 入力信号によるフレーム終結作業が なされません。
TxUEND : Transmit Under Run End
TxUEND ビットは、送信動作中にアンダーランが発生したことによってフレーム終結動作をするかし ないかを設定するビットです。このビットに“1”を設定した場合はアンダーラン発生によるフレーム終結動 作(FCSの挿入/送信、及び終了フラグの送信)が可能となり、“0”を設定した場合はアンダーランの発 生時にアボートパターンを送信してフレーム終結作業を行いません。 但し、TxLASTEND ビットによる DMA 転送の終結動作が設定されている場合には本ビットによらず、 アンダーラン発生時には終結動作を行います。
NRZIM : NRZI Mode
NRZIM ビットは、NRZI符号時の自動復帰モードをするかしないかを設定するビットです。このビット
に“1”を設定している場合は、送信データが論理“1”でTxDT端子出力が“L”レベルの状態が16送信ク ロック分(“0”挿入なし)連絡したとき、自動的に17送信クロック目からTxDT端子出力を“H”レベルにし ます。(自動復帰動作)“0”を設定している場合は、自動復帰動作を行いません。
TD-HDLCip
受信ステータスレジスタ0
(Receiver Status reg.0 RxSR0) アドレス=02 【概要】 受信ステータスを示します。
【構成】
ビット番号 7 6 5 4 3 2 1 0
機能名 ADET EOF SFER OER CRCER RxIDL DIDL RxRDY
R/W R R R R R R R/W R
リセット時 0 0 0 0 0 0 0 0
【説明】
RxRDY : Receive Ready
RxRDY ビットは、受信データの有無を示すビットです。このビットが“1”を示しているときは、シリアル データレジスタ(SDR)に受信データが存在することを意味します。このビットが“0”を示しているときは、 シリアルデータレジスタ(SDR)には受信データが存在しないことを意味します。 このビットは、以下のいずれかの要因により、クリアされます。 ・ CPUによるこのビットの“1”読み出し後の受信データの読み出し。 ・ DMAコントローラによる受信データの読みだし。 ・ 受信制御レジスタ(RxCR)のRxEビットへの“0”書き込み。
DIDL : Delta Idle
DIDLビットは、アイドル受信による割り込み要求の有無を示します。このビットはRxIDLビット の立ち上がりが検出されると“1” を示し、受信割込み許可レジスタ(RxIER)のDIDLIEビットが“1”
に 設 定 され て い る と 割 込 み 要 求 を発 生 し ます 。 R x I D L ビ ッ ト の 立 ち 上 が り が 未 検 出 の 場 合 “0”を示します。このビットは“1”を読み出した後の“0”の書き込みでクリアされます。
RxIDL: Receive Idle
RxIDLビットは、アイドル受信状態を示します。このビットは、15ビットの連続した論理“1”を 受信すると“1”を示し、フラグ受信でクリアされます。15ビットの連続した論理“1”を受信していないと “0”を示します。 CRCER: CRC Error CRCERビットは、CRCエラーの発生の有無を示すビットです。このビットは、CRCのエラーが発生 すると“1”を示し、受信割込み許可レジスタ(RxLER)のERRIEビットが“1”に設定されていると割込 み 要 求 を 発 生 し ま す 。 C R C エ ラ ー が 発 生 し て い な い と “ 0 ” を 示 し ま す 。 こ の ビ ッ ト は “ 1 ” を 読み出された後、受信制御レジスタ(RxCR)のSTCビットに“1”が書き込まれることによりクリア されます。
OER : Over Run Error OER ビットは、オーバランエラーの発生の有無を示すビットです。このビットは、オーバランエラーが発 生すると“1”を示し、受信割込み許可レジスタ(RxIER)の ERRIE ビットが“1”に設定されて いると割込み要求を発生します。オーバランエラーが発生していないと“0”を示します。このビットは “1”を読み出された後、受信制御レジスタ(RxCR)の STC ビットに“1”が書き込まれることによりクリ アされます。
SFER : Short Frame Error
SFER ビットは、ショート・フレーム・エラー発生の有無を示すビットです。HDLCが検出できるショート・ フレームは、フラグ間の0消去後のビット数 が16ビット以上32ビット未満のフレームです。このビット は、ショート・フレーム・エラーが発生すると“1”を示し、受信割込み許可レジスタ(RxIER)の ERRIE ビ ットが“1”に設定されていると割込み要求を発生します。ショート・フレーム・エラーが発生していない と“0”を示します。 このビットは“1”を読み出された後、受信制御レジスタ(RxCR)の STC ビットに“1”が書き込まれるこ とによりクリアされます。
EOF : End of Frame
EOF ビットは、フラグ受信によるフレームの終了の有無を示すビットです。このビットは、終了フラグに よるフレームの終了を検出すると“1”を示し、受信割込み許可レジスタ(RxIER)の ENDIE ビットが “1”に設定されていると割込み要求を発生します。終了フラグによるフレームの終了を検出していな い場合は“0”を示します。このビットは“1”を読み出された後、受信制御レジスタ(RxCR)の STC ビッ トに“1”が書き込まれることによりクリアされます。
ADET : Abort Detect
ADET ビットは、アボート検出(連続する7ビットの論理“1”の受信)の有無を示すビットです。このビット は、フレーム受信中にアボートパターンを検出すると“1”を示し、その時受信割込み許可レジスタ(Rx IER)の ENDIE ビットが“1”に設定されていると割込み要求を発生します。アボート検出をしていない 場合は“0”を示します。このビットは“1”を読み出された後、受信制御レジスタ(RxCR)の STC ビット に“1”が書き込まれることによりクリアされます。 受信ステータスレジスタ1
( Receiver Status Reg.1 RxSR1) アドレス=03 【概要】 受信ステータスを示します。 【構成】 ビット番号 7 6 5 4 3 2 1 0 機能名 未使用 未使用 未使用 未使用 未使用 RBL2 RBL1 RBL0 R/W R0 R0 R0 R0 R0 R R R リセット時 0 0 0 0 0 0 0 0
TD-HDLCip 【説明】
RBL2~0 : Residue Bit Length2 ~0
RBL2, RBL1, RBL0 ビットは、最終受信データの端数ビット数(破棄すべきビットの数)を示します。 これらのビットは受信ステータスレジスタ0(RxSR0)の EOF ビットが1”にセットされた時に有効 になります。 RBL2 RBL1 RBL0 端数ビット数 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 2 3 4 5 6 7 受信制御レジスタ
( Receiver Control Reg. RxCR) アドレス=04 【概要】 SIUの受信動作を制御するレジスタです。 【構成】 ビット番号 7 6 5 4 3 2 1 0 機能名 RxE 未使用 未使用 未使用 未使用 未使用 未使用 STC R/W R/W R0/W0 R0/ W0 R0/ W0 R0/ W0 R0/ W0 R0/W0 R0/W リセット時 0 0 0 0 0 0 0 0 【説明】 STC : Status Clear STC ビットは、受信ステータスレジスタ0(RxSR0)に示されるステータスをクリアするためのビットです。 このビットに“1”を書き込むと、受信ステータスレジスタ0(RxSR0)の ADET,EOF,SFER,OER,CRCER ビ ットの内、“1”が読み出された全てのビットがクリアされます。
RxE : Receiver Enable
RxE ビットは、レシーバをイネーブルにするかしないかを指定するビットです。このビットが“1”にセット されていると、レシーバはイネーブル状態です。このビットが“0”にセットされていると、レシーバはデ ィセーブル状態です。ディセーブル状態では、受信データFIFOの内容および受信ステータスレジス0 (RxSR0)の RxRDY ビットがクリアされレシーブ・シフト・レジスタの内容は“1”に初期化されていま す。
受信割込み許可レジスタ
( Receiver Interrupt Enable Reg. RxIER ) アドレス=05 【概要】 レシーバ部の割込みのイネーブル/ディセーブルを設定します。 【構成】
ビット番号 7 6 5 4 3 2 1 0
機能名 RxD/I 未使用 未使用 未使用 END
IE ERR IE DIDL IE RxRDY IE
R/W R/W R0/ W0 R0/ W0 R0/ W0 R/W R/W R/W R/W リセット時 0 0 0 0 0 0 0 0 【説明】
RxRDYIE : Receive Ready Interrupt Enable
RxRDYIE ビットは、受信ステータスレジスタ0(RxSR0)の RxRDY ビットによる割込みのイネーブル/ ディセーブルを設定するビットです。このビットは、本レジスタの RxD/I ビットと関係があります。RxD/I ビットの説明を参照して下さい。
0:ディセーブル 1:イネーブル
DIDLIE : Delta idle Interrupt Enable
DIDLIE ビットは、受信ステータスレジスタ0(RxSR0)の DIDL ビットによる割込みのイネーブル/ディ セーブルを設定するビットです。
0:ディセーブル 1:イネーブル
ERRIE : Error Interrupt Enable
ERRIE ビットは、受信ステータスレジスタ0(RxSR0)の CRCER ビット,OER ビット, SFER ビットのいず れかによる割込みのイネーブル/ディセーブルを設定するビットです。
0:ディセーブル 1:イネーブル
ENDIE : End Interrupt Enable
ENDIE ビットは、受信ステータスレジスタ0(RxSR0)の ADET ビット,EOF ビットのいずれかによる割 込みのイネーブル/ディセーブルを設定するビットです。
0:ディセーブル 1:イネーブル
TD-HDLCip
RxD/I : Receiver DMA/Interrupt Request
RxD/I ビットは、受信ステータスレジスタ0(RxSR0)の RxRDY ビットによってシリアルデータレジスタ (SDR)に受信データが有ることを示している時に、DMA要求を発生するか割込み要求を発生する かを選択するビットです。このビットが“1”に設定されていると RxRDY ビットが“1”を示している間DM A要求を発生します。このビットが“0”に設定されていて、さらに RxRDYIE ビットが“1”に設定されてい る場合、RxRDY ビットが“1”を示している間割込み要求を発生します。 RxD/I ビットを“1”に設定した場合、RACX入力は受信DMAアクノリッジ入力を受け付け、RDRQ出 力は受信DMA要求出力の発生が可能になります。“0”に設定した場合、RACX入力は無効であり、 RDRQ出力は“L”レベルです。
RxD/I RxRDYIE RxRDY 要求の種類
0 0 0 1 発生しない 発生しない 0 1 0 1 発生しない 割り込み要求 1 0 0 1 発生しない DMA 要求 1 1 0 1 設定禁止 設定禁止 送信ステータスレジスタ
( Transmitter Status Reg. TxSR) アドレス=06 or 07 【概要】 SIC の送信状態を示すレジスタです。
【構成】
ビット番号 7 6 5 4 3 2 1 0
機能名 未使用 未使用 未使用 未使用 TxEND TxEMP TxU TxRDY
R/W R0/ W0 R0/W0 R0/ W0 R0/ W0 R/W R R/W R リセット時 0 0 0 0 0 1 0 1 【説明】
TxRDY : Transmitter Ready
TxRDY ビットは、シリアルデータレジスタ(SDR)に送信データの書き込みが可能であるか否かを示 すビットです。このビットが“1”を示している時は、シリアルデータレジスタ(SDR)への送信データの 書き込みが可能です。 このビットが“0”を示している時は、シリアルデータレジスタ(SDR)に送信デ ータを書き込まないで下さい。 このビットは、以下のいずれかの要因によりクリアされます。 ・DMAコントローラによるシリアルデータレジスタ(SDR)への書き込み。 ・CPUによるこのビットの“1”読み出し後のシリアルデータレジスタ(SDR)への送信データ書き込み。 (送信データFIFOに空きが有る場合はすぐに“1”を示します。) ・アボート送信動作(送信制御レジスタ(TxCR)のSA ビットへの“1”書き込み。)
TxU : Transmitter Under-run TxU ビットは、送信動作中に送信データのアンダーランが発生したか否かを示します。 このビットは、送信制御レジスタ(TxCR)の TxLAST ビットで“1”をセットしていなくて、フレームの送 信中に送信データFIFO内の送信すべきデータが無くなると“1”を示します。このとき、送信モードレジ スタ(SMR3)のTxUEND ビットでフレームの終結方法をアンダーランに設定していなければアボー トを送信します。また、送信割込み許可レジスタ(TxIER)の TxUIE ビットが“1”に設定されていると 割込み要求を発生します。このビットは、アンダーランが発生していなければ“0”を示します。 送信制御レジスタ(TxCR)の SA ビットに“1”が書き込まれるとアボートを送信した後、TxU ビットの クリア動作を行うまで TxRDY ビットは“1”を示しません。このビットは、“1”を読み出した後に“0”を 書き込むことによりクリアされます。 TxEMP : Transmitter Empty
TxEMP ビットは、送信すべきデータの有無を示すビットです。このビットは、送信すべきデータがシリ アルデータレジスタ(SDR),送信データFIFO,および送信シフトレジスタに存在しないときは“1”を 示し、存在するときは“0”を示します。
TxEND : Transmit End
TxEND ビットは、フレーム送信の終結を示します。このビットは、フレームの送信を終結(フラグパタ ーンの最終ビットがシフトレジスタから送出されたとき)すると“1”を示します。このとき、送信割込み 許可レジスタ(TxIER)の TxENDIE ビットが“1”に設定されていると割込み要求を発生します。この ビットは、フレームの送信を終結していなければ“0”を示します。このビットは、“1”を読み出した後に “0”を書き込むことによりクリアされます。 送信制御レジスタ
( Transmitter Control Reg. TxCR ) アドレス=08 【概要】 SIUの送信動作を制御するレジスタです。
【構成】
ビット番号 7 6 5 4 3 2 1 0
機能名 TxE SH SB IDLS TxRST SA 未使用 TxLAST
R/W R/W R/W R/W R/W R0/W R0/W R0/W0 R0/W
リセット時 0 0 0 0 0 0 0 0
【説明】
TxLAST : Transmit Last
TxLAST ビットは、シリアルデータレジスタ(SDR)に送信するデータを書き込む時に送信フレームの 最終データを指定するビットです。送信ステータスレジスタ(TxSR)のTxRDY ビットが“1”であること を確認後、このビットに“1”を設定し、その後にシリアルデータレジスタ(SDR)に書き込まれたデータ が最終のデータとなります。最終データを送出した後、FCS(CRCイネーブルの場合)と終了フラグが 自動送出されます。送信モードレジスタ(SMR3)のTxLASTEND ビット、TxUEND ビットの指定に より自動的に最終データを指定することもできます。最終のデータ以外の場合は、このビットへの設 定は不要です。
TD-HDLCip SA : Send Abort SA ビットは、フレーム送信中にアボート送信を指定するためのビットです。このビットに“1”を書き込 むと送信ステータスレジスタ(TxSR)の TxRDY ビットがクリアされます。このことにより現在の送信 データFIFOの内容を全て送信するとアンダーランが発生し、送信ステータスレジスタ(TxSR)のTxU ビットが“1”を示し、アボート(8ビットの論理“1”)を送信します。この時、送信モードレジスタ(SMR
3)の TxUEND ビットに“0”が設定されている必要があります。TxU ビットをクリアすると、TxRDY
ビットが“1”を示し新フレームの1バイト目のデータを書き込むことが可能になります。アボート送信後、 まだ送信すべきデータを書き込んでいなければアイドル状態となり本レジスタのIDLS ビットで指定さ れたデータを送信します。 TxRST: Transmitter Reset TxRST ビットはトランスミッタ部の初期化を指定するためのビットです。このビットに“1”を書き込むと、 トランスミッタ部は初期化され、送信ステータスレジスタ(TxSR)のTxRDY ビットと TxEMP ビット, 送信制御レジスタTxCR)の各ビット,送信FIFOの内容がリセット後と同じ状態になります。
IDLS : Idle Select
IDLS ビットは、本レジスタの TxE ビットで送信イネーブルになっている時、アンダーランが発生して いなく、送信ステータスレジスタ(TxSR)の TxEMP ビットが“1”を示している時(=送信アイドル状 態)の送信データを指定するためのビットです。このビットが“1”に設定されている場合、送信アイドル 状態の時フラグパターンを送信します。“0”に設定されている場合、送信アイドル状態の時論理“1” を送信します。 SB : Send Break SB ビットは、TXDT出力の出力レベルを強制的に“L”にする為のビットです。このビットが“1”に設定 されている間、TXDT出力は“L”レベルを出力します。データ送信中に、このビットによりTXDT出力 が“L”レベルになっても送信動作には影響を与えません。(内部的に送信動作が継続されていま す。)ただし、このビットが“1”に設定されていても本レジスタの SH ビットが“1”に設定されている場 合には、TXDT出力からは“H”レベルが出力されます。(SH ビット優先) SH : Send High Level
SH ビットは、TXDT出力の出力レベルを強制的に“H”にするためのビットです。
このビットが“1”に設定されている間、TXDT出力は“H”レベルを出力します。データ送信中に、この ビットによりTXDT出力が“H”レベルになっても送信動作には影響を与えません。(内部的に送信動 作が継続されています。)
TxE : Transmitter Enable
TxE ビットは、トランスミッタをイネーブルにするか否かを設定するビットです。このビットが“1”に設 定されている間、トランスミッタはイネーブル状態になりデータの送信が可能になります。このビットが “0”に設定されている間、トランスミッタはディセーブル状態になります。トランスミッタがディセーブル
状態であっても、送信ステータスレジスタTxSR)の TxRDY ビットが“1”を示していればシリアルデ
に送信が開始されます。
送信割込み許可レジスタ
( Transmitter Interrupt Enable Reg. TxIER) アドレス=09 【概要】 トランスミッタ部の割込みのイネーブル・ディセーブルを設定します。 【構成】 ビット番号 7 6 5 4 3 2 1 0 機能名 TxD/I 未使用 未使用 未使用 TxEND IE 未使用 Txu IE TxRDY IE R/W R/W R0/ W0 R0/ W0 R0/ W0 R/W R0/ W0 R/W R/W リセット時 0 0 0 0 0 0 0 0 【説明】
TxRDYIE : Transmit Ready Interrupt Enable
TxRDYIE ビットは、送信ステータスレジスタ(TxSR)の TxRDY ビットによる割込みのイネーブル
/ディセーブルを設定するビットです。このビットは、本レジスタの TxD/I と関係があります。TxD/I
ビットの説明を参照して下さい。 0:ディセーブル
1:イネーブル
TxUIE : Transmit Under-Run Interrupt Enable
TxUIE ビットは、送信ステータスレジスタ(TxSR)の TxU ビットによる割込みのイネーブル/ディセ ーブルを設定するビットです。
0:ディセーブル 1:イネーブル
TxENDIE : Transmit End Interrupt Enable
TxENDIE ビットは、送信ステータスレジスタ(TxSR)の TxEND ビットによる割込みのイネーブル /ディセーブルを設定するビットです。
0:ディセーブル 1:イネーブル
TD-HDLCip
TxD/I : DMA Request /Interrupt Request
TxD/I ビットは、送信ステータスレジスタ(TxSR)の TxRDY ビットによってシリアルデータレジスタ (SDR)に送信すべきデータを書き込めることを示している時、DMA要求を発生するか割込み要求を 発生するかを選択するビットです。このビットが“1”に設定されていると、TxRDY ビットが“1”を示し ている間、DMA要求が発生します。このビットが“0”に設定されていて、さらに TxRDYIE ビットが “1”に設定されている場合、TxRDY ビットが“1”を示している間、割込み要求が発生します。TxD/I ビットを“1”に設定した場合、XTACK 入力は送信DMAアクノリッジ入力を受け付け,TDRQ 出力は 送信DMA要求出力が可能になり,XTLAST 入力は送信DMA終了入力を受け付けます。“0”に設 定した場合、XTACK 入力は無効,TDRQ出力は“L”レベル,XTLAST 入力は無効になります。この ビットが“1”に設定されている場合には送信フレームの終結方法は、送信モードレジスタ(SMR3)の 設定により、XTLAST 入力,Txアンダーランによるものになります。“0”に設定されている場合には 送信フレームの終結方法は、送信モードレジスタ(SMR3)の設定により送信制御レジスタ(TxCR) のTxLAST ビット、 Txアンダーランによるものになります。
TxD/I TxRDYIE TxRDY 要求の種類
0 0 0 1 発生しない 発生しない 0 1 0 1 発生しない 割り込み要求 1 0 0 1 発生しない DMA 要求 1 1 0 1 設定禁止 設定禁止 シリアルデータレジスタ
( Serial Data Reg. SDR ) アドレス=0A 【概要】 シリアルデータのリード/ライト・レジスタです。 【構成】 ビット番号 7 6 5 4 3 2 1 0 機能名 D7 D6 D5 D4 D3 D2 D1 D0 R/W R/W R/W R/W R/W R/W R/W R/W R/W リセット時 X X X X X X X X 【説明】 送信ステータスレジスタ(TxSR)のTxRDY ビットの“1”読み出し後、このレジスタに書き込まれたデ ータが送信データになります。受信ステータスレジスタ(RxSR0)の RxRDY ビットの“1”読み出し後、 このレジスタを読み出したデータが受信データになります。
リクエストレジスタ ( Request Reg. REQR ) アドレス=0C 【概要】 送信,受信の割込み、およびDMA要求の状態を示すレジスタです。 このレジスタはマスクレジスタ(MASKR)によってマスクされません。 【構成】 ビット番号 7 6 5 4 3 2 1 0 機能名 TxDRQ RxDRQ 未使用 未使用 未使用 未使用 ITx IRx R/W R R R0 R0 R0 R0 R R リセット時 0 0 0 0 0 0 0 0 【説明】
IRx : Interrupt Receiver 0:受信割込み要求なし 1:受信割込み要求あり ITx : Interrupt Transmitter 0:送信割込み要求なし 1:送信割込み要求あり RxDRQ : Receiver DMA Request 0:受信DMA要求なし 1:受信DMA要求あり
TxDRQ : Transmitter DMA Request 0:送信DMA要求なし
TD-HDLCip マスクレジスタ ( Mask Reg. MASKR) アドレス=0D 【概要】 SIUより発生するDMA要求と割込み要求をマスクするレジスタです。 【構成】 ビット番号 7 6 5 4 3 2 1 0 機能名 MTxDRQ MRxDRQ 未使用 未使用 未使用 未使用 MTx MRx R/W R/W R/W R0/ W0 R0/ W0 R0/ W0 R0/ W0 R/W R/W リセット時 1 1 0 0 0 0 1 1 【説明】
MRx : Mask Receiver Interrupt 0:受信割込みマスク解除 1:受信割込みマスク
MTx : Mask Transmitter Interrupt 0:送信割込みマスク解除 1:送信割込みマスク
MRxDRQ : Mask Receiver DMA Request 0:受信DMA要求マスク解除 1:受信DMA要求マスク
MTxDRQ : Mask Transmitter DMA Request 0:送信DMA要求マスク解除 1:送信DMA要求マスク
第5章 動作説明 5.1 ステータス FIFO 構成 図5.4-1 受信データFIFO とステータス FIFO 受信/ステータスFIFO は、同時に進みます。 受信データを読み込む前には、必ずステータスレジスタを読んでください。(DMA を除く) レシーバ ステータス FIFO Top Bottom 受信データ FIFO Top Bottom CRCE R OER EOF ADET SFER RBL2RBL1 RBL0 D7 D6 D5 D4 D3 D2 D1 D0 受信ステータスレジスタ0 RxSR0 受信ステータスレジスタ1 RxSR1 シリアルデータレジスタ SDR
bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 MSB
TD-HDLCip 5.2 符号/復号 本HDLCは、転送モードレジスタ(SMR2)の CODE0 ~2 ビットの設定によりNRZ ,NRZI,FM0,FM1の各符号/復号を選択することが可能です。 下記に各符号のデータとシリアル転送クロックの関係の例を示します。 (実際の本IPの外部信号とは異なります) 符号/復号
1
0
0
1
1
0
1
NRZのTXCI NRZのデータ NRZのRXCI NRZIのTXCI NRZIのデータ NRZIのRXCI FMOのTXCI FMOのデータ FMOのRXCI FM1のTXCI FM1のデータ FM1のRXCI第6章 外部タイミング 6.1 CPU リード/ライトタイミング 下記にCPU のアクセスタイミングを示します。 リード動作ではA、XCS、XRD で選択された内部レジスタ内容を DO バスに出力します。 また、その時にDDIR を“L”にします。 ライト動作ではアドレスA、XCS、XWR で示される内部レジスタに対し DI バスの内容を CLK の立上りに同期して取り込みます。 注) シリアルデータレジスタ (SDR )に書き込むときは、XWR の幅を2CLK 以上にしないでください。 CLK A XCS XRD XWR DI DO DDIR CPU リード/ライトタイミング
TD-HDLCip 6.2 送信DMA ライトタイミング 以下に送信DMA ライトタイミングを示します。 HDLC は送信要求信号として TDRQ を出力いたしますので、CPU は応答として TACK、XWR,を入 力します。その時の DI の内容を CLK の立ち上がりに同期して内部レジスタに取り込みシリアル I/F に出力いたします。また次の送信要求がある場合、再度TDRQ を出力いたします。
XTLAST が有効設定時、DMA サイクルにて XTLAST 信号を検出すると HDLC は送信 DMA 終了 動作を行ないます。 注) XWR の幅を2CLK 以上にしないでください。 CLK XCS XRD XWR DI DO DDIR 送信DMAライトタイミング TDRQ XTACK XTLAST
6.3 受信DMA リードタイミング 以下に受信DMA リードタイミングを示します。 HDLC は受信要求信号として RDRQ を出力します。CPU は応答として XRAK、XRD を入力し、 DO バスに出力される受信内容を読み込みます。 また、その時DDIR 信号は“L”を出力いたします。 CLK XCS XRD XWR DI DO DDIR 受信DMAリードタイミング RDRQ XRACK
TD-HDLCip 6.4 シリアルI/F タイミング 以下にシリアルI/F を示します。 [送信側] 送信側ではTXCI を CLK の立ち上がりで F/F に取り込み、立ち上がり/立下り検出を行ないます。 送信回路はこの立ち上がり/立下り検出された信号を送信イネーブルとし、CLK に同期し TXDT 出力を行ないます。言い換えると TXCI は CLK 同期入力を行なう必要があります。 [受信側] 受信側も同様にRXCI を CLK の立ち上がりで F/F に取り込み、立ち上がり検出を行ないます。 受信回路は立ち上がり検出された信号を受信イネーブルとし、CLK に同期して RXDT 入力を 回路内部に取り込みます。言い換えるとRXCI は CLK 同期入力、RXDT は受信イネーブル で取り込めるようなタイミングで入力する必要があります。 注)CLK は TXCI、RXCI に対し4倍以上(推奨 32 倍)の周波数クロックを入力してください。 CLK TXCI RXCI 内部TXCI 立上り検出 立下り検出 TXDT 内部RXCI 立上り検出 RXDT 内部RXDT [送信側] [受信側]
※インプリメントについて
TD-HDLCip
© 2006-2014 Tokyo Electron Device Limited printed in JAPAN 2014 年 4 月 ・ この資料の記載内容は、予告なしに変更することがあります。ご使用を検討の際には弊社担 当までご確認ください。 ・ この資料に記載された情報・図面の使用に起因する第三者の特許権、工業所有権、その他 の権利侵害について、弊社はその責任を負うものではありません。 ・ 本製品を他の製品と組み合わせて、または他の製品に組み込んで使用される二次製品、三 次製品等について、第三者との間に特許権、実用新案権、回路配置利用権、著作権、その 他の知的財産権の関する紛争が発生した場合には、本製品をご使用される方の責任におい て処理、解決してください。 ・ 本製品は、生命維持装置、原子力制御装置、航空宇宙機、輸送機器等の極めて高い信頼 性が要求される装置用に製造されておりません お問い合わせは下記営業担当までお願い致します。 インレビアム営業部 〒221-0056 神奈川県横浜市神奈川区金港町1番 4 横浜イーストスクエア TEL 045-443-4031 FAX 045-443-4059 E-mail [email protected] URL http://www.inrevium.jp