マスタとなるICと、汎用ロジックICで構成されたスレーブデバイスの間の通信において、転送クロック制御回路、シフトレジスタ及びラッチを備えた前記マスタと、汎用シフトレジスタ及び汎用ゲートロジックを備えた前記スレーブによって構成され、前記マスタと前記スレーブ間を転送クロックCLOCK、マスタ送信信号TXD、スレーブ送信信号RXD及び前記ラッチ信号LATCHの4本で接続し、転送クロックの立ち下がりエッジと立ち上がりエッジ発生の両方向で前記マスタと前記スレーブ間のデータ送受信を行うことを特徴とするクロック同期型シリアル通信方式。従来技術では、クロック同期型シリアル転送では、転送クロックの1クロック分でデータを1ビット分しか転送出来ないため、データ量を増やすためには、転送クロックの周波数を上げてデータ転送速度を上げる、もしくはRXDとTXDの数を増やすことにより、シリアル転送のチャンネル数を増やす必要がある。しかしながら、転送クロックの周波数を上げる場合、高速動作が要求され、プリント基板の設計が困難になるという課題がある。また、チャンネル数を増やせば、装置が大型化するという課題がある。本発明はこれらの課題を解決するために創案されたものである。マスタとなるICと、汎用ロジックICで構成されたスレーブデバイスの間の通信において、転送クロック制御回路、シフトレジスタ及びラッチを備えた前記マスタと、汎用シフトレジスタ及び汎用ゲートロジックを備えた前記スレーブによって構成され、前記マスタと前記スレーブ間を転送クロックCLOCK、マスタ送信信号TXD、スレーブ送信信号RXD及び前記ラッチ信号LATCHの4本で接続し、転送クロックの立ち下がりエッジと立ち上がりエッジ発生の両方向で前記マスタと前記スレーブ間のデータ送受信を行うことを特徴とするクロック同期型シリアル通信方式。本発明は、従来のクロック同期型シリアル転送と比較し、同一のデータ転送クロック周波数にて2倍のデータ転送量を実現可能とし、配線の削減、高速動作に必要な基板設計の回避などに効果を奏する。本発明の好適な実施態様を以下の実施例を用いて説明する。本発明の実施例について、図1を用いて詳述する。同図において、1はマスタ側にあって転送クロックならびにラッチ信号や後述のマスタ側シフトレジスタやマスタ側のラッチ5を制御するクロック制御回路、2はマスタ側送信用のラッチ、3はマスタ側送信用のパラレルシリアル変換を行なうシフトレジスタ、4はマスタ側受信用のシリアルパラレル変換を行なうシフトレジスタ、5はマスタ側受信用のラッチ、6はスレーブ側の転送クロックを反転する論理反転回路、7はスレーブ側受信用のシリアルパラレル変換を行なうシフトレジスタ、8はスレーブ側受信用のラッチ、9はスレーブ側受信用のシリアルパラレル変換を行なうシフトレジスタ、10はスレーブ側受信用ラッチ、11はスレーブ側送信用のパラレルシリアル変換を行なうシフトレジスタ、12はパラレルシリアル変換を行なうスレーブ側送信用のシフトレジスタ、13は2つのスレーブ側送信用のシフトレジスタ11とシフトレジスタ12の出力をスレーブ送信信号として一本化するためのスレーブ側送信用の排他論理回路である。マスタ側のクロック制御回路1はLATCHを出力後、転送データビット数を送信し終わると、再度LATCH出力から動作を行なうことを繰り返す。スレーブ側では、シフトレジスタ7、シフトレジスタ11のクロック入力は、マスタ側からのCLOCKが接続され、シフトレジスタ9、シフトレジスタ12には、マスタ側からのCLOCKが論理反転回路6を介して入力される。この接続では、シフトレジスタ7、シフトレジスタ11はCLOCKの立ち上がりエッジでシフト動作し、シフトレジスタ9、シフトレジスタ12はCLOCKの立ち下がりエッジでシフト動作する。ラッチ8、ラッチ10はマスタ側からのLATCHが接続され、LATCHの立ち上がりエッジにより、ラッチ8はシフトレジスタ7のパラレル出力を、ラッチ10はシフトレジスタ9のパラレル出力を、それぞれラッチする。シフトレジスタ11、シフトレジスタ12はマスタ側からのLATCHが接続され、LATCHの立ち上がりエッジにより、パラレル入力データをラッチする。シフトレジスタ11とシフトレジスタ12からのシリアル出力信号は、排他論理回路13により1本のデータ信号とし、RXDとしてマスタ側への出力データとなる。なお、シフトレジスタ11の入力信号で、最初に排他論理回路13へ出力されるデータ入力ビットの値は固定とする。マスタ側からスレーブ側にデータ転送を行う際の動作を図1、図4によるタイムチャートにより詳述する。マスタ側のラッチ2に書き込まれたパラレルのデータは、クロック制御回路1からのLATCHにより、シフトレジスタ3に取得される。シフトレジスタ3に取得されたパラレルデータは、クロック制御回路1による制御によって、図4のTXDのように、CLOCKの立ち上がりエッジもしくは立ち下がりエッジの発生する中間1/4クロック分すれた時間で1ビット分のデータシフトを行い、シフトレジスタ3からのシリアル出力をTXDとしてスレーブ側に出力する。スレーブ側ではマスタ側からのCLOCKにより、TXDのデータを取得し、シフト動作をすることによりシリアルパラレル変換を行なう。この際、CLOCKの立ち上がりエッジではシフトレジスタ7がデータを取得し、CLOCKの立ち上がりエッジではシフトレジスタ9がデータを取得する。シフトレジスタ7、シフトレジスタ9に取得されたパラレルデータはLATCHにより、それぞれシフトレジスタ7からラッチ8に、シフトレジスタ9からラッチ10に取得される。以上の動作でマスタ側からの送信データが、スレーブ側のラッチ8とラッチ10に転送される。スレーブ側からマスタ側にデータ転送を行う際の動作を詳述する。スレーブ側では、マスタ側から出力されるLATCHにより、シフトレジスタ11、シフトレジスタ12に入力のパラレルデータがラッチされる。次にマスタ側から出力されるCLOCKにより、シフトレジスタのデータがシフトされ、パラレル―シリアル変換される。この際、CLOCKの立ち上がりエッジではシフトレジスタ11がシフトされ、CLOCKの立ち上がりエッジではシフトレジスタ12がシフトされる。シフトレジスタ11、シフトレジスタ12のシリアル出力信号は排他論理回路13によって1本化され、RXDとしてホスト側に出力する。ホスト側は、CLOCKの立ち上がりエッジもしくは立ち下がりエッジの発生する中間1/4クロック分ずれた時間でRXDのデータをシフトレジスタ4のシリアル入力から取得し、シリアル―パラレル変換する。RXDのデータをサンプリングするタイミングは図4のRXDサンプリングタイミングで取得する。この際、スレーブ側の送信用シフトレジスタのうち、シフトレジスタ11については、最初にデータとして出力される入力ビットの値を固定としている。このことにより、シフトレジスタ12から最初に出力される値は、シフトレジスタ11の値が固定されていることから判別される。ホスト側にて、スレーブ側からのRXDから外部入力値がどのように判別されるのかを詳述する。以下でシフトレジスタ11の出力をQ5n、シフトレジスタ12の出力をQ6nとし、Q5nはCLOCKの立ち上がりエッジ発生の度にn=0、1、2、3と変化し、Q6nはCLOCKの立ち下がりエッジ発生の度にn=0、1、2、3と変化するものとする。また排他論理回路13の出力であるRXDをDmとしCLOCKの立ち上がりエッジ発生もしくは立ち下がりエッジ発生の度にm=0、1、2、3と変化するものとする。LATCHの立ち上がりエッジによりシフトレジスタ11、シフトレジスタ12にそれぞれパラレル入力の値が取得された時、シフトレジスタ11のシリアル出力をQ50、シフトレジスタ12のシリアル出力をQ60、排他論理回路13の出力をD0とする。このときD0の値は以下の論理式で表わされる。D0=¬Q50∩Q60∪Q50∩¬Q60シフトレジスタ11について、最初にデータとして出力される入力ビットの値が固定値として0となる場合、RXDの値はD0=Q60となり、D0の値からQ60の値が判別可能となる。次にCLOCKの立ち上がりエッジ発生が発生した場合を考える。この場合、シフトレジスタ11の出力が変化し、排他論理回路13の出力RXDはD1=¬Q51∩Q60∪Q51∩¬Q60となる。Q60の値は予め判別できているため、上記論理式よりD1の値からQ51様の値が判別できる。次にCLOCKの立ち下がりエッジ発生が発生した場合を考える。この場合、シフトレジスタ12の出力が変化し、排他論理回路13の出力RXDはD2=¬Q51∩Q61∪Q51∩¬Q61となる。Q51の値は予め判別できているため、上記論理式よりD2の値からQ61様の値が判別できる。以降、CLOCKの立ち上がりエッジもしくは立ち下がりエッジ発生毎にDmを取得すると、Dmの値からQ5n、Q6nの値が判別することが可能である。以上の動作により、ホスト側でスレーブ側からの入力データを判別することが可能である。以上のように、スレーブ側は単純な汎用ロジックICで構成でき、なおかつ転送クロックの周波数を抑えつつマスタスレーブ間の通信が可能となる。