(57)【要約】【課題】クロック同期型シリアル転送では、転送クロックの１クロック分でデータを１ビット分しか転送出来ないため、データ量を増やすためには、転送クロックの周波数を上げる、もしくはＲＸＤとＴＸＤの数を増やすことにより、シリアル転送のチャンネル数を増やす必要があるが、転送クロックの周波数を上げる場合には、プリント基板の設計が困難になり、チャンネル数を増やせば装置が大型化する。【解決手段】マスタと、スレーブデバイスの間の通信において、転送クロック制御、シフトレジスタ、ラッチを備えたマスタと、汎用シフトレジスタ、汎用ゲートロジックを備えたスレーブによって構成され、マスタとスレーブ間を転送クロック、マスタ送信信号、スレーブ送信信号、ラッチ信号で接続し、転送クロックの立ち下がりエッジと立ち上がりエッジ発生の両方向でマスタとスレーブ間のデータ送受信を行うことにより、転送クロックの高速化を抑えつつデータ送受信の効率を上げる。【選択図】図１
2013120437.tif 000002
【特許請求の範囲】
【請求項１】
マスタとなるＩＣと、汎用ロジックＩＣで構成されたスレーブ（デバイス）の間の通信において、転送クロック制御回路、シフトレジスタ及びラッチを備えた前記マスタと、汎用シフトレジスタ及び汎用ゲートロジックを備えた前記スレーブによって構成され、前記マスタと前記スレーブ間を転送クロックＣＬＯＣＫ、マスタ送信信号ＴＸＤ、スレーブ送信信号ＲＸＤ及び前記ラッチ信号ＬＡＴＣＨの４本で接続し、転送クロックの立ち下がりエッジと立ち上がりエッジ発生の両方向で前記マスタと前記スレーブ間のデータ送受信を行うことを特徴とするクロック同期型シリアル通信方式。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マスタとなるＩＣと、汎用ロジックＩＣで構成されたスレーブデバイスの間でクロック同期型シリアル通信を行なう際、同一クロック周波数でデータ転送を多重化するものである。
【背景技術】
【０００２】
マスタとなるＩＣと、汎用ロジックＩＣを用いたスレーブデバイスの間で通信を行なう場合、一つの方式としてクロック同期型シリアル転送を用いることが考えられる。
マスタとスレーブデバイスとの間でクロック同期型シリアル転送を行なう構成例を図２に、タイミングチャートを図３に示す。
図２において、（１４）はマスタ側にあって転送クロックならびにラッチ信号や後述のマスタ側シフトレジスタやマスタ側のラッチ（１７）を制御するクロック制御回路（１４）、（１５）はマスタ側送信用のラッチ、（１６）はマスタ側送信用のパラレル-シリアル変換を行なうシフトレジスタ、（１７）はマスタ側受信用のシリアル-パラレル変換を行なうシフトレジスタ、（１８）はマスタ側受信用のラッチ、（１９）はスレーブ側受信用のシリアル-パラレル変換を行なうシフトレジスタ、（２０）はスレーブ側受信用のラッチ、（２１）はスレーブ側受信用のシリアル-パラレル変換を行なうシフトレジスタである。
【０００３】
マスタはＬＡＴＣＨ（ラッチ信号）、ＣＬＯＣＫ（転送クロック）、ＴＸＤ（マスタ送信信号）を出力し、ＲＸＤ（スレーブ送信信号）からスレーブ側のシリアルデータを取得する。
マスタ側ではＬＡＴＣＨの立ち上がりエッジでラッチ（１５）のパラレルデータをシフトレジスタ（１６）に取得し、ＣＬＯＣＫの立ち上がりエッジで、シフトレジスタ（１６）のデータをシフトしシリアルデータとしたものをＴＸＤに出力する。また、ＣＬＯＣＫの立ち上がりエッジにてＲＸＤからのシリアルデータをシフトレジスタ（１８）に取得し、シリアル―パラレル変換を行ない、ＬＡＴＣＨの立ち上がりエッジにより、シフトレジスタ（１８）のパラレルデータをラッチ（１７）に取得する。
スレーブは外部のパラレル入力データを取得し、パラレル―シリアル変換を行ない、ＲＸＤへシリアルデータを出力する。またＴＸＤからマスタ側のシリアルデータを取得し、シリアル―パラレル変換を行い、パラレル出力データを外部へ出力する。
スレーブ側ではＬＡＴＣＨの立ち上がりエッジで外部からのパラレル入力データをシフトレジスタ（２１）に取得し、ＣＬＯＣＫの立ち上がりエッジで、シフトレジスタ（２１）のデータをシフトしシリアルデータとしたものをＲＸＤに出力する。また、ＣＬＯＣＫの立ち上がりエッジにてＴＸＤからのシリアルデータをシフトレジスタ（１９）に取得し、シリアル―パラレル変換を行ない、ＬＡＴＣＨの立ち上がりエッジにより、シフトレジスタ（１９）のパラレルデータをラッチ（２０）に取得する。
クロック制御回路（１４）は、ＬＡＴＣＨのパルス出力後、ＣＬＯＣＫを転送ビット数分出力する。ＣＬＯＣＫを転送ビット数分出力した後、再度ＬＡＴＣＨのパルス出力からの制御を行なう。この動作を繰り返すことにより、外部へのデータ出力、外部からのデータ入力を定期的に更新する。
この転送方式ではＣＬＯＣＫの１クロックで転送可能なデータは１ビットとなる。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】ルネサステクノロジ、ＳＨ７０８０グループ  ハードウェアマニュアル、２００７年２月１５日、ｐ．７３１
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来技術では、クロック同期型シリアル転送では、転送クロックの１クロック分でデータを１ビット分しか転送出来ないため、データ量を増やすためには、転送クロックの周波数を上げてデータ転送速度を上げる、もしくはＲＸＤとＴＸＤの数を増やすことにより、シリアル転送のチャンネル数を増やす必要がある。
しかしながら、転送クロックの周波数を上げる場合、高速動作が要求され、プリント基板の設計が困難になるという課題がある。
また、チャンネル数を増やせば、装置が大型化するという課題がある。
本発明はこれらの課題を解決するために創案されたものである。
【課題を解決するための手段】
【０００６】
マスタとなるＩＣと、汎用ロジックＩＣで構成されたスレーブ（デバイス）の間の通信において、転送クロック制御回路、シフトレジスタ及びラッチを備えた前記マスタと、汎用シフトレジスタ及び汎用ゲートロジックを備えた前記スレーブによって構成され、前記マスタと前記スレーブ間を転送クロックＣＬＯＣＫ、マスタ送信信号ＴＸＤ、スレーブ送信信号ＲＸＤ及び前記ラッチ信号ＬＡＴＣＨの４本で接続し、転送クロックの立ち下がりエッジと立ち上がりエッジ発生の両方向で前記マスタと前記スレーブ間のデータ送受信を行うことを特徴とするクロック同期型シリアル通信方式。
【０００７】
本発明は、従来のクロック同期型シリアル転送と比較し、同一のデータ転送クロック周波数にて２倍のデータ転送量を実現可能とし、配線の削減、高速動作に必要な基板設計の回避などに効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】本発明のＩＣ入出力制御端子の構成例を図示したものである。
【図２】従来のクロック同期型シリアル転送の構成例である。
【図３】従来のクロック同期型シリアル転送のタイムチャート例である。
【図４】本発明のＩＣ入出力制御端子のタイムチャート例である。
【発明を実施するための形態】
【０００９】
本発明の好適な実施態様を以下の実施例を用いて説明する。
【実施例１】
【００１０】
本発明の実施例について、図１を用いて詳述する。
同図において、（１）はマスタ側にあって転送クロックならびにラッチ信号や後述のマスタ側シフトレジスタやマスタ側のラッチ（５）を制御するクロック制御回路、（２）はマスタ側送信用のラッチ、（３）はマスタ側送信用のパラレル-シリアル変換を行なうシフトレジスタ、（４）はマスタ側受信用のシリアル-パラレル変換を行なうシフトレジスタ、（５）はマスタ側受信用のラッチ、（６）はスレーブ側の転送クロックを反転する論理反転回路、（７）はスレーブ側受信用のシリアル-パラレル変換を行なうシフトレジスタ、（８）はスレーブ側受信用のラッチ、（９）はスレーブ側受信用のシリアル-パラレル変換を行なうシフトレジスタ、（１０）はスレーブ側受信用ラッチ、（１１）はスレーブ側送信用のパラレル-シリアル変換を行なうシフトレジスタ、（１２）はパラレル-シリアル変換を行なうスレーブ側送信用のシフトレジスタ、（１３）は２つのスレーブ側送信用のシフトレジスタ（１１）とシフトレジスタ（１２）の出力をスレーブ送信信号として一本化するためのスレーブ側送信用の排他論理回路である。
【００１１】
マスタ側のクロック制御回路１はＬＡＴＣＨを出力後、転送データビット数を送信し終わると、再度ＬＡＴＣＨ出力から動作を行なうことを繰り返す。
スレーブ側では、シフトレジスタ（７）、シフトレジスタ（１１）のクロック入力は、マスタ側からのＣＬＯＣＫが接続され、シフトレジスタ（９）、シフトレジスタ（１２）には、マスタ側からのＣＬＯＣＫが論理反転回路（６）を介して入力される。
この接続では、シフトレジスタ（７）、シフトレジスタ（１１）はＣＬＯＣＫの立ち上がりエッジでシフト動作し、シフトレジスタ（９）、シフトレジスタ（１２）はＣＬＯＣＫの立ち下がりエッジでシフト動作する。
ラッチ（８）、ラッチ（１０）はマスタ側からのＬＡＴＣＨが接続され、ＬＡＴＣＨの立ち上がりエッジにより、ラッチ（８）はシフトレジスタ（７）のパラレル出力を、ラッチ（１０）はシフトレジスタ（９）のパラレル出力を、それぞれラッチする。
シフトレジスタ（１１）、シフトレジスタ（１２）はマスタ側からのＬＡＴＣＨが接続され、ＬＡＴＣＨの立ち上がりエッジにより、パラレル入力データをラッチする。
シフトレジスタ（１１）とシフトレジスタ（１２）からのシリアル出力信号は、排他論理回路（１３）により１本のデータ信号とし、ＲＸＤとしてマスタ側への出力データとなる。
なお、シフトレジスタ（１１）の入力信号で、最初に排他論理回路（１３）へ出力されるデータ入力ビットの値は固定とする。
【００１２】
マスタ側からスレーブ側にデータ転送を行う際の動作を図１、図４によるタイムチャートにより詳述する。
マスタ側のラッチ（２）に書き込まれたパラレルのデータは、クロック制御回路（１）からのＬＡＴＣＨにより、シフトレジスタ（３）に取得される。シフトレジスタ（３）に取得されたパラレルデータは、クロック制御回路（１）による制御によって、図４のＴＸＤのように、ＣＬＯＣＫの立ち上がりエッジもしくは立ち下がりエッジの発生する中間（１／４クロック分すれた時間）で１ビット分のデータシフトを行い、シフトレジスタ（３）からのシリアル出力をＴＸＤとしてスレーブ側に出力する。
スレーブ側ではマスタ側からのＣＬＯＣＫにより、ＴＸＤのデータを取得し、シフト動作をすることによりシリアル-パラレル変換を行なう。この際、ＣＬＯＣＫの立ち上がりエッジではシフトレジスタ（７）がデータを取得し、ＣＬＯＣＫの立ち上がりエッジではシフトレジスタ（９）がデータを取得する。シフトレジスタ（７）、シフトレジスタ（９）に取得されたパラレルデータはＬＡＴＣＨにより、それぞれシフトレジスタ（７）からラッチ（８）に、シフトレジスタ（９）からラッチ（１０）に取得される。
以上の動作でマスタ側からの送信データが、スレーブ側のラッチ（８）とラッチ（１０）に転送される。
【００１３】
スレーブ側からマスタ側にデータ転送を行う際の動作を詳述する。
スレーブ側では、マスタ側から出力されるＬＡＴＣＨにより、シフトレジスタ（１１）、シフトレジスタ（１２）に入力のパラレルデータがラッチされる。
次にマスタ側から出力されるＣＬＯＣＫにより、シフトレジスタのデータがシフトされ、パラレル―シリアル変換される。
この際、ＣＬＯＣＫの立ち上がりエッジではシフトレジスタ（１１）がシフトされ、ＣＬＯＣＫの立ち上がりエッジではシフトレジスタ（１２）がシフトされる。シフトレジスタ（１１）、シフトレジスタ（１２）のシリアル出力信号は排他論理回路（１３）によって１本化され、ＲＸＤとしてホスト側に出力する。
ホスト側は、ＣＬＯＣＫの立ち上がりエッジもしくは立ち下がりエッジの発生する中間（１／４クロック分ずれた時間）でＲＸＤのデータをシフトレジスタ（４）のシリアル入力から取得し、シリアル―パラレル変換する。ＲＸＤのデータをサンプリングするタイミングは図４のＲＸＤサンプリングタイミングで取得する。
この際、スレーブ側の送信用シフトレジスタのうち、シフトレジスタ（１１）については、最初にデータとして出力される入力ビットの値を固定としている。このことにより、シフトレジスタ（１２）から最初に出力される値は、シフトレジスタ（１１）の値が固定されていることから判別される。
【００１４】
ホスト側にて、スレーブ側からのＲＸＤから外部入力値がどのように判別されるのかを詳述する。
以下でシフトレジスタ（１１）の出力をＱ５ｎ、シフトレジスタ（１２）の出力をＱ６ｎとし、Ｑ５ｎはＣＬＯＣＫの立ち上がりエッジ発生の度にｎ＝０、１、２、３...と変化し、Ｑ６ｎはＣＬＯＣＫの立ち下がりエッジ発生の度にｎ＝０、１、２、３...と変化するものとする。
また排他論理回路（１３）の出力であるＲＸＤをＤｍとしＣＬＯＣＫの立ち上がりエッジ発生もしくは立ち下がりエッジ発生の度にｍ＝０、１、２、３...と変化するものとする。
ＬＡＴＣＨの立ち上がりエッジによりシフトレジスタ（１１）、シフトレジスタ（１２）にそれぞれパラレル入力の値が取得された時、シフトレジスタ（１１）のシリアル出力をＱ５0、シフトレジスタ（１２）のシリアル出力をＱ６0、排他論理回路（１３）の出力をＤ0とする。
このときＤ0の値は以下の論理式で表わされる。
Ｄ0＝（（¬Ｑ５0）∩Ｑ６0）∪（Ｑ５0∩（¬Ｑ６0））
シフトレジスタ（１１）について、最初にデータとして出力される入力ビットの値が固定値として０となる場合、ＲＸＤの値は
Ｄ0＝Ｑ６0となり、Ｄ0の値からＱ６0の値が判別可能となる。
次にＣＬＯＣＫの立ち上がりエッジ発生が発生した場合を考える。
この場合、シフトレジスタ（１１）の出力が変化し、排他論理回路（１３）の出力ＲＸＤは
Ｄ1＝（（¬Ｑ５1）∩Ｑ６0）∪（Ｑ５1∩（¬Ｑ６0））となる。
Ｑ６0の値は予め判別できているため、上記論理式よりＤ1の値からＱ５1様の値が判別できる。
次にＣＬＯＣＫの立ち下がりエッジ発生が発生した場合を考える。
この場合、シフトレジスタ（１２）の出力が変化し、排他論理回路（１３）の出力ＲＸＤは
Ｄ2＝（（¬Ｑ５1）∩Ｑ６1）∪（Ｑ５1∩（¬Ｑ６1））となる。
Ｑ５1の値は予め判別できているため、上記論理式よりＤ2の値からＱ６1様の値が判別できる。
以降、ＣＬＯＣＫの立ち上がりエッジもしくは立ち下がりエッジ発生毎にＤｍを取得すると、Ｄｍの値からＱ５ｎ、Ｑ６ｎの値が判別することが可能である。
以上の動作により、ホスト側でスレーブ側からの入力データを判別することが可能である。
【００１５】
以上のように、スレーブ側は単純な汎用ロジックＩＣで構成でき、なおかつ転送クロックの周波数を抑えつつマスタ-スレーブ間の通信が可能となる。
【産業上の利用可能性】
【００１６】
マスタ-スレーブ間の通信をクロック同期式シリアル通信とし、クロックの両エッジでデータを取得できる方式とすることで、転送クロックの高速化を抑えつつ、データ送受信の効率を上げることに適用できる。
【符号の説明】
【００１７】
１    クロック制御回路
２    ラッチ
３    シフトレジスタ
４    シフトレジスタ
５    ラッチ
６    論理反転回路（汎用ゲートロジックＡ）
７    シフトレジスタ
８    ラッチ
９    シフトレジスタ
１０  ラッチ
１１  シフトレジスタ
１２  シフトレジスタ
１３  排他論理回路（汎用ゲートロジックＢ）
１４  クロック制御回路
１５  ラッチ
１６  シフトレジスタ
１７  シフトレジスタ
１８  ラッチ
１９  シフトレジスタ
２０  ラッチ
２１  シフトレジスタ
【図１】
2013120437.tif 000003
【図２】
2013120437.tif 000004
【図３】
2013120437.tif 000005
【図４】
2013120437.tif 000006