(57)【特許請求の範囲】
【請求項１】
ＩＴＵ勧告の「Ｈ．２２３」の規格を満たした送信を実現する電子回路であって、送信すべきデータを一時的にストックするファーストイン・ファーストアウトメモリと、「Ｈ．２２３」規格に規定された送信方式種別を切り替える送信種別切り替え手段と、前記送信種別切り替え手段を用いて送信種別に応じた送信処理を行う送信処理回路と、前記送信処理回路において処理されたデータを一時的に貯えるバッファメモリとを備えたことを特徴とする電子回路。
【請求項２】
設定された送信種別に応じてネゴシエーション動作を切り替える種別設定手段と、切り替えられた送信種別毎に異なるビット長のネゴシエーションフラグを生成する種別ネゴシエーションフラグ生成回路と、異なるビット長の生成を正確に制御する異種ビット長制御手段と、ネゴシエーションフラグ生成回路を種別に関わらず共通化する回路共通化手段とを備え、「Ｈ．２２３」規格で規定されている相手端末とのネゴシエーション動作を行うようにしたことを特徴とする請求項１記載の電子回路。
【請求項３】
ＣＰＵを用いてファーストイン・ファーストアウトメモリに書き込まれたデータを送信処理回路に取り出すデータ取り出し手段と、前記取り出したデータを切り替えられた送信種別に応じてデータ加工を施す種別データ加工回路と、前記データ加工回路を種別に関わらず共通化する回路共通化手段を備え、「Ｈ．２２３」規格で規定されている相手端末に対する種別毎に異なるデータ送信動作を行うようにしたことを特徴とする請求項１記載の電子回路。
【請求項４】
種別切り替え手段により設定された送信種別に応じた種別変更動作を行う種別変更動作回路と、前記種別変更動作回路を種別に関わらず共通化する回路共通化手段を備え、「Ｈ．２２３」規格で規定されている相手端末との種別毎に異なる送信種別変更動作を行うようにしたことを特徴とする請求項１記載の電子回路。
【請求項５】
ネゴシエーションフラグ生成手段、データ加工手段、種別変更動作手段を実現する回路を共通化し、「Ｈ．２２３」規格を満足するデータ送信を行うようにしたことを特徴とする請求項２、３、４のいずれかに記載の電子回路。
【請求項６】
ネゴシエーション時にはネゴシエーションフラグをパラレルにバッファメモリに転送し、データ通信時にはシリアル変換によりビットシフトでバッファメモリに転送するバッファ転送方式の切り替えるようにしたことを特徴とする請求項２、３、４のいずれかに記載の電子回路。
【請求項７】
ＩＴＵ勧告の「Ｈ．２２３」の規格を満たした受信を実現する電子回路で
あって、受信したネゴシエーションフラグの種別を検出する種別検出手段と、検出した種別に応じてデータ受信方式を切り替える受信方式切り替え手段と、前記受信方式切り替え手段の結果に応じて受信したデータを「Ｈ．２２３」に規定される種別毎の受信方式で処理するデータ処理回路と、前記処理したデータを一時的にストックするファーストアウトメモリとを備え、種別毎に関わらず前記回路を共用したことを特徴とする電子回路。
【請求項８】
請求項１から７に記載の発明を統合し、「Ｈ．２２３」に規定される一連の動作を行うようにしたことを特徴とした電子回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はＩＴＵ（International Telecommunication Union）勧告に規定される「Ｈ．２２３」を実現する電子回路に関する。
【０００２】
【従来の技術】
ＩＴＵ勧告の通信に関する規格「Ｈ．２２３」においては、データ通信のエラー耐性に関して規格されている。
【０００３】
「Ｈ．２２３」では、通信時のエラー耐性に柔軟に対応するために複数の種別（level）が用意されており、その種別に応じて処理する方法が異なる。
【０００４】
実際の「Ｈ．２２３」に規定されている通信処理は、送信側では相手端末との種別をすりあわせるためのネゴシエーション（種別毎に決められたビットパターンのネゴシエーションフラグを出力する）動作、ネゴシエーション成立後に実際のデータを送信するデータ送信、通信中に一度成立した種別を変更するための種別変更処理（変更処理フラグを出力する）の３つから成り立っている。
【０００５】
一方、受信側では相手端末から送られてくるネゴシエーションフラグを検査して相手端末の種別を判別する種別検出、検出後にデータを受信するデータ受信、相手からの変更処理フラグを検出する変更処理フラグ検出の３つから主に成り立っている。
【０００６】
これらは更に種別毎に動作が異なっており、状況に応じてユーザーがその種別を選択することになる。
【０００７】
Level0と呼ばれる種別では、ネゴシエーションフラグが「01111110」のビットパターンを持つ８ビットのフラグとなっており、送信側はこれを連続的に送信し、受信側はこれを受信して相手端末の種別を検出する。データ通信時にはハイレベルデータリンク（ＨＤＬＣ）と呼ばれる方式での通信方式になっている。具体的には、送信時にはデータをビット順で見た場合に「1」が５個続いたら「0」を挿入し、受信時にはその挿入されている余分な0を削除する。さらにデータをパケットに分割して、その前後に「01111110」のビットパターンのフラグで挟むことで、データ通信時におけるビット混入などに対する耐性を高める方式である。また種別を別の種別に変更する場合には、ネゴシエーションに用いたフラグをビット反転させた「10000001」のフラグを連続的に通信する。なお、データを挟むフラグはバイト境界を守っている。
【０００８】
Level1と呼ばれる種別では、ネゴシエーションフラグが「1110000101001011」のビットパターンを持つ１６ビットのフラグとなっており、送信側、受信側の動作はLevel0の場合と同じである。データ通信時にはデータに対しての特別の加工は行われず、パケットをネゴシエーションフラグと同じフラグにより挟んで出力する。受信側もデータ加工せず、受信したデータをそのまま取り込む。種別変更時には、ネゴシエーションフラグのビット反転を用いてLevel0と同様の処理をする。ただし、Level1では、ダブルフラグモードと称して上記フラグの２の倍数個のフラグを出力することで、よりエラー耐性を高めることも行われる。なお、パケットデータを挟むフラグには、バイト境界を条件として追加することが可能である。
【０００９】
Level2では、ネゴシエーション時には「1110000101001011000000000000000000000000」のビットパターンでのフラグ出力になっている。送信側、受信側の動作は他のLevelと同じである。データ通信時にはデータ加工はしないが、パケットを挟むフラグと、種別変更時に出力する変更フラグはLevel1の場合と同じである。
【００１０】
以上が「Ｈ．２２３」において規定された内容の説明である。
【００１１】
【発明が解決しようとする課題】
この「Ｈ．２２３」規格の手順を処理するための電子回路を構築する場合を考えると、Level0はＨＤＬＣの規格に従った0挿入を考慮して、ビットシフトや0挿入の特別の回路が必要であるのに対し、Level1,2では、その必要は無い。あるいは「Ｈ．２２３」で規定されているネゴシエーション等では、Level毎に出力するビットパターンは全て異なり、同一の回路をそのまま流用はできない。
【００１２】
ＨＤＬＣに関しては多数の公知例でその電子回路の実現例があるが、それらのハードウェアでは上記Level1,2は処理できない。Level1やLevel2のみを処理するハードウェアでもその他のLevelを処理することはできず、結果的にこれら全てをサポートするシステムを電子回路で構成する場合には、種別毎に別個の回路をもち、これでは回路面積、消費電力、処理手順の面で大きな無駄が生じてしまう。
【００１３】
しかしながら、種別に応じて処理が異なるとはいえ、各Levelは当然のことながら同時に起こることは無く、時系列的に排他的にしか動作せず、その処理に必要な資源もデータ蓄積部、パラシリを中心としたデータ処理部であり、個別に回路を持つ必要性は無い。
【００１４】
前記のことから、本発明はLevel毎に処理の共通点に共通の回路を適用し、全Levelに対応する回路を最小構成で作ることを目的とする。また、Levelにまたがった回路の共通化だけでなく、ネゴシエーション、種別検出、データ通信、種別変更といった規定されている動作毎の共通点をも共通の回路で適用することで最小構成の回路を作ることを目的とする。
【００１５】
【課題を解決するための手段】
上記目的を達成するために本発明は、送信すべきデータを一時的にストックするファーストイン・ファーストアウト（ＦＩＦＯ）メモリと、「Ｈ．２２３」規格に規定された送信方式種別を切り替える送信種別切り替え手段と、前記送信種別切り替え手段を用いて送信種別に応じた送信処理を行う送信処理回路と、前記送信処理回路において処理されたデータを一時的に貯えるバッファメモリとを持つ電子回路とする。
【００１６】
本発明によれば、「Ｈ．２２３」に規定される複数の送信種別の全てを満足する電子回路を、回路規模を削減して構成することを実現する。
【００１７】
【発明の実施の形態】
本発明の請求項１に記載の発明は、ＩＴＵ勧告の「Ｈ．２２３」の規格を満たした送信を実現する電子回路であって、送信すべきデータを一時的にストックするＦＩＦＯメモリと、「Ｈ．２２３」規格に規定された送信方式種別を切り替える送信種別切り替え手段と、前記送信種別切り替え手段を用いて送信種別に応じた送信処理を行う送信処理回路と、前記送信処理回路において処理されたデータを一時的に貯えるバッファメモリとを備えた電子回路であり、「Ｈ．２２３」に規定される複数の送信種別の全てを満足する電子回路を、回路規模を削減して構成することができるという作用を有する。
【００１８】
本発明の請求項２に記載の発明は、請求項１に記載の電子回路において、設定された送信種別に応じてネゴシエーション動作を切り替える種別設定手段と、切り替えられた送信種別毎に異なるビット長のネゴシエーションフラグを生成する種別ネゴシエーションフラグ生成回路と、異なるビット長の生成を正確に制御する異種ビット長制御手段と、ネゴシエーションフラグ生成回路を種別に関わらず共通化する回路共通化手段とを備え、「Ｈ．２２３」規格で規定されている相手端末とのネゴシエーション動作を行うようにしたものであり、より少ない回路資源で種別毎に異なるネゴシエーションフラグの生成動作を可能とするという作用を有する。
【００１９】
本発明の請求項３に記載の発明は、請求項１に記載の電子回路において、ＣＰＵ等を用いてＦＩＦＯメモリに書き込まれたデータを送信処理回路に取り出すデータ取り出し手段と、前記取り出したデータを切り替えられた送信種別に応じてデータ加工を施す種別データ加工回路と、前記データ加工回路を種別に関わらず共通化する回路共通化手段を備え、「Ｈ．２２３」規格で規定されている相手端末に対する種別毎に異なるデータ送信動作を行うようにしたものであり、より少ない回路資源で種別毎に異なるデータ送信動作を可能とするという作用を有する。
【００２０】
本発明の請求項４に記載の発明は、請求項１に記載の電子回路において、種別切り替え手段により設定された送信種別に応じた種別変更動作を行う種別変更動作回路と、前記種別変更動作回路を種別に関わらず共通化する回路共通化手段を備え、「Ｈ．２２３」規格で規定されている相手端末との種別毎に異なる送信種別変更動作を行うようにしたものであり、より少ない回路資源で種別毎に異なる種別変更動作を可能にするという作用を有する。
【００２１】
本発明の請求項５に記載の発明は、請求項２、３、４のいずれかに記載の電子回路において、ネゴシエーションフラグ生成手段、データ加工手段、種別変更動作手段を実現する回路を共通化し、「Ｈ．２２３」規格を満足するデータ送信を行うようにしたものであり、回路規模を大幅に削減できるという作用を有する。
【００２２】
本発明の請求項６に記載の発明は、請求項２、３、４のいずれかに記載の電子回路において、ネゴシエーション時にはネゴシエーションフラグをパラレルにバッファメモリに転送し、データ通信時にはシリアル変換によりビットシフトでバッファメモリに転送するバッファ転送方式の切り替えるようにしたものであり、「Ｈ．２２３」規格に規定される送信処理時間を短縮するという作用を有する。
【００２３】
本発明の請求項７に記載の発明は、ＩＴＵ勧告の「Ｈ．２２３」の規格を満たした受信を実現する電子回路であって、受信したネゴシエーションフラグの種別を検出する種別検出手段と、検出した種別に応じてデータ受信方式を切り替える受信方式切り替え手段と、前記受信方式切り替え手段の結果に応じて受信したデータを「Ｈ．２２３」に規定される種別毎の受信方式で処理するデータ処理回路と、前記処理したデータを一時的にストックするファーストアウトメモリとを備え、種別毎に関わらず前記回路を共用したものであり、より少ない回路資源で「Ｈ．２２３」に規定される電子回路を構成できるという作用を有する。
【００２４】
本発明の請求項８に記載の発明は、請求項１から請求項７に記載の発明を統合し、「Ｈ．２２３」に規定される一連の動作を行うようにした電子回路であり、「Ｈ．２２３」に規定される一連の動作をより少ない回路資源で実現できるという作用を有する。
【００２５】
以下、本発明の実施の形態について、図面を参照して説明する。
【００２６】
（実施の形態１）
図１は、本発明の実施の形態１の電子回路のブロック図である。
【００２７】
図において、１０１はＣＰＵであり、設定されたプログラムを解析し、種別の切り替え命令の発行、実際のデータをＦＩＦＯメモリに書き込むなどの処理を行う。図中の１０６、１０７は命令制御信号である。
【００２８】
１０２は、送信するデータを一時的に貯えるＦＩＦＯメモリであり、その大きさは任意である。なお、本実施の形態１では、ＣＰＵ１０１によりＣＰＵ１０１の持つデータバスを通じてデータがＦＩＦＯメモリ１０２中に書き込まれているが、実際にはＤＭＡ転送などでＤＲＡＭの別のメモリからデータがＦＩＦＯメモリ１０２に転送されることもありうる。
【００２９】
１０３はＣＰＵ１０１からの送信種別の切り替え命令を受けて種別切り替えを実行する種別切り替え手段であり、たとえば、内部に制御レジスタを持ち、ＣＰＵ１０１からの命令を受けてどの種別での送信を実行するかを切り替える。ここで処理された内容は切り替え信号１０９として送信処理回路１０４に伝達され、実際の送信処理をいずれの種別で実行するかを決定し、その処理を行うこととなる。
【００３０】
送信処理回路１０４では「Ｈ．２２３」に規定されている送信に関わる処理を実行することになるが、データ通信時にはＦＩＦＯメモリ１０２に貯えられたデータがＦＩＦＯ出力１０８として転送される。また、送信処理回路１０４で処理されたデータは送信出力１１０としてバッファメモリ１０５に転送され、バッファメモリ１０５に蓄えられたデータが相手端末に対して出力されることとなる。
【００３１】
以上の構成をもつことで、「Ｈ．２２３」に規定される複数の種別の送信処理を満足し、ＦＩＦＯメモリ、バッファメモリを共用し、種別切り替え手段１０３により実際の送信処理に必要とされる回路を削減することを可能とする。
【００３２】
（実施の形態２）
図２は、本発明の実施の形態２の電子回路のブロック図である。なお、実施の形態１で説明した内容と重複するものの説明は割愛する。
【００３３】
図において、１０４は、実施の形態１で説明した送信処理回路を拡大したものである。
【００３４】
種別切り替え手段１０３からの切り替え信号１０９は、送信処理回路１０４内部にあるパターンテーブル２０１に入力する。パターンテーブル２０１にはLevelで説明される種別毎に応じたネゴシエーションフラグがテーブルとして存在しており、Level0のときには８ビットのフラグ「01111110」が、Level1の場合には１６ビットの「1110000101001011」が、Level2の場合には４０ビットのフラグである「1110000101001011000000000000000000000000」が定義されており、「Ｈ．２２３」の規格の変更に対応できるようにテーブルの中身は書き換え可能な状態となっている。
【００３５】
パターンテーブル２０１の各種別毎のフラグは、種別切り替え手段１０３からの切り替え信号１０９に応じてそれぞれ８bitレジスタ２０３に書き込まれる。種別に応じて１バイト、２バイト、４バイト、５バイトのフラグを出力する必要があるので、カウンタ２０２が、これらのビット長の異なるフラグの８bitレジスタへの書き込みを制御している。８bitレジスタ２０３は、書き込まれたフラグをバッファメモリ１０５に出力２０５として転送し、「Ｈ．２２３」で規定されるネゴシエーション動作を完了する。図中の２０４はフラグセットである。
【００３６】
以上の流れを図３のチャートを用いてタイミングの面から説明する。
【００３７】
チャート上には、上から回路に入力するクロックである「ＣＬＫ」、「種別切り替え信号」、「８bitレジスタ」、「カウンタ」、および「出力」が表わされている。
【００３８】
ここで、ＣＰＵ１０１からの命令により種別切り替え信号はLevel0，１，2と変化する。この種別切り替え信号に従ってパターンテーブルからネゴシエーションフラグの値が８bitレジスタに設定される。チャートに示すように、Level0のときには８bitレジスタは「01111110」のビットパターンがネゴシエーションフラグとしてセットされる。
【００３９】
これに対してLevel1の場合には、チャートに示すように１６ビットのフラグがセットされることになるが、レジスタのビット長の削減、バッファメモリへの転送時に８ビット単位で統一をした方が回路構成が単純になることを考えて、１６ビットのフラグを一度にセットする方式は取らず、８bitレジスタに８ビットずつに分割してセットする方式とした。そのため、Level1の場合には、まず「11100001」を８bitレジスタにセットして、次いで「01001101」をセットして一個のネゴシエーションフラグの生成を実現している。この場合に、この分割生成方式を制御するためにチャートに示すカウンタを用いている。すなわちカウンタを「０〜１」で回すことにより、カウンタが0のときには前半８ビットを、１のときには後半８ビットをセットして、かならず１６ビットを一単位としたネゴシエーションフラグの生成を実現している。また、種別切り替え信号が別のLevelに変化しても、カウンタ制御によって変化時にフラグが１６ビット分担保されるようにしてある。
【００４０】
Level2の場合も同じく、４０ビットを一単位としたネゴシエーションフラグを８ビット単位、５回に分けてセットしてカウンタを「０〜４」まで動作させることで生成している。この場合も、種別信号の切り替え時に４０ビット単位を守るために、カウンタが4になるまでLevel2のネゴシエーションフラグの生成は終了しないこととして、ネゴシエーションフラグの生成が４０ビットを一単位として担保されるようにしてある。これら種別の違いに関わりなく、同一の８bitレジスタを用いてネゴシエーションフラグを生成させ、出力してバッファメモリに書き込む。
【００４１】
以上の回路構成により、種別毎に別個の回路を持つことなく、異なるネゴシエーションフラグを生成することを可能とする。
【００４２】
（実施の形態３）
図４は、本発明の実施の形態３の電子回路のブロック図、図５は、同電子回路におけるタイミングチャートである。なお、実施の形態１で説明した内容と重複するものの説明は割愛する。
【００４３】
ここでは送信処理回路１０４を拡大し、種別データ加工手段を説明する。
【００４４】
「Ｈ．２２３」の規格におけるデータ送信においては、Level0と呼ばれる種別ではいわゆるＨＤＬＣとよばれる方式でのデータ処理がなされる。すなわち、データのビット並びで1が５個続いたら0を挿入する方式である。Level1と2においては特別なデータ加工は無く、そのまま出力する。
【００４５】
送信に用いるデータはＦＩＦＯメモリ１０２中にバイト単位で書き込まれ（システムによってはワード単位となることもある）、これをfifo_out３０７としてレジスタ（Ａ）３０２に取り込む。レジスタ（Ａ）３０２はＦＩＦＯメモリ１０２の幅と同じく８ビット幅となっており、カウンタ（１）３０４により生成されるＦＩＦＯ１０２へのリードイネーブル信号（fifo_read）３０６によりＦＩＦＯ１０fifo_out３０７としてレジスタ（Ａ）３０２にＦＩＦＯの出力値が書き込まれる。これは図５のチャートで示すところのT201のタイミングである。レジスタ（Ａ）３０２でのビットシフトが８ビット分終了した時点で、次のバイトデータを取り込む必要があるので、カウンタ（１）３０４においてビットシフトをカウントし、８ビット分のシフトが終了した時点で、再びＦＩＦＯ１０２へのリードイネーブル３０６が出力し、ＦＩＦＯメモリ１０２からの値がレジスタ（Ａ）３０２に書き込まれる。これは図５のチャートのT202のタイミングである。
【００４６】
Level0においては、ＨＤＬＣ手順に従った0挿入を実行しなくてはならないので、レジスタ（Ａ）３０２に取り込んだ８ビットデータは、ビットシフトを実行して次のレジスタ（Ｂ）３０３へとビット単位で転送される。このビットシフト３０９はシリアル転送である。
【００４７】
Level1、2においてはデータ加工は不要なので、ビットシフトも不要なのであるが、「Ｈ．２２３」のデータ送信においては、当初Level0で実行していたものでも、途中で種別変更が起こってLevel1、2へ変更されることがあり、その場合にはLevel0状態で0挿入がされていることもあるので、ビットずれを吸収するために、Level1、2でもレジスタ（Ａ）３０２からレジスタ（Ｂ）３０３へのビットシフト動作を実行する。
【００４８】
このビットシフトが終了し、ＦＩＦＯメモリ１０２から取り出したデータがレジスタ（Ｂ）３０３にたまったら、その出力３１０はバッファメモリ１０５へ書き込まれる。
【００４９】
ビットシフトが終了した時点を確認して、バッファメモリ１０５へのライトイネーブルであるwrite_en３１２を出力するのにカウンタ（２）３１１を使用する。これは図５のチャートで示すT203のタイミングでwrite_en３１２を生成して、その時点でレジスタ（Ｂ）３０３の値をバッファメモリに書き込んでいる。
【００５０】
次に、Level0での0挿入について説明する。
【００５１】
図４の種別切り替え手段１０３でLevel0による送信を設定された場合には、切り替え認識部３０１においてLevel0での送信方式を認識する。
【００５２】
Level0の場合には0挿入を行わなくてはならないので、0挿入回路３０５で0挿入を実行するために、切り替え信号３０８で0挿入回路３０５を動作状態とする。レジスタ（Ａ）３０２をビットシフトして出力された値は、この0挿入回路３０５においてその値がチェックされ、レジスタ（Ｂ）３０３に入力する。このとき0挿入回路３０５が動作状態であれば、ビットシフト３０９の転送される値を１ビットずつ検査して「1」の個数を計測する。「1」が５個計測された時点で0を挿入する。挿入するのはレジスタB[0]に対してである。この0が挿入されることに伴い、ビットシフトを停止してビット落ちが出ないようにする。
【００５３】
以上の流れを、図６のタイミングチャートを用いて説明する。
【００５４】
図６のチャートで表示されている信号は、上から入力クロック（ＣＬＫ）、カウンタ（１）、fifo_read、レジスタ（Ａ）、レジスタＡ[7]、0挿入回路で計測するレジスタＡ[7]の１の個数を示すカウンタｃｏｕｎｔ＿１、レジスタ（Ｂ）[0]、カウンタ（２）、write_en、バッファメモリへの書き込み、である。各々の信号名は図４と対応している。
【００５５】
カウンタ（１）の値により生成されるfifo_readにより、レジスタ（Ａ）にＦＩＦＯからの出力が取り込まれる。T301のタイミングではDATA1=01111101が取り込まれている（T302）。0挿入回路でレジスタ（Ａ）[7]が1であるかを計測し、1であるときにはｃｏｕｎｔ＿１がインクリメントする（T304）。ここで1が５個続いた所、すなわちｃｏｕｎｔ＿１が5となった所で0挿入を行うのだが、実際にはまずｃｏｕｎｔ＿１が5の時点でレジスタ（Ａ）のビットシフトを停止し（T306）、レジスタ（Ａ）のビットシフトを監視するカウンタであるカウンタ（１）のインクリメントも停止する（T307）。0挿入が行われる1クロックを担保するためと、ビットの挿入時にこれらの調整期間を取らないと、レジスタ（Ａ）[7]にある本来のデータが上書きされてビット落ちが発生してしまうからである。ビットシフトとカウンタ（１）の停止により0挿入に関わらず、レジスタ（Ａ）に積まれた８ビット分のデータは全てレジスタ（Ｂ）に転送され、次のバイトデータがレジスタ（Ａ）に書き込まれる。これはT311のタイミングである。
【００５６】
一方、レジスタ（Ｂ）[0]にはレジスタ（Ａ）[7]がそのまま入力するのではなく、0が入力する（T308）。これで0挿入が完了する。レジスタ（Ｂ）のビットシフトは停止の必要がなく、それを監視してバッファメモリへのライトイネーブルを出力するカウンタ（２）も停止の必要はない。ビットシフトに必要なデータはそろっているからである。このような方式で0挿入が実行され、当初01111101だったデータは、バッファメモリに書き込まれる時点で01111100と変化している。
【００５７】
Level1,2の場合にも、同じレジスタ（Ａ）、（Ｂ）、カウンタ（１）、（２）を用いてＦＩＦＯから取り出したデータをビットシフトし、0挿入回路を用いないでバッファメモリに書き込む。
【００５８】
以上のような回路構成により，方式の異なる種別毎のデータ加工を、同一の回路を用いて実現することが可能となる。
【００５９】
（実施の形態４）
図７は、本発明の実施の形態４の電子回路のブロック図、図８は同電子回路におけるタイミングを模式化したチャートである。なお、実施の形態１で説明した内容と重複するものの説明は割愛する。
【００６０】
「Ｈ．２２３」の規格では、データ通信中に相手端末からの要求により一度確定した送信種別を変更することがある。このときに必要な動作は、各々の種別毎に決められているフラグを一定期間以上送信することである。
【００６１】
図７の４０１はＣＰＵ１０１からの種別変更の命令をデコードする変更命令認識回路である。ここでデコードされた結果を受け、変更用のフラグをテーブルとして持つパターンテーブル４０３に変更命令信号４０２を与える。パターンテーブル４０３には他に種別切り替えの信号１０９が入力しており、この切り替え信号１０９により設定されている現在の種別に応じて、変更命令信号４０２を併せて変更用のフラグセット２０４をパターンテーブル４０３から８bitレジスタ２０３に設定する。
【００６２】
変更用のフラグは各種別で用いたネゴシエーションフラグのビット反転をしたものが基本であり、Leve10では「10000001」、Level1と2では「0001111010110010」である。
【００６３】
Level0では８ビット、Level1と2では１６ビットであるから、ネゴシエーションフラグ生成のときと同じくカウンタ２０２を用い、そのビット長の違いを制御して８bitレジスタ２０３にセットする。
【００６４】
以上の回路構成により、同一の８bitレジスタ２０３とパターンテーブル４０３で種別毎に異なる変更動作時のフラグ出力を可能とする。
【００６５】
（実施の形態５）
図９は、本発明の実施の形態５の電子回路のブロック図である。
【００６６】
この実施の形態５は、共通化できる回路を全て共用した結果の回路構成となっている。
【００６７】
前記の実施の形態２ではネゴシエーション動作、実施の形態３ではデータ加工動作、実施の形態４では変更動作と「Ｈ．２２３」に規定される送信に関わる個別の動作の中で、種別の違いに関係無く共通する動作を回路の共用によって回路規模の削減を実現した。さらに、３つの動作から成り立つ一連の動作をまたいで共通する動作を回路の共用によって回路規模を削減できるようにしている。
【００６８】
すなわち、実施の形態２から４までの説明において、ネゴシエーションフラグの生成に用いたパターンテーブルと、変更動作時のフラグ生成に用いるパターンテーブルは共用できる。またフラグをセットするレジスタと、データ加工時に使うレジスタも共用化できる。
【００６９】
ところで、レジスタ（Ａ）とレジスタ（Ｂ）だけでネゴシエーションフラグの設定、変更時の反転フラグの設定、ＦＩＦＯからのデータに対するデータ加工処理を実行できる。また、パターンテーブルを一つだけ持つことで、ネゴシエーション時と種別変更時のフラグ出力の両方に対応が可能である。
【００７０】
本実施の形態５について、図９における５０１のから５１５で指し示す部分を説明する。各々の動作に関しては実施の形態２から４までで説明してあるので割愛する。
【００７１】
５０１は切り替え認識部であり、５０２はパターンテーブル、５０３はフラグのビット長の違いを制御するカウンタである。５０４はレジスタ（Ａ）であり、フラグのセット、ＦＩＦＯメモリ１０２から取り出したデータの加工に用いられる。５０５はレジスタ（Ｂ）で、５０７はＦＩＦＯメモリ１０２へのリードイネーブルを作るためのカウンタ（１）である。５１２はそのリードイネーブル（fifo_read）であり、５１３がＦＩＦＯメモリ１０２からの出力（fifo_out）である。５０９は0挿入回路であり、切り替え信号５１０を受けて0挿入回路５０９を動作状態にするかを切り替える。
【００７２】
５０８はバッファメモリ１０５へのライトイネーブルを生成するためのカウンタ（２）であり、生成されたライトイネーブル（write_en）５１５をバッファメモリへ到達させる。５１４はレジスタ（Ｂ）５０５からバッファメモリ１０５へ転送される出力である。
【００７３】
以上の各構成部をもつ送信処理回路１０４は、種別毎だけの回路共用化のみでなく、動作毎の回路共用化を実現し、「Ｈ．２２３」に規定する送信動作を満足する回路の回路規模を大幅に削減することを可能とする。
【００７４】
（実施の形態６）
図１０は、本発明の実施の形態６の電子回路のブロック図である。
【００７５】
図において、６０１はネゴシエーションフラグ等のフラグをレジスタ（Ａ）６０２にセットするためのパターンテーブルであり、フラグセット６０５がレジスタ（Ａ）６０２に書き込まれる。一方、ＦＩＦＯからのデータ（fifo_out）は、レジスタ（Ａ）６０２に書き込まれる。
【００７６】
ここでＦＩＦＯからのデータは、実施の形態３に説明したとおりデータ加工のためのビットシフトが必要なのに対し、フラグにはその必要はない。ビットシフトを行った場合には、レジスタ（Ａ）６０２に取り込まれた８ビットのデータがバッファメモリへの出力６０８となるまでには８クロックを要するのに対して、ビットシフトが不要であれば１クロックで終了する。
【００７７】
そこでフラグ出力時かデータ送信時かの切り替えでレジスタ（Ａ）６０２からレジスタ（Ｂ）６０３への転送方式を切り替える転送切り替え手段６０９をからの設定で、フラグ出力時にはレジスタ（Ａ）６０２にセットされた８ビットの値をそのままパラレルにレジスタ（Ｂ）６０３へパラレル転送６０６し、データ出力時にはビットシフトによりシリアル転送６０７するように切り替えることで、「Ｈ．２２３」に規定される一連の動作に関わる処理時間を短縮することを可能とする。
【００７８】
（実施の形態７）
図１１は、本発明の実施の形態７の電子回路のブロック図である。
【００７９】
「Ｈ．２２３」に規定される受信動作は、相手端末から送信されてくるネゴシエーションフラグを検索し、相手端末の送信種別を検出し、検出した種別の方式に従ったデータ受信を行うことである。
【００８０】
図において、７０１は受信データを一時的にストックする受信ＦＩＦＯである。７０２はデータ入力７０９から種別検出を行い、種別毎の受信処理を行う受信処理回路である。７０４〜７０８は、その処理を行うための各々８ビットのレジスタである。
【００８１】
説明上の便宜を図るために、受信データはバッファメモリ７１６に一度蓄えられ、このバッファメモリ７１６に対してリードカウンタ７１４が生成するリードイネーブル（buffa_read）７１５が、データ入力７０９としてレジスタ（１）７０４に転送される（本実施の形態では便宜上受信は８ビット単位で行われるとしている）。次いで、ビットシフト７１０されてレジスタ（２）７０５からレジスタ（５）７０８へと転送される。このレジスタの値を毎クロック検査することで、入力してくるネゴシエーションフラグを検索し相手端末の送信種別を検出する。これを検出するのが種別検出部７０３である。
【００８２】
種別検出が成立すると、レジスタ（５）７０８にためられたデータが受信ＦＩＦＯ７０１にデータ転送７１１され、相手端末から送信されてきた有効なデータとして蓄積する。この種別検出後のデータの受信においては、Level0の場合には送信端末が実行したＨＤＬＣの方式に従って挿入されている0を削除して受信ＦＩＦＯ７０１に蓄積する必要がある。Level1,2の場合には受信したデータはそのまま受信ＦＩＦＯ７０１へ蓄積する。
【００８３】
レジスタ（５）７０８から受信ＦＩＦＯ７０１への転送のために、ライトカウンタ７１２が受信ＦＩＦＯ７０１に対してのライトイネーブル（fifo_write）７１３を生成して、実際の転送を実現している。
【００８４】
次に図１２を用いて種別検出を説明する。
【００８５】
図１２における８０１は、Level0の場合の検出である。図１１のレジスタ（１）７０４に入力してビットシフト７１０によりレジスタ（２）７０５、（３）７０６、（４）７０７、（５）７０８にシフトされるので、毎クロック、その時点でのレジスタ（４）７０７の値を検査する。図１２の８０１に示すように、レジスタ（４）７０７の値が「01111110」である場合には、そのネゴシエーションフラグがLevel0のネゴシエーションフラグであると判断され、Level0として種別が検出されたこととする。もちろん、この場合には構成するシステムの要請により更なる条件を追加することが可能であり、レジスタ（４）７０７における「01111110」のフラグの検出を一定数以上カウントして、はじめてLevel0としての種別検出が完了であるとすることも考えられる。
【００８６】
図１２における８０２は、Level1の場合の検出である。前記Level0の場合と同じく、毎クロック、その時点でのレジスタの値を検査する。レジスタ（４）７０７、レジスタ（３）７０６を連接した状態で、その値が「1110000101001101」であることがまず第一条件である。Level1とLevel2はこの１６ビット部分は同一なので、これだけを検査しただけではいずれのLevelであるかは判別できない。そこで第二条件としてレジスタ（２）７０５を検査し、レジスタ（４）７０７、（３）７０６の連接が上記フラグであるときに、レジスタ（２）７０５が00hで無ければLevel1と判断し、Level1を検出したこととする。もちろんこの場合にも一定個数以上の条件を付加することも可能である。
【００８７】
図１２における８０３は、Level2に関する方式である。Level2は５バイトを一単位としてネゴシエーションフラグを構成するが、種別検出のためにそれに見合う大きさのレジスタをもつと回路が冗長となる。そこで２段階方式でLevel2のネゴシエーションフラグを検査する。まずレジスタ（４）７０７、（３）７０６、（２）７０５の連接状態で１６ビットのフラグ＋00hの状態であれば、Level2のフラグの可能性とする。次いでそれから１６ビットシフト後に同じレジスタ（４）７０７、（３）７０６、（２）７０５の連接状態が00hが３バイト分ある状態であれば、先の状態と併せてLevel2のネゴシエーションフラグ５バイト分を検出したことになる。このような２段階の方式でLevel2のネゴシエーションフラグを検出し、Level2の種別検出を完了する。もちろん一定個数以上の条件の付加も考えられる。
【００８８】
次に、種別検出後のデータ受信について説明する。
【００８９】
図１１に示すように受信してビットシフトしたデータがレジスタ（５）７０８にたまったらその値を受信ＦＩＦＯ７０１へ転送する。
【００９０】
ここでLevel0では送信側で挿入されている0を削除し、Level1,2ではそのまま受信ＦＩＦＯ７０１へ転送するという処理の違いがある。
【００９１】
図１１の種別検出部７０３で種別検出が確定した後に、受信方式切り替え信号７１８がの0削除回路７１７に入力する。受信方式切り替え信号７１８によりLevel0の場合だけ0削除回路７１７が動作状態とされ、実際の0削除を実行する。
【００９２】
ここで、図８のチャートで0削除の方式を説明する。
【００９３】
図８のチャートには、信号として上から順にクロック（ＣＬＫ）、レジスタ（４）、レジスタ（４）[7]、レジスタ（４）[7]の値が「1」であるものを計測するカウンタ（ｃｏｕｎｔ＿１）、レジスタ（５）[0]、ライトカウンタ、受信ＦＩＦＯへのライトイネーブル（write_en）、受信ＦＩＦＯが示されている。
【００９４】
レジスタ（４）に取り込まれた値DATA1が「01111100」とする（T401）。このとき、送信側では１が５個続いた後に0が挿入されている。これをビットシフトしていきながらレジスタ（４）[7]の値を検査し、１が連続する個数をｃｏｕｎｔ＿１が計測する（T402）。１が連続で５個続いたとき（T403）にその次の値が０であればこれは挿入された「0」であるから、レジスタ（５）のビットシフトを停止してレジスタ（４）[7]の値を書き込まないことで（T404）、次の挿入されていた「0」を削除する。ビットシフトを停止したので、レジスタ（５）に８ビットのデータがたまったことを監視するライトカウンタのインクリメントも停止し（T405）、その後、ライトカウントが一定の値になった所で受信ＦＩＦＯに対するライトイネーブルを出力する（T406）。このライトイネーブルによって受信ＦＩＦＯ中に０が削除されたデータが転送される。当初受信したときには、「011111001_0101111」だったデータが受信ＦＩＦＯには0が削除されることで「011111101」が書き込まれている（T407）。
【００９５】
以上の構成をもってすれば、種別検出と種別毎に異なる受信方法でのデータ受信に関して、回路を共用化することが可能となる。
【００９６】
（実施の形態８）
本実施の形態８は、前記実施の形態１から７までをまとめたものであり、「Ｈ．２２３」に規定されている一連の動作をより少ない回路資源で実現する。
【００９７】
【発明の効果】
以上の説明より明らかなように、本発明によれば、「Ｈ．２２３」に規定される複数の種別の送信処理を満足し、ＦＩＦＯメモリ、バッファメモリを共用し、実際の送信処理に必要とされる回路を削減することが可能となる効果を有する。
【００９８】
また、種別毎に別個の回路を持つこと無く、異なるネゴシエーションフラグを生成することが可能であり、方式の異なる種別毎のデータ加工を同一の回路を用いて実現することも可能であり、同一の８bitレジスタとパターンテーブルで種別毎に異なる変更動作時のフラグ出力が可能となる効果を有する。
【００９９】
さらに、種別毎だけの回路共用化のみでなく、動作毎の回路共用化を実現し、回路規模を大幅に削減、処理時間の短縮、種別検出と種別毎に異なる受信方法でのデータ受信に関して回路を共用化、より少ない回路資源で実現することが可能となる効果を有する。
【図面の簡単な説明】
【図１】本発明の実施の形態１の電子回路のブロック図
【図２】本発明の実施の形態２の電子回路のブロック図
【図３】同電子回路におけるタイミングチャート
【図４】本発明の実施の形態３の電子回路のブロック図
【図５】同電子回路におけるタイミングチャート
【図６】同電子回路におけるタイミングチャート
【図７】本発明の実施の形態４の電子回路のブロック図
【図８】同電子回路におけるタイミングチャート
【図９】本発明の実施の形態５の電子回路のブロック図
【図１０】本発明の実施の形態６の電子回路のブロック図
【図１１】本発明の実施の形態７の電子回路のブロック図
【図１２】同電子回路における種別検出を表わす模式図
【符号の説明】
１０１  ＣＰＵ
１０２  ＦＩＦＯメモリ
１０３  種別切り替え手段
１０４  送信処理回路
１０５  バッファメモリ
１０６  命令制御信号
１０７  命令制御信号
１０８  ＦＩＦＯ出力
１０９  切り替え信号
１１０  送信出力
２０１  パターンテーブル
２０２  カウンタ
２０３  ８bitレジスタ
２０４  フラグセット
２０５  出力
３０１  切り替え認識部
３０２  レジスタ（Ａ）
３０３  レジスタ（Ｂ）
３０４  カウンタ（１）
３０５  0挿入回路
３０６  fifo_read
３０７  fifo_out
３０８  切り替え信号
３０９  ビットシフト
３１０  出力
３１１  カウンタ（２）
３１２  write_en
４０１  変更命令認識回路
４０２  変更命令信号
４０３  パターンテーブル
５０１  切り替え認識部
５０２  パターンテーブル
５０３  カウンタ
５０４  レジスタ（Ａ）
５０５  レジスタ（Ｂ）
５０７  カウンタ（１）
５０８  カウンタ（２）
５０９  0挿入回路
５１０  切り替え信号
５１１  ビットシフト
５１２  fifo_read
５１３  fifo_out
５１４  出力
５１５  write_en
６０１  パターンテーブル
６０２  レジスタ（Ａ）
６０３  レジスタ（Ｂ）
６０４  fifo_out
６０５  フラグセット
６０６  パラレル転送
６０７  シリアル転送
６０８  出力
６０９  転送切り替え手段
７０１  受信ＦＩＦＯ
７０２  受信処理回路
７０３  種別検出部
７０４  レジスタ（１）
７０５  レジスタ（２）
７０６  レジスタ（３）
７０７  レジスタ（４）
７０８  レジスタ（５）
７０９  データ入力
７１０  ビットシフト
７１１  データ転送
７１２  ライトカウンタ
７１３  fifo_write
７１４  リードカウンタ
７１５  buffa_read
７１６  バッファメモリ
７１７  0削除回路
７１８  受信方式切り替え信号
【図１】
0003666285.tif 000002
【図２】
0003666285.tif 000003
【図３】
0003666285.tif 000004
【図４】
0003666285.tif 000005
【図５】
0003666285.tif 000006
【図６】
0003666285.tif 000007
【図７】
0003666285.tif 000008
【図８】
0003666285.tif 000009
【図９】
0003666285.tif 000010
【図１０】
0003666285.tif 000011
【図１１】
0003666285.tif 000012
【図１２】
0003666285.tif 000013