JP2012079075A - Cpuインターフェース回路 - Google Patents
Cpuインターフェース回路 Download PDFInfo
- Publication number
- JP2012079075A JP2012079075A JP2010223412A JP2010223412A JP2012079075A JP 2012079075 A JP2012079075 A JP 2012079075A JP 2010223412 A JP2010223412 A JP 2010223412A JP 2010223412 A JP2010223412 A JP 2010223412A JP 2012079075 A JP2012079075 A JP 2012079075A
- Authority
- JP
- Japan
- Prior art keywords
- signal
- unit
- cpu
- counter
- value
- 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.)
- Withdrawn
Links
Landscapes
- Microcomputers (AREA)
Abstract
【課題】記憶部へ正規のデータを書き込み、またデータ書き込みの誤動作を軽減することができるCPUインターフェース回路を提供する。
【解決手段】CPUインターフェース回路であって、CPUから出力されるチップセレクト信号、ライトイネーブル信号のいずれか一方または両方にノイズが有るか否か判定する判定部と、判定部によってノイズが無いと判定された場合、CPUから出力されたデータを書き込み、ノイズが有ると判定された場合、データを書き込まない記憶部とを有する。
【選択図】図1
【解決手段】CPUインターフェース回路であって、CPUから出力されるチップセレクト信号、ライトイネーブル信号のいずれか一方または両方にノイズが有るか否か判定する判定部と、判定部によってノイズが無いと判定された場合、CPUから出力されたデータを書き込み、ノイズが有ると判定された場合、データを書き込まない記憶部とを有する。
【選択図】図1
Description
本発明は、CPUからの信号に基づき記憶部へのアクセス制御をする技術に関する。
CPU(Central Processing Unit)からメモリ、外部デバイスへのアクセスを制御するCPUインターフェース回路が知られている。このCPUインターフェース回路は、ASICやFPGAで実装されており、また、CPUからの設定値などを格納するためのレジスタを内部に有する。
関連のある技術として、以下の文献が開示されている。
CPUからメモリや外部デバイス、内部レジスタ等の記憶部へのライト動作が行われる際、制御信号にノイズが生じ、誤動作する場合がある。
本発明は、上述した課題を解決するためになされたものであり、CPUからのアクセス時(ライト動作時)、制御信号にノイズ等が生じた場合でも誤動作せず、正常なライト動作を可能にする技術を提供することを目的とする。
本発明の一態様に係るCPUインターフェース回路は、CPUから出力されるチップセレクト信号、ライトイネーブル信号のいずれか一方または両方にノイズが有るか否か判定する判定部と、判定部によってノイズが無いと判定された場合、CPUから出力されたデータを書き込み、ノイズが有ると判定された場合、データを書き込まない記憶部とを有する。
記憶部へ正規のデータを書き込み、正常なライト動作を行うことができる。
図1は、本実施の形態に係るCPUインターフェース回路の構成を示す図である。CPUインターフェース回路100は、外部のCPU101及び外部の水晶発振器110と接続され、ASIC(Application Specific Integrated Circuit)又はFPGA(Field Programmable Gate Array)で実装された回路である。
同期回路部102は、CPU101から出力される信号を、水晶発振器110の発振周波数に基づいたクロックで同期化(ラッチ)する回路である。判定回路部103は、少なくとも2つのカウンタ(第一カウンタ301、第二カウンタ302)を有し、設定部104で設定された設定カウント数、および各カウンタのカウント数に基づき、正常なアクセスかどうかを判定する回路である。判定回路部103は、正常なアクセスと判断した場合、レジスタ部108へ有効信号を出力することでレジスタ部108へデータが書き込まれる。一方、異常なアクセスと判断した場合、判定回路部103はレジスタ部108へ無効信号を出力するとともに、CPU101に対してINT信号(割り込み信号)を出力する。
設定部104は、設定カウント数を保持するレジスタを少なくとも含む回路であり、予め設定されている設定カウント数以外に、CPU101から設定カウント数を取得し、この値を設定することもできる。SW109は外部スイッチであり、CPU101から設定部104へ正常なアクセスが不可能な場合でも、設定カウント数の設定を可能とする。
デコード部105は、CPUインターフェース回路100の内部レジスタのいずれの記憶領域へのアクセスかを判別し、該当するアドレスを選択する。データはデコード部105によって選択されたアドレスに書き込まれる。ライト制御信号生成部106は、ラッチされた信号を同期回路部102から取得し、判定回路部103に出力する。また、ライト制御信号生成部106は、レジスタ部108へデータを書き込むためのライトイネーブル信号を生成する回路であり、判定回路部103に対して生成したライトイネーブル信号を出力する。
リード制御信号生成部107は、CPU101がレジスタ部108のデータを読み出すためのリードイネーブル信号を生成する。データラッチ部111は、レジスタ部108に書き込むデータを一時的に保持する回路である。
ここで、図1に示されている各信号の表記について説明する。CLKはクロック信号であり、CSはチップセレクト信号である。WEはライトイネーブル信号であり、ADはアドレスである。INTは割り込み信号であり、DAはデータであり、OEはアウトプットイネーブル信号である。
次に、CPUインターフェース回路100の動作を説明する。
図2は、本実施の形態のタイミングチャートの一例を示す図であり、図2(A)のタイミングチャートは正常アクセス時のタイミングチャートを示しており、図2(B)は異常アクセス時のタイミングチャートを示している。設定部104で設定される項目は、設定カウント数:nである。図2の例ではn=12としているが、設定カウント数は、CS信号とWE信号が同時に"L"になる期間内であれば、いずれの値であってもよい。また、設定カウント数:nは初期値を持つが、設定カウント数の値はCPU101やSW109によって変更されてもよい。
CPU101からの各信号は、同期回路部102によってラッチされ、内部クロックに同期される(メタステーブル対策)。図2のf1_AD、f1_DA等、「f1_」で表記された各信号は、同期回路部102によって1回ラッチされた信号であり、f2_AD、f2_DA等、「f2_」で表記された各信号は、「f1_」で表記された信号がさらに同期回路部102によって1回ラッチされた信号である。同期回路部102は、「f2_」表記の信号を出力する。
ライト制御信号生成部106は、CPU101からのライト要求の場合、デコード部105で選択されたアドレスに対応する記憶領域へのライトイネーブル信号を生成する。その後、判定回路部103によってノイズの無い正常なアクセスかどうかの判定が行われる。
判定回路部103には2つのカウンタ(第一カウンタ301、第二カウンタ302)があり、この2つのカウンタの値、および設定カウント数の値を用いて、正常なアクセスかどうかの判定を行う。第一カウンタ301は、f2_CS信号の立ち下がり及びf2_WE信号の立ち下がりを検出したらカウントを開始し、1クロック経過するごとにカウントアップされる。第一カウンタ301の値:mが設定カウント数の値:nまで到達した場合に第一カウンタ301はクリアされる。
第二カウンタ302は、f2_CS信号の立ち下がり及びf2_WE信号の立ち下がりを検出したらカウントを開始し、f2_CSとf2_WEが同時に"L"の時にカウントアップし、第一カウンタ301の値:mが設定カウント数の値:nに到達した場合にクリアされる。このとき(すなわちm=nのとき)、第一カウンタ301の値:mと第二カウンタ302の値:lが一致した場合、判定回路部103は、正常アクセスと判断し、有効信号(ライト制御信号生成部106が生成したライトイネーブル信号でもよい)をレジスタ部108に送信する。不一致の場合、判定回路部103は、異常アクセスと判断し、無効信号をレジスタ部108に送信するとともに、CPU101に対してINT信号を出力する。
図2(A)で示すように、正常アクセス時には、第一カウンタ301の値:mが設定カウント数の値:nに到達したとき(すなわち、m=n=12)、第二カウンタ302の値:lも12となる。第一カウンタ301と第2カウンタのカウント値が一致しているため(m=l)、判定回路部103は正常アクセスと判断する。正常アクセスの場合、判定回路部103は有効信号をレジスタ部108に出力する。レジスタ部108は、判定回路部103によって出力された有効信号を用いてデータラッチ部111で保持されているデータに更新する。
一方、図2(B)のタイミングチャートに示す例は、WE信号にノイズが発生している例(異常アクセス)であり、f2_WE信号に立ち下がりが検出されてから設定カウント数の値:n=12までに、WE信号が1回"H"となる場合の例である。この場合、第一カウンタ301の値:mが設定カウント数の値:nに到達したとき、第二カウンタ302の値:lは11となる。第二カウンタ302は、上述の通りf2_WE信号とf2_CS信号とが同時に”L”のときにカウントアップされるカウンタである一方、第一カウンタ301は、1クロック経過するごとにカウントアップされるカウンタであるため、ノイズ等で1回でもいずれかの信号に”H”が入る場合、mとlとが一致しなくなる。図2(B)の例では、第二カウンタ302の値:lと第一カウンタ301の値:m=12とは不一致であるため、判定回路部103は異常アクセスと判断する。
異常アクセスの場合、判定回路部103はINT信号をCPU101に出力する。INT信号を受信したCPU101は、CPUインターフェース回路100に対してリトライを行ったり、またはエラーとしてアラームを外部に出力したりする。また、判定回路部103で異常アクセスと判断された場合、無効信号がレジスタ部108に出力され、レジスタ部108はデータを更新しない。
判定回路部103は、このように、第一カウンタ301の値:mが設定カウント数の値:nに到達したとき、第一カウンタ301の値:mと第二カウンタ302の値:lとを比較し、その比較結果によって各信号のノイズの有無を判定する。
図2の例では、WE信号にノイズが発生したものとして説明したが、CS信号にノイズが発生した場合でも適用でき、またWE信号、CS信号の両方にノイズが発生した場合でも適用できる。
次に、図3のフローチャートを参照しつつ、判定回路部103の動作について説明する。尚、以下の説明でのCS信号、WE信号は、それぞれ同期回路部102によってラッチされた信号であるものとする。
判定回路部103は、設定カウント数の値:nを設定部104から取得し(S1、S11)、CS信号の立ち下がりエッジを検出し、且つWE信号の立ち下りエッジを検出したかを判定する(S2、S12)。CS信号、WE信号が共に立ち下った場合(S2、YesおよびS12、Yes)、第一カウンタ301、第二カウンタ302のカウントが共に開始される(S3、S13)。
第一カウンタ301の値:mが設定カウント数の値:nに到達するまで、mは1クロック経過ごとに1つインクリメントされる(S4、S5)。一方、第二カウンタ302に関しては、判定回路部103は、CS信号が”L”、WE信号が”L”の2つの条件が共に成立するかを1クロックごとに判定する(S14)。成立する場合(S14、Yes)、第二カウンタ302の値:lが1つインクリメントされる(S15)。一方成立しない場合(S14、No)、第二カウンタ302の値:lはインクリメントされない(S16)。
第一カウンタ301の値:mが設定カウント数の値:nに到達した場合(S5、YesおよびS17、Yes)、判定回路部103は、第一カウンタ301の値:mと第二カウンタ302の値:lとを比較する(S20)。比較の結果、m=lが成立する場合(S20、Yes)、判定回路部103は正常アクセスとみなし、レジスタ部108に対し有効信号を出力することで、データラッチ部111に一時的に保持されているデータがレジスタ部108に書き込まれる(S21)。一方、m=lが成立しない場合(S20、No)、判定回路部103は異常アクセスとみなし、レジスタ部108に対し無効信号を出力するとともに、CPU101にINT信号を出力する(S22)。尚、レジスタ部108は、データラッチ部111に保持されているデータを書き込まない。
判定回路部103は、第一カウンタ301の値:mと第二カウンタ302の値:lを共にクリアし(S6、S18)、処理は終了となる。この各カウンタのクリア後、繰り返し処理が行われる場合、S2、S12に戻る。
本実施の形態のように、CPUから出力されるWE信号、CS信号にノイズが発生したか否かを判定し、発生していない場合はデータを書き込み、発生した場合はデータを書き込まないことで、データ書き込みの誤動作を軽減することができる。
本実施の形態で説明したCPUインターフェース回路は、CPUから出力されるWE信号、CS信号のいずれか一方または両方にノイズが有るか否か判定する判定部(上述の例では判定回路部103)と、判定部によってノイズが無いと判定された場合、CPUから出力されるデータを書き込み、ノイズが有ると判定された場合、データを書き込まない記憶部(上述の例ではレジスタ部108およびデータラッチ部111)とを有する。
また、判定部は、カウンタを有し、予め設定された設定カウント数、および、カウンタのカウント値に基づきノイズが有るか否か判定する。
また、判定部は、予め設定された設定カウント数をn、CS信号とWE信号の電位レベルが同時に遷移したときにカウントが開始されるクロックカウント数をm、CS信号とWE信号の電位レベルが同時に遷移したときからカウントが開始され、CS信号とWE信号の電位レベルが一致してLowまたはHighであるときのカウント数をlとしたときに、値l、m、nに基づきノイズが有るか否か判定する。
判定部は、上述のmがnに到達したときにmとlが一致している場合はノイズが無いと判定し、mとlが一致していない場合はノイズが有ると判定する。
また、判定部は、さらに、ノイズが有ると判定した場合にCPUに対し割り込み信号を出力する。
100 CPUインターフェース回路、101 CPU、102 同期回路部、103 判定回路部、104 設定部、105 デコード部、106 ライト制御信号生成部、107 リード制御信号生成部、108 レジスタ部、109SW、110 水晶発振器、111 データラッチ部、301 第一カウンタ、302 第二カウンタ。
Claims (1)
- CPUから出力されるチップセレクト信号、ライトイネーブル信号のいずれか一方または両方にノイズが有るか否か判定する判定部と、
前記判定部によってノイズが無いと判定された場合、前記CPUから出力されたデータを書き込み、ノイズが有ると判定された場合、前記データを書き込まない記憶部と、
を有するCPUインターフェース回路。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2010223412A JP2012079075A (ja) | 2010-10-01 | 2010-10-01 | Cpuインターフェース回路 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2010223412A JP2012079075A (ja) | 2010-10-01 | 2010-10-01 | Cpuインターフェース回路 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2012079075A true JP2012079075A (ja) | 2012-04-19 |
Family
ID=46239249
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2010223412A Withdrawn JP2012079075A (ja) | 2010-10-01 | 2010-10-01 | Cpuインターフェース回路 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2012079075A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP6240802B1 (ja) * | 2017-05-09 | 2017-11-29 | 株式会社岩崎電機製作所 | 電線検査装置 |
-
2010
- 2010-10-01 JP JP2010223412A patent/JP2012079075A/ja not_active Withdrawn
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP6240802B1 (ja) * | 2017-05-09 | 2017-11-29 | 株式会社岩崎電機製作所 | 電線検査装置 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP5044849B2 (ja) | 遅延線同期装置および方法 | |
| EP2808801B1 (en) | Multiple data rate memory with read timing information | |
| US7889581B2 (en) | Digital DLL circuit | |
| KR101004665B1 (ko) | 반도체 메모리 장치 및 출력 인에이블 신호 생성 방법 | |
| US8412883B2 (en) | Memory controller and associated control method | |
| CN102110461B (zh) | 存储器控制器及其控制方法 | |
| CN101261875A (zh) | 存储器控制器 | |
| JP2012079075A (ja) | Cpuインターフェース回路 | |
| JP4291225B2 (ja) | パラレルデータを受信する装置および方法 | |
| JP5450983B2 (ja) | 半導体装置 | |
| JP6743109B2 (ja) | ダイナミックランダムアクセスメモリの遅延ロックループを制御するための制御回路および制御方法 | |
| US7813217B2 (en) | Semiconductor memory device and method for operating the same | |
| US10326433B2 (en) | Clock filter and clock processing method | |
| US7535985B2 (en) | Resynchronization circuit | |
| KR20100029298A (ko) | 메모리 장치용 부정 커맨드 방지 회로 및 방법 | |
| JP4053893B2 (ja) | クロック参照回路 | |
| US7962698B1 (en) | Deterministic collision detection | |
| JP2005174090A (ja) | データ転送回路 | |
| KR100933807B1 (ko) | 데이터 출력 인에이블 신호 생성 회로 | |
| US6879541B2 (en) | Integrated circuit with improved output control signal and method for generating improved output control signal | |
| JP4061841B2 (ja) | 半導体記憶装置 | |
| JP2005100290A (ja) | 非同期読み出し回路及び非同期読み出し方法 | |
| JP2008015964A (ja) | アービタ部及びそれを有するアービタ回路 | |
| JP2001325790A (ja) | エラスティックストア回路 | |
| JP2007194976A (ja) | エラスティックストア回路 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20131203 |