特開2016-167142(P2016-167142A)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ ラピスセミコンダクタ株式会社の特許一覧

特開2016-167142半導体装置、データ通信システムおよびデータ書き込み制御方法
<>
  • 特開2016167142-半導体装置、データ通信システムおよびデータ書き込み制御方法 図000003
  • 特開2016167142-半導体装置、データ通信システムおよびデータ書き込み制御方法 図000004
  • 特開2016167142-半導体装置、データ通信システムおよびデータ書き込み制御方法 図000005
  • 特開2016167142-半導体装置、データ通信システムおよびデータ書き込み制御方法 図000006
  • 特開2016167142-半導体装置、データ通信システムおよびデータ書き込み制御方法 図000007
  • 特開2016167142-半導体装置、データ通信システムおよびデータ書き込み制御方法 図000008
  • 特開2016167142-半導体装置、データ通信システムおよびデータ書き込み制御方法 図000009
  • 特開2016167142-半導体装置、データ通信システムおよびデータ書き込み制御方法 図000010
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】特開2016-167142(P2016-167142A)
(43)【公開日】2016年9月15日
(54)【発明の名称】半導体装置、データ通信システムおよびデータ書き込み制御方法
(51)【国際特許分類】
   G06F 12/00 20060101AFI20160819BHJP
【FI】
   G06F12/00 564C
【審査請求】未請求
【請求項の数】11
【出願形態】OL
【全頁数】20
(21)【出願番号】特願2015-46219(P2015-46219)
(22)【出願日】2015年3月9日
(71)【出願人】
【識別番号】308033711
【氏名又は名称】ラピスセミコンダクタ株式会社
(74)【代理人】
【識別番号】100079049
【弁理士】
【氏名又は名称】中島 淳
(74)【代理人】
【識別番号】100084995
【弁理士】
【氏名又は名称】加藤 和詳
(74)【代理人】
【識別番号】100099025
【弁理士】
【氏名又は名称】福田 浩志
(72)【発明者】
【氏名】犬塚 浩太郎
【テーマコード(参考)】
5B060
【Fターム(参考)】
5B060CC03
5B060CC04
(57)【要約】
【課題】記憶部におけるデータの更新を禁止した場合に、禁止解除を適切なタイミングで行うことを可能とする。
【解決手段】半導体装置は、データの書き込みと読み出しとが非同期で行われる記憶部と、記憶部からデータの読み出しを行う場合に制御信号の信号レベルを第1のレベルに遷移させ、解除信号の信号レベルが所定のレベルに遷移した場合に制御信号の信号レベルを第2のレベルに遷移させる制御信号出力部と、制御信号の信号レベルが第1のレベルに遷移した後に、出力信号の信号レベルを順次所定のレベルに遷移させる縦続接続された複数のレジスタを含み、複数のレジスタのうちのいずれかの出力信号を解除信号として出力する解除信号出力部と、制御信号の信号レベルが第1のレベルの場合に記憶部に記憶されたデータの更新を禁止し、制御信号の信号レベルが第2のレベルの場合に記憶部に記憶されたデータの更新を許可するデータ更新制御部と、を含む。
【選択図】図2
【特許請求の範囲】
【請求項1】
データの書き込みと読み出しとが非同期で行われる記憶部と、
出力端子およびリセット入力端子を有し、前記記憶部からデータの読み出しを行う場合に前記出力端子から出力される制御信号の信号レベルを第1のレベルに遷移させ、前記リセット入力端子に入力される解除信号の信号レベルが所定のレベルに遷移した場合に前記制御信号の信号レベルを第2のレベルに遷移させる制御信号出力部と、
前記制御信号の信号レベルが前記第1のレベルに遷移した後に、出力信号の信号レベルを順次前記所定のレベルに遷移させる縦続接続された複数のレジスタを含み、前記複数のレジスタのうちのいずれかの出力信号を前記解除信号として出力して前記リセット入力端子に供給する解除信号出力部と、
前記制御信号の信号レベルが前記第1のレベルの場合に前記記憶部に記憶されたデータの更新を禁止し、前記制御信号の信号レベルが前記第2のレベルの場合に前記記憶部に記憶されたデータの更新を許可するデータ更新制御部と、
を含む半導体装置。
【請求項2】
前記記憶部に対するデータの書き込みは第1のクロック信号に同期して行われ、前記記憶部からのデータの読み出しは、前記第1のクロック信号とは非同期の第2のクロック信号に基づいて行われ、
前記複数のレジスタのうち前記解除信号を出力するレジスタは、前記第1のクロック信号に同期して出力信号の信号レベルを前記所定のレベルに遷移させる
請求項1に記載の半導体装置。
【請求項3】
前記制御信号出力部は、前記第2のクロック信号に同期して前記制御信号の信号レベルを前記第1のレベルに遷移させ、
前記複数のレジスタは、前記制御信号出力部の出力端子に入力端が接続され、前記第2のクロック信号に同期して動作する第1のレジスタと、前記第1のレジスタに縦続接続され、前記第1のクロック信号に同期して動作する第2のレジスタと、を含む
請求項2に記載の半導体装置。
【請求項4】
前記複数のレジスタは、前記第2のレジスタに縦続接続され、前記第1のクロック信号に同期して動作する少なくとも1つのレジスタを更に含む
請求項3に記載の半導体装置。
【請求項5】
前記第1のクロック信号の周期は、前記第2のクロック信号の周期よりも短く、
前記解除信号出力部は、前記制御信号の信号レベルが前記第1のレベルに遷移した後、前記第2のクロック信号の1周期に相当する期間が経過する前に前記解除信号の信号レベルを前記所定のレベルに遷移させる
請求項3または請求項4に記載の半導体装置。
【請求項6】
前記解除信号出力部は、選択信号に基づいて、前記複数のレジスタのうちのいずれかの出力信号を選択し、選択した出力信号を前記解除信号として出力し、前記リセット入力端子に供給する選択部を更に含む
請求項1から請求項5のいずれか1項に記載の半導体装置。
【請求項7】
第1のクロック信号に同期してデータの書き込みが行われ、前記第1のクロック信号とは非同期の第2のクロック信号に同期してデータの読み出しが行われる記憶部と、
前記記憶部からデータの読み出しを行う場合に出力端子から出力される制御信号の信号レベルを第1のレベルに遷移させ、リセット入力端子に入力される解除信号の信号レベルが所定のレベルに遷移した場合に前記制御信号の信号レベルを第2のレベルに遷移させる制御信号出力部と、
前記制御信号の信号レベルが前記第1のレベルに遷移した後の前記第1のクロック信号に同期したタイミングで信号レベルを前記所定のレベルに遷移させた前記解除信号を出力して前記リセット入力端子に供給する解除信号出力部と、
前記制御信号の信号レベルが前記第1のレベルの場合に前記記憶部に記憶されたデータの更新を禁止し、前記制御信号の信号レベルが前記第2のレベルの場合に前記記憶部に記憶されたデータの更新を許可するデータ更新制御部と、
を含む半導体装置。
【請求項8】
前記制御信号出力部は、前記第2のクロック信号に同期して前記制御信号の信号レベルを前記第1のレベルに遷移させ、
前記第1のクロック信号の周期は、前記第2のクロック信号の周期よりも短く、
前記解除信号出力部は、前記制御信号の信号レベルが前記第1のレベルに遷移した後、前記第2のクロック信号の1周期に相当する期間が経過する前に前記解除信号の信号レベルを前記所定のレベルに遷移させる
請求項7に記載の半導体装置。
【請求項9】
請求項1から請求項8のいずれか1項に記載の半導体装置と、
前記記憶部から読み出されたデータを受信する他の半導体装置と、
を含むデータ通信システム。
【請求項10】
前記記憶部に記憶されるデータを生成するセンサを更に含む
請求項9に記載のデータ通信システム。
【請求項11】
第1のクロック信号に同期してデータの書き込みが行われ、前記第1のクロック信号とは非同期の第2のクロック信号に同期してデータの読み出しが行われる記憶部からデータの読出しを行う場合に、信号レベルが第1のレベルに遷移する制御信号を生成し、
前記制御信号の信号レベルが前記第1のレベルの場合に前記記憶部に記憶されたデータの更新を禁止し、
前記制御信号の信号レベルが前記第1のレベルに遷移した後の前記第1のクロック信号に同期したタイミングで信号レベルが所定のレベルに遷移する解除信号を生成し、
前記解除信号の信号レベルが前記所定のレベルに遷移した場合に前記制御信号の信号レベルを第2のレベルに遷移させ、
前記制御信号が前記第2のレベルの場合に前記記憶部に記憶されたデータの更新を許可する
データ書き込み制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は半導体装置、データ通信システムおよびデータ書き込み制御方法に関する。
【背景技術】
【0002】
半導体装置間におけるデータ通信に関する技術として、例えば、特許文献1には、マイクロコンピュータから供給されるチップセレクト信号がアクティブとなっている間にシリアルデータの入力を行い、その後、チップセレクト信号が非アクティブに変化すると入力されたデータをメモリセルに書き込むように構成されたシリアルEEPROMが記載されている。このシリアルEEPROMのデータ入力制御部は、チップセレクト信号の立ち上がりエッジを検出すると、シリアルデータの入力を許可し、データの入力サイクルが終了する以前に立下がりエッジを検出すると、そのエッジ検出に基づいてシリアルデータの入力を禁止する。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2003−331587号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
半導体装置間でシリアル通信を行うデータ通信システムにおいては、一方の半導体装置(サブコンピュータ)に設けられたレジスタに記憶されたデータの他方の半導体装置(メインコンピュータ)への読み出しと、該レジスタに対するデータの書き込みとが非同期で行われるものがある。このようなデータ通信システムにおいては、該レジスタに対するデータの読み出しタイミングと書き込みタイミングとが重なるおそれがある。また、該レジスタが、複数のビットからなる多ビットデータの記憶を行うものである場合、該レジスタは、複数のフリップフロップ等の記憶回路によって構成され得る。複数の記憶回路の各々には、共通のクロック信号が与えられ、このクロック信号に同期して一斉にデータの書き込みが行われる。しかしながら、各記憶回路におけるクロック信号の入力タイミングは配線長差等に起因して僅かなずれが生じる。これにより、各記憶回路においてデータの書き込みタイミング(更新タイミング)にずれが生じる。従って、該レジスタにおいてデータの読み出しタイミングと書き込みタイミングとが重なった場合には、読み出されたデータにおいてビット間の不整合が生じるおそれがある。すなわち、読み出されたデータにおいて、データ更新後のビットとデータ更新前のビットとが混在するおそれがある。
【0005】
このような読出しデータにおけるビット間の不整合を防止するためには、該レジスタに対するデータの読み出しが行われる場合に、該レジスタに対するデータの更新を禁止することが考えられる。このようにレジスタからデータの読出しを行う際に該レジスタにおいてデータの更新を禁止した場合には、当該半導体装置における処理の停滞を防止するために、該レジスタに対するデータの読出し完了後に速やかに該レジスタにおけるデータの更新禁止を解除することが望ましい。
【0006】
そこで、該レジスタに対するデータの読み出し完了をマスター側の半導体装置(メインコンピュータ)から供給されるチップセレクト信号および通信クロック信号に基づいて判定し、読み出しの完了を判定した場合にスレーブ側の半導体装置(サブコンピュータ)に設けられた該レジスタにおけるデータの更新禁止を解除する方式が考えられる。
【0007】
ここでチップセレクト信号は、マスター側の半導体装置(メインコンピュータ)からスレーブ側の半導体装置(サブコンピュータ)に対して与えられる通信の開始と終了を通知する信号である。マスター側の半導体装置(メインコンピュータ)は、例えば、チップセレクト信号をハイレベルに遷移させることで、スレーブ側(サブコンピュータ)に通信の開始を通知し、チップセレクト信号をローレベルに遷移させることで、スレーブ側の半導体装置(サブコンピュータ)に通信の終了を通知する。例えば、チップセレクト信号によって通信の終了が通知された場合に、スレーブ側の半導体装置(サブコンピュータ)は、該レジスタに対するデータの読み出しが完了したものと判定して該レジスタにおけるデータの更新禁止を解除する。
【0008】
一方、通信クロック信号は、マスター側の半導体装置(メインコンピュータ)からスレーブ側の半導体装置(サブコンピュータ)に対して与えられるクロック信号であり、これらの半導体装置間での通信は、通信クロックに同期して行われる。例えば、スレーブ側の半導体装置(サブコンピュータ)は、該レジスタにおいてデータの更新が禁止された後に供給される通信クロック信号に基づいて該レジスタに対するデータの読み出しが完了したものと判定して該レジスタにおけるデータの更新禁止を解除する。
【0009】
しかしながら、レジスタに対するデータの読み出し完了をチップセレクト信号および通信クロック信号に基づいて判定して該レジスタにおけるデータの更新禁止の解除を行う方式では、更新禁止の解除を適切に行うことができない場合がある。すなわち、マスター側の半導体装置(メインコンピュータ)は、該レジスタにおいてデータの更新が禁止された直後に通信クロック信号の供給を停止してしまう場合がある。また、マスター側の半導体装置(メインコンピュータ)は、レジスタに対するデータの読み出しが完了した後もチップセレクト信号をアクティブ状態(ハイレベル)に維持し続ける場合がある。このような場合には、スレーブ側の半導体装置(サブコンピュータ)は、レジスタに対するデータの読み出し完了を判定することができず、データの更新禁止の解除を速やかに行うことができない。
【0010】
本発明は上記した点に鑑みてなされたものであり、レジスタ等の記憶部におけるデータの更新を禁止した場合に、禁止解除を適切なタイミングで行うことができる半導体装置、データ通信システムおよびデータ書き込み制御方法を提供することを目的とする。
【課題を解決するための手段】
【0011】
本発明に係る半導体装置は、データの書き込みと読み出しとが非同期で行われる記憶部と、出力端子およびリセット入力端子を有し、前記記憶部からデータの読み出しを行う場合に前記出力端子から出力される制御信号の信号レベルを第1のレベルに遷移させ、前記リセット入力端子に入力される解除信号の信号レベルが所定のレベルに遷移した場合に前記制御信号の信号レベルを第2のレベルに遷移させる制御信号出力部と、前記制御信号の信号レベルが前記第1のレベルに遷移した後に、出力信号の信号レベルを順次前記所定のレベルに遷移させる縦続接続された複数のレジスタを含み、前記複数のレジスタのうちのいずれかの出力信号を前記解除信号として出力して前記リセット入力端子に供給する解除信号出力部と、前記制御信号の信号レベルが前記第1のレベルの場合に前記記憶部に記憶されたデータの更新を禁止し、前記制御信号の信号レベルが前記第2のレベルの場合に前記記憶部に記憶されたデータの更新を許可するデータ更新制御部と、を含む。
【0012】
また、本発明に係る他の観点による半導体装置は、第1のクロック信号に同期してデータの書き込みが行われ、前記第1のクロック信号とは非同期の第2のクロック信号に同期してデータの読み出しが行われる記憶部と、前記記憶部からデータの読み出しを行う場合に出力端子から出力される制御信号の信号レベルを第1のレベルに遷移させ、リセット入力端子に入力される解除信号の信号レベルが所定のレベルに遷移した場合に前記制御信号の信号レベルを第2のレベルに遷移させる制御信号出力部と、前記制御信号の信号レベルが前記第1のレベルに遷移した後の前記第1のクロック信号に同期したタイミングで信号レベルを前記所定のレベルに遷移させた前記解除信号を出力して前記リセット入力端子に供給する解除信号出力部と、前記制御信号の信号レベルが前記第1のレベルの場合に前記記憶部に記憶されたデータの更新を禁止し、前記制御信号の信号レベルが前記第2のレベルの場合に前記記憶部に記憶されたデータの更新を許可するデータ更新制御部と、を含む
【0013】
本発明に係るデータ通信システムは、上記の半導体装置と、前記記憶部から読み出されたデータを受信する他の半導体装置と、を含む。
【0014】
本発明に係るデータ書込み制御方法は、第1のクロック信号に同期してデータの書き込みが行われ、前記第1のクロック信号とは非同期の第2のクロック信号に同期してデータの読み出しが行われる記憶部からデータの読出しを行う場合に、信号レベルが第1のレベルに遷移する制御信号を生成し、前記制御信号の信号レベルが前記第1のレベルの場合に前記記憶部に記憶されたデータの更新を禁止し、前記制御信号の信号レベルが前記第1のレベルに遷移した後の前記第1のクロック信号に同期したタイミングで信号レベルが所定のレベルに遷移する解除信号を生成し、前記解除信号の信号レベルが前記所定のレベルに遷移した場合に前記制御信号の信号レベルを第2のレベルに遷移させ、前記制御信号が前記第2のレベルの場合に前記記憶部に記憶されたデータの更新を許可することを含む。
【発明の効果】
【0015】
本発明によれば、レジスタ等の記憶部におけるデータの更新を禁止した場合に、禁止解除を適切なタイミングで行うことができる半導体装置、データ通信システムおよびデータ書き込み制御方法が提供される。
【図面の簡単な説明】
【0016】
図1】本発明の実施形態に係るデータ通信システムの構成を示すブロック図である。
図2】本発明の実施形態に係るサブコンピュータの構成を示すブロック図である。
図3】データの書込みタイミングと読出しタイミングが重なった状態を示す図である。
図4】本発明の実施形態に係るサブコンピュータの動作の一例を示すタイミングチャートである。
図5】本発明の実施形態に係るサブコンピュータの動作の一例を示すタイミングチャートである。
図6】本発明の他の実施形態に係る遅延回路の構成を示す図である。
図7】比較例に係るサブコンピュータの構成を示すブロック図である。
図8】比較例に係るサブコンピュータの動作の一例を示すタイミングチャートである。
【発明を実施するための形態】
【0017】
以下、本発明の実施形態の一例を図面を参照しつつ説明する。なお、各図面において、同一または対応する構成要素および部分には、同一の参照符号を付与している。
【0018】
[第1の実施形態]
図1は、本発明の実施形態に係るデータ通信システム100の構成の一例を示すブロック図である。本実施形態に係るデータ通信システム100は、メインコンピュータ10、サブコンピュータ20およびセンサ12a、12bを含む。メインコンピュータ10、サブコンピュータ20およびセンサ12a、12bは、それぞれ、独立した半導体装置として構成されており、単一の配線基板上に搭載されている。なお、サブコンピュータ20は本発明における半導体装置の一例であり、メインコンピュータ10は本発明における他の半導体装置の一例である。データ通信システム100は、本発明におけるデータ通信システムの一例である。
【0019】
センサ12aおよび12bは、例えば、温度センサ、湿度センサ、加速度センサ、地磁気センサ、赤外線センサ、圧力センサ、近接センサ、照度センサ等である。センサ12aと12bは互いに異種のセンサであってもよい。なお、本実施形態に係るデータ通信システム100においては、2つのセンサを備えた構成としているが、1つまたは3つ以上のセンサを含む構成としてもよい。
【0020】
本実施形態に係るデータ通信システム100において、メインコンピュータ10は、例えば、アプリケーションプロセッサであり、サブコンピュータ20は、センサ12a、12bを制御するマイクロコントローラである。サブコンピュータ20がセンサ制御を担うことで、メインコンピュータ10がセンサ制御を行う構成と比較してメインコンピュータ10の負荷を軽減することができる。すなわち、サブコンピュータ20がセンサ12a、12bにアクセスしている間、メインコンピュータ10は、スタンバイ状態となり得る。これにより、システム全体の消費電力を抑制することが可能となる。
【0021】
メインコンピュータ10とサブコンピュータ20はSPI(Serial Peripheral Interface)バス301およびI2C(I-squared-C)バス302によって接続されている。メインコンピュータ10とサブコンピュータ20は、SPIバス301およびI2Cバス302の一方または双方を介してデータのシリアル通信を行う。
【0022】
SPIバス301は、メインコンピュータ10の端子101〜104と、サブコンピュータ20の対応する端子201〜204との間に伝送路を形成する。サブコンピュータ20の端子201には、メインコンピュータ10から出力されるチップセレクト信号SCSが供給される。チップセレクト信号SCSは、メインコンピュータ10とサブコンピュータ20との間で行われるSPIバス301を介して行われるデータ通信の開始および終了を通知する。メインコンピュータ10は、サブコンピュータ20との間でデータ通信を開始する際にチップセレクト信号SCSをハイレベルに遷移させ、通信を終了する際にチップセレクト信号SCSをローレベルに遷移させる。また、チップセレクト信号SCSは、例えば、サブコンピュータが複数存在するシステムにおいて、メインコンピュータ10とデータ通信を行うサブコンピュータをメインコンピュータ10が選択するために使用することもできる。
【0023】
サブコンピュータ20の端子202には、メインコンピュータ10から出力される通信クロック信号SCLKが供給される。SPIバス301を介して行われるメインコンピュータ10とサブコンピュータ20との間のデータ通信は、通信クロック信号SCLKに同期して行われる。
【0024】
サブコンピュータ20の端子203には、メインコンピュータ10から出力される入力信号SDIが供給される。入力信号SDIには、サブコンピュータ20が実行すべき処理を示すコマンドが含まれ、サブコンピュータ20が備えるレジスタからデータの読み出しを行う場合には、データの読出し開始位置を示すアドレス情報などが含まれる。
【0025】
サブコンピュータ20の端子204から出力される出力信号SDOは、SPIバス301を介してメインコンピュータ10に供給される。本実施形態に係るデータ通信システム100においては、サブコンピュータ20がセンサ12aおよび12bから取得したセンシングデータDおよびDが、出力信号SDOとしてメインコンピュータ10に供給され得る。
【0026】
I2Cバス302は、メインコンピュータ10の端子105および106とサブコンピュータ20の対応する端子205および206との間に伝送路を形成する。サブコンピュータ20の端子205には、メインコンピュータ10から出力される通信クロック信号SCLが供給される。I2Cバス302を介して行われるメインコンピュータ10とサブコンピュータ20との間のデータ通信は、通信クロック信号SCLに同期して行われる。サブコンピュータ20の端子206は、メインコンピュータ10との間で入出力されるデータ信号SDAを入出力するための端子である。すなわち、データ信号SDAは、双方向の信号である。
【0027】
センサ12a、12bからそれぞれ出力されるセンシングデータD、Dは、それぞれ、端子207、208を介してサブコンピュータ20に供給される。
【0028】
図2は、サブコンピュータ20の構成を示すブロック図である。なお、図2において、I2Cバス302に接続される構成部分については図示が省略されている。
【0029】
サブコンピュータ20は、インターフェース部21および機能部22を含んでいる。機能部22は、データ更新制御部30aおよび30b、入力段レジスタ31aおよび31b、クロック生成部32およびCPU(Central Processing Unit)40を含む。
【0030】
入力段レジスタ31aはセンサ12aから出力されるセンシングデータDを記憶する記憶部であり、入力段レジスタ31bはセンサ12bから出力されるセンシングデータDを記憶する記憶部である。入力段レジスタ31aおよび31bは、それぞれ、複数のビットからなるセンシングデータDおよびDの各ビットの値を保持する複数のフリップフロップを含んで構成されている。なお、本実施形態では、入力段レジスタ31aおよび31bをそれぞれ、センサ12aおよび12bに対応させているが、入力段レジスタ31aおよび31bは、センサ12aおよび12bとの間で対応関係を有していなくてもよい。また、本実施形態では、サブコンピュータ20が2つの入力段レジスタ31aおよび31bを備える場合を例示しているが、入力段レジスタの数は、1つまたは3つ以上であってもよい。入力段レジスタ31aおよび31bは、本発明における記憶部の一例である。
【0031】
入力段レジスタ31aおよび31bは、それぞれ、センサ12aおよび12bからデータ更新制御部30aおよび30bを介して供給されるセンシングデータDおよびDをクロック生成部32によって生成される内部クロック信号Cに同期して取り込んで保持する。内部クロック信号Cは、メインコンピュータ10から供給される通信クロック信号SCLKとは非同期である。すなわち、入力段レジスタ31aおよび31bに対する、内部クロック信号Cに基づくデータの書き込みと、通信クロック信号SCLKに基づくデータの読出しは非同期で行われる。なお、本実施形態において、内部クロック信号Cxの周期は、通信クロック信号SCLKの周期よりも短いものとされている。
【0032】
データ更新制御部30aは、CPU40から供給される書き込みアドレス信号WAによって示される書き込みアドレスが自身に対応する入力段レジスタ31aのアドレスである場合に、センサ12aから受信したセンシングデータDを入力段レジスタ31aに供給する。データ更新制御部30aは、後述する更新禁止信号Sおよび読出しアドレス信号RAに基づいて、入力段レジスタ31aに記憶されたデータの更新禁止および更新許可を判定する。データ更新制御部30aは、入力段レジスタ31aに記憶されたデータの更新を禁止する場合、更新禁止直前のセンシングデータDを継続して入力段レジスタ31aに供給する。すなわち、入力段レジスタ31aは、データの更新が禁止されている期間においては、更新禁止直前から保持しているセンシングデータDを継続して保持する。一方、データ更新制御部30aは、入力段レジスタ31aに記憶されたデータの更新を許可する場合、センサ12aから受信したセンシングデータDを逐次更新しながら出力する。すなわち、データ更新が許可されている期間において、入力段レジスタ31aに記憶されたセンシングデータDは逐次更新される。
【0033】
データ更新制御部30aは、更新禁止信号Sがデータの更新禁止を示す信号レベル(本実施形態ではローレベル)を呈し且つ読出しアドレス信号RAによって示される読出しアドレスが自身に対応する入力段レジスタ31aのアドレスである場合、入力段レジスタ31aに記憶されたデータの更新を禁止し、それ以外の場合は入力段レジスタ31aに記憶されたデータの更新を許可する。
【0034】
同様に、データ更新制御部30bは、CPU40から供給される書き込みアドレス信号WAによって示される書き込みアドレスが自身に対応する入力段レジスタ31bのアドレスである場合に、センサ12bから受信したセンシングデータDを入力段レジスタ31bに供給する。データ更新制御部30bは、更新禁止信号Sおよび読出しアドレス信号RAに基づいて、入力段レジスタ31bに記憶されたデータの更新禁止および更新許可を判定する。データ更新制御部30bは、入力段レジスタ31bに記憶されたデータの更新を禁止する場合、更新禁止直前のセンシングデータDを継続して入力段レジスタ31bに供給する。すなわち、入力段レジスタ31bは、データの更新が禁止されている期間においては、更新禁止直前から保持しているセンシングデータDを継続して保持する。一方、データ更新制御部30bは、入力段レジスタ31bにおける記憶データの更新を許可する場合、センサ12bから受信したセンシングデータDを逐次更新しながら出力する。すなわち、データ更新が許可されている期間において、入力段レジスタ31bに記憶されたセンシングデータDは逐次更新される。
【0035】
データ更新制御部30bは、更新禁止信号Sがデータの更新禁止を示す信号レベル(本実施形態ではローレベル)を呈し且つ読出しアドレス信号RAによって示される読出しアドレスが自身に対応する入力段レジスタ31bのアドレスである場合、入力段レジスタ31bに記憶されたデータの更新を禁止し、それ以外の場合は入力段レジスタ31bに記憶されたデータの更新を許可する。なお、データ更新制御部30aおよび30bは、本発明におけるデータ更新制御部の一例である。
【0036】
一方、サブコンピュータ20のインターフェース部21は、シリアル/パラレル変換部23、アドレス生成部24、判定部25、更新禁止レジスタ26、セレクタ27、出力段レジスタ28およびパラレル/シリアル変換部29を含む。
【0037】
セレクタ27は、アドレス生成部24によって生成された読出しアドレス信号RAに基づいて、入力段レジスタ31aおよび31bのいずれか一方を選択し、選択した入力段レジスタ31aまたは31bに記憶されたセンシングデータDまたはDを出力段レジスタ28に供給する。セレクタ27は、アドレス信号RAによって示される読出しアドレスが入力段レジスタ31aのアドレスである場合には入力段レジスタ31aを選択し、アドレス信号RAによって示される読出しアドレスが入力段レジスタ31bのアドレスである場合には入力段レジスタ31bを選択する。
【0038】
出力段レジスタ28は、セレクタ27から供給されるセンシングデータDまたはDを、通信クロック信号SCLKに同期して記憶する記憶部である。出力段レジスタ28は、入力段レジスタ31aおよび31bを構成する複数のフリップフロップの各々に対応する複数のフリップフロップを含んでいる。入力段レジスタ31aおよび31bと出力段レジスタ28との間のデータ通信はパラレル通信となっており、センシングデータDおよびDの各ビットの値は、通信クロック信号SCLKに同期して入力段レジスタ31aまたは31bから出力段レジスタ28に一括して転送される。
【0039】
パラレル/シリアル変換部29は、出力段レジスタ28からパラレルデータとして与えられるセンシングデータDまたはDをシリアルデータに変換する。パラレル/シリアル変換部29は、シリアルデータに変換したセンシングデータDまたはDを出力信号SDOとして端子204から出力してメインコンピュータ10に供給する。
【0040】
シリアル/パラレル変換部23は、端子203に入力されるメインコンピュータ10からのシリアルデータである入力信号SDIをパラレルデータに変換してアドレス生成部24に供給する。入力段レジスタ31aおよび31bからデータの読み出しを行う場合には、入力信号SDIにはデータの読出し開始位置を示すアドレス情報などが含まれる。
【0041】
アドレス生成部24は、シリアルデータに変換された入力信号SDIに含まれるアドレス情報に基づいて読み出しアドレス信号RAを生成することによって読み出しアドレスを指定する。アドレス生成部24は、通信クロック信号SCLKに同期した所定のタイミングで読み出しアドレスを順次インクリメントする機能を有する。読み出しアドレス信号RAは、データ更新制御部30a、30b、セレクタ27および判定部25にそれぞれ供給される。
【0042】
判定部25は、読み出しアドレス信号RAによって示される読み出しアドレスと、書き込みアドレス信号WAによって示される書き込みアドレスとが一致するか否かを判定する。判定部25は、読み出しアドレスと書き込みアドレスとが一致すると判定した場合には、ローレベルの判定信号Sを出力し、一致しないと判定した場合にはハイレベルの判定信号Sを出力する。また、判定部25はローレベルの判定信号Sを出力した後に通信クロック信号SCLKの立ち上がりエッジを検出した場合には判定信号Sを、初期状態であるハイレベルにリセットする。
【0043】
更新禁止レジスタ26は、フリップフロップを含んで構成され、通信クロック信号SCLKの立ち上がりエッジが生じるタイミングで判定信号Sの値を取り込んで保持し、保持している値を更新禁止信号Sとして出力する。更新禁止レジスタ26は、判定信号Sの入力を受け付ける入力端子Dと、通信クロック信号SCLKの入力を受け付けるクロック入力端子Cと、保持している値を更新禁止信号Sとして出力する出力端子Qと、更新禁止信号を初期状態であるハイレベルにリセットするためのリセット信号Sの入力を受け付けるリセット入力端子Rとを有する。更新禁止レジスタ26の出力端子Qは、データ更新制御部30aおよび30bにそれぞれ接続されるとともに、後述する遅延回路70を構成するレジスタ71の入力端子Dに接続されている。
【0044】
更新禁止信号Sは、入力段レジスタ31aおよび31bに記憶されたデータの更新禁止および更新許可を制御する制御信号である。上記したように、本実施形態においては、更新禁止信号Sがローレベルを呈する場合、入力段レジスタ31aおよび31bのいずれかにおいてデータの更新が禁止される。本実施形態に係るサブコンピュータ20の構成によれば、読み出しアドレス信号RAによって示される読み出しアドレスと、書き込みアドレス信号WAによって示される書き込みアドレスとが一致する場合、つまり、同一の入力段レジスタにおいてデータの書き込みと読み出しとが略同時に行われようとしている場合に当該入力段レジスタにおいてデータの更新が禁止される。
【0045】
更新禁止レジスタ26は、更新禁止信号Sがローレベルを呈している場合において、リセット入力端子Rに入力されるリセット信号Sがローレベルに遷移すると、更新禁止信号Sを初期状態であるハイレベルにリセットする。更新禁止信号Sがリセットされることにより入力段レジスタ31aまたは31bにおけるデータの更新禁止が解除される。なお、更新禁止レジスタ26は、本発明における制御信号出力部の一例であり、更新禁止信号Sは、本発明における制御信号の一例である。
【0046】
サブコンピュータ20においては、入力段レジスタ31aおよび31bに対するデータの書き込みとデータの読み出しとが非同期で行われるので、同一の入力段レジスタに対してデータの書き込みタイミングと読み出しタイミングとが重なるおそれがある。同一の入力段レジスタに対してデータの書き込みと読み出しとを略同時に行った場合には、読み出しデータにおいてビット間の不整合が生じるおそれがある。
【0047】
図3は、上記した読出しデータにおけるビット間の不整合を説明するための図である。図3には、入力段レジスタ31aまたは31bの第1〜第3ビットにそれぞれ対応する各フリップフロップにおけるデータの書き込みと読み出しとが略同時に生じた場合が例示されている。各フリップフロップに対する内部クロック信号Cの入力タイミングは、配線長差等に起因して互いにずれる場合があり、これによって、各フリップフロップにおいてデータの書き込みタイミングが互いにずれる場合がある。また、図3に示すように、第1ビットおよび第2ビットのデータの書き込み完了後であって第3ビットのデータの書き込み前にデータの読み出しが行われる場合がある。この場合、第1ビットおよび第2ビットにおいて更新後のデータが読み出され、第3ビットにおいては更新前のデータが読み出されることとなる。このように、同一の入力段レジスタに対してデータの書き込みと読み出しとを略同時に行った場合には、読み出しデータにおいてビット間の不整合が生じるおそれがある。
【0048】
本実施形態に係るサブコンピュータ20によれば、同一の入力段レジスタにおいてデータの書き込みと読み出しとが同時に行われようとしている場合に、当該入力段レジスタにおいてデータの更新が禁止される。従って、上記した読み出しデータにおけるビット間の不整合が生じることを防止できる。
【0049】
再び図2を参照する。サブコンピュータ20は、更新禁止レジスタ26の出力端子Qとリセット入力端子Rとの間に設けられた遅延回路70を有する。遅延回路70は、更新禁止信号Sがローレベルに遷移してから所定期間の経過後にローレベルに遷移するリセット信号Sを出力する回路である。本実施形態において、遅延回路70は、縦続接続された3つのレジスタ71、72および73を含んで構成されている。なお、遅延回路70は、本発明における解除信号出力部の一例である。
【0050】
レジスタ71は、更新禁止レジスタ26の出力端子Qに接続され、更新禁止信号Sの入力を受け付ける入力端子Dと、後段のレジスタ72の入力端子Dに接続された出力端子Qと、通信クロック信号SCLKの入力を受け付けるクロック入力端子Cと、リセット信号Sの入力を受け付けるリセット入力端子Rと、を有する。レジスタ71は、通信クロック信号SCLKの立ち下がりエッジが生じるタイミングで更新禁止レジスタ26から出力される更新禁止信号Sの値を取り込んで保持し、保持している値を出力信号SD1として出力する。
【0051】
レジスタ72は、前段のレジスタ71の出力信号SD1の入力を受け付ける入力端子Dと、後段のレジスタ73の入力端子Dに接続された出力端子Qと、内部クロック信号Cの入力を受け付けるクロック入力端子Cと、を有する。レジスタ72は、内部クロック信号Cの立ち上がりエッジが生じるタイミングでレジスタ71の出力信号SD1の値を取り込んで保持し、保持している値を出力信号SD2として出力する。
【0052】
レジスタ73は、前段のレジスタ72の出力信号SD2の入力を受け付ける入力端子Dと、更新禁止レジスタ26のリセット入力端子Rおよびレジスタ71のリセット入力端子Rに接続された出力端子Qと、内部クロック信号Cの入力を受け付けるクロック入力端子Cと、を有する。レジスタ73は、内部クロック信号Cの立ち上がりエッジが生じるタイミングでレジスタ72の出力信号SD2の値を取り込んで保持し、保持している値をリセット信号Sとして出力する。
【0053】
このように、更新禁止レジスタ26の出力端子Qとリセット入力端子Rとの間に遅延回路70を設けることで、更新禁止信号Sがローレベルに遷移してから所定期間の経過後に信号レベルをローレベルに遷移させたリセット信号Sが生成される。これにより、更新禁止信号Sがローレベルに遷移してから所定期間の経過後に更新禁止信号Sを初期状態であるハイレベルにリセットすることが可能となる。すなわち、入力段レジスタ31aまたは31bにおいて、データの更新が禁止された場合に、所定時間が経過すれば、チップセレクト信号SCSや通信クロック信号SCLKの状態にかかわらず当該入力段レジスタにおいてデータの更新禁止を解除することが可能となる。これにより、入力段レジスタ31aまたは31bが長時間に亘り解放されず、処理が停滞してしまうことを防止することができる。
【0054】
以下において、サブコンピュータ20の動作について説明する。図4は、サブコンピュータ20の動作の一例を示すタイミングチャートである。サブコンピュータ20は、メインコンピュータ10から端子201を介して供給されるチップセレクト信号SCSがハイレベルとなると、メインコンピュータ10との間で通信を開始する。
【0055】
チップセレクト信号SCSがハイレベルとなった後、通信クロック信号SCLKおよび入力信号SDIがメインコンピュータ10からサブコンピュータ20に供給される。メインコンピュータ10とサブコンピュータ20との間の通信は、通信クロック信号SCLKに同期して行われる。
【0056】
入力信号SDIは、端子203から入力され、シリアル/パラレル変換部23に供給される。シリアル/パラレル変換部23は、シリアルデータとして供給される入力信号SDIをパラレルデータに変換して出力する。入力信号SDIには、サブコンピュータ20が実行すべき処理を示すコマンドが含まれ、入力段レジスタ31aおよび31bからデータの読み出しを行う場合には、データの読出し開始位置を示すアドレス情報などが含まれる。ここでは、入力段レジスタ31aおよび31bに記憶されたセンシングデータDおよびDの読み出しを指示するコマンドとともに読み出し開始アドレスとして入力段レジスタ31aのアドレス情報が入力信号SDIに含まれているものとする。
【0057】
アドレス生成部24は、入力信号SDIに含まれるアドレス情報に基づいて読み出しアドレス信号RAを生成する。ここでは、入力段レジスタ31aのアドレスを示す読み出しアドレス信号RAが生成されるものとする。アドレス生成部24は、生成した読み出しアドレス信号RAを判定部25、セレクタ27およびデータ更新制御部30a、30bに供給する。
【0058】
判定部25は、読み出しアドレス信号RAによって読み出しアドレスが指定されると、当該指定された読み出しアドレスと、CPU40から供給される書き込みアドレス信号WAによって示される書き込みアドレスとが一致するか否かを判定する。すなわち、判定部25は、入力段レジスタ31aまたは31bのいずれかにおいて、データの書き込みと読み出しが同時に行われようとしているか否かを判定する。判定部25は、読み出しアドレスと書き込みアドレスとが一致していると判定した場合、ローレベルの判定信号Sを出力する。一方、判定部25は、読み出しアドレスと書き込みアドレスとが一致していないと判定した場合または書き込みアドレスが指定されていない場合、ハイレベルの判定信号Sを出力する。ここでは、読み出しアドレスと書き込みアドレスの双方において、入力段レジスタ31aのアドレスが指定されており、判定部25は、ローレベルの判定信号Sを出力するものとする。
【0059】
更新禁止レジスタ26は、判定信号Sがローレベルとなると、通信クロック信号SCLKに同期してローレベルの更新禁止信号Sを出力端子Qから出力する。更新禁止レジスタ26は、更新禁止信号Sをデータ更新制御部30aおよび30bに供給する。
【0060】
データ更新制御部30aは、更新禁止信号Sがローレベルを呈し且つ読み出しアドレス信号RAによって示される読み出しアドレスが自身に対応する入力段レジスタ31aのアドレスであるので、入力段レジスタ31aに記憶されたデータの更新を禁止する。入力段レジスタ31aは、データの更新が禁止されている間、更新禁止直前から保持しているセンシングデータDを継続して保持する。一方、データ更新制御部30bは、読み出しアドレス信号RAによって示される読み出しアドレスが自身に対応する入力段レジスタ31bのアドレスではないので、入力段レジスタ31bにおけるデータの更新を許可する。
【0061】
セレクタ27は、読み出しアドレス信号RAによって示される読み出しアドレスが入力段レジスタ31aのアドレスであるので、入力段レジスタ31aを選択する。セレクタ27は、入力段レジスタ31aにおいてデータの更新が禁止されている期間内において、入力段レジスタ31aに記憶されたセンシングデータDを出力段レジスタ28に供給する。このように、入力段レジスタ31aからデータの読み出しを行う際に、入力段レジスタ31aにおいてデータの更新を禁止することで、読み出しデータにおけるビット間の不整合が防止される。
【0062】
判定部25は、ローレベルの判定信号Sを出力した後に通信クロック信号SCLKの立ち上がりエッジを検出すると、判定信号Sを初期状態であるハイレベルにリセットする。すなわち、更新禁止信号Sは、入力段レジスタ31aから出力段レジスタ28へのデータ転送の完了後にハイレベルに遷移する。これにより入力段レジスタ31aにおいてデータの更新禁止が解除される。
【0063】
出力段レジスタ28に記憶されたセンシングデータDは、パラレル/シリアル変換部29に供給される。パラレル/シリアル変換部29は、パラレルデータとして供給されるセンシングデータDをシリアルデータに変換する。パラレル/シリアル変換部29は、シリアルデータに変換したセンシングデータDを出力信号SDOをとして通信クロック信号SCLKに同期して端子204から順次出力し、メインコンピュータ10に供給する。
【0064】
アドレス生成部24は、シリアルデータに変換されたセンシングデータDのメインコンピュータ10への転送が完了すると、通信クロック信号SCLKに同期して読み出しアドレスの値を1つインクリメントして新たな読出しアドレス信号RAを生成する。これにより、入力段レジスタ31bのアドレスが読み出しアドレスとして指定されるものとする。
【0065】
判定部25は、読み出しアドレスが新たに指定されると、新たに指定された読み出しアドレスと、書き込みアドレスとが一致するか否かを判定する。判定部25は、読み出しアドレスと書き込みアドレスとが一致していると判定した場合、ローレベルの判定信号Sを出力する。ここでは、読み出しアドレスと書き込みアドレスの双方において、入力段レジスタ31bのアドレスが指定されており、判定部25は、ローレベルの判定信号Sを出力するものとする。
【0066】
更新禁止レジスタ26は、判定信号Sがローレベルとなると、通信クロック信号SCLKに同期してローレベルの更新禁止信号Sを出力端子Qから出力する。更新禁止レジスタ26は、更新禁止信号Sをデータ更新制御部30aおよび30bに供給する。
【0067】
データ更新制御部30bは、更新禁止信号Sがローレベルを呈し且つ読み出しアドレス信号RAによって示される読み出しアドレスが自身に対応する入力段レジスタ31bのアドレスであるので、入力段レジスタ31bに記憶されたデータの更新を禁止する。入力段レジスタ31bは、データの更新が禁止されている間、更新禁止直前から保持しているセンシングデータDを継続して保持する。一方、データ更新制御部30aは、読み出しアドレス信号RAによって示される読み出しアドレスが自身に対応する入力段レジスタ31aのアドレスではないので、入力段レジスタ31aにおけるデータの更新を許可する。
【0068】
セレクタ27は、読み出しアドレスRAによって示される読み出しアドレスが入力段レジスタ31bのアドレスであるので、入力段レジスタ31bを選択する。セレクタ27は、入力段レジスタ31bにおいてデータの更新が禁止されている期間内において、入力段レジスタ31bに記憶されたセンシングデータDを出力段レジスタ28に供給する。このように、入力段レジスタ31bからデータの読み出しを行う際に、入力段レジスタ31bにおいてデータの更新を禁止することで、読み出しデータにおけるビット間の不整合が防止される。
【0069】
判定部25は、ローレベルの判定信号Sを出力した後に通信クロック信号SCLKの立ち上がりエッジを検出すると、判定信号Sを初期状態であるハイレベルにリセットする。すなわち、更新禁止信号Sは、入力段レジスタ31bから出力段レジスタ28へのデータ転送の完了後にハイレベルに遷移する。これにより入力段レジスタ31bにおいてデータの更新禁止が解除される。
【0070】
図5は、入力段レジスタ31aに記憶されたセンシングデータDのメインコンピュータ10への送信が完了した段階で通信クロック信号SCLKの供給が停止され且つチップセレクト信号SCSがハイレベルの状態に維持された場合における、サブコンピュータ20の動作を示すタイミングチャートである。図5に示すような通信クロック信号SCLKおよびチップセレクト信号SCSの状態は、例えば、メインコンピュータ10が入力段レジスタ31aに記憶されたセンシングデータDの読み出しのみを要求し、入力段レジスタ31bに記憶されたセンシングデータDについては読み出しを要求しない場合に起こり得る。
【0071】
本実施形態に係るサブコンピュータ20によれば、メインコンピュータ10がセンシングデータDの読み出しを要求しない場合でも、アドレス生成部24が有するアドレス値の自動インクリメント機能により、センシングデータDのメインコンピュータ10への送信が完了した段階で、入力段レジスタ31bのアドレスが読み出しアドレスとして指定される。新たに読み出しアドレス指定されると、判定部25における判定処理の結果に応じて、更新禁止信号Sがローレベルに遷移して入力段レジスタ31bにおいてデータの更新が禁止される。本実施形態において、更新禁止信号Sは、通信クロック信号SCLKの立ち上がりエッジが生じるタイミングでローレベルに遷移する。
【0072】
遅延回路70を構成するレジスタ71は、更新禁止信号Sがローレベルに遷移した直後における通信クロックの立ち下りエッジが生じるタイミングでローレベルに遷移する出力信号SD1を出力し、出力信号SD1を後段のレジスタ72に供給する。レジスタ72は、レジスタ71の出力信号SD1がローレベルに遷移した直後における内部クロック信号Cの立ち上がりエッジが生じるタイミングでローレベルに遷移する出力信号SD2を出力し、出力信号SD2を後段のレジスタ73に供給する。レジスタ73は、レジスタ72の出力信号SD2がローレベルに遷移した直後における内部クロック信号Cの立ち上がりエッジが生じるタイミングでローレベルに遷移する出力信号をリセット信号Sとして出力し、リセット信号Sを更新禁止レジスタ26のリセット入力端子Rおよびレジスタ71のリセット入力端子Rに供給する。
【0073】
更新禁止レジスタ26は、リセット入力端子Rにローレベルのリセット信号Sが入力されると、更新禁止信号Sを初期状態であるハイレベルにリセットする。これにより入力段レジスタ31bにおいてデータの更新禁止が解除される。
【0074】
このように、本実施形態に係るサブコンピュータ20によれば、更新禁止信号Sはローレベルに遷移してから遅延回路70によって定まる遅延時間が経過することによってハイレベルに遷移する。すなわち、サブコンピュータ20は、入力段レジスタ31aおよび31bにおけるデータの更新禁止の解除を自律的に行うことが可能である。
【0075】
ここで、図7は、比較例に係るサブコンピュータ20Xの構成を示すブロック図である。図6において、本発明の実施形態に係るサブコンピュータ20の構成要素と同一または対応する構成要素については、同一の参照符号を付与し、重複する説明は省略する。比較例に係るサブコンピュータ20Xは、本発明の実施形態に係るサブコンピュータ20が有する遅延回路70を有しておらず、更新禁止レジスタ26のリセット入力端子Rには、チップセレクト信号SCSが入力される構成を有する。
【0076】
図8は、入力段レジスタ31aに記憶されたセンシングデータDのメインコンピュータ10への供給が完了した段階で通信クロック信号SCLKの供給が停止され、且つチップセレクト信号SCSがハイレベルの状態に維持された場合における、サブコンピュータ20Xの動作を示すタイミングチャートである。
【0077】
比較例に係るサブコンピュータ20Xによれば、本実施形態に係るサブコンピュータ20と同様、メインコンピュータ10がセンシングデータDの読み出しを要求しない場合でも、アドレス生成部24が有するアドレス値の自動インクリメント機能により、センシングデータDのメインコンピュータ10への送信が完了した段階で、入力段レジスタ31bのアドレスが読み出しアドレスとして指定される。新たに読み出しアドレスが指定されると、判定部25における判定処理の結果に応じて、更新禁止信号Sがローレベルに遷移して入力段レジスタ31bにおいてデータの更新が禁止される。
【0078】
比較例に係るサブコンピュータ20Xによれば、図7に示すように、センシングデータDのメインコンピュータ10への供給が完了した段階で通信クロック信号SCLKの供給が停止され、且つチップセレクト信号SCSがハイレベルの状態に維持された場合には、更新禁止レジスタ26がリセットされないので、更新禁止信号Sがローレベルを維持したままとなる。その結果、入力段レジスタ31bにおいてデータの更新が禁止された状態が継続する。これにより、サブコンピュータ20Xにおいて処理が停滞してしまうおそれがある。このように、入力段レジスタ31aおよび31bにおけるデータの更新禁止の解除を、メインコンピュータ10から供給される信号のみに基づいて行う構成とした場合には、データの更新禁止の解除を適切なタイミングで行うことができない場合がある。
【0079】
一方、本発明の実施形態に係るサブコンピュータ20によれば、更新禁止信号Sは、ローレベルに遷移してから遅延回路70によって定まる遅延時間が経過することによってハイレベルに遷移するので、通信クロック信号SCLKおよびチップセレクト信号SCSの状態にかかわらずデータの更新禁止を解除することが可能となる。
【0080】
また、本実施形態に係るサブコンピュータ20によれば、レジスタ73は、内部クロック信号Cに同期したタイミングでローレベルに遷移するリセット信号Sを出力する。これにより、入力段レジスタ31aおよび31bにおけるデータの更新禁止の解除は、
入力段レジスタ31aおよび31bにおけるデータの書き込みと同様、内部クロック信号Cに同期したタイミングで行われる。
【0081】
仮に、入力段レジスタ31aおよび31bにおけるデータの更新禁止の解除のタイミングが、内部クロック信号Cとは非同期である場合、入力段レジスタ31aおよび31bにおけるデータの更新禁止の解除のタイミングと、入力段レジスタ31aおよび31bにおけるデータの書き込みタイミングとが重なるおそれがある。この場合、入力段レジスタ31aおよび31bにおいて、あるビットに対応するフリップフロップに対して更新されたデータが書き込まれ、他のビットに対応するフリップフロップに対して更新前のデータが書き込まれ、ビット間に不整合が生じるおそれがある。
【0082】
本実施形態に係るサブコンピュータ20によれば、レジスタ73が、内部クロック信号Cに同期したタイミングで信号レベルがローレベルに遷移するリセット信号Sを出力するので、内部クロック信号Cに同期したタイミングで入力段レジスタ31aおよび31bにおけるデータの更新禁止の解除が行われる。これにより、入力段レジスタ31aおよび31bにおけるデータの更新禁止の解除のタイミングと、入力段レジスタ31aおよび31bにおけるデータの書き込みタイミングとが重なることを防止できる。従って、データの更新禁止を解除した直後に、入力段レジスタ31aおよび31bに書き込まれるデータにおいて、上記のビット間の不整合が生じることを防止することが可能となる。
【0083】
また、本実施形態に係る遅延回路70は、通信クロック信号SCLKに同期して動作するレジスタ71と、通信クロック信号SCLKとは非同期の内部クロック信号Cに同期して動作するレジスタ72とが縦続接続されている。このため、前段のレジスタ71の出力信号SD1が変化している期間に、後段のレジスタ72において、出力信号SD1のサンプリングが行われるおそれがある。この場合、後段のレジスタ72の出力信号SD2が不安定な状態(メタステーブル)となるおそれがある。しかしながら、本実施形態に係る遅延回路70は、レジスタ72の後段に、内部クロック信号Cに同期して動作するレジスタ73を更に含み、レジスタ73の出力信号がリセット信号Sとされている。このように通信クロック信号SCLKに同期して動作するレジスタ71の出力信号SD1を内部クロック信号Cに同期して動作する2段のレジスタ72および73で受けることで、リセット信号Sが不安定な状態となることを防止できる。
【0084】
なお、本実施形態においては、従属接続された3つのレジスタ71、72および73を用いて遅延回路70を構成する場合を例示したが、遅延回路70を構成するレジスタの段数を増減することにより、遅延時間(すなわち、更新禁止信号Sがローレベルに遷移してからリセット信号Sがローレベルに遷移するまでの時間)を調整することが可能である。すなわち、所望の遅延時間を得るために、遅延回路70を構成するレジスタの段数を例えば2つ以下としてもよいし、4つ以上としてもよい。しかしながら、更新禁止信号Sが、通信クロック信号SCLKに同期してローレベルに遷移した後、通信クロック信号SCLKの1周期に相当する期間が経過する前に更新禁止レジスタ26のリセットを行うことが好ましい。これにより、更新禁止レジスタ26のリセットのタイミングと、通信クロック信号SCLKの信号レベルが遷移するタイミングとが重なることを防止でき、更新禁止信号Sが不安定な状態となることを防止することが可能となる。
【0085】
また、本実施形態においては、縦続接続された複数のレジスタのうち、最後段のレジスタの出力信号をリセット信号Sとして用いる場合を例示したが、最後段のレジスタ以外の他のレジスタの出力信号をリセット信号Sとして使用してもよい。
【0086】
[第2の実施形態]
図6は、本発明の第2の実施形態に係る半導体装置に適用される遅延回路70Aの構成を示す図である。第2の実施形態に係る遅延回路70Aは、レジスタ73の後段に縦続接続されたレジスタ74およびレジスタ7Xを含むレジスタ群並びにセレクタ80を更に含む点において、第1の実施形態に係る遅延回路70とは異なる。なお、図6においては、図示が省略されているが、遅延回路70Aは、レジスタ74とレジスタ7Xとの間に、縦続接続された複数のレジスタを有する。
【0087】
遅延回路70Aにおいて、レジスタ71は、通信クロック信号SCLKに同期して動作し、レジスタ72、73、74、・・・および7xは、内部クロック信号Cに同期して動作する。セレクタ80は、内部クロック信号Cに同期して動作するレジスタ72、73、74、・・・および7Xの各々から出力される出力信号SD2、SD3、SD4、・・・およびSDXのいずれかを選択信号SELに応じて選択し、選択した信号をリセット信号Sとして出力する。セレクタ80から出力されたリセット信号SRは、レジスタ71のリセット入力端子Rに供給されるとともに、更新禁止レジスタ26(図6において図示せず)のリセット入力端子Rに入力される。選択信号SELは、例えば、サブコンピュータ20の外部から供給可能であってもよく、ユーザが選択信号SELをプログラミングできるように構成されていてもよい。なお、セレクタ80は、本発明における選択部の一例である。
【0088】
第2の実施形態に係る遅延回路70Aによれば、レジスタ72、73、74、・・・および7Xの各々から出力される出力信号SD2、SD3、SD4、・・・およびSDXの選択に応じて、更新禁止レジスタ26のリセットのタイミングを変更することが可能となる。これにより、通信クロック信号SCLKの周波数等に応じて、更新禁止レジスタ26のリセットのタイミングを最適化することが可能となる。
【0089】
なお、上記した各実施形態においては、判定部25において読み出しアドレスと書き込みアドレスとが一致すると判定された場合に更新禁止信号Sをローレベルとする構成としているが、この態様に限定されるものではない。例えば、アドレス生成部24において読み出しアドレスが指定された場合には、当該読み出しアドレスが書き込みアドレスと一致するか否かにかかわらず、更新禁止信号Sをローレベルとしてもよい。すなわち、入力段レジスタ31aまたは31bに対してデータの読み出しが行われる場合には、同一の入力段レジスタに対してデータの書き込みが行われるか否かにかかわらず更新禁止信号Sがローレベルに遷移する。
【0090】
また、上記した実施形態においては、データ更新制御部30aおよび30bは、更新禁止信号Sがデータの更新禁止を示すローレベルを呈し且つ読み出しアドレスが自身に対応する入力段レジスタのアドレスである場合に当該入力段レジスタにおけるデータの更新を禁止する場合を例示したが、この態様に限定されるものではない。例えば、データ更新制御部30aおよび30bは、更新禁止信号Sがデータの更新禁止を示すローレベルを呈する場合には、読み出しアドレスが自身に対応する入力段レジスタのアドレスであるか否かにかかわらず、自身に対応する入力段レジスタにおけるデータの更新を禁止するように構成されていてもよい。この場合、更新禁止信号Sが、データの更新禁止を示すローレベルを呈する場合には、入力段レジスタ31aおよび31bの双方においてデータの更新が禁止される。
【0091】
また、上記した実施形態においては、更新禁止信号Sがローレベルを呈する場合に入力段レジスタ31aおよび31bにおけるデータの更新を禁止し、更新禁止信号Sがハイレベルを呈する場合に入力段レジスタ31aおよび31bにおけるデータの更新を許可する場合を例示したが、この態様に限定されるものではない。すなわち、更新禁止信号Sの信号レベルに対する機能の割り当てを上記とは逆にしてもよい。
【0092】
また、上記した実施形態においては、リセット信号Sがローレベルに遷移した場合に更新禁止レジスタ26をリセットする場合を例示したが、リセット信号Sがハイレベルに遷移した場合に更新禁止レジスタ26をリセットしてもよい。
【0093】
また、上記した実施形態においては、入力段レジスタ31aおよび31bにおけるデータの更新を禁止する場合に、データ更新制御部30aおよび30bが更新禁止直前のセンシングデータDおよびDを継続して入力段レジスタ31aおよび31bに供給する場合を例示したが、この態様に限定されるものではない。入力段レジスタ31aおよび31bにおけるデータの更新を禁止する場合に、センサ12a、12bの出力を停止させるように制御してもよいし、入力段レジスタ31aおよび31bに対する内部クロック信号Cの供給を停止させてもよい。
【符号の説明】
【0094】
10 メインコンピュータ
12a、12b センサ
20 サブコンピュータ
26 更新禁止レジスタ
30a、30b データ更新制御部
31a、31b 入力段レジスタ
70 遅延回路
71、72、73 レジスタ
100 データ通信システム
図1
図2
図3
図4
図5
図6
図7
図8