JPH11175310A - FiFoメモリ制御回路 - Google Patents
FiFoメモリ制御回路Info
- Publication number
- JPH11175310A JPH11175310A JP9338468A JP33846897A JPH11175310A JP H11175310 A JPH11175310 A JP H11175310A JP 9338468 A JP9338468 A JP 9338468A JP 33846897 A JP33846897 A JP 33846897A JP H11175310 A JPH11175310 A JP H11175310A
- Authority
- JP
- Japan
- Prior art keywords
- signal
- data
- control circuit
- circuit
- full
- 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.)
- Pending
Links
Landscapes
- Information Transfer Systems (AREA)
Abstract
(57)【要約】
【課題】 非同期受信データの取りこぼしを防止し、送
信側が接続を切断するタイムアウトを回避する。 【解決手段】 デュアルポートRAM31へ書込信号
(WR)が与えられるごとにカウントアップ動作を行な
い、デュアルポートRAMへ読出信号(RD)が与えら
れるごとにカウントダウン動作を行なうアップダウンカ
ウンタ35と、このアップダウンカウンタのカウント値
と予め設定したデュアルポートRAMが満杯になる前の
カウント値iと比較して、アップダウンカウンタのカウ
ント値が設定カウント値iに達したとき(ニアフル信号
用比較回路38のA≧Bを満たしたとき)、デュアルポ
ートRAMが満杯に近いことを示すニアフル信号(Ne
ar−Full)を出力(アサート)するニアフル信号
出力回路とを設けた。
信側が接続を切断するタイムアウトを回避する。 【解決手段】 デュアルポートRAM31へ書込信号
(WR)が与えられるごとにカウントアップ動作を行な
い、デュアルポートRAMへ読出信号(RD)が与えら
れるごとにカウントダウン動作を行なうアップダウンカ
ウンタ35と、このアップダウンカウンタのカウント値
と予め設定したデュアルポートRAMが満杯になる前の
カウント値iと比較して、アップダウンカウンタのカウ
ント値が設定カウント値iに達したとき(ニアフル信号
用比較回路38のA≧Bを満たしたとき)、デュアルポ
ートRAMが満杯に近いことを示すニアフル信号(Ne
ar−Full)を出力(アサート)するニアフル信号
出力回路とを設けた。
Description
【0001】
【発明の属する技術分野】本発明は、各種の電子機器に
搭載されるFiFoメモリ制御回路に関する。
搭載されるFiFoメモリ制御回路に関する。
【0002】
【従来の技術】従来、この種のFiFoメモリ制御(F
irst−in:First−out(先入れ先出し
型);コンピュータのスタックメモリなど順序をもって
データの書込みと読出しを行うメモリ制御の1つで、最
も早く書込んだデータをその処理の順番がきたときに最
初に処理する制御)を行うFiFoメモリ制御回路10
は、図4に示すように、メモリとしてのkワード構成の
デュアルポートRAM1、デュアルポートRAM1の書
込アドレスを発生する書込アドレス回路2、デュアルポ
ートRAM1の読出アドレスを発生する読出アドレス回
路3、読出アドレス回路3の出力である読出アドレス信
号(RA)及び書込アドレス回路2の出力である書込ア
ドレス信号(WA)からデュアルポートRAM1内の有
効データの状態を示すFull−Empty制御回路4
から構成される。
irst−in:First−out(先入れ先出し
型);コンピュータのスタックメモリなど順序をもって
データの書込みと読出しを行うメモリ制御の1つで、最
も早く書込んだデータをその処理の順番がきたときに最
初に処理する制御)を行うFiFoメモリ制御回路10
は、図4に示すように、メモリとしてのkワード構成の
デュアルポートRAM1、デュアルポートRAM1の書
込アドレスを発生する書込アドレス回路2、デュアルポ
ートRAM1の読出アドレスを発生する読出アドレス回
路3、読出アドレス回路3の出力である読出アドレス信
号(RA)及び書込アドレス回路2の出力である書込ア
ドレス信号(WA)からデュアルポートRAM1内の有
効データの状態を示すFull−Empty制御回路4
から構成される。
【0003】書込アドレス回路2には、初期化のために
外部からリセット信号(RESET)が接続されてお
り、読出アドレス回路3には初期化のために外部からリ
セット信号(RESET)が接続されている。また、読
出アドレス信号(RA)はデュアルポートRAM1の読
出アドレス端子(RA端子)に接続されており、書込ア
ドレス信号(WA)はデュアルポートRAM1の書込ア
ドレス端子(WA端子)に接続されている。また、上記
読出アドレス信号(RA)及び書込アドレス信号(W
A)はFull−Empty制御回路4に接続されてい
る。
外部からリセット信号(RESET)が接続されてお
り、読出アドレス回路3には初期化のために外部からリ
セット信号(RESET)が接続されている。また、読
出アドレス信号(RA)はデュアルポートRAM1の読
出アドレス端子(RA端子)に接続されており、書込ア
ドレス信号(WA)はデュアルポートRAM1の書込ア
ドレス端子(WA端子)に接続されている。また、上記
読出アドレス信号(RA)及び書込アドレス信号(W
A)はFull−Empty制御回路4に接続されてい
る。
【0004】Full−Empty制御回路4からは、
上記書込アドレス回路2への書込アドレス信号(W
A)、読出アドレス回路3の読出アドレス信号(RA)
に基づいてデュアルポートRAM1内の有効データの状
態を示すフル信号(Full)とエンプティ信号(Em
pty)が外部に出力されている。このフル信号(Fu
ll)は、デュアルポートRAM1が満杯のときに出力
され、エンプティ信号(Empty)は、デュアルポー
トRAM1が空のときに出力される。具体的には、上記
フル信号(Full)はデュアルポートRAM1にkワ
ードのデータが書込まれた時にアサートされ、エンプテ
ィ信号(Empty)はデュアルポートRAM1に0ワ
ードのデータが書込まれた時にアサートされる。
上記書込アドレス回路2への書込アドレス信号(W
A)、読出アドレス回路3の読出アドレス信号(RA)
に基づいてデュアルポートRAM1内の有効データの状
態を示すフル信号(Full)とエンプティ信号(Em
pty)が外部に出力されている。このフル信号(Fu
ll)は、デュアルポートRAM1が満杯のときに出力
され、エンプティ信号(Empty)は、デュアルポー
トRAM1が空のときに出力される。具体的には、上記
フル信号(Full)はデュアルポートRAM1にkワ
ードのデータが書込まれた時にアサートされ、エンプテ
ィ信号(Empty)はデュアルポートRAM1に0ワ
ードのデータが書込まれた時にアサートされる。
【0005】外部から入力されるFiFoメモリ書込信
号(WR)は、デュアルポートRAM1の書込端子(W
R端子)と書込アドレス回路2に接続されている。ま
た、外部から入力されるFiFoメモリ読出信号(R
D)は、デュアルポートRAM1の読出端子(RD端
子)と読出アドレス回路3に接続されている。さらに、
外部から入力されるFiFoメモリチップセレクト信号
(CS)はデュアルポートRAM1のチップセレクト端
子(CS端子)に接続されている。
号(WR)は、デュアルポートRAM1の書込端子(W
R端子)と書込アドレス回路2に接続されている。ま
た、外部から入力されるFiFoメモリ読出信号(R
D)は、デュアルポートRAM1の読出端子(RD端
子)と読出アドレス回路3に接続されている。さらに、
外部から入力されるFiFoメモリチップセレクト信号
(CS)はデュアルポートRAM1のチップセレクト端
子(CS端子)に接続されている。
【0006】また、外部へデータを出力するデータバス
20は、デュアルポートRAM1の読出データバス端子
(RDATA)に接続されており、外部からの書込デー
タを入力するデータバス21はデュアルポートRAM1
の書込データバス端子(WDATA端子)に接続されて
いる。
20は、デュアルポートRAM1の読出データバス端子
(RDATA)に接続されており、外部からの書込デー
タを入力するデータバス21はデュアルポートRAM1
の書込データバス端子(WDATA端子)に接続されて
いる。
【0007】次に、上記FiFoメモリ制御回路10を
使用した一般的なマイクロプロセッサ制御回路の構成を
図5に示す。特に送信側のPC(パーソナルコンピュー
タ)から例えばRS232Cに基づいてデータをマイク
ロプロセッサ制御回路で受信し、そのデータを1ワード
ずつFiFoメモリ制御回路10のデュアルポートRA
M1へ書込む場合について説明する。
使用した一般的なマイクロプロセッサ制御回路の構成を
図5に示す。特に送信側のPC(パーソナルコンピュー
タ)から例えばRS232Cに基づいてデータをマイク
ロプロセッサ制御回路で受信し、そのデータを1ワード
ずつFiFoメモリ制御回路10のデュアルポートRA
M1へ書込む場合について説明する。
【0008】上記マイクロプロセッサ制御回路は、CP
U(中央処理装置)コア11と実行プログラムなどを記
憶した制御用ROM(リ−ド・オンリ・メモリ)12と
ワークRAM(ランダム・アクセス・メモリ)13とI
/Oポート(入出力ポート)14を内蔵した1チップC
PU(ワンチップCPU)15を備える。
U(中央処理装置)コア11と実行プログラムなどを記
憶した制御用ROM(リ−ド・オンリ・メモリ)12と
ワークRAM(ランダム・アクセス・メモリ)13とI
/Oポート(入出力ポート)14を内蔵した1チップC
PU(ワンチップCPU)15を備える。
【0009】また、FiFoメモリ制御回路10、送信
側である上記PCのシリアル非同期通信制御回路17の
送信部からのデータを外部データとして受信するシリア
ル非同期通信制御回路の受信部及びFiFo書込制御回
路からなるFiFo書込回路16、このFiFo書込回
路16から出力されるFiFoメモリ制御回路用チップ
セレクト信号(CS1)、ワンチップCPU15から出
力されるFiFoメモリ制御回路用チップセレクト信号
(CS2)を入力とする論理積回路18を備える。
側である上記PCのシリアル非同期通信制御回路17の
送信部からのデータを外部データとして受信するシリア
ル非同期通信制御回路の受信部及びFiFo書込制御回
路からなるFiFo書込回路16、このFiFo書込回
路16から出力されるFiFoメモリ制御回路用チップ
セレクト信号(CS1)、ワンチップCPU15から出
力されるFiFoメモリ制御回路用チップセレクト信号
(CS2)を入力とする論理積回路18を備える。
【0010】上記論理積回路18はFiFoメモリ制御
回路10のチップセレクト端子(CS端子)に接続され
ている。また、上記リセット信号(RESET)はワン
チップCPU15とFiFoメモリ制御回路10のリセ
ット端子(RESET端子)に接続されている。
回路10のチップセレクト端子(CS端子)に接続され
ている。また、上記リセット信号(RESET)はワン
チップCPU15とFiFoメモリ制御回路10のリセ
ット端子(RESET端子)に接続されている。
【0011】上記ワンチップCPU15のデータバス2
0は、メモリ制御回路10の読出データバス端子(RD
ATA端子)に接続されており、FiFo書込回路16
のデータバス21はFiFoメモリ制御回路10の書込
データバス端子(WDATA端子)に接続されている。
0は、メモリ制御回路10の読出データバス端子(RD
ATA端子)に接続されており、FiFo書込回路16
のデータバス21はFiFoメモリ制御回路10の書込
データバス端子(WDATA端子)に接続されている。
【0012】上記ワンチップCPU15のデータリード
信号(RD)はFiFoメモリ制御回路10のRD端子
に接続されており、FiFoメモリ制御回路10のフル
信号(Full)、エンプティ信号(Empty)はワ
ンチップCPU15の割込端子IR(n)、IR(n+
1)にそれぞれ接続されている。なお、上記I/Oポー
ト14からは非同期通信制御信号(DTR)が送信側の
PCにおけるシリアル非同期通信制御回路17へ出力さ
れる。
信号(RD)はFiFoメモリ制御回路10のRD端子
に接続されており、FiFoメモリ制御回路10のフル
信号(Full)、エンプティ信号(Empty)はワ
ンチップCPU15の割込端子IR(n)、IR(n+
1)にそれぞれ接続されている。なお、上記I/Oポー
ト14からは非同期通信制御信号(DTR)が送信側の
PCにおけるシリアル非同期通信制御回路17へ出力さ
れる。
【0013】上記FiFo書込回路16から出力される
書込信号(WR)は、FiFoメモリ制御回路10の書
込端子(WR端子)に接続されている。また、FiFo
書込回路16には、送信側のPCにおけるシリアル非同
期通信制御回路17から非同期受信データ(RXD)が
入力されるようになっている。
書込信号(WR)は、FiFoメモリ制御回路10の書
込端子(WR端子)に接続されている。また、FiFo
書込回路16には、送信側のPCにおけるシリアル非同
期通信制御回路17から非同期受信データ(RXD)が
入力されるようになっている。
【0014】次に、上記マイクロプロセッサ制御回路に
ついて、ワンチップCPU15が処理可能なスピードの
非同期受信を行なう場合の動作を図6を参照しながら説
明する。
ついて、ワンチップCPU15が処理可能なスピードの
非同期受信を行なう場合の動作を図6を参照しながら説
明する。
【0015】マイクロプロセッサ制御回路に電源が供給
されると、リセット信号(RESET)がアサートさ
れ、ワンチップCPU15、FiFoメモリ制御回路1
0、FiFo書込回路16が初期化される。そして、ワ
ンチップCPU15はFiFoメモリ制御回路10、F
iFo書込回路16の初期化処理(プログラム)を実行
する。ワンチップCPU15は、非同期受信が可能とな
った事を非同期通信制御信号DTRをアサートする事に
より送信側のPCへ通知する。
されると、リセット信号(RESET)がアサートさ
れ、ワンチップCPU15、FiFoメモリ制御回路1
0、FiFo書込回路16が初期化される。そして、ワ
ンチップCPU15はFiFoメモリ制御回路10、F
iFo書込回路16の初期化処理(プログラム)を実行
する。ワンチップCPU15は、非同期受信が可能とな
った事を非同期通信制御信号DTRをアサートする事に
より送信側のPCへ通知する。
【0016】そして、送信側のPCから1番目の非同期
受信データ(RXD)が入力されると、FiFo書込回
路16は非同期受信データ(RXD)をデータバス21
に乗せ、チップセレクト信号(CS1)と書込信号(W
R)をアサートする。これにより、FiFoメモリ制御
回路10はデュアルポートRAM1の0番地にデータを
書込む。
受信データ(RXD)が入力されると、FiFo書込回
路16は非同期受信データ(RXD)をデータバス21
に乗せ、チップセレクト信号(CS1)と書込信号(W
R)をアサートする。これにより、FiFoメモリ制御
回路10はデュアルポートRAM1の0番地にデータを
書込む。
【0017】続いて、FiFo書込回路16は非同期受
信データをデータバス21に乗せ、チップセレクト信号
(CS1)と書込信号(WR)をネーゲトする。このと
き、書込アドレス回路2のアドレス値は+1される。そ
して、エンプティ信号(Empty)がネーゲトされ
る。
信データをデータバス21に乗せ、チップセレクト信号
(CS1)と書込信号(WR)をネーゲトする。このと
き、書込アドレス回路2のアドレス値は+1される。そ
して、エンプティ信号(Empty)がネーゲトされ
る。
【0018】次に、送信側のPCから2番目の非同期受
信データ(RXD)が入力されると、FiFo書込回路
16は非同期受信データ(RXD)をデータバス21に
乗せ、チップセレクト信号(CS1)と書込信号(W
R)をアサートする。これにより、FiFoメモリ制御
回路10はデュアルポートRAM1の1番地にデータを
書込む。
信データ(RXD)が入力されると、FiFo書込回路
16は非同期受信データ(RXD)をデータバス21に
乗せ、チップセレクト信号(CS1)と書込信号(W
R)をアサートする。これにより、FiFoメモリ制御
回路10はデュアルポートRAM1の1番地にデータを
書込む。
【0019】続いて、FiFo書込回路16はチップセ
レクト信号(CS1)と書込信号(WR)をネゲートす
る。このとき、書込アドレス回路2のアドレス値は+1
される。以上のような操作をFiFo書込回路16は繰
り返し行う。
レクト信号(CS1)と書込信号(WR)をネゲートす
る。このとき、書込アドレス回路2のアドレス値は+1
される。以上のような操作をFiFo書込回路16は繰
り返し行う。
【0020】そして、送信側のPCからk+1番目の非
同期受信データ(RXD)が入力されると、FiFo書
込回路16は非同期受信データ(RXD)をデータバス
21に乗せ、チップセレクト信号(CS1)と書込信号
(WR)をアサートする。FiFoメモリ制御回路10
はデュアルポートRAM1のk番地にデータを書込む。
同期受信データ(RXD)が入力されると、FiFo書
込回路16は非同期受信データ(RXD)をデータバス
21に乗せ、チップセレクト信号(CS1)と書込信号
(WR)をアサートする。FiFoメモリ制御回路10
はデュアルポートRAM1のk番地にデータを書込む。
【0021】続いて、FiFo書込回路16はチップセ
レクト信号(CS1)と書込信号(WR)をネゲートす
る。このとき、書込アドレス回路2のアドレス値は0に
なる。すると、フル信号(Full)がアサートされ、
ワンチップCPU15の割込端子IR(n)に割込信号
が入力され、ワンチップCPU15はIR(n)の割込
処理を開始する。すなわち、ワンチップCPU15はデ
ュアルポートRAM1がフル(満杯)状態で非同期受信
が不可能となった事をDTRをネゲートする事により送
信側のPCへ通知する。
レクト信号(CS1)と書込信号(WR)をネゲートす
る。このとき、書込アドレス回路2のアドレス値は0に
なる。すると、フル信号(Full)がアサートされ、
ワンチップCPU15の割込端子IR(n)に割込信号
が入力され、ワンチップCPU15はIR(n)の割込
処理を開始する。すなわち、ワンチップCPU15はデ
ュアルポートRAM1がフル(満杯)状態で非同期受信
が不可能となった事をDTRをネゲートする事により送
信側のPCへ通知する。
【0022】次に、ワンチップCPU15はチップセレ
クト信号(CS2)とデータリード信号(RD)をアサ
ートする。すると、FiFoメモリ制御回路10はデュ
アルポートRAM1の0番目のデータをデータバス20
に出力する。これにより、ワンチップCPU15はデー
タバス20のデータを読込む。
クト信号(CS2)とデータリード信号(RD)をアサ
ートする。すると、FiFoメモリ制御回路10はデュ
アルポートRAM1の0番目のデータをデータバス20
に出力する。これにより、ワンチップCPU15はデー
タバス20のデータを読込む。
【0023】続いて、ワンチップCPU15はチップセ
レクト信号(CS2)とデータリード信号(RD)をネ
ゲートする。このとき、FiFoメモリ制御回路10は
読出アドレス回路3のアドレス値を+1する。
レクト信号(CS2)とデータリード信号(RD)をネ
ゲートする。このとき、FiFoメモリ制御回路10は
読出アドレス回路3のアドレス値を+1する。
【0024】次に、ワンチップCPU15はチップセレ
クト信号(CS2)とデータリード信号(RD)をアサ
ートする。すると、FiFoメモリ制御回路10はデュ
アルポートRAM1の1番目のデータをデータバス21
に出力する。これにより、ワンチップCPU15はデー
タバス20のデータを読込む。
クト信号(CS2)とデータリード信号(RD)をアサ
ートする。すると、FiFoメモリ制御回路10はデュ
アルポートRAM1の1番目のデータをデータバス21
に出力する。これにより、ワンチップCPU15はデー
タバス20のデータを読込む。
【0025】続いて、ワンチップCPU15はチップセ
レクト信号(CS2)とデータリード信号(RD)をネ
ゲートする。このとき、FiFoメモリ制御回路10は
読出アドレス回路3のアドレス値を+1する。以上のよ
うな操作をワンチップCPU15は繰り返し行う。
レクト信号(CS2)とデータリード信号(RD)をネ
ゲートする。このとき、FiFoメモリ制御回路10は
読出アドレス回路3のアドレス値を+1する。以上のよ
うな操作をワンチップCPU15は繰り返し行う。
【0026】そして、ワンチップCPU15はチップセ
レクト信号(CS2)とデータリード信号(RD)をア
サートし、FiFoメモリ制御回路10がデュアルポー
トRAM1のk+1番目のデータをデータバス20に出
力すると、ワンチップCPU15はデータバス20のデ
ータを読込む。
レクト信号(CS2)とデータリード信号(RD)をア
サートし、FiFoメモリ制御回路10がデュアルポー
トRAM1のk+1番目のデータをデータバス20に出
力すると、ワンチップCPU15はデータバス20のデ
ータを読込む。
【0027】続いて、ワンチップCPU15はチップセ
レクト信号(CS2)とデータリード信号(RD)をネ
ゲートする。このとき、FiFoメモリ制御回路10は
読出アドレス回路3のアドレス値を+1すると、読出ア
ドレス回路3のアドレス値は0になる。すると、FiF
oメモリ制御回路10によりエンプティ信号(Empt
y)がアサートされ、ワンチップCPU15の割込端子
IR(n+1)には割込信号が入力される。
レクト信号(CS2)とデータリード信号(RD)をネ
ゲートする。このとき、FiFoメモリ制御回路10は
読出アドレス回路3のアドレス値を+1すると、読出ア
ドレス回路3のアドレス値は0になる。すると、FiF
oメモリ制御回路10によりエンプティ信号(Empt
y)がアサートされ、ワンチップCPU15の割込端子
IR(n+1)には割込信号が入力される。
【0028】これにより、ワンチップCPU15はIR
(n+1)の割込処理を開始する。すなわち、ワンチッ
プCPU15は非同期受信が可能となった事をDTRを
アサートする事により送信側のPCへ通知する。そし
て、ワンチップCPU15はIR(n)の割込処理に戻
り、その後メイン処理に戻る。
(n+1)の割込処理を開始する。すなわち、ワンチッ
プCPU15は非同期受信が可能となった事をDTRを
アサートする事により送信側のPCへ通知する。そし
て、ワンチップCPU15はIR(n)の割込処理に戻
り、その後メイン処理に戻る。
【0029】
【発明が解決しようとする課題】上述したように、ワン
チップCPU15が処理可能なスピードの非同期受信を
行なう場合には、送信側のPCが受信側のFiFoメモ
リ制御回路10のデュアルポートRAM1がフル(満
杯)状態となるk番地に書込むデータを出力してから次
のデータを出力するまでの時間がワンチップCPU15
から見れば長いため、その間に受信側でデュアルポート
RAM1がフル状態になって非同期受信が不可能となっ
た事を通知(送信側のPCへ出力するDTRをネーゲ
ト)すれば、送信側のPCは次のデータを送信すること
を待つことができるので、このデータが破棄されること
はない。
チップCPU15が処理可能なスピードの非同期受信を
行なう場合には、送信側のPCが受信側のFiFoメモ
リ制御回路10のデュアルポートRAM1がフル(満
杯)状態となるk番地に書込むデータを出力してから次
のデータを出力するまでの時間がワンチップCPU15
から見れば長いため、その間に受信側でデュアルポート
RAM1がフル状態になって非同期受信が不可能となっ
た事を通知(送信側のPCへ出力するDTRをネーゲ
ト)すれば、送信側のPCは次のデータを送信すること
を待つことができるので、このデータが破棄されること
はない。
【0030】しかしながら、ワンチップCPU15が処
理不可能なスピードの非同期受信を行なう場合には、送
信側のPCがデュアルポートRAM1のk番地に書込む
データを出力してから次のデータを出力するまでの時間
がワンチップCPU15から見て短くなるため、受信側
でデュアルポートRAM1がフル状態になって非同期受
信が不可能となった事の通知(送信側のPCへ出力する
DTRをネーゲト)が間に合わず、送信側のPCが次の
データを送信してしまうことがあり、この場合には送信
されたデータは破棄されてしまう。すなわち、データの
取りこぼしが発生するという問題があった。
理不可能なスピードの非同期受信を行なう場合には、送
信側のPCがデュアルポートRAM1のk番地に書込む
データを出力してから次のデータを出力するまでの時間
がワンチップCPU15から見て短くなるため、受信側
でデュアルポートRAM1がフル状態になって非同期受
信が不可能となった事の通知(送信側のPCへ出力する
DTRをネーゲト)が間に合わず、送信側のPCが次の
データを送信してしまうことがあり、この場合には送信
されたデータは破棄されてしまう。すなわち、データの
取りこぼしが発生するという問題があった。
【0031】以下、上記マイクロプロセッサ制御回路に
ついて、ワンチップCPU15が処理不可能なスピード
の非同期受信を行なう場合に発生する上記問題につい
て、マイクロプロセッサ制御回路の動作とともに、図7
を参照しながら具体的に説明する。
ついて、ワンチップCPU15が処理不可能なスピード
の非同期受信を行なう場合に発生する上記問題につい
て、マイクロプロセッサ制御回路の動作とともに、図7
を参照しながら具体的に説明する。
【0032】マイクロプロセッサ制御回路に電源が供給
されと、リセット信号(RESET)がアサートされ、
ワンチップCPU15、FiFoメモリ制御回路10、
FiFo書込回路16が初期化される。そして、ワンチ
ップCPU15はFiFoメモリ制御回路10、FiF
o書込回路16の初期化処理(プログラム)を実行す
る。ワンチップCPU15は、非同期受信が可能となっ
た事を非同期通信制御信号DTRをアサートする事によ
り送信側のPCへ通知する。
されと、リセット信号(RESET)がアサートされ、
ワンチップCPU15、FiFoメモリ制御回路10、
FiFo書込回路16が初期化される。そして、ワンチ
ップCPU15はFiFoメモリ制御回路10、FiF
o書込回路16の初期化処理(プログラム)を実行す
る。ワンチップCPU15は、非同期受信が可能となっ
た事を非同期通信制御信号DTRをアサートする事によ
り送信側のPCへ通知する。
【0033】そして、送信側のPCから1番目の非同期
受信データ(RXD)が入力されると、FiFo書込回
路16は非同期受信データ(RXD)をデータバス21
に乗せ、チップセレクト信号(CS1)と書込信号(W
R)をアサートする。これにより、FiFoメモリ制御
回路10はデュアルポートRAM1の0番地にデータを
書込む。
受信データ(RXD)が入力されると、FiFo書込回
路16は非同期受信データ(RXD)をデータバス21
に乗せ、チップセレクト信号(CS1)と書込信号(W
R)をアサートする。これにより、FiFoメモリ制御
回路10はデュアルポートRAM1の0番地にデータを
書込む。
【0034】続いて、FiFo書込回路16はチップセ
レクト信号(CS1)と書込信号(WR)をネゲートす
る。このとき、書込アドレス回路2のアドレス値は+1
される。そして、エンプティ信号(212)がネーゲト
される。
レクト信号(CS1)と書込信号(WR)をネゲートす
る。このとき、書込アドレス回路2のアドレス値は+1
される。そして、エンプティ信号(212)がネーゲト
される。
【0035】次に、送信側のPCから2番目の非同期受
信データ(RXD)が入力されると、FiFo書込回路
16は非同期受信データ(RXD)をデータバス21に
乗せ、チップセレクト信号(CS1)と書込信号(W
R)をアサートする。これにより、FiFoメモリ制御
回路10はデュアルポートRAM1の1番地にデータを
書込む。
信データ(RXD)が入力されると、FiFo書込回路
16は非同期受信データ(RXD)をデータバス21に
乗せ、チップセレクト信号(CS1)と書込信号(W
R)をアサートする。これにより、FiFoメモリ制御
回路10はデュアルポートRAM1の1番地にデータを
書込む。
【0036】続いて、FiFo書込回路16はチップセ
レクト信号(CS1)と書込信号(WR)をネゲートす
る。このとき、書込アドレス回路2のアドレス値は+1
される。以上のような操作をFiFo書込回路16は繰
り返し行う。
レクト信号(CS1)と書込信号(WR)をネゲートす
る。このとき、書込アドレス回路2のアドレス値は+1
される。以上のような操作をFiFo書込回路16は繰
り返し行う。
【0037】その後、送信側のPCからk+1番目の非
同期受信データ(RXD)が入力されると、FiFo書
込回路16は非同期受信データ(RXD)をデータバス
21に乗せ、チップセレクト信号(CS1)と書込信号
(WR)をアサートする。FiFoメモリ制御回路10
はデュアルポートRAM1のk番地にデータを書込む。
同期受信データ(RXD)が入力されると、FiFo書
込回路16は非同期受信データ(RXD)をデータバス
21に乗せ、チップセレクト信号(CS1)と書込信号
(WR)をアサートする。FiFoメモリ制御回路10
はデュアルポートRAM1のk番地にデータを書込む。
【0038】続いて、FiFo書込回路16はチップセ
レクト信号(CS1)と書込信号(WR)をネゲートす
る。このとき、書込アドレス回路2のアドレス値は0に
なる。すると、フル信号(Full)がアサートされ、
ワンチップCPU15の割込端子IR(n)に割込信号
が入力される。
レクト信号(CS1)と書込信号(WR)をネゲートす
る。このとき、書込アドレス回路2のアドレス値は0に
なる。すると、フル信号(Full)がアサートされ、
ワンチップCPU15の割込端子IR(n)に割込信号
が入力される。
【0039】この場合、ワンチップCPU15の処理不
可能なスピードの非同期受信で送信側のPCからデータ
が送信されるため、ワンチップCPU15の割込処理に
よってDTRをネゲートする前に、送信側のPCからk
+2番目の非同期受信データが入力される。従って、デ
ュアルポートRAM1がフル状態で非同期受信が不可能
となった事の通知(送信側のPCへ出力するDTRをネ
ーゲト)は間に合わず、k+2番目の非同期受信データ
はFiFo書込回路16に入力されてしまう。
可能なスピードの非同期受信で送信側のPCからデータ
が送信されるため、ワンチップCPU15の割込処理に
よってDTRをネゲートする前に、送信側のPCからk
+2番目の非同期受信データが入力される。従って、デ
ュアルポートRAM1がフル状態で非同期受信が不可能
となった事の通知(送信側のPCへ出力するDTRをネ
ーゲト)は間に合わず、k+2番目の非同期受信データ
はFiFo書込回路16に入力されてしまう。
【0040】このとき、デュアルポートRAM1はフル
状態にあるのでFiFo書込回路16はk+2番目の非
同期受信データを破棄する。こうして、非同期受信デー
タの取りこぼしが発生する。
状態にあるのでFiFo書込回路16はk+2番目の非
同期受信データを破棄する。こうして、非同期受信デー
タの取りこぼしが発生する。
【0041】次に、ワンチップCPU15はチップセレ
クト信号(CS2)とデータリード信号(RD)をアサ
ートする。すると、FiFoメモリ制御回路10はデュ
アルポートRAM1の0番目のデータをデータバス21
に出力する。これにより、ワンチップCPU15はデー
タバス20のデータを読込む。
クト信号(CS2)とデータリード信号(RD)をアサ
ートする。すると、FiFoメモリ制御回路10はデュ
アルポートRAM1の0番目のデータをデータバス21
に出力する。これにより、ワンチップCPU15はデー
タバス20のデータを読込む。
【0042】続いて、ワンチップCPU15はチップセ
レクト信号(CS2)とデータリード信号(RD)をネ
ゲートする。このとき、FiFoメモリ制御回路10は
読出アドレス回路3のアドレス値を+1する。
レクト信号(CS2)とデータリード信号(RD)をネ
ゲートする。このとき、FiFoメモリ制御回路10は
読出アドレス回路3のアドレス値を+1する。
【0043】次に、ワンチップCPU15はチップセレ
クト信号(CS2)とデータリード信号(RD)をアサ
ートする。すると、FiFoメモリ制御回路10はデュ
アルポートRAM1の1番目のデータをデータバス21
に出力する。これにより、ワンチップCPU15はデー
タバス20のデータを読込む。
クト信号(CS2)とデータリード信号(RD)をアサ
ートする。すると、FiFoメモリ制御回路10はデュ
アルポートRAM1の1番目のデータをデータバス21
に出力する。これにより、ワンチップCPU15はデー
タバス20のデータを読込む。
【0044】続いて、ワンチップCPU15はチップセ
レクト信号(CS2)とデータリード信号(RD)をネ
ゲートする。このとき、FiFoメモリ制御回路10は
読出アドレス回路3のアドレス値を+1する。以上のよ
うな操作をワンチップCPU15は繰り返し行う。
レクト信号(CS2)とデータリード信号(RD)をネ
ゲートする。このとき、FiFoメモリ制御回路10は
読出アドレス回路3のアドレス値を+1する。以上のよ
うな操作をワンチップCPU15は繰り返し行う。
【0045】その後、ワンチップCPU15はチップセ
レクト信号(CS2)とデータリード信号(RD)をア
サートし、FiFoメモリ制御回路10がデュアルポー
トRAM1のk+1番目のデータをデータバス20に出
力すると、ワンチップCPU15はデータバス20のデ
ータを読込む。
レクト信号(CS2)とデータリード信号(RD)をア
サートし、FiFoメモリ制御回路10がデュアルポー
トRAM1のk+1番目のデータをデータバス20に出
力すると、ワンチップCPU15はデータバス20のデ
ータを読込む。
【0046】ワンチップCPU15はチップセレクト信
号(CS2)とデータリード信号(RD)をネゲートす
る。このとき、FiFoメモリ制御回路10は読出アド
レス回路3のアドレス値を+1すると、読出アドレス回
路3のアドレス値は0になる。すると、FiFoメモリ
制御回路10によりエンプティ信号(Empty)がア
サートされ、ワンチップCPU15に割込端子IR(n
+1)には割込信号が入力される。
号(CS2)とデータリード信号(RD)をネゲートす
る。このとき、FiFoメモリ制御回路10は読出アド
レス回路3のアドレス値を+1すると、読出アドレス回
路3のアドレス値は0になる。すると、FiFoメモリ
制御回路10によりエンプティ信号(Empty)がア
サートされ、ワンチップCPU15に割込端子IR(n
+1)には割込信号が入力される。
【0047】これにより、ワンチップCPU15はIR
(n+1)の割込処理を開始する。すなわち、ワンチッ
プCPU15は非同期受信が可能となった事をDTRを
アサートする事により送信側のPCへ通知する。そし
て、ワンチップCPU15はIR(n)の割込処理に戻
り、その後メイン処理に戻る。
(n+1)の割込処理を開始する。すなわち、ワンチッ
プCPU15は非同期受信が可能となった事をDTRを
アサートする事により送信側のPCへ通知する。そし
て、ワンチップCPU15はIR(n)の割込処理に戻
り、その後メイン処理に戻る。
【0048】ところで、受信側でデュアルポートRAM
1がフル状態になって非同期受信が不可能となった事を
通知(送信側のPCへ出力するDTRをネーゲト)した
後、受信側ではワンチップCPU15によりデータの読
出処理が行われるが、デュアルポートRAM1がエンプ
ティ(空)状態になると、非同期受信が可能となった事
を通知(送信側のPCへ出力するDTRをアサート)す
るため、その間は、DTRがネゲートされている。一
方、DTRがネゲートされている間は、送信側のPCで
はデータ送信の停止状態となる。
1がフル状態になって非同期受信が不可能となった事を
通知(送信側のPCへ出力するDTRをネーゲト)した
後、受信側ではワンチップCPU15によりデータの読
出処理が行われるが、デュアルポートRAM1がエンプ
ティ(空)状態になると、非同期受信が可能となった事
を通知(送信側のPCへ出力するDTRをアサート)す
るため、その間は、DTRがネゲートされている。一
方、DTRがネゲートされている間は、送信側のPCで
はデータ送信の停止状態となる。
【0049】従って、DTRがネゲートされている時間
(ワンチップCPU15がデュアルポートRAM1から
データを読出している時間)が長いと、特に送信側のP
Cがタイムアウト機能を備える場合には、送信側がFi
Foメモリ制御回路10が動作不能であると判断し、接
続を切断してしまうという問題が生じる。
(ワンチップCPU15がデュアルポートRAM1から
データを読出している時間)が長いと、特に送信側のP
Cがタイムアウト機能を備える場合には、送信側がFi
Foメモリ制御回路10が動作不能であると判断し、接
続を切断してしまうという問題が生じる。
【0050】そこで、本発明は、非同期受信の受信制御
をワンチップCPUが処理不可能なスピードの非同期受
信を行なう場合におけるデータの取りこぼしを防止し、
また送信側が接続を切断するタイムアウトを回避できる
FiFoメモリ制御回路を提供しようとするものであ
る。
をワンチップCPUが処理不可能なスピードの非同期受
信を行なう場合におけるデータの取りこぼしを防止し、
また送信側が接続を切断するタイムアウトを回避できる
FiFoメモリ制御回路を提供しようとするものであ
る。
【0051】
【課題を解決するための手段】請求項1の本発明は、デ
ータの読出し書込みが可能なメモリと、このメモリへの
書込信号に基づいて書込アドレスを発生する書込アドレ
ス回路と、メモリへの読出信号に基づいて読出アドレス
を発生する読出アドレス回路とを備えたFiFoメモリ
制御回路において、メモリへ書込信号が与えられるごと
にカウントアップ動作を行ない、メモリへ読出信号が与
えられるごとにカウントダウン動作を行なうアップダウ
ンカウンタと、このアップダウンカウンタのカウント値
と予め設定した前記メモリが満杯になる前のカウント値
と比較して、アップダウンカウンタのカウント値が設定
カウント値に達したとき又は設定カウント値を越えたと
きにメモリが満杯に近いことを示すニアフル信号を出力
するニアフル信号出力回路とを設けたことを特徴とする
FiFoメモリ制御回路である。
ータの読出し書込みが可能なメモリと、このメモリへの
書込信号に基づいて書込アドレスを発生する書込アドレ
ス回路と、メモリへの読出信号に基づいて読出アドレス
を発生する読出アドレス回路とを備えたFiFoメモリ
制御回路において、メモリへ書込信号が与えられるごと
にカウントアップ動作を行ない、メモリへ読出信号が与
えられるごとにカウントダウン動作を行なうアップダウ
ンカウンタと、このアップダウンカウンタのカウント値
と予め設定した前記メモリが満杯になる前のカウント値
と比較して、アップダウンカウンタのカウント値が設定
カウント値に達したとき又は設定カウント値を越えたと
きにメモリが満杯に近いことを示すニアフル信号を出力
するニアフル信号出力回路とを設けたことを特徴とする
FiFoメモリ制御回路である。
【0052】請求項2の本発明は、アップダウンカウン
タのカウント値と予め設定したメモリが空になる前のカ
ウント値と比較して、アップダウンカウンタのカウント
値が設定カウント値に達したとき又は設定カウント値よ
り小さくなったときにメモリが空に近いことを示すニア
エンプティ信号を出力するニアエンプティ信号出力回路
を設けたことを特徴とする請求項1記載のFiFoメモ
リ制御回路である。
タのカウント値と予め設定したメモリが空になる前のカ
ウント値と比較して、アップダウンカウンタのカウント
値が設定カウント値に達したとき又は設定カウント値よ
り小さくなったときにメモリが空に近いことを示すニア
エンプティ信号を出力するニアエンプティ信号出力回路
を設けたことを特徴とする請求項1記載のFiFoメモ
リ制御回路である。
【0053】このような構成の本発明においては、メモ
リがフル状態になる前にニアフル信号が出力され、この
ニアフル信号に基づいて非同期受信が不可能になる事を
外部へ通知することができる。従って、この非同期受信
が不可能になる事の通知より先に外部から次のデータが
入力されてもこれを破棄することなく、メモリへ書込む
ことができる。
リがフル状態になる前にニアフル信号が出力され、この
ニアフル信号に基づいて非同期受信が不可能になる事を
外部へ通知することができる。従って、この非同期受信
が不可能になる事の通知より先に外部から次のデータが
入力されてもこれを破棄することなく、メモリへ書込む
ことができる。
【0054】また、メモリがエンプティ状態になる前に
ニアエンプティ信号が出力され、非同期受信が可能とな
った事を送信側の外部へ通知することができる。つま
り、この非同期受信が可能となった通知をより早く外部
へ伝えることができる。このため、例えば外部の送信側
PC(パーソナルコンピュータ)がタイムアウト機能を
備えていても、そのタイムアウトになる前に非同期受信
が可能となった通知を伝えることができる。
ニアエンプティ信号が出力され、非同期受信が可能とな
った事を送信側の外部へ通知することができる。つま
り、この非同期受信が可能となった通知をより早く外部
へ伝えることができる。このため、例えば外部の送信側
PC(パーソナルコンピュータ)がタイムアウト機能を
備えていても、そのタイムアウトになる前に非同期受信
が可能となった通知を伝えることができる。
【0055】
【発明の実施の形態】以下、本発明の実施の形態を図1
ないし図3を参照して説明する。図1は、本発明にかか
るFiFoメモリ制御回路の構成を示す図である。この
FiFoメモリ制御回路30は、kワード構成のデュア
ルポートRAM31、デュアルポートRAM31の書込
アドレスを発生する書込アドレス回路32、デュアルポ
ートRAM31の読出アドレスを発生する読出アドレス
回路33、読出アドレス回路33の出力である読出アド
レス信号(RA)及び書込アドレス回路の出力である書
込アドレス信号(WA)からデュアルポートRAM31
内の有効データの状態を示すFull−Empty制御
回路34から構成される。
ないし図3を参照して説明する。図1は、本発明にかか
るFiFoメモリ制御回路の構成を示す図である。この
FiFoメモリ制御回路30は、kワード構成のデュア
ルポートRAM31、デュアルポートRAM31の書込
アドレスを発生する書込アドレス回路32、デュアルポ
ートRAM31の読出アドレスを発生する読出アドレス
回路33、読出アドレス回路33の出力である読出アド
レス信号(RA)及び書込アドレス回路の出力である書
込アドレス信号(WA)からデュアルポートRAM31
内の有効データの状態を示すFull−Empty制御
回路34から構成される。
【0056】また、デュアルポートRAM31へ書込信
号(WR)が与えられるごとにカウントアップ動作を行
ない、デュアルポートRAM31へ読出信号(RD)が
与えられるごとにカウントダウン動作を行なうアップダ
ウンカウンタ35と、デュアルポートRAM31が満杯
に近いことを示すニアフル信号(Near−Full)
を出力させるためのアップダウンカウンタ35のカウン
ト値を設定するニアフル信号用設定レジスタ36、デュ
アルポートRAM31が空に近いことを示すニアエンプ
ティ信号(Near−Empty)を出力させるための
アップダウンカウンタ35のカウント値を設定するニア
エンプティ信号用設定レジスタ37を備える。
号(WR)が与えられるごとにカウントアップ動作を行
ない、デュアルポートRAM31へ読出信号(RD)が
与えられるごとにカウントダウン動作を行なうアップダ
ウンカウンタ35と、デュアルポートRAM31が満杯
に近いことを示すニアフル信号(Near−Full)
を出力させるためのアップダウンカウンタ35のカウン
ト値を設定するニアフル信号用設定レジスタ36、デュ
アルポートRAM31が空に近いことを示すニアエンプ
ティ信号(Near−Empty)を出力させるための
アップダウンカウンタ35のカウント値を設定するニア
エンプティ信号用設定レジスタ37を備える。
【0057】さらに、実際のアップダウンカウンタ35
のカウント値Aとニアフル信号用設定レジスタ36に設
定されたカウント値Bを比較してA≧Bを満たすときに
ニアフル信号(Near−Full)を出力(アサー
ト)するコンパレータなどで構成されたニアフル信号用
比較回路38、実際のアップダウンカウンタ35のカウ
ント値Aとニアエンプティ信号用設定レジスタ37に設
定されたカウント値Bを比較してA≦Bを満たすときに
ニアエンプティ信号(Near−Empty)を出力
(アサート)するコンパレータなどで構成されたニアエ
ンプティ信号用比較回路39を備える。
のカウント値Aとニアフル信号用設定レジスタ36に設
定されたカウント値Bを比較してA≧Bを満たすときに
ニアフル信号(Near−Full)を出力(アサー
ト)するコンパレータなどで構成されたニアフル信号用
比較回路38、実際のアップダウンカウンタ35のカウ
ント値Aとニアエンプティ信号用設定レジスタ37に設
定されたカウント値Bを比較してA≦Bを満たすときに
ニアエンプティ信号(Near−Empty)を出力
(アサート)するコンパレータなどで構成されたニアエ
ンプティ信号用比較回路39を備える。
【0058】なお、上記ニアフル信号用設定レジスタ3
6及びニアフル信号用比較回路38はニアフル信号出力
回路を構成し、ニアエンプティ信号用設定レジスタ37
及びニアエンプティ信号用比較回路39はニアエンプテ
ィ信号出力回路を構成する。上記ニアフル信号用設定レ
ジスタ36は、CPU(例えば後述するワンチップCP
U60などを示す)からのレジスタ書込信号(NFC
K)に基づいてデータを書込むことにより、カウント値
を設定できるようになっている。また、ニアエンプティ
信号用設定レジスタ37も、CPUからのレジスタ書込
信号(NECK)に基づいてデータを書込むことによ
り、カウント値を設定できるようになっている。
6及びニアフル信号用比較回路38はニアフル信号出力
回路を構成し、ニアエンプティ信号用設定レジスタ37
及びニアエンプティ信号用比較回路39はニアエンプテ
ィ信号出力回路を構成する。上記ニアフル信号用設定レ
ジスタ36は、CPU(例えば後述するワンチップCP
U60などを示す)からのレジスタ書込信号(NFC
K)に基づいてデータを書込むことにより、カウント値
を設定できるようになっている。また、ニアエンプティ
信号用設定レジスタ37も、CPUからのレジスタ書込
信号(NECK)に基づいてデータを書込むことによ
り、カウント値を設定できるようになっている。
【0059】書込アドレス回路32には、初期化のため
に外部からリセット信号(RESET)が接続されてお
り、読出アドレス回路33には初期化のために外部から
リセット信号(RESET)が接続されている。また、
アップダウンカウンタ35には初期化のために外部から
リセット信号(RESET)が接続されている。さら
に、ニアフル信号用設定レジスタ36及びニアエンプテ
ィレジスタにも初期化のために外部からリセット信号
(RESET)が接続されている。
に外部からリセット信号(RESET)が接続されてお
り、読出アドレス回路33には初期化のために外部から
リセット信号(RESET)が接続されている。また、
アップダウンカウンタ35には初期化のために外部から
リセット信号(RESET)が接続されている。さら
に、ニアフル信号用設定レジスタ36及びニアエンプテ
ィレジスタにも初期化のために外部からリセット信号
(RESET)が接続されている。
【0060】また、読出アドレス信号(RA)はデュア
ルポートRAM31の読出アドレス端子(RA端子)に
接続されており、書込アドレス信号(WA)はデュアル
ポートRAM31の書込アドレス端子(WA端子)に接
続されている。さらに、上記読出アドレス信号(RA)
及び書込アドレス信号(WA)はFull−Empty
制御回路34に接続されている。
ルポートRAM31の読出アドレス端子(RA端子)に
接続されており、書込アドレス信号(WA)はデュアル
ポートRAM31の書込アドレス端子(WA端子)に接
続されている。さらに、上記読出アドレス信号(RA)
及び書込アドレス信号(WA)はFull−Empty
制御回路34に接続されている。
【0061】Full−Empty制御回路34から
は、上記書込アドレス回路32への書込アドレス信号
(WA)、読出アドレス回路33の読出アドレス信号
(RA)に基づいてデュアルポートRAM31内の有効
データの状態を示すフル信号(Full)とエンプティ
信号(Empty)が外部に出力されている。このフル
信号(Full)は、デュアルポートRAM31が満杯
のときに出力され、エンプティ信号(Empty)は、
デュアルポートRAM31が空のときに出力される。具
体的には、上記フル信号(Full)はデュアルポート
RAM31にkワードのデータが書込まれた時にアサー
トされ、エンプティ信号(Empty)はデュアルポー
トRAM31に0ワードのデータが書込まれた時にアサ
ートされる。外部から入力されるFiFoメモリ書込信
号(WR)は、デュアルポートRAM31の書込端子
(WR端子)と書込アドレス回路32とアップダウンカ
ウンタ35のUP端子に接続されている。また、外部か
ら入力されるFiFoメモリ読出信号(RD)は、デュ
アルポートRAM31の読出端子(RD端子)と読出ア
ドレス回路33とアップダウンカウンタ35のDOWN
端子に接続されている。さらに、外部から入力されるF
iFoメモリチップセレクト信号(CS)はデュアルポ
ートRAM31のチップセレクト端子(CS端子)に接
続されている。
は、上記書込アドレス回路32への書込アドレス信号
(WA)、読出アドレス回路33の読出アドレス信号
(RA)に基づいてデュアルポートRAM31内の有効
データの状態を示すフル信号(Full)とエンプティ
信号(Empty)が外部に出力されている。このフル
信号(Full)は、デュアルポートRAM31が満杯
のときに出力され、エンプティ信号(Empty)は、
デュアルポートRAM31が空のときに出力される。具
体的には、上記フル信号(Full)はデュアルポート
RAM31にkワードのデータが書込まれた時にアサー
トされ、エンプティ信号(Empty)はデュアルポー
トRAM31に0ワードのデータが書込まれた時にアサ
ートされる。外部から入力されるFiFoメモリ書込信
号(WR)は、デュアルポートRAM31の書込端子
(WR端子)と書込アドレス回路32とアップダウンカ
ウンタ35のUP端子に接続されている。また、外部か
ら入力されるFiFoメモリ読出信号(RD)は、デュ
アルポートRAM31の読出端子(RD端子)と読出ア
ドレス回路33とアップダウンカウンタ35のDOWN
端子に接続されている。さらに、外部から入力されるF
iFoメモリチップセレクト信号(CS)はデュアルポ
ートRAM31のチップセレクト端子(CS端子)に接
続されている。
【0062】また、外部へデータを出力するデータバス
40は、デュアルポートRAM31の読出データバス端
子(RDATA)に接続されており、外部からのデータ
を入力するデータバス41はデュアルポートRAM31
の書込データバス端子(WDATA端子)、ニアフル信
号用設定レジスタ36、ニアエンプティ信号用設定レジ
スタ37に接続されている。
40は、デュアルポートRAM31の読出データバス端
子(RDATA)に接続されており、外部からのデータ
を入力するデータバス41はデュアルポートRAM31
の書込データバス端子(WDATA端子)、ニアフル信
号用設定レジスタ36、ニアエンプティ信号用設定レジ
スタ37に接続されている。
【0063】また、外部から入力されるニアフルレジス
タ書込信号(NFCK)はニアフル信号用設定レジスタ
36のNFCK端子に接続されており、外部から入力さ
れるニアエンプティ書込信号(NECK)はニアエンプ
ティ信号用設定レジスタ37のNECK端子に接続され
ている。
タ書込信号(NFCK)はニアフル信号用設定レジスタ
36のNFCK端子に接続されており、外部から入力さ
れるニアエンプティ書込信号(NECK)はニアエンプ
ティ信号用設定レジスタ37のNECK端子に接続され
ている。
【0064】上記アップダウンカウンタ35の出力端子
(CNTQ端子)は、ニアフル信号用比較回路38のA
端子とニアエンプティ信号用比較回路39のA端子に接
続されている。ニアフル信号用設定レジスタ36の出力
端子(NFQ端子)はニアフル信号用比較回路38のB
端子に接続されており、ニアエンプティ信号用設定レジ
スタ37の出力端子(NEQ端子)はニアエンプティ信
号用比較回路39のB端子に接続されている。
(CNTQ端子)は、ニアフル信号用比較回路38のA
端子とニアエンプティ信号用比較回路39のA端子に接
続されている。ニアフル信号用設定レジスタ36の出力
端子(NFQ端子)はニアフル信号用比較回路38のB
端子に接続されており、ニアエンプティ信号用設定レジ
スタ37の出力端子(NEQ端子)はニアエンプティ信
号用比較回路39のB端子に接続されている。
【0065】次に、上記FiFoメモリ制御回路30を
使用した一般的なマイクロプロセッサ制御回路の構成を
図2に示す。特に送信側のPC(パーソナルコンピュー
タ)から例えばRS232Cに基づいてデータをマイク
ロプロセッサ制御回路で受信し、そのデータを1ワード
ずつFiFoメモリ制御回路30のデュアルポートRA
M31へ書込む場合について説明する。
使用した一般的なマイクロプロセッサ制御回路の構成を
図2に示す。特に送信側のPC(パーソナルコンピュー
タ)から例えばRS232Cに基づいてデータをマイク
ロプロセッサ制御回路で受信し、そのデータを1ワード
ずつFiFoメモリ制御回路30のデュアルポートRA
M31へ書込む場合について説明する。
【0066】上記マイクロプロセッサ制御回路は、CP
U(中央処理装置)コア61と実行プログラムなどを記
憶した制御用ROM(リ−ド・オンリ・メモリ)62と
ワークRAM(ランダム・アクセス・メモリ)63とI
/Oポート(入出力ポート)64を内蔵した1チップC
PU(ワンチップCPU)60を備える。
U(中央処理装置)コア61と実行プログラムなどを記
憶した制御用ROM(リ−ド・オンリ・メモリ)62と
ワークRAM(ランダム・アクセス・メモリ)63とI
/Oポート(入出力ポート)64を内蔵した1チップC
PU(ワンチップCPU)60を備える。
【0067】また、FiFoメモリ制御回路30、送信
側である上記PCのシリアル非同期通信制御回路67の
送信部からのデータを外部データとして受信するシリア
ル非同期通信制御回路の受信部及びFiFo書込制御回
路からなるFiFo書込回路66、このFiFo書込回
路66から出力されるFiFoメモリ制御回路用チップ
セレクト信号(CS1)、ワンチップCPU60から出
力されるFiFoメモリ制御回路用チップセレクト信号
(CS2)を入力とする論理積回路68を備える。
側である上記PCのシリアル非同期通信制御回路67の
送信部からのデータを外部データとして受信するシリア
ル非同期通信制御回路の受信部及びFiFo書込制御回
路からなるFiFo書込回路66、このFiFo書込回
路66から出力されるFiFoメモリ制御回路用チップ
セレクト信号(CS1)、ワンチップCPU60から出
力されるFiFoメモリ制御回路用チップセレクト信号
(CS2)を入力とする論理積回路68を備える。
【0068】上記論理積回路68はFiFoメモリ制御
回路30のチップセレクト端子(CS端子)に接続され
ている。また、上記リセット信号(RESET)はワン
チップCPU60とFiFoメモリ制御回路30のリセ
ット端子(RESET端子)に接続されている。
回路30のチップセレクト端子(CS端子)に接続され
ている。また、上記リセット信号(RESET)はワン
チップCPU60とFiFoメモリ制御回路30のリセ
ット端子(RESET端子)に接続されている。
【0069】上記ワンチップCPU60のデータバス4
0は、メモリ制御回路30の読出データバス端子(RD
ATA端子)に接続されており、FiFo書込回路66
のデータバス41はFiFoメモリ制御回路30の書込
データバス端子(WDATA端子)に接続されている。
0は、メモリ制御回路30の読出データバス端子(RD
ATA端子)に接続されており、FiFo書込回路66
のデータバス41はFiFoメモリ制御回路30の書込
データバス端子(WDATA端子)に接続されている。
【0070】上記ワンチップCPU60のデータリード
信号(RD)はFiFoメモリ制御回路30のRD端子
に接続されており、FiFoメモリ制御回路30のフル
信号(Full)、エンプティ信号(Empty)はワ
ンチップCPU60の割込端子IR(n)、IR(n+
1)にそれぞれ接続されている。また、FiFoメモリ
制御回路30のニアフル信号(Near−Full)と
ニアエンプティ信号(Near−Empty)はワンチ
ップCPU60の割込端子IR(m)、IR(m+1)
にそれぞれ接続されている。なお、上記I/Oポート6
4からは非同期通信制御信号(DTR)が送信側のPC
におけるシリアル非同期通信制御回路67へ出力され
る。
信号(RD)はFiFoメモリ制御回路30のRD端子
に接続されており、FiFoメモリ制御回路30のフル
信号(Full)、エンプティ信号(Empty)はワ
ンチップCPU60の割込端子IR(n)、IR(n+
1)にそれぞれ接続されている。また、FiFoメモリ
制御回路30のニアフル信号(Near−Full)と
ニアエンプティ信号(Near−Empty)はワンチ
ップCPU60の割込端子IR(m)、IR(m+1)
にそれぞれ接続されている。なお、上記I/Oポート6
4からは非同期通信制御信号(DTR)が送信側のPC
におけるシリアル非同期通信制御回路67へ出力され
る。
【0071】上記FiFo書込回路66から出力される
書込信号(WR)は、FiFoメモリ制御回路30の書
込端子(WR端子)に接続されている。また、FiFo
書込回路66には、送信側のPCにおけるシリアル非同
期通信制御回路67から非同期受信データ(RXD)が
入力されるようになっている。さらに、上記ワンチップ
CPU60は、FiFoメモリ制御回路30へレジスタ
書込信号(NFCK)とレジスタ書込信号(NECK)
を供給している。 次に、上記マイクロプロセッサ制御
回路について、ワンチップCPU60が処理不可能なス
ピードの非同期受信を行なう場合の動作を図3を参照し
ながら説明する。
書込信号(WR)は、FiFoメモリ制御回路30の書
込端子(WR端子)に接続されている。また、FiFo
書込回路66には、送信側のPCにおけるシリアル非同
期通信制御回路67から非同期受信データ(RXD)が
入力されるようになっている。さらに、上記ワンチップ
CPU60は、FiFoメモリ制御回路30へレジスタ
書込信号(NFCK)とレジスタ書込信号(NECK)
を供給している。 次に、上記マイクロプロセッサ制御
回路について、ワンチップCPU60が処理不可能なス
ピードの非同期受信を行なう場合の動作を図3を参照し
ながら説明する。
【0072】マイクロプロセッサ制御回路に電源が供給
されると、リセット信号(RESET)がアサートさ
れ、ワンチップCPU60、FiFoメモリ制御回路3
0、FiFo書込回路66が初期化される。そして、ワ
ンチップCPU60はFiFoメモリ制御回路30、F
iFo書込回路66の初期化処理(プログラム)を実行
する。
されると、リセット信号(RESET)がアサートさ
れ、ワンチップCPU60、FiFoメモリ制御回路3
0、FiFo書込回路66が初期化される。そして、ワ
ンチップCPU60はFiFoメモリ制御回路30、F
iFo書込回路66の初期化処理(プログラム)を実行
する。
【0073】これにより、アップダウンカウンタ35は
0に初期化される。また、ワンチップCPU60はニア
フル信号用のレジスタ書込信号(NFCK)をアサート
し、ニアフル信号用設定レジスタ36に比較用のカウン
ト値として定数i(i<k)を設定する。さらに、ワン
チップCPU60はニアエンプティ信号用のレジスタ書
込信号(NECK)をアサートしニアエンプティ信号用
設定レジスタ37に比較用のカウント値として定数j
(j>0)を設定する。ワンチップCPU60は、非同
期受信が可能となった事を非同期通信制御信号DTRを
アサートする事により送信側のPCへ通知する。
0に初期化される。また、ワンチップCPU60はニア
フル信号用のレジスタ書込信号(NFCK)をアサート
し、ニアフル信号用設定レジスタ36に比較用のカウン
ト値として定数i(i<k)を設定する。さらに、ワン
チップCPU60はニアエンプティ信号用のレジスタ書
込信号(NECK)をアサートしニアエンプティ信号用
設定レジスタ37に比較用のカウント値として定数j
(j>0)を設定する。ワンチップCPU60は、非同
期受信が可能となった事を非同期通信制御信号DTRを
アサートする事により送信側のPCへ通知する。
【0074】そして、送信側のPCから1番目の非同期
受信データ(RXD)が入力されると、FiFo書込回
路66は非同期受信データ(RXD)をデータバス41
に乗せ、チップセレクト信号(CS1)と書込信号(W
R)をアサートする。これにより、FiFoメモリ制御
回路30はデュアルポートRAM31の0番地にデータ
を書込む。
受信データ(RXD)が入力されると、FiFo書込回
路66は非同期受信データ(RXD)をデータバス41
に乗せ、チップセレクト信号(CS1)と書込信号(W
R)をアサートする。これにより、FiFoメモリ制御
回路30はデュアルポートRAM31の0番地にデータ
を書込む。
【0075】続いて、FiFo書込回路66はチップセ
レクト信号(CS1)と書込信号(WR)をネゲートす
る。このとき、書込アドレス回路32のアドレス値は+
1され、アップダウンカウンタ35のカウント値は+1
される。そして、エンプティ信号(Empty)がネー
ゲトされる。
レクト信号(CS1)と書込信号(WR)をネゲートす
る。このとき、書込アドレス回路32のアドレス値は+
1され、アップダウンカウンタ35のカウント値は+1
される。そして、エンプティ信号(Empty)がネー
ゲトされる。
【0076】次に、送信側のPCから2番目の非同期受
信データ(RXD)が入力されると、FiFo書込回路
66は非同期受信データ(RXD)をデータバス41に
乗せ、チップセレクト信号(CS1)と書込信号(W
R)をアサートする。これにより、FiFoメモリ制御
回路30はデュアルポートRAM31の1番地にデータ
を書込む。
信データ(RXD)が入力されると、FiFo書込回路
66は非同期受信データ(RXD)をデータバス41に
乗せ、チップセレクト信号(CS1)と書込信号(W
R)をアサートする。これにより、FiFoメモリ制御
回路30はデュアルポートRAM31の1番地にデータ
を書込む。
【0077】続いて、FiFo書込回路66はチップセ
レクト信号(CS1)と書込信号(WR)をネゲートす
る。このとき、書込アドレス回路32のアドレス値は+
1され、アップダウンカウンタ35のカウント値は+1
される。以上のような操作をFiFo書込回路66は繰
り返し行う。
レクト信号(CS1)と書込信号(WR)をネゲートす
る。このとき、書込アドレス回路32のアドレス値は+
1され、アップダウンカウンタ35のカウント値は+1
される。以上のような操作をFiFo書込回路66は繰
り返し行う。
【0078】そして、送信側のPCからj+1番目の非
同期受信データ(RXD)が入力されると、FiFo書
込回路66は非同期受信データ(RXD)をデータバス
41に乗せ、チップセレクト信号(CS1)と書込信号
(WR)をアサートする。FiFoメモリ制御回路30
はデュアルポートRAM31のj番地にデータを書込
む。
同期受信データ(RXD)が入力されると、FiFo書
込回路66は非同期受信データ(RXD)をデータバス
41に乗せ、チップセレクト信号(CS1)と書込信号
(WR)をアサートする。FiFoメモリ制御回路30
はデュアルポートRAM31のj番地にデータを書込
む。
【0079】続いて、FiFo書込回路66はチップセ
レクト信号(CS1)と書込信号(WR)をネゲートす
る。このとき、書込アドレス回路32のアドレス値は+
1される。また、アップダウンカウンタ35のカウント
値は+1され、そのカウント値はj+1になる。これに
より、アップダウンカウンタ35のカウント値はニアエ
ンプティ信号用設定レジスタ37に設定したカウント値
jより大きくなり、A≦Bを満たさなくなる為、ニアエ
ンプティ信号用比較回路39によりニアエンプティ信号
(Near−Empty)がネーゲトされる。
レクト信号(CS1)と書込信号(WR)をネゲートす
る。このとき、書込アドレス回路32のアドレス値は+
1される。また、アップダウンカウンタ35のカウント
値は+1され、そのカウント値はj+1になる。これに
より、アップダウンカウンタ35のカウント値はニアエ
ンプティ信号用設定レジスタ37に設定したカウント値
jより大きくなり、A≦Bを満たさなくなる為、ニアエ
ンプティ信号用比較回路39によりニアエンプティ信号
(Near−Empty)がネーゲトされる。
【0080】次に、送信側のPCからi番目の非同期受
信データ(RXD)が入力されると、FiFo書込回路
66は非同期受信データ(RXD)をデータバス41に
乗せ、チップセレクト信号(CS1)と書込信号(W
R)をアサートする。これにより、FiFoメモリ制御
回路30はデュアルポートRAM31のi−1番地にデ
ータを書込む。
信データ(RXD)が入力されると、FiFo書込回路
66は非同期受信データ(RXD)をデータバス41に
乗せ、チップセレクト信号(CS1)と書込信号(W
R)をアサートする。これにより、FiFoメモリ制御
回路30はデュアルポートRAM31のi−1番地にデ
ータを書込む。
【0081】続いて、FiFo書込回路66は、チップ
セレクト信号(CS1)と書込信号(WR)をネゲート
する。このとき、書込アドレス回路32のアドレス値は
+1される。また、アップダウンカウンタ35のカウン
ト値は+1されてそのカウント値はiになる。これによ
り、アップダウンカウンタ35のカウント値とニアフル
信号用設定レジスタ36に設定したカウント値iが等し
くなり、A≧Bを満たすようになる為、ニアフル信号用
比較回路38によりニアフル信号(Near−Ful
l)がアサートされ、ワンチップCPU60の割込端子
IR(m)に割込信号が入力され、ワンチップCPU6
0は割込処理を開始する。すなわち、ワンチップCPU
60はデュアルポートRAM31がニアフル状態であり
非同期受信が不可能になる事をDTRをネゲートする事
により送信側のPCへ通知する。
セレクト信号(CS1)と書込信号(WR)をネゲート
する。このとき、書込アドレス回路32のアドレス値は
+1される。また、アップダウンカウンタ35のカウン
ト値は+1されてそのカウント値はiになる。これによ
り、アップダウンカウンタ35のカウント値とニアフル
信号用設定レジスタ36に設定したカウント値iが等し
くなり、A≧Bを満たすようになる為、ニアフル信号用
比較回路38によりニアフル信号(Near−Ful
l)がアサートされ、ワンチップCPU60の割込端子
IR(m)に割込信号が入力され、ワンチップCPU6
0は割込処理を開始する。すなわち、ワンチップCPU
60はデュアルポートRAM31がニアフル状態であり
非同期受信が不可能になる事をDTRをネゲートする事
により送信側のPCへ通知する。
【0082】こうして、デュアルポートRAM31がフ
ル状態になる前に非同期受信が不可能になる事を送信側
のPCへ通知(送信側のPCへ出力するDTRをネーゲ
ト)することができる。この状態では、デュアルポート
RAM31に未だ空きが残っている。従って、この非同
期受信が不可能になる通知より先に送信側のPCから次
のデータであるi+1番目の非同期受信データ(RX
D)が入力されてもこれを破棄することなく、デュアル
ポートRAM31へ書込むことができる。
ル状態になる前に非同期受信が不可能になる事を送信側
のPCへ通知(送信側のPCへ出力するDTRをネーゲ
ト)することができる。この状態では、デュアルポート
RAM31に未だ空きが残っている。従って、この非同
期受信が不可能になる通知より先に送信側のPCから次
のデータであるi+1番目の非同期受信データ(RX
D)が入力されてもこれを破棄することなく、デュアル
ポートRAM31へ書込むことができる。
【0083】すなわち、非同期受信が不可能になる事の
通知より早く送信側のPCからi+1番目の非同期受信
データ(RXD)が入力されると、FiFo書込回路6
6は非同期受信データ(RXD)をデータバス41に乗
せ、チップセレクト信号(CS1)と書込信号(WR)
をアサートする。これにより、FiFoメモリ制御回路
30はデュアルポートRAM31のi+1(≦k)番地
にデータを書込む。
通知より早く送信側のPCからi+1番目の非同期受信
データ(RXD)が入力されると、FiFo書込回路6
6は非同期受信データ(RXD)をデータバス41に乗
せ、チップセレクト信号(CS1)と書込信号(WR)
をアサートする。これにより、FiFoメモリ制御回路
30はデュアルポートRAM31のi+1(≦k)番地
にデータを書込む。
【0084】続いて、FiFo書込回路66はチップセ
レクト信号(CS1)と書込信号(WR)をネゲートす
る。このとき、書込アドレス回路32のアドレス値は+
1される。また、アップダウンカウンタ35のカウント
値は+1され、そのカウント値はi+1になる。こうし
て、非同期受信が不可能になる事を送信側のPCへ通知
する前に送信側のPCから受信したデータはデュアルポ
ートRAM31へ確実に書込まれる。従って、非同期受
信データの取りこぼしが発生することはない。
レクト信号(CS1)と書込信号(WR)をネゲートす
る。このとき、書込アドレス回路32のアドレス値は+
1される。また、アップダウンカウンタ35のカウント
値は+1され、そのカウント値はi+1になる。こうし
て、非同期受信が不可能になる事を送信側のPCへ通知
する前に送信側のPCから受信したデータはデュアルポ
ートRAM31へ確実に書込まれる。従って、非同期受
信データの取りこぼしが発生することはない。
【0085】次に、ワンチップCPU60はチップセレ
クト信号(CS2)とデータリード信号(RD)をアサ
ートする。すると、FiFoメモリ制御回路30はデュ
アルポートRAM31の0番目のデータをデータバス4
1に出力する。これにより、ワンチップCPU60はデ
ータバス40のデータを読込む。
クト信号(CS2)とデータリード信号(RD)をアサ
ートする。すると、FiFoメモリ制御回路30はデュ
アルポートRAM31の0番目のデータをデータバス4
1に出力する。これにより、ワンチップCPU60はデ
ータバス40のデータを読込む。
【0086】続いて、ワンチップCPU60はチップセ
レクト信号(CS2)とデータリード信号(RD)をネ
ゲートする。このとき、FiFoメモリ制御回路30は
読出アドレス回路33のアドレス値を+1する。そし
て、アップダウンカウンタ35のカウント値は−1され
る。
レクト信号(CS2)とデータリード信号(RD)をネ
ゲートする。このとき、FiFoメモリ制御回路30は
読出アドレス回路33のアドレス値を+1する。そし
て、アップダウンカウンタ35のカウント値は−1され
る。
【0087】次に、ワンチップCPU60はチップセレ
クト信号(CS2)とデータリード信号(RD)をアサ
ートする。すると、FiFoメモリ制御回路30はデュ
アルポートRAM31の1番目のデータをデータバス4
1に出力する。これにより、ワンチップCPU60はデ
ータバス40のデータを読込む。
クト信号(CS2)とデータリード信号(RD)をアサ
ートする。すると、FiFoメモリ制御回路30はデュ
アルポートRAM31の1番目のデータをデータバス4
1に出力する。これにより、ワンチップCPU60はデ
ータバス40のデータを読込む。
【0088】続いて、ワンチップCPU60はチップセ
レクト信号(CS2)とデータリード信号(RD)をネ
ゲートする。このとき、FiFoメモリ制御回路30は
読出アドレス回路33のアドレス値を+1する。そし
て、アップダウンカウンタ35のカウント値は−1され
る。以上のような操作をワンチップCPU60は繰り返
し行う。
レクト信号(CS2)とデータリード信号(RD)をネ
ゲートする。このとき、FiFoメモリ制御回路30は
読出アドレス回路33のアドレス値を+1する。そし
て、アップダウンカウンタ35のカウント値は−1され
る。以上のような操作をワンチップCPU60は繰り返
し行う。
【0089】そして、ワンチップCPU60はチップセ
レクト信号(CS2)とデータリード信号(RD)をア
サートし、FiFoメモリ制御回路30がデュアルポー
トRAM31のj−1番目のデータをデータバス40に
出力すると、ワンチップCPU60はデータバス40の
データを読込む。
レクト信号(CS2)とデータリード信号(RD)をア
サートし、FiFoメモリ制御回路30がデュアルポー
トRAM31のj−1番目のデータをデータバス40に
出力すると、ワンチップCPU60はデータバス40の
データを読込む。
【0090】続いて、ワンチップCPU60はチップセ
レクト信号(CS2)とデータリード信号(RD)をネ
ゲートする。このとき、FiFoメモリ制御回路30は
読出アドレス回路33のアドレス値を+1する。また、
アップダウンカウンタ35のカウント値は−1されてそ
のカウント値はjになる。これにより、アップダウンカ
ウンタ35のカウント値とニアエンプティ信号用設定レ
ジスタ37に設定したカウント値jが等しくなり、A≦
Bを満たすようになる為、ニアエンプティ信号用比較回
路39によりニアエンプティ信号(Near−Empt
y)がアサートされ、ワンチップCPU60の割込端子
IR(m+1)に割込信号が入力され、ワンチップCP
U60は割込処理を開始する。すなわち、ワンチップC
PU60はデュアルポートRAM31がニアエンプティ
状態であり非同期受信が可能となった事をDTRをアサ
ートする事により送信側のPCへ通知し、IR(m)の
割込処理に戻り、その後メイン処理に戻る。こうして、
デュアルポートRAM31がエンプティ状態になる前に
非同期受信が可能となった事を送信側のPCへ通知(送
信側のPCへ出力するDTRをネーゲト)することがで
きる。
レクト信号(CS2)とデータリード信号(RD)をネ
ゲートする。このとき、FiFoメモリ制御回路30は
読出アドレス回路33のアドレス値を+1する。また、
アップダウンカウンタ35のカウント値は−1されてそ
のカウント値はjになる。これにより、アップダウンカ
ウンタ35のカウント値とニアエンプティ信号用設定レ
ジスタ37に設定したカウント値jが等しくなり、A≦
Bを満たすようになる為、ニアエンプティ信号用比較回
路39によりニアエンプティ信号(Near−Empt
y)がアサートされ、ワンチップCPU60の割込端子
IR(m+1)に割込信号が入力され、ワンチップCP
U60は割込処理を開始する。すなわち、ワンチップC
PU60はデュアルポートRAM31がニアエンプティ
状態であり非同期受信が可能となった事をDTRをアサ
ートする事により送信側のPCへ通知し、IR(m)の
割込処理に戻り、その後メイン処理に戻る。こうして、
デュアルポートRAM31がエンプティ状態になる前に
非同期受信が可能となった事を送信側のPCへ通知(送
信側のPCへ出力するDTRをネーゲト)することがで
きる。
【0091】このように、デュアルポートRAM31へ
書込信号(WR)が与えられるごとにカウントアップ動
作を行ない、デュアルポートRAM31へ読出信号(R
D)が与えられるごとにカウントダウン動作を行なうア
ップダウンカウンタ35と、このアップダウンカウンタ
35のカウント値と予め設定したデュアルポートRAM
31が満杯になる前のカウント値iと比較して、アップ
ダウンカウンタ35のカウント値が設定カウント値iに
達したとき(ニアフル信号用比較回路38のA≧Bを満
たしたとき)、デュアルポートRAM31が満杯に近い
ことを示すニアフル信号(Near−Full)を出力
(アサート)するニアフル信号出力回路とを設けたこと
により、非同期受信の受信制御をワンチップCPUが処
理不可能なスピードの非同期受信を行った場合であって
も、デュアルポートRAM31がフル状態になる前に非
同期受信が不可能になる事を送信側のPCへ通知(送信
側のPCへ出力するDTRをネーゲト)することができ
る。従って、この非同期受信が不可能になる事の通知よ
り先に送信側のPCから次の非同期受信データ(RX
D)が入力されてもこれを破棄することなく、デュアル
ポートRAM31へ書込むことができる。これにより、
データの取りこぼしを防止できる。
書込信号(WR)が与えられるごとにカウントアップ動
作を行ない、デュアルポートRAM31へ読出信号(R
D)が与えられるごとにカウントダウン動作を行なうア
ップダウンカウンタ35と、このアップダウンカウンタ
35のカウント値と予め設定したデュアルポートRAM
31が満杯になる前のカウント値iと比較して、アップ
ダウンカウンタ35のカウント値が設定カウント値iに
達したとき(ニアフル信号用比較回路38のA≧Bを満
たしたとき)、デュアルポートRAM31が満杯に近い
ことを示すニアフル信号(Near−Full)を出力
(アサート)するニアフル信号出力回路とを設けたこと
により、非同期受信の受信制御をワンチップCPUが処
理不可能なスピードの非同期受信を行った場合であって
も、デュアルポートRAM31がフル状態になる前に非
同期受信が不可能になる事を送信側のPCへ通知(送信
側のPCへ出力するDTRをネーゲト)することができ
る。従って、この非同期受信が不可能になる事の通知よ
り先に送信側のPCから次の非同期受信データ(RX
D)が入力されてもこれを破棄することなく、デュアル
ポートRAM31へ書込むことができる。これにより、
データの取りこぼしを防止できる。
【0092】また、従来はデュアルポートRAM31が
フル状態になるまでは、データの読出しが開始されなか
ったが、本実施の形態では、デュアルポートRAM31
がフル状態になる前に、すなわちニアフル信号(Nea
r−Full)が出力(アサート)されればデータの読
出しが開始されるため、従来より早くデータの読出しを
終了させることができる。このため、より早く非同期受
信が可能となった事を送信側のPCへ通知(送信側のP
Cへ出力するDTRをネーゲト)することができる。こ
のため、送信側のPCがタイムアウト機能を備えていて
も、そのタイムアウトになる前に非同期受信が可能とな
った通知を伝えることができ、送信側が接続を切断する
タイムアウトを回避できる。
フル状態になるまでは、データの読出しが開始されなか
ったが、本実施の形態では、デュアルポートRAM31
がフル状態になる前に、すなわちニアフル信号(Nea
r−Full)が出力(アサート)されればデータの読
出しが開始されるため、従来より早くデータの読出しを
終了させることができる。このため、より早く非同期受
信が可能となった事を送信側のPCへ通知(送信側のP
Cへ出力するDTRをネーゲト)することができる。こ
のため、送信側のPCがタイムアウト機能を備えていて
も、そのタイムアウトになる前に非同期受信が可能とな
った通知を伝えることができ、送信側が接続を切断する
タイムアウトを回避できる。
【0093】さらに、アップダウンカウンタ35のカウ
ント値と予め設定したデュアルポートRAM31が空に
なる前のカウント値jと比較して、アップダウンカウン
タ35のカウント値が設定カウント値jに達したときデ
ュアルポートRAM31が空に近いことを示すニアエン
プティ信号(Near−Empty)を出力(アサー
ト)するニアエンプティ信号出力回路を設けたことによ
り、デュアルポートRAM31がエンプティ状態になる
前に非同期受信が可能となった事を送信側のPCへ通知
(送信側のPCへ出力するDTRをネーゲト)すること
ができる。つまり、この非同期受信が可能となった通知
をより早く送信側のPCへ伝えることができる。このた
め、送信側のPCがタイムアウト機能を備えていても、
そのタイムアウトになる前に非同期受信が可能となった
通知を伝えることができ、送信側が接続を切断するタイ
ムアウトを回避できる。
ント値と予め設定したデュアルポートRAM31が空に
なる前のカウント値jと比較して、アップダウンカウン
タ35のカウント値が設定カウント値jに達したときデ
ュアルポートRAM31が空に近いことを示すニアエン
プティ信号(Near−Empty)を出力(アサー
ト)するニアエンプティ信号出力回路を設けたことによ
り、デュアルポートRAM31がエンプティ状態になる
前に非同期受信が可能となった事を送信側のPCへ通知
(送信側のPCへ出力するDTRをネーゲト)すること
ができる。つまり、この非同期受信が可能となった通知
をより早く送信側のPCへ伝えることができる。このた
め、送信側のPCがタイムアウト機能を備えていても、
そのタイムアウトになる前に非同期受信が可能となった
通知を伝えることができ、送信側が接続を切断するタイ
ムアウトを回避できる。
【0094】なお、本発明の実施の形態においては、実
際のアップダウンカウンタ35のカウント値Aとニアフ
ル信号出力回路のニアフル信号用比較回路38は、ニア
フル信号用設定レジスタ36に設定されたカウント値B
を比較してA≧Bを満たすときにニアフル信号(Nea
r−Full)を出力するものについて述べたが、必ず
しもこれに限定されるものではなく、A>Bを満たすと
きにニアフル信号(Near−Full)を出力するよ
うにしてもよい。
際のアップダウンカウンタ35のカウント値Aとニアフ
ル信号出力回路のニアフル信号用比較回路38は、ニア
フル信号用設定レジスタ36に設定されたカウント値B
を比較してA≧Bを満たすときにニアフル信号(Nea
r−Full)を出力するものについて述べたが、必ず
しもこれに限定されるものではなく、A>Bを満たすと
きにニアフル信号(Near−Full)を出力するよ
うにしてもよい。
【0095】また、本発明の実施の形態においては、実
際のアップダウンカウンタ35のカウント値Aとニアエ
ンプティ信号出力回路のニアエンプティ信号用比較回路
39は、ニアエンプティ信号用設定レジスタ37に設定
されたカウント値Bを比較してA≦Bを満たすときにニ
アエンプティ信号(Near−Empty)を出力する
ものについて述べたが、必ずしもこれに限定されるもの
ではなく、A>Bを満たすときにニアエンプティ信号
(Near−Empty)を出力するようにしてもよ
い。
際のアップダウンカウンタ35のカウント値Aとニアエ
ンプティ信号出力回路のニアエンプティ信号用比較回路
39は、ニアエンプティ信号用設定レジスタ37に設定
されたカウント値Bを比較してA≦Bを満たすときにニ
アエンプティ信号(Near−Empty)を出力する
ものについて述べたが、必ずしもこれに限定されるもの
ではなく、A>Bを満たすときにニアエンプティ信号
(Near−Empty)を出力するようにしてもよ
い。
【0096】
【発明の効果】以上詳述したように本発明によれば、非
同期受信の受信制御をワンチップCPUが処理不可能な
スピードの非同期受信を行なう場合におけるデータの取
りこぼしを防止し、また送信側が接続を切断するタイム
アウトを回避できるFiFoメモリ制御回路を提供でき
る。
同期受信の受信制御をワンチップCPUが処理不可能な
スピードの非同期受信を行なう場合におけるデータの取
りこぼしを防止し、また送信側が接続を切断するタイム
アウトを回避できるFiFoメモリ制御回路を提供でき
る。
【図1】本発明の実施の形態にかかるFiFoメモリ制
御回路の構成を示すブロック図。
御回路の構成を示すブロック図。
【図2】図1に示すFiFoメモリ制御回路を使用した
一般的なマイクロプロセッサ制御回路の構成を示すブロ
ック図。
一般的なマイクロプロセッサ制御回路の構成を示すブロ
ック図。
【図3】図2に示すマイクロプロセッサ制御回路につい
て、ワンチップCPU60が処理不可能なスピードの非
同期受信を行なう場合の動作
て、ワンチップCPU60が処理不可能なスピードの非
同期受信を行なう場合の動作
【図4】従来のFiFoメモリ制御回路の構成を示すブ
ロック図。
ロック図。
【図5】図4に示すFiFoメモリ制御回路を使用した
一般的なマイクロプロセッサ制御回路の構成を示すブロ
ック図。
一般的なマイクロプロセッサ制御回路の構成を示すブロ
ック図。
【図6】図5に示すマイクロプロセッサ制御回路につい
て、ワンチップCPUが処理可能なスピードの非同期受
信を行なう場合の動作タイミングを示す図。
て、ワンチップCPUが処理可能なスピードの非同期受
信を行なう場合の動作タイミングを示す図。
【図7】図5に示すマイクロプロセッサ制御回路につい
て、ワンチップCPUが処理不可能なスピードの非同期
受信を行なう場合の動作タイミングを示す図。
て、ワンチップCPUが処理不可能なスピードの非同期
受信を行なう場合の動作タイミングを示す図。
30…FiFoメモリ制御回路 31…デュアルポートRAM 32…書込アドレス回路 33…読出アドレス回路 35…アップダウンカウンタ 36…ニアフル信号用設定レジスタ 37…ニアエンプティ信号用設定レジスタ 38…ニアフル信号用比較回路 39…ニアエンプティ信号用比較回路 60…ワンチップCPU
Claims (2)
- 【請求項1】 データの読出し書込みが可能なメモリ
と、このメモリへの書込信号に基づいて書込アドレスを
発生する書込アドレス回路と、前記メモリへの読出信号
に基づいて読出アドレスを発生する読出アドレス回路と
を備えたFiFoメモリ制御回路において、 前記メモリへ書込信号が与えられるごとにカウントアッ
プ動作を行ない、前記メモリへ読出信号が与えられるご
とにカウントダウン動作を行なうアップダウンカウンタ
と、このアップダウンカウンタのカウント値と予め設定
した前記メモリが満杯になる前のカウント値と比較し
て、前記アップダウンカウンタのカウント値が前記設定
カウント値に達したとき又は前記設定カウント値を越え
たときに前記メモリが満杯に近いことを示すニアフル信
号を出力するニアフル信号出力回路とを設けたことを特
徴とするFiFoメモリ制御回路。 - 【請求項2】 前記アップダウンカウンタのカウント値
と予め設定した前記メモリが空になる前のカウント値と
比較して、前記アップダウンカウンタのカウント値が前
記設定カウント値に達したとき又は前記設定カウント値
より小さくなったときに前記メモリが空に近いことを示
すニアエンプティ信号を出力するニアエンプティ信号出
力回路を設けたことを特徴とする請求項1記載のFiF
oメモリ制御回路。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP9338468A JPH11175310A (ja) | 1997-12-09 | 1997-12-09 | FiFoメモリ制御回路 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP9338468A JPH11175310A (ja) | 1997-12-09 | 1997-12-09 | FiFoメモリ制御回路 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH11175310A true JPH11175310A (ja) | 1999-07-02 |
Family
ID=18318454
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP9338468A Pending JPH11175310A (ja) | 1997-12-09 | 1997-12-09 | FiFoメモリ制御回路 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH11175310A (ja) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6470439B2 (en) | 2000-04-20 | 2002-10-22 | Sharp Kabushiki Kaisha | FIFO memory control circuit |
| EP1482402A3 (de) * | 2003-05-27 | 2006-03-29 | Micronas GmbH | Erfassung des Füllstands eines Puffers |
| CN101232434B (zh) | 2007-01-22 | 2011-08-24 | 中兴通讯股份有限公司 | 一种利用双口ram进行异步数据传输的装置 |
| JP2011227919A (ja) * | 2000-06-09 | 2011-11-10 | Trustees Of Columbia Univ In The City Of New York | 混合された非同期および同期システム用少待ち時間fifo回路 |
-
1997
- 1997-12-09 JP JP9338468A patent/JPH11175310A/ja active Pending
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6470439B2 (en) | 2000-04-20 | 2002-10-22 | Sharp Kabushiki Kaisha | FIFO memory control circuit |
| JP2011227919A (ja) * | 2000-06-09 | 2011-11-10 | Trustees Of Columbia Univ In The City Of New York | 混合された非同期および同期システム用少待ち時間fifo回路 |
| EP1482402A3 (de) * | 2003-05-27 | 2006-03-29 | Micronas GmbH | Erfassung des Füllstands eines Puffers |
| CN101232434B (zh) | 2007-01-22 | 2011-08-24 | 中兴通讯股份有限公司 | 一种利用双口ram进行异步数据传输的装置 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP0359137B1 (en) | Universal asynchronous receiver/transmitter | |
| US5968143A (en) | Information handling system for transfer of command blocks to a local processing side without local processor intervention | |
| US5940866A (en) | Information handling system having a local address queue for local storage of command blocks transferred from a host processing side | |
| US5199105A (en) | Universal asynchronous receiver/transmitter | |
| US6970921B1 (en) | Network interface supporting virtual paths for quality of service | |
| US6925512B2 (en) | Communication between two embedded processors | |
| US5228130A (en) | Multi-channel peripheral interface using selectively flaggable channel register sets for concurrent write in response to any selected channel register write instruction | |
| JPH10207822A5 (ja) | ||
| JP2004021613A (ja) | データ転送制御装置、電子機器及びデータ転送制御方法 | |
| US5761453A (en) | Method and system for increasing the throughput of serial data in a computer system | |
| EP0772831B1 (en) | Bidirectional parallel signal interface | |
| US7058747B2 (en) | Bus system and bus interface for connection to a bus | |
| US8713239B2 (en) | Bus controller for handling split transactions | |
| JPH11175310A (ja) | FiFoメモリ制御回路 | |
| CN1109980C (zh) | 通信dma装置 | |
| US7043589B2 (en) | Bus system and bus interface | |
| US20040230717A1 (en) | Processing device | |
| JP3970728B2 (ja) | データ通信装置 | |
| CN101836401B (zh) | 以太网控制器 | |
| EP0535284A1 (en) | Method and apparatus for extending the connection capability of a communication system | |
| CN1969268B (zh) | 主机控制器、总线通信设备和操作主机控制器的方法 | |
| US6178462B1 (en) | Protocol for using a PCI interface for connecting networks | |
| EP0364720A1 (en) | Technique for implementing byte-wide UART transfers on a 16-bit data bus | |
| JPH1063617A (ja) | シリアル通信装置 | |
| KR100688477B1 (ko) | Usb 디바이스 내 엔드포인트들의 메모리 관리 방법 |