JP4062829B2 - Serial interface circuit - Google Patents
Serial interface circuit Download PDFInfo
- Publication number
- JP4062829B2 JP4062829B2 JP23754299A JP23754299A JP4062829B2 JP 4062829 B2 JP4062829 B2 JP 4062829B2 JP 23754299 A JP23754299 A JP 23754299A JP 23754299 A JP23754299 A JP 23754299A JP 4062829 B2 JP4062829 B2 JP 4062829B2
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- packet
- response
- serial interface
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Small-Scale Networks (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、パケットデータの送受信を行うシリアルインタフェース回路に関するものである。
【0002】
【従来の技術】
近年、マルチメディア・データ転送のためのインタフェースとして、高速データ転送、リアルタイム転送を実現するIEEE(The Institute of Electrical and Electronic Engineers) 1394、High Performance Sirial Busが規格化された。
【0003】
このIEEE1394シリアルインタフェースのデータ転送においては、ネットワーク内で行われる転送動作をサブアクションと呼び、2つのサブアクションが規定されている。
一つは、従来のRequest,Acknowledge の要求、受信確認を行うアシンクロナス(Asynchronous) 転送であり、他の一つはあるノードから125μsに1回必ずデータが送られるアイソクロナス(Isochronous) 転送である。
【0004】
このように、2つの転送モードを有するIEEE1394シリアルインタフェースでのデータは、パケット単位で転送が行われるが、IEEE1394規格では、取り扱う最小データの単位は1クワドレット(quadlet) (=4バイト=32ビット)である。
【0005】
IEEE1394規格では、通常、コンピュータデータは、図6に示すように、アシンクロナス転送を用いて行われる。
アシンクロナス転送は、図6(a)に示すように、バスを獲得するためのアービトレーション(arb)、データを転送するパケットトランスミッション、およびアクノリッジメント(ack)の3つの遷移状態をとる。
【0006】
そして、パケットトランスミッションの実行は、図6(b)に示すようなフォーマットで行われる。
転送パケットの第1クワドレットは、16ビットのデスティネーションID(destination ID)領域、6ビットのトランザクション・ラベルtl(transaction label) 領域、2ビットのリトライ コードrt(retry code)領域、4ビットのトランザクション・コードtcode(transanction code) 領域、および4ビットのプライオリティpri(priority)領域から構成されている。
デスティネーションID領域はこのノードのバスナンバーとノードナンバー、プライオリティ領域は優先レベルを示す。
【0007】
第2クワドレットおよび第3クワドレットは、16ビットのソースID(source ID) 領域、および48ビットのデスティネーション・オフセット(destination offset)領域により構成されている。
ソースID領域はこのパケットを送ったノードIDを示し、デスティネーション・オフセット領域はハイ(High)およびロー(Low) の連続した領域からなり、デスティネーション・ノードのアドレス空間のアドレスを示す。
【0008】
第4クワドレットは、16ビットのデータ長(data length) 領域、および16ビットのイクステンディド・トランザクション・コード(extended tcode)領域に構成されている。
データ長領域は受信したパケットのバイト数を示し、イクステンディド tcode領域はtcodeがロック・トランザクション(Lock transaction)の場合、このパケットのデータが行う実際のロック動作(Lock Action) を示す領域である。
【0009】
データフィールド領域(data field)の前のクワドレットに付加されたヘッダCRC(header CRC) 領域は、パケットヘッダの誤り検出符号である。
また、データ領域(data field)の後のクワドレットに付加されたデータCRC(data CRC) 領域は、データフィールドの誤り検出符号である。
【0010】
【発明が解決しようとする課題】
ところで、シリアルインタフェース回路においては、たとえばコアレジスタ、バス・ディペンド(bus-dependent) レジスタ、ユニット・アーキテクチャ( unit-architecture)レジスタ等からなる制御およびステータスのレジスタであるCSR(Control and Status Registers)が設けられる。
【0011】
IEEE1394シリアルインタフェース上で、CSRへのアクセス(読み出し/書き込み)は、一般的にソフトウェアで行われていた。
これは、CSR自体もソフトウェア側で持っているためである。このような場合には、制御回路としてのCPU側で全ての処理を行うため、アクセスに対する要求(Request) パケットはコマンド転送用のパケットと同一の受信FIFO(Firs-In First-Out) に格納した後、順次CPUが読み出し、所定の処理を行う。
【0012】
したがって、従来の制御回路としてのCPU側で全ての処理を行う構成では、応答に時間がかかり、また、CPUの負担が大きいという不利益がある。
【0013】
本発明は、かかる事情に鑑みてなされたものであり、その目的は、制御回路の負担を軽減でき、しかも高速に応答することができるシリアルインタフェース回路を提供することにある。
【0014】
【課題を解決するための手段】
上記目的を達成するため、本発明は、シリアルインタフェースバスを転送されたパケットを受信し、受信パケットに対する応答パケットを当該シリアルインタフェースバスに送信するシリアルインタフェース回路であって、制御およびステータス用レジスタと、受信パケットの内容に応じた応答パケットを生成して上記シリアルインタフェースバスに送信する制御系回路と、受信パケットが上記レジスタへの要求パケットの場合に、当該要求パケットの内容および処理に応じた応答パケットを生成する自動応答回路と、受信パケットが上記レジスタへのアクセスを要求する要求パケットであるか否かを判別し、要求パケットの場合には受信パケットを上記自動応答回路に供給し、要求パケット以外の場合には受信パケットを上記制御系回路に供給する判別回路とを有する。
【0015】
また、本発明では、上記自動応答回路は、供給されたデータのアドレスが、上記レジスタへの正常なアクセスか異常なアクセスかを判別し、正常な場合には内容に応じた応答パケットを生成し、異常な場合にはエラー応答パケットを生成する。
【0016】
また、本発明では、上記受信パケットはアシンクロナスパケットであり、上記判別回路が判別する情報は、デスティネーション・オフセット(destination offset)領域に設定されている情報である。
【0017】
また、本発明では、上記判別回路は、受信パケットの供給先を判別するまで上記自動応答回路および制御系回路に受信パケットを供給し、判別後、非供給先の回路への受信パケットの供給を停止する。
【0018】
本発明によれば、シリアルインタフェースバスを転送されたパケットは、たとえば判別回路に入力される。
判別回路では、たとえば受信パケットに付加されている供給先情報により制御およびステータス用レジスタのアクセスを要求する要求パケットか、それ以外のたとえばコマンド等の制御用パケットであるかが判別される。
このとき、受信パケットが要求パケットであると判断した場合には当該要求パケットが自動応答回路に供給され、制御用パケットであると判断した場合には当該制御用パケットが制御系回路に供給される。
要求パケットが供給された自動応答回路では、要求パケットの内容および処理に応じた応答パケットが自動的に生成され、生成された応答パケットが送信系回路を通してシリアルインタフェースバスに送出される。
また、制御系回路では、供給された制御用パケットの内容および処理に応じた通常の応答パケットが生成され、生成された応答パケットが送信系回路を通してシリアルインタフェースバスに送出される。
【0019】
また、判別回路では、たとえば受信パケットの供給先が判別するまで、受信パケットが自動応答回路および制御系回路に供給される。
そして、判別の結果、受信パケットが要求パケットの場合には、制御系回路への受信パケットの供給が停止され、受信パケットが当該要求パケット以外の場合には自動応答回路への受信パケットの供給が停止される。
【0020】
【発明の実施の形態】
図1は、本発明に係るIEEE1394シリアルインタフェース回路の一実施形態を示すブロック構成図である。
なお、図1においては、アイソクロナス通信系回路の具体的な構成は図示していない。
【0021】
このシリアルインタフェース回路は、リンク・レイヤ回路10、フィジカル・レイヤ回路20、およびホストコンピュータとしてのマイクロコンピュータ30により構成されている。
【0022】
リンク・レイヤ回路10は、マイクロコンピュータ30の制御の下、アシンクロナス転送およびアイソクロナス転送の制御、並びにフィジカル・レイヤ回路20の制御を行う。
【0023】
図1に示すように、リンク・レイヤ回路10のアシンクロナス通信系回路は、たとえば、リンクコア101、マイクロコンピュータI/F回路102、デマルチプレクサ103、受信用FIFOメモリ(AR-FIFO) 104、送信用FIFOメモリ(AT-FIFO) 105、判別回路としてのインバウンド回路106、オートレスポンス回路(自動応答回路)107、アウトバウンド回路108、および送信用リンクFIFOメモリ(LAT-FIFO)109により構成されている。
なお、受信用FIFOメモリ104、マイクロコンピュータI/F102、およびマイクロコンピュータ30により制御系回路が構成される。
【0024】
リンクコア101は、アシンクロナス通信用パケットおよびアイソクロナス通信用パケットの送信回路、受信回路、これらパケットのIEEE1394シリアルバスBSを直接ドライブするフィジカル・レイヤ回路20とのインタフェース回路、125μs毎にリセットされるサイクルタイマ、サイクルモニタやCRC回路から構成されている。
また、リンクコア101は、フィジカル・レイヤ回路20およびIEEE1394シリアルインタフェースバスBSを介して、送受信先の信号処理回路との間で、送受信の可否を示すCS(Cycle Start) パケットを125μs毎に送受信する。
なお、図1では、上述したように、アイソクロナス通信系のFIFO等は省略している。
【0025】
マイクロコンピュータI/F102は、主としてマイクロコンピュータ30と、送信用FIFOメモリ104および受信用FIFOメモリ105との間でのアシンクロナス通信用パケットの書き込み、読み出し等の調停等を行う。
【0026】
デマルチプレクサ103は、リンクコア101から入力した通信用パケットの1394ヘッダ内に存在するt−code(図6)を参照して、アシンクロナス通信用パケット、アイソシンクロナス通信用パケットおよびセルフIDパケットのいずれであるかを識別し、アシンクロナス通信用パケットであればインバウンド回路106に出力し、アイソクロナス通信用パケットであれば図示しない処理回路に出力する。
【0027】
また、受信用FIFOメモリ104は、IEEE1394シリアルインタフェースバスBSを伝送されてきたアシンクロナス通信用パケットが、インバウンド回路106により格納される。
また、たとえばインバウンド回路106からのCSR−abort 信号ABRTをアクティブで受けると、たとえば3クワドレット程度まで格納した受信パケットは、マイクロコンピュータ30で処理するパケットではなく、たとえばCSRに対するリード(read)/ ライト(write)/ロック(lock)処理用のパケットであるとして、ライト(write) ポインタを元に戻す(当該パケットの格納開始前のポインタ位置に戻す)。
【0028】
送信用FIFOメモリ105には、IEEE1394シリアルバスBSに伝送させるアシンクロナス通信用パケットが格納され、格納データはアウトバウンド回路108に与えられる。
【0029】
インバウンド回路106は、デマルチプレクサ103から入力したアシンクロナス通信用パケットを受けて、受信パケットがCSR宛あるいはコンフィギュレーションROM(CONFIG ROM)宛のパケットであるのか、受信用FIFOメモリ104に格納すべきコントロール用コマンド等のパケットであるのかを、図6(b)に示す第3クワドレットのデスティネーション・オフセット(destination offset)領域により示されるアドレスによって判断し、CSR宛の場合には受信パケットデータをオートレスポンス回路107に供給し、受信用FIFOメモリ104に格納すべきパケットの場合には、受信用FIFOメモリ104に供給する。
【0030】
図2は、デスティネーション・オフセットの例を示す図である。
この例では、図2に示すように、オフセット「021C−021F」は「Bus Manager ID」、オフセット「0220−0223」は「Bandwidth available」、オフセット「0224−0227」は「Channel available Hi」、オフセット「0228−022B」は「Channel available Lo」、オフセット「0400−0413」は「Config ROM」、オフセット「0900−0903」は「OMPR」、オフセット「0904−0907」は「OPCR」、オフセット「0980−0983」は「IMPR」、およびオフセット「0984−0987」は「IPCR」をそれぞれ示している。
【0031】
そして、インバウンド回路106は、上述したように、第3クワドレットのデスティネーション・オフセット領域により示されるアドレスを確認するまでは、オートレスポンス回路107および受信用FIFOメモリ104の両方に受信パケットデータを供給し、CSR宛あるいはコンフィギュレーションROM(CONFIG ROM)宛のパケットであると判断した場合には、CSR−abort 信号ABRTをアクティブで受信用FIFOメモリ104に出力し、非アクティブでオートレスポンス回路107に出力する。
【0032】
具体的には、インバウンド回路106は、第1クワドレットのデータ(32ビット)が入力されたとき、オートレスポンス回路107の先頭(第1番目)レジスタにデータを書き込み、受信用FIFOメモリ104の0番地に第1クワドレットのデータを書き込む。
次に、インバウンド回路106は、第2クワドレットのデータ(32ビット)が入力されたとき、オートレスポンス回路107の第2番目レジスタにデータを書き込み、受信用FIFOメモリ104の1番地に第2クワドレットのデータを書き込む。
そして、インバウンド回路106は、第3クワドレットのデータ(32ビット)が入力されたとき、デスティネーション・オフセット領域により示されるアドレスを確認することにより、CSR宛等、すなわちオートレスポンスするパケットであるか否かの判別を行う。
インバウンド回路106は、CSR宛等のパケットであると判別したときは、オートレスポンス回路107の第3番目レジスタにデータを書き込み、受信用FIFOメモリ104のライトポインタ(アドレス)を0に戻す。
以降、パケットの最後のデータまで、第n番目のデータを第n番目レジスタに書き込んでいく。
一方、インバウンド回路106は、CSR宛等のパケットでないと判別したときは、受信用FIFOメモリ104の2番地に第3クワドレットのデータを書き込む。
以降、パケットの最後のデータまで、第n番目のデータを第(n−1)番地に書き込んでいく。
【0033】
また、インバウンド回路106は、CSR宛等ではなく受信用FIFOメモリ104行きのパケットであると判断した場合には、受信用FIFOメモリ104へのCSR−abort 信号ABRTを非アクティブとし、オートレスポンス回路107へのCSR−abort 信号ABRTをアクティブとする。
【0034】
なお、受信データは、ライト(write) 信号WRINおよび確認(confirm) 信号CNFMによって、受信用FIFOメモリ104またはオートレスポンス回路107に格納される。ライト(write) 信号WRINが書き込みポインタを、確認(confirm) 信号CNFMが確認ポインタを制御する。したがって、供給データは確認(confirm) 信号CNFMによって確定することになる。
たとえば、アクティブのCSR−abort 信号ABRTを受けた受信用FIFOメモリ104では、以降の確認(confirm) 信号を無視して、代わりの書き込みポインタを前の状態に戻す。
【0035】
オートレスポンス回路107は、インバウンド回路106から入力したアシンクロナス通信用パケットに対して、所定のオートレスポンス処理を行い、その処理結果であるアシンクロナス通信用パケットを生成して、アウトバウンド回路106に出力する。
ここで、オートレスポンス処理とは、IEEE1394シリアルインタフェースバスBSを伝送されてきたアシンクロナス通信用パケットを、マイクロコンピュータ30に出力して処理するのではなく、リンク・レイヤ回路10内で自動的に処理を行い、その処理結果をIEEE1394シリアルバスBSを伝送する処理をいう。
【0036】
図3は、オートレスポンス回路107の具体的な構成例を示すブロック図である。
このオートレスポンス回路107は、図3に示すように、入力タイミング生成回路1071、データストア回路1072、アドレスチェック回路1073、応答パケット生成回路1074、出力タイミング生成回路1075、CSR1076、およびCONFIG ROM1077により構成されている。
【0037】
入力タイミング生成回路1071は、CSR−abort 信号ABRTを非アクティブで受け、また確認信号CNFM INをアクティブで受けた場合、ライト信号WRINを受けてインバウンド回路106から供給される受信データの入力タイミング信号S1071a,S1071bを生成してそれぞれデータストア回路1072および出力タイミング生成回路1075に出力する。
【0038】
データストア回路1072は、レジスタDSreg1,DSreg2,DSreg3で構成され、入力タイミング生成回路1071で生成された入力タイミングに基づいて、インバウンド回路106から供給されるデータを一時格納する。この格納データは、アドレスチェック回路1073および応答パケット生成回路1074に供給される。
【0039】
アドレスチェック回路1073は、データストア回路1072に格納されたデータのアドレスが、レジスタへの正常なアクセスか異常なアクセスかを判別し、その結果を信号S1073として応答パケット生成回路1074に出力する。
【0040】
応答パケット生成回路1074は、アドレスチェック回路1072の出力信号S1073が、正常なレジスタへのアクセスである旨を示している場合には、その内容に応じた応答パケットを生成し、データDOUTとしてアウトバウンド回路108に出力する。
一方、応答パケット生成回路1074は、アドレスチェック回路1072の出力信号S1073が、たとえばリードしか許さないアドレスにロックをかけた場合、アドレスエラーあるいはタイプエラーの応答パケットを生成し、データDOUTとしてアウトバウンド回路108に出力する。
【0041】
出力タイミング生成回路1075は、入力タイミング生成回路1071によるタイミング信号S1071bを受けて応答パケット生成回路1074による応答パケットデータDOUTの送信用リンクFIFOメモリ109への出力タイミングを生成し、リードレスポンスの信号WROUTとしてアウトバウンド回路108に出力する。このとき、確認信号CNFMをアクティブで、アボート(無効)信号ABRTを非アクティブで出力する。
【0042】
図4は、オートレスポンス回路107にリード・クワドレット・リクエスト(Read-Quadlet-Request)の要求パケットが供給されたときの入力データおよび信号、並びに生成された応答パケットデータおよび信号例を示す図である。
また、図5は、リード・クワドレット・リクエストに応じて生成された応答パケットのフォーマットを示す図である。
なお、図4では、例してオフセット「021C(Bus Manager ID)」にリードリクエストを出す場合を示している。
【0043】
この場合、図4(a)および(b)に示すように、クワドレット単位でライト信号WRINがHdr1,Hdr2,Hdr3に順に入力され、第4クワドレットの入力タイミングでライト信号WRINおよび確認信号CNFM INが供給される。
この例では、第1クワドレットの第1ヘッダ(Hdr1)のデータは、たとえば「00010004」として供給され、第2クワドレットの第2ヘッダ(Hdr2)のデータは、たとえば「FFC1FFFF」として供給され、第3クワドレットの第3ヘッダ(Hdr3)のデータは、たとえば「F000021C」として供給される。
【0044】
そして、データストア回路1072のレジスタDSreg1,DSreg2,DSreg3にデータ(Hdr1,Hdr2,Hdr3)が取り込められる。
データストア回路1072では、レジスタDSreg1にHdr3が入力されたときに、全てのデータが取り込めたことになる。
【0045】
アドレスチェック回路1073では、データストア回路1072のレジスタDSreg3に取り込まれたデータHdr1のt−code=4により、このパケットがリードリクエストということ、レジスタDSreg1に取り込まれたオフセット=21Cによりオートレスポンス宛のパケットというこで、信号S1073がたとえばハイレベルで応答パケット生成回路1074に出力される。
【0046】
また、CSR1076およびCONFIG ROM1077は、各オフセット値に対応したレジスタを有しており、データストア回路1072のレジスタDSreg1のデータHdr3よりオフセット値=21Cのデータ(0000003f)が出力される。
【0047】
そして、応答パケット生成回路1074では、第1および第2のクワドレットにおける第1および第2のヘッダHdr1,Hdr2が作成され、さらに第4クワドレットにリード・データが設定されて、応答パケットが生成される。
この場合、応答パケット生成回路1074では、第1クワドレットの第1ヘッダ(Hdr1)のデータは、入力のデータHdr1=00010040より、応答パケットのHdr1=00010060(t−code=6:リードレスポンス)が生成される。
同様に、入力のデータHdr2=FFC1FFFFより、応答パケットのHdr2=FFC00000が生成される。
【0048】
そして、出力タイミング生成回路1075によりリードレスポンスの出力タイミング信号WROUTに同期して応答パケット生成回路1074から生成されたHdr1,Hdr2、およびリードデータが出力される。
最後に、出力タイミング生成回路1075により信CNFMOUTが出力されて、有効なデータとなる。
【0049】
アウトバウンド回路108は、オートレスポンス処理の場合にはオートレスポンス回路107で生成されたアシンクロナス通信用パケットを送信用リンクFIFOメモリ108に出力し、通常処理の場合には、マイクロコンピュータ30で生成され、送信用FIFOメモリ105に格納されたアシンクロナス通信用パケットを送信用リンクFIFOメモリ108に出力する。
【0050】
送信用リンクFIFOメモリ109は、アウトバウンド回路108から入力したアシンクロナス通信用パケットを格納するリングバッファである。
【0051】
次に、上記構成における動作について、CSR宛の要求パケットを受信したときの動作を例に説明する。
【0052】
たとえばIEEE1394シリアルインタフェースバスBSを転送されてきたパケットデータがフィジカル・レイヤ回路20、リンク・レイヤ回路10のリンクコア101を介してデマルチプレクサ103に入力される。
【0053】
デマルチプレクサ103では、リンクコア101から入力した通信用パケットの1394ヘッダ内に存在するt−code(図6)が参照されて、アシンクロナス通信用パケット、アイソクロナス通信用パケットおよびセルフIDパケットのいずれであるかが識別され、アシンクロナス通信用パケットであればインバウンド回路106に出力される。
【0054】
インバウンド回路106では、デマルチプレクサ103からのアシンクロナス通信用パケットを受けて、受信パケットの第3クワドレットのデスティネーション・オフセット領域により示されるアドレスによって、受信パケットがCSR宛あるいはコンフィギュレーションROM(CONFIG ROM)宛のパケットであるのか、受信用FIFOメモリ104に格納すべきコントロール用コマンド等のパケットであるのかが判断される。
【0055】
インバウンド回路106において、受信パケットがCSR宛の要求パケットであると判断されると、受信パケットデータがオートレスポンス回路107に供給される。
一方、受信用FIFOメモリ104に格納すべきパケットであると判断された場合には、受信パケットは受信用FIFOメモリ104に供給される。
【0056】
このとき、インバウンド回路106からは、上述したように、第3クワドレットのデスティネーション・オフセット領域により示されるアドレスを確認するまでは、オートレスポンス回路107および受信用FIFOメモリ104の両方に受信パケットデータが供給される。
本例では、受信パケットはCSR宛の要求パケットと仮定していることから、CSR宛のパケットであると判断され、インバウンド回路106からはCSR−abort 信号ABRTをアクティブで受信用FIFOメモリ104に出力され、非アクティブでオートレスポンス回路107に出力される。
また、インバウンド回路106からはオートレスポンス回路107に対して、ライト信号WRINが各クワドレットの先頭タイミングで出力されるとともに、第3クワドレット以降、たとえば第5クワドレットの先頭タイミングで確認信号CNFMが出力される。
【0057】
一方、受信用FIFOメモリ104では、インバウンド回路106からのCSR−abort 信号S108を介してアクティブで受けると、たとえば3クワドレット程度まで格納した受信パケットは、CSR宛のものとして、ライト(write) ポインタが当該パケットの格納開始前のポインタ位置に戻される。
【0058】
インバウンド回路106からオートレスポンス回路107に供給されたライト信号WRIN、SR−abort 信号ABRTおよび確認信号CNFMは入力タイミング生成回路1071に入力される。
入力タイミング生成回路1071では、CSR−abort 信号ABRTを非アクティブで受け、確認信号CNFMをアクティブで受けることから、ライト信号WRINに基づいてインバウンド回路106から供給される受信データの入力タイミング信号S1071a,S1071bが生成されて、データストア回路1072および出力タイミング生成回路1075に出力される。
【0059】
データストア回路1072では、入力タイミング生成回路1071で生成された入力タイミングに基づいて、インバウンド回路106から供給されるデータが一時格納される。この格納データは、アドレスチェック回路1073および応答パケット生成回路1074に供給される。
【0060】
アドレスチェック回路1073では、データストア回路1072に格納されたデータのアドレスが、レジスタへの正常なアクセスか異常なアクセスかが判別され、その結果が信号S1073として応答パケット生成回路1074に出力される。
【0061】
応答パケット生成回路1074においては、アドレスチェック回路1072の出力信号S1073が、正常なレジスタへのアクセスである旨を示している場合には、その内容に応じた応答パケットが生成されて、データDOUTとしてアウトバウンド回路108に出力される。
一方、アドレスチェック回路1072の出力信号S1073が、たとえばリードしか許さないアドレスにロックをかけた場合、アドレスエラーあるいはタイプエラーの応答パケットが生成され、データDOUTとしてアウトバウンド回路108に出力される。
【0062】
また、出力タイミング生成回路1075では、入力タイミング生成回路1071によるタイミング信号S1071bを受けて応答パケット生成回路1074による応答パケットデータDOUTの送信用リンクFIFOメモリ109への出力タイミングが生成され、信号WROUTとしてアウトバウンド回路108に出力される。このとき、確認信号CNFMがアクティブで、アボート(無効)信号ABRTが非アクティブで、アウトバウンド回路108に出力される。
【0063】
そして、生成された応答パケットは送信用リンクFIFOメモリ108を介してリンクコア101に入力され、さらにフィジカル・レイヤ回路20を介してシリアルインタフェースバスBSに送信される。
【0064】
以上説明したように、本実施形態によれば、受信パケットがCSR宛の要求パケットの場合に、要求パケットの内容および処理に応じた応答パケットを生成するオートレスポンス回路107と、受信パケットがCSRへのアクセスを要求する要求パケットであるか否かを判別し、要求パケットの場合には受信パケットをオートレスポンス回路107に供給し、要求パケット以外の場合には受信パケットを格納データがマイクロコンピュータ30で用いられる受信用FIFOメモリ104に供給するインバウンド回路107とを設けたことから、制御回路としてマイクロコンピュータ30の負担を軽減でき、しかも高速に応答することができるシリアルインタフェース回路を実現できる利点がある。
【0065】
なお、外部またはマイクロコンピュータ30からコンフィギュレーションレジスタ等に設定した制御情報をアクティブで受けると、インバウンド回路106からのCSR−abort 信号ABRTをアクティブで受けたとしても、受信パケットの格納を停止せずにすべて格納するように構成することも可能である。
この場合には、マイクロコンピュータ30により、ソフトウェアによる制御が可能である。
【0066】
【発明の効果】
以上説明したように、本発明によれば、制御回路の負担を軽減でき、しかも高速に応答することができるシリアルインタフェース回路を実現できる利点がある。
【図面の簡単な説明】
【図1】本発明に係るIEEE1394シリアルインタフェース回路の一実施形態を示すブロック構成図である。
【図2】デスティネーション・オフセットの例を示す図である。
【図3】本発明に係るオートレスポンス回路の具体的な構成例を示すブロック図である。
【図4】オートレスポンス回路にリード・クワドレット・リクエストの要求パケットが供給されたときの入力データおよび信号、並びに生成された応答パケットデータおよび信号例を示す図である。
【図5】リード・クワドレット・リクエストに応じて生成された応答パケットのフォーマットを示す図である。
【図6】IEEE1394規格のアシンクロナス転送を説明するための図である。
【符号の説明】
10…リンク・レイヤ回路、20…フィジカル・レイヤ回路、30…マイクロコンピュータ、101…リンクコア、102…マイクロコンピュータI/F、103…デマルチプレクサ、104…受信用FIFOメモリ(AR-FIFO) 、105…送信用FIFOメモリ(AT-FIFO) 、106…インバウンド回路、107…オートレスポンス回路(自動応答回路)、108…アウトバウンド回路、109…送信用リンクFIFOメモリ(LAT-FIFO)、1071…入力タイミング生成回路、1072…データストア回路、1073…アドレスチェック回路、1074…応答用レジスタ、1075…出力タイミング生成回路、1076…CSR、1077…CONFIG ROM。[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a serial interface circuit that transmits and receives packet data.
[0002]
[Prior art]
In recent years, IEEE (The Institute of Electrical and Electronic Engineers) 1394 and High Performance Serial Bus that realize high-speed data transfer and real-time transfer have been standardized as interfaces for multimedia data transfer.
[0003]
In the data transfer of the IEEE1394 serial interface, a transfer operation performed in the network is called a subaction and two subactions are defined.
One is conventional Asynchronous transfer for request / acknowledge request and reception confirmation, and the other is isochronous transfer in which data is always sent once every 125 μs from a certain node.
[0004]
In this way, data in the IEEE 1394 serial interface having two transfer modes is transferred in units of packets, but in the IEEE 1394 standard, the minimum data unit to be handled is 1 quadlet (= 4 bytes = 32 bits). It is.
[0005]
According to the IEEE 1394 standard, computer data is normally transmitted using asynchronous transfer as shown in FIG.
Asynchronous transfer, as shown in FIG. 6A, takes three transition states: arbitration (arb) for acquiring a bus, packet transmission for transferring data, and acknowledgment (ack).
[0006]
The packet transmission is executed in a format as shown in FIG.
The first quadlet of the transfer packet includes a 16-bit destination ID area, a 6-bit transaction label tl (transaction label) area, a 2-bit retry code rt (retry code) area, and a 4-bit transaction code. It consists of a code tcode (transanction code) area and a 4-bit priority pri (priority) area.
The destination ID area indicates the bus number and node number of this node, and the priority area indicates the priority level.
[0007]
The second quadlet and the third quadlet are configured by a 16-bit source ID area and a 48-bit destination offset area.
The source ID area indicates the node ID that sent this packet, and the destination offset area is composed of continuous high and low areas, and indicates the address of the destination node address space.
[0008]
The fourth quadlet is composed of a 16-bit data length area and a 16-bit extended transaction code area.
The data length area indicates the number of bytes of the received packet, and the extended tcode area indicates the actual lock action (Lock Action) performed by the data of this packet when tcode is a lock transaction. .
[0009]
The header CRC (header CRC) area added to the quadlet before the data field area is an error detection code of the packet header.
A data CRC (data CRC) area added to the quadlet after the data field is an error detection code of the data field.
[0010]
[Problems to be solved by the invention]
By the way, the serial interface circuit is provided with CSR (Control and Status Registers) which are control and status registers including, for example, a core register, a bus-dependent register, a unit-architecture register, and the like. It is done.
[0011]
On the IEEE 1394 serial interface, access (read / write) to the CSR is generally performed by software.
This is because the CSR itself also has on the software side. In such a case, since all processing is performed on the CPU side as the control circuit, the request packet for access is stored in the same reception FIFO (Firs-In First-Out) as the command transfer packet. Thereafter, the CPU sequentially reads and performs predetermined processing.
[0012]
Therefore, in the configuration in which all processing is performed on the CPU side as a conventional control circuit, there is a disadvantage that it takes time to respond and the burden on the CPU is large.
[0013]
The present invention has been made in view of such circumstances, and an object of the present invention is to provide a serial interface circuit that can reduce the burden on the control circuit and can respond at high speed.
[0014]
[Means for Solving the Problems]
In order to achieve the above object, the present invention is a serial interface circuit that receives a packet transferred through a serial interface bus and transmits a response packet to the received packet to the serial interface bus, and includes a control and status register, A control system circuit that generates a response packet according to the content of the received packet and transmits the response packet to the serial interface bus, and when the received packet is a request packet to the register, a response packet according to the content and processing of the request packet And an automatic response circuit that generates a request packet to determine whether or not the received packet is a request packet for requesting access to the register. If the received packet is a request packet, the received packet is supplied to the automatic response circuit. In this case, the received packet is sent to the control system circuit. And a sheet discriminating circuit.
[0015]
In the present invention, the automatic response circuit determines whether the address of the supplied data is normal access or abnormal access to the register, and generates a response packet corresponding to the content if normal. If it is abnormal, an error response packet is generated.
[0016]
In the present invention, the received packet is an asynchronous packet, and the information determined by the determination circuit is information set in a destination offset area.
[0017]
In the present invention, the determination circuit supplies the reception packet to the automatic response circuit and the control system circuit until the supply destination of the reception packet is determined. After the determination, the determination circuit supplies the reception packet to the non-supply destination circuit. Stop.
[0018]
According to the present invention, the packet transferred through the serial interface bus is input to the determination circuit, for example.
In the determination circuit, for example, it is determined based on the supply destination information added to the received packet whether it is a request packet for requesting access to the control and status register, or another control packet such as a command.
At this time, if it is determined that the received packet is a request packet, the request packet is supplied to the automatic response circuit. If it is determined that the received packet is a control packet, the control packet is supplied to the control system circuit. .
In the automatic response circuit supplied with the request packet, a response packet corresponding to the content and processing of the request packet is automatically generated, and the generated response packet is sent to the serial interface bus through the transmission system circuit.
The control system circuit generates a normal response packet according to the contents and processing of the supplied control packet, and sends the generated response packet to the serial interface bus through the transmission system circuit.
[0019]
In the determination circuit, for example, the received packet is supplied to the automatic response circuit and the control system circuit until the supply destination of the received packet is determined.
As a result of the determination, when the received packet is a request packet, the supply of the received packet to the control system circuit is stopped, and when the received packet is other than the request packet, the supply of the received packet to the automatic response circuit is stopped. Stopped.
[0020]
DETAILED DESCRIPTION OF THE INVENTION
FIG. 1 is a block diagram showing an embodiment of an IEEE 1394 serial interface circuit according to the present invention.
In FIG. 1, the specific configuration of the isochronous communication system circuit is not shown.
[0021]
This serial interface circuit includes a
[0022]
The
[0023]
As shown in FIG. 1, the asynchronous communication system circuit of the
The
[0024]
The
The
In FIG. 1, as described above, the isochronous communication FIFO and the like are omitted.
[0025]
The microcomputer I /
[0026]
The
[0027]
In the
For example, when the CSR-abort signal ABRT from the
[0028]
The
[0029]
The
[0030]
FIG. 2 is a diagram illustrating an example of the destination offset.
In this example, as shown in FIG. 2, the offset “021C-021F” is “Bus Manager ID”, the offset “0220-0223” is “Bandwidth available”, the offset “0224-0227” is “Channel available Hi”, and the offset “0228-022B” is “Channel available Lo”, offset “0400-0413” is “Config ROM”, offset “0900-0903” is “OMPR”, offset “0904-0907” is “OPCR”, offset “0980- “0983” indicates “IMPR”, and the offset “0984-0987” indicates “IPCR”.
[0031]
Then, as described above, the
[0032]
Specifically, when the first quadlet data (32 bits) is input, the
Next, when the second quadlet data (32 bits) is input, the
Then, when the third quadlet data (32 bits) is input, the
When determining that the packet is addressed to the CSR, the
Thereafter, the nth data is written to the nth register until the last data of the packet.
On the other hand, when the
Thereafter, the nth data is written to the (n−1) th address until the last data of the packet.
[0033]
If the
[0034]
The reception data is stored in the
For example, the receiving
[0035]
The
Here, the auto-response processing is not performed by outputting the asynchronous communication packet transmitted through the IEEE 1394 serial interface bus BS to the
[0036]
FIG. 3 is a block diagram illustrating a specific configuration example of the
As shown in FIG. 3, the
[0037]
When the input
[0038]
The
[0039]
The
[0040]
When the output signal S1073 of the
On the other hand, the response
[0041]
The output
[0042]
FIG. 4 is a diagram illustrating input data and signals when a response packet for a read-quadlet request (Read-Quadlet-Request) is supplied to the
FIG. 5 is a diagram showing a format of a response packet generated in response to the read quadlet request.
FIG. 4 shows a case where a read request is issued to the offset “021C (Bus Manager ID)” as an example.
[0043]
In this case, as shown in FIGS. 4A and 4B, the write signal WRIN is sequentially input to Hdr1, Hdr2, and Hdr3 in units of quadlets, and the write signal WRIN and the confirmation signal CNFM IN are input at the input timing of the fourth quadlet. Supplied.
In this example, the data of the first header (Hdr1) of the first quadlet is supplied as “00010004”, for example, and the data of the second header (Hdr2) of the second quadlet is supplied as “FFC1FFFF”, for example. The data of the third header (Hdr3) of the quadlet is supplied as “F000021C”, for example.
[0044]
Then, the data (Hdr1, Hdr2, Hdr3) is taken into the registers DSreg1, DSreg2, DSreg3 of the
In the
[0045]
In the
[0046]
The
[0047]
Then, response
In this case, the response
Similarly, Hdr2 = FFC00000 of the response packet is generated from the input data Hdr2 = FFC1FFFF.
[0048]
The output
Finally, the signal CNFMOUT is output by the output
[0049]
The
[0050]
The transmission
[0051]
Next, the operation in the above configuration will be described taking the operation when a request packet addressed to CSR is received as an example.
[0052]
For example, packet data transferred through the IEEE 1394 serial interface bus BS is input to the
[0053]
In the
[0054]
The
[0055]
When the
On the other hand, when it is determined that the packet is to be stored in the
[0056]
At this time, as described above, the
In this example, since the received packet is assumed to be a request packet addressed to the CSR, it is determined that the packet is addressed to the CSR, and the
The
[0057]
On the other hand, in the receiving
[0058]
The write signal WRIN, SR-abort signal ABRT, and confirmation signal CNFM supplied from the
Since the input
[0059]
The
[0060]
The
[0061]
In the response
On the other hand, when the output signal S1073 of the
[0062]
The output
[0063]
The generated response packet is input to the
[0064]
As described above, according to this embodiment, when the received packet is a request packet addressed to the CSR, the auto-
[0065]
If control information set in the configuration register or the like is actively received from the outside or the
In this case, the
[0066]
【The invention's effect】
As described above, according to the present invention, there is an advantage that a serial interface circuit that can reduce the burden on the control circuit and can respond at high speed can be realized.
[Brief description of the drawings]
FIG. 1 is a block diagram showing an embodiment of an IEEE 1394 serial interface circuit according to the present invention.
FIG. 2 is a diagram illustrating an example of a destination offset.
FIG. 3 is a block diagram showing a specific configuration example of an auto response circuit according to the present invention.
FIG. 4 is a diagram showing input data and signals when a read packet for a read quadlet request is supplied to an auto response circuit, and generated response packet data and signal examples.
FIG. 5 is a diagram illustrating a format of a response packet generated in response to a read quadlet request.
FIG. 6 is a diagram for explaining asynchronous transfer of the IEEE 1394 standard.
[Explanation of symbols]
DESCRIPTION OF
Claims (6)
制御およびステータス用レジスタと、
受信パケットの内容に応じた応答パケットを生成して上記シリアルインタフェースバスに送信する制御系回路と、
受信パケットが上記レジスタへの要求パケットの場合に、当該要求パケットの内容および処理に応じた応答パケットを生成する自動応答回路と、
受信パケットが上記レジスタへのアクセスを要求する要求パケットであるか否かを判別し、要求パケットの場合には受信パケットを上記自動応答回路に供給し、要求パケット以外の場合には受信パケットを上記制御系回路に供給する判別回路と
を有するシリアルインタフェース回路。A serial interface circuit that receives a packet transferred through a serial interface bus and transmits a response packet to the received packet to the serial interface bus.
Control and status registers;
A control system circuit for generating a response packet according to the content of the received packet and transmitting it to the serial interface bus;
An automatic response circuit that generates a response packet according to the content and processing of the request packet when the received packet is a request packet to the register;
It is determined whether or not the received packet is a request packet for requesting access to the register. If the received packet is a request packet, the received packet is supplied to the automatic response circuit. A serial interface circuit having a determination circuit for supplying to a control system circuit.
請求項1記載のシリアルインタフェース回路。The automatic response circuit determines whether the address of the supplied data is normal access or abnormal access to the register, and if normal, generates a response packet according to the contents, and if abnormal, The serial interface circuit according to claim 1, wherein an error response packet is generated.
請求項1記載のシリアルインタフェース回路。2. The serial interface circuit according to claim 1, wherein the received packet is an asynchronous packet, and the information discriminated by the discriminating circuit is information set in a destination offset area.
請求項2記載のシリアルインタフェース回路。3. The serial interface circuit according to claim 2, wherein the received packet is an asynchronous packet, and the information determined by the determination circuit is information set in a destination offset area.
請求項3記載のシリアルインタフェース回路。4. The determination circuit supplies the reception packet to the automatic response circuit and the control system circuit until determining the supply destination of the reception packet, and stops the reception packet supply to the non-supply destination circuit after the determination. Serial interface circuit.
請求項4記載のシリアルインタフェース回路。5. The determination circuit supplies the reception packet to the automatic response circuit and the control system circuit until determining the supply destination of the reception packet, and stops the reception packet supply to the non-supply destination circuit after the determination. Serial interface circuit.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP23754299A JP4062829B2 (en) | 1998-09-30 | 1999-08-24 | Serial interface circuit |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP27879298 | 1998-09-30 | ||
JP10-278792 | 1998-09-30 | ||
JP23754299A JP4062829B2 (en) | 1998-09-30 | 1999-08-24 | Serial interface circuit |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000174780A JP2000174780A (en) | 2000-06-23 |
JP4062829B2 true JP4062829B2 (en) | 2008-03-19 |
Family
ID=26533253
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP23754299A Expired - Fee Related JP4062829B2 (en) | 1998-09-30 | 1999-08-24 | Serial interface circuit |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4062829B2 (en) |
-
1999
- 1999-08-24 JP JP23754299A patent/JP4062829B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2000174780A (en) | 2000-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3560423B2 (en) | Packet transmitting / receiving device and packet receiving device | |
JP3543647B2 (en) | Data transfer control device and electronic equipment | |
JP2000506295A (en) | Asynchronous data pipe that automatically manages asynchronous data transfer between the application and the bus | |
US6754184B2 (en) | Information processing apparatus and method, and distribution medium | |
US20070180336A1 (en) | Multi-initiator control unit and method | |
JP3584789B2 (en) | Data transfer control device and electronic equipment | |
JP2003174486A (en) | Information communication device, information communication method and information communication processing program | |
EP1091523B1 (en) | Speed converter for IEEE-1394 serial bus network | |
JP3733699B2 (en) | Serial interface circuit | |
JP3785747B2 (en) | Serial interface circuit and signal processing method thereof | |
US6578095B1 (en) | Data transfer control device for transferring data among a plurality of nodes and electronic equipment | |
JP4062829B2 (en) | Serial interface circuit | |
JP3539287B2 (en) | Data transfer control device and electronic equipment | |
JP4128454B2 (en) | Interface circuit | |
JP3494040B2 (en) | Data transfer control device and electronic equipment | |
JP3494042B2 (en) | Data transfer control device and electronic equipment | |
JPH1117710A (en) | Serial interface circuit | |
JPH1117773A (en) | Serial interface circuit | |
JP3837843B2 (en) | Serial interface circuit | |
JPH1117775A (en) | Serial interface circuit | |
JP2000115176A (en) | Serial interface circuit | |
JPH11308300A (en) | Serial interface circuit | |
JPH11308301A (en) | Serial interface circuit | |
US20010044869A1 (en) | Interface unit for digital serial data, bridge portal utilizing the same, and a method for transmitting digital data | |
JP4244474B2 (en) | Information processing apparatus and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060112 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20071130 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20071211 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20071224 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110111 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |