JP2002197049A - マイクロコンピュータ - Google Patents

マイクロコンピュータ

Info

Publication number
JP2002197049A
JP2002197049A JP2000395170A JP2000395170A JP2002197049A JP 2002197049 A JP2002197049 A JP 2002197049A JP 2000395170 A JP2000395170 A JP 2000395170A JP 2000395170 A JP2000395170 A JP 2000395170A JP 2002197049 A JP2002197049 A JP 2002197049A
Authority
JP
Japan
Prior art keywords
register
input
timer
signal
output
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
Application number
JP2000395170A
Other languages
English (en)
Inventor
Tadahiro Ushiro
忠広 後呂
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sharp Corp
Original Assignee
Sharp Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sharp Corp filed Critical Sharp Corp
Priority to JP2000395170A priority Critical patent/JP2002197049A/ja
Priority to DE60121537T priority patent/DE60121537T2/de
Priority to EP01310570A priority patent/EP1220109B1/en
Priority to US10/021,020 priority patent/US6826633B2/en
Priority to KR1020010084955A priority patent/KR20020053021A/ko
Priority to CNB011432985A priority patent/CN1199113C/zh
Priority to TW090132339A priority patent/TWI223152B/zh
Publication of JP2002197049A publication Critical patent/JP2002197049A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • G06F15/7814Specially adapted for real time processing, e.g. comprising hardware timers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Microcomputers (AREA)

Abstract

(57)【要約】 【課題】 特殊な製造技術や製造工程を使用することな
く、また、専用マイクロコンピュータのように長期の開
発日程を要することなく、汎用マイクロコンピュータよ
りも専用マイクロコンピュータに近い高機能な周辺回路
機能をソフトウェア処理により実現することができるよ
うにしたマイクロコンピュータを提供する。 【解決手段】 複数の周辺回路2、3、5、6、7を備
えたマイクロコンピュータにおいて、複数の周辺回路
2、3、5、6、7間の接続関係をプログラムで制御す
るための接続回路4を備える。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、複数の周辺回路を
備えたマイクロコンピュータに関するものである。
【0002】
【従来の技術】マイクロコンピュータは、中央処理装置
(CPU)、データ及びプログラム用のメモリの他にI
/Oポート、タイマカウンタなどの各種の周辺回路で構
成されている。また、マイクロコンピュータには専用と
汎用とがあり、専用マイクロコンピュータはASICと
も呼ばれている。
【0003】専用マイクロコンピュータの場合、個別の
用途に応じて周辺回路を設計するため、効率の良い処理
能力を期待できるが、その反面、新規設計部分の開発期
間が必要であり、マイクロコンピュータを組み込む装置
の開発日程によっては、開発が間に合わないことがあ
る。
【0004】汎用マイクロコンピュータは、様々な用途
への対応を考慮するため、その機能は多様化している。
しかしながら、それらの機能または性能が対象にするア
プリケーションが要求する仕様を満たすとは限らない。
そのため、要求される仕様を満足することができるよう
な機種を選択することになるが、その機種に搭載されて
いる機能が要求される仕様を満足することができるか否
かの見極めが難しく、その見極めを誤った場合、プログ
ラム設計中にマイクロコンピュータの機種変更やアプリ
ケーションの仕様変更を招くという事態にもなりかねな
い。いずれにせよ、マイクロコンピュータの機種選択を
誤った場合、アプリケーションの開発が遅れてしまう。
【0005】汎用マイクロコンピュータでは、複数の周
辺回路を連動させて動作させることにより、高機能を実
現しようと工夫されている。例えば、タイマカウンタと
I/Oポートとの連動により実現する「インプットキャ
プチャ」という機能がある。
【0006】この機能は、外部入力信号の立ち上がりま
たは立ち下がりエッジが検出される度にタイマのカウン
ト値を専用のレジスタに格納するというものであり、外
部入力信号がハイレベルまたはローレベルである時間を
測定する場合などに有効である。
【0007】タイマが4[MHz]のシステムクロックで動
作しており、外部入力信号としてハイレベルが1.5[μ
s]、ローレベルが0.5[μs]のパルスが入力される場合
を例に挙げて、外部入力信号の時間測定について図21
を用いて説明する。外部入力信号EXT_INが立ち上
がるまたは立ち下がる毎に、タイマのカウント値Tが専
用のレジスタRに格納され、その後、カウント値Tがリ
セットされてからタイマがカウントを再開する。
【0008】また、外部入力信号EXT_INが立ち上
がるまたは立ち下がる毎に、割り込み要求が発生する。
外部入力信号EXT_INによる割り込み要求発生時の
ソフト処理では、そのフローチャートを図22に示すよ
うに、割り込み要求が発生した原因が外部入力信号EX
T_INの立ち上がりであるか否かを判定する(S80
1)。立ち上がりであれば(S801のYes)、レジ
スタRの値を外部入力信号EXT_INのローレベルで
ある時間(以下、ロー時間)として待避させる(S80
2)。一方、立ち上がりでなければ(S801のN
o)、レジスタRの値を外部入力信号EXT_INのハ
イレベルである時間(以下、ハイ時間)として待避させ
る(S803)。
【0009】ここで、タイマのカウント値は同じレジス
タに上書きされるので、新しい値が上書きされる前にレ
ジスタの値を待避させる必要があるが、今の例では、外
部入力信号のハイ時間を待避するのに使える時間は0.
5[μs]しかない。これは4[MHz]のシステムクロックで
動作するCPUでは2ステートに相当するが、2ステー
ト以内に割り込み処理のある番地までジャンプして、割
り込みソフト処理を実行し終えるのが不可能である場合
が考えられる。
【0010】この場合、測定を可能にするためには、2
つのインプットキャプチャ機能を使用する必要がある。
すなわち、インプットキャプチャ機能をもつ2つのI/
Oポートに測定対象の信号を入力し、2つのタイマで別
々の時間を測定する。これについて図23を用いて説明
する。
【0011】一方のインプットキャプチャ機能により、
その外部入力信号EXT_IN1の立ち上がり及び立ち
下がりで、タイマのカウント値T1がレジスタR1に格
納された後、カウント値T1がリセットされてからタイ
マがカウントを再開する。そして、他方のインプットキ
ャプチャ機能により、その外部入力信号EXT_IN2
が立ち下がる毎に、タイマのカウント値T2がレジスタ
R2に格納された後、カウント値T2がリセットされて
からタイマがカウントを再開する。
【0012】また、外部入力信号EXT_IN1の立ち
上がり及び立ち下がり、並びに、外部入力信号EXT_
IN2の立ち下がりで割り込み要求が発生する。割り込
み要求発生時のソフト処理のフローチャートを図24及
び図25に示す。外部入力信号EXT_IN1により割
り込み要求が発生した場合、割り込み要求が発生した原
因が外部入力信号EXT_IN1の立ち上がりであれば
(S901のYes)、対応するレジスタR1の値をロ
ー時間として待避させる(S902)。一方、外部入力
信号EXT_IN2により割り込み要求が発生した場
合、対応するレジスタR2の値からレジスタR1に待避
させているロー時間を引いた値をハイ時間として待避さ
せる(S1001)。
【0013】しかしながら、この方法では、タイマ以外
にI/Oポートを余分に使ってしまうことになる。マイ
クロコンピュータが専用チップであれば、単一の端子か
らの信号を異なる回路ブロックに供給することになる。
さらに、問題となるのは、この方法にプログラマが思い
至るまでに消費する時間である。
【0014】また、プログラマがこの方法を考えついた
としても、インプットキャプチャ機能をもつI/Oポー
トが余っている必要がある。マイクロコンピュータを組
み込む装置が開発される経緯で、マイクロコンピュータ
のプログラム開発が行われているときには、マイクロコ
ンピュータを含む回路は決定している場合がほとんどで
ある。
【0015】このようなことから、マイクロコンピュー
タのプログラミング中に特殊な機能をもつI/Oポート
の仕様割り当てを変更しなければならない事態が発生す
れば、装置全体の開発計画に影響を及ぼしかねない。ま
た、装置設計の初期に、すなわち、マイクロコンピュー
タの機種選択時に、このような特殊な機能をもつI/O
ポートの2つもが1つの信号測定のために占有されると
いう事態を予想できるかどうか疑問である。
【0016】このように、汎用マイクロコンピュータを
特殊なオペレーションを含んだ装置に組み込む場合、予
想外の事態が発生することは少なくなく、それが装置全
体の開発計画の遅延を招くこともしばしば起こる。
【0017】尚、専用マイクロコンピュータの開発時間
がとれず、汎用コンピュータの周辺回路機能で装置の供
給仕様を満足することができるか否かの見極めが難しい
場合、特開平5−127913号の公報に開示されてい
るように、プログラマブルゲートアレイで所望の周辺回
路をプログラムと同時に開発する方法も考えられる。
【0018】しかしながら、プログラムゲートアレイの
原理からして、同じ周辺回路機能を実現するためには回
路面積が大きくなる。また、必要な周辺回路機能が不明
なため、ゲート数を多めに確保しておく必要があり、専
用マイクロコンピュータよりもコストが高くなる。さら
に、プログラマブルゲートアレイの製造プロセスは特殊
であるため、これらを同一チップ上に製造するためには
特殊な技術が必要になり、装置に組み込むためのマイク
ロコンピュータで実用になっていないのが現状である。
【0019】
【発明が解決しようとする課題】このように、専用コン
ピュータでは開発日程が長いという問題があり、汎用マ
イクロコンピュータでは装備されている周辺回路機能が
組み込み対象の装置が要求する仕様を満足するか否かの
見極めが難しく、プログラム開発中に装置の要求仕様を
満足しないことが判明した場合、汎用マイクロコンピュ
ータの機種変更や装置の仕様変更を余儀なくされる。
【0020】汎用マイクロコンピュータの限定された周
辺回路機能で装置の要求仕様を満たす方法をプログラマ
が考え出したとしても、それがプログラムだけで対応可
能とは限らず、装置全体の回路変更が必要な場合もあ
る。また、そのような特殊な解決方法をプログラマが考
え出すのにも時間を要する。いずれにせよ、装置全体の
開発計画の遅延につながる。
【0021】また、装置設計においては製造コストの問
題から選択できる汎用マイクロコンピュータの機種が限
定されることがほとんどであるにもかかわらず、装置の
要求仕様を満足する周辺回路機能がコスト的に上の機種
にしか用意されていない場合などには、選択の余地が与
えられず、コスト高を招く。
【0022】そこで、本発明は、特殊な製造技術や製造
工程を使用することなく、また、専用マイクロコンピュ
ータのように長期の開発日程を要することなく、汎用マ
イクロコンピュータよりも専用マイクロコンピュータに
近い高機能な周辺回路機能を実現することができるよう
にしたマイクロコンピュータを提供することを目的とす
る。
【0023】
【課題を解決するための手段】上記の目的を達成するた
め、本発明では、複数の周辺回路を備えたマイクロコン
ピュータにおいて、複数の周辺回路間の接続関係をプロ
グラムで制御するための接続回路を備えている。
【0024】この構成により、個々の基本的な周辺回路
を、接続のための回路を用いてプログラムで接続するこ
とによって、個々の基本的な周辺回路では実現し得ない
高機能を実現することができるようになる。
【0025】
【発明の実施の形態】以下に、本発明の実施形態を図面
を参照しながら説明する。本発明の一実施形態であるマ
イクロコンピュータのブロック図を図1に示す。同図に
おいて、1はCPU、2は入力レジスタ、3は出力レジ
スタ、4は接続回路、5は第1のタイマ、6は第2のタ
イマ、7は論理回路、8はデータバスである。
【0026】周辺回路の1つである第1のタイマ5、第
2のタイマ6はそれぞれ図2、図3に示すようにダウン
カウンタで構成されている。ダウンカウンタの動作は次
の通りである。
【0027】カウント値は不図示のクロック信号に同期
して1ずつ小さくなる。端子Startへの入力の立ち
上がりエッジでカウントを開始する。端子Stopへの
入力の立ち上がりエッジでカウントを停止する。端子O
UT0〜OUT7からは現在のカウント値を示す8ビッ
トの信号を出力する。カウント値にオーバーフローが発
生したとき(カウント値が0x00になったとき)には、端
子Overflowからの出力がハイレベルになる。
【0028】端子Resetへの入力の立ち上がりエッ
ジでリセットがかかる。すなわち、端子IN0〜IN7
に入力される8ビットの信号が示す値にカウント値が設
定されるとともに、端子Overflowからの出力が
ローレベルになる。また、端子Resetへの入力がハ
イレベルである間は、端子Startへの入力は無効に
なる(端子Startへの入力に立ち上がりエッジが生
じてもカウントを開始することはない)。
【0029】尚、本実施形態では、第1のタイマ5にオ
ーバーフローが発生すると、割り込み要求を発生する回
路、及び、第2のタイマ6にオーバーフローが発生する
と、割り込み要求を発生する回路が設けられている。
【0030】周辺回路の基本部品の1つである論理回路
7は、図4に示すように、3入力のORゲート701、
フリップフロップ702、インバータ703、ANDゲ
ート704、ANDゲート705、ORゲート706、
及び、インバータ707から成っている。
【0031】入力信号IN1、IN2、IN3はORゲ
ート701に入力されている。フリップフロップ702
では、データ端子Dに自身の反転端子Q’から出力され
る信号が入力されており、クロック端子CKにORゲー
ト701から出力される信号が入力されており、リセッ
ト端子Rに入力信号D_RESETが入力されている。
インバータ703には入力信号TRGが入力されてい
る。
【0032】ANDゲート704には、ORゲート70
1から出力される信号、及び、インバータ703から出
力される信号が入力されている。ANDゲート705に
は、入力信号TRG、及び、フリップフロップ702の
反転端子Q’から出力される信号が入力されている。
【0033】ORゲート706にはANDゲート704
から出力される信号、及び、ANDゲート705から出
力される信号が入力されている。ORゲート706から
出力される信号は出力信号OUT1として出力されると
ともに、インバータ707を介して出力信号OUT2と
して出力される。
【0034】以上より、論理回路7では、入力信号TR
Gがローレベルであるときには、出力信号OUT1及び
OUT2にはORゲート701から出力される信号が反
映され、入力信号IN1、IN2、IN3のいずれか1
つでもハイレベルならば、出力信号OUT1はハイレベ
ル、出力信号OUT2はローレベルとなり、入力信号I
N1、IN2、IN3の全てがローレベルならば、出力
信号OUT1はローレベル、出力信号OUT2はハイレ
ベルとなる。
【0035】一方、入力信号TRGがハイレベルである
ときには、入力信号D_RESETがハイレベルであれ
ば、出力信号OUT1はハイレベル、出力信号OUT2
はローレベルであり、また、入力信号D_RESETが
ローレベルであるときには、入力信号IN1、IN2、
IN3について、全てがローレベルである状態から、い
ずれか1つでもハイレベルである状態になる毎に、出力
信号OUT1及びOUT2が反転する。
【0036】周辺回路の1つである入力レジスタ2は、
図5に示すように32ビットのラッチ回路で構成されて
おり、端子D0〜D31に入力される32ビットの信号
INREG0〜INREG31の値を不図示のクロック
信号に同期して取り込むとともに、CPU1が予め決め
られた特定のアドレスをリードしようとするときにアド
レスデコーダから出力される信号CPU_RDがハイレ
ベルであるときには、信号INREG0〜INREG3
1の最後に取り込んだ値を端子O0〜O31からデータ
バス8上に出力する。すなわち、信号CPU_RDがハ
イレベルであるときには、データバス8上の32ビット
の信号CPU_BUS0〜31の値は、入力レジスタ2
によって最後に取り込まれた信号INREG0〜INR
EG31の値になる。
【0037】入力レジスタ2にはCPU1のメモリ領域
としてアドレス0xF0000000が割り当てられており、この
割り当てられたアドレスをCPU1のプログラムでリー
ドアクセスすると、信号CPU_RDがハイレベルにな
るようになっている。
【0038】周辺回路の1つである出力レジスタ3は、
図6に示すように32ビットのラッチ回路で構成されて
おり、CPU1が予め決められた特定のアドレスにライ
トしようとするときにアドレスデコーダから出力される
信号CPU_WRがハイレベルであるときには、不図示
のクロック信号に同期してデータバス8上の32ビット
の信号CPU_BUS0〜31の値を端子D0〜D31
から取り込むとともに、最後に取り込んだ値を端子O0
〜O31から出力する。出力レジスタ3の端子O0〜O
31から出力される32ビットの信号OUTREG0〜
31は接続回路4に入力されている。
【0039】尚、出力レジスタ3にはCPU1のメモリ
領域としてアドレス0xF0000004が割り当てられており、
この割り当てられたアドレスをCPU1のプログラムで
ライトアクセスすると、信号CPU_WRがハイレベル
になるようになっている。また、信号CPU_WRがロ
ーレベルであるときには、出力レジスタ3の端子O0〜
O31から出力される信号OUTREG0〜OUTRE
G31は変化しないようになっている。
【0040】接続回路4は、図7に示すセレクタ401
〜412、及び、図8に示すセレクタ413〜416で
構成されている。セレクタ401〜412は、端子S
0、S1、及び、S2に入力される信号の状態に応じ
て、端子D0、D1、D2、D3、D4、D5の中から
1つを選択し、選択した端子に入力される信号を端子O
UTから出力する。端子S0、S1、及び、S2に入力
される信号の状態と、選択される端子との関係を図9に
示しておく。尚、同図中において、1はハイレベルであ
ること、0はローレベルであることをそれぞれ示す。
【0041】但し、端子CSに入力される信号がローレ
ベルであるときには、端子S0、S1、及び、S2に入
力される信号の状態が変化しても、端子D0、D1、D
2、D3、D4、D5の選択状態は変化しない、言い換
えれば、端子OUTから出力される信号は変化しない。
【0042】セレクタ401〜412の端子D0、D
1、D2、D3、D5には、それぞれ第1のタイマ5の
端子Overflowから出力される信号OVERFL
OW1、第2のタイマ6の端子Overflowから出
力される信号OVERFLOW2、論理回路7の出力信
号OUT1、OUT2、マイクロコンピュータの外部か
ら入力される割り込み付き外部入力信号EXT_IN/
INTが入力されている。尚、割り込み付き外部入力信
号とは、その立ち上がりエッジ及び立ち下がりエッジで
割り込み要求が発生する回路に入力されている信号のこ
とである。
【0043】セレクタ401、402、…、412の端
子D4には、それぞれ出力レジスタ3の端子O16から
出力される信号OUTREG16、端子O17から出力
される信号OUTREG17、…、端子O27から出力
される信号OUTREG27が入力されている。
【0044】セレクタ401の端子S0、S1、S2に
は、それぞれデータバス8上の信号CPU_BUS0、
CPU_BUS1、CPU_BUS2が入力されてい
る。セレクタ402の端子S0、S1、S2には、それ
ぞれデータバス8上の信号CPU_BUS3、CPU_
BUS4、CPU_BUS5が入力されている。セレク
タ403の端子S0、S1、S2には、それぞれデータ
バス8上の信号CPU_BUS6、CPU_BUS7、
CPU_BUS8が入力されている。セレクタ404の
端子S0、S1、S2には、それぞれデータバス8上の
信号CPU_BUS9、CPU_BUS10、CPU_
BUS11が入力されている。セレクタ405の端子S
0、S1、S2には、それぞれデータバス8上の信号C
PU_BUS12、CPU_BUS13、CPU_BU
S14が入力されている。セレクタ406の端子S0、
S1、S2には、それぞれデータバス8上の信号CPU
_BUS15、CPU_BUS16、CPU_BUS1
7が入力されている。
【0045】セレクタ407の端子S0、S1、S2に
は、それぞれデータバス8上の信号CPU_BUS1
8、CPU_BUS19、CPU_BUS20が入力さ
れている。セレクタ408の端子S0、S1、S2に
は、それぞれデータバス8上の信号CPU_BUS2
1、CPU_BUS22、CPU_BUS23が入力さ
れている。セレクタ409の端子S0、S1、S2に
は、それぞれデータバス8上の信号CPU_BUS2
4、CPU_BUS25、CPU_BUS26が入力さ
れている。セレクタ410の端子S0、S1、S2に
は、それぞれデータバス8上の信号CPU_BUS2
7、CPU_BUS28、CPU_BUS29が入力さ
れている。セレクタ411の端子S0、S1、S2に
は、それぞれデータバス8上の信号CPU_BUS0、
CPU_BUS1、CPU_BUS2が入力されてい
る。セレクタ412の端子S0、S1、S2には、それ
ぞれデータバス8上の信号CPU_BUS3、CPU_
BUS4、CPU_BUS5が入力されている。
【0046】セレクタ401〜410の各端子CSに
は、CPU1のアドレスデコーダから出力される信号C
PU_WR_S1が入力されている。セレクタ411及
び412の各端子CSには、CPU1のアドレスデコー
ダから出力される信号CPU_WR_S2が入力されて
いる。
【0047】尚、セレクタ401〜410には、CPU
1のメモリ領域としてアドレス0xF0000008が割り当てら
れており、この割り当てられたアドレスをCPU1のプ
ログラムでライトアクセスすると、信号CPU_WR_
S1がハイレベルになるようになっている。また、セレ
クタ411及び412には、CPU1のメモリ領域とし
てアドレス0xF000000Cが割り当てられており、この割り
当てられたアドレスをCPU1のプログラムでライトア
クセスすると、信号CPU_WR_S2がハイレベルに
なるようになっている。
【0048】セレクタ401の端子OUTから出力され
る信号は、第1のタイマ5の端子Startに入力され
る信号START1になっている。セレクタ402の端
子OUTから出力される信号は、第1のタイマ5の端子
Resetに入力される信号RESET1になってい
る。セレクタ403の端子OUTから出力される信号
は、第1のタイマ5の端子Stopに入力される信号S
TOP1になっている。
【0049】セレクタ404の端子OUTから出力され
る信号は、第2のタイマ6の端子Startに入力され
る信号START2になっている。セレクタ405の端
子OUTから出力される信号は、第2のタイマ6の端子
Resetに入力される信号RESET2になってい
る。セレクタ406の端子OUTから出力される信号
は、第2のタイマ6の端子Stopに入力される信号S
TOP2になっている。
【0050】セレクタ407、408、409、41
0、411の端子OUTから出力される信号は、それぞ
れ論理回路7の入力信号IN1、IN2、IN3、TR
G、D_RESETになっている。セレクタ412の端
子OUTから出力される信号はマイクロコンピュータの
外部に出力される信号EXT_OUTになっている。
【0051】セレクタ413〜416は、端子S0に入
力される信号の状態に応じて、端子D1_0、D1_
1、…、D1_7の組み合わせと、端子D2_0、D2
_1、…、D2_7の組み合わせとのいずれか一方を選
択し、選択した組み合わせの端子に入力される8ビット
の信号を端子O0〜O7から出力する。端子S0に入力
される信号がローレベルであるときには、端子D1_
0、D1_1、…、D1_7の組み合わせを選択し、一
方、端子S0に入力される信号がハイレベルであるとき
には、端子D2_0、D2_1、…、D2_7の組み合
わせを選択する。尚、端子CSに入力される信号がロー
レベルであるときには、端子S0に入力される信号の状
態が変化しても、端子の選択状態は変化しない、言い換
えれば、端子O0〜O7から出力される信号は変化しな
い。
【0052】セレクタ413及び414の端子D1_
0、D1_1、…、D1_7、及び、D2_0、D2_
1、…、D2_7には、それぞれ出力レジスタ3から出
力される下位16ビットの信号OUTREG0、1、
…、7、8、9、…、15が入力されている。
【0053】セレクタ415及び416では、端子D1
_0〜D1_7には第1のタイマ5の端子OUT0〜O
UT7から出力される8ビットの信号DOUT1_0〜
DOUT1_7が、端子D2_0〜D2_7には第2の
タイマ6の端子OUT0〜OUT7から出力される8ビ
ットの信号DOUT2_0〜DOUT2_7がそれぞれ
入力されている。
【0054】セレクタ413、414、415、416
の端子S0には、それぞれデータバス8上の信号CPU
_BUS0、CPU_BUS1、CPU_BUS2、C
PU_BUS3が入力されている。
【0055】セレクタ413〜416の各端子CSに
は、CPU1のアドレスデコーダから出力される信号C
PU_WR_S3が入力されている。尚、セレクタ41
3〜416には、CPU1のメモリ領域としてアドレス
0xF0000010が割り当てられており、この割り当てられた
アドレスをCPU1のプログラムでライトアクセスする
と、信号CPU_WR_S3がハイレベルになるように
なっている。
【0056】セレクタ413の端子O0〜O7から出力
される信号は、第1のタイマ5の端子IN0〜IN7に
入力される8ビットの信号DIN1_0〜DIN1_7
になっている。セレクタ414の端子O0〜O7から出
力される信号は、第2のタイマ6の端子IN0〜IN7
に入力される8ビットの信号DIN2_0〜DIN2_
7になっている。
【0057】セレクタ415の端子O0〜O7から出力
される信号は、入力レジスタ2の端子D0〜D7に入力
される信号INREG0〜INREG7になっている。
セレクタ416の端子O0〜O7から出力される信号
は、入力レジスタ2の端子D8〜D15に入力される信
号INREG8〜INREG15になっている。
【0058】プログラムでは、データバス8への入出力
には、不図示の32ビットのレジスタReg0〜Reg
31を使用する。すなわち、データバス8上の信号CP
U_BUS0は、レジスタReg0のビットを1にする
とハイレベルになり、レジスタReg0のビットを0に
するとローレベルになる。また、データバス8上の信号
CPU_BUS0がハイレベルであるときにレジスタR
eg0の値を評価すると1になり、信号CPU_BUS
0がローレベルであるときにレジスタReg0の値を評
価すると0になる。この関係は、レジスタReg1とデ
ータバス8上の信号CPU_BUS1、レジスタReg
2とデータバス8上の信号CPU_BUS2、…、レジ
スタReg31とデータバス8上の信号CPU_BUS
31についても同じである。
【0059】所定の機能をもった周辺回路を構築するた
めのプログラムのフローチャートの一例を図10に示
す。まず、レジスタReg0=1、レジスタReg1=
1、レジスタReg2=0、レジスタReg3=0、レ
ジスタReg4=0、レジスタReg5=1、レジスタ
Reg6=0、レジスタReg7=1、レジスタReg
8=0、レジスタReg9=0、レジスタReg10=
1、レジスタReg11=0、レジスタReg12=
0、レジスタReg13=0、レジスタReg14=
1、レジスタReg15=1、レジスタReg16=
1、レジスタReg17=0、レジスタReg18=
1、レジスタReg19=0、レジスタReg20=
1、レジスタReg21=0、レジスタReg22=
0、レジスタReg23=1、レジスタReg24=
0、レジスタReg25=0、レジスタReg26=
1、レジスタReg27=0、レジスタReg28=
0、レジスタReg29=1にする(S101)。
【0060】次に、アクセスするアドレスを接続回路4
のセレクタ401〜410に設定する、すなわち、アド
レス0xF0000008にライトアクセスする(S102)。こ
れにより、セレクタ401〜410の端子CSに入力さ
れる信号CPU_WR_S1がハイレベルになり、セレ
クタ401〜410で選択される信号を切り換えられ
る。
【0061】次に、レジスタReg0=0、レジスタR
eg1=0、レジスタReg2=1にする(S10
3)。次に、アクセスするアドレスを接続回路4のセレ
クタ411に設定する、すなわち、アドレス0xF000000C
にライトアクセスする(S104)。これにより、セレ
クタ411の端子CSに入力される信号CPU_WR_
S2がハイレベルになり、セレクタ411で選択される
信号が切り換えられる。
【0062】S101〜S104の処理により、論理回
路7のインバータ707からの出力信号OUT2、出力
レジスタ3の端子O17からの出力信号OUTREG1
7、論理回路7のANDゲート706からの出力信号O
UT1が、それぞれ第1のタイマ5の端子Startへ
の入力信号START1、端子Resetへの入力信号
RESET1、端子Stopへの入力信号STOP1に
なる。
【0063】また、論理回路7のANDゲート706か
らの出力信号OUT1、出力レジスタ3の端子O20か
らの出力信号OUTREG20、論理回路7のインバー
タ707からの出力信号OUT2が、それぞれ第2のタ
イマ6の端子Startへの入力信号START2、端
子Resetへの入力信号RESET2、端子Stop
への入力信号STOP2になる。
【0064】また、外部入力信号EXT_IN/IN
T、出力レジスタ3の端子O23からの出力信号OUT
REG23、端子O24からの出力信号OUTREG2
4、端子O25からの出力信号OUTREG25、端子
O26からの出力信号OUTREG26が、それぞれ論
理回路7のORゲート701への入力信号IN1、IN
2、IN3、インバータ703及びANDゲート705
への入力信号TRG、フリップフロップ702の端子R
への入力信号D_RESETになる。
【0065】次に、レジスタReg0=0、レジスタR
eg1=1、レジスタReg2=0、レジスタReg3
=1にする(S105)。次に、アクセスするアドレス
を接続回路4のセレクタ413〜416に設定する、す
なわち、アドレス0xF0000010にライトアクセスする(S
106)。これにより、セレクタ413〜416の端子
CSに入力される信号CPU_WR_S3がハイレベル
になり、セレクタ413〜416で選択される信号が切
り換えられる。
【0066】S105及びS106の処理により、出力
レジスタ3の端子O0〜O7からの出力信号OUTRE
G0〜OUTREG7が第1のタイマ5の端子IN0〜
IN7への入力信号DIN1_0〜DIN1_7にな
り、出力レジスタ3の端子O8〜O15からの出力信号
OUTREG8〜OUTREG15が第2のタイマ6の
端子IN0〜IN7への入力信号DIN2_0〜DIN
2_7になり、第1のタイマ5の端子OUT0〜OUT
7からの出力信号DOUT1_1〜DOUT1_7が入
力レジスタ2の端子D0〜D7への入力信号INREG
0〜INREG7になり、第2のタイマ6の端子OUT
0〜OUT7からの出力信号DOUT2_1〜DOUT
2_7が入力レジスタ2の端子D8〜D15への入力信
号INREG8〜INREG15になる。したがって、
図11に示すような周辺回路が構築される。
【0067】次に、レジスタReg0〜7の値を全て
1、レジスタReg8〜15の値を全て1、レジスタR
eg17の値を1、レジスタReg20の値を1、レジ
スタReg23の値を0、レジスタReg24の値を
0、レジスタReg25の値を0、レジスタReg26
の値を1にする(S107)。
【0068】次に、アクセスするアドレスを出力レジス
タ3に設定する、すなわち、アドレス0xF0000004にライ
トアクセスする(S108)。これにより、出力レジス
タ3の入力信号CPU_WRがハイレベルになり、出力
レジスタ3がデータバス8上の信号を取り込む状態にな
る。
【0069】S107及びS108の処理により、第1
のタイマ5及び第2のタイマ6では、端子IN0〜IN
7への入力が全てハイレベル、端子Resetへの入力
がハイレベルになり、また、論理回路7では、ORゲー
ト701への外部入力信号EXT_IN以外の2入力が
ローレベル、フリップフロップ702の端子Rへの入力
がハイレベル、インバータ703への入力、及び、AN
Dゲート705への1入力がハイレベルになる。
【0070】したがって、外部入力信号EXT_IN/
INTが立ち上がる毎に、第1のタイマ5の端子Sta
rtへの入力、及び、第2のタイマ6の端子Stopへ
の入力が立ち上がる。また、外部入力信号EXT_IN
/INTが立ち下がる毎に、第1のタイマ5の端子St
opへの入力、及び、第2のタイマ6の端子Start
への入力が立ち上がる。但し、第1のタイマ5の端子R
esetへの入力、及び、第2のタイマ6の端子Res
etへの入力がハイレベルであるので、第1のタイマ5
及び第2のタイマ6にはリセットがかかった状態になっ
ており、第1のタイマ5及び第2のタイマ6がカウント
動作をすることはない。
【0071】外部入力信号EXT_IN/INTのハイ
時間及びロー時間の測定を開始するためのプログラムの
フローチャートを図12に示す。まず、レジスタReg
17の値を0、レジスタReg20の値を0、レジスタ
Reg23の値を0、レジスタReg24の値を0、レ
ジスタReg25の値を0、レジスタReg26の値を
1にする(S201)。次に、アクセスするアドレスを
出力レジスタ3に設定する、すなわち、アドレス0xF000
0004にライトアクセスする(S202)。
【0072】この処理により、論理回路7では、ORゲ
ート701への外部入力信号EXT_IN以外の2入力
がローレベル、フリップフロップ702の端子Rへの入
力がハイレベル、インバータ703への入力、及び、A
NDゲート705への1入力がハイレベルになる。ま
た、第1のタイマ5及び第2のタイマ6の端子Rese
tへの入力がローレベルになり、第1のタイマ5及び第
2のタイマ6のリセットが解除される。したがって、第
1のタイマ5は、外部入力信号EXT_IN/INTの
立ち下がりでカウント値0xFFからカウントを開始し、外
部入力信号EXT_IN/INTの立ち上がりでカウン
トを停止する状態になる。また、第2のタイマ6は、外
部入力信号EXT_IN/INTの立ち上がりでカウン
ト値0xFFからカウントを開始し、外部入力信号EXT_
IN/INTの立ち下がりでカウントを停止する状態に
なる。
【0073】次に、外部入力信号EXT_IN/INT
のハイ時間及びロー時間の測定を開始した後、外部入力
信号EXT_IN/INTの立ち上がりあるいは立ち下
がりに伴って割り込み要求が発生した場合に行うプログ
ラムのフローチャートを図13に示す。まず、アクセス
するアドレスを入力レジスタ2に設定する、すなわち、
アドレス0xF0000000にリードアクセスする(S30
1)。次に、外部入力信号EXT_IN/INTの立ち
上がりであるか否かを判定する(S302)。
【0074】S302での判定の結果、立ち上がりであ
れば(S302のYes)、レジスタReg0〜7の値
をソフト処理で使用するRAMなどに待避させる(S3
03)。次に、レジスタReg0〜7の値を全て1、レ
ジスタReg17の値を1、レジスタReg20の値を
0、レジスタReg23の値を0、レジスタReg24
の値を0、レジスタReg25の値を0、レジスタRe
g26の値を1にする(S304)。次に、アクセスす
るアドレスを出力レジスタ3に設定する、すなわち、ア
ドレス0xF0000004にライトアクセスする(S305)。
次に、レジスタReg17の値を0にする(S30
6)。次に、アクセスするアドレスを出力レジスタ3に
設定する(S311)。
【0075】一方、S302での判定の結果、立ち上が
りでなければ(S302のNo)、レジスタReg8〜
15の値をソフト処理で使用するRAMなどに待避させ
る(S307)。次に、レジスタReg8〜15の値を
全て1、レジスタReg17の値を0、レジスタReg
20の値を1、レジスタReg23の値を0、レジスタ
Reg24の値を0、レジスタReg25の値を0、レ
ジスタReg26の値を1にする(S308)。次に、
アクセスするアドレスを出力レジスタ3に設定する、す
なわち、アドレス0xF0000004にライトアクセスする(S
309)。次に、レジスタReg20の値を0にする
(S310)。次に、アクセスするアドレスを出力レジ
スタ3に設定する(S311)。
【0076】以上のプログラムにより、第1のタイマ5
のカウント値T1及び第2のタイマ6のカウント値T
2、並びに、レジスタReg0〜7及びレジスタReg
8〜15の値が外部入力信号EXT_IN/INTに応
じて図14に示すように変化する。但し、外部入力信号
EXT_IN/INTのロー時間が0.5[μs]、ハイ時
間が1.5[μs]、第1のタイマ5及び第2のタイマ6の
クロック信号の周波数を4[MHz]であると想定してい
る。
【0077】すなわち、外部入力信号EXT_IN/I
NTが立ち上がると、第1のタイマ5のカウント値T1
がレジスタReg0〜7に格納され、その後、レジスタ
Reg0〜7の値が待避され、その後、第1のタイマ5
に一時的にリセットがかかり、そのカウント値T1が0x
FFに設定される。尚、外部入力信号EXT_IN/IN
Tが立ち上がると、第1のタイマ5がカウントを停止す
るとともに、第2のタイマ6がカウント値0xFFからカウ
ントを開始する。
【0078】また、外部入力信号EXT_IN/INT
が立ち下がると、第2のタイマ6のカウント値T2がレ
ジスタReg8〜15に格納され、その後、レジスタR
eg8〜15の値が待避され、その後、第2のタイマ6
には一時的にリセットがかかり、そのカウント値T2が
0xFFに設定される。尚、外部入力信号EXT_IN/I
NTが立ち下がると、第2のタイマ6がカウントを停止
するとともに、第1のタイマ5がカウント値0xFFからカ
ウントを開始する。
【0079】以上の動作において、外部入力信号EXT
_IN/INTが立ち上がった時点で待避させた値がロ
ー時間、外部入力信号EXT_IN/INTが立ち下が
った時点で待避させた値がハイ時間になる。
【0080】このように、本実施形態のマイクロコンピ
ュータでは、個々の基本的な周辺回路(第1のタイマ
5、第2のタイマ6、論理回路7)を接続回路4を用い
てプログラムで接続することにより、外部入力信号EX
T_INのハイ時間及びロー時間を測定する機能を実現
することができる。尚、外部入力信号EXT_INのハ
イ時間及びロー時間を測定するために2つのタイマを使
用しているが、これら2つのタイマは1つの割り込み機
能付き入力ポートによりコントロールされており、複数
の入力ポートを1つの測定に費やすことはない。また、
図21を用いて説明した従来技術に比して、同等のマイ
クロプロセッサ処理であれば、処理が間に合わなくなっ
て次の測定結果がレジスタに上書きされてデータを壊し
てしまう危険性が低い。これら2点からも解るように、
特定用途への専用マイクロコンピュータの周辺回路と同
じような無駄のない高機能な周辺回路を構築することが
可能である。
【0081】所定の機能をもった周辺回路を構築するた
めのプログラムのフローチャートの別の例を図15に示
す。まず、レジスタReg0=1、レジスタReg1=
1、レジスタReg2=0、レジスタReg3=0、レ
ジスタReg4=0、レジスタReg5=1、レジスタ
Reg6=0、レジスタReg7=0、レジスタReg
8=1、レジスタReg9=0、レジスタReg10=
0、レジスタReg11=0、レジスタReg12=
0、レジスタReg13=0、レジスタReg14=
1、レジスタReg15=0、レジスタReg16=
0、レジスタReg17=1、レジスタReg18=
0、レジスタReg19=0、レジスタReg20=
0、レジスタReg21=1、レジスタReg22=
0、レジスタReg23=0、レジスタReg24=
0、レジスタReg25=0、レジスタReg26=
1、レジスタReg27=0、レジスタReg28=
0、レジスタReg29=1にする(S401)。
【0082】次に、アクセスするアドレスを接続回路4
のセレクタ401〜410に設定する、すなわち、アド
レス0xF0000008にライトアクセスする(S402)。こ
れにより、セレクタ401〜410の端子CSに入力さ
れる信号CPU_WR_S1がハイレベルになり、セレ
クタ401〜410で選択される信号が切り換えられ
る。
【0083】次に、レジスタReg0=0、レジスタR
eg1=0、レジスタReg2=1、レジスタReg3
=0、レジスタReg4=1、レジスタReg5=0に
する(S403)。次に、アクセスするアドレスを接続
回路4のセレクタ411及び412に設定する、すなわ
ち、アドレス0xF000000Cにライトアクセスする(S40
4)。これにより、セレクタ411及び412の端子C
Sに入力される信号CPU_WR_S2がハイレベルに
なり、セレクタ411及び412で選択される信号が切
り換えられる。
【0084】S401〜S404の処理により、論理回
路7のインバータ707からの出力信号OUT2、出力
レジスタ3の端子O17、O18からの出力信号OUT
REG17、OUTREG18が、それぞれ第1のタイ
マ5の端子Startへの入力信号START1、端子
Resetへの入力信号RESET1、端子Stopへ
の入力信号STOP1になる。
【0085】また、第1のタイマ5の端子Overfl
owからの出力信号OVERFLOW1、出力レジスタ
3の端子O20からの出力信号OUTREG20、端子
O21からの出力信号OUTREG21が、それぞれ第
2のタイマ6の端子Startへの入力信号START
2、端子Resetへの入力信号RESET2、端子S
topへの入力信号STOP2になる。
【0086】また、第1のタイマ5の端子Overfl
owからの出力信号OVERFLOW1、第2のタイマ
6の端子Overflowからの出力信号OVERFL
OW2、出力レジスタ3の端子O24からの出力信号O
UTREG24、端子O25からの出力信号OUTRE
G25、端子O26からの出力信号OUTREG26
が、それぞれ論理回路7のORゲート701への入力信
号IN1、IN2、IN3、ORゲート703及びAN
Dゲート705への入力信号TRG、フリップフロップ
702の端子Rへの入力信号D_RESETになる。ま
た、論理回路7のANDゲート706からの出力信号O
UT1が外部出力信号EXT_OUTになる。
【0087】次に、レジスタReg0=0、レジスタR
eg1=1にする(S405)。次に、アクセスするア
ドレスを接続回路4のセレクタ413〜416に設定す
る、すなわち、アドレス0xF0000010にライトアクセスす
る(S406)。これにより、セレクタ413〜416
の端子CSに入力される信号CPU_WR_S3がハイ
レベルになり、セレクタ413〜416で選択される信
号が切り換えられる。
【0088】S405及びS406の処理により、出力
レジスタ3の端子O0〜O7からの出力信号OUTRE
G0〜OUTREG7が第1のタイマ5の端子IN0〜
IN7への入力信号DIN1_0〜DIN1_7にな
り、出力レジスタ3の端子O8〜O15からの出力信号
OUTREG8〜OUTREG15が第2のタイマ6の
端子IN0〜IN7への入力信号DIN2_0〜DIN
2_7になる。したがって、図16に示すような周辺回
路が構築される。
【0089】次に、レジスタReg0〜7の値を0x06、
レジスタReg8〜15の値を0x02、レジスタReg1
7の値を1、レジスタReg18の値を0、レジスタR
eg20の値を1、レジスタReg21の値を0、レジ
スタReg24の値を0、レジスタReg25の値を
1、レジスタReg26の値を1にする(S407)。
【0090】次に、アクセスするアドレスを出力レジス
タ3に設定する、すなわち、アドレス0xF0000004にライ
トアクセスする(S408)。これにより、出力レジス
タ3の入力信号CPU_WRがハイレベルになり、出力
レジスタ3がデータバス8上の信号を取り込む状態にな
る。
【0091】S407及びS408の処理により、第1
のタイマ5及び第2のタイマ6では、端子IN0〜IN
7への入力値がそれぞれ0x06、0x02である状態で、端子
Resetへの入力がハイレベルになる。また、論理回
路7では、ORゲート701への3入力の全てがローレ
ベル、フリップフロップ702の端子Rへの入力がハイ
レベル、インバータ703への入力及びANDゲート7
05への1入力がハイレベルになる。したがって、第1
のタイマ5、第2のタイマ6はリセットがかかった状態
であり、カウント値はそれぞれ0x06、0x02に設定されて
いる。また、外部出力信号EXT_OUTはハイレベル
に固定された状態になる。
【0092】外部出力信号EXT_OUTとして所定の
ハイ時間及びロー時間をもったパルスの出力を開始する
ためのプログラムのフローチャートを図17に示す。ま
ず、レジスタReg17の値を0、レジスタReg18
の値を0、レジスタReg20の値を0、レジスタRe
g21の値を0、レジスタReg24の値を1、レジス
タReg25の値を1、レジスタReg26の値を0に
する(S501)。次に、アクセスするアドレスを出力
レジスタ3に設定する、すなわち、アドレス0xF0000004
にライトアクセスする(S502)。次に、レジスタR
eg24の値を0にする(S503)。次に、アクセス
するアドレスを出力レジスタ3に設定する(S50
4)。
【0093】この処理により、第1のタイマ5及び第2
のタイマ6の端子Resetへの入力がローレベルに反
転して、第1のタイマ5及び第2のタイマ6のリセット
が解除される。また、論理回路7では、ORゲート70
1の1入力がハイレベルに反転した後、再びローレベル
に反転するとともに、フリップフロップ702の端子R
への入力がローレベルに反転する。したがって、外部出
力信号EXT_OUTがローレベルに反転するととも
に、第1のタイマ5の端子Startへの入力がハイレ
ベルに反転して第1のタイマ5がカウント値0x06からカ
ウントを開始する。
【0094】その後、第1のタイマ5のカウント値にオ
ーバーフローが発生すると、第1のタイマ5の端子Ov
erflowからの出力がハイレベルに反転して、第2
のタイマ6の端子Startへの入力、及び、論理回路
7のORゲート701の1入力がハイレベルに反転す
る。これにより、第2のタイマ6がカウント値0x02から
カウントを開始するとともに、外部出力信号EXT_O
UTがハイレベルに、第1のタイマ5の端子Start
への入力がローレベルにそれぞれ反転する。
【0095】また、第1のタイマ5のオーバーフローに
伴って割り込み要求が発生するが、この割り込み要求が
発生すると、図18に示すフローチャートのプログラム
が実行される。まず、レジスタReg0〜7の値を0x0
4、レジスタReg17の値を1、レジスタReg18
の値を0、レジスタReg20の値を0、レジスタRe
g21の値を0、レジスタReg24の値を0、レジス
タReg25の値を1、レジスタReg26の値を0に
する(S601)。次に、アクセスするアドレスを出力
レジスタ3に設定する、すなわち、アドレス0xF0000004
にライトアクセスする(S602)。次に、レジスタR
eg17の値を0にする(S603)。次に、アクセス
するアドレスを出力レジスタ3に設定する(S60
4)。
【0096】この処理により、第1のタイマ5では、端
子IN0〜IN7への入力値が0x04である状態で、端子
Resetへの入力がハイレベルになった後、再びロー
レベルになる。したがって、第1のタイマ5には一時的
にリセットがかかり、そのカウント値が0x04に設定され
るとともに、その端子Overflowからの出力がロ
ーレベルに反転して、論理回路7のORゲート701の
3入力が全てローレベルになる。
【0097】その後、第2のタイマ6のカウント値にオ
ーバーフローが発生すると、第2のタイマ6の端子Ov
erflowからの出力がハイレベルに反転して、論理
回路7のORゲート701の1入力がハイレベルに反転
する。これにより、外部出力信号EXT_OUTがロー
レベルに反転するとともに、第1のタイマ5の端子St
artへの入力がハイレベルに反転して、第1のタイマ
5がカウント値0x04からカウントを開始する。
【0098】また、第2のタイマ6のオーバーフローに
伴って割り込み要求が発生するが、この割り込み要求が
発生すると、図19に示すフローチャートのプログラム
が実行される。まず、レジスタReg8〜15の値を0x
0A、レジスタReg17の値を0、レジスタReg18
の値を0、レジスタReg20の値を1、レジスタRe
g21の値を0、レジスタ24の値を0、レジスタRe
g25の値を1、レジスタReg26の値を0にする
(S701)。次に、アクセスするアドレスを出力レジ
スタ3に設定する、すなわち、アドレス0xF0000004にラ
イトアクセスする(S702)。次に、レジスタReg
20の値を0にする(S703)。次に、アクセスする
アドレスを出力レジスタ3に設定する(S704)。
【0099】この処理により、第2のタイマ6では、端
子IN0〜IN7への入力値が0x0Aである状態で、端子
Resetへの入力がハイレベルになった後、再びロー
レベルになる。したがって、第2のタイマ6には一時的
にリセットがかかり、そのカウント値が0x0Aに設定され
るとともに、その端子Overflowからの出力がロ
ーレベルに反転して、論理回路7のORゲート701の
3入力が全てローレベルになる。
【0100】以上のプログラムにより、第1のタイマ5
のカウント値T1、第2のタイマ6のカウント値T2、
レジスタReg0〜7の値、レジスタReg8〜15の
値、及び、外部出力信号EXT_OUTが図20に示す
ように変化する。尚、第1のタイマ5及び第2のタイマ
6のクロック信号の周波数を4[MHz]である場合を想定
している。
【0101】まず、図15に示したプログラムが実行さ
れただけの初期状態では、外部出力信号EXT_OUT
がハイレベルに固定されている。また、第1のタイマ
5、第2のタイマ6にはリセットがかかっており、それ
らのカウント値はそれぞれ0x06、0x02に設定されてい
る。図17に示したプログラムが実行されると、図20
中にAで示すように、外部出力信号EXT_OUTがロ
ーレベルに反転するとともに、第1のタイマ5がカウン
ト値0x06からカウントを開始する。
【0102】その後、1.5[μs]が経過すると、第1の
タイマ5にオーバーフローが発生するので、図18に示
したプログラムが実行され、図20中にBで示すよう
に、外部出力信号EXT_OUTがハイレベルに反転す
る。また、第2のタイマ6がカウント値0x02からカウン
トを開始する。また、第1のタイマ5にリセットがかか
り、そのカウント値が0x04に設定される。
【0103】その後、0.5[μs]が経過すると、第2の
タイマ6にオーバーフローが発生するので、図19に示
したプログラムが実行され、図20中にCで示すよう
に、外部出力信号EXT_OUTがローレベルに反転す
る。また、第1のタイマ6がカウント値0x04からカウン
トを開始する。また、第2のタイマ6にリセットがかか
り、そのカウント値が0x0Aに設定される。
【0104】その後、1.0[μs]が経過すると、第1の
タイマ5にオーバーフローが発生するので、図18に示
したプログラムが実行され、図20中にDで示すよう
に、外部出力信号EXT_OUTがハイレベルに反転す
る。また、第2のタイマ6がカウント値0x0Aからカウン
トを開始する。また、第1のタイマ5にリセットがかか
り、そのカウント値が0x04に設定される。
【0105】その後、2.5[μs]が経過すると、第2の
タイマ6にオーバーフローが発生するので、図19に示
したプログラムが実行され、図20中にEで示すよう
に、外部出力信号EXT_OUTがローレベルに反転す
る。また、第1のタイマ6がカウント値0x04からカウン
トを開始する。また、第2のタイマ6にリセットがかか
り、そのカウント値が0x0Aに設定される。
【0106】このように、本実施形態のマイクロコンピ
ュータでは、個々の基本的な周辺回路(第1のタイマ
5、第2のタイマ6、論理回路7)を接続回路4を用い
てプログラムで接続することにより、外部出力信号EX
T_OUTとして所望のハイ時間及びロー時間をもった
パルスを生成することができる。
【0107】尚、本実施形態では、基本的な周辺回路と
して第1のタイマ5、第2のタイマ6、及び、論理回路
7を設けていたが、他の汎用的な周辺回路で置き換えた
形態であったり、他の周辺回路を追加した形態であって
もよい。また、周辺回路に対してデータをリードライト
するための回路の数、ビット幅、アドレスマッピングな
ども他の形態であっても構わない。また、接続回路で周
辺回路への入出力を選択する方法についても、組み合わ
せる入出力端子の比率、数、アドレスマッピング、設定
ビットなども他の形態であっても構わない。
【0108】
【発明の効果】以上説明したように、本発明のマイクロ
コンピュータでは、個々の基本的な周辺回路を、接続の
ための回路を用いてプログラムで接続することによっ
て、個々の基本的な周辺回路では実現し得ない高機能を
実現するようになっている。したがって、汎用のマイク
ロコンピュータを使用する場合のように過剰な機能をも
った機種を選択する羽目になってコスト高を招くという
事態を防止することができる。また、必要になることが
わかっている基本的な周辺回路のみを組み込んでいれ
ば、周辺回路の詳細な設計は不要になるので、マイクロ
コンピュータを組み込む装置全体の開発期間を短縮する
ことができる。さらに、専用の周辺回路を備えたマイク
ロコンピュータの場合、ソフトウェア開発用のブレッド
ボードを用意する必要があるが、本発明のマイクロコン
ピュータでは、ソフトウェアのデバッグ時に周辺回路を
決定でき、このことも開発期間の短縮に貢献する。
【0109】まとめると、本発明のマイクロコンピュー
タによれば、特殊な製造技術や製造工程を使用すること
なく、また、専用マイクロコンピュータのように長期の
開発日程を要することなく、汎用マイクロコンピュータ
よりも専用マイクロコンピュータに近い高機能な周辺回
路機能を実現することができる。さらに、ソフトウェア
の設計時に、より効率の良い周辺回路に変更することが
可能である。
【図面の簡単な説明】
【図1】 本発明の一実施形態であるマイクロコンピュ
ータのブロック図である。
【図2】 第1のタイマを構成するダウンカウンタを示
す図である。
【図3】 第2のタイマを構成するダウンカウンタを示
す図である。
【図4】 論理回路の構成を示す図である。
【図5】 入力レジスタを構成するラッチ回路を示す図
である。
【図6】 出力レジスタを構成するラッチ回路を示す図
である。
【図7】 接続回路を構成するセレクタを示す図であ
る。
【図8】 接続回路を構成する他のセレクタを示す図で
ある。
【図9】 図7に示したセレクタにおいて、端子に入力
される信号の状態と選択される端子との関係を示す図で
ある。
【図10】 所定の機能をもった周辺回路を構築するた
めのプログラムのフローチャートである。
【図11】 図10に示したプログラムで構築される周
辺回路の構成を示す図である。
【図12】 図11に示した構成の周辺回路を制御する
ためのプログラムのフローチャートである。
【図13】 図11に示した構成の周辺回路を制御する
ための別のプログラムのフローチャートである。
【図14】 図11に示した構成の周辺回路による動作
を説明するための図である。
【図15】 所定の機能をもった周辺回路を構築するた
めの別のプログラムのフローチャートである。
【図16】 図15に示したプログラムで構築される周
辺回路の構成を示す図である。
【図17】 図16に示した構成の周辺回路を制御する
ためのプログラムのフローチャートである。
【図18】 図16に示した構成の周辺回路を制御する
ための別のプログラムのフローチャートである。
【図19】 図16に示した構成の周辺回路を制御する
ためのさらに別のプログラムのフローチャートである。
【図20】 図16に示した構成の周辺回路による動作
を説明するための図である。
【図21】 従来技術における外部入力信号のハイ時間
及びロー時間の測定動作を説明するための図である。
【図22】 図21に示した動作において必要となるプ
ログラムのフローチャートである。
【図23】 従来技術における外部入力信号のハイ時間
及びロー時間の別の測定動作を説明するための図であ
る。
【図24】 図23に示した動作において必要となるプ
ログラムのフローチャートである。
【図25】 図23に示した動作において必要となる別
のプログラムのフローチャートである。
【符号の説明】
1 CPU 2 入力レジスタ 3 出力レジスタ 4 接続回路 5 第1のタイマ 6 第2のタイマ 7 論理回路 8 データバス 401〜412 セレクタ 413〜416 セレクタ 701 ORゲート 702 フリップフロップ 703 インバータ 704 ANDゲート 705 ANDゲート 706 ORゲート 707 インバータ

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 複数の周辺回路を備えたマイクロコンピ
    ュータにおいて、複数の周辺回路間の接続関係をプログ
    ラムで制御するための接続回路を備えたことを特徴とす
    るマイクロコンピュータ。
  2. 【請求項2】 前記接続回路は、プログラムによって与
    えられるデータに応じて複数の入力の中からいずれかを
    選択して出力するセレクタから成ることを特徴とする請
    求項1に記載のマイクロコンピュータ。
  3. 【請求項3】 周辺回路に入力されるデータをプログラ
    ムで書き込むための回路を周辺回路として備えたことを
    特徴とする請求項1に記載のマイクロコンピュータ。
  4. 【請求項4】 周辺回路から出力されるデータをプログ
    ラムで読み出すための回路を周辺回路として備えたこと
    を特徴とする請求項1に記載のマイクロコンピュータ。
  5. 【請求項5】 外部からの信号を内部に入力するための
    回路を周辺回路として備えたことを特徴とする請求項1
    に記載のマイクロコンピュータ。
  6. 【請求項6】 内部で発生した信号を外部に出力するた
    めの回路を周辺回路として備えたことを特徴とする請求
    項1に記載のマイクロコンピュータ。
  7. 【請求項7】 前記複数の周辺回路間の接続関係を前記
    接続回路を用いて制御することによって、所定の周辺回
    路機能を実現する手段を備えたことを特徴とする請求項
    1〜6のいずれか1つに記載のマイクロコンピュータ。
JP2000395170A 2000-12-26 2000-12-26 マイクロコンピュータ Pending JP2002197049A (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP2000395170A JP2002197049A (ja) 2000-12-26 2000-12-26 マイクロコンピュータ
DE60121537T DE60121537T2 (de) 2000-12-26 2001-12-18 Verbindung von peripheren Schaltkreisen in einem Mikrocomputer
EP01310570A EP1220109B1 (en) 2000-12-26 2001-12-18 Interconnection of peripheral circuits in a microcomputer
US10/021,020 US6826633B2 (en) 2000-12-26 2001-12-19 Microcomputer incorporating peripheral circuits
KR1020010084955A KR20020053021A (ko) 2000-12-26 2001-12-26 마이크로컴퓨터
CNB011432985A CN1199113C (zh) 2000-12-26 2001-12-26 微型计算机
TW090132339A TWI223152B (en) 2000-12-26 2001-12-26 Microcomputer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000395170A JP2002197049A (ja) 2000-12-26 2000-12-26 マイクロコンピュータ

Publications (1)

Publication Number Publication Date
JP2002197049A true JP2002197049A (ja) 2002-07-12

Family

ID=18860677

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000395170A Pending JP2002197049A (ja) 2000-12-26 2000-12-26 マイクロコンピュータ

Country Status (7)

Country Link
US (1) US6826633B2 (ja)
EP (1) EP1220109B1 (ja)
JP (1) JP2002197049A (ja)
KR (1) KR20020053021A (ja)
CN (1) CN1199113C (ja)
DE (1) DE60121537T2 (ja)
TW (1) TWI223152B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7765383B2 (en) 2006-08-11 2010-07-27 Fujitsu Semiconductor Limited Data processing unit and data processing apparatus using data processing unit

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5597625A (en) * 1979-01-17 1980-07-25 Fanuc Ltd Bus connection system
US4654820A (en) * 1983-11-30 1987-03-31 At&T Bell Laboratories Interrupt bus structure
US5142625A (en) * 1985-06-12 1992-08-25 Minolta Camera Kabushiki Kaisha One-chip microcomputer including a programmable logic array for interrupt control
JPH01162971A (ja) * 1987-09-09 1989-06-27 Hitachi Ltd シングルチップマイクロコンピュータ
US5111423A (en) * 1988-07-21 1992-05-05 Altera Corporation Programmable interface for computer system peripheral circuit card
US4952367A (en) * 1988-08-19 1990-08-28 Motorola, Inc. Timer channel for use in a multiple channel timer system
JP2690213B2 (ja) 1991-06-07 1997-12-10 日本電気アイシーマイコンシステム株式会社 マイクロコンピュータ
JPH05127913A (ja) 1991-11-05 1993-05-25 Toshiba Corp マイクロプロセツサシステム
CN1076532A (zh) 1993-03-04 1993-09-22 牛振有 微型计算机外设故障诊断方法及其装置
JPH0876995A (ja) * 1994-09-07 1996-03-22 Matsushita Electric Ind Co Ltd マイクロプロセッサ
US5630174A (en) * 1995-02-03 1997-05-13 Cirrus Logic, Inc. Adapter for detecting whether a peripheral is standard or multimedia type format and selectively switching the peripheral to couple or bypass the system bus
US5619706A (en) * 1995-03-02 1997-04-08 Intel Corporation Method and apparatus for switching between interrupt delivery mechanisms within a multi-processor system
US6263378B1 (en) * 1996-06-03 2001-07-17 Sun Microsystems, Inc. System and method for rapid development of bootstrap device detection modules
US5854908A (en) * 1996-10-15 1998-12-29 International Business Machines Corporation Computer system generating a processor interrupt in response to receiving an interrupt/data synchronizing signal over a data bus
US6154857A (en) * 1997-04-08 2000-11-28 Advanced Micro Devices, Inc. Microprocessor-based device incorporating a cache for capturing software performance profiling data
US5933656A (en) * 1997-06-18 1999-08-03 Raytheon Company System for interfacing host computer to multiple peripheral devices using daisy-chainable bus and federated computational input/output circuit card assemblies
US6044411A (en) * 1997-11-17 2000-03-28 International Business Machines Corporation Method and apparatus for correlating computer system device physical location with logical address
US6145020A (en) * 1998-05-14 2000-11-07 Advanced Technology Materials, Inc. Microcontroller incorporating an enhanced peripheral controller for automatic updating the configuration date of multiple peripherals by using a ferroelectric memory array
JP3700759B2 (ja) * 1999-06-22 2005-09-28 株式会社デンソー パルス幅検出機能を有する1チップマイクロコンピュータ
US6510473B1 (en) * 1999-08-19 2003-01-21 Micron Technology, Inc. Apparatus and method for automatically selecting an appropriate signal from a plurality of signals, based on the configuration of a peripheral installed within a computing device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7765383B2 (en) 2006-08-11 2010-07-27 Fujitsu Semiconductor Limited Data processing unit and data processing apparatus using data processing unit

Also Published As

Publication number Publication date
KR20020053021A (ko) 2002-07-04
TWI223152B (en) 2004-11-01
CN1362674A (zh) 2002-08-07
EP1220109A3 (en) 2004-04-28
CN1199113C (zh) 2005-04-27
DE60121537D1 (de) 2006-08-31
EP1220109A2 (en) 2002-07-03
EP1220109B1 (en) 2006-07-19
US20020083220A1 (en) 2002-06-27
US6826633B2 (en) 2004-11-30
DE60121537T2 (de) 2007-07-05

Similar Documents

Publication Publication Date Title
US6732263B1 (en) Configuring both a programmable logic device and its embedded logic with a single serialized configuration bit stream
US7285980B2 (en) Method and apparatus for multiplexing an integrated circuit pin
US20040064770A1 (en) Programmable state machine of an integrated circuit
EP0431641A2 (en) Microprocessor and method for setting up its peripheral functions
JPH11353300A (ja) 半導体素子のためのプログラム可能ピンの指定
US6321324B1 (en) Device for putting an integrated circuit into operation
US5812834A (en) Single chip microcomputer having a plurality of timer counters
JP2002197049A (ja) マイクロコンピュータ
US8533439B2 (en) Elastic shared RAM array including contiguous instruction and data portions distinct from each other
JP2743850B2 (ja) データ処理装置
JPH04305735A (ja) マイクロプログラム制御回路
US20110138158A1 (en) Integrated circuit
US5410718A (en) Single-chip microcomputer having a memory including a one-bit memory element which has 3 inputs and a selector for selecting one of the inputs
JP2004199334A (ja) マイクロコンピュータおよびその評価装置
US7020813B2 (en) On chip debugging method of microcontrollers
JP6143577B2 (ja) 半導体集積回路および半導体集積回路の動作方法
CN115202438B (zh) 基于单时钟的全同步eFlash控制器的实现方法
JP2008083998A (ja) 電子装置
JP2669958B2 (ja) マイクロコンピュータ
JP3968237B2 (ja) マイクロコンピュータの評価装置
JPH08328824A (ja) 回路システム
JPH06103106A (ja) プログラムデバッグ装置
JP2006155004A (ja) ロジック装置およびロジックシステムならびにデータ読み出し制御方法
JPH0716188Y2 (ja) テストモード指定回路
JP2006227845A (ja) マイクロコンピュータのリセット回路

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050606

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050628

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20051108