JP4524724B2 - 入出力装置 - Google Patents
入出力装置 Download PDFInfo
- Publication number
- JP4524724B2 JP4524724B2 JP2001012294A JP2001012294A JP4524724B2 JP 4524724 B2 JP4524724 B2 JP 4524724B2 JP 2001012294 A JP2001012294 A JP 2001012294A JP 2001012294 A JP2001012294 A JP 2001012294A JP 4524724 B2 JP4524724 B2 JP 4524724B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- reception
- signal
- circuit
- clock signal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/02—Digital function generators
- G06F1/025—Digital function generators for functions having two-valued amplitude, e.g. Walsh functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microcomputers (AREA)
- Information Transfer Systems (AREA)
- Logic Circuits (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Description
【発明の属する技術分野】
この発明はマイクロコンピュータなどにおける入出力装置に係り、特にタイマ機能を使用してデータ送受信の各タイミング信号を自由に変更することができる入出力装置に関するものである。
【0002】
【従来の技術】
従来のシリアル入出力装置は、内部のプリスケーラが出力するクロック信号に同期してデータをシリアル送信し、一方、シリアル受信では送信側から送られてくるクロック信号に同期して受信したデータをサンプリングする。
【0003】
図14は上述した従来の入出力装置の構成を示すブロック図である。図において、100は不図示のクロック発振回路から入力した基準クロック信号を分周してデータ送受信用のクロック信号CLKoutを生成するプリスケーラで、200は送信シフトレジスタであって、外部からのクロック信号CLKin又はプリスケーラ100が生成したクロック信号CLKoutに同期してデータを送信する。300は受信シフトレジスタであって、外部からのクロック信号CLKin又はプリスケーラ100が生成したクロック信号CLKoutに同期してデータを受信する。400は外部からのクロック信号CLKin又はプリスケーラ100が生成したクロック信号CLKoutのうちいずれかを選択して送信シフトレジスタ200に出力するセレクタ、500は外部からのクロック信号CLKin又はプリスケーラ100が生成したクロック信号CLKoutのうちいずれかを選択して受信シフトレジスタ300に出力するセレクタである。
【0004】
次に動作について説明する。
ここでは、プリスケーラ100が生成したデータ送受信用のクロック信号CLKoutに同期してデータ送受信する場合について説明する。この場合、各セレクタ400,500はプリスケーラ100が生成したクロック信号CLKoutをシフトクロック信号として選択して送信シフトレジスタ200、受信シフトレジスタ300に出力する。
【0005】
図15は図14の入出力装置のデータ送受信におけるタイミング図である。図に示すように、プリスケーラ100によって分周された信号は、データ送受信用として生成したクロック信号CLKoutに同期している。
先ず、データ送信の場合を説明すると、セレクタ400が選択したクロック信号CLKoutをシフトタイミングとして送信シフトレジスタ200がシフトされ、送信データSoutを出力する。図15では、送信シフトレジスタ200がクロック信号CLKoutの立ち下がりエッジに同期して送信データSoutを出力している。
【0006】
次に、データ受信の場合を説明する。ここでは、プリスケーラ100が生成したデータ送受信用のクロック信号CLKoutに同期してデータ送受信するので、このクロック信号CLKoutに同期して送信元から受信データSinが送信されてくる。受信シフトレジスタ300はセレクタ500が選択したクロック信号CLKoutをシフトタイミングとしてシフトし、受信データSinを格納する。図15では、受信シフトレジスタ300がクロック信号CLKoutの立ち上がりエッジに同期して受信データSinを格納している。
【0007】
上述したプリスケーラ100は、入出力装置のデータ送受信などに使用されるクロック信号を生成する以外の機能に使用されることは少ない。一方で、通常のワンチップマイクロコンピュータにおけるプリスケーラには、タイマ機能という基準クロック信号や外部からのクロック信号を計数する周辺機能が存在する。
【0008】
【発明が解決しようとする課題】
従来の入出力装置は以上のように構成されているので、外部からのクロック信号を使用せず、内部のプリスケーラ100が生成するクロック信号を使用して、シリアル送受信を行う場合、正常にデータ送受信の同期を取ることができないことがあるという課題があった。
【0009】
具体的に上記課題を説明すると、例えば、送信先から論理値0となる時間と論理値1となる時間とが異なる周期を有するデータが送信されてきた場合、これらに同期する外部からのクロック信号を使用しないと、プリスケーラ100が生成するクロック信号では正常に受信の同期を取ることができない。
【0010】
また、プリスケーラ100はクロック信号の生成以外の処理に使用されることが少なく、タイマ機能などの周辺機能が有効に利用されていないという課題があった。
【0011】
この発明は上記のような課題を解決するためになされたもので、既存のタイマ機能を使用してシリアル入出力の機能を実現することで内部資源を有効に活用するとともに、データ送受信の各タイミング信号を自由に変更することができる入出力装置を得ることを目的とする。
【0014】
【課題を解決するための手段】
この発明に係る入出力装置は、所定値までのカウント信号を所定の時間ごとに出力するタイマ回路と、データ送受信用の同期クロック信号の周期に対応する設定値を格納し、タイマ回路からのカウント信号値と設定値とが一致するごとに、互いに異なる値の一致信号を逐次出力する比較一致レジスタ回路と、この比較一致レジスタ回路からの互いに異なる値の一致信号を入力し、これらのそれぞれに対応して設定される論理値からなるデータ送受信用の同期クロック信号を出力するフリップフロップ回路と、外部からのクロック信号とともに、フリップフロップ回路からのデータ送受信用の同期クロック信号を入力し、これらのうちいずれかを選択してデータシフトクロック信号として出力するクロック選択回路と、このクロック選択回路からのデータシフトクロック信号が入力されるごとに、データ送受信を行うデータシフトレジスタ回路とを備えるものである。
【0016】
この発明に係る入出力装置は、データ送受信の相手が同期クロック信号に同期してデータを送受信し、タイマ回路が、データシフトレジスタ回路が受信するデータ信号の立ち上がり又は立ち下がりエッジのタイミングに応じてカウント信号の値を0にクリアするものである。
【0017】
この発明に係る入出力装置は、比較一致レジスタ回路がDMA(DirectMemory Access)によって設定値を格納するものである。
【0020】
【発明の実施の形態】
以下、この発明の実施の一形態を説明する。
実施の形態1.
図1はこの発明の実施の形態1による入出力装置の構成を示すブロック図である。図において、1はベースタイマ(タイマ回路)であって、不図示のCPUからの制御信号や外部からのクロック信号などの入力をトリガとしてカウント動作を開始し、所定値までのカウント信号を所定の時間ごとに出力する。2aはデータ送信におけるシフトタイミングに対応する設定値を格納し、この設定値とベースタイマ1のカウント信号値とを比較する比較一致レジスタ(送信用比較一致レジスタ回路、比較一致レジスタ回路)であって、上記設定値とベースタイマ1のカウント信号値とが一致すると送信用の一致信号0を出力する。2bはデータ受信におけるシフトタイミングに対応する設定値を格納し、この設定値とベースタイマ1のカウント信号値とを比較する比較一致レジスタ(受信用比較一致レジスタ回路、比較一致レジスタ回路)であって、上記設定値とベースタイマ1のカウント信号値とが一致すると受信用の一致信号1を出力する。3は比較一致レジスタ2a,2bから一致信号0,1を入力し、これら一致信号0,1のそれぞれに対応して論理値1がセット、論理値0にリセットされるRSフリップフロップ(フリップフロップ回路)である。
【0021】
4はセレクタ6からのデータシフトクロック信号に同期してシフトし、送信データSoutを出力する送信シフトレジスタ回路(データシフトレジスタ回路)で、5はセレクタ7からのデータシフトクロック信号に同期してシフトし、受信データSinを格納する受信シフトレジスタ回路(データシフトレジスタ回路)である。6は外部からのクロック信号と比較一致レジスタ2aからの一致信号0とを入力し、これらのうちいずれかをデータシフトクロック信号として選択して送信シフトレジスタ回路4に出力するセレクタ(クロック選択回路)で、7は外部からのクロック信号と比較一致レジスタ2bからの一致信号1とを入力し、これらのうちいずれかをデータシフトクロック信号として選択して受信シフトレジスタ回路5に出力するセレクタ(クロック選択回路)である。
【0022】
次に動作について説明する。
ここでは、実施の形態1による入出力装置自身が生成したクロック信号に同期してデータ送受信する場合について説明する。この場合、セレクタ6では一致信号0を選択し、セレクタ7では一致信号1を選択して送信シフトレジスタ回路4、受信シフトレジスタ回路5に出力する。また、データ送受信する相手には、データ送受信用の同期クロック信号が必要となるが、この実施の形態1ではRSフリップフロップ3が生成したクロック信号CLKoutを使用する。
【0023】
図2は図1の入出力装置のデータ送受信におけるタイミング図であり、このタイミング図を用いてデータ送受信動作を説明する。
先ず、データ送信する場合を説明する。不図示のCPUによって比較一致レジスタ2aにシフトタイミング時間に対応する設定値を書き込む。具体的には、CPUがシフトタイミング時間に相当する時間までにベースタイマ1から出力されるカウント信号値(図2中に示したベースタイマ1のカウント信号パルスに付した丸記号におけるカウント信号値)を設定値として比較一致レジスタ2aに格納する。次に上記CPUからの制御信号などをトリガとしてベースタイマ1がカウントを開始し、所定値までのカウント信号を所定の時間ごとに出力する。このベースタイマ1からのカウント信号の値は比較一致レジスタ2aの上記設定値と比較され、これらが一致すると比較一致レジスタ2aが一致信号0をRSフリップフロップ3及びセレクタ6に出力する。また、この実施の形態1では不図示のCPUにも上記一致信号0を割り込み要求信号として出力する。
【0024】
セレクタ6には、外部からのクロック信号及び一致信号0が入力しており、ここでは、一致信号0を送信シフトレジスタ回路4に出力する。一致信号0を入力すると送信シフトレジスタ回路4内の後述する送信シフトレジスタがシフトし、送信データSoutを出力する。この後、一致信号0による割り込み要求信号を受けたCPUが次のシフトタイミング時間に対応する設定値(図2中に示したベースタイマ1のカウント信号パルスに付した次の丸記号におけるカウント信号値)を比較一致レジスタ2aに書き込む。
【0025】
以上の動作を繰り返すことによって、一定のタイミングで送信シフトレジスタ回路4をシフトさせて、送信データSoutを出力させることができる。また、CPUが実行するデータ送受信に係るプログラムにおいて、比較一致レジスタ2aに書き込むシフトタイミング時間に対応する設定値を自由に設定できるようにしておけば、所望のシフトタイミングで送信シフトレジスタ回路4内の送信シフトレジスタをシフトさせて、送信データSoutを出力させることができる。
【0026】
次に、データ受信する場合を説明する。ここでは、データ送受信用の同期クロック信号としてRSフリップフロップ3が生成したクロック信号CLKoutを使用するので、このクロック信号CLKoutに同期してデータ送信先から受信すべきデータが送信されてくる。このとき、不図示のCPUによって比較一致レジスタ2bにシフトタイミング時間に対応する設定値が書き込まれている。具体的には、CPUがシフトタイミング時間に相当する時間までにベースタイマ1から出力されるカウント信号値(図2中に示したベースタイマ1のカウント信号パルスに付した星記号におけるカウント信号値)を設定値として比較一致レジスタ2bに格納する。
【0027】
上記CPUからの制御信号などをトリガとしてベースタイマ1が所定値までのカウント信号を所定の時間ごとに出力する。このベースタイマ1からのカウント信号の値は比較一致レジスタ2bの上記設定値と比較され、これらが一致すると比較一致レジスタ2bが一致信号1をRSフリップフロップ3及びセレクタ7に出力する。また、この実施の形態1では不図示のCPUにも上記一致信号1を割り込み要求信号として出力する。
【0028】
セレクタ7には、外部からのクロック信号及び一致信号1が入力しており、ここでは、一致信号1を受信シフトレジスタ回路5に出力する。一致信号1を入力すると受信シフトレジスタ回路5内の後述する受信シフトレジスタがシフトし、受信データSinをサンプリングする。この後、一致信号1による割り込み要求信号を受けたCPUが次のシフトタイミング時間に対応する設定値(図2中に示したベースタイマ1のカウント信号パルスに付した次の星記号におけるカウント信号値)を比較一致レジスタ2bに書き込む。
【0029】
以上の動作を繰り返すことによって、一定のタイミングで受信シフトレジスタ回路5をシフトさせて、受信データSinをサンプリングすることができる。また、CPUが実行するデータ送受信に係るプログラムにおいて、比較一致レジスタ2bに書き込むシフトタイミング時間に対応する設定値を自由に設定できるようにしておけば、所望のシフトタイミングで受信シフトレジスタ回路5内の受信シフトレジスタをシフトさせて、受信データSinをサンプリングすることができる。これによって、クロック信号CLKoutに同期せずに送信先から送信されてきたデータに対しても、比較一致レジスタ2bに書き込むシフトタイミング時間に対応する設定値を適宜変更することで対応することができる。
【0030】
また、上記では、データ送受信用の同期クロック信号としてRSフリップフロップ3が生成したクロック信号CLKoutを使用する例を示したが、セレクタ6,7が外部からのクロック信号をデータ送受信用の同期クロック信号として選択してもよい。この場合、送信シフトレジスタ回路4や受信シフトレジスタ回路5が、外部からのクロック信号をシフトタイミングとして、従来のシリアル入出力装置の動作と同様にデータ送受信するようになる。
【0031】
次に実施の形態1による入出力装置の各構成部について詳細に説明する。
図3は実施の形態1による入出力装置の比較一致レジスタの一構成例を示す回路図である。図において、2は比較一致レジスタ(比較一致レジスタ回路)で、図1で示した比較一致レジスタ2a,2bに相当し、16ビットのデータを格納できるものとする。2Aは入力した2信号が一致するとき、論理値1の信号を出力する論理一致素子である。2Bは比較一致レジスタ2の各ビットごとに設けられたデータラッチであって、不図示のCPUによってデータバスDB0〜DB15を介して送られてくるシフトタイミング時間に対応する設定値をラッチし、論理一致素子2Aに出力する。
【0032】
2Cはデータラッチ2Bのデータ出力QとデータバスDB0〜DB15との間に設けられたトライステートバッファで、読み出し信号RDがアクティブになるとデータ出力Qの値をデータバスDB0〜DB15に出力する。2Dは各ビットの論理一致素子2Aの出力信号を入力し、これら出力信号が全て一致すると論理値1の信号を出力するAND回路である。DB0〜DB15は不図示のCPUからのシフトタイミング時間に対応する設定値をデータラッチ2Bに伝送するデータバス、BTB0〜BTB15はベースタイマ1のカウント信号の各ビットにおける出力値で、CMPCKはAND回路2Dが出力する一致信号であって、図1で示した比較一致レジスタ2a,2bの一致信号0,1に相当する。
【0033】
次に動作について説明する。
データラッチ2B,・・・,2Bの各タイミング入力Tに不図示のCPUから書き込み信号WRが入力すると、そのデータ入力Dに各データバスDB0〜DB15からシフトタイミング時間に対応する設定値の各ビットに対応する値が入力する。データラッチ2B,・・・,2Bの各データ出力Qからは、各ビットごとに書き込まれたデータが出力し、比較一致レジスタ2の各ビットに対応する論理一致素子2A,・・・,2Aに入力する。また、データラッチ2B,・・・,2Bの各データ出力Qは、比較一致レジスタ2の各ビットに対応するトライステートバッファ2C,・・・,2Cを介してデータバスDB0〜DB15に接続している。このトライステートバッファ2C,・・・,2Cに、不図示のCPUから読み出し信号RDが入力すると、データラッチ2B,・・・,2Bの各データ出力Qが出力するシフトタイミング時間に対応する設定値の各ビットに対応する値がデータバスDB0〜DB15に出力される。これによって、比較一致レジスタ2の記憶内容を確認することができる。
【0034】
上述した論理一致素子2A,・・・,2Aのもう一つの入力には、ベースタイマ1のカウント信号の各ビットにおける値であるBTB0〜BTB15がそれぞれ入力する。これによって、論理一致素子2A,・・・,2Aでは、データラッチ2B,・・・,2Bの各データ出力Qが出力するシフトタイミング時間に対応する設定値の各ビットに対応する値と、ベースタイマ1のカウント信号の各ビットにおける値であるBTB0〜BTB15とが比較される。このとき、ベースタイマ1のカウント信号の各ビット値と比較一致レジスタ2の各ビット値とが一致すると、論理一致素子2Aは論理値1の信号(Hレベルの信号)を出力する。
【0035】
AND回路2Dは、比較一致レジスタ2の各ビットに対応する論理一致素子2A,・・・,2Aの出力信号を入力し、これらの論理積をとる。これによって、ベースタイマ1のカウント信号の全ビット値と比較一致レジスタ2の全ビット値とが一致すると、AND回路2Dは論理値1(Hレベル)の一致信号CMPCKを出力する。また、ベースタイマ1のカウント信号の全ビット値と比較一致レジスタ2の全ビット値とが一致しない状態では、AND回路2Dは論理値0(Lレベル)の一致信号CMPCKを出力する。
【0036】
図4は実施の形態1による入出力装置の送信シフトレジスタ回路の一構成例を示す回路図である。図において、4aは送信シフトレジスタ回路4を構成する送信シフトレジスタ(データシフトレジスタ回路)で、比較一致レジスタ2からの一致信号CMPCKに同期して送信データT×Dを出力する。4bは送信シフトレジスタ回路4を構成する送信バッファレジスタ(データシフトレジスタ回路)で、データバスDB0〜DB15から入力される送信データを一時格納する。4cは送信シフトレジスタ回路4を構成する書き込み回路(データシフトレジスタ回路)で、送信バッファレジスタ4bに一時格納された送信データを送信シフトレジスタ4aに書き込む。4Aは送信シフトレジスタ4aを構成するデータラッチで、比較一致レジスタ2からの一致信号CMPCKをタイミング入力Tに入力し、リセット入力RにAND回路4Dからのリセット信号が入力するとリセットされ、AND回路4Eからの信号をセット入力Sに入力すると論理値0,1がセットされる。
【0037】
4Bは送信バッファレジスタ4bを構成するデータラッチであって、タイミング入力Tに入力する書き込み信号WRに同期してデータバスDB0〜DB15からのデータをデータ入力Dに入力し、データ出力QからNOT回路4C、AND回路4Eに出力する。4Cは書き込み回路4cを構成するNOT回路で、データラッチ4Bから送信データを入力し、出力はAND回路4Dに入力している。4Dは書き込み回路4cを構成するAND回路であって、NOT回路4Cの出力とタイミング信号TG2とを入力してデータラッチ4Aのリセット入力Rにリセット信号を入力する。4Eは書き込み回路4cを構成するAND回路であって、データラッチ4Bのデータ出力Qとタイミング信号TG2とを入力してデータラッチ4Aのセット入力Sにセット信号を入力する。なお、図1と同一構成要素には同一符号を付して重複する説明を省略する。
【0038】
次に動作について説明する。
不図示のCPUからの書き込み信号WRをタイミング入力Tに入力すると、送信バッファレジスタ4bの各ビットに対応するデータラッチ4B,・・・,4Bには、そのデータ入力DにデータバスDB0〜DB15から送出されている送信データが書き込まれる。また、各データラッチ4B,・・・4Bに書き込まれた送信データはデータ出力Qを介してNOT回路4C及びAND回路4Eに出力される。
【0039】
書き込み回路4cを構成するNOT回路4Cは、データラッチ4Bのデータ出力Qからのデータを反転させてAND回路4Dに出力する。AND回路4Eは、NOT回路4Cの出力とともにタイミング信号TG2を入力している。このAND回路4Eは、論理値1(Hレベル)のタイミング信号TG2と、データラッチ4Bのデータ出力Qから出力された論理値0(Lレベル)の信号(即ち、NOT回路4Cの出力が論理値1(Hレベル)となる)とを入力すると、論理値0(Lレベル)の信号を出力する。このLレベルの信号はリセット入力Rにて反転してHレベルのリセット信号としてデータラッチ4Aに取り込まれる。これによって、データラッチ4Aの内容が0にリセットされる。また、NOT回路4Cの出力値とタイミング信号TG2の値との他の組み合わせでは、リセット入力Rにて論理値0(Lレベル)のリセット信号となってデータラッチ4Aに取り込まれるので、データラッチ4Aの内容はリセットされない。
【0040】
一方、データラッチ4Bのデータ出力Qからのデータ及びタイミング信号TG2はAND回路4Eにも入力している。このAND回路4Eは、論理値1(Hレベル)のタイミング信号TG2と、データラッチ4Bのデータ出力Qから出力された論理値1(Hレベル)の信号とを入力すると、論理値0(Lレベル)の信号を出力する。このLレベルの信号はセット入力Sにて反転してHレベルのセット信号としてデータラッチ4Aに取り込まれる。これによって、データラッチ4Aの内容が1にセットされる。また、データラッチ4Bのデータ出力Qの値とタイミング信号TG2の値との他の組み合わせでは、セット入力Sにて論理値0(Lレベル)のセット信号となってデータラッチ4Aに取り込まれる、即ち、データラッチ4Aの内容がリセット時の0を維持する。
【0041】
上述のようにして、送信シフトレジスタ4aの各ビットに論理値0、1がセットされて送信バッファレジスタ4bの記憶内容が書き込まれる。送信シフトレジスタ4aの全ビットの書き込みが完了するとデータ送信が開始される。
具体的には、この送信シフトレジスタ4aが、ベースタイマ1のカウント信号値と比較一致レジスタ2の設定値とが一致して論理値1(Hレベル)の一致信号CMPCKがセレクタ6からデータラッチ4Aのタイミング入力Tに入力されるごとにシフトして、送信データT×Dを出力する。
【0042】
図5は実施の形態1による入出力装置の受信シフトレジスタ回路の一構成例を示す回路図である。図において、5aは受信シフトレジスタ回路5を構成する受信シフトレジスタ(データシフトレジスタ回路)で、比較一致レジスタ2からの一致信号CMPCKに同期して受信データR×Dinを逐次格納し、一定回数のシフトで格納された受信データR×Dinを受信バッファレジスタ5bに出力する。5bは受信データR×Dinを格納する受信バッファレジスタ(データシフトレジスタ回路)であって、受信完了を示す受信完了タイミング信号TG1を入力すると受信シフトレジスタ5aから受信データR×Dinを入力し格納する。5Aは受信シフトレジスタ5aを構成するデータラッチで、比較一致レジスタ2からの一致信号CMPCKがタイミング入力Tに入力すると、データ入力Dに受信データR×Dinを入力する。5Bは受信バッファレジスタ5bを構成するデータラッチであって、受信完了を示す受信完了タイミング信号TG1をタイミング入力Tに入力すると、データ入力Dに受信シフトレジスタ5aからの受信データR×Dinを入力する。なお、図1と同一構成要素には同一符号を付して重複する説明を省略する。
【0043】
次に動作について説明する。
比較一致レジスタ2から出力された一致信号CMPCKと、外部からのクロック信号とを入力するセレクタ7が、一致信号CMPCKを選択して受信シフトレジスタ5aに出力する。一致信号CMPCKは受信シフトレジスタ5aを構成する各データラッチ5Aのタイミング入力Tに入力する。このとき、論理値1(Hレベル)の一致信号CMPCKがタイミング入力Tに入力すると、各データラッチ5A,・・・,5Aは、データ入力Dに送られてくる受信データR×Dinを逐次書き込んでゆく。各データラッチ5A,・・・,5Aのデータ出力Qからは、書き込まれた受信データR×Dinが出力している。
【0044】
各データラッチ5A,・・・,5Aのデータ出力Qは、受信バッファレジスタ5bの各データラッチ5B,・・・,5Bのデータ入力Dと接続しており、受信シフトレジスタ5aが書き込んだ受信データR×Dinが送出されている。また、受信シフトレジスタ5aの所定回数のシフトが完了すると、不図示のCPUは受信完了タイミング信号TG1を発生し、これを各データラッチ5B,・・・,5Bのタイミング入力Tに出力する。受信完了タイミング信号TG1がタイミング入力Tに入力すると、各データラッチ5B,・・・,5Bは、データ入力Dに送出されていた受信シフトレジスタ5aが書き込んだ受信データR×Dinを入力し格納する。これによって、受信シフトレジスタ5aが受信した受信データR×Dinが受信バッファレジスタ5bに格納される。
【0045】
以上のように、この実施の形態1によれば、ベースタイマ1からのカウント信号値と、比較一致レジスタ2a,2bが格納するデータの送受信タイミングに対応する設定値とが一致するごとに一致信号0,1を出力し、この一致信号0,1をデータシフトクロック信号として送信シフトレジスタ回路4や受信シフトレジスタ回路5がデータ送受信を行うので、比較一致レジスタ2a,2bに所望の設定値を設定することで、データ送受信の各タイミング信号を自由に変更することができる。また、既存のタイマ機能をそのまま使用することができ、本願発明を実現するために必要なハードウェア資源の追加を低減することができる。
【0046】
また、この実施の形態1によれば、比較一致レジスタ2a,2bから出力される一致信号0,1を入力し、この一致信号0,1のそれぞれに対応して設定される論理値0,1からなるデータ送受信用の同期クロック信号CLKoutを出力するRSフリップフロップ3を備えるので、比較一致レジスタ2a,2bに所望の設定値を設定することで、データ送受信用の同期クロック信号を自由に変更することができる。また、既存のタイマ機能をそのまま使用することができ、本願発明を実現するために必要なハードウェア資源の追加を低減することができる。
【0047】
実施の形態2.
図6はこの発明の実施の形態2による入出力装置の構成を示すブロック図である。図において、6aは外部からのクロック信号とRSフリップフロップ3からのクロック信号CLKoutとを入力し、これらのうちいずれかをデータシフトクロック信号として選択して送信シフトレジスタ回路4に出力するセレクタ(クロック選択回路)で、7aは外部からのクロック信号とRSフリップフロップ3からのクロック信号CLKoutとを入力し、これらのうちいずれかをデータシフトクロック信号として選択して受信シフトレジスタ回路5に出力するセレクタ(クロック選択回路)である。なお、図1と同一構成要素には同一符号を付して重複する説明を省略する。
【0048】
次に動作について説明する。
ここでは、実施の形態2による入出力装置自身が生成したクロック信号CLKoutに同期してデータ送受信する場合について説明する。この場合、セレクタ6a,7aはRSフリップフロップ3が生成したクロック信号CLKoutを選択して送信シフトレジスタ回路4、受信シフトレジスタ回路5に出力する。また、データ送受信する相手には、データ送受信用の同期クロック信号が必要となるが、この実施の形態2ではRSフリップフロップ3が生成したクロック信号CLKoutを使用する。
【0049】
RSフリップフロップ3は、比較一致レジスタ2aからの一致信号0を入力することで論理値0にリセットされ、比較一致レジスタ2bからの一致信号1を入力することで論理値1がセットされる。これによって、RSフリップフロップ3は、一致信号0,1のそれぞれに対応して設定される論理値0,1からなるクロック信号CLKoutを生成する。
具体的には、不図示のCPUがクロック信号CLKoutの立ち下がり時間に相当する時間までにベースタイマ1から出力されるカウント信号値(図7中に示したベースタイマ1のカウント信号パルスに付した丸記号におけるカウント信号値)を設定値として比較一致レジスタ回路2aに格納する。さらに、上記CPUがクロック信号CLKoutの立ち上がり時間に相当する時間までにベースタイマ1から出力されるカウント信号値(図7中に示したベースタイマ1のカウント信号パルスに付した星記号におけるカウント信号値)を設定値として比較一致レジスタ回路2bに格納する。
【0050】
図7は図6の入出力装置のデータ送受信におけるタイミング図であり、このタイミング図を用いてデータ送受信動作を説明する。
先ず、データ送信する場合を説明する。図7に示す例では、データ送信がRSフリップフロップ3からのクロック信号CLKoutの立ち下がりエッジに同期して行われる。
上記CPUからの制御信号などをトリガとしてベースタイマ1がカウントを開始し、所定値までのカウント信号を所定の時間ごとに出力する。このベースタイマ1からのカウント信号の値は比較一致レジスタ2a,2bの上記設定値と比較され、これらが一致すると比較一致レジスタ2a,2bが一致信号0,1をRSフリップフロップ3に出力する。また、この実施の形態2では不図示のCPUにも上記一致信号0,1を割り込み要求信号として出力する。
【0051】
セレクタ6aには、外部からのクロック信号及びRSフリップフロップ3からのクロック信号CLKoutが入力しており、ここでは、クロック信号CLKoutを送信シフトレジスタ回路4に出力する。クロック信号CLKoutを入力すると送信シフトレジスタ回路4がクロック信号CLKoutの立ち下がりエッジに同期してシフトし、送信データSoutを出力する。この後、一致信号0による割り込み要求信号を受けたCPUが次のクロック信号CLKoutの立ち下がり時間に対応する設定値(図7中に示したベースタイマ1のカウント信号パルスに付した次の丸記号におけるカウント信号値)を比較一致レジスタ2aに書き込む。
【0052】
以上の動作を繰り返すことによって、一定のタイミングで送信シフトレジスタ回路4をシフトさせて、送信データSoutを出力させることができる。また、CPUが実行するデータ送受信に係るプログラムにおいて、比較一致レジスタ2aに書き込むクロック信号CLKoutの立ち下がり時間に対応する設定値を自由に設定できるようにしておけば、所望のクロック信号CLKoutで送信シフトレジスタ回路4をシフトさせて、送信データSoutを出力させることができる。
【0053】
次に、データ受信する場合を説明する。ここでは、データ送受信用の同期クロック信号としてRSフリップフロップ3が生成したクロック信号CLKoutを使用するので、このクロック信号CLKoutに同期してデータ送信先から受信すべきデータが送信されてくる。また、図7に示す例では、データ受信がRSフリップフロップ3からのクロック信号CLKoutの立ち上がりエッジに同期して行われる。
上記CPUからの制御信号などをトリガとしてベースタイマ1がカウントを開始し、所定値までのカウント信号を所定の時間ごとに出力する。このベースタイマ1からのカウント信号の値は比較一致レジスタ2a,2bの上記設定値と比較され、これらが一致すると比較一致レジスタ2a,2bが一致信号0,1をRSフリップフロップ3に出力する。また、この実施の形態2では不図示のCPUにも上記一致信号0,1を割り込み要求信号として出力する。
【0054】
セレクタ7aには、外部からのクロック信号及びRSフリップフロップ3からのクロック信号CLKoutが入力しており、ここでは、クロック信号CLKoutを受信シフトレジスタ回路5に出力する。クロック信号CLKoutを入力すると受信シフトレジスタ回路5がシフトし、受信データSinをサンプリングする。この後、一致信号1による割り込み要求信号を受けたCPUが次のクロック信号CLKoutの立ち上がり時間に対応する設定値(図7中に示したベースタイマ1のカウント信号パルスに付した次の星記号におけるカウント信号値)を比較一致レジスタ2bに書き込む。
【0055】
以上の動作を繰り返すことによって、一定のタイミングで受信シフトレジスタ回路5をシフトさせて、受信データSinをサンプリングすることができる。また、CPUが実行するデータ送受信に係るプログラムにおいて、比較一致レジスタ2bに書き込むクロック信号CLKoutの立ち上がり時間に対応する設定値を自由に設定できるようにしておけば、所望のシフトタイミングで受信シフトレジスタ回路5をシフトさせて、受信データSinをサンプリングすることができる。
【0056】
また、上記では、データ送受信用の同期クロック信号としてRSフリップフロップ3が生成したクロック信号CLKoutを使用する例を示したが、セレクタ6a,7aが外部からのクロック信号をデータ送受信用の同期クロック信号として選択してもよい。この場合、送信シフトレジスタ回路4や受信シフトレジスタ回路5が、外部からのクロック信号をシフトタイミングとして、従来のシリアル入出力装置の動作と同様にデータ送受信するようになる。
【0057】
以上のように、この実施の形態2によれば、ベースタイマ1からのカウント信号値と、比較一致レジスタ2a,2bが格納するデータ送受信用の同期クロック信号の周期に対応する設定値とが一致するごとに出力される一致信号0,1をRSフリップフロップ3が入力し、このRSフリップフロップ3が互いに異なる値の一致信号0,1のそれぞれに対応して設定される論理値0,1からなるクロック信号CLKoutを生成し、このクロック信号CLKoutをデータシフトクロック信号として送信シフトレジスタ回路4や受信シフトレジスタ回路5がデータ送受信を行うので、比較一致レジスタ2a,2bに所望の設定値を設定することで、データ送受信用の同期クロック信号を自由に変更することができる。また、既存のタイマ機能をそのまま使用することができ、本願発明を実現するために必要なハードウェア資源の追加を低減することができる。
【0058】
実施の形態3.
図8はこの発明の実施の形態3による入出力装置の構成を示すブロック図である。図において、1aは比較一致レジスタ2aから論理値1(Hレベル)の一致信号0を受けると、カウント信号を0にクリアするベースタイマ(タイマ回路)である。なお、図1と同一構成要素には同一符号を付して重複する説明を省略する。
【0059】
次に動作について説明する。
ここでは、実施の形態3による入出力装置自身が生成したクロック信号に同期してデータ送受信する場合について説明する。この場合、セレクタ6では一致信号0を選択し、セレクタ7では一致信号1を選択して送信シフトレジスタ回路4、受信シフトレジスタ回路5に出力する。また、データ送受信する相手には、データ送受信用の同期クロック信号が必要となるが、この実施の形態3ではRSフリップフロップ3が生成したクロック信号CLKoutを使用する。
【0060】
図9は図8の入出力装置のデータ送受信におけるタイミング図であり、このタイミング図を用いてデータ送受信動作を説明する。
先ず、データ送信する場合を説明する。不図示のCPUによって比較一致レジスタ2aにシフトタイミング時間に対応する設定値を書き込む。具体的には、CPUがシフトタイミング時間に相当する時間までにベースタイマ1から出力されるカウント信号値(図9中に示したベースタイマ1aのカウント信号パルスに付した丸記号におけるカウント信号値)を設定値として比較一致レジスタ2aに格納する。
【0061】
次に、上記CPUからの制御信号などをトリガとしてベースタイマ1aがカウントを開始し、カウント信号の値と比較一致レジスタ2aの上記設定値とが一致すると、比較一致レジスタ2aが一致信号0をベースタイマ1a、RSフリップフロップ3及びセレクタ6に出力する。
【0062】
セレクタ6には、外部からのクロック信号及び一致信号0が入力しており、ここでは、一致信号0を送信シフトレジスタ回路4に出力する。一致信号0を入力すると送信シフトレジスタ回路4がシフトし、送信データSoutを出力する。このとき、図9に示すように、論理値1(Hレベル)の一致信号0を受けたベースタイマ1aがカウント信号値を0にクリアする。これによって、上記実施の形態1で示したような一致信号0を受けたCPUによって次のシフトタイミング時間に対応する設定値を比較一致レジスタ2aに書き込む必要がない。
即ち、最初に比較一致レジスタ2aに格納したシフトタイミング時間に対応する設定値を変更することなく、データ送信を行うことができる。
【0063】
以上の動作を繰り返すことによって、一定のタイミングで送信シフトレジスタ回路4をシフトさせて、送信データSoutを出力させることができる。また、最初に、比較一致レジスタ2aに所望のシフトタイミング時間に対応する設定値を設定しておけば、CPUに対する割り込み処理を行うことなく、所望のシフトタイミングで送信シフトレジスタ回路4をシフトさせて、送信データSoutを出力させることができる。
【0064】
次に、データ受信する場合を説明する。ここでは、データ送受信用の同期クロック信号としてRSフリップフロップ3が生成したクロック信号CLKoutを使用するので、このクロック信号CLKoutに同期してデータ送信先から受信すべきデータが送信されてくる。このとき、不図示のCPUによって比較一致レジスタ2bにシフトタイミング時間に対応する設定値が書き込まれている。具体的には、CPUがシフトタイミング時間に相当する時間までにベースタイマ1aから出力されるカウント信号値(図9中に示したベースタイマ1aのカウント信号パルスに付した星記号におけるカウント信号値)を設定値として比較一致レジスタ2bに格納する。
【0065】
上記CPUからの制御信号などをトリガとしてベースタイマ1aが所定値までのカウント信号を所定の時間ごとに出力する。このベースタイマ1aからのカウント信号の値は比較一致レジスタ2bの上記設定値と比較され、これらが一致すると比較一致レジスタ2bが一致信号1をRSフリップフロップ3及びセレクタ7に出力する。また、この実施の形態3では不図示のCPUにも上記一致信号1を割り込み要求信号として出力する。
【0066】
セレクタ7には、外部からのクロック信号及び一致信号1が入力しており、ここでは、一致信号1を受信シフトレジスタ回路5に出力する。一致信号1を入力すると受信シフトレジスタ回路5がシフトし、受信データSinをサンプリングする。この後、一致信号1による割り込み要求信号を受けたCPUが次のシフトタイミング時間に対応する設定値(図9中に示したベースタイマ1aのカウント信号パルスに付した次の星記号におけるカウント信号値)を比較一致レジスタ2bに書き込む。
【0067】
以上の動作を繰り返すことによって、一定のタイミングで受信シフトレジスタ回路5をシフトさせて、受信データSinをサンプリングすることができる。また、CPUが実行するデータ送受信に係るプログラムにおいて、比較一致レジスタ2bに書き込むシフトタイミング時間に対応する設定値を自由に設定できるようにしておけば、所望のシフトタイミングで受信シフトレジスタ回路5をシフトさせて、受信データSinをサンプリングすることができる。これによって、クロック信号CLKoutに同期せずに送信先から送信されてきたデータに対しても、比較一致レジスタ2bに書き込むシフトタイミング時間に対応する設定値を適宜変更することで対応することができる。
【0068】
また、上記では、データ送受信用の同期クロック信号としてRSフリップフロップ3が生成したクロック信号CLKoutを使用する例を示したが、セレクタ6,7が外部からのクロック信号をデータ送受信用の同期クロック信号として選択してもよい。この場合、送信シフトレジスタ回路4や受信シフトレジスタ回路5が、外部からのクロック信号をシフトタイミングとして、従来のシリアル入出力装置の動作と同様にデータ送受信するようになる。
【0069】
以上のように、この実施の形態3によれば、ベースタイマ1aが比較一致レジスタ2aからの一致信号0を入力するごとにカウント信号の値を0にクリアするので、CPUに対する割り込み処理の回数を削減することができるとともに、比較一致レジスタ2a,2bに所望の設定値を設定することで、データ送受信の各タイミング信号を自由に変更することができる。また、既存のタイマ機能をそのまま使用することができ、本願発明を実現するために必要なハードウェア資源の追加を低減することができる。
【0070】
実施の形態4.
図10はこの発明の実施の形態4による入出力装置の構成を示すブロック図である。図において、8はOR回路であって、比較一致レジスタ2aからの一致信号0と受信データSinの立ち下がりエッジ信号値との論理和をベースタイマ1aに出力する。なお、図1及び図8と同一構成要素には同一符号を付して重複する説明を省略する。
【0071】
次に動作について説明する。
ここでは、実施の形態4による入出力装置自身が生成したクロック信号に同期してデータ送受信する場合について説明する。この場合、セレクタ6では一致信号0を選択し、セレクタ7では一致信号1を選択して送信シフトレジスタ回路4、受信シフトレジスタ回路5に出力する。また、データ送受信する相手には、データ送受信用の同期クロック信号が必要となるが、この実施の形態4ではRSフリップフロップ3が生成したクロック信号CLKoutを使用する。
【0072】
図11は図10の入出力装置のデータ送受信におけるタイミング図であり、このタイミング図を用いてデータ送受信動作を説明する。
先ず、データ送信する場合を説明する。不図示のCPUによって比較一致レジスタ2aにシフトタイミング時間に対応する設定値を書き込む。具体的には、CPUがシフトタイミング時間に相当する時間までにベースタイマ1から出力されるカウント信号値(図11中に示したベースタイマ1aのカウント信号パルスに付した丸記号におけるカウント信号値)を設定値として比較一致レジスタ2aに格納する。
【0073】
次に、上記CPUからの制御信号などをトリガとしてベースタイマ1aがカウントを開始し、カウント信号の値と比較一致レジスタ2aの上記設定値とが一致すると、比較一致レジスタ2aが一致信号0をRSフリップフロップ3、セレクタ6及びOR回路8に出力する。
【0074】
セレクタ6には、外部からのクロック信号及び一致信号0が入力しており、ここでは、一致信号0を送信シフトレジスタ回路4に出力する。一致信号0を入力すると送信シフトレジスタ回路4がシフトし、送信データSoutを出力する。このとき、図11に示すように、論理値1(Hレベル)の一致信号0を受けたOR回路8は受信データSinの立ち下がりエッジ信号値が論理値0,1のいずれであっても、Hレベルの出力値をベースタイマ1aに出力する。OR回路8からのHレベルの出力値を受けると、ベースタイマ1aはカウント信号値を0にクリアする。これによって、上記実施の形態1で示したような一致信号0を受けたCPUによって次のシフトタイミング時間に対応する設定値を比較一致レジスタ2aに書き込む必要がない。
即ち、最初に比較一致レジスタ2aに格納したシフトタイミング時間に対応する設定値を変更することなく、データ送信を行うことができる。
【0075】
以上の動作を繰り返すことによって、一定のタイミングで送信シフトレジスタ回路4をシフトさせて、送信データSoutを出力させることができる。また、最初に、比較一致レジスタ2aに所望のシフトタイミング時間に対応する設定値を設定しておけば、CPUに対する割り込み処理を行うことなく、所望のシフトタイミングで送信シフトレジスタ回路4をシフトさせて、送信データSoutを出力させることができる。
【0076】
次に、データ受信する場合を説明する。ここでは、データ送受信用の同期クロック信号としてRSフリップフロップ3が生成したクロック信号CLKoutを使用するので、このクロック信号CLKoutに同期してデータ送信先から受信すべきデータが送信されてくる。このとき、不図示のCPUによって比較一致レジスタ2bにシフトタイミング時間に対応する設定値が書き込まれている。具体的には、CPUがシフトタイミング時間に相当する時間までにベースタイマ1aから出力されるカウント信号値(図11中に示したベースタイマ1aのカウント信号パルスに付した星記号におけるカウント信号値)を設定値として比較一致レジスタ2bに格納する。
【0077】
上記CPUからの制御信号などをトリガとしてベースタイマ1aが所定値までのカウント信号を所定の時間ごとに出力する。このベースタイマ1aからのカウント信号の値は比較一致レジスタ2bの上記設定値と比較され、これらが一致すると比較一致レジスタ2bが一致信号1をRSフリップフロップ3及びセレクタ7に出力する。また、この実施の形態4では不図示のCPUにも上記一致信号1を割り込み要求信号として出力する。
【0078】
セレクタ7には、外部からのクロック信号及び一致信号1が入力しており、ここでは、一致信号1を受信シフトレジスタ回路5に出力する。一致信号1を入力すると受信シフトレジスタ回路5がシフトし、受信データSinをサンプリングする。このとき、データ受信に障害が生じた場合、この実施の形態4では受信データの立ち上がりエッジや立ち下がりエッジのタイミングでベースタイマ1aのカウント信号値を0にクリアすることで、データ送受信の途中でも同期をとることができる。
【0079】
具体的に説明すると、受信データSinを受信シフトレジスタ回路5が格納する際、比較一致レジスタ2aからの一致信号0は論理値0(Lレベル)であるので、OR回路8の1つの入力には論理値0(Lレベル)の信号が入力している。このとき、例えば受信データSinの立ち下がりエッジを検出すると、論理値1の信号を出力する不図示のエッジ検出器を設けることで、受信データSinの立ち下がりエッジを検出するごとに、OR回路8が論理値1(Hレベル)の出力信号をベースタイマ1aに出力する。これによって、受信データSinの立ち下がりエッジを検出するごとに、ベースタイマ1aがカウント信号値を0にクリアする。この後、一致信号1による割り込み要求信号を受けたCPUが次のシフトタイミング時間に対応する設定値(図11中に示したベースタイマ1aのカウント信号パルスに付した次の星記号におけるカウント信号値)を比較一致レジスタ2bに書き込む。
このようにすることで、1パルスの受信データSinを受信シフトレジスタ回路5が格納した時点から次のシフトタイミング時間に対応する設定値を比較一致レジスタ2bに設定することができ、データ送受信の途中でも同期をとることができる。
【0080】
以上の動作を繰り返すことによって、一定のタイミングで受信シフトレジスタ回路5をシフトさせて、受信データSinをサンプリングすることができる。また、CPUが実行するデータ送受信に係るプログラムにおいて、比較一致レジスタ2bに書き込むシフトタイミング時間に対応する設定値を自由に設定できるようにしておけば、所望のシフトタイミングで受信シフトレジスタ回路5をシフトさせて、受信データSinをサンプリングすることができる。これによって、クロック信号CLKoutに同期せずに送信先から送信されてきたデータに対しても、比較一致レジスタ2bに書き込むシフトタイミング時間に対応する設定値を適宜変更することで対応することができる。
【0081】
また、上記では、データ送受信用の同期クロック信号としてRSフリップフロップ3が生成したクロック信号CLKoutを使用する例を示したが、セレクタ6,7が外部からのクロック信号をデータ送受信用の同期クロック信号として選択してもよい。この場合、送信シフトレジスタ回路4や受信シフトレジスタ回路5が、外部からのクロック信号をシフトタイミングとして、従来のシリアル入出力装置の動作と同様にデータ送受信するようになる。
【0082】
以上のように、この実施の形態4によれば、OR回路8によって受信シフトレジスタ回路5が受信するデータSinの立ち上がり又は立ち下がりエッジのタイミングに応じてベースタイマ1aがカウント信号の値を0にクリアするので、データ受信に障害が生じた場合においてもデータ送受信の途中でも同期をとることができる。
【0083】
なお、上記実施の形態1,2では、CPUに対する割り込み処理で比較一致レジスタ2a,2bに対する設定を行う例を示したが、DMA(Direct Memory Access)転送機能を用いて、CPUを介さず設定値を記憶する記憶手段から比較一致レジスタ2a,2bに対する設定を行うようにしてもよい。このようにすることで、比較一致レジスタ2a,2bに対する設定処理におけるCPUの負荷を低減することができる。また、上記実施の形態3,4では、比較一致レジスタ2a,2bの設定内容の書き換えを省略した例を示しているが、送受信する相手との間で使用するシリアル通信プロトコルによって比較一致レジスタ2a,2bの設定内容を書き換えなければならない場合がある。このような場合、上記実施の形態1,2で示したCPUに対する割り込み処理で行ってもよく、DMA転送機能を用いてもよい。
【0084】
また、上記の他の比較一致レジスタ2a,2bの設定内容の書き換えを行う構成について説明する。
図12は比較一致レジスタの設定内容の書き換えを行うリロードレジスタを有する入出力装置の構成を示すブロック図である。図において、9a,9bは比較一致レジスタ2a,2bにそれぞれ設けたリロードレジスタ(リロードレジスタ回路)で、所定の設定値を比較一致レジスタ2a,2bの一致信号0,1に同期して逐次比較一致レジスタ2a,2bに設定する。なお、図1と同一構成要素には同一符号を付して重複する説明を省略する。
【0085】
次に概要について説明する。
リロードレジスタ9a,9bには、それぞれ送信シフトレジスタ回路4及び受信シフトレジスタ回路5によるデータ送受信において比較一致レジスタ2a,2bに設定すべき全ての設定値が格納されている。これらリロードレジスタ9a,9bは、比較一致レジスタ2a,2bからの一致信号0,1をそれぞれ受けるごとに上記設定値を逐次比較一致レジスタ2a,2bに出力し設定する。
このようにすることで、CPUに対する割り込み処理やDMA転送機能を使用することなく、比較一致レジスタの設定内容を書き換えることが可能である。
また、リロードレジスタ9a,9bを用いる方法は、例えば転送レートが速すぎて、CPUに対する割り込み処理やDMA転送機能によってでは比較一致レジスタの設定内容の書き換えが間に合わない場合に有効である。
このリロードレジスタ9a,9bを用いる構成は、上記実施の形態1から実施の形態4の全てに適用することができる。
【0086】
図13は比較一致レジスタの設定内容の書き換えを行うアダーを有する入出力装置の構成を示すブロック図である。図において、10は比較一致レジスタ2a,2b間に設けたアダー(加算器)で、比較一致レジスタ2a,2bの一致信号0,1に同期して一定値(転送レート)を逐次加算して、次に比較一致レジスタ2a,2bに設定すべき設定値を算出する。なお、図1と同一構成要素には同一符号を付して重複する説明を省略する。
【0087】
次に概要について説明する。
送信シフトレジスタ回路4及び受信シフトレジスタ回路5によるデータ送受信において、比較一致レジスタ2a,2bからの一致信号0,1をそれぞれ受けるごとに、アダー10が転送レートに相当する所定値をそれぞれ比較一致レジスタ2a,2bに加算する。
このようにすることで、CPUに対する割り込み処理やDMA転送機能を使用することなく、比較一致レジスタ2a,2bの設定内容を自動的に書き換えることが可能である。
このアダー10を用いる構成は、上記実施の形態1から実施の形態4の全てに適用することができる。
【0090】
【発明の効果】
以上のように、この発明によれば、所定値までのカウント信号を所定の時間ごとに出力するタイマ回路と、データ送受信用の同期クロック信号の周期に対応する設定値を格納し、タイマ回路からのカウント信号値と設定値とが一致するごとに、互いに異なる値の一致信号を逐次出力する比較一致レジスタ回路と、この比較一致レジスタ回路からの互いに異なる値の一致信号を入力し、これらのそれぞれに対応して設定される論理値からなるデータ送受信用の同期クロック信号を出力するフリップフロップ回路と、外部からのクロック信号とともに、フリップフロップ回路からのデータ送受信用の同期クロック信号を入力し、これらのうちいずれかを選択してデータシフトクロック信号として出力するクロック選択回路と、このクロック選択回路からのデータシフトクロック信号が入力されるごとに、データ送受信を行うデータシフトレジスタ回路とを備えるので、比較一致レジスタ回路に所望の設定値を設定することで、データ送受信用の同期クロック信号を自由に変更することができるという効果がある。また、既存のタイマ機能をそのまま使用することができ、本願発明を実現するために必要なハードウェア資源の追加を低減することができるという効果がある。
【0092】
この発明によれば、データ送受信の相手が同期クロック信号に同期してデータを送受信し、タイマ回路が、データシフトレジスタ回路が受信するデータ信号の立ち上がり又は立ち下がりエッジのタイミングに応じてカウント信号の値を0にクリアするので、データ受信に障害が生じた場合においてもデータ送受信の途中でも同期をとることができるという効果がある。
【0093】
この発明によれば、比較一致レジスタ回路がDMA(Direct Memory Access)によって設定値を格納するので、比較一致レジスタ回路の設定処理におけるCPUの負荷を低減することができるという効果がある。
【図面の簡単な説明】
【図1】 この発明の実施の形態1による入出力装置の構成を示すブロック図である。
【図2】 図1の入出力装置のデータ送受信におけるタイミング図である。
【図3】 実施の形態1による入出力装置の比較一致レジスタの一構成例を示す回路図である。
【図4】 実施の形態1による入出力装置の送信シフトレジスタ回路の一構成例を示す回路図である。
【図5】 実施の形態1による入出力装置の受信シフトレジスタ回路の一構成例を示す回路図である。
【図6】 この発明の実施の形態2による入出力装置の構成を示すブロック図である。
【図7】 図6の入出力装置のデータ送受信におけるタイミング図である。
【図8】 この発明の実施の形態3による入出力装置の構成を示すブロック図である。
【図9】 図8の入出力装置のデータ送受信におけるタイミング図である。
【図10】 この発明の実施の形態4による入出力装置の構成を示すブロック図である。
【図11】 図10の入出力装置のデータ送受信におけるタイミング図である。
【図12】 比較一致レジスタの設定内容の書き換えを行うリロードレジスタを有する入出力装置の構成を示すブロック図である。
【図13】 比較一致レジスタの設定内容の書き換えを行うアダーを有する入出力装置の構成を示すブロック図である。
【図14】 従来の入出力装置の構成を示すブロック図である。
【図15】 図14の入出力装置のデータ送受信におけるタイミング図である。
【符号の説明】
1,1a ベースタイマ(タイマ回路)、2,2a 比較一致レジスタ(送信用比較一致レジスタ回路、比較一致レジスタ回路)、2b 比較一致レジスタ(受信用比較一致レジスタ回路、比較一致レジスタ回路)、2A 論理一致素子、2B データラッチ、2C トライステートバッファ、2D AND回路、3 RSフリップフロップ(フリップフロップ回路)、4 送信シフトレジスタ回路(データシフトレジスタ回路)、4a 送信シフトレジスタ(データシフトレジスタ回路)、4b 送信バッファレジスタ(データシフトレジスタ回路)、4c書き込み回路(データシフトレジスタ回路)、4A,4B データラッチ、4C NOT回路、4D,4E AND回路、5 受信シフトレジスタ回路(データシフトレジスタ回路)、5a 受信シフトレジスタ(データシフトレジスタ回路)、5b 受信バッファレジスタ(データシフトレジスタ回路)、5A,5Bデータラッチ、6,6a セレクタ(クロック選択回路)、7,7a セレクタ(クロック選択回路)、8 OR回路、9a,9b リロードレジスタ(リロードレジスタ回路)、10 アダー(加算器)。
Claims (3)
- 所定値までのカウント信号を所定の時間ごとに出力するタイマ回路と、
データ送受信用の同期クロック信号の周期に対応する設定値を格納し、上記タイマ回路からのカウント信号値と上記設定値とが一致するごとに、互いに異なる値の一致信号を逐次出力する比較一致レジスタ回路と、
この比較一致レジスタ回路からの互いに異なる値の一致信号を入力し、これらのそれぞれに対応して設定される論理値からなるデータ送受信用の同期クロック信号を出力するフリップフロップ回路と、
外部からのクロック信号とともに、上記フリップフロップ回路からのデータ送受信用の同期クロック信号を入力し、これらのうちいずれかを選択してデータシフトクロック信号として出力するクロック選択回路と、
このクロック選択回路からのデータシフトクロック信号が入力されるごとに、データ送受信を行うデータシフトレジスタ回路とを備えた入出力装置。 - データ送受信の相手は上記同期クロック信号に同期してデータを送受信し、
タイマ回路は、データシフトレジスタ回路が受信するデータ信号の立ち上がり又は立ち下がりエッジのタイミングに応じてカウント信号の値を0にクリアすることを特徴とする請求項1記載の入出力装置。 - 比較一致レジスタ回路は、DMA(Direct Memory Access)によって設定値が格納されることを特徴とする請求項1または請求項2記載の入出力装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001012294A JP4524724B2 (ja) | 2001-01-19 | 2001-01-19 | 入出力装置 |
US09/881,712 US6920577B2 (en) | 2001-01-19 | 2001-06-18 | Clock selection circuit for selecting between an external clock and a clock generated by comparing a count value with a setting value |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001012294A JP4524724B2 (ja) | 2001-01-19 | 2001-01-19 | 入出力装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002215569A JP2002215569A (ja) | 2002-08-02 |
JP4524724B2 true JP4524724B2 (ja) | 2010-08-18 |
Family
ID=18879324
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001012294A Expired - Fee Related JP4524724B2 (ja) | 2001-01-19 | 2001-01-19 | 入出力装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6920577B2 (ja) |
JP (1) | JP4524724B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1593047A4 (en) * | 2003-02-13 | 2010-06-09 | Nokia Corp | METHOD OF SIGNALING STREAMING QUALITY ADAPTATION AND CONTROL MCHANISMS IN MULTIMEDIA STREAMING |
JP2015043170A (ja) * | 2013-08-26 | 2015-03-05 | 株式会社東芝 | インターフェース回路及びシステム |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4468724A (en) * | 1981-04-08 | 1984-08-28 | Hitachi, Ltd. | Method and apparatus for controlling load current |
JPH077904B2 (ja) * | 1987-09-14 | 1995-01-30 | 三菱電機株式会社 | パルス発生回路 |
JPH02128287A (ja) | 1988-11-08 | 1990-05-16 | Nec Ic Microcomput Syst Ltd | マイクロコンピュータ |
JPH0333962A (ja) * | 1990-05-11 | 1991-02-14 | Nec Corp | シリアルインターフェイス回路 |
JPH05101008A (ja) * | 1991-10-08 | 1993-04-23 | Mitsubishi Electric Corp | ワンチツプマイクロコンピユータ |
JP2526785B2 (ja) * | 1993-06-04 | 1996-08-21 | 日本電気株式会社 | デ―タ伝送装置 |
KR960012847B1 (ko) * | 1994-05-06 | 1996-09-24 | 삼성전자 주식회사 | 멀티미디어 컴퓨터의 오디오데이타 입력장치 |
JPH08237141A (ja) * | 1995-03-01 | 1996-09-13 | Nec Corp | シリアル/パラレル変換装置 |
US5708817A (en) * | 1995-05-31 | 1998-01-13 | Apple Computer, Inc. | Programmable delay of an interrupt |
JPH10124455A (ja) * | 1996-10-25 | 1998-05-15 | Toshiba Corp | シリアル通信回路 |
KR100232895B1 (ko) * | 1996-12-31 | 1999-12-01 | 김영환 | 센스앰프 인에이블 신호 발생 장치 |
JPH10207834A (ja) * | 1997-01-17 | 1998-08-07 | Mitsubishi Electric Corp | シリアル入出力回路 |
JPH1139868A (ja) * | 1997-07-18 | 1999-02-12 | Matsushita Electric Ind Co Ltd | 半導体集積回路システム、半導体集積回路、及び半導体集積回路システムの駆動方法 |
JP4094851B2 (ja) * | 2000-01-17 | 2008-06-04 | 富士通株式会社 | Pll回路 |
-
2001
- 2001-01-19 JP JP2001012294A patent/JP4524724B2/ja not_active Expired - Fee Related
- 2001-06-18 US US09/881,712 patent/US6920577B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US20020099969A1 (en) | 2002-07-25 |
JP2002215569A (ja) | 2002-08-02 |
US6920577B2 (en) | 2005-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5079693A (en) | Bidirectional FIFO buffer having reread and rewrite means | |
US7555590B2 (en) | Fast buffer pointer across clock domains | |
JPH07282576A (ja) | Fifoモジュール | |
JP2000099193A (ja) | 同期装置および同期方法ならびにインタフェ―ス回路 | |
US5459855A (en) | Frequency ratio detector for determining fixed frequency ratios in a computer system | |
US5524112A (en) | Interface apparatus for transferring k*n-bit data packets via transmission of K discrete n-bit parallel words and method therefore | |
JPH06259225A (ja) | データ転送同期装置 | |
JPH0439929B2 (ja) | ||
JP4524724B2 (ja) | 入出力装置 | |
JP2001236306A (ja) | データ転送方法及び装置 | |
US6542999B1 (en) | System for latching first and second data on opposite edges of a first clock and outputting both data in response to a second clock | |
US5617433A (en) | Serial data transfer apparatus | |
US11005642B1 (en) | Output circuit for a source device with arbitrary access time | |
JPS60241150A (ja) | デ−タ転送装置 | |
US5590371A (en) | Serial communication circuit on an LSI chip and communicating with another microcomputer on the chip | |
JPH03171945A (ja) | ディジタルシステム | |
US20020147935A1 (en) | Timer circuit | |
JP2000341256A (ja) | エラスティック回路および集積回路 | |
JP2510268B2 (ja) | デ―タ保持回路 | |
JP2000353939A (ja) | クロック信号同期式フリップフロップ回路 | |
JPS6343930B2 (ja) | ||
JPH08138369A (ja) | メモリ制御回路 | |
KR940006297Y1 (ko) | 리시버 및 트랜스미터 회로 | |
JP2740492B2 (ja) | Lsi間非同期データ転送回路 | |
JPS63138828A (ja) | エラステイツクバツフア回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20060123 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20071119 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20071101 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100202 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100223 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100419 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20100511 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20100518 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100520 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130611 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130611 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140611 Year of fee payment: 4 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |