以下、本発明の実施の形態について図面を用いて説明する。
[第1の実施形態]
本実施の形態は、Nビットの元情報(パラレルデータ)に対して(N+1)ビットの2つのパラレルコードを生成して、選択基準αによって、これら2つのパラレルコードのうちの1つを選択して出力する送信装置を有する通信システムに関する。
(通信システム)
図1は、第1の実施形態に係わる通信システムの構成を示す。同図に示すように、この通信システム1000は、送信装置100と受信装置200とを備える。
(送信装置の構成)
図2は、第1の実施形態における送信装置の構成を示す。同図を参照して、この送信装置100aは、Nビットの元情報(パラレルデータ)に対して(N+1)ビットのパラレルコードを送信する送信装置であって、エンコーダ15aと、出力回路14aとを備える。エンコーダ15aは、サブエンコーダ11aと、セレクタ12aと、データラッチ回路13aとを備える。
サブエンコーダ11aは、Nビットの元情報(パラレルデータ)に対して(N+1)ビットのパラレルコードであるコードAおよびコードBを生成する。図3は、N=4のときの元情報とコードAおよびコードBの対応関係を示す。同図に示すように、コードAは、元情報の最上位側に「0」を1ビット追加したものである。コードBは、コードAの全ビットの「0」と「1」を反転したものである。
図4は、サブエンコーダ11aを実現する具体的な回路構成を示す。同図に示すように、サブエンコーダ11aは、いやゆるワイヤードロジックであり、元情報の各ビット(下位からs1,s2,s3,s4)の値と、元情報の各ビットの値をインバータIV11〜IV14によって反転した値を適宜組合せてコードAの各ビット(下位からa1,a2,a3,a4,a5)の値およびコードBの各ビット(下位からb1,b2,b3,b4,b5)の値を生成する。
再び図2を参照して、セレクタ12aは、サブエンコーダ11aからコードAまたはコードBを受けて、いずれかを選択して出力する。セレクタ12aは、次のコードの選択基準として、選択基準α「その値が変化するビットの数が最小となるコードを選択する。」を用いる。つまり、セレクタ12aは、その値が変化するビットの数を判定値とし、判定値が最小のコードを選択する。
図5は、セレクタ12aが選択基準αによって順次選択するコード列の例を示す。同図において、左側にサブエンコーダ11aに入力される元情報を示し、右側にその元情報に対してサブエンコーダ11aが出力するコードAおよびコードBを示す。太枠で示されたコードがセレクタ12aが選択したコードを示す。
サブエンコーダ11aは、元情報「0010」に対してコードA「00010」を出力し、コードB「11101」を出力する。セレクタ12aは、最初は、デフォルト選択として、コードAを選択する。
次に、サブエンコーダ11aは、元情報「1101」に対してコードA「01101」を出力し、コードB「10010」を出力する。
セレクタ12aは、コードAを選択したときに最下位から第1,2,3,4ビットの値が変化するので、その値が変化するビットの数が「4」であることを算出し、判定値Aを「4」とする。また、セレクタ12aは、コードBを選択したときには最下位から第5ビットの値が変化するので、その値が変化するビットの数が「1」であることを算出し、判定値Bを「1」とする。以上より、セレクタ12aは、判定値が最小のコードBを選択する。
次に、サブエンコーダ11aは、元情報「1111」に対してコードA「01111」を出力し、コードB「10000」を出力する。
セレクタ12aは、コードAを選択したときに最下位から第1,3,4,5ビットの値が変化するので、その値が変化するビットの数が「4」であることを算出し、判定値Aを「4」とする。また、セレクタ12aは、コードBを選択したときには最下位から第2ビットの値が変化するので、その値が変化するビットの数が「1」であることを算出し、判定値Bを「1」とする。以上より、セレクタ12aは、判定値が最小のコードBを選択する。
次に、サブエンコーダ11aは、元情報「0101」に対してコードA「00101」を出力し、コードB「11010」を出力する。
セレクタ12aは、コードAを選択したときに最下位から第1,3,5ビットの値が変化するので、その値が変化するビットの数が「3」であることを算出し、判定値Aを「3」とする。また、セレクタ12aは、コードBを選択したときに最下位から第2,4ビットの値が変化するので、その値が変化するビットの数が「2」であることを算出し、判定値Bを「2」とする。以上より、セレクタ12aは、判定値が最小のコードBを選択する。
次に、サブエンコーダ11aは、元情報「1011」に対してコードA「01011」を出力し、コードB「10100」を出力する。
セレクタ12aは、コードAを選択したときに最下位から第1,5ビットの値が変化するので、その値が変化するビットの数が「2」であることを算出し、判定値Aを「2」とする。また、セレクタ12aは、コードBを選択したときに最下位から第2,3,4ビットの値が変化するので、その値が変化するビットの数が「3」であることを算出し、判定値Bを「3」とする。以上より、セレクタ12aは、判定値が最小のコードAを選択する。
図6は、セレクタ12aを実現する具体的な回路構成を示す。同図を参照して、セレクタ12aは、コードAに対応する適性判定回路31aと、コードBに対応する適性判定回路31bと、比較回路32aと、スイッチ回路33aとで構成される。
適性判定回路31a,31bは、それぞれコードAの判定値A,コードBの判定値Bを比較回路32aへ出力する
図7は、適性判定回路31aを実現する具体的な回路構成を示す。図7を参照して、この適性判定回路31aの排他的論理和回路E−OR1〜E−OR5のそれぞれには、サブエンコーダ11aからコードAの対応するビットが入力され、データラッチ回路13aから前コードの対応するビットが入力される。
排他的論理和回路E−OR1〜E−OR5のそれぞれは、コードAの対応するビットの値と、前コードの対応するビットの値が異なるとき、すなわち値が変化したときに、「1」を出力する。
ビット加算器34aは、排他的論理和回路E−OR1〜E−OR5の出力を加算して、加算結果を判定値Aとして比較回路32aへ出力する。この判定値Aは、コードAを選択したときに前コードからその値が変化したビットの数を表す。
適性判定回路31bは、適性判定回路31aと同様にして、コードBを選択したときの前コードからその値が変化したビットの数を表す判定値Bを比較回路32aへ出力する。適性判定回路31bの具体的な回路構成は、適性判定回路31aの具体的な回路構成と同様なので、説明は繰返さない。
再び図6を参照して、比較回路32aは、適性判定回路31a,31bから判定値A,判定値Bを受けて、判定値Aと判定値Bの大きさを比較して、比較結果に応じて、スイッチ回路33aへ出力する信号のレベルを定める。
図8は、比較回路32aにおける判定値A,判定値Bの大小関係と出力信号との対応関係を示す。同図に示すように、判定値A≦判定値Bのとき、出力は「0」となり、判定値A>判定値Bのとき、出力が「1」となる。
再び図6を参照して、スイッチ回路33aは、比較回路32aから受けた信号が「0」のときにコードAを出力し、「1」のときにコードBを出力する。
以上のように、セレクタ12aによって、コードAを選択したときに前コードからその値が変化したビットの数と、コードBを選択したときに前コードからその値が変化したビットの数とが比較され、変化したビットの数が少ない方のコードが選択されることになる。
再び、図2を参照して、データラッチ回路13aは、前コードを保持する。図9は、データラッチ回路13aを実現する具体的な回路構成を示す。同図に示すように、データラッチ回路13aは、複数の2段のクロック同期式Dフリップフロップで構成され、セレクタ12aが出力した出力コードをクロックのL(ロウレベル)エッジとH(ハイレベル)エッジでラッチし、前コードとして出力する。
再び、図2を参照して、出力回路14aは、セレクタ12aが出力したコードAまたはコードBの出力コードを伝送路に出力する。
(受信装置の構成)
図10は、第1の実施形態に係わる受信装置の構成を示す。同図を参照して、この受信装置200aは、入力回路21aと、デコーダ22aとを備える。入力回路21aは、伝送路からコードAまたはコードBの入力コードを入力し、入力コードをデコーダ22aに出力する。
図11は、デコーダ22aを実現する具体的な回路構成を示す。同図に示すように、デコーダ22aは、排他的論理和回路E−OR20〜E−OR23で構成される。入力コードがコードAの場合には、第5ビットが「0」であって、第1〜第4ビットが元情報のビットの値と同一である。入力コードがコードBの場合には、第5ビットが「1」であって、第1〜第4ビットが元情報のビットの値を反転したものである。したがって、入力コードの最上位ビットを排他的論理和回路E−OR20〜E−OR23に入力することによって、その他のビットの反転または非反転を制御している。
以上のように、本実施の形態に係わる通信システムによれば、元情報がNビットのときに、(N+1)ビットの複数のパラレルコードのうち、同時にその値が変化するビットの数を最小にするパラレルコードが伝送されるので、パラレルコードを伝送するための入出力回路において、消費電力の低減化が実現できる。
[第2の実施形態]
本実施の形態は、Nビットの元情報(パラレルデータ)に対して(N+2)ビットの4つのパラレルコードを生成して、選択基準αによって、これら4つのパラレルコードのうちの1つを選択して出力する送信装置を有する通信システムに関する。
(送信装置の構成)
図12は、第2の実施形態に係わる送信装置の構成を示す。同図を参照して、この送信装置100bは、Nビットの元情報(パラレルデータ)に対して(N+2)ビットのパラレルコードを送信する送信装置であって、サブエンコーダ11bと、セレクタ12bと、データラッチ回路13bと、出力回路14bとを備える。
サブエンコーダ11bは、Nビットの元情報(パラレルデータ)に対して(N+2)ビットのパラレルコードであるコードC〜コードFを生成する。
図13は、N=4のときの元情報とコードC〜コードFの対応関係を示す。同図に示すように、コードCは、元情報の上位側に「0」を2ビット追加したものである。コードD〜Fは、それぞれ、コードCの奇数ビット、偶数ビット、全ビットの「0」と「1」を反転したものである。
図14は、サブエンコーダ11bを実現する具体的な回路構成を示す。同図に示すように、サブエンコーダ11bは、いやゆるワイヤードロジックであり、元情報の各ビット(下位からs1,s2,s3,s4)の値と、元情報の各ビットの値をインバータIV15〜IV18によって反転した値を適宜組合せてコードCの各ビット(下位からc1,c2,c3,c4,c5,c6)の値、コードDの各ビット(下位からd1,d2,d3,d4,d5,d6)の値、コードEの各ビット(下位からe1,e2,e3,e4,e5,e6)の値、およびコードFの各ビット(下位からf1,f2,f3,f4,f5,f6)の値を生成する。
再び図12を参照して、セレクタ12bは、サブエンコーダ11bからコードC、コードD、コードEまたはコードFを受けて、いずれかを選択して出力する。セレクタ12bは、次のコード選択の条件として、第1の実施形態と同じ選択基準α、すなわち「その値が変化するビットの数が最小となるコードを選択する」を用いる。
図15は、セレクタ12bが選択基準αによって順次選択するコード列の例を示す。同図において、左側にサブエンコーダ11bに入力される元情報を示し、右側にその元情報に対してサブエンコーダ11bが出力するコードC、コードD、コードEおよびコードFを示す。太枠で示されたコードがセレクタ12bが選択したコードを示す。
サブエンコーダ11bは、元情報「0010」に対してコードC「000010」を出力し、コードD「010111」を出力し、コードE「101000」を出力し、コードF「111101」を出力する。セレクタ12bは、最初は、デフォルト選択として、コードCを選択する。
次に、サブエンコーダ11bは、元情報「1101」に対してコードC「001101」を出力し、コードD「011000」を出力し、コードE「100111」を出力し、コードF「110010」を出力する。
セレクタ12bは、コードCを選択したときに最下位から第1,2,3,4ビットの値が変化するので、その値が変化するビットの数が「4」であることを算出し、判定値Cを「4」とする。また、セレクタ12bは、コードDを選択したときに最下位から第2,4,5ビットの値が変化するので、その値が変化するビットの数が「3」であることを算出し、判定値Dを「3」とする。また、セレクタ12bは、コードEを選択したときに最下位から第1,3,6ビットの値が変化するので、その値が変化するビットの数が「3」であることを算出し、判定値Eを「3」とする。また、セレクタ12bは、コードFを選択したときに最下位から第5,6ビットの値が変化するので、その値が変化するビットの数が「2」であることを算出し、判定値Fを「2」とする。以上より、セレクタ12bは、判定値が最小のコードFを選択する。
次に、サブエンコーダ11bは、元情報「1111」に対してコードC「001111」を出力し、コードD「011010」を出力し、コードE「100101」を出力し、コードF「110000」を出力する。
セレクタ12bは、コードCを選択したときに最下位から第1,3,4,5,6ビットの値が変化するので、その値が変化するビットの数が「5」であることを算出し、判定値Cを「5」とする。また、セレクタ12bは、コードDを選択したときに最下位から第4,6ビットの値が変化するので、その値が変化するビットの数が「2」であることを算出し、判定値Dを「2」とする。また、セレクタ12bは、コードEを選択したときに最下位から第1,2,3,5ビットの値が変化するので、その値が変化するビットの数が「4」であることを算出し、判定値Eを「4」とする。また、セレクタ12bは、コードFを選択したときに最下位から第2ビットの値が変化するので、その値が変化するビットの数が「1」であることを算出し、判定値Fを「1」とする。以上より、セレクタ12bは、判定値が最小のコードFを選択する。
次に、サブエンコーダ11bは、元情報「0101」に対してコードC「000101」を出力し、コードD「010000」を出力し、コードE「101111」を出力し、コードF「111010」を出力する。
セレクタ12bは、コードCを選択したときに最下位から第1,3,5,6ビットの値が変化するので、その値が変化するビットの数が「4」であることを算出し、判定値Cを「4」とする。また、セレクタ12bは、コードDを選択したときに最下位から第6ビットの値が変化するので、その値が変化するビットの数が「1」であることを算出し、判定値Dを「1」とする。また、セレクタ12bは、コードEを選択したときに最下位から第1,2,3,4,5ビットの値が変化するので、その値が変化するビットの数が「5」であることを算出し、判定値Eを「5」とする。また、セレクタ12bは、コードFを選択したときに最下位から第2,4ビットの値が変化するので、その値が変化するビットの数が「2」であることを算出し、判定値Fを「2」とする。以上より、セレクタ12bは、判定値が最小のコードDを選択する。
次に、サブエンコーダ11bは、元情報「1011」に対してコードC「001011」を出力し、コードD「011110」を出力し、コードE「100001」を出力し、コードF「110100」を出力する。
セレクタ12bは、コードCを選択したときに最下位から第1,2,4,5ビットの値が変化するので、その値が変化するビットの数が「4」であることを算出し、判定値Cを「4」とする。また、セレクタ12bは、コードDを選択したときに最下位から第2,3,4ビットの値が変化するので、その値が変化するビットの数が「3」であることを算出し、判定値Dを「3」とする。また、セレクタ12bは、コードEを選択したときに最下位から第1,5,6ビットの値が変化するので、その値が変化するビットの数が「3」であることを算出し、判定値Eを「3」とする。また、セレクタ12bは、コードFを選択したときに最下位から第3,6ビットの値が変化するので、その値が変化するビットの数が「2」であることを算出し、判定値Fを「2」とする。以上より、セレクタ12bは、判定値が最小のコードFを選択する。
図16は、セレクタ12bを実現する具体的な回路構成を示す。同図を参照して、セレクタ12bは、コードCに対応する適性判定回路31cと、コードDに対応する適性判定回路31dと、コードEに対応する適性判定回路31eと、コードFに対応する適性判定回路31fと、比較回路32bと、スイッチ回路33bとで構成される。
適性判定回路31c,31d,31e,31fは、それぞれコードCの判定値C,コードDの判定値D,コードEの判定値E,コードDの判定値Fを比較回路32bへ出力する
図17は、適性判定回路31cを実現する具体的な回路構成を示す。図17を参照して、この適性判定回路31cの排他的論理和回路E−OR6〜E−OR11のそれぞれには、サブエンコーダ11bからコードCの対応するビットが入力され、データラッチ回路13bから前コードの対応するビットが入力される。
排他的論理和回路E−OR6〜E−OR11のそれぞれは、コードCの対応するビットの値と、前コードの対応するビットの値が異なるとき、すなわち値が変化したときに、「1」を出力する。
ビット加算器34bは、排他的論理和回路E−OR6〜E−OR11の出力を加算して、加算結果を判定値Cとして比較回路32bへ出力する。この判定値Cは、コードCを選択したときに前コードからその値が変化したビットの数を表す。
適性判定回路31d,31e,31fは、それぞれ適性判定回路31cと同様にして、コードDを選択したときの前コードからその値が変化したビットの数を表す判定値D,コードEを選択したときに前コードからその値が変化したビットの数を表す判定値E,コードFを選択したときに前コードからその値が変化したビットの数を表す判定値Fを比較回路32bへ出力する。
適性判定回路31d,31e,31fの具体的な回路構成は、適性判定回路31cの具体的な回路構成と同様なので、説明は繰返さない。
再び図16を参照して、比較回路32bは、適性判定回路31c,31d,31e,31fから判定値C,判定値D,判定値E,判定値Fを受けて、これらのの大きさを比較して、比較結果に応じて、スイッチ回路33bへ出力する信号のレベルを定める。
図18は、比較回路32bにおける判定値C,判定値D,判定値E,判定値Fの大小関係と出力信号との対応関係を示す。同図に示すように、判定値Cが最小のとき、出力は「00」となり、判定値Dが最小のとき、出力は「01」となる。また、判定値Eが最小のとき、出力は「10」となり、判定値Fが最小のとき、出力は「11」となる。
再び図16を参照して、スイッチ回路33bは、比較回路32bから受けた信号が「00」のときコードCを出力し、「01」のときコードDを出力する。また、スイッチ回路33bは、比較回路32bから受けた信号が「10」のときコードEを出力し、「11」のときコードFを出力する。
以上のように、セレクタ12bによって、コードCを選択したときに前コードからその値が変化したビットの数と、コードDを選択したときに前コードからその値が変化したビットの数と、コードEを選択したときに前コードからその値が変化したビット数と、コードFを選択したときに前コードからその値が変化したビットの数とが比較され、その値が変化したビットの数が最小のコードが選択されることになる。
再び、図12を参照して、データラッチ回路13bは、前コードを保持する。図19は、データラッチ回路13bを実現する具体的な回路構成を示す。同図に示すように、データラッチ回路13bは、複数の2段のクロック同期式Dフリップフロップで構成され、セレクタ12bが出力した出力コードをクロックのL(ロウレベル)エッジとH(ハイレベル)エッジでラッチし、前コードとして出力する。
再び、図12を参照して、出力回路14bは、セレクタ12bから出力されるコードC、コードD、コードEまたはコードFの出力コードを伝送路に出力する。
(受信装置の構成)
図20は、第2の実施形態に係わる受信装置の構成を示す。同図を参照して、この受信装置200bは、入力回路21bと、デコーダ22bとを備える。入力回路21bは、伝送路からコードC、コードD、コードE、またはコードFの入力コードを入力し、入力コードをデコーダ22bに出力する。
図21は、デコーダ22bを実現する具体的な回路構成を示す。同図に示すように、デコーダ22bは、排他的論理和回路E−OR24〜E−OR27で構成される。ここで、入力コードがコードCの場合には、第5ビット,第6ビットが「0」,「0」であって、第1〜第4ビットが元情報のビットの値と同一である。入力コードがコードDの場合には、第5ビット,第6ビットが「1」,「0」であって、第1ビット、第3ビットが元情報のビットの値を反転したものであり、第2ビット、第4ビットが元情報のビットの値と同一である。入力コードがコードEの場合には、第5ビット,第6ビットが「0」,「1」であり、第1ビット、第3ビットが元情報のビットの値と同一であり、第2ビット、第4ビットが元情報のビットの値を反転したものである。入力コードがコードFの場合には、第5ビット,第6ビットが「1」,「1」であり、第1〜第4ビットが元情報のビットの値を反転したものである。したがって、入力コードの第5ビットを排他的論理和回路E−OR24,E−OR26に入力し、入力コードの第6ビットを排他的論理和回路E−OR25,E−OR27に入力することによって、その他のビットの反転または非反転を制御している。
以上のように、本実施の形態に係わる通信システムによれば、元情報がNビットのときに、(N+2)ビットの複数のパラレルコードのうち、同時にその値が変化するビットの数を最小にするパラレルコードが伝送されるので、パラレルコードを伝送するための入出力回路において、消費電力の低減化を実現することができる。
[第3の実施形態]
本実施の形態は、Nビットの元情報(パラレルデータ)に対して(N+1)ビットの2つのパラレルコードを生成して、選択基準αとβとを併せた選択基準(α+β)によって、これら2つのパラレルコードのうちの1つを選択して出力する送信装置を有する通信システムに関する。
(送信装置の構成)
図22は、第3の実施形態に係わる送信装置の構成を示す。同図を参照して、この送信装置100cは、Nビットの元情報(パラレルデータ)に対して(N+1)ビットのパラレルコードを送信する送信装置であって、エンコーダ15cと、出力回路14aとを備える。エンコーダ15cは、サブエンコーダ11aと、セレクタ12cと、データラッチ回路13cとを備える。この送信装置100cが、第1の実施形態に係わる送信装置100aと相違するのは、セレクタ12cとデータラッチ回路13cである。以下では、この相違する点について説明する。
セレクタ12cは、サブエンコーダ11aからコードAまたはコードBを受けて、いずれかを選択して出力する。セレクタ12cは、次のコード選択の条件として、選択基準αと選択基準β「連続してその値が変化するビットの数が最小となるコードを選択する」とを併せた選択基準(α+β)を用いる。すなわち、セレクタ12cは、その値が変化するビットの数と、連続してその値が変化するビットの数に重み係数K(特に限定されないが、以下の説明では「2」とする)を乗じた数との和を判定値とし、判定値が最小のコードを選択する。
図23は、セレクタ12cが選択基準(α+β)によって順次選択するコード列の例を示す。同図において、左側に元情報を、中央にコードAおよびコードBを、右側に前回変化情報を示す。ここで、前回変化情報とは、前回の各ビットの変化の有無を示す情報であり、変化があったビットは、その値が「1」となる。
太枠で示されたコードが選択されたことを示す。
サブエンコーダ11aは、元情報「0010」に対してコードA「00010」を出力し、コードB「11101」を出力する。セレクタ12cは、最初は、デフォルト選択として、コードAを選択する。また、前回変化情報として、最初は、デフォルト値「00000」が設定されている。
次に、サブエンコーダ11aは、元情報「1101」に対してコードA「01101」を出力し、コードB「10010」を出力する。
セレクタ12cは、第1の実施形態と同様に、コードAを選択したときに、その値が変化するビットの数が「4」であることを算出する。また、セレクタ12cは、前回変化情報が「00000」より、コードAを選択したときに、連続してその値が変化するビットの数が「0」であることを算出する。以上の結果、セレクタ12cは、判定値Aを「4」(=4+2×0)とする。
セレクタ12cは、第1の実施形態と同様に、コードBを選択したときに、その値が変化するビットの数が「1」であることを算出する。また、セレクタ12cは、前回変化情報が「00000」より、コードBを選択したときに、連続してその値が変化するビットの数が「0」であることを算出する。以上の結果、セレクタ12cは、判定値Bを「1」(=1+2×0)とする。
以上より、セレクタ12cは、判定値が小さいコードBを選択する。また、セレクタ12cは、コードBを選択したので、前回変化情報を「10000」に更新する。
次に、サブエンコーダ11aは、元情報「1111」に対してコードA「01111」を出力し、コードB「10000」を出力する。
セレクタ12cは、第1の実施形態と同様に、コードAを選択したときに、その値が変化するビットの数が「4」であることを算出する。また、セレクタ12cは、前回変化情報が「10000」なので、コードAを選択したときに、第5ビットの値が連続して変化するので、連続してその値が変化するビットの数が「1」であることを算出する。以上の結果、セレクタ12cは、判定値Aを「6」(=4+2×1)とする。
セレクタ12cは、第1の実施形態と同様に、コードBを選択したときに、その値が変化するビットの数が「1」であることを算出する。また、セレクタ12cは、前回変化情報が「10000」なので、コードBを選択したときに、連続してその値が変化するビットの数が「0」であることを算出する。以上の結果、セレクタ12cは、判定値Bを「1」(=1+2×0)とする。
以上より、セレクタ12cは、判定値が小さいコードBを選択する。また、セレクタ12cは、コードBを選択したので、前回変化情報を「00010」に更新する。
次に、サブエンコーダ11aは、元情報「0101」に対してコードA「00101」を出力し、コードB「11010」を出力する。
セレクタ12cは、第1の実施形態と同様に、コードAを選択したときに、その値が変化するビットの数が「3」であることを算出する。また、セレクタ12cは、前回変化情報が「00010」なので、コードAを選択したときに、連続してその値が変化するビットの数が「0」であることを算出する。以上の結果、セレクタ12cは、判定値Aを「3」(=3+2×0)とする。
セレクタ12cは、第1の実施形態と同様に、コードBを選択したときに、その値が変化するビットの数が「2」であることを算出する。また、セレクタ12cは、前回変化情報が「00010」なので、コードBを選択したときに、第2ビットの値が連続して変化し、連続してその値が変化するビットの数が「1」であることを算出する。以上の結果、セレクタ12cは、判定値Bを「4」(=2+2×1)とする。
以上より、セレクタ12cは、判定値が小さいコードAを選択する。また、セレクタ12cは、コードAを選択したので、前回変化情報を「10101」に更新する。
次に、サブエンコーダ11aは、元情報「1011」に対してコードA「01011」を出力し、コードB「10100」を出力する。
セレクタ12cは、コードAを選択したときに最下位から第2,3,4ビットの値が変化するので、その値が変化するビットの数が「3」であることを算出する。また、セレクタ12cは、前回変化情報が「10101」なので、コードAを選択したときに、第3ビットの値が連続して変化し、連続してその値が変化するビットの数が「1」であることを算出する。以上の結果、セレクタ12cは、判定値Aを「5」(=3+2×1)とする。
セレクタ12cは、コードBを選択したときに最下位から第1,5ビットの値が変化するので、その値が変化するビットの数が「2」であることを算出する。また、セレクタ12cは、前回変化情報が「10101」なので、コードBを選択したときに、第1,5ビットの値が連続して変化し、連続してその値が変化するビットの数が「2」であることを算出する。以上の結果、セレクタ12cは、判定値Bを「6」(=2+2×2)とする。
以上より、セレクタ12cは、判定値が小さいコードAを選択する。また、セレクタ12cは、コードAを選択したので、前回変化情報を「01110」に更新する。
図24は、セレクタ12cを実現する具体的な回路構成を示す。同図を参照して、このセレクタ12cは、図6に示す第1の実施形態におけるセレクタ12aにおける適性判定回路31a,31bに代えて、適性判定回路31g,31hを備える。
図25は、適性判定回路31gを実現する具体的な回路構成を示す。同図を参照して、この適性判定回路31gには、図に示す第1の実施形態における適性判定回路31aに、論理積回路AND1〜AND5と、ビット加算器35aと、乗算器36aと、加算器37aとが追加されている。
論理積回路AND1〜AND5の各々は、データラッチ回路13cから送られる前回変化情報の対応するビットが「1」であり、かつ、対応する排他的論理和回路E−OR1〜E−OR5が出力する信号の値が「1」であるとき、すなわち、対応するビットの値が連続して変化したときに、「1」を出力する。
ビット加算器35aは、論理積回路AND1〜AND5からの出力を加算する。
乗算器36aは、ビット加算器35aの出力と、重み係数K(=「2」)とを乗算する。
加算器37aは、ビット加算器34aの出力と、乗算器36aの出力とを加算して、加算結果を判定値Aとして出力する。したがって、判定値Aは、コードAを選択したときに前コードからその値が変化したビットの数と、連続してその値が変化したビットの数に重み係数Kを乗じた数との和を示す。
適性判定回路31hは、適性判定回路31gと同様にして、コードBを選択したときの前コードからその値が変化したビットの数と、連続してその値が変化したビットの数に重み係数Kを乗じた数との和を示す判定値Bを比較回路32aへ出力する。適性判定回路31hの具体的な回路構成は、適性判定回路31gの具体的な回路構成と同様なので、説明は繰返さない。
図26は、データラッチ回路13cを実現する具体的な回路構成を示す。同図を参照して、この適性判定回路には、図9に示す第1の実施形態におけるデータラッチ回路13aに、複数の排他的論理和回路E−OR21〜E−OE25と、複数の2段のクロック同期式DフリップフロップFF23〜FF32とが追加されている。
排他的論理和回路E−OR21〜E−OR25の各々は、セレクタ12cが1つ前のクロックで出力した出力コードの対応するビットと、セレクタ12cが現在のクロックで出力した出力コードの対応するビットとを受けて、これらのビットの値が等しいときに「0」を出力し、異なるときに「1」を出力する。
2段のクロック同期式DフリップフロップFF23〜FF32の各々は、対応する排他的論理和回路から出力される値をクロックのL(ロウレベル)エッジとH(ハイレベル)エッジでラッチし、前回変化情報の各ビットとして出力する。
(受信装置の構成)
本実施の形態に係わる受信装置は、第1の実施形態に係わる受信装置と同一であるので、その説明を繰返さない。
以上のように、本実施の形態に係わる通信システムによれば、元情報がNビットのときに、(N+1)ビットの複数のパラレルコードのうち、同時に変化するビットの数を小さくするとともに、連続して変化するビットの数を小さくするパラレルコードが伝送されるので、パラレルコードを伝送するための入出力回路において、消費電力の低減化と処理速度の高速化とを同時に実現することができる。
[第4の実施形態]
本実施の形態は、Nビットの元情報(パラレルデータ)に対して(N+2)ビットの4つのパラレルコードを生成して、選択基準αとβとを併せた選択基準(α+β)によって、これら4つのパラレルコードのうちの1つを選択して出力する送信装置を有する通信システムに関する。
(送信装置の構成)
図27は、第4の実施形態に係わる送信装置の構成を示す。同図を参照して、この送信装置100dは、Nビットの元情報(パラレルデータ)に対して(N+2)ビットのパラレルコードを送信する送信装置であって、サブエンコーダ11bと、セレクタ12dと、データラッチ回路13dと、出力回路14bとを備える。この送信装置が第2の実施形態と相違するのは、セレクタ12dとデータラッチ回路13dである。以下では、この相違する点について説明する。
セレクタ12dは、サブエンコーダ11bからコードC、コードD、コードEまたはコードFを受けて、いずれかを選択して出力する。セレクタ12dは、次のコード選択の条件として、選択基準αと選択基準β「連続してその値が変化するビットの数が最小となるコードを選択する」とを併せた選択基準(α+β)を用いる。
図28は、セレクタ12dが選択基準(α+β)によって順次選択するコード列の例を示す。同図において、左側に元情報を、中央にコードC、コードD、コードEおよびコードFを示し、右側に前回変化情報を示す。
サブエンコーダ11bは、元情報「0010」に対してコードC「000010」を出力し、コードD「010111」を出力し、コードE「101000」を出力し、コードF「111101」を出力する。セレクタ12dは、最初は、デフォルト選択として、コードCを選択する。また、前回変化情報として、最初はデフォルト値「000000」が設定されている。
次に、サブエンコーダ11bは、元情報「1101」に対してコードC「001101」を出力し、コードD「011000」を出力し、コードE「100111」を出力し、コードF「110010」を出力する。
セレクタ12dは、第2の実施形態と同様に、コードCを選択したときに、その値が変化するビットの数が「4」であることを算出する。また、セレクタ12dは、前回変化情報が「000000」より、コードCを選択したときに、連続してその値が変化するビットの数が「0」であることを算出する。以上の結果、セレクタ12dは、判定値Cを「4」(=4+2×0)とする。
セレクタ12dは、第2の実施形態と同様に、コードDを選択したときに、その値が変化するビットの数が「3」であることを算出する。また、セレクタ12dは、前回変化情報が「000000」より、コードDを選択したときに、連続してその値が変化するビットの数が「0」であることを算出する。以上の結果、セレクタ12dは、判定値Dを「3」(=3+2×0)とする。
セレクタ12dは、第2の実施形態と同様に、コードEを選択したときに、その値が変化するビットの数が「3」であることを算出する。また、セレクタ12dは、前回変化情報が「000000」より、コードEを選択したときに、連続してその値が変化するビットの数が「0」であることを算出する。以上の結果、セレクタ12dは、判定値Eを「3」(=3+2×0)とする。
セレクタ12dは、第2の実施形態と同様に、コードFを選択したときに、その値が変化するビットの数が「2」であることを算出する。また、セレクタ12dは、前回変化情報が「000000」より、コードFを選択したときに、連続してその値が変化するビットの数が「0」であることを算出する。以上の結果、セレクタ12dは、判定値Fを「2」(=2+2×0)とする。
以上より、セレクタ12dは、判定値が最小のコードFを選択する。また、セレクタ12dは、コードFを選択したので、前回変化情報を「110000」に更新する。
次に、サブエンコーダ11bは、元情報「1111」に対してコードC「001111」を出力し、コードD「011010」を出力し、コードE「100101」を出力し、コードF「110000」を出力する。
セレクタ12dは、第2の実施形態と同様に、コードCを選択したときに、その値が変化するビットの数が「5」であることを算出する。また、セレクタ12dは、前回変化情報が「110000」より、コードCを選択したときに、第5,6ビットの値が連続して変化するので、連続してその値が変化するビットの数が「2」であることを算出する。以上の結果、セレクタ12dは、判定値Cを「9」(=5+2×2)とする。
セレクタ12dは、第2の実施形態と同様に、コードDを選択したときに、その値が変化するビットの数が「2」であることを算出する。また、セレクタ12dは、前回変化情報が「110000」より、コードDを選択したときに、第6ビットの値が連続して変化するので、連続してその値が変化するビットの数が「1」であることを算出する。以上の結果、セレクタ12dは、判定値Dを「4」(=2+2×1)とする。
セレクタ12dは、第2の実施形態と同様に、コードEを選択したときに、その値が変化するビットの数が「4」であることを算出する。また、セレクタ12dは、前回変化情報が「110000」より、コードEを選択したときに、第5ビットの値が連続して変化するので、連続してその値が変化するビットの数が「1」であることを算出する。以上の結果、セレクタ12dは、判定値Eを「6」(=4+2×1)とする。
セレクタ12dは、第2の実施形態と同様に、コードFを選択したときに、その値が変化するビットの数が「1」であることを算出する。また、セレクタ12dは、前回変化情報が「110000」より、コードFを選択したときに、連続してその値が変化するビットの数が「0」であることを算出する。以上の結果、セレクタ12dは、判定値Fを「1」(=1+2×0)とする。
以上より、セレクタ12dは、判定値が最小のコードFを選択する。また、セレクタ12dは、コードFを選択したので、前回変化情報を「000010」に更新する。
次に、サブエンコーダ11bは、元情報「0101」に対してコードC「000101」を出力し、コードD「010000」を出力し、コードE「101111」を出力し、コードF「111010」を出力する。
セレクタ12dは、第2の実施形態と同様に、コードCを選択したときに、その値が変化するビットの数が「4」であることを算出する。また、セレクタ12dは、前回変化情報が「000010」より、コードCを選択したときに、連続してその値が変化するビットの数が「0」であることを算出する。以上の結果、セレクタ12dは、判定値Cを「4」(=4+2×0)とする。
セレクタ12dは、第2の実施形態と同様に、コードDを選択したときに、その値が変化するビットの数が「1」であることを算出する。また、セレクタ12dは、前回変化情報が「000010」より、コードDを選択したときに、連続してその値が変化するビットの数が「0」であることを算出する。以上の結果、セレクタ12dは、判定値Dを「1」(=1+2×0)とする。
セレクタ12dは、第2の実施形態と同様に、コードEを選択したときに、その値が変化するビットの数が「5」であることを算出する。また、セレクタ12dは、前回変化情報が「000010」より、コードEを選択したときに、第2ビットの値が連続して変化するので、連続してその値が変化するビットの数が「1」であることを算出する。以上の結果、セレクタ12dは、判定値Eを「7」(=5+2×1)とする。
セレクタ12dは、第2の実施形態と同様に、コードFを選択したときに、その値が変化するビットの数が「2」であることを算出する。また、セレクタ12dは、前回変化情報が「000010」より、コードFを選択したときに、第2ビットの値が連続して変化するので、連続してその値が変化するビットの数が「1」であることを算出する。以上の結果、セレクタ12dは、判定値Fを「4」(=2+2×1)とする。
以上より、セレクタ12dは、判定値が最小のコードDを選択する。また、セレクタ12dは、コードDを選択したので、前回変化情報を「100000」に更新する。
次に、サブエンコーダ11bは、元情報「1011」に対してコードC「001011」を出力し、コードD「011110」を出力し、コードE「100001」を出力し、コードF「110100」を出力する。
セレクタ12dは、第2の実施形態と同様に、コードCを選択したときに、その値が変化するビットの数が「4」であることを算出する。また、セレクタ12dは、前回変化情報が「100000」より、コードCを選択したときに、連続してその値が変化するビットの数が「0」であることを算出する。以上の結果、セレクタ12dは、判定値Cを「4」(=4+2×0)とする。
セレクタ12dは、第2の実施形態と同様に、コードDを選択したときに、その値が変化するビットの数が「3」であることを算出する。また、セレクタ12dは、前回変化情報が「100000」より、コードDを選択したときに、連続してその値が変化するビットの数が「0」であることを算出する。以上の結果、セレクタ12dは、判定値Dを「3」(=3+2×0)とする。
セレクタ12dは、第2の実施形態と同様に、コードEを選択したときに、その値が変化するビットの数が「3」であることを算出する。また、セレクタ12dは、前回変化情報が「100000」より、コードEを選択したときに第6ビットの値が連続して変化するので、連続してその値が変化するビットの数が「1」であることを算出する。以上の結果、セレクタ12dは、判定値Eを「5」(=3+2×1)とする。
セレクタ12dは、第2の実施形態と同様に、コードFを選択したときに、その値が変化するビットの数が「2」であることを算出する。また、セレクタ12dは、前回変化情報が「100000」より、コードFを選択したときに、第6ビットの値が連続して変化するので、連続してその値が変化するビットの数が「1」であることを算出する。以上の結果、セレクタ12dは、判定値Fを「4」(=2+2×1)とする。
以上より、セレクタ12dは、判定値が最小のコードDを選択する。また、セレクタ12dは、コードDを選択したので、前回変化情報を「001110」に更新する。
図29は、セレクタ12dを実現する具体的な回路構成を示す。同図を参照して、このセレクタ12dでは、図16に示す第2の実施形態におけるセレクタ12bにおける適性判定回路31c〜31fに代えて、適性判定回路31i〜31lが用いられている。
図30は、適性判定回路31iを実現する具体的な回路構成を示す。同図を参照して、この適性判定回路31iには、図17に示す第2の実施形態における適性判定回路31bに、論理積回路AND6〜AND11と、ビット加算器35bと、乗算器36bと、加算器37bとが追加されている。
論理積回路AND6〜AND11の各々は、データラッチ回路13dから送られる前回変化情報の対応するビットが「1」であり、かつ、対応する排他的論理和回路E−OR6〜E−OR11が出力する信号が「1」であるとき、すなわち、対応するビットの値が連続して変化したときに、「1」を出力する。
ビット加算器35bは、論理積回路AND6〜AND11からの出力を加算する。
乗算器36bは、ビット加算器35bの出力と、重み係数K(=「2」)とを乗算する。
加算器37bは、ビット加算器34bの出力と、乗算器36bの出力とを加算して、加算結果を判定値Cとして出力する。したがって、判定値Cは、コードCを選択したときに前コードからその値が変化したビットの数と、連続してその値が変化したビットの数に重み係数Kを乗じた数との和を示す。
適性判定回路31j,31k,31lは、それぞれ適性判定回路31iと同様にして、コードDを選択したときに前コードからその値が変化したビットの数と、連続してその値が変化したビットの数に重み係数Kを乗じた数との和を示す判定値D,コードEを選択したときに前コードからその値が変化したビットの数と、連続してその値が変化したビットの数に重み係数Kを乗じた数との和を示す判定値E,コードFを選択したときに前コードからその値が変化したビットの数と、連続してその値が変化したビットの数に重み係数Kを乗じた数との和を示す判定値Fを比較回路32bへ出力する。適性判定回路31j,31k,31lの具体的な回路構成は、適性判定回路31iの具体的な回路構成と同様なので、説明は繰返さない。
図31は、データラッチ回路13dを実現する具体的な回路構成を示す。同図を参照して、このデータラッチ回路13dには、図19に示す第2の実施形態におけるデータラッチ回路13bに、複数の排他的論理和回路E−OR26〜E−OE31と、複数の2段のクロック同期式DフリップフロップFF33〜FF44とが追加されている。
排他的論理和回路E−OR26〜E−OR31の各々は、セレクタ12dが1つ前のクロック時に出力した出力コードの対応するビットと、セレクタ12dが現在のクロックにより出力した出力コードの対応するビットとを受けて、これらのビットの値が等しいときに、「0」を出力し、異なるときに、「1」を出力する。
2段のクロック同期式DフリップフロップFF33〜FF44の各々は、対応する排他的論理和回路から出力される値をクロックのL(ロウレベル)エッジとH(ハイレベル)エッジでラッチし、前回変化情報の各ビットとして出力する。
(受信装置の構成)
本実施の形態に係わる受信装置は、第2の実施形態に係わる受信装置と同一であるので、その説明を繰返さない。
以上のように、本実施の形態に係わる通信システムによれば、(N+2)ビットの複数のパラレルコードのうち、同時にその値が変化するビットの数を小さくするとともに、連続してその値が変化するビットの数を小さくするようなパラレルコードが伝送されるので、パラレルコードを伝送するための入出力回路において、消費電力の低減化と処理速度の高速化を同時に実現することができる。
[第5の実施形態]
本実施の形態は、Nビットの元情報(パラレルデータ)に対して(N+1)ビットの2つのパラレルコードを生成して、選択基準αとβとγとを併せた選択基準(α+β+γ)によって、これら2つのパラレルコードのうちの1つを選択して出力する送信装置を有する通信システムに関する。
(送信装置の構成)
図32は、第5の実施形態に係わる送信装置の構成を示す。同図を参照して、この送信装置100eは、Nビットの元情報(パラレルデータ)に対して(N+1)ビットのパラレルコードを送信する送信装置であって、エンコーダ15eと、出力回路14aとを備える。エンコーダ15eは、サブエンコーダ11aと、セレクタ12eと、データラッチ回路13cとを備える。
本実施の形態の送信装置が、第3の実施形態の送信装置と相違するのは、セレクタ12eのみである。以下では、この相違する点について説明する。
セレクタ12eは、サブエンコーダ11aからコードAまたはコードBを受けて、いずれかを選択して出力する。セレクタ12eは、次のコード選択の条件として、選択基準αと選択基準βと選択基準γ「クロストーク数が最小となるコードを選択する。」とを併せた選択基準(α+β+γ)を用いる。ここで、クロストーク数とは、その両隣のビットが同時に同方向に変化し、かつその値が両隣のビットの変化後の値と異なるビットの数をいう。すなわち、セレクタ12eは、その値が変化するビットの数と、連続してその値が変化するビットの数に重み係数K(=「2」)を乗じた数と、クロストーク数に重み係数L(特に限定されないが、以下の説明では「3」とする)を乗じた数との和を判定値とし、判定値が最小のコードを選択する。
図33は、セレクタ12eが選択基準(α+β+γ)によって順次選択するコード列の例を示す。同図において、左側に元情報を、右側にコードAおよびコードBを示す。太枠で示されたコードが選択されたことを示す。
サブエンコーダ11aは、元情報「0010」に対してコードA「00010」を出力し、コードB「11101」を出力する。セレクタ12eは、最初は、デフォルト選択として、コードAを選択する。
次に、サブエンコーダ11aは、元情報「1101」に対してコードA「01101」を出力し、コードB「10010」を出力する。
セレクタ12eは、第3の実施形態と同様に、コードAを選択したときに、その値が変化するビットの数が「4」であることを算出し、連続してその値が変化するビットの数が「0」であることを算出する。また、セレクタ12eは、コードAを選択したときに、最下位から第2ビットの両隣のビットが同時に同方向に変化し、かつ第2ビットの値と両隣のビットの変化後の値が異なるので、クロストーク数を「1」であると算出する。以上の結果、セレクタ12eは、判定値Aを「7」(=4+2×0+3×1)をとする。
セレクタ12eは、第3の実施形態と同様に、コードBを選択したときに、その値が変化するビットの数が「1」であることを算出し、連続してその値が変化するビットの数が「0」であることを算出する。また、セレクタ12eは、コードBを選択したときに、クロストーク数を「0」であると算出する。以上の結果、セレクタ12eは、判定値Bを「1」(=1+2×0+3×0)をとする。
以上より、セレクタ12eは、判定値が最小のコードBを選択する。
次に、サブエンコーダ11aは、元情報「1111」に対してコードA「01111」を出力し、コードB「10000」を出力する。
セレクタ12eは、第3の実施形態と同様に、コードAを選択したときに、その値が変化するビットの数が「4」であることを算出し、連続してその値が変化するビットの数が「1」であることを算出する。また、セレクタ12eは、コードAを選択したときに、クロストーク数を「0」であると算出する。以上の結果、セレクタ12eは、判定値Aを「6」(=4+2×1)とする。
セレクタ12eは、第3の実施形態と同様に、コードBを選択したときに、その値が変化するビットの数が「1」であることを算出し、連続してその値が変化するビットの数が「0」であることを算出する。また、セレクタ12eは、コードBを選択したときに、クロストーク数を「0」であると算出する。以上の結果、セレクタ52aは、判定値Bを「1」(=1+2×0+3×0)とする。
以上より、セレクタ12eは、判定値が最小のコードBを選択する。
次に、サブエンコーダ11aは、元情報「0101」に対してコードA「00101」を出力し、コードB「11010」を出力する。
セレクタ12eは、第3の実施形態と同様に、コードAを選択したときに、その値が変化するビットの数が「3」であることを算出し、連続してその値が変化するビットの数が「0」であることを算出する。また、セレクタ12eは、コードAを選択したときに、最下位から第2ビットの両隣のビットが同時に同方向に変化し、かつ第2ビットのビットの値と両隣のビットの変化後の値が異なるので、クロストーク数を「1」であると算出する。以上の結果、セレクタ12eは、判定値Aを「6」(=3+2×0+3×1)とする。
セレクタ12eは、第3の実施形態と同様に、コードBを選択したときに、その値が変化するビットの数が「2」であることを算出し、連続してその値が変化するビットの数が「1」であることを算出する。また、セレクタ12eは、コードBを選択したときに、最下位から第3ビットの両隣のビットが同時に同方向に変化し、かつ第3ビットのビットの値と両隣のビットの変化後の値とが異なるので、クロストーク数を「1」であると算出する。以上の結果、セレクタ12eは、判定値Aを「7」(=2+2×1+3×1)とする。
以上より、セレクタ12eは、判定値が最小のコードAを選択する。
次に、サブエンコーダ11aは、元情報「1011」に対してコードA「01011」を出力し、コードB「10100」を出力する。
セレクタ12eは、コードAを選択したときに、その値が変化するビットの数が「3」であることを算出し、連続してその値が変化するビットの数が「1」であることを算出する。また、セレクタ12eは、コードAを選択したときに、最下位から第3ビットの両隣のビットが同時に同方向に変化し、かつ第3ビットのビットの値と両隣のビットの変化後の値とが異なるので、クロストーク数を「1」であると算出する。以上の結果、セレクタ12eは、判定値Aを「8」(=3+2×1+3×1)とする。
セレクタ12eは、コードBを選択したときに、その値が変化するビットの数が「2」であることを算出し、連続してその値が変化するビットの数が「2」であることを算出する。また、セレクタ12eは、コードBを選択したときに、クロストーク数を「0」であると算出する。以上の結果、セレクタ12eは、判定値Bを「6」(=2+2×2)とする。
以上より、セレクタ12eは、判定値が最小のコードBを選択する。
図34は、セレクタ12eを実現する具体的な回路構成を示す。同図を参照して、このセレクタ12eでは、図24に示す第3の実施形態におけるセレクタ12cにおける適性判定回路31g,31hに代えて、適性判定回路31m,31nが用いられている。
図35は、適性判定回路31mを実現する具体的な回路構成を示す。同図を参照して、この適性判定回路31mには、第3の実施形態における適性判定回路31gに、ビット値判別回路bc1〜bc3と、論理積回路AND12〜AND14と、ビット加算器38aと、乗算器39aとが追加され、加算器37aに代えて加算器37cが用いられている。
ビット値判別回路bc1は、コードAの第1ビットと第3ビットの値が同一であって、かつ第1ビットと第2ビットの値が相違するときのみ「1」を出力する。
論理積回路AND12は、排他的論理和回路E−OR1の出力が「1」(つまり、第1ビットの値が変化した)であり、排他的論理和回路E−OR3の出力が「1」(つまり、第3ビットの値が変化した)であり、かつビット値判別回路bc1の出力が「1」である(つまり、第1ビットと第3ビットの値が同一であって、かつ第1ビットと第2ビットの値が相違する)ときのみ「1」を出力する。
ビット値判別回路bc2は、コードAの第2ビットと第4ビットの値が同一であって、かつ第2ビットと第3ビットの値が相違するときのみ「1」を出力する。
論理積回路AND13は、排他的論理和回路E−OR2の出力が「1」(つまり、第2ビットの値が変化した)であり、排他的論理和回路E−OR4の出力が「1」(つまり、第4ビットの値が変化した)であり、かつビット値判別回路bc2の出力が「1」である(つまり、第2ビットと第4ビットの値が同一であって、かつ第2ビットと第3ビットの値が相違する)ときのみ「1」を出力する。
ビット値判別回路bc3は、コードAの第3ビットと第5ビットの値が同一であって、かつ第3ビットと第4ビットの値が相違するときのみ「1」を出力する。
論理積回路AND14は、排他的論理和回路E−OR3の出力が「1」(つまり、第3ビットでビット変化があった)であり、排他的論理和回路E−OR5の出力が「1」(つまり、第5ビットでビット変化があった)であり、かつビット値判別回路bc3の出力が「1」である(つまり、第3ビットと第5ビットの値が同一であって、かつ第3ビットと第4ビットの値が相違する)ときのみ「1」を出力する。
ビット加算器38aは、論理積回路AND12〜AND14の出力を加算する。
乗算器39aは、ビット加算器38aの出力と、重み係数L(=「3」)とを乗算する。
加算器37cは、ビット加算器34aの出力と、乗算器36aの出力と、乗算器39aの出力とを加算して、加算結果を判定値Aとして出力する。したがって、判定値Aは、コードAを選択したときの前コードからその値が変化したビットの数と、連続してその値が変化したビットの数に重み係数Kを乗じた数と、両隣のビットが同時に同方向に変化し、かつ両隣のビットの変化後の値と異なる値をもつビットの数(つまり、クロストーク数)に重み係数Lを乗じた数との和を示す。
適性判定回路31nは、適性判定回路31mと同様にして、コードBを選択したときの前コードからのビット変化の数と、連続して、その値が変化するビットの数に重み係数Kを乗じた数と、両隣のビットが同時に同方向に変化し、かつ両隣のビットの変化後の値と異なる値をもつビットの数に重み係数Lを乗じた数との和を示す判定値Bを比較回路32aへ出力する。適性判定回路31nの具体的な回路構成は、適性判定回路31mの具体的な回路構成と同様なので、説明は繰返さない。
(受信装置の構成)
本実施の形態に係わる受信装置は、第1の実施形態に係わる受信装置と同一であるので、その説明を繰返さない。
以上のように、本実施の形態に係わる通信システムによれば、元情報がNビットのときに、(N+1)ビットの複数のパラレルコードのうち、同時にその値が変化するビット数を少なくし、連続してその値が変化するビット数を少なくし、およびクロストーク数を少なくするパラレルコードが伝送されるので、パラレルコードを伝送するための入出力回路における消費電力の低減化、高速化、および入出力回路と伝送路におけるクロストークノイズの発生の低減化を同時に実現することができる。
[第6の実施形態]
本実施の形態は、Nビットの元情報(パラレルデータ)に対して(N+2)ビットの4つのパラレルコードを生成して、選択基準αとβとγとを併せた選択基準(α+β+γ)によって、これら4つのパラレルコードのうちの1つを選択して出力する送信装置を有する通信システムに関する。
(送信装置の構成)
図36は、第6の実施形態に係わる送信装置の構成を示す。同図を参照して、この送信装置100fは、Nビットの元情報(パラレルデータ)に対して(N+2)ビットのパラレルコードを送信する送信装置であって、サブエンコーダ11bと、セレクタ12fと、データラッチ回路13dと、出力回路14bとを備える。この送信装置が第4の実施形態と相違するのは、セレクタ12fである。以下では、この相違する点について説明する。
セレクタ12fは、サブエンコーダ11bからコードC、コードD、コードEまたはコードFを受けて、いずれかを選択して出力する。セレクタ12fは、次のコード選択の条件として、選択基準αと選択基準βと選択基準γ「クロストーク数が最小となるコードを選択する。」とを併せた選択基準(α+β+γ)を用いる。
図37は、セレクタ12fが選択基準(α+β+γ)によって順次選択するコード列の例を示す。同図において、左側に元情報を、右側にコードC、コードD、コードEおよびコードFを示す。太枠で示されたコードが選択されたことを示す。
サブエンコーダ11bは、元情報「0010」に対してコードC「000010」を出力し、コードD「010111」を出力し、コードE「101000」を出力し、コードF「111101」を出力する。セレクタ12fは、最初は、デフォルト選択として、コードCを選択する。
次に、サブエンコーダ11bは、元情報「1101」に対してコードC「001101」を出力し、コードD「011000」を出力し、コードE「100111」を出力し、コードF「110010」を出力する。
セレクタ12fは、第4の実施形態と同様に、コードCを選択したときに、その値が変化するビットの数が「4」であることを算出し、連続してその値が変化するビットの数が「0」であることを算出する。また、セレクタ12fは、コードCを選択したときに、最下位から第2ビットの両隣のビットが同時に同方向に変化し、かつ第2ビットのビット値と両隣のビットの変化後の値とが異なるので、クロストーク数を「1」であると算出する。以上の結果、セレクタ12fは、判定値Cを「7」(=4+2×0+3×1)とする。
セレクタ12fは、第4の実施形態と同様に、コードDを選択したときに、その値が変化するビットの数が「3」であることを算出し、連続してその値が変化するビットの数が「0」であることを算出する。また、セレクタ12fは、コードDを選択したときに、クロストーク数を「0」であると算出する。以上の結果、セレクタ12fは、判定値Dを「3」(=3+2×0+3×0)とする。
セレクタ12fは、第4の実施形態と同様に、コードEを選択したときに、その値が変化するビットの数が「3」であることを算出し、連続してその値が変化するビットの数が「0」であることを算出する。また、セレクタ12fは、コードEを選択したときに、クロストーク数を「0」であると算出する。以上の結果、セレクタ12fは、判定値Eを「3」(=3+2×0+3×0)とする。
セレクタ12fは、第4の実施形態と同様に、コードFを選択したときに、その値が変化するビットの数が「2」であることを算出し、連続してその値が変化するビットの数が「0」であることを算出する。また、セレクタ12fは、コードFを選択したときに、クロストーク数を「0」であると算出する。以上の結果、セレクタ12fは、判定値Fを「2」(=2+2×0+3×0)とする。
以上より、セレクタ12fは、判定値が最小のコードFを選択する。
次に、サブエンコーダ11bは、元情報「1111」に対してコードC「001111」を出力し、コードD「011010」を出力し、コードE「100101」を出力し、コードF「110000」を出力する。
セレクタ12fは、第4の実施形態と同様に、コードCを選択したときに、その値が変化するビットの数が「5」であることを算出し、連続してその値が変化するビットの数が「2」であることを算出する。また、セレクタ12fは、コードCを選択したときに、クロストーク数を「0」であると算出する。以上の結果、セレクタ12fは、判定値Cを「9」(=5+2×2+3×0)とする。
セレクタ12fは、第4の実施形態と同様に、コードDを選択したときに、その値が変化するビットの数が「2」であることを算出し、連続してその値が変化するビットの数が「1」であることを算出する。また、セレクタ12fは、コードDを選択したときに、クロストーク数を「0」であると算出する。以上の結果、セレクタ12fは、判定値Dを「4」(=2+2×1+3×0)とする。
セレクタ12fは、第4の実施形態と同様に、コードEを選択したときに、その値が変化するビットの数が「4」であることを算出し、連続してその値が変化するビットの数が「1」であることを算出する。また、セレクタ12fは、コードEを選択したときに、最下位から第2ビットの両隣のビットが同時に同方向に変化し、かつ第2ビットのビット値と両隣のビットの変化後の値とが異なるので、クロストーク数を「1」であると算出する。以上の結果、セレクタ12fは、判定値Eを「9」(=4+2×1+3×1)とする。
セレクタ12fは、第4の実施形態と同様に、コードFを選択したときに、その値が変化するビットの数が「1」であることを算出し、連続してその値が変化するビットの数が「0」であることを算出する。また、セレクタ12fは、コードFを選択したときに、クロストーク数を「0」であると算出する。以上の結果、セレクタ12fは、判定値Fを「1」(=1+2×0+3×0)とする。
以上より、セレクタ12fは、判定値が最小のコードFを選択する。
次に、サブエンコーダ11bは、元情報「0101」に対してコードC「000101」を出力し、コードD「010000」を出力し、コードE「101111」を出力し、コードF「111010」を出力する。
セレクタ12fは、第4の実施形態と同様に、コードCを選択したときに、その値が変化するビットの数が「4」であることを算出し、連続してその値が変化するビットの数が「0」であることを算出する。また、セレクタ12fは、コードCを選択したときに、最下位から第2ビットの両隣のビットが同時に同方向に変化し、かつ第2ビットのビット値と両隣のビット値が異なるので、クロストーク数を「1」であると算出する。以上の結果、セレクタ12fは、判定値Cを「7」(=4+2×0+3×1)とする。
セレクタ12fは、第4の実施形態と同様に、コードDを選択したときに、その値が変化するビットの数が「1」であることを算出し、連続してその値が変化するビットの数が「0」であることを算出する。また、セレクタ12fは、コードDを選択したときに、クロストーク数を「0」であると算出する。以上の結果、セレクタ12fは、判定値Dを「1」(=1+2×0+3×0)とする。
セレクタ12fは、第4の実施形態と同様に、コードEを選択したときに、その値が変化するビットの数が「5」であることを算出し、連続してその値が変化するビットの数が「1」であることを算出する。また、セレクタ12fは、コードEを選択したときに、クロストーク数を「0」であると算出する。以上の結果、セレクタ12fは、判定値Eを「7」(=5+2×1+3×0)とする。
セレクタ12fは、第4の実施形態と同様に、コードFを選択したときに、その値が変化するビットの数が「2」であることを算出し、連続してその値が変化するビットの数が「1」であることを算出する。また、セレクタ12fは、コードFを選択したときに、最下位から第3ビットの両隣のビットが同時に同方向に変化し、かつ第3ビットのビット値と両隣のビットの変化後の値とが異なるので、クロストーク数を「1」であると算出する。以上の結果、セレクタ12fは、判定値Fを「7」(=2+2×1+3×1)とする。
以上より、セレクタ12fは、判定値が最小のコードDを選択する。
次に、サブエンコーダ11bは、元情報「1011」に対してコードC「001011」を出力し、コードD「011110」を出力し、コードE「100001」を出力し、コードF「110100」を出力する。
セレクタ12fは、第4の実施形態と同様に、コードCを選択したときに、その値が変化するビットの数が「4」であることを算出し、連続してその値が変化するビットの数が「0」であることを算出する。また、セレクタ12fは、コードCを選択したときに、最下位から第3ビットの両隣のビットが同時に同方向に変化し、かつ第3ビットのビット値と両隣のビットの変化後の値とが異なるので、クロストーク数を「1」であると算出する。以上の結果、セレクタ12fは、判定値Cを「7」(=4+2×0+3×1)とする。
セレクタ12fは、第4の実施形態と同様に、コードDを選択したときに、その値が変化するビットの数が「3」であることを算出し、連続してその値が変化するビットの数が「0」であることを算出する。また、セレクタ12fは、コードDを選択したときに、クロストーク数を「0」であると算出する。以上の結果、セレクタ12fは、判定値Dを「3」(=3+2×0+3×0)とする。
セレクタ12fは、第4の実施形態と同様に、コードEを選択したときに、その値が変化するビットの数が「3」であることを算出し、連続してその値が変化するビットの数が「1」であることを算出する。また、セレクタ12fは、コードEを選択したときに、クロストーク数を「0」であると算出する。以上の結果、セレクタ12fは、判定値Eを「5」(=3+2×1+3×0)とする。
セレクタ12fは、第4の実施形態と同様に、コードFを選択したときに、その値が変化するビットの数が「2」であることを算出し、連続してその値が変化するビットの数が「1」であることを算出する。また、セレクタ12fは、コードFを選択したときに、クロストーク数を「0」であると算出する。以上の結果、セレクタ12fは、判定値Fを「4」(=2+2×1+3×0)とする。
以上より、セレクタ12fは、判定値が最小のコードDを選択する。
図38は、セレクタ12fを実現する具体的な回路構成を示す。同図を参照して、このセレクタ12fでは、図29に示す第4の実施形態におけるセレクタ12dにおける適性判定回路31i〜31lに代えて、適性判定回路31o〜31rが用いられている。
図39は、適性判定回路31oを実現する具体的な回路構成を示す。同図を参照して、この適性判定回路31oには、図30に示す第4の実施形態における適性判定回路31iに、ビット値判別回路bc4〜bc7と、論理積回路AND15〜AND18と、ビット加算器38bと、乗算器39bとが追加され、加算器37bに代えて加算器37dが用いられている。
ビット値判別回路bc4は、コードCの第1ビットと第3ビットの値が同一であって、かつ第1ビットと第2ビットの値が相違するときのみ「1」を出力する。
論理積回路AND15は、排他的論理和回路E−OR6の出力が「1」(つまり、第1ビットの値が変化した)であり、排他的論理和回路E−OR8の出力が「1」(つまり、第3ビットの値が変化した)であり、かつビット値判別回路bc4の出力が「1」である(つまり、第1ビットと第3ビットの値が同一であって、かつ第1ビットと第2ビットの値が相違する)ときのみ「1」を出力する。
ビット値判別回路bc5は、コードCの第2ビットと第4ビットの値が同一であって、かつ第2ビットと第3ビットの値が相違するときのみ「1」を出力する。
論理積回路AND16は、排他的論理和回路E−OR7の出力が「1」(つまり、第2ビットの値が変化した)であり、排他的論理和回路E−OR9の出力が「1」(つまり、第4ビットの値が変化した)であり、かつビット値判別回路bc5の出力が「1」である(つまり、第2ビットと第4ビットの値が同一であって、かつ第2ビットと第3ビットの値が相違する)ときのみ「1」を出力する。
ビット値判別回路bc6は、コードCの第3ビットと第5ビットの値が同一であって、かつ第3ビットと第4ビットの値が相違するときのみ「1」を出力する。
論理積回路AND17は、排他的論理和回路E−OR8の出力が「1」(つまり、第3ビットの値が変化した)であり、排他的論理和回路E−OR10の出力が「1」(つまり、第5ビットの値が変化した)であり、かつビット値判別回路bc6の出力が「1」である(つまり、第3ビットと第5ビットの値が同一であって、かつ第3ビットと第4ビットの値が相違する)ときのみ「1」を出力する。
ビット値判別回路bc7は、コードCの第4ビットと第6ビットの値が同一であって、かつ第4ビットと第5ビットの値が相違するときのみ「1」を出力する。
論理積回路AND18は、排他的論理和回路E−OR9の出力が「1」(つまり、第4ビットの値が変化した)であり、排他的論理和回路E−OR11の出力が「1」(つまり、第6ビットの値が変化した)であり、かつビット値判別回路bc7の出力が「1」である(つまり、第4ビットと第6ビットの値が同一であって、かつ第4ビットと第5ビットの値が相違する)ときのみ「1」を出力する。
ビット加算器38bは、論理積回路AND15〜AND18の出力を加算する。
乗算器39bは、ビット加算器38bの出力と、重み係数L(=「3」)とを乗算する。
加算器37dは、ビット加算器34bの出力と、乗算器36bの出力と、乗算器39bの出力とを加算して、加算結果を判定値Cとして出力する。したがって、判定値Cは、コードCを選択したときに前コードからその値が変化したビットの数と、連続してその値が変化したビットの数に重み係数Kを乗じた数と、両隣のビットが同時に同方向に変化し、かつ両隣のビットの変化後の値と異なる値をもつビットの数(つまり、クロストーク数)に重み係数Lを乗じた数との和を示す。
適性判定回路31p,31q,31rは、それぞれ適性判定回路31oと同様にして、コードDを選択したときに前コードからその値が変化したビットの数と、連続してその値が変化したビットの数に重み係数Kを乗じた数と、両隣のビットが同時に同方向に変化し、かつ両隣のビットの変化後の値と異なる値をもつビットの数(つまり、クロストクーク数)に重み係数Lを乗じた数との和を示す判定値D,コードEを選択したときに前コードからその値が変化したビットの数と、連続してその値が変化したビットの数に重み係数Kを乗じた数と、両隣のビットが同時に同方向に変化し、かつ両隣のビットの変化後の値と異なる値をもつビットの数(つまり、クロストーク数)に重み係数Lを乗じた数との和を示す判定値E,コードFを選択したときに前コードからその値が変化したビットの数と、連続してその値が変化したビットの数に重み係数Kを乗じた数と、両隣のビットが同時に同方向に変化し、かつ両隣のビットの変化後の値と異なる値をもつビットの数(つまり、クロストーク数)に重み係数Lを乗じた数との和を示す判定値Fを比較回路32bへ出力する。適性判定回路31p,31q,31rの具体的な回路構成は、適性判定回路31oの具体的な回路構成と同様なので、説明は繰返さない。
(受信装置の構成)
本実施の形態に係わる受信装置は、第2の実施形態に係わる受信装置と同一であるので、その説明を繰返さない。
以上のように、本実施の形態に係わる通信システムによれば、元情報がNビットのときに、(N+2)ビットの複数のパラレルコードのうち、同時にその値が変化するビットの数を少なくし、連続してその値が変化するビットの数を少なくし、およびクロストーク数を少なくするようなパラレルコードが伝送されるので、パラレルコードを伝送するための入出力回路における消費電力の低減化、高速化、および入出力回路と伝送路におけるクロストークノイズの発生の低減化を同時に実現することができる。
[第7の実施形態]
本実施の形態は、Nビットの元情報(パラレルデータ)に対して(N+1)ビットの2つのパラレルコードを生成して、選択基準βのみによって、これら2つのパラレルコードのうちの1つを選択して出力する送信装置を有する通信システムに関する。
(送信装置の構成)
第7の実施形態に係わる送信装置は、図22に示す第3の実施形態におけるセレクタ12cの代りに、セレクタ12gを備え、データラッチ回路13cの代りに、データラッチ回路13eを備える。以下、これらについて説明する。
セレクタ12gは、サブエンコーダ11aからコードAまたはコードBを受けて、いずれかを選択して出力する。セレクタ12gは、次のコード選択の条件として、選択基準βのみを用いる。
図40は、セレクタ12gが選択基準βによって順次選択するコード列の例を示す。同図において、左側に元情報を、中央にコードAおよびコードBを示し、右側に前回変化情報を示す。太枠で示されたコードが選択されたことを示す。
サブエンコーダ11aは、元情報「0010」に対してコードA「00010」を出力し、コードB「11101」を出力する。セレクタ12gは、最初は、デフォルト選択として、コードAを選択する。また、前回変化情報として、最初はデフォルト値「00000」が設定されている。
次に、サブエンコーダ11aは、元情報「1101」に対してコードA「01101」を出力し、コードB「10010」を出力する。セレクタ12gは、再度デフォルト選択として、コードAを選択する。セレクタ12gは、コードAを選択したので、前回変化情報を「01111」に更新する。
次に、サブエンコーダ11aは、元情報「1111」に対してコードA「01111」を出力し、コードB「10000」を出力する。
セレクタ12gは、前回変化情報が「01111」なので、コードAを選択したときに、第2ビットの値が連続して変化するので、連続してその値が変化するビットの数が「1」であることを算出する。以上の結果、セレクタ12gは、判定値Aを「1」とする。
セレクタ12gは、前回変化情報が「01111」なので、コードBを選択したときに、第1,3,4ビットの値が連続して変化するので、連続してその値が変化するビットの数が「3」であることを算出する。以上の結果、セレクタ12gは、判定値Bを「3」とする。
以上より、セレクタ12gは、判定値が小さいコードAを選択する。また、セレクタ12gは、コードAを選択したので、前回変化情報を「00010」に更新する。
次に、サブエンコーダ11aは、元情報「0101」に対してコードA「00101」を出力し、コードB「11010」を出力する。
セレクタ12gは、前回変化情報が「00010」なので、コードAを選択したときに、第2ビットの値が連続して変化するので、連続してその値が変化するビットの数が「1」であることを算出する。以上の結果、セレクタ12gは、判定値Aを「1」とする。
セレクタ12gは、前回変化情報が「00010」なので、コードBを選択したときに、連続してその値が変化するビットの数が「0」であることを算出する。以上の結果、セレクタ12gは、判定値Bを「0」とする。
以上より、セレクタ12gは、判定値が小さいコードBを選択する。また、セレクタ12gは、コードBを選択したので、前回変化情報を「10101」に更新する。
次に、サブエンコーダ11aは、元情報「1011」に対してコードA「01011」を出力し、コードB「10100」を出力する。
セレクタ12gは、前回変化情報が「10101」なので、コードAを選択したときに、第1,5ビットの値が連続して変化し、連続してその値が変化するビットの数が「2」であることを算出する。以上の結果、セレクタ12gは、判定値Aを「2」とする。
セレクタ12gは、前回変化情報が「10101」なので、コードBを選択したときに、第3ビットの値が連続して変化し、連続してその値が変化するビットの数が「1」であることを算出する。以上の結果、セレクタ12gは、判定値Bを「1」とする。
以上より、セレクタ12gは、判定値が小さいコードBを選択する。また、セレクタ12gは、コードBを選択したので、前回変化情報を「01110」に更新する。
セレクタ12gは、第3の実施形態におけるセレクタ12cと適性判定回路のみが相違する。たとえば、セレクタ12gのコードAに対応する適性判定回路は、図25に示す適性判定回路31gからビット加算器34aと、乗算器36aと、加算器37aとを取り除き、ビット加算器35aの出力を外部へ出力するように変更したものである。
データラッチ回路13eは、前回変化情報のみを出力する。データラッチ回路13eは、図26に示す第3の実施形態におけるデータラッチ回路13cにおいて、前回変化情報のみを出力するように変更したものである。
(受信装置の構成)
本実施の形態に係わる受信装置は、第1の実施形態に係わる受信装置と同一であるので、その説明を繰返さない。
以上のように、本実施の形態に係わる通信システムによれば、元情報がNビットのときに、(N+1)ビットの複数のパラレルコードのうち、連続して変化するビットの数を最小にするパラレルコードが伝送されるので、パラレルコードを伝送するための入出力回路において、処理速度を高速化することができる。
[第8の実施形態]
本実施の形態は、Nビットの元情報(パラレルデータ)に対して(N+2)ビットの4つのパラレルコードを生成して、選択基準βのみによって、これら4つのパラレルコードのうちの1つを選択して出力する送信装置を有する通信システムに関する。
(送信装置の構成)
第8の実施形態に係わる送信装置は、図27に示す第4の実施形態におけるセレクタ12dの代りに、セレクタ12hを備え、データラッチ回路13dの代りに、データラッチ回路13fを備える。以下、これらについて説明する。
セレクタ12hは、サブエンコーダ11bからコードC、コードD、コードEまたはコードFを受けて、いずれかを選択して出力する。セレクタ12hは、次のコード選択の条件として、選択基準βのみを用いる。
図41は、セレクタ12hが選択基準βによって順次選択するコード列の例を示す。同図において、左側に元情報を、中央にコードC、コードD、コードEおよびコードFを示し、右側に前回変化情報を示す。太枠で示されたコードが選択されたことを示す。
サブエンコーダ11bは、元情報「0010」に対してコードC「000010」を出力し、コードD「010111」を出力し、コードE「101000」を出力し、コードF「111101」を出力する。セレクタ12hは、最初は、デフォルト選択として、コードCを選択する。また、前回変化情報として、最初は、デフォルト値「000000」が設定されている。
次に、サブエンコーダ11bは、元情報「1101」に対してコードC「001101」を出力し、コードD「011000」を出力し、コードE「100111」を出力し、コードF「110010」を出力する。セレクタ12hは、再度デフォルト選択として、コードCを選択する。また、セレクタ12hは、コードCを選択したので、前回変化情報を「001111」に更新する。
次に、サブエンコーダ11bは、元情報「1111」に対してコードC「001111」を出力し、コードD「011010」を出力し、コードE「100101」を出力し、コードF「110000」を出力する。
セレクタ12hは、前回変化情報が「001111」より、コードCを選択したときに、第2ビットの値が連続して変化するので、連続してその値が変化するビットの数が「1」であることを算出し、判定値Cを「1」をとする。
セレクタ12hは、前回変化情報が「001111」より、コードDを選択したときに、第1,2,3ビットの値が連続して変化するので、連続してその値が変化するビットの数が「3」であることを算出する。以上の結果、セレクタ12hは、判定値Dを「3」をする。
セレクタ12hは、前回変化情報が「001111」より、コードEを選択したときに、第4ビットの値が連続して変化するので、連続してその値が変化するビットの数が「1」であることを算出し、判定値Eを「1」をとする。
セレクタ12hは、前回変化情報が「001111」より、コードFを選択したときに、第1,3,4ビットの値が連続して変化するので、連続してその値が変化するビットの数が「3」であることを算出し、判定値Fを「3」とする。
以上より、セレクタ12hは、判定値が最小の1つであるコードCを選択する。また、セレクタ12hは、コードCを選択したので、前回変化情報を「000010」に更新する。
次に、サブエンコーダ11bは、元情報「0101」に対してコードC「000101」を出力し、コードD「010000」を出力し、コードE「101111」を出力し、コードF「111010」を出力する。
セレクタ12hは、前回変化情報が「000010」より、コードCを選択したときに、第2ビットの値が連続して変化し、連続してその値が変化するビットの数が「1」であることを算出し、判定値C「1」をとする。
セレクタ12hは、前回変化情報が「000010」より、コードDを選択したときに、第2ビットの値が連続して変化し、連続してその値が変化するビットの数が「1」であることを算出し、判定値Dを「1」とする。
セレクタ12hは、前回変化情報が「000010」より、コードEを選択したときに、連続してその値が変化するビットの数が「0」であることを算出し、判定値Eを「0」とする。
セレクタ12hは、前回変化情報が「000010」より、コードFを選択したときに、連続してその値が変化するビットの数が「0」であることを算出し、判定値Fを「0」をとする。
以上より、セレクタ12hは、判定値が最小の1つであるコードEを選択する。セレクタ12hは、コードEを選択したので、前回変化情報を「100000」に更新する。
次に、サブエンコーダ11bは、元情報「1011」に対してコードC「001011」を出力し、コードD「011110」を出力し、コードE「100001」を出力し、コードF「110100」を出力する。
セレクタ12hは、前回変化情報が「100000」より、コードCを選択したときに、第6ビットの値が連続して変化し、連続してその値が変化するビットの数が「1」であることを算出し、判定値Cを「1」とする。
セレクタ12hは、前回変化情報が「100000」より、コードDを選択したときに、第6ビットの値が連続して変化し、連続してその値が変化するビットの数が「1」であることを算出し、判定値Dを「1」とする。
セレクタ12hは、前回変化情報が「100000」より、コードEを選択したときに、連続してその値が変化するビットの数が「0」であることを算出し、判定値Eを「0」をとする。
セレクタ12hは、前回変化情報が「100000」より、コードFを選択したときに、連続してその値が変化するビットの数が「0」であることを算出し、判定値Fを「0」とする。
以上より、セレクタ12hは、判定値が最小の1つであるコードEを選択する。また、セレクタ12hは、コードEを選択したので、前回変化情報を「001110」に更新する。
セレクタ12hは、第4の実施形態におけるセレクタ12dと適性判定回路のみが相違する。たとえば、セレクタ12hのコードCに対応する適性判定回路は、図30に示す適性判定回路31iからビット加算器34bと、乗算器36bと、加算器37bとを取り除き、ビット加算器35bの出力を外部へ出力するように変更したものである。
データラッチ回路13fは、前回変化情報のみを出力する。データラッチ回路13fは、図31に示す第4の実施形態におけるデータラッチ回路13dにおいて、前回変化情報のみを出力するように変更したものである。
(受信装置の構成)
本実施の形態に係わる受信装置は、第2の実施形態に係わる受信装置と同一であるので、その説明を繰返さない。
以上のように、本実施の形態に係わる通信システムによれば、元情報がNビットのときに、(N+2)ビットの複数のパラレルコードのうち、連続して変化するビットの数を最小にするパラレルコードが伝送されるので、パラレルコードを伝送するための入出力回路において、処理速度を高速化することができる。
[第9の実施形態]
本実施の形態は、Nビットの元情報(パラレルデータ)に対して(N+1)ビットの2つのパラレルコードを生成して、選択基準γのみによって、これら2つのパラレルコードのうちの1つを選択して出力する送信装置を有する通信システムに関する。
(送信装置の構成)
第9の実施形態に係わる送信装置は、図32に示す第5の実施形態におけるセレクタ12eの代りに、セレクタ12iを備え、データラッチ回路13cを備えない。以下、これらについて説明する。
セレクタ12iは、サブエンコーダ11aからコードAまたはコードBを受けて、いずれかを選択して出力する。セレクタ12iは、次のコード選択の条件として、選択基準γのみを用いる。
図42は、セレクタ12iが選択基準γによって順次選択するコード列の例を示す。同図において、左側に元情報を、右側にコードAおよびコードBを示す。太枠で示されたコードが選択されたことを示す。
サブエンコーダ11aは、元情報「0010」に対してコードA「00010」を出力し、コードB「11101」を出力する。セレクタ12iは、最初は、デフォルト選択として、コードAを選択する。
次に、サブエンコーダ11aは、元情報「1101」に対してコードA「01101」を出力し、コードB「10010」を出力する。
セレクタ12iは、コードAを選択したときに、最下位から第2ビットの両隣のビットが同時に同方向に変化し、かつ第2ビットのビット値と両隣のビットの変化後の値とが異なるので、クロストーク数を「1」であると算出し、判定値Aを「1」とする。
セレクタ12iは、コードBを選択したときに、クロストーク数を「0」であると算出し、判定値Bを「0」とする。
以上より、セレクタ12iは、判定値が最小のコードBを選択する。
次に、サブエンコーダ11aは、元情報「1111」に対してコードA「01111」を出力し、コードB「10000」を出力する。
セレクタ12iは、コードAを選択したときに、クロストーク数を「0」であると算出し、判定値Aを「0」とする。
セレクタ12iは、コードBを選択したときに、クロストーク数を「0」であると算出し、判定値Bを「0」とする。
以上より、セレクタ12iは、判定値が最小の1つであるコードBを選択する。
次に、サブエンコーダ11aは、元情報「0101」に対してコードA「00101」を出力し、コードB「11010」を出力する。
セレクタ12iは、コードAを選択したときに、最下位から第2ビットの両隣のビットが同時に同方向に変化し、かつ第2ビットのビット値と両隣のビットの変化後の値とが異なるので、クロストーク数を「1」であると算出し、判定値Aを「1」とする。
セレクタ12iは、コードBを選択したときに、最下位から第3ビットの両隣のビットが同時に同方向に変化し、かつ第3ビットのビット値と、両隣のビット値が異なるので、クロストーク数を「1」と算出し、判定値Bを「1」とする。
以上より、セレクタ12iは、判定値が最小の1つであるコードBを選択する。
次に、サブエンコーダ11aは、元情報「1011」に対してコードA「01011」を出力し、コードB「10100」を出力する。
セレクタ12iは、コードAを選択したときに、クロストーク数を「0」であると算出し、判定値Aを「0」とする。
セレクタ12iは、コードBを選択したときに、最下位から第3ビットの両隣のビットが同時に同方向に変化し、かつ第3ビットのビット値と両隣のビットの変化後の値とが異なるので、クロストーク数を「1」であると算出し、判定値Bを「1」とする。
以上より、セレクタ12iは、判定値が最小であるコードAを選択する。
セレクタ12iは、第5の実施形態におけるセレクタ12eと適性判定回路のみが相違する。たとえば、セレクタ12iのコードAに対応する適性判定回路は、図35に示す適性判定回路31mから論理積回路AND1〜AND5と、ビット加算器34a,35aと、乗算器36a,39aと、加算器37cとを取り除き、ビット加算器38aの出力を外部へ出力するように変更したものである。
(受信装置の構成)
本実施の形態に係わる受信装置は、第1の実施形態に係わる受信装置と同一であるので、その説明を繰返さない。
以上のように、本実施の形態に係わる通信システムによれば、元情報がNビットのときに、(N+1)ビットの複数のパラレルコードのうち、クロストーク数を最小にするパラレルコードが伝送されるので、パラレルコードを伝送するための入出力回路および信号線において、クロストークノイズの発生を低減化することができる。
[第10の実施形態]
本実施の形態は、Nビットの元情報(パラレルデータ)に対して(N+2)ビットの4つのパラレルコードを生成して、選択基準γのみによって、これら4つのパラレルコードのうちの1つを選択して出力する送信装置を有する通信システムに関する。
(送信装置の構成)
第10の実施形態に係わる送信装置は、図36に示す第6の実施形態におけるセレクタ12fの代りに、セレクタ12jを備え、データラッチ回路13dを備えない。以下、これらについて説明する。
セレクタ12jは、サブエンコーダ11bからコードC、コードD、コードEまたはコードFを受けて、いずれかを選択して出力する。セレクタ12jは、次のコード選択の条件として、選択基準γのみを用いる。
図43は、セレクタ12jが選択基準γによって順次選択するコード列の例を示す。同図において、左側に元情報を、右側にコードC、コードD、コードEおよびコードFを示す。太枠で示されたコードが選択されたことを示す。
サブエンコーダ11bは、元情報「0010」に対してコードC「000010」を出力し、コードD「010111」を出力し、コードE「101000」を出力し、コードF「111101」を出力する。セレクタ12jは、最初は、デフォルト選択として、コードCを選択する。
次に、サブエンコーダ11bは、元情報「1101」に対してコードC「001101」を出力し、コードD「011000」を出力し、コードE「100111」を出力し、コードF「110010」を出力する。
セレクタ12jは、コードCを選択したときに、最下位から第2ビットの両隣のビットが同時に同方向に変化し、かつ第2ビットの値と両隣のビットの変化後の値とが異なるので、クロストーク数を「1」であると算出し、判定値Cを「1」とする。
セレクタ12jは、コードDを選択したときに、クロストーク数を「0」であると算出し、判定値Dを「0」とする。
セレクタ12jは、コードEを選択したときに、クロストーク数を「0」であると算出し、判定値Eを「0」とする。
セレクタ12jは、コードFを選択したときに、クロストーク数を「0」であると算出し、判定値Fを「0」とする。
以上より、セレクタ12jは、判定値が最小の1つであるコードDを選択する。
次に、サブエンコーダ11bは、元情報「1111」に対してコードC「001111」を出力し、コードD「011010」を出力し、コードE「100101」を出力し、コードF「110000」を出力する。
セレクタ12jは、コードCを選択したときに、クロストーク数を「0」であると算出し、判定値Cを「0」とする。
セレクタ12jは、コードDを選択したときに、クロストーク数を「0」であると算出し、判定値Dを「0」とする。
セレクタ12jは、コードEを選択したときに、最下位から第2ビットの両隣のビットが同時に同方向に変化し、かつ第2ビットの値と両隣のビットの変化後の値とが異なるので、クロストーク数を「1」であると算出し、判定値Eを「1」とする。
セレクタ12jは、コードFを選択したときに、クロストーク数を「0」であると算出し、判定値Fを「0」とする。
以上より、セレクタ12jは、判定値が最小の1つであるコードDを選択する。
次に、サブエンコーダ11bは、元情報「0101」に対してコードC「000101」を出力し、コードD「010000」を出力し、コードE「101111」を出力し、コードF「111010」を出力する。
セレクタ12jは、コードCを選択したときに、最下位から第2ビットの両隣のビットが同時に同方向に変化し、かつ第2ビットの値と両隣のビットの変化後の値とが異なるので、クロストーク数を「1」であると算出し、判定値Cを「1」とする。
セレクタ12jは、コードDを選択したときに、クロストーク数を「0」であると算出し、判定値Dを「0」とする。
セレクタ12jは、コードEを選択したときに、クロストーク数を「0」であると算出し、判定値Eを「0」とする。
セレクタ12jは、コードFを選択したときに、クロストーク数を「0」であると算出し、判定値Fを「0」とする。
以上より、セレクタ12jは、判定値が最小の1つであるコードDを選択する。
次に、サブエンコーダ11bは、元情報「1011」に対してコードC「001011」を出力し、コードD「011110」を出力し、コードE「100001」を出力し、コードF「110100」を出力する。
セレクタ12jは、コードCを選択したときに、最下位から第3ビットの両隣のビットが同時に同方向に変化し、かつ第3ビットのビット値と両隣のビット値が異なるので、クロストーク数を「1」であると算出し、判定値Cを「1」とする。また、セレクタ12jは、コードDを選択したときに、クロストーク数を「0」であると算出し、判定値Dを「0」とする。また、セレクタ12jは、コードEを選択したときに、クロストーク数を「0」であると算出し、判定値Eを「0」とする。また、セレクタ12jは、コードFを選択したときに、クロストーク数を「0」であると算出し、判定値Fを「0」とする。以上より、セレクタ12jは、判定値が最小の1つであるコードDを選択する。
セレクタ12jは、第6の実施形態におけるセレクタ12fと適性判定回路のみが相違する。たとえば、セレクタ12jのコードCに対応する適性判定回路は、図39に示す適性判定回路31oから論理積回路AND6〜AND11と、ビット加算器34b,35bと、乗算器36b,39bと、加算器37dとを取り除き、ビット加算器38bの出力を外部へ出力するように変更したものである。
(受信装置の構成)
本実施の形態に係わる受信装置は、第2の実施形態に係わる受信装置と同一であるので、その説明を繰返さない。
以上のように、本実施の形態に係わる通信システムによれば、元情報がNビットのときに、(N+2)ビットの複数のパラレルコードのうち、クロストーク数を最小にするパラレルコードが伝送されるので、パラレルコードを伝送するための入出力回路および信号線において、クロストークノイズの発生を低減化することができる。
[第11の実施形態]
本実施の形態は、Nビットの元情報(パラレルデータ)に対して(N+2)ビットの1つのパラレルコードを生成して、このパラレルコードの適性を適性基準α’によって判定し、判定結果に応じて、このパラレルコードをそのまま、または所定の変形を加えたパラレルコードを出力する通信システムに関する。
第1〜第10の実施形態では、エンコーダが複数のコードを生成し、セレクタが選択基準によって、生成された各コードの適性を判定し、判定結果に応じて、1つのコードを選択した。
しかしながら、複数のコードを生成し、生成された各コードの適性を判定するとなると、回路の規模が大きくなる。
そこで、本実施の形態では、エンコーダが1つのパラレルコードを生成するとともに、そのパラレルコードの適性を判定し、判定結果に応じて、そのパラレルコードまたは所定の変形を加えたパラレルコードを出力するようにすることで、回路の規模を小さくする。
(送信装置の構成)
図44は、第11の実施形態に係わる送信装置の構成を示す。同図を参照して、この送信装置100gは、Nビットの元情報(パラレルデータ)に対して、(N+2)ビットのパラレルコードを送信する送信装置であって、エンコーダ15gと、データラッチ回路13bと、出力回路14bとを備える。
エンコーダ15gは、1つの所定のコード(コードC)の奇数ビットおよび偶数ビットごとに、適性基準α’「その値が変化するビットの数が設定値未満である。」によって、そのコードの適性を判定する。すなわち、エンコーダ15gは、その値が変化する奇数ビットの数を奇数ビットの判定値とし、奇数ビットの判定値が設定値未満のときに奇数ビットの適性を良と判定し、奇数ビットの判定値が設定値以上のときに奇数ビットの適性を不良と判定する。また、エンコーダ15gは、その値が変化する所定のコードの偶数ビットの数を偶数ビットの判定値とし、偶数ビットの判定値が設定値未満のときに偶数ビットの適性を良と判定し、偶数ビットの判定値が設定値以上のときに偶数ビットの適性を不良と判定する。エンコーダ15gは、奇数ビットの適性を不良と判定したときには、所定のコードの奇数ビットの値を反転し、偶数ビットの適性を不良と判定したときには、所定のコードの偶数ビットの値を反転する。
図45は、エンコーダ15gが順次出力するコード列の例を示す。同図において、左側に元情報を、右側にコードC、コードD、コードEおよびコードFを示す。太枠で示されたコードが選択されたことを示す。
まず、エンコーダ15gは、最初は、デフォルト出力として元情報「0010」に対して、コードC「000010」を出力する。
次に、エンコーダ15gは、元情報「1101」に対して、コードC「001101」を選択したときに、最下位から第1,2,3,4ビットの値が変化するので、その値が変化する奇数ビットの数が「2」であり、その値が変化する偶数ビットの数が「2」であることを算出し、奇数ビットの判定値を「2」とし、偶数ビットの判定値を「2」とする。エンコーダ15gは、奇数ビットの判定値「2」が設定値「2」以上であるので、奇数ビットの適性を不良と判定し、また偶数ビットの判定値「2」が設定値「2」以上であるので、偶数ビットの適性を不良と判定する。以上より、エンコーダ15gは、コードC「001101」の全ビットを反転させたコードF「110010」を出力する。
次に、エンコーダ15gは、元情報「1111」に対して、コードC「001111」を選択したときに、最下位から第1,3,4,5,6ビットの値が変化するので、その値が変化する奇数ビットの数が「3」であり、その値が変化する偶数ビットの数が「2」であることを算出し、奇数ビットの判定値を「3」とし、偶数ビットの判定値を「2」とする。エンコーダ15gは、奇数ビットの判定値「3」が設定値「2」以上であるので、奇数ビットの適性を不良と判定し、また偶数ビットの判定値「2」が設定値「2」以上であるので、偶数ビットの適性を不良と判定する。以上より、エンコーダ15gは、コードC「001111」の全ビットを反転させたコードF「110000」を出力する。
次に、エンコーダ15gは、元情報「0101」に対して、コードC「000101」を選択したときに、最下位から第1,3,5,6ビットの値が変化するので、その値が変化する奇数ビットの数が「3」であり、その値が変化する偶数ビットの数が「1」であることを算出し、奇数ビットの判定値を「3」とし、偶数ビットの判定値を「1」とする。エンコーダ15gは、奇数ビットの判定値「3」が設定値「2」以上であるので、奇数ビットの適性を不良と判定し、また偶数ビットの判定値「1」が設定値「2」未満であるので、偶数ビットの適性を良と判定する。以上より、エンコーダ61は、コードC「001111」の奇数ビットのみを反転させたコードD「010000」を出力する。
次に、エンコーダ15gは、元情報「1011」に対して、コードC「001011」を選択したときに、最下位から第1,2,4,5ビットの値が変化するので、その値が変化する奇数ビットの数が「2」であり、その値が変化する偶数ビットの数が「2」であることを算出し、奇数ビットの判定値を「2」とし、偶数ビットの判定値を「2」とする。エンコーダ15gは、奇数ビットの判定値「2」が設定値「2」以上であるので、奇数ビットの適性を不良と判定し、また偶数ビットの判定値「2」が設定値「2」以上であるので、偶数ビットの適性を不良と判定する。以上より、エンコーダ15gは、コードC「001011」の全ビットを反転させたコードF「110100」を出力する。
図46は、エンコーダ15gを実現する具体的な回路構成を示す。同図を参照して、エンコーダ15gは、複数の排他的論理和回路E−OR12〜E−OR19と、ビット加算器34c,34dと、比較器42a,42bとを備える。
排他的論理和回路E−OR12は、元情報の第1ビット(=コードCの第1ビット)と前コードの第1ビットとが相違するときのみ、「1」を出力する。
排他的論理和回路E−OR13は、元情報の第3ビット(=コードCの第3ビット)と前コードの第3ビットとが相違するときのみ、「1」を出力する。
ビット加算器34cは、排他的論理和回路E−OR12の出力と、排他的論理和回路E−OR13の出力と、前コードの第5ビットの値とを加算する。ここで、コードCの第5ビットは「0」なので、ビット加算器34cに入力される前コードの第5ビットは、前コードの第5ビットと、コードCの第5ビットが相違するときのみ、「1」となる。したがって、ビット加算器34cは、コードCを選択したときに変化する奇数ビット数をコードCの奇数ビットの適性を示す判定値として出力する。
比較器42aは、ビット加算器34cの出力である奇数ビットの判定値が設定値「2」以上のときのみ、「1」を出力する。比較器42aの出力は、排他的論理和回路E−OR16,E−OR18に送られるとともに、出力コードの第5ビットとなる。
排他的論理和回路E−OR16,E−OR18は、比較器42aの出力が「0」のとき、元情報の第1,第3ビットの値をそのまま出力コードの第1,第3ビットの値とし、比較器42aの出力が「1」のとき、元情報の第1,第3ビットの値を反転して出力コードの第1,第3ビットの値とする。
排他的論理和回路E−OR14は、元情報の第2ビット(=コードCの第2ビット)と前コードの第2ビットとが相違するときのみ、「1」を出力する。
排他的論理和回路E−OR15は、元情報の第4ビット(コードCの第4ビット)と前コードの第4ビットとが相違するときのみ、「1」を出力する。
ビット加算器34dは、排他的論理和回路E−OR14の出力と、排他的論理和回路E−OR15の出力と、前コードの第6ビットの値とを加算する。ここで、コードCの第6ビットは「0」なので、ビット加算器34dに入力される前コードの第6ビットは、前コードの第6ビットと、コードCの第6ビットが相違するときのみ、「1」となる。したがって、ビット加算器34dは、コードCを選択したときに変化する偶数ビット数をコードCの偶数ビットの適性を示す判定値として出力する。
比較器42bは、ビット加算器34dの出力である偶数ビットの判定値が設定値「2」以上のときのみ、「1」を出力する。比較器42bの出力は、排他的論理和回路E−OR17,E−OR19に送られるとともに、出力コードの第6ビットとなる。
排他的論理和回路E−OR17,E−OR19は、比較器42bの出力が「0」のとき、元情報の第2,第4ビットの値をそのまま出力コードの第2,第4ビットの値とし、比較器42bの出力が「1」のとき、元情報の第2,第4ビットの値を反転して出力コードの第2,第4ビットの値とする。
以上のようにして、コードCの奇数ビットの判定値が設定値未満であり、かつ偶数ビットの判定値が設定値未満であるときには、コードCの奇数ビットと偶数ビットの適性が良と判定され、コードCがそのまま出力される。コードCの奇数ビットの判定値が設定値以上であり、かつ偶数ビットの判定値が設定値未満であるときには、コードCの奇数ビットのみ、その適性が不良と判定され、コードCの奇数ビットを反転させたコードDが出力される。コードCの奇数ビットの判定値が設定値未満であり、かつ偶数ビットの判定値が設定値以上であるときには、コードCの偶数ビットのみ、そのの適性が不良と判定され、コードCの偶数ビットを反転させたコードEが出力される。コードCの奇数ビットの判定値が設定値以上であり、かつ偶数ビットの判定値が設定値以上であるときには、コードCの奇数ビットと偶数ビットの適性が不良と判定され、コードCの全ビットを反転させたコードFが出力される。
(受信装置の構成)
本実施の形態に係わる受信装置は、第2の実施形態に係わる受信装置と同一であるので、その説明を繰返さない。
以上のように、本実施の形態に係わる通信システムによれば、元情報がNビットのときに、(N+2)ビットの複数のパラレルコードのうち、同時に変化するビット数を少なくするパラレルコードが伝送されるので、パラレルコードを伝送するための入出力回路において、消費電力を低減化することができる。
[第12の実施形態]
本実施の形態は、Nビットの元情報(パラレルデータ)に対して(N+2)ビットの1つのパラレルコードを生成して、このパラレルコードの適性を適性基準α’とβ’とを併せた適性選択基準(α’+β’)によって判定し、判定結果に応じて、このパラレルコードをそのまま、または所定の変形を加えたパラレルコードを出力する通信システムに関する。
(送信装置の構成)
図47は、第12の実施形態に係わる送信装置の構成を示す。同図を参照して、この送信装置100hは、Nビットの元情報に対して、(N+2)ビットのパラレルコードを送信する送信装置であって、エンコーダ15hと、データラッチ回路13dと、出力回路14bとを備える。
エンコーダ15hは、1つの所定のコード(コードC)の奇数ビットおよび偶数ビットごとに、適性基準α’と適性基準β’「連続変化指数が設定値未満である。」とを併せた適性基準(α’+β’)によって、そのコードの適性を判定する。
ここで、奇数ビットの連続変化指数とは、その値が前回変化し、かつ今回も変化する奇数ビットの数から、その値が前回変化し、かつ今回は変化しない奇数ビットの数を差し引いた数をいう。また、偶数ビットの連続変化指数とは、その値が前回変化し、かつ今回も変化する偶数ビットの数から、その値が前回変化し、かつ今回は変化しない偶数ビットの数を差し引いた数をいう。このように、前回変化し、かつ今回は変化しないビット数を差し引いたのは、コードCを選択したときに、前回変化し、かつ今回は変化しないビットは、他のコードを選択したときに、前回変化し、かつ今回も変化する可能性があるので、コードCの適性が、相対的に良となるようにするためである。
エンコーダ15hは、その値が変化する奇数ビットの数と、奇数ビットの連続変化指数に重み係数K(=「2」)を乗じた数との和を奇数ビットの判定値とする。また、エンコーダ15hは、その値が変化する偶数ビットの数と、偶数ビットの連続変化指数に重み係数K(=「2」)を乗じた数との和を偶数ビットの判定値とする。そして、エンコーダ15hは、第11の実施形態と同様に、奇数ビットの判定値および偶数ビットの判定値に応じて、所定のコードの奇数ビットおよび偶数ビットを反転する。
図48は、エンコーダ15hが順次出力するコード列の例を示す。同図において、左側に元情報を、中央にコードC、コードD、コードEおよびコードFを示し、右側に前回変化情報を示す。太枠で示されたコードが選択されたことを示す。
まず、エンコーダ15hは、最初は、デフォルト出力として元情報「0010」に対して、コードC「000010」を出力する。また、前回変化情報として、最初はデフォルト値「000000」が設定されている。
次に、エンコーダ15hは、元情報「1101」に対して、コードC「001101」を選択したときに、最下位から第1,2,3,4ビットの値が変化するので、その値が変化する奇数ビットの数が「2」であり、その値が変化する偶数ビットの数が「2」であることを算出する。また、エンコーダ15hは、前回変化情報が「000000」より、コードCを選択したときに、奇数ビットの連続変化指数が「0」で、偶数ビットの連続変化指数が「0」であることを算出する。以上の結果、エンコーダ15hは、奇数ビットの判定値を「2」(=2+2×0)とし、偶数ビットの判定値を「2」(=2+2×0)とする。
以上より、エンコーダ15hは、奇数ビットの判定値「2」が設定値「2」以上であるので、奇数ビットの適性を不良と判定し、また、偶数ビットの判定値「2」が設定値「2」以上であるので、偶数ビットの適性を不良と判定する。以上より、エンコーダ15hは、コードC「001101」の全ビットを反転させたコードF「110010」を出力する。また、エンコーダ15hは、コードF「110010」を出力したので、前回変化情報を「110000」に更新する。
次に、エンコーダ15hは、元情報「1111」に対して、コードC「001111」を選択したときに、最下位から第1,3,4,5,6ビットの値が変化するので、その値が変化する奇数ビットの数が「3」であり、その値が変化する偶数ビットの数が「2」であることを算出する。また、エンコーダ15hは、前回変化情報が「110000」より、コードCを選択したときに、第5,6ビットの値に連続して変化があるか否かを判定し、奇数ビットの連続変化指数が「1」で、偶数ビットの連続変化指数が「1」であることを算出する。以上の結果、エンコーダ15hは、奇数ビットの判定値を「5」(3+2×1)とし、偶数ビットの判定値を「4」(2+2×1)とする。
以上より、エンコーダ15hは、奇数ビットの判定値「5」が設定値「2」以上であるので、奇数ビットの適性を不良と判定し、また偶数ビットの判定値「4」が設定値「2」以上であるので、偶数ビットの適性を不良と判定する。以上より、エンコーダ15hは、コードC「001111」の全ビットを反転させたコードF「110000」を出力する。また、エンコーダ15hは、コードF「110000」を出力したので、前回変化情報を「000010」に更新する。
次に、エンコーダ15hは、元情報「0101」に対して、コードC「000101」を選択したときに、最下位から第1,3,5,6ビットの値が変化するので、その値が変化する奇数ビットの数が「3」であり、その値が変化する偶数ビットの数が「1」であることを算出する。また、エンコーダ15hは、前回変化情報が「000010」より、コードCを選択したときに、第2ビットの値に連続して変化があるか否かを判定し、奇数ビットの連続変化指数が「0」(対象となるビットなし)で、偶数ビットの連続変化指数が「−1」(対象となる1ビットに変化なし)であることを算出する。以上の結果、エンコーダ15hは、奇数ビットの判定値を「3」(3+2×0)とし、偶数ビットの判定値を「−1」(1+2×(−1))とする。
以上より、エンコーダ15hは、奇数ビットの判定値「3」が設定値「2」以上であるので、奇数ビットの適性を不良と判定し、また偶数ビットの判定値「−1」が設定値「2」未満であるので、偶数ビットの適性を良と判定する。以上より、エンコーダ15hは、コードC「000101」の奇数ビットのみを反転させたコードD「010000」を出力する。また、エンコーダ15hは、コードD「010000」を出力したので、前回変化情報を「100000」に更新する。
次に、エンコーダ15hは、元情報「1011」に対して、コードC「001011」を選択したときに、最下位から第1,2,4,5ビットの値が変化するので、その値が変化する奇数ビットの数が「2」であり、その値が変化する偶数ビットの数が「2」であることを算出する。また、エンコーダ15hは、前回変化情報が「100000」より、コードCを選択したときに、第6ビットの値に連続して変化があるか否かを判定し、奇数ビットの連続変化指数が「0」(対象となるビットなし)で、偶数ビットの連続変化指数が「−1」(対象となる1ビットに変化なし)であることを算出する。以上の結果、エンコーダ15hは、奇数ビットの判定値を「2」(2+2×0)とし、偶数ビットの判定値を「0」(2+2×(−1))とする。
以上より、エンコーダ15hは、奇数ビットの判定値「2」が設定値「2」以上であるので、奇数ビットの適性を不良と判定し、また偶数ビットの判定値「0」が設定値「2」未満であるので、偶数ビットの適性を良と判定する。以上より、エンコーダ15hは、コードC「001011」の奇数ビットのみを反転させたコードD「011110」を出力する。また、エンコーダ15hは、コードD「011110」を出力したので、前回変化情報を「001110」に更新する。
図49は、エンコーダ15hを実現する具体的な回路構成を示す。同図を参照して、エンコーダ15hは、図46に示すエンコーダ15gに、論理積回路AND19〜AND30、およびインバータIV19〜IV24が追加され、図46に示すエンコーダ15gにおけるビット加算器34c,34dに代えて重み付きビット加算器41a,41bを備える。
論理積回路AND19,20,21は、各々、排他的論理和E−OR12,13の出力もしくは前コードの第5ビットが「1」で、かつ前回変化情報の第1,3,5ビットが「1」のときのみ、すなわち、コードCを選択すると第1,3,5ビットの値が連続して変化するときのみ、「1」を出力する。
一方、論理積回路AND25,26,27は、各々、排他的論理和E−OR12,13の出力もしくは前コードの第5ビットが「0」で、かつ前回変化情報の第1,3,5ビットが「1」のときのみ、すなわち、コードCの奇数ビットを反転したコードを選択すると第1,3,5ビットの値が連続して変化するときのみ、「1」を出力する。
重み付きビット加算器41aは、排他的論理和回路E−OR12の出力と、排他的論理和回路E−OR13の出力と、前コードの第5ビットの値とを加算して、加算値Xを算出し、論理積回路AND19,20,21の出力を加算した値から、論理積回路AND25,26,27の出力を加算した値を差し引いて加算値(Y1−Y2)を算出し、X+(重み係数K)×(Y1−Y2)を算出する。したがって、重み付きビット加算器41aは、コードCを選択したときに変化する奇数ビット数と、奇数ビットの連続変化指数に重み係数Kを乗じた数との和を奇数ビットの判定値として出力する。重み係数Kは、特に限定されないが、前述の説明においては「2」とした。
比較器42aは、重み付きビット加算器41aの出力である奇数ビットの判定値が設定値「2」以上のときのみ、「1」を出力する。比較器42aの出力は、排他的論理和回路E−OR16,E−OR18に送られるとともに、出力コードの第5ビットとなる。
論理積回路AND22,23,24は、各々、排他的論理和E−OR14,15の出力もしくは前コードの第6ビットが「1」で、かつ前回変化情報の第2,4,6ビットが「1」のときのみ、すなわち、コードCを選択すると第2,4,6ビットの値が連続して変化するときのみ、「1」を出力する。
論理積回路AND28,29,30は、各々、排他的論理和E−OR14,15の出力もしくは前コードの第6ビットが「0」で、かつ前回変化情報の第2,4,6ビットが「1」のときのみ、すなわち、コードCの偶数ビットを反転したコードを選択すると第2,4,6ビットの値が連続して変化するときのみ、「1」を出力する。
重み付きビット加算器41bは、排他的論理和回路E−OR14の出力と、排他的論理和回路E−OR15の出力と、前コードの第6ビットの値とを加算して、加算値Xを算出し、論理積回路AND22,23,24の出力を加算した値から、論理積回路AND28,29,30の出力を加算した値を差し引いて、加算値(Y1−Y2)を算出し、X+(重み係数K)×(Y1−Y2)を算出する。したがって、重み付きビット加算器41bは、コードCを選択したときに変化する偶数ビット数と、偶数ビットの連続変化指数に重み係数Kを乗じた数との和を偶数ビットの判定値として出力する。重み係数Kは、特に限定されないが、本説明においては、「2」とした。
比較器42bは、重み付きビット加算器41bの出力である偶数ビットの判定値が設定値「2」以上のときのみ、「1」を出力する。比較器42bの出力は、排他的論理和回路E−OR17,E−OR19に送られるとともに、出力コードの第6ビットとなる。
(受信装置の構成)
本実施の形態に係わる受信装置は、第2の実施形態に係わる受信装置と同一であるので、その説明を繰返さない。
以上のように、本実施の形態に係わる通信システムによれば、元情報がNビットのときに、(N+2)ビットの複数のパラレルコードのうち、同時にその値が変化するビットの数を少なくするとともに、連続してその値が変化するビットの数を少なくするようなパラレルコードが伝送されるので、パラレルコードを伝送するための入出力回路において、消費電力の低減化および処理速度の高速化を同時に実現することができる。
[第13の実施形態]
本実施の形態は、Nビットの元情報(パラレルデータ)に対して(N+2)ビットの1つのパラレルコードを生成して、このパラレルコードの適性を適性基準α’とβ’とγ’とを併せた適性基準(α’+β’+γ’)によって判定し、判定結果に応じて、このパラレルコードをそのまま、または所定の変形を加えたパラレルコードを出力する通信システムに関する。
(送信装置の構成)
図50は、第13の実施形態に係わる送信装置の構成を示す。同図を参照して、この送信装置100iは、Nビットの元情報に対して、(N+2)ビットのパラレルコードを送信する送信装置であって、エンコーダ15iと、データラッチ回路13dと、出力回路14bとを備える。
エンコーダ15iは、1つの所定のコード(コードC)の奇数ビットおよび偶数ビットごとに、適性基準α’とβ’とγ’「クロストーク数が設定値未満である。」とによって、その適性を判定する。
ここで、奇数ビットのクロストーク数とは、それの両隣の奇数ビットが同一方向に変化し、かつその値が両隣の奇数ビットの変化後の値と異なるような偶数ビットの数から、それの両隣の奇数ビットが同一で変化せず、かつその値が両隣の奇数ビットの値と等しいような偶数ビットの数を差し引いた数をいう。また、偶数ビットのクロストーク数とは、それの両隣の偶数ビットが同一方向に変化し、かつその値が両隣の偶数ビットの変化後の値と異なるような奇数ビットの数から、それの両隣の偶数ビットが同一で変化せず、かつその値が両隣の偶数ビットの値と等しいような奇数ビットの数を差し引いた数をいう。
このように、それの両隣の奇数(または偶数)ビットが同一で変化せず、かつその値が両隣の奇数(または偶数)ビットの値と等しいような偶数(または奇数)ビットの数を差し引いたのは、コードCを選択したときに、偶数(または奇数)ビットの両隣の奇数(または偶数)ビットが同一で変化せず、かつその偶数(または奇数)ビットの値が両隣の奇数(または偶数)ビットの値と等しいときには、他のコードを選択したときに、偶数(または奇数)ビットの両隣の奇数(または偶数)ビットが同一方向に変化し、かつその偶数(または奇数)ビットの値が両隣の奇数(または偶数)ビットの変化後の値と異なるようになる可能性があるので、コードCの適性が、相対的に良となるようにするためである。
エンコーダ15iは、その値が変化する奇数ビットの数と、奇数ビットの連続変化指数に重み係数K(=「2」)を乗じた数と、奇数ビットのクロストーク数に重み係数L(=「3」)を乗じた数との和を奇数ビットの判定値とする。また、エンコーダ15iは、その値が変化する偶数ビットの数と、偶数ビットの連続変化指数に重み係数K(=「2」)を乗じた数と、偶数ビットのクロストーク数に重み係数L(=「3」)を乗じた数との和を偶数ビットの判定値とする。そして、エンコーダ15iは、第11の実施形態と同様に、奇数ビットの判定値および偶数ビットの判定値に応じて、所定のコード(コードC)の奇数ビットおよび偶数ビットを反転する。
図51は、エンコーダ15iが順次出力するコード列の例を示す。同図において、左側に元情報を、中央にコードC、コードD、コードEおよびコードFを示し、右側に前回変化情報を示す。太枠で示されたコードが選択されたことを示す。
まず、エンコーダ15iは、最初は、デフォルト出力として元情報「0010」に対して、コードC「000010」を出力する。
次に、エンコーダ15iは、元情報「1101」に対して、コードC「001101」を選択したときに、その値が変化する奇数ビットの数が「2」であり、その値が変化する偶数ビットの数が「2」であることを算出し、奇数ビットの連続変化指数が「0」であり、偶数ビットの連続変化指数が「0」であることを算出する。また、エンコーダ15iは、コードC「001101」を選択したときに、最下位から第1ビットと第3ビットが同時に同方向に変化し、かつこれらのビットのビット値と間に挟まれた第2ビットのビット値とが異なるので、奇数ビットのクロストーク数を「1」であると算出し、偶数ビットのクロストーク数を「0」と算出する。
以上の結果、エンコーダ15iは、奇数ビットの判定値を「5」(=2+3×1)とし、偶数ビットの判定値を「2」(=2+3×0)とする。
以上より、エンコーダ15iは、奇数ビットの判定値「5」が設定値「2」以上であり、かつ偶数ビットの判定値「2」が設定値「2」以上であるので、コードC「001101」の全ビットを反転させたコードF「110010」を出力する。
次に、エンコーダ15iは、元情報「1111」に対して、コードC「001111」を選択したときに、その値が変化する奇数ビットの数が「3」であり、その値が変化する偶数ビットの数が「2」であることを算出する。また、エンコーダ15iは、前回変化情報が「110000」であることより、第5,6ビットが連続して変化するか否かを判定し、奇数ビットの連続変化指数が「1」であり、偶数ビットの連続変化指数が「1」であることを算出する。また、エンコーダ15iは、コードC「001111」を選択したときに、奇数ビットのクロストーク数を「0」と算出し、偶数ビットのクロストーク数を「0」であると算出する。
以上の結果、エンコーダ15iは、奇数ビットの判定値を「5」(3+2×1+3×0)とし、偶数ビットの判定値を「4」(2+2×1+3×0)とする。
以上より、エンコーダ15iは、奇数ビットの判定値「5」が設定値「2」以上であるので、奇数ビットの適性を不良と判定し、また偶数ビットの判定値「4」が設定値「2」以上であるので、偶数ビットの適性を不良と判定し、その結果コードC「001111」の全ビットを反転させたコードF「110000」を出力する。
次に、エンコーダ15iは、元情報「0101」に対して、コードC「000101」を選択したときに、その値が変化する奇数ビットの数が「3」であり、その値が変化する偶数ビットの数が「1」であることを算出する。また、エンコーダ15iは、前回変化情報が「000010」であることより、第2ビットが連続して変化するか否かを判定し、奇数ビットの連続変化指数が「0」(対象となるビットなし)であり、偶数ビットの連続変化指数が「−1」(対象となる1ビットに変化なし)であることを算出する。また、エンコーダ15iは、コードC「000101」を選択したときに、最下位から第1ビットと第3ビットが同時に同方向に変化し、かつこれらのビットの値と間に挟まれた第2ビットの値が異なるので、奇数ビットのクロストーク数を「1」と算出し、偶数ビットのクロストーク数を「0」であると算出する。
以上の結果、エンコーダ15iは、奇数ビットの判定値を「6」(3+2×0+3×1)とし、偶数ビットの判定値を「−1」(1+2×(−1))とする。
以上より、エンコーダ15iは、奇数ビットの判定値「6」が設定値「2」以上であるので、奇数ビットの適性を不良と判定し、また偶数ビットの判定値「−1」が設定値「2」未満であるので、偶数ビットの適性を良と判定し、その結果コードC「000101」の奇数ビットを反転させたコードD[010000」を出力する。
次に、エンコーダ15iは、元情報「1011」に対して、コードC「001011」を選択したときに、その値が変化する奇数ビットの数が「2」であり、その値が変化する偶数ビットの数が「2」であることを算出する。また、エンコーダ15iは、前回変化情報が「100000」であることより、第6ビットが連続して変化するか否かを判定し、奇数ビットの連続変化指数が「0」(対象となるビットなし)で、偶数ビットの連続変化指数が「−1」(対象となる1ビットに変化なし)であることを算出する。また、エンコーダ15iは、コードC「001011」を選択したときに、最下位から第2ビットと第4ビットが同時に同方向に変化し、かつこれらのビットの変化後のビット値と間に挟まれた第3ビットのビット値が異なるので、偶数ビットのクロストーク数を「1」と算出し、奇数ビットのクロストーク数を「0」であると算出する。以上の結果、エンコーダ15iは、奇数ビットの判定値を「2」(2+2×0+3×0)とし、偶数ビットの判定値を「3」(2+2×(−1)+3×1)とする。
以上より、エンコーダ15iは、奇数ビットの判定値「2」が設定値「2」以上であるので、奇数ビットの適性を不良と判定し、また偶数ビットの判定値「3」が設定値「2」以上であるので、偶数ビットの適性を不良と判定し、その結果コードC「001011」の全ビットを反転させたコードF「110100」を出力する。また、エンコーダ15iは、コードF「110100」を出力したので、前回変化情報を「100100」に更新する。
図52は、エンコーダ15iを実現する具体的な回路構成を示す。同図を参照して、エンコーダ15iは、図49に示すエンコーダ15hに、ビット値判別回路bc4〜bc7および論理積回路AND31〜AND38が追加され、図49に示すエンコーダ15hにおける重み付きビット加算器41a,41bに代えて重み付きビット加算器41c,41dを備える。
ビット値判別回路bc4は、元情報の第1ビットと第3ビットの値が同一であって、かつ第1ビットと第2ビットの値が相違するときのみ「1」を出力する。
論理積回路AND31は、排他的論理和回路E−OR12の出力が「1」(つまり、第1ビットの値が変化した)であり、排他的論理和回路E−OR13の出力が「1」(つまり、第3ビットの値が変化した)であり、かつビット値判別回路bc4の出力が「1」である(つまり、第1ビットと第3ビットの値が同一であって、かつ第1ビットと第2ビットの値が相違する)ときのみ「1」を出力する。
一方、論理積回路AND33は、排他的論理和回路E−OR12の出力が「0」(つまり、第1ビットの値に変化なし)であり、排他的論理和回路E−OR13の出力が「0」(つまり、第3ビットの値に変化なし)であり、かつビット値判別回路bc4の出力が「1」である(つまり、第1ビットと第3ビットの値が同一であって、かつ第1ビットと第2ビットの値が相違する)ときのみ「1」を出力する。
ビット値判別回路bc6は、元情報の第3ビットと0固定入力の値が同一(つまり、元情報の第3ビットが0)であって、かつ第3ビットと第4ビットの値が相違するときのみ「1」を出力する。
論理積回路AND32は、排他的論理和回路E−OR13の出力が「1」(つまり、第3ビットの値が変化した)であり、前コードの第5ビットが「1」(つまり、第5ビットの値が変化した)であり、かつビット値判別回路bc6の出力が「1」である(つまり、第3ビットと0固定入力の値が同一(つまり、元情報の第3ビットが0)であって、かつ第3ビットと第4ビットの値が相違する)ときのみ「1」を出力する。
一方、論理積回路AND34は、排他的論理和回路E−OR13の出力が「0」(つまり、第3ビットの値に変化なし)であり、前コードの第5ビットが「0」(つまり、第5ビットの値に変化なし)であり、かつビット値判別回路bc6の出力が「1」である(つまり、第3ビットと0固定入力の値が同一であって、かつ第3ビットと第4ビットの値が相違する)ときのみ「1」を出力する。
重み付きビット加算器41cは、排他的論理和回路E−OR12の出力と、排他的論理和回路E−OR13の出力と、前コードの第5ビットの値とを加算して、加算値Xを算出し、論理積回路AND19,20,21の出力を加算した値から、論理積回路AND25,26,27の出力を加算した値を差し引いて、加算値(Y1−Y2)を算出し、論理積回路AND31,32の出力を加算した値から、論理積回路33,34の出力を加算した値を差し引いて、加算値(Z1−Z2)を算出し、X+(重み係数K)×(Y1−Y2)+(重み係数L)×(Z1−Z2)を算出する。したがって、重み付きビット加算器41cは、コードCを選択したときに変化する奇数ビット数と、奇数ビットの連続変化指数に重み係数Kを乗じた数と、奇数ビットのクロストーク数に重み係数Lを乗じた数との和を奇数ビットの判定値として出力する。特に制限されないが、重み係数Kは「2」とし、重み係数Lは「3」とする。
比較器42aは、重み付きビット加算器41cの出力である奇数ビットの判定値が設定値「2」以上のときのみ、「1」を出力する。比較器42aの出力は、排他的論理和回路E−OR16,E−OR18に送られるとともに、出力コードの第5ビットとなる。
ビット値判別回路bc5は、元情報の第2ビットと第4ビットの値が同一であって、かつ第2ビットと第3ビットの値が相違するときのみ「1」を出力する。
論理積回路AND37は、排他的論理和回路E−OR14の出力が「1」(つまり、第2ビットの値が変化した)であり、排他的論理和回路E−OR15の出力が「1」(つまり、第4ビットの値が変化した)であり、かつビット値判別回路bc5の出力が「1」である(つまり、第2ビットと第4ビットの値が同一であって、かつ第2ビットと第3ビットの値が相違する)ときのみ「1」を出力する。
一方、論理積回路AND35は、排他的論理和回路E−OR14の出力が「0」(つまり、第2ビットの値に変化なし)であり、排他的論理和回路E−OR15の出力が「0」(つまり、第4ビットの値に変化なし)であり、かつビット値判別回路bc5の出力が「1」である(つまり、第2ビットと第4ビットの値が同一であって、かつ第2ビットと第3ビットの値が相違する)ときのみ「1」を出力する。
ビット値判別回路bc7は、元情報の第4ビットと上側の0固定入力の値が同一であって、かつ第4ビットと中央の0固定入力の値が相違するときのみ「1」を出力する。(元情報が6ビット、8ビット等、より多ビットである場合の回路構成を理解しやすくするため、このような構成としたが、2つの入力が共に0固定であるため、実際にはビット値判別回路bc7の出力が「1」となることはない。)
論理積回路AND38は、排他的論理和回路E−OR15の出力が「1」(つまり、第4ビットの値が変化した)であり、前コードの第6ビットが「1」(つまり、第6ビットの値が変化した)であり、かつビット値判別回路bc7の出力が「1」であるときのみ「1」を出力する。(ビット値判別回路bc7の出力が前述のとおり「0」固定であるため、実際には論理積回路AND38の出力が「1」となることはない。)
一方、論理積回路AND36は、排他的論理和回路E−OR15の出力が「0」(つまり、第4ビットの値に変化なし)であり、前コードの第6ビットが「0」(つまり、第6ビットの値に変化なし)であり、かつビット値判別回路bc7の出力が「1」であるときのみ「1」を出力する。(論理積回路AND38と同様、実際には論理積回路36の出力が「1」となることはない。)
重み付きビット加算器41dは、排他的論理和回路E−OR14の出力と、排他的論理和回路E−OR15の出力と、前コードの第6ビットの値とを加算して、加算値Xを算出し、論理積回路AND22,23,24の出力を加算した値から、論理積回路AND28,29,30の出力を加算した値を差し引いて、加算値(Y1−Y2)を算出し、論理積回路AND37,38の出力を加算した値から、論理積回路35,36の出力を加算した値を差し引いて、加算値(Z1−Z2)を算出し、X+(重み係数K)×(Y1−Y2)+(重み係数L)×(Z1−Z2)を算出する。したがって、重み付きビット加算器41dは、コードCを選択したときに変化する偶数ビット数と、偶数ビットの連続変化指数に重み係数Kを乗じた数と、偶数ビットのクロストーク数に重み係数Lを乗じた数との和を偶数ビットの判定値として出力する。特に限定されないが、重み係数Kは「2」し、重み係数Lは「3」とする。
比較器42bは、重み付きビット加算器41dの出力である偶数ビットの判定値が設定値「2」以上のときのみ、「1」を出力する。比較器42bの出力は、排他的論理和回路E−OR17,E−OR19に送られるとともに、出力コードの第6ビットとなる。
(受信装置の構成)
本実施の形態に係わる受信装置は、第2の実施形態に係わる受信装置と同一であるので、その説明を繰返さない。
以上のように、本実施の形態に係わる通信システムによれば、元情報がNビットのときに、(N+2)ビットの複数のパラレルコードのうち、同時にその値が変化するビットの数を少なくし、連続してその値が変化するビットの数を少なくし、およびクロストーク数を少なくするようなパラレルコードが伝送されるので、パラレルコードを伝送するための入出力回路において消費電力の低減化、処理速度の高速化、および入出力回路および伝送路でクロストークノイズの発生を低減化することができる。
[第14の実施形態]
本実施の形態は、Nビットの元情報(パラレルデータ)に対して、条件Sを満たす(N+2)ビットのパラレルコードを出力する送信装置を有する通信システムに関する。
(送信装置の構成)
図53は、第14の実施形態に係わる送信装置の構成を示す。同図を参照して、この送信装置100jは、エンコーダ15jと、出力回路14bを備える。
エンコーダ15jは、Nビットの元情報(パラレルデータ)に対して、条件Sを満たす(N+2)ビットのパラレルコードであるコードGを出力する。
図54は、N=4のときに(N+2)ビットで表わされるすべてのコードを示す。同図に示すように、(N+2)ビットで表わされるコードは、2(N+2)通りある。コードGは、図54に示されるコードのうち、「値が「0」であるビットの数と、値が「1」であるビットの数が同一である」という条件Sを満足するコードである。
図55は、N=4のときの元情報とコードGとの対応関係を示す。同図に示すように、コードGは、値が「0」のビット数と、値が「1」のビット数が等しい20個のコードから任意に選択した16個のコードである。元情報とコードGは、1対1に対応する。
図56は、エンコーダ15jが順次出力するコード列の例を示す。同図において、左側に元情報を、右側にコードGを示す。
まず、エンコーダ15jは、元情報「0010」に対して、コードG「001110」を出力する。
次に、エンコーダ15jは、元情報「1101」に対して、コードG「110001」を出力する。これによって、出力されるコードのビットのうち、「0」から「1」に変化したビット数は「3」であり、「1」から「0」に変化したビット数も「3」である。
次に、エンコーダ15jは、元情報「1111」に対して、コードG「110100」を出力する。これによって、出力されるコードのビットのうち、「0」から「1」に変化したビット数は「1」であり、「1」から「0」に変化したビット数も「1」である。
次に、エンコーダ15jは、元情報「0101」に対して、コードG「011010」を出力する。これによって、出力されるコードのビットのうち、「0」から「1」に変化したビット数は「2」であり、「1」から「0」に変化したビット数も「2」である。
次に、エンコーダ15jは、元情報「1011」に対して、コードG「101001」を出力する。これによって、出力されるコードのビットのうち、「0」から「1」に変化したビット数は「2」であり、「1」から「0」に変化したビット数も「2」である。
以上のように、コードGは値が「0」であるビット数と、値が「1」であるビット数が等しいので、出力されるコードのビットの値が「0」から「1」に、その値が変化するビットの数と、ビットの値が「1」から「0」に、その値が変化するビットの数が等しくなる。
図57は、エンコーダ15jを実現する具体的な回路構成の一例を示す。同図に示すように、エンコーダ15jは、PLD(Programable Logic Device)で構成することが可能である。同図におけるAND Planeに記載した○印は、各々4入力AND回路に入力される信号を選択していることを示し、OR Planeに記載した○印は、各々、8入力OR回路に入力される信号を選択していることを示している。
図58は、第14の実施形態に係わる受信装置の構成を示す。同図を参照して、この受信装置200cは、入力回路21bと、デコーダ22cとを備える。
入力回路21bは、伝送路から(N+2)ビットの入力コードを受信する。
デコーダ22cは、(N+2)ビットの入力コードに対して、Nビットの元情報を出力する。図59は、N=4のときに、デコーダ22cを実現する具体的な回路構成の一例を示す。同図に示すように、デコーダ22cは、メモリ回路で構成することが可能である。
N=4のとき、デコーダ22cに用いられるメモリ回路は、320ビット(=5ビット×26)の容量を有する。
メモリ回路は、6ビットのコードGをアドレスとして、そのアドレスで示される位置に5ビットの情報を記憶する。この5ビットの情報は、そのコードGに対応する4ビットの元情報と1ビットのエラー識別ビットとで構成される。このエラー識別ビットの値は「0」であり、誤りがないことを示す。
また、メモリ回路は、6ビットのコードのうち、コードG以外のコードをアドレスとして、そのアドレスに対応する位置に5ビットの情報を記憶する。この5ビットの情報は、4ビットの固定値と1ビットのエラー識別ビットで構成される。ここで、4ビットの固定値は、任意の値である。また、このエラー識別ビットの値は「1」であり、誤りがあることを示す。
このようにして、メモリ回路は、(N+2)ビットの入力コードがアドレスとして入力され、エラー識別ビットが「0」の場合、そのアドレスで示される位置からNビットの元情報が出力される。
以上のように、本実施の形態における通信システムによれば、「0」から「1」に変化するビット数と、「1」から「0」に変化するビット数とが等しくなり、同時にH(ハイレベル)に変化するビット数を半減できるので、パラレルコードを伝送する入出力回路において消費電力を低減することができる。
[第15の実施形態]
本実施の形態は、Nビットの元情報(パラレルデータ)に対して、条件Tを満たす(N+2)ビットのパラレルコードを出力する送信装置を有する通信システムに関する。
第14の実施形態では、エンコーダ15jは、元情報に対してコードGを出力した。第15の実施形態に係わる送信装置は、第14の実施形態におけるエンコーダ15jの代りに、元情報に対してコードHを出力するエンコーダ15kを備える。
このエンコーダ15kを実現する具体的な構成、および受信装置については、第14の実施形態と共通するので、説明は繰返さない。
エンコーダ15kは、Nビットの元情報(パラレルデータ)に対して、(N+2)ビットのパラレルコードであるコードHを出力する。コードHは、(N+2)ビットで表わされている2(N+2)通りのコードのうち、「「010」および「101」のビットパターンを含まない。」という条件Tを満たすコードである。
図60は、N=4のときの元情報とコードHとの対応関係を示す。同図に示すように、コードHは、「010」および「101」のビットパターンを含まないコードであって、さらに付加的な条件「値が「0」のビット数および値が「1」のビット数がともに「2」〜「4」である」を満たすコードである。この付加的な条件は、その値が変化するビットの数を少なくするための条件であって、本実施の形態では必ずしも必要な条件ではない。元情報とコードHは、1対1に対応する。
図61は、エンコーダ15kが順次出力するコード列の例を示す。同図において、左側に元情報を、右側にコードHを示す。
まず、エンコーダ15kは、元情報「0010」に対して、コードH「000111」を出力する。
次に、エンコーダ15kは、元情報「1101」に対して、コードH「111000」を出力する。
次に、エンコーダ15kは、元情報「1111」に対して、コードH「111100」を出力する
次に、エンコーダ15kは、元情報「0101」に対して、コードH「001111」を出力する。
次に、エンコーダ15kは、元情報「1011」に対して、コードH「110001」を出力する。
上記のいずれにおいても、出力されるコードのビットのうち、両隣のビットが同時に同方向に変化し、ビット値が両隣のビットのビット値と相違するビットは存在しない。
以上のように、本実施の形態に係わる通信システムでは、「010」および「101」のビットパターンを含むパラレルコードが出力されない、すなわち、その両隣のビットが同時に同方向に変化し、その値が両隣のビットのビット値と相違するようなビットを含むパラレルコードが出力されないので、クロストークノイズの発生を防止することができる。
[第16の実施形態]
本実施の形態は、第1〜第15の実施形態におけるエンコーダおよびデコーダを用いた半導体記憶装置に関する。
図62は、第16の実施形態に係わる半導体記憶装置の構成を示す。同図を参照して、この半導体記憶装置900は、エンコーダ904と、書込み回路902と、メモリ素子901と、読出し回路903と、デコーダ905とを備える。
エンコーダ904は、Nビットの元情報(パラレルデータ)をM(M>N)ビットのパラレルコードに符号化する。このエンコーダ904として、第1〜第15の実施形態で説明したいずれかのエンコーダが用いられる。第1〜第15のいずれかのエンコーダを用いることによって、半導体記憶装置内の信号の伝送を高速化、半導体記憶装置の消費電力を低減化、および/または半導体記憶装置内でクロストークノイズの発生を防止することができる。
書込み回路902は、Mビットのパラレルコードをメモリ素子901に書込む。
メモリ素子901は、たとえば、DRAMまたはSRAMであって、Mビットのパラレルコードを記憶する。
読出し回路903は、メモリ素子901からMビットのパラレルコードを読出す。
デコーダ905は、Mビットの符号化された情報をNビットの元情報に復号化する。このデコーダ905として、第1〜第15の実施形態で説明したいずれかのデコーダが用いられる。
以上のように、本実施の形態における半導体記憶装置では、第1〜第6、および第11〜第14のいずれかの実施形態におけるエンコーダを用いれば、書込み回路および読出し回路において消費電力の低減化を実現することができる。
また、第3〜第8、および第12〜第13のいずれかの実施形態におけるエンコーダを用いれば、書込み回路および読出し回路の処理速度を高速化することができる。
また、第5、第6、第9、第10、第13、および第15のいずれかの実施形態におけるエンコーダを用いれば、書込み回路、読出し回路、およびメモリ素子のデータを伝送する信号線でクロストークノイスの発生を防止することができる。
[第17の実施形態]
本実施の形態は、第1〜第15の実施形態におけるエンコーダおよびデコーダを用いたマルチチップパッケージに関する。
マルチッチップパッケージとは、1つのパッケージに複数のチップを実装したもので、これによって、短い距離の信号線でチップ間の信号をやり取りすることができ、高集積化、高速化、および低消費電力化が実現できる。
図63は、第17の実施形態に係わるマルチチップパッケージの構成を示す。同図を参照して、このマルチチップパッケージ910は、チップAと、チップBと、チップAとチップBを接続するパッケージ内信号線とを備える。
チップAは、エンコーダ914と、出力回路911とを含む。
チップBは、デコーダ915と、入力回路912とを含む。
エンコーダ914は、Nビットの元情報(パラレルデータ)をM(M>N)ビットのパラレルコードに符号化する。このエンコーダ914として、第1〜第15の実施形態で説明したいずれかのエンコーダが用いられる。第1〜第15のいずれかのエンコーダを用いることによって、チップ間の信号のやり取りを高速化、チップの消費電力を低減化、および/またはパッケージ内でクロストークノイズの発生を防止することができる。
出力回路911は、Mビットのパラレルコードをパッケージ内信号線を通じてチップAに送る。
入力回路912は、チップAからパッケージ内信号線を通じて送られるMビットの符号化情報を取込む。
デコーダ915は、MビットのパラレルコードをNビットの元情報に復号化する。このデコーダ915として、第1〜第15の実施形態で説明したいずれかのデコーダが用いられる。
以上のように、本実施の形態におけるマルチチップパッケージでは、第1〜第6、および第11〜第14のいずれかの実施形態におけるエンコーダを用いれば、入力回路および出力回路において消費電力の低減化を実現することができる。
また、第3〜第8、および第12〜第13のいずれかの実施形態におけるエンコーダを用いれば、入力回路および出力回路の処理速度を高速化することができる。
また、第5、第6、第9、第10、第13、および第15のいずれかの実施形態におけるエンコーダを用いれば、入力回路、出力回路、およびチップ間を接続する信号線でクロストークノイスの発生を防止することができる。
(変形例)
本発明は、上記実施の形態に限定されるものではなく、以下の変形例も当然ながら包含する。
(1) 選択基準、および適性基準について
本発明の第1〜第10の実施形態で、選択基準α、(α+β)、(α+β+γ)、β、およびγを用いて、複数のコードから1つのコードを選択する例について説明したが、これに限定するものではない。選択基準αとγを併せた選択基準(α+γ)、または選択基準βとγを併せた選択基準(β+γ)を用いて、複数のコードから1つのコードを選択するものとしてもよい。
また、本発明の第11〜第12の実施形態では、適性基準α’、(α’+β’)、(α’+β’+γ’)によって、1つのコードの適性を判定したが、これに限定するものではない。適性基準β’、γ’、(β’+γ’)、または(α’+γ’)によって、1つのコードの適性を判定するものとしてもよい。
(2) パラレルコードについて
本発明の実施の形態では、コードAは、元情報の最上位ビット側に1ビットの「0」を追加し、コードCは、、元情報の最上位ビット側に2ビットの「00」を追加したが、これに限定するものではない。コードAは、元情報に1ビットの「1」を追加し、コードCは、元情報に2ビットの「11」、「01」、または「10」を追加するものであってもよい。また、パリティのように、元情報の「1」の数に従って、追加するビットの値を変化させてもよい。また、追加されるビット位置も、最上位側でなく、任意の位置であってよい。さらに、Nビットの元情報に対して、3ビットを追加し(N+3)ビットのコードを出力するものとしもよい。そして、このように3ビットを追加した場合には、8種類のコードを取り得るようにしてもよい。また、Kを任意の正の整数とし、Kビットを追加し(N+K)ビットのコードを出力するものとしもよい。
ただし、これらの複数のコードに重複がないことが必要である。また、選択基準αを用いるときには、1つの元情報に対する複数のコードが相互に類似していないこと、つまり、ハミング距離ができるだけ遠いことが望ましい。その意味で、コードAとコードBは、ハミング距離が最も離れている組合せであり、最適な唯一の組合せである。コードC〜Fも、ハミング距離が最も離れた組合せの一つであり、最適な組合せの一つである。
一方、選択基準αを用いないとき、すなわち、選択基準β単独、選択基準γ単独、あるいは選択基準βとγを併せた選択基準(β+γ)を用いるときには、コードA〜Fは、最適なコードであるとは限らず、その他のコードを用いるものとしてもよい。
(3) エンコーダ、デコーダ、セレクタ、およびデータラッチ回路の具体的な構成について
本発明の実施の形態では、エンコーダ、デコーダ、セレクタ、およびデータラッチ回路の具体的な構成を、元情報が4ビットで、コードが5ビットまたは6ビットの場合について説明したが、元情報およびコードがこれ以外のビット数でも、説明した構成を拡張するだけで容易に実現することができる。また、これらの具体的な構成は、一例であって、これらに限定されるものではない。
(4) 重み係数K、および重み係数Lについて
本発明の実施の形態では、重み係数Kとして「2」、重み係数Lとして「3」を用いたが、これらは一例であって、これらに限定されるものではない。重み係数Kおよび重み係数Lとして適切な値に設定することで、消費電力の低減、高速、またはクロストークノイズの低減のいずれかを、またはこれらを同時に実現することができる。
(5) 第14の実施形態のエンコーダおよびデコーダ
本発明の第14の実施形態では、エンコーダを実現する具体的な構成として、PLDを用い、デコーダを実現する具体的な構成としてメモリ回路を用いたが、これに限定するものではない。
たとえば、エンコーダをメモリ回路で実現してもよい。この場合、メモリ回路は、メモリ容量がMビット×2Nであり、Nビットの元情報をアドレスとした位置にMビットのコードGを格納する。
また、デコーダをPLDで実現してもよい。この場合、PLDは、AND Planeは、M入力のAND回路で構成され、OR Planeは、2(N-1)入力のOR回路で構成される。また、不適切な入力に対して、エラー識別ビットを出力するために、(2M−2N)入力のOR回路を含めるものとしてもよい。
(6) 第14の実施形態においてパラレルコードのビット数が奇数のとき
第14の実施形態においては、エンコーダが出力するパラレルコードのビットの数が偶数の場合について説明した。この場合には、エンコーダは、「値が「0」のビット数と、値が「1」のビット数とが同一であるという」という条件Sを満たすパラレルコードを出力した。
エンコーダが出力するパラレルコードのビット数が奇数のときには、エンコーダは、以下のような条件S′を満たすパラレルコードを出力するものとすればよい。すなわち、エンコーダは、「値が「0」のビット数と、値が「1」のビット数との差が「1」以内である」という条件S′を満たすパラレルコードを出力するものとすればよい。これにより、パラレルコードのビット数が奇数のときでも、同時に「H」レベルに変化するビット数を少なくすることができ、パラレルコードを伝送する入出力回路において消費電力を低減することができる。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
11a,11b サブエンコーダ、15a,15b,15c,15d,15e,15f,15g,15h,15i,15j,904,914 エンコーダ、12a,12b,12c,12d,12e,12f セレクタ、13a,13b,13c,13d データラッチ回路、14a,14b,911 出力回路、21a,21b,912 入力回路、22a,22b,22c,905,915 デコーダ、31a〜31f,31g〜31l,31m〜31r 適性判定回路、32a,32b 比較回路、42a,42b 比較器、bc1〜bc7 ビット値判別回路、34a,34b,35a,35b,38a,38b,34c,34d ビット加算器、41a,41b,41c,41d 重み付きビット加算器、36a,36b,39a,39b 乗算器、37a,37b,37c,37d 加算器、E−OR1〜E−OR27 排他的論理和回路、FF1〜FF44 クロック同期式Dフリップフロップ、33a,33b スイッチ回路、IV11〜IV28 インバータ、AND1〜AND38 論理積回路、100,100a,100b,100c,100d,100e,100f,100g,100h,100i,100j 送信装置、200,200a,200b,200c 受信装置、900 半導体記憶装置、901 メモリ素子、902 書込み回路、903 読出し回路、910 マルチチップパッケージ、1000 通信システム。