IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社日立製作所の特許一覧

特開2023-5569データ入出力装置及びデータ入出力方法
<>
  • 特開-データ入出力装置及びデータ入出力方法 図1
  • 特開-データ入出力装置及びデータ入出力方法 図2
  • 特開-データ入出力装置及びデータ入出力方法 図3
  • 特開-データ入出力装置及びデータ入出力方法 図4
  • 特開-データ入出力装置及びデータ入出力方法 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023005569
(43)【公開日】2023-01-18
(54)【発明の名称】データ入出力装置及びデータ入出力方法
(51)【国際特許分類】
   G06F 13/42 20060101AFI20230111BHJP
   G06F 1/12 20060101ALI20230111BHJP
   H03K 5/00 20060101ALI20230111BHJP
【FI】
G06F13/42 350A
G06F1/12 510
H03K5/00 V
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2021107571
(22)【出願日】2021-06-29
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110000062
【氏名又は名称】特許業務法人第一国際特許事務所
(72)【発明者】
【氏名】中井戸 博樹
【テーマコード(参考)】
5B077
【Fターム(参考)】
5B077AA17
5B077GG03
5B077GG22
(57)【要約】
【課題】非同期データ信号をより的確に取り込むことができるデータ入出力装置及びデータ入出力方法を提供することを目的とする。
【解決手段】第一のクロック信号に応じて非同期の入力データを受け取り、受け取った前記入力データを第一の出力データとして出力する第一の入出力装置と、第二のクロック信号に応じて前記第一の出力データを受け取り、受け取った前記第一の出力データを第二の出力データとして出力する第二の入出力装置と、前記第二のクロック信号に応じて前記第一の出力データを受け取り、受け取った前記第一の出力データを第三の出力データとして出力する第三の入出力装置と、前記第二の出力データを処理する第一の処理部と、前記第三の出力データを処理する第二の処理部と、を備え、前記第二の処理部は前記第一の処理部の動作から所定の時間遅延させて動作させ、前記第二のクロック信号は前記第一のクロック信号よりも遅延している。
【選択図】図3
【特許請求の範囲】
【請求項1】
第一のクロック信号に応じて非同期の入力データを受け取り、受け取った前記入力データを第一の出力データとして出力する第一の入出力装置と、第二のクロック信号に応じて前記第一の出力データを受け取り、受け取った前記第一の出力データを第二の出力データとして出力する第二の入出力装置と、前記第二のクロック信号に応じて前記第一の出力データを受け取り、受け取った前記第一の出力データを第三の出力データとして出力する第三の入出力装置と、前記第二の出力データを処理する第一の処理部と、前記第三の出力データを処理する第二の処理部と、を備え、
前記第二の処理部は前記第一の処理部の動作から所定の時間遅延させて動作させ、前記第二のクロック信号は前記第一のクロック信号よりも遅延していることを特徴とするデータ入出力装置。
【請求項2】
請求項1に記載のデータ入出力装置において、
前記第一のクロック信号は前記第一の処理部の制御信号に応じて生成し、前記第二のクロック信号は前記第二の処理部の制御信号に応じて生成することを特徴とするデータ入出力装置。
【請求項3】
請求項2に記載のデータ入出力装置において、
前記第一のクロック信号の生成は第一の論理回路で行い、前記第二のクロック信号の生成は第二の論理回路で行うことを特徴とするデータ入出力装置。
【請求項4】
請求項1から請求項3のいずれか一項に記載のデータ入出力装置において、
前記第一の処理部の処理と前記第二の処理部の処理は、同じ動作を行い、
前記第二の処理部の処理は前記第一の処理部の処理よりも半周期遅延して動作させることを特徴とするデータ入出力装置。
【請求項5】
第一の入出力装置で、第一のクロック信号に応じて非同期の入力データを受け取り、受け取った前記入力データを第一の出力データとして出力するステップと、
第二の入出力装置で、第二のクロック信号に応じて前記第一の出力データを受け取り、受け取った前記第一の出力データを第二の出力データとして出力するステップと、
第三の入出力装置で、前記第二のクロック信号に応じて前記第一の出力データを受け取り、受け取った前記第一の出力データを第三の出力データとして出力するステップと、
第一の処理部で、前記第二の出力データを処理するステップと、
第二の処理部で、前記第三の出力データを処理するステップと、を有し、
前記第二の処理部は前記第一の処理部の動作から所定の時間遅延させて動作し、前記第二のクロック信号は前記第一のクロック信号よりも遅延していることを特徴とするデータ入出力方法。
【請求項6】
請求項5に記載のデータ入出力方法において、
前記第一のクロック信号は前記第一の処理部の制御信号に応じて生成し、前記第二のクロック信号は前記第二の処理部の制御信号に応じて生成することを特徴とするデータ入出力方法。
【請求項7】
請求項5又は請求項6に記載のデータ入出力方法において、
前記第一の処理部の処理と前記第二の処理部の処理は、同じ動作を行い、
前記第二の処理部の処理は前記第一の処理部の処理よりも半周期遅延して動作することを特徴とするデータ入出力方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明はデータ入出力装置及びデータ入出力方法に関し、特に、非同期データ信号を取り込むことができるデータ入出力装置及びデータ入出力方法に関する。
【背景技術】
【0002】
一般的なデータ入出力回路において、バスラインを介してシステムクロックと同期していない非同期信号を取り入れる場合、特許文献1に示されるような2段同期回路が使用される。この回路にはメタステーブルを防止する効果がある。
【0003】
また、鉄道保安システム等の高信頼性が求められる制御では、誤った演算によって誤制御を行ったときに、直接人命等に関わる事故に結びつく危険がある。このため、制御装置の信頼性、フェールセーフ性(障害発生により危険側出力が出されないこと)が強く求められている。そして、従来から様々な方式による高信頼性システムが開発、実用化されてきた。その中で、演算装置を多重化して、その複数の装置の動作を比較照合して故障を検出するという多重処理装置が用いられている。例えば、2重系の処理装置(CPU)の出力するバスを常時比較し、不一致が発生したときは、処理を停止させるバス照合型処理装置がある。特許文献2ではこの技術を利用し、装置の安全性を確保することを行っている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平4-336825号公報
【特許文献2】特開平7-302207号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1では、フリップフロップのメタステーブル持続時間の記載はあるものの、フェールセーフを考慮した構成については開示されていない。さらに、処理部のクロック周期が早くなった場合の対応についても開示されていない。
【0006】
また、特許文献2では、演算装置を多重化した構成について開示されているものの、メタステーブル防止の構成については開示されていない。
【0007】
本発明は、上記課題に鑑みて、非同期データ信号をより的確に取り込むことができるデータ入出力装置及びデータ入出力方法を提供することを目的とする。
【課題を解決するための手段】
【0008】
上記目的を達成するため、代表的な本発明のデータ入出力装置の一つは、第一のクロック信号に応じて非同期の入力データを受け取り、受け取った前記入力データを第一の出力データとして出力する第一の入出力装置と、第二のクロック信号に応じて前記第一の出力データを受け取り、受け取った前記第一の出力データを第二の出力データとして出力する第二の入出力装置と、前記第二のクロック信号に応じて前記第一の出力データを受け取り、受け取った前記第一の出力データを第三の出力データとして出力する第三の入出力装置と、前記第二の出力データを処理する第一の処理部と、前記第三の出力データを処理する第二の処理部と、を備え、前記第二の処理部は前記第一の処理部の動作から所定の時間遅延させて動作させ、前記第二のクロック信号は前記第一のクロック信号よりも遅延していることを特徴とする。
【0009】
さらに本発明のデータ入出力方法の一つは、第一の入出力装置で、第一のクロック信号に応じて非同期の入力データを受け取り、受け取った前記入力データを第一の出力データとして出力するステップと、第二の入出力装置で、第二のクロック信号に応じて前記第一の出力データを受け取り、受け取った前記第一の出力データを第二の出力データとして出力するステップと、第三の入出力装置で、前記第二のクロック信号に応じて前記第一の出力データを受け取り、受け取った前記第一の出力データを第三の出力データとして出力するステップと、第一の処理部で、前記第二の出力データを処理するステップと、第二の処理部で、前記第三の出力データを処理するステップと、を有し、前記第二の処理部は前記第一の処理部の動作から所定の時間遅延させて動作し、前記第二のクロック信号は前記第一のクロック信号よりも遅延していることを特徴とする。
【発明の効果】
【0010】
本発明によれば、データ入出力装置及びデータ入出力方法において、非同期データ信号をより的確に取り込むことができる。
上記以外の課題、構成及び効果は、以下の実施形態により明らかにされる。
【図面の簡単な説明】
【0011】
図1図1は、本発明の実施例1のデータ入出力装置を示すブロック図である。
図2図2は、本発明の実施例1の回路動作タイミングチャートの例である。
図3図3は、本発明の実施例2のデータ入出力装置を示すブロック図である。
図4図4は、本発明の実施例2の回路動作タイミングチャートの例である。
図5図5は、本発明の実施例2の図4を高速化した場合の回路動作タイミングチャートの例である。
【発明を実施するための形態】
【0012】
本発明を実施するための形態を説明する。
【0013】
(実施例1)
図1は、本発明の実施例1のデータ入出力装置を示すブロック図である。
【0014】
図1では、バス照合型処理装置を処理部に持つシステムのデータ入出力装置において、2段同期回路を二重化した構成が示されている。図1のデータ入出力装置は、3つの入出力装置(第一の入出力装置104、第二の入出力装置105、第三の入出力装置106)と、1つの論理回路107と、1つの遅延回路108と、2つの処理部(第一の処理部(A系)101、第二の処理部(B系)102)を内部に持つバス照合型処理装置103を備えている。
【0015】
バス照合型処理装置103内の第一の処理部(A系)101と第二の処理部(B系)102は、共通のクロック生成回路から供給されるクロックに2つのCPUが完全に同期して同じ動作を行う。このとき、第二の処理部(B系)102のクロックは第一の処理部(A系)101のクロックから半周期遅れて動作している。第一の処理部(A系)101の処理と第二の処理部(B系)102の処理を比較して、処理の内容が不一致ならエラーとして異常と判定でき、一致していたら正常と判定できる。また、第一の処理部(A系)101は制御信号113を出力し、第二の処理部(B系)102は制御信号114を出力する。
【0016】
第一の入出力装置104は、非同期データ信号109を入力して第一の出力データ110を出力する。また第一の入出力装置104には、第一のクロック信号115が入力される。第一の入出力装置104はフリップフロップを適用できる。
【0017】
第二の入出力装置105は、第一の出力データ110を入力して第二の出力データ111を出力する。また第二の入出力装置105には、第二のクロック信号116が入力される。第二の入出力装置105はフリップフロップを適用できる。
【0018】
第三の入出力装置106は、第一の出力データ110を入力して第三の出力データ112を出力する。また第三の入出力装置106には、第二のクロック信号116が入力される。第三の入出力装置106はフリップフロップを適用できる。
【0019】
論理回路107は、制御信号113および制御信号114を入力して、第一のクロック信号115を出力する。
【0020】
遅延回路108は、第一のクロック信号115を入力して遅延させて、第二のクロック信号116を出力する。遅延回路108は抵抗器RとコンデンサCを用いたRC回路で構成されている。遅延回路108による遅延時間は回路の時定数で求められる。このため、遅延時間は回路によって、あらかじめ定められた一定の時間となる。
【0021】
ここで、第一の処理部(A系)101と第二の入出力装置105、第二の処理部(B系)102と第三の入出力装置106は、それぞれバスで接続されている。各入出力装置104、105、106から各処理部101、102へのデータ入力は、アドレス信号、データ信号および制御信号を用いたリードサイクルにより行われる。
【0022】
次にデータや信号の全体的な流れについて説明する。非同期データ信号109は第一の入出力装置104のD端子へ入力し、第一の入出力装置104のQ端子から第一の出力データ110が出力される。出力された第一の出力データ110は、第二の入出力装置105のD端子および第三の入出力装置106のD端子へ入力される。この第一の出力データ110を受け取り、第二の入出力装置105は第二の出力データ111を、第三の入出力装置106は第三の出力データ112をそれぞれ出力する。そして、第一の処理部(A系)101には第二の出力データ111が、第二の処理部(B系)102には第三の出力データ112がそれぞれ入力される。
【0023】
第一のクロック信号115は、第一の入出力装置104のデータ取込タイミングを制御する。この第一のクロック信号115は、第一の処理部(A系)101が出力する制御信号113および第二の処理部(B系)102が出力する制御信号114より論理回路107を介して生成される。生成された第一のクロック信号115は、第一の入出力装置104のCK端子及び遅延回路108に入力される。遅延回路108では、第一のクロック信号115は、所定時間遅延された第二のクロック信号116に変換される。そして、第二のクロック信号116は、第二の入出力装置105のCK端子および第三の入出力装置106のCK端子にそれぞれ入力される。第二のクロック信号116は、第二の入出力装置105と第三の入出力装置106のデータ取込タイミングを制御する。
【0024】
図2は、本発明の実施例1の回路動作タイミングチャートの例である。図1で示したデータ入出力装置の動作について図2を用いて説明する。図2は第一の処理部(A系)101のクロック周期がTAの場合のリードサイクルを表したタイミングチャートの例である。リードサイクルはTRで示される。
【0025】
図2の(a)は第一の処理部(A系)101のクロックが示されている。図2の(b)は第二の処理部(B系)102のクロックが示されている。(a)と(b)は同期信号でありである。図に示すように、第二の処理部(B系)102のクロックは第一の処理部(A系)101のクロックから半周期遅れて動作している。すなわち、(b)は(a)に対して180°位相が遅れている。これにより、データの比較が分かりやすくなり、より正確な比較が可能となる。
【0026】
図2の(c)は第一のクロック信号115が示されている。図2の(d)は第二のクロック信号116が示されている。第二のクロック信号116は、第一のクロック信号115に対して、時間TDだけ立ち上がりが遅延している。これは、遅延回路108で遅延されるためである。この遅延時間TDは、ロウレベルでもハイレベルでもない入力データの変化点である不安定なデータの状態であるメタステーブル状態を回避するための時間である。すなわち、遅延時間TDはメタステーブル状態よりも長い時間を確保する。
【0027】
図2の(e)は非同期データ信号109が示されている。図2の(f)は第一の出力データ110が示されている。図2の(g)は第二の出力データ111が示されている。図2の(h)は第三の出力データ112が示されている。ここで図2の(e)、(f)、(g)および(h)の斜線部は無効データを表している。
【0028】
次に図2について処理の流れに沿って説明する。図2の時刻t1で第一の処理部(A系)101のリードサイクルが開始するとする。このとき、図2(a)の第一の処理部(A系)101の立ち上がりに同期して、図2(c)に示されるように、第一のクロック信号115が時刻t1で立ち上がる。そして、第二の処理部(B系)102のリードサイクルが終了すると図2(b)に同期して第一のクロック信号115が時刻t3で立ち下がる。図2(d)に示されるように、第二のクロック信号116は、図2(c)の立ち上がり時刻t1から遅延回路108で設定した遅延時間TDの経過後、時刻t2で立ち上がる。
【0029】
このような場合、第一の入出力装置104は、図2(f)に示されるように、時刻t1で非同期データ信号109を取り込み、第二の入出力装置105のD端子および第三の入出力装置106のD端子へ第一の出力データ110を出力する。第二の入出力装置105および第三の入出力装置106は、図2(g)および(h)に示すように時刻t2で第一の出力データ110を取り込み、それぞれ第一の処理部(A系)101および第二の処理部(B系)102へデータ(第二の出力データ111、第三の出力データ112)を出力する。
【0030】
なお、第一の処理部(A系)101および第二の処理部(B系)102が有効データを受け取ることができる条件は、TR>TDである。すなわち、リードサイクル期間TRに有効なデータが存在する必要があり、リードサイクル期間TRよりも遅延時間TDが短いことが条件となる。
【0031】
このように実施例1では、遅延回路108でクロック信号を遅延させることによりメタステーブル状態を回避する。さらに、第一の処理部(A系)101と第二の処理部(B系)102を用いることで、フェールセーフ性を向上して信頼性を確保し正確なデータ取得が可能となる。
【0032】
しかしながら、実施例1のデータ入出力装置では次に示す短所が存在する。
【0033】
遅延回路108で設定する遅延時間TDは、第一の入出力装置104のデータホールド時間(メタステーブル状態となる不安定な時間)より長ければ機能上問題ない。一般的には部品の精度や温度特性などの要因を考慮し、設計時には十分マージンを持たせて長く設定する。しかし、図1の構成において、処理性能を向上させる等の理由でバス照合型処理装置103のクロックを高速化した場合、そのリードサイクル期間は短くなる。これは、第一の処理部(A系)101の制御信号113および第二の処理部(B系)102の制御信号114は第一の処理部(A系)101および第二の処理部(B系)102のクロックと同期しているためである。ここで、遅延回路108の遅延時間TDは遅延回路108における抵抗器とコンデンサの時定数で決まり、部品の定数を変更しない限りその値は固定である。このため、クロックを高速化した場合、リードサイクル期間TR内に第二のクロック信号116が立ち上がらず、第一の処理部(A系)101および第二の処理部(B系)102へ有効なデータが出力されない状態、すなわちTD>TRとなる場合がある。このような問題が発生した場合、図1の構成では遅延回路の遅延時間を変更するため、部品の定数変更等が必要となる。
【0034】
そこで、下記の実施例2では、このような問題を解決する構成例を説明する。
【0035】
(実施例2)
図3は、本発明の実施例2のデータ入出力装置を示すブロック図である。
【0036】
図3では、バス照合型処理装置を処理部に持つシステムのデータ入出力装置において、2段同期回路を二重化した構成が示されている。図3のデータ入出力装置は、3つの入出力装置(第一の入出力装置204、第二の入出力装置205、第三の入出力装置206と、2つの論理回路207、208と、1つのDI回路217と、A系システムバス218とB系システムバス219を含むシステムバス220と、2つの処理部(第一の処理部(A系)201、第二の処理部(B系)202)を内部に持つバス照合型処理装置203を備えている。
【0037】
バス照合型処理装置203内の第一の処理部(A系)201と第二の処理部(B系)202は、共通のクロック生成回路から供給されるクロックに2つのCPUが完全に同期して同じ動作を行う。このとき、第二の処理部(B系)202のクロックは第一の処理部(A系)201のクロックから半周期遅れて動作している。第一の処理部(A系)201の処理と第二の処理部(B系)202の処理を比較して、処理の内容が不一致ならエラーとして異常と判定でき、一致していたら正常と判定できる。また、第一の処理部(A系)201は制御信号213を出力し、第二の処理部(B系)202は制御信号214を出力する。
【0038】
DI回路217は、非同期データ信号221をアナログ信号からデジタル信号へ変換し、非同期DIデータ信号209を出力する。
【0039】
第一の入出力装置204は、非同期DIデータ信号209を入力して第一の出力データ210を出力する。また、第一の入出力装置204には、第一のクロック信号215が入力される。第一の入出力装置204はフリップフロップを適用できる。
【0040】
第二の入出力装置205は、第一の出力データ210を入力して第二の出力データ211を出力する。また第二の入出力装置205には、第二のクロック信号216が入力される。第二の入出力装置205はフリップフロップを適用できる。
【0041】
第三の入出力装置206は、第一の出力データ210を入力して第三の出力データ212を出力する。また第三の入出力装置106には、第二のクロック信号216が入力される。第三の入出力装置206はフリップフロップを適用できる。
【0042】
論理回路227は、制御信号213を入力して、第一のクロック信号215を出力する。論理回路228は、制御信号214を入力して、第二のクロック信号216を出力する。
【0043】
ここで、第一の処理部(A系)201と第二の入出力装置205は、A系システムバス218で接続されている。また、第二の処理部(B系)202と第三の入出力装置206は、B系システムバス219で接続されている。各入出力装置204、205、206から各処理部201、202へのデータ入力は、アドレス信号、データ信号および制御信号を用いたリードサイクルにより行われる。
【0044】
次にデータや信号の全体的な流れについて説明する。非同期データ信号221は、DI回路217に入力してデジタル信号へ変換されて、非同期DIデータ信号209として出力される。非同期DIデータ信号209は第一の入出力装置204のD端子へ入力し、第一の入出力装置204のQ端子からは第一の出力データ210が出力される。出力された第一の出力データ210は、第二の入出力装置205のD端子および第三の入出力装置206のD端子へ入力される。この第一の出力データ210を受け取り、第二の入出力装置205は第二の出力データ211を、第三の入出力装置206は第三の出力データ212をそれぞれ出力する。
【0045】
そして、A系システムバス218を介し第一の処理部(A系)201には第二の出力データ211が、B系システムバス219を介し第二の処理部(B系)202には第三の出力データ212がそれぞれ入力される。ここで、第一の処理部(A系)201と第二の処理部(B系)202は、完全同期で同じ動作を行い、そのクロックはB系がA系より半周期遅れている。このため、A系システムバス218とB系システムバス219は完全同期かつ、B系システムバス219はA系システムバス218より半周期遅れた動作をしている。
【0046】
そして、非同期データ信号221を取り込むためのリードサイクルが開始されると、第一の処理部(A系)201はA系システムバス218を介し、制御信号213を論理回路207へ出力する。これを基に論理回路207はリードサイクル期間に有効となる第一のクロック信号215を生成する。この第一のクロック信号215は第一の入出力装置204のCK端子に入力され、第一の入出力装置204のデータ取込タイミングを制御する。また、B系でもA系同様の処理が行われ、第二の処理部(B系)202の制御信号214から第二のクロック信号216が生成される。この第二のクロック信号216が第二の入出力装置205のCK端子および第三の入出力装置206のCK端子に入力される。第二のクロック信号216は、第二の入出力装置205と第三の入出力装置206のデータ取込タイミングを制御する信号である。
【0047】
図4は、本発明の実施例2の回路動作タイミングチャートの例である。図3で示したデータ入出力装置の動作について図4を用いて説明する。図4は第一の処理部(A系)201のクロック周期がTAの場合のリードサイクルを表したタイミングチャートの例である。リードサイクルはTRで示される。
【0048】
図4の(a)は第一の処理部(A系)201のクロックが示されている。図4の(b)は第二の処理部(B系)202のクロックが示されている。(a)と(b)は同期信号である。図に示すように、第二の処理部(B系)202のクロックは第一の処理部(A系)201のクロックから半周期遅れて動作している。すなわち、(b)は(a)に対して180°位相が遅れている。これにより、データの比較が分かりやすくなり、より正確な比較が可能となる。
【0049】
図4の(c)は第一のクロック信号215が示されている。図4の(d)は第二のクロック信号216が示されている。第二のクロック信号216は、第一のクロック信号215に対して、時間TDだけ立ち上がりが遅延している。これは、第二の処理部(B系)202のクロックは第一の処理部(A系)201のクロックから半周期遅れて動作しているためである。すなわち、第二の処理部(B系)202からの制御信号214に基づく第二のクロック信号216は、第一の処理部(A系)201からの制御信号213に基づく第一のクロック信号215よりも半周期遅れたものとなる。ここでの半周期分の遅延時間TDは、メタステーブル状態を回避するための時間を確保できる。
【0050】
図4の(e)は非同期データ信号221が示されている。図4の(f)は第一の出力データ210が示されている。図4の(g)は第二の出力データ211が示されている。図4の(h)は第三の出力データ212が示されている。ここで図4の(e)、(f)、(g)および(h)における斜線部は無効データを表している。
【0051】
次に図4について処理の流れに沿って説明する。図4の時刻t1で第一の処理部(A系)201のリードサイクルが開始するとする。このとき、図4(a)の第一の処理部(A系)201の立ち上がりに同期して、図4(c)に示されるように、第一のクロック信号215が時刻t1で立ち上がる。そして、リードサイクルが終了すると第一の処理部(A系)201の図4(a)に同期して時刻t3で立ち下がる。図4(d)に示されるように、第二のクロック信号216は、第二の処理部(B系)202のリードサイクルが開始すると、図4(b)の立ち上がりに同期して時刻t2で立ち上がる。
【0052】
このような場合、第一の入出力装置204は、図4(f)に示されるように、時刻t1で非同期DIデータ信号209を取り込み、第二の入出力装置205のD端子および第三の入出力装置206のD端子へ第一の出力データ210を出力する。第二の入出力装置205および第三の入出力装置206は、図4(g)に示すように時刻t2で第一の出力データ210を取り込み、それぞれ第一の処理部(A系)201および第二の処理部(B系)202へデータを出力する。このとき、図4(b)の第二の処理部(B系)202は、図4(a)の第一の処理部(A系)201より位相が180°遅れている。このため、図4(g)の第二の出力データ211および(h)の第三の出力データ212は、図4(f)の第一の出力データ210よりも、遅延時間TDの期間、すなわちTA/2の期間だけ、遅延してそれぞれの処理部201、202へデータを出力する。このようにして、リードサイクル期間TRにおいて、第一の処理部(A系)201および第二の処理部(B系)202へ有効データが出力される。ここでのデータは、図4(g)および(h)に示される、第二の出力データ211と第三の出力データ212である。このため、正確に非同期データ信号を取り込むことが可能となる。
【0053】
図5は、本発明の実施例2の図4を高速化した場合の回路動作タイミングチャートの例である。
【0054】
図5は第一の処理部(A系)201のクロックを図4に対して高速化したものであり、図5のクロック周期TAは、図4のクロック周期TAに対して半分になっている。このため、図5のリードサイクル期間TRは、図4のリードサイクル期間TRの半分である。
【0055】
この場合、図5の(g)の第二の出力データ211および(h)の第三の出力データ212は、図5(f)の第一の出力データ210よりも、遅延時間TDの期間、つまりTA/2の期間だけ、遅延してそれぞれの処理部201、202へデータを出力する。ここでの遅延時間TDは、図4の遅延時間TDの半分(図4のクロック周期TAを用いるとTA/4)である。
【0056】
このように、実施例2で示されるデータ入出力装置は、第一のクロック信号215と第二のクロック信号216の遅延時間を、遅延時間が固定される遅延回路から生成するのではなく、処理部201、202に同期した制御信号213、214から生成している。このことで、遅延時間が処理部201、202のクロックに合わせて変動し、処理部が高速化した場合でも正確に非同期データ信号を取り込むことができる。このため、図5においてどれだけ(a)の第一の処理部(A系)201のクロックが高速化した場合でも、理論上はTR>TDの関係が成り立つ。従って、図4、5の(g)および(f)に示すように、リードサイクル期間TRにおいて、第一の処理部(A系)201および第二の処理部(B系)202へ有効データが出力され、正確に非同期データ信号を取り込むことが可能である。
【0057】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【0058】
例えば、図1図3で示した、処理部や入出力装置等の各構成について、プロセッサ(CPU等)やメモリ、論理回路等の単体のデバイスを組み合わせて構成することができる。しかしこれに限らず、図1図3で示した、処理部や入出力装置等の各構成は、それらの一部又は全部を、例えばFPGA(Field Programmable Gate Array)等のゲートアレイで実現してもよい。
【0059】
また、図3のデータ入出力装置で示した、A系システムバス218やB系システムバス219を含むシステムバス220の構成や、DI回路217の構成は、図1のデータ入出力装置に同様に適用してもよい。
【符号の説明】
【0060】
101…第一の処理部(A系)、102…第二の処理部(B系)、103…バス照合型処理装置、104…第一の入出力装置、105…第二の入出力装置、106…第三の入出力装置、107…論理回路、108…遅延回路、109…非同期データ信号、110…第一の出力データ、111…第二の出力データ、112…第三の出力データ、113、114…制御信号、115…第一のクロック信号、116…第二のクロック信号、201…第一の処理部(A系)、202…第二の処理部(B系)、203…バス照合型処理装置、204…第一の入出力装置、205…第二の入出力装置、206…第三の入出力装置、207、208…論理回路、209…非同期DIデータ信号、210…第一の出力データ、211…第二の出力データ、212…第三の出力データ、213、214…制御信号、215…第一のクロック信号、216…第二のクロック信号、217…DI回路、218…A系システムバス、219…B系システムバス、220…システムバス、221…非同期データ信号、227、228…論理回路
図1
図2
図3
図4
図5