JP4192485B2 - マイクロコンピュータ - Google Patents
マイクロコンピュータ Download PDFInfo
- Publication number
- JP4192485B2 JP4192485B2 JP2002094373A JP2002094373A JP4192485B2 JP 4192485 B2 JP4192485 B2 JP 4192485B2 JP 2002094373 A JP2002094373 A JP 2002094373A JP 2002094373 A JP2002094373 A JP 2002094373A JP 4192485 B2 JP4192485 B2 JP 4192485B2
- Authority
- JP
- Japan
- Prior art keywords
- sampling
- data
- register
- port
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3243—Power saving in microcontroller unit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3215—Monitoring of peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/124—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
- G06F13/126—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine and has means for transferring I/O instructions and statuses between control unit and main processor
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Microcomputers (AREA)
- Power Sources (AREA)
Description
【発明の属する技術分野】
本発明は、CPUにより設定された条件に基づいてマイクロコンピュータの入力ポートのサンプリングを行うポートサンプリング回路装置を備えて構成されるマイクロコンピュータに関する。
【0002】
【発明が解決しようとする課題】
マイクロコンピュータを構成するCPUは、例えば制御状態を変更することなどを目的として、入力端子に接続されている外部デバイスなどより出力される信号のレベルをサンプリングする場合には、それに対応して制御プログラムを記述しておく。そして、当該プログラムに従って動作することで、入力ポートを周期的に(例えば、数10μ〜数100μ秒の間隔で)サンプリングするようになっている。
【0003】
具体的には、CPUは、入力ポートに与えられるデータをラッチするためのタイミング信号が出力されるように書き込みを行い(サンプリング)、それから、ラッチされたデータの読み出しを行う。この動作を周期的に実行するようになっている。
【0004】
従って、サンプリングを行うためにソフトウエアを作成する工程が必要であり、CPUの実動作上でも制御プログラムがサンプリング処理を負担することになる。そのため、CPUが行うその他の処理が重い場合には、サンプリング周期を十分短くすることができなくなるという問題があった。
【0005】
本発明は上記事情に鑑みてなされたものであり、その目的は、サンプリング処理に伴うCPUの負担を軽減することができるポートサンプリング回路を備えて構成されるマイクロコンピュータを提供することにある。
【0006】
【課題を解決するための手段】
請求項1記載のポートサンプリング回路装置によれば、CPUにより設定された条件に基づいてマイクロコンピュータ(マイコン)の入力ポートのサンプリングを自動的に行うようにハードウエアで構成され、CPUにクロック信号を供給するメイン発振回路とは独立に発振動作するCR発振回路よりCRクロックが供給されて動作する。即ち、CPUは周期的に入力ポートをサンプリングするための処理を行なわずとも、適当なタイミングでデータの読み出しだけを行うようにすれば、マイコン外部のデバイスなどから入力ポートに与えられるデータを読み込むことができる。
【0007】
従って、CPUに実行させる制御プログラムには、サンプリングを行う処理を記述する必要がなくなるので、プログラムの作成工程を簡単にすることができる。また、CPUの実動作中における処理負担も軽減されるので、その軽減された分を他の処理に振り分けることが可能となる。
【0008】
請求項2記載のポートサンプリング回路装置によれば、サンプリングタイミング信号出力部は、サンプリング周期設定レジスタに設定されたサンプリング周期に基づいてサンプリングタイミング信号を周期的に出力し、データラッチ部は、前記タイミング信号に基づいて前記入力ポートに与えられるデータをラッチすると、そのラッチしたデータをデータレジスタに格納する。従って、サンプリングを行う周期は、CPUがサンプリング周期設定レジスタに設定を行うことで変化させることができるので、アプリケーション等の仕様に応じて適切な周期でサンプリングを行わせることができる。
請求項3記載のポートサンプリング回路装置によれば、データラッチ部に、前回サンプリングされたデータと、今回サンプリングされたデータとを保持する2つのデータラッチを備え、データラッチ部に保持された前回と今回とのサンプリングデータ値が一致すると、データラッチに今回のサンプリングデータをラッチさせる2度一致フィルタを備える。従って、2回連続したサンプリングタイミングにおいて同じデータがサンプリングされた場合にだけ、そのデータ値がデータレジスタに格納されるようになり、マイコンが例えば外来ノイズなどの影響を受けることで、入力ポートのデータレベルが一時的に変化したような場合に、そのデータをサンプリングしてしまうことを回避できる。
請求項4記載のポートサンプリング回路装置によれば、データラッチ部は、前回のデータと今回のデータとを、前記サンプリングタイミング信号の連続する周期でそれぞれ保持する。
【0009】
請求項5または6記載のポートサンプリング回路装置によれば、出力状態変化手段は、マイクロコンピュータの出力ポートの状態を、入力ポートのサンプリングを行うタイミングに同期させて周期的に変化させる。即ち、入力ポートをサンプリングするに当たっては、マイクロコンピュータの周辺回路などの状態を変化させることが必要となる場合がある。
【0010】
例えば、外部デバイスの種類、或いは外部デバイスを含むマイコン周辺の回路構成によっては、駆動された状態(アクティブ)になることでマイコンの入力ポートに対する信号の出力が可能となるケースもある。
【0011】
従って、そのような場合に、出力ポートを外部デバイスに接続しておけば、ポートサンプリング回路装置が自動的に出力ポートの状態を変化させることで、その外部デバイスをサンプリングタイミングに同期させて周期的に駆動することが可能となる。よって、CPUは駆動制御を行う必要がなくなるので、処理負担を更に軽減することができる。
【0012】
請求項7記載のポートサンプリング回路装置によれば、出力状態変化手段を構成する状態変化タイミング信号出力部は、状態変化周期設定レジスタに設定された状態変化周期に基づいて状態変化タイミング信号を周期的に出力する。すると、状態変化部は、前記タイミング信号に基づいて出力ポートの状態を変化させる。従って、CPUは、出力ポートの状態を変化させる周期を、状態変化周期設定レジスタに設定を行うことで変化させることができる。
【0013】
請求項8記載のポートサンプリング回路装置によれば、状態変化周期設定レジスタを、サンプリング周期設定レジスタと兼用するように構成するので、両者の設定を1つのレジスタによって行うことができ、設定処理をより簡単にすることが可能となる。
【0014】
請求項9記載のポートサンプリング回路装置によれば、サンプリングタイミング信号出力部は、サンプリング周期と、サンプリング開始時間設定レジスタに設定されるサンプリング開始時間とに基づいてサンプリングタイミング信号を周期的に出力する。従って、例えば、出力ポートの状態を変化させることで外部デバイスを駆動するように構成する場合、その駆動が開始されてから、外部デバイスからデータが出力され、そのデータレベルが安定した状態となり適切なサンプリングが可能となるタイミングを個別のケースに応じて設定することができる。
【0015】
請求項1記載のポートサンプリング回路装置によれば、一致信号出力部は、入力ポートをサンプリングしたデータが期待値セットレジスタにセットされたデータに一致すると外部に一致信号を出力するので、CPUは、予め期待値セットレジスタにデータをセットしておけば、一致信号が出力されたことをもって期待値に等しいデータがサンプリングされたことを判定できる。従って、CPUは、サンプリングされたデータが期待値に一致したか否かを判定するために、入力ポートを所定時間ごとにポーリングして比較判定する必要がなくなるので、処理負担を一層削減することができる。
【0016】
請求項1記載のマイクロコンピュータによれば、CPUと、ポートサンプリング回路装置とを備えて構成されるので、ポートサンプリング回路装置にサンプリング処理を代行させて、CPUの処理能力を向上させることができる。
【0017】
請求項10記載のマイクロコンピュータによれば、ポートサンプリング回路装置によって出力される一致信号を、CPUに対する割込み信号とするので、CPUは、割り込みの発生によって期待値に等しいデータがサンプリングされたことを知ることができる。
【0018】
請求項1記載のマイクロコンピュータによれば、メイン発振回路の発振動作を停止させて、低消費電力モードを実行するための機能を有して構成されている場合に、一致信号を、低消費電力モードを解除するための信号とする。即ち、CPUが連続的に処理を行う必要がない状態になったと判断し、クロック信号の供給を停止することで消費電力を抑制するモードになった場合は、当然ながら、入力ポートをサンプリングすることはできない。逆に、CPUが周期的にサンプリングを行う必要がある場合は、低消費電力モードを設定することはできなかった。
【0019】
そこで、請求項1のように構成すれば、CPUが予め期待値セットレジスタに期待値のデータをセットしておけば、その後に低消費電力モードに切り替わっても、その間はポートサンプリング回路装置が継続してサンプリング処理を行う。そして、期待値に一致するデータがサンプリングされるとCPUの低消費電力モードは解除される。
【0020】
即ち、CPUは、前記データがサンプリングされたことを契機として次の処理を実行すれば良い場合は低消費電力モードを設定して、当該モードがポートサンプリング回路装置によって解除されるまで待機すれば良い。従って、低消費電力モードを有効に活用することができ、消費電力を低減することができる。
【0021】
【発明の実施の形態】
以下、本発明の一実施例について図面を参照して説明する。図1は、例えば車両用のボディECU(Electronic Control Unit) などに使用されるシングルチップマイクロコンピュータ(マイコン)の一構成例を示すものである。マイコン1は、CPU2を中心として、その周辺にメイン発振回路3,クロック制御回路4,CR発振回路5,ポートサンプリング回路(ポートサンプリング回路装置)6などを備えている。
【0022】
メイン発振回路3は、マイコン1の外部に接続される水晶発振子7を発振させてCPU2に動作用のクロック信号(マシンクロック或いはシステムクロック)を供給するものである。クロック制御回路4は、CPU2によりアドレスバス8及びデータバス9を介してスリープ/ストップモードを開始させる指令が与えられると、メイン発振回路3に対してクロック停止信号を出力し、メイン発振回路3によるクロック信号の出力を停止させ、CPU2(若しくは、CPU2を含むマイコン1全体)をスリープ/ストップモードに設定する。
【0023】
ここで、スリープモードとは、一旦移行するとクロック制御回路4に内蔵されているタイマで所定時間が経過すると自動的に解除されるモードを言うものとし、ストップモードとは、一旦移行すると外部においてウェイクアップ要因(後述するウェイクアップ信号など)が発生するまで解除されないモードを言うものとする。即ち、これらは、CPU2の動作状態を通常時よりも低下させることで消費電力の低下を図るモードである。
【0024】
そして、クロック制御回路4は、ポートサンプリング回路6が後述する条件設定に応じてウェイクアップ信号を出力すると、クロック停止信号の出力を中止してメイン発振回路3によるクロック信号の出力を再開させるようになっている。尚、スリープモードにあっても、ウェイクアップ信号の出力によって当該モードは解除されるようになっている。
【0025】
例えば、メイン発振回路3の発振周波数は4MHz程度であり、CR発振回路5の発振周波数は25kHz程度である。また、CPU2は、周波数4MHzのクロックを内蔵するPLL発振回路(図示せず)で4逓倍して16MHzのクロック周波数で動作するようになっている。
【0026】
ポートサンプリング回路6は、CPU2が内部のレジスタに行う設定に応じて、図示しない外部のデバイスによってマイコン1の入力ポート(PSMIN)10(例えば、32本)に出力される信号またはデータのサンプリングを自動的に行う、純粋なハードウエア回路である。尚、ここで言う「デバイス」には、例えばトランジスタのような素子も含む概念であるとする。
【0027】
また、ポートサンプリング回路6は、マイコン1の出力ポート(PSMOUT)11にデータを出力することで、外部のデバイスを周期的に駆動することも可能に構成されている。尚、具体的には図示しないが、マイコン1は、その他、割込みコントローラ,DMAコントローラ,ウォッチドッグタイマ,A/Dコンバータ,D/Aコンバータやシリアル通信回路などの周辺回路を備えている。
【0028】
図2は、ポートサンプリング回路6が内蔵しているレジスタ及びカウンタを示すものである。PSM端子コントロールレジスタ(PSMOCR)12、ポート出力サイクルレジスタ(PSMCYR)(サンプリング周期設定レジスタ、状態変化周期設定レジスタ)13及びポート出力サイクルカウンタ(PSMCYCNT)14は、主に出力ポート11に関する設定等を行うものである。
【0029】
レジスタ12は、データ出力やサンプリング動作のイネーブル制御や出力データレベル(H,L)の設定を行うためのレジスタである。レジスタ13は、出力ポート11をHまたはLにドライブする周期(図3参照、スリープモードの場合)を設定するレジスタである。カウンタ14は、CR発振回路5が出力するCRクロックを2分周したクロックでカウントを行うカウンタであり、カウント値がレジスタ13の値に一致すると、出力ポート11をドライブさせるタイミング信号が発生してクリアされるようになっている。
【0030】
サンプリングタイミングカウンタ(PSMTMGCNT)15、サンプリングタイミングレジスタ(PSMTMG)(サンプリング開始時間設定レジスタ)16、サンプリングコントロールレジスタ(0)(PSMSCR0)17及び同レジスタ(1)(PSMSCR1)18、サンプリングフィルタ選択レジスタ(PSMFLT)19は、主にサンプリング処理に関する設定等を行うものである。
【0031】
カウンタ15は、CR発振回路5が出力するCRクロックをカウントするカウンタであり、レジスタ16は、出力ポート11がドライブを開始してからサンプリングを行うタイミングを設定するレジスタである(図4参照)。そして、カウンタ15のカウント値がレジスタ16の値に一致すると、サンプリングを行うためのタイミング信号が発生してカウンタ15はクリアされるようになっている。
【0032】
レジスタ17及びレジスタ18は、サンプリング処理のイネーブル制御を行うためのレジスタであり、前者はCPU2がスリープ若しくはストップモード(低消費電力モード)となった場合、後者はCPU2が通常動作を行っているウェイクアップ時について設定を行うものである。
【0033】
レジスタ19は、後述する2度一致フィルタ33を選択(有効)にするか否かを設定するためのレジスタである。2度一致フィルタを選択すると、前回と今回のサンプリングデータ値が一致した場合に、サンプリングデータレジスタ20にデータが格納されるようになる。
【0034】
サンプリング判定レジスタ(PSMJDG)21、サンプリングウェイクアップステータスレジスタ(PSMWSTR)22及びサンプリングウェイクアップコントロールレジスタ(PSMWCR)23は、主にウェイクアップ信号WKUPの出力制御に関する設定を行うレジスタである。
【0035】
期待値セットレジスタであるレジスタ21は、CPU2がサンプリングデータの期待値を設定するためのレジスタである。レジスタ21の設定値と、データレジスタ20のデータ値とが一致するとウェイクアップ要因が発生するようになっている。レジスタ22は、レジスタ21とデータレジスタ20との比較結果が格納されるレジスタであり、レジスタ23は、上記のようにして発生したウェイクアップ要因に基づくウェイクアップ信号WKUPの出力を許可するか否かを設定するレジスタである。
【0036】
図5は、ポートサンプリング回路6の内部構成を概略的に示す機能ブロック図である。入力ポート10(PSMIN)は、データラッチ部31の入力端子に接続されている。データラッチ部31におけるラッチタイミングは、タイミングカウンタ15、タイミングレジスタ16及びタイミングジェネレータ32によって生成される。即ち、タイミングジェネレータ(サンプリングタイミング信号出力部)32は、カウンタ15のカウンタ値とレジスタ16のデータ値とが一致した場合にサンプリング信号をデータラッチ部31に出力するようになっている。
【0037】
尚、データラッチ部31の内部は、具体的には図示しないが、2個のデータラッチがシリアルに接続されており、今回のサンプリングデータ(n)と前回のサンプリングデータ(n−1)とを保持するように構成されている。そして、これらのデータは2度一致フィルタ33に出力されている。
【0038】
2度一致フィルタ33は、前回と今回のサンプリングデータが一致した場合に、データ「1」をフィルタ選択部34に出力するように構成されている。フィルタ選択部34は、次段に配置されているデータレジスタ20に対するラッチ信号の出力を制御するものであり、レジスタ19の設定に応じて、データレジスタ20にCRクロックを、2度一致フィルタ33がデータ「1」を出力している場合に与えるか(フィルタ選択)、2度一致フィルタ33の出力状態によらず与えるか(フィルタ非選択)を設定するようになっている。
【0039】
データレジスタ20のデータ入力端子には、データラッチ部31が出力する今回のサンプリングデータ(n)が与えられており、データレジスタ20によってラッチされたデータは、次段に配置されている一致回路35に出力されると共に、CPU2により読み出しが行われるとデータバス10に出力されるようになっている。
【0040】
一致回路(一致信号出力部)35は、データレジスタ20によってラッチされたデータ判定レジスタ21の設定値とが一致すると、ウェイクアップステータスレジスタ22にラッチ信号を出力することで、ウェイクアップ要因「1」をレジスタ22にセットさせるようになっている。そして、レジスタ22の出力データは、ANDゲート36の一方の入力端子に与えられている。
【0041】
ANDゲート35の他方の入力端子には、ウェイクアップコントロールレジスタ23の設定データが与えられており、ANDゲート36は、レジスタ22の出力データとレジスタ23の設定データが何れも「1」である場合に、ウェイクアップ信号WKUP(ハイレベル、一致信号)をクロック制御回路4に出力するようになっている。
尚、以上の構成は、32本の入力ポート10について(即ち32ビット分)夫々設けられている。
【0042】
一方、出力ポート11(PSMOUT)に駆動信号を出力させるタイミングジェネレータ(状態変化タイミング信号出力部)37は、カウンタ14が、CR発振回路5が出力するCRクロックを分周回路38で2分周したクロックでカウントしたカウント値がレジスタ13の値に一致すると、タイミング信号を信号出力部(状態変化部)39に出力する。
【0043】
信号出力部39は、そのタイミング信号に応じて出力ポート11に駆動信号を出力するようになっている。また、そのタイミング信号の出力によって、カウンタ14はリセットされると共に、カウンタ15はカウントをスタートするようになっている。尚、レジスタ13、カウンタ14及びタイミングジェネレータ37は、出力状態変化手段40を構成している。
【0044】
次に、本実施例の作用について図6乃至図8を参照して説明する。図6は、CPU2が通常動作時(ウェイクアップ時)においてポートサンプリング回路6を使用する場合に、当該回路6に対して行うレジスタ設定の手順を示すものである。先ず、CPU2は、PSM端子コントロールレジスタ12の対応するビットに「0」を書き込むことでPSMOE=0として、ポート出力及びサンプリング処理を禁止状態にする(ステップS1)。
【0045】
そして、出力ポートのデータレベル設定を行う(ステップS2)。データレベル設定は、レジスタ12の対応するビットに例えば「1」を書き込むとデフォルトのデータレベルがLとなり、駆動信号の出力期間になるとデータレベルがHとなる。尚、ステップS1,S2は同じレジスタ12について行う設定であるから、同時に実行可能であることは言うまでもない。
【0046】
続いて、CPU2はサンプリングの許可設定を行う(ステップS3)。当該設定は、コントロールレジスタ(1)18の対応するビットに「1」を書き込むことで、32ビット中の各ビット毎にサンプリングを許可する。それから、2度一致フィルタ33を選択するか否かを設定する(ステップS4)。当該設定は、レジスタ19の対応するビットに「1」を書き込むことで、32ビット中の各ビット毎に2度一致フィルタ33を選択する。
【0047】
次に、CPU2は、ウェイクアップコントロールの設定を行う(ステップS5)。即ち、ウェイクアップコントロールレジスタ23の全てのビットに「0」を書き込んで、ウェイクアップ信号WKUPの出力を禁止する。
【0048】
次に、CPU2は、判定レジスタ21にサンプリングデータの期待値を書き込んで設定する(ステップS6)。尚、この設定は、後でスリープモードに移行する時のために前もって行うものである。即ち、CPU2は、通常動作している場合はデータレジスタ20をポーリングするため、ポートサンプリング回路6はサンプリングデータの判定を行う必要がないからである。
【0049】
次に、CPU2は、ポート出力周期の設定を行う(ステップS7)。即ち、ポート出力サイクルレジスタ13に、出力ポート11より駆動信号を出力させる周期に相当するデータをセットする。続いて、サンプリングタイミングの設定を行う(ステップS8)。即ち、前述したように、サンプリングタイミングカウンタ15に、駆動信号の出力が開始された時点から入力データのサンプリングが行われる時間に相当するデータをセットする。
【0050】
最後に、PSM端子コントロールレジスタ12の対応するビットに「1」を書き込むことでPSMOE=1として、ポート出力及びサンプリング処理を許可状態にすると(ステップS9)、設定処理を終了する。
【0051】
以上のように内部レジスタの設定が行われることで、ポートサンプリング回路6は、ポート出力周期ごとに出力ポート11に駆動信号を出力して外部デバイスを駆動し、その駆動開始からサンプリング期間が経過すると、入力ポート10に与えられているデータのサンプリングを行う動作を繰り返す。そして、CPU2は、必要なタイミングでポートサンプリング回路6のデータレジスタ20を読み出すようにする。
【0052】
次に、図7は、CPU2がスリープモードに移行する場合に、主にポートサンプリング回路6に対して行うレジスタ設定の手順を示すものである。CPU2は、ステップS1と同様にPSMOE=0とすると(ステップS20)、コントロールレジスタ(0)17の対応するビットに「1」を書き込むことで、32ビット中の各ビット毎にサンプリングを許可する(ステップS21)。
【0053】
それから、ウェイクアップステータスレジスタ22の全てのビットに「0」を書き込んでクリアすると(ステップS22)、ウェイクアップコントロールの設定を行う(ステップS23)。即ち、ウェイクアップコントロールレジスタ23の対応するビットに「1」を書き込んで、ウェイクアップ信号WKUPの出力を許可する。
【0054】
そして、CPU2は、ステップS9と同様にPSMOE=1として、ポート出力及びサンプリング処理を許可状態にすると(ステップS24)、クロック制御回路4に対してスリープモードの設定を行う(ステップS25)。すると、クロック制御回路4は、メイン発振回路3の発振動作を停止させるので、CPU2に対するクロック信号の供給が停止して、CPU2はスリープモードに移行する。
【0055】
図8は、CPU2が図7に示す処理を行った後スリープモードに移行した場合における、ポートサンプリング回路6の動作を示すタイミングチャートである。尚、2度一致フィルタ33は選択されていないものとする。
【0056】
図8(A)において、CPU2がスリープモードに移行すると(a)、カウンタ14は、CRクロックの2分周クロックでカウントを開始する(b,c)。そして、そのカウント値がレジスタ13の設定値nに一致すると、出力ポート11のレベルを「L」から「H」にドライブする(d)。
【0057】
そして、出力ポート11のレベルが「H」になったことで、外部デバイスが入力ポート10にハイレベルのデータを出力したものとする(e)。すると、そのデータは、出力ポート11のレベルが「H」から「L」に戻る直前にサンプリングされ、データレジスタ20の出力レベルは「L」から「H」に遷移する(f)。この出力レベル「H」が判定レジスタ21の対応するビットの設定値に一致すると、ウェイクアップステータスレジスタ22の対応するビットの値が「H」になる。そして、ステータスレジスタ22の何れかのビットが「H」になれば、ウェイクアップ信号WKUPが「H」になって出力される。
【0058】
ポートサンプリング回路6よりウェイクアップ信号WKUPが出力されると、クロック制御回路4はスリープモードを解除してメイン発振回路3に再び発振動作を行わせるので、CPU2に対するクロック信号の供給が再開され、CPU2は通常動作状態に復帰する。尚、データレジスタ20に格納されたデータ及びステータスレジスタ22にセットされたビットは、その後、CPU2によってソフトウエア的にリセットされる。
【0059】
また、図8(B)は、図8(A)の一部を拡大して示すものである。(d)に示すように、出力ポート11のレベルが「H」になると、タイミングカウンタ15がCRクロックによるカウント動作を開始する。そして、そのカウント値がタイミングレジスタ16の設定値mに一致すると、サンプリング信号(PSME)が1CRクロックのパルス幅を有するハイレベル信号としてタイミングジェネレータ32より出力される。すると、データラッチ部31において、入力ポート10に与えられているデータがサンプリングされる。
【0060】
それから、1CRクロックの間に判定レジスタ21の設定値との一致判定などが行われて、その次のクロックタイミングでデータレジスタ20の出力状態が変化する。
【0061】
即ち、従来のマイコンでは、スリープモードのように処理を一時的に停止させて消費電力の低減を図るモードに移行すると入力ポートのサンプリングを行うことができず、前記サンプリングを継続的に行う必要がある場合は、スリープモード等に移行することはできなかった。
【0062】
これに対して、本実施例の構成によれば、CPU2がスリープモードに移行しても、ポートサンプリング回路6が自動的にサンプリング動作を行っているので、スリープモード中に次の処理を行う契機となるデータが出力されたとしても、ポートサンプリング回路6がそれを検出すればその時点でスリープモードが解除される。従って、CPU2は、スリープ中に出力されたデータを取り逃がすことなく、適切に対処することが可能となる。
【0063】
図9は、2度一致フィルタ33を選択した場合のタイミングの一例を示すものである。即ち、入力ポート10のレベルが(n−1)の時点で「L」から「H」に変化すると(b)、そのレベルの変化は、データラッチ部31内の前段でラッチされる(d)。
【0064】
次のnの時点では、前段でラッチされたデータは後段のラッチに渡される(e)。そして、nの時点でも入力ポート10のレベルが「L」から「H」に変化すると(b)、そのレベル変化は前段でラッチされる(d)。すると、時点nにおいて前回と今回のサンプリングデータ値が一致したことにより、2度一致フィルタ33はデータレジスタ20にラッチ信号の出力を許可するので、データレジスタ20は、入力ポート10に与えられたデータをラッチする(f)。
【0065】
このように、2度一致フィルタ33を選択した場合は、2回連続したサンプリングタイミングにおいて同じデータがサンプリングされた場合にだけ、そのデータ値がデータレジスタ20に格納されるようになる。従って、マイコン1が例えば外来ノイズなどの影響を受けることで、入力ポート10のデータレベルが一時的に変化したような場合に、そのデータをサンプリングしてしまうことを回避できる。
【0066】
以上のように本実施例によれば、ポートサンプリング回路6を、CPU2により設定された条件に基づいてマイコン1の入力ポート10のサンプリングを自動的に行うようにハードウエアで構成した。具体的には、タイミングジェネレータ32は、レジスタ13に設定されたサンプリング周期及びレジスタ16に設定されたサンプリング時間に基づいてサンプリングタイミング信号を周期的に出力し、データラッチ部31は、そのタイミング信号に基づいて入力ポート10に与えられるデータをラッチし、そのラッチしたデータをデータレジスタ20に格納するように構成した。
【0067】
即ち、CPU2は、周期的に入力ポート10をサンプリングするための処理を行なわずとも、適当なタイミングでデータの読み出しだけを行うようにすれば、マイコン1外部のデバイスなどから入力ポート10に与えられるデータを読み込むことができる。従って、CPU2に実行させる制御プログラムにはサンプリングを行う処理を記述する必要がなくなるので、プログラムの作成工程を簡単にすることができる。また、CPU2の実動作中における処理負担も軽減されるので、その軽減された分を他の処理に振り分けることが可能となる。
【0068】
そして、出力状態変化手段40は、出力ポート11のデータレベルを、入力ポート10をサンプリングするタイミングに同期させて周期的に変化させ、入力ポート10に接続されている外部デバイスを周期的に駆動するようにした。具体的には、タイミングジェネレータ37は、レジスタ13に設定された駆動周期に基づいて駆動タイミング信号を周期的に出力し、信号出力部38は、前記タイミング信号に基づいて出力ポート11のデータレベルを変化させるので、CPU2は、入力ポート10をサンプリングするために外部デバイスの駆動制御を行う必要がなくなり、処理負担を更に軽減することができる。
【0069】
また、上述したように、タイミングジェネレータ32は、レジスタ13に設定されたサンプリング周期及びレジスタ16に設定されたサンプリング時間に基づいてサンプリングタイミング信号を周期的に出力するので、外部デバイスの駆動が開始されてからデータが入力ポート10に出力され、そのデータレベルが安定した状態となり適切なサンプリングが可能となるタイミングを、個別のケースに応じて設定することができる。
【0070】
また、ポートサンプリング回路6の一致回路35は、CPU2がスリープモードに移行している場合に、入力ポート10をサンプリングしたデータが判定レジスタ21にセットされたデータに一致すると、ANDゲート36を介してクロック制御回路4にウェイクアップ信号WKUPを出力するようにした。
【0071】
即ち、CPU2は、予め判定レジスタ21に期待値データをセットしておけば、その期待値に等しいデータがサンプリングされた時点でスリープモードが解除されるので、スリープ中に出力されたデータを取り逃がすことなく適切に対処することができる。従って、CPU2は、従来構成よりもスリープモードを有効に設定維持することができ、消費電力を一層削減することができる。
【0072】
そして、CPU2とポートサンプリング回路6とを備えてマイコン1を構成したので、ポートサンプリング回路6にサンプリング処理を代行させて、CPU2(=マイコン1)の処理能力を向上させることができる。
【0073】
本発明は上記し且つ図面に記載した実施例にのみ限定されるものではなく、以下のような変形または拡張が可能である。
サンプリング周期設定レジスタと、状態変化周期設定レジスタとを個別に設けても良い。
出力状態変化手段は、必要に応じて設ければ良く、単に入力ポートを周期的にサンプリングする構成であっても良い。この場合は、例えば、タイミングジェネレータ37が出力するタイミング信号をデータラッチ部31のラッチ信号としても良い。或いは、タイミングジェネレータ37が出力するタイミング信号によってカウンタ15をリセットスタートさせるようにしても良い。この時は、レジスタ16がサンプリング周期設定レジスタとなる。
【0074】
出力状態の変化周期、または、サンプリングを行う周期は予め固定されていても良い。更に、出力状態の変化周期は可変として、その変化開始のタイミングからサンプリングを行う期間は予め固定としても良い。
判定レジスタ21の設定は、図7に示すスリープ移行処理において行っても良い。
CPU2の通常動作状態においても、入力ポート10をサンプリングしたデータが判定レジスタ21にセットされたデータに一致すると、CPU2に一致信号として割込み信号を出力するように構成しても良い。
斯様に構成すれば、CPU2は、割り込みの発生によって期待値に等しいデータがサンプリングされたことを知ることができるので、サンプリングされたデータが期待値に一致したか否かを判定するために、入力ポート10を所定時間ごとにポーリングして比較判定する必要がなくなる。従って、CPU2の処理負担を一層削減することができる。
タイミングジェネレータ37と信号出力部39とが一体にとなるように構成しても良い。
【0075】
低消費電力モードを実行する機能、即ち、クロック制御回路4が行う機能は、CPUに内蔵されていても良い。
また、低消費電力モードは、スリープ/ストップモードに限ることなく、例えば、クロック周波数を一時的に低下させたり、マイクロコンピュータの一部の機能を限定的に停止させるなど、要は通常の動作状態よりも消費電力が少なくなるように設定されるモードであれば良い。
更に、CPUまたはマイクロコンピュータは、必ずしも低消費電力モードを実行する機能を有していなくても良い。
2度一致フィルタ33は、必要に応じて設ければ良い。その場合、データラッチ部31を削除して、入力ポート10に与えられるデータをデータレジスタ20において直接ラッチするように構成しても良い。
車両用のECUとして構成されるものに限ることなく、入力ポートのサンプリングを行うマイクロコンピュータであれば広く適用が可能である。
【図面の簡単な説明】
【図1】本発明を車両用のボディECUなどに使用されるマイクロコンピュータに適用した場合の一実施例であり、マイクロコンピュータの概略的な構成を示す機能ブロック図
【図2】ポートサンプリング回路が内蔵しているレジスタ及びカウンタを示す図
【図3】出力ポートのレベル変化周期を示すタイミングチャート
【図4】サンプリングタイミングを示すタイミングチャート
【図5】ポートサンプリング回路の内部構成を概略的に示す機能ブロック図
【図6】CPUが通常動作時においてポートサンプリング回路を使用する場合に、当該回路に対して行うレジスタ設定の手順を示すフローチャート
【図7】CPUがスリープモードに移行する場合に、主にポートサンプリング回路に対して行うレジスタ設定の手順を示すフローチャート
【図8】CPUが図7に示す処理を行った後スリープモードに移行した場合における、ポートサンプリング回路の動作を示すタイミングチャートであり、(B)は(A)の一部を拡大して示す図
【図9】2度一致フィルタを選択した場合のタイミングの一例を示す図
【符号の説明】
1はマイクロコンピュータ、2はCPU、6はポートサンプリング回路、10は入力ポート、11は出力ポート、13はポート出力サイクルレジスタ(サンプリング周期設定レジスタ、状態変化周期設定レジスタ)、16はサンプリングタイミングレジスタ(サンプリング開始時間設定レジスタ)、20はデータレジスタ、21はサンプリング判定レジスタ(期待値セットレジスタ)、31はデータラッチ部、32はタイミングジェネレータ(サンプリングタイミング信号出力部)、35は一致回路(一致信号出力部)、37はタイミングジェネレータ(状態変化タイミング信号出力部)、38は信号出力部(状態変化部)、40は出力状態変化手段を示す。
Claims (10)
- CPUにより設定された条件に基づいてマイクロコンピュータの入力ポートに与えられるデータのサンプリングを自動的に行い、サンプリングしたデータを前記CPUが直接読み出し可能なデータレジスタにセットするようにハードウエアで構成され、前記CPUにクロック信号を供給するメイン発振回路とは独立に発振動作するCR発振回路よりCRクロックが供給されて動作し、
前記CPUがサンプリングデータの期待値をセットするための期待値セットレジスタと、
前記データラッチ部がラッチしたデータが前記期待値セットレジスタにセットされたデータに一致した場合、外部に対して一致信号を出力する一致信号出力部とを備えたポートサンプリング回路装置と、
前記CPUと
前記メイン発振回路の発振動作を停止させて前記CPUの動作状態を低下させることで消費電力の低下を図る低消費電力モードを実行する機能とを備えて構成され、
前記一致信号を、前記低消費電力を解除するための信号とすることを特徴とするマイクロコンピュータ。 - 前記ポートサンプリング回路装置は、
サンプリング周期を設定するためのサンプリング周期設定レジスタと、
このサンプリング周期設定レジスタに設定されたサンプリング周期に基づいてサンプリングタイミング信号を周期的に出力するサンプリングタイミング信号出力部と、
このタイミング信号出力部によって出力されるタイミング信号に基づいて前記入力ポートに与えられるデータをラッチして、前記データレジスタに格納するデータラッチ部とで構成されていることを特徴とする請求項1記載のマイクロコンピュータ。 - 前記データラッチ部は、前回サンプリングされたデータと、今回サンプリングされたデータとを保持する2つのデータラッチを備え、
前記データラッチ部に保持された前回と今回とのサンプリングデータ値が一致すると、前記データラッチに今回のサンプリングデータをラッチさせる2度一致フィルタを備えたことを特徴とする請求項2記載のマイクロコンピュータ。 - 前記データラッチ部は、前回のデータと今回のデータとを、前記サンプリングタイミング信号の連続する周期でそれぞれ保持することを特徴とする請求項3記載のマイクロコンピュータ。
- 前記ポートサンプリング回路装置は、
前記マイクロコンピュータの出力ポートの状態を、前記サンプリングを行うタイミングに同期させて周期的に変化させるように構成される出力状態変化手段を備えたことを特徴とする請求項1記載のマイクロコンピュータ。 - 前記ポートサンプリング回路装置は、
前記マイクロコンピュータの出力ポートの状態を、前記サンプリングを行うタイミングに同期させて周期的に変化させるように構成される出力状態変化手段を備えたことを特徴とする請求項2乃至4の何れかに記載のマイクロコンピュータ。 - 前記出力状態変化手段は、
出力ポートの状態を変化させる周期を設定するための状態変化周期設定レジスタと、
この状態変化周期設定レジスタに設定された状態変化周期に基づいて状態変化タイミング信号を周期的に出力する状態変化タイミング信号出力部と、
この状態変化タイミング信号出力部によって出力されるタイミング信号に基づいて前記出力ポートの状態を変化させる状態変化部とで構成されていることを特徴とする請求項6記載のマイクロコンピュータ。 - 前記状態変化周期設定レジスタは、前記サンプリング周期設定レジスタを兼用するように構成されていることを特徴とする請求項7記載のマイクロコンピュータ。
- 前記ポートサンプリング回路装置は、
前記出力ポートの状態が変化した時点から、前記入力ポートに与えられるデータのサンプリングを開始するまでの時間を設定するためのサンプリング開始時間設定レジスタを備え、
前記サンプリングタイミング信号出力部は、前記サンプリング周期と、前記サンプリング開始時間設定レジスタに設定されるサンプリング開始時間とに基づいてサンプリングタイミング信号を周期的に出力するように構成されていることを特徴とする請求項8記載のマイクロコンピュータ。 - 前記一致信号を、前記CPUに対する割込み信号とすることを特徴とする請求項1乃至9の何れかに記載のマイクロコンピュータ。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002094373A JP4192485B2 (ja) | 2002-03-29 | 2002-03-29 | マイクロコンピュータ |
US10/402,807 US6804732B2 (en) | 2002-03-29 | 2003-03-28 | Port sampling circuit apparatus incorporated in a microcomputer |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002094373A JP4192485B2 (ja) | 2002-03-29 | 2002-03-29 | マイクロコンピュータ |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003296292A JP2003296292A (ja) | 2003-10-17 |
JP4192485B2 true JP4192485B2 (ja) | 2008-12-10 |
Family
ID=28671786
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002094373A Expired - Fee Related JP4192485B2 (ja) | 2002-03-29 | 2002-03-29 | マイクロコンピュータ |
Country Status (2)
Country | Link |
---|---|
US (1) | US6804732B2 (ja) |
JP (1) | JP4192485B2 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE202004001621U1 (de) * | 2004-02-04 | 2005-03-31 | Brose Fahrzeugteile | Aufweck-Schaltungsanordnung und Steuerungsvorrichtung |
US7313707B2 (en) * | 2004-03-09 | 2007-12-25 | Hewlett-Packard Development Company, L.P. | Systems and methods for configuring ports |
JP4507888B2 (ja) * | 2005-01-17 | 2010-07-21 | 株式会社デンソー | マイクロコンピュータ |
JP2007058347A (ja) * | 2005-08-22 | 2007-03-08 | Kenwood Corp | 受信装置及びその制御方法 |
JP2009116719A (ja) * | 2007-11-08 | 2009-05-28 | Nec Electronics Corp | マイクロコンピュータ |
US20160203655A1 (en) * | 2011-01-18 | 2016-07-14 | Control-Tec, Llc | Multiple-Mode Data Acquisition System |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5611556A (en) | 1979-07-11 | 1981-02-04 | Toshiba Corp | Data transfer control system |
JPS5638655A (en) | 1979-09-05 | 1981-04-13 | Nec Corp | Microprocessor |
US4389642A (en) * | 1981-07-01 | 1983-06-21 | Kahn William M | Digital matrix switching |
JPS62204304A (ja) * | 1986-03-05 | 1987-09-09 | Canon Inc | 信号処理装置 |
JPS6466726A (en) | 1987-09-08 | 1989-03-13 | Toshiba Corp | Analog/digital converter |
JPH025141A (ja) * | 1988-06-24 | 1990-01-10 | Nec Corp | マイクロ・コンピュータ |
JPH03142582A (ja) | 1989-10-27 | 1991-06-18 | Nec Ic Microcomput Syst Ltd | マイクロコンピュータ |
JP3689915B2 (ja) | 1992-05-12 | 2005-08-31 | 株式会社ルネサステクノロジ | A/d変換器を内蔵したマイクロコンピュータ |
JP2001159947A (ja) | 1999-12-02 | 2001-06-12 | Canon Inc | 駆動制御装置および駆動制御方法および記憶媒体 |
-
2002
- 2002-03-29 JP JP2002094373A patent/JP4192485B2/ja not_active Expired - Fee Related
-
2003
- 2003-03-28 US US10/402,807 patent/US6804732B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US6804732B2 (en) | 2004-10-12 |
JP2003296292A (ja) | 2003-10-17 |
US20030191886A1 (en) | 2003-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4082211B2 (ja) | マイクロコンピュータ | |
US20030079152A1 (en) | Microprocessor with multiple low power modes and emulation apparatus for said microprocessor | |
JP4192485B2 (ja) | マイクロコンピュータ | |
JP4715760B2 (ja) | マイクロコンピュータ及び制御システム | |
US7296170B1 (en) | Clock controller with clock source fail-safe logic | |
JPH08166834A (ja) | クロック発生回路及びマイクロコンピュータ | |
JP4152795B2 (ja) | マイクロコントローラ | |
JP5324340B2 (ja) | マイクロコンピュータ | |
JP4032947B2 (ja) | クロック同期式シリアル通信装置および半導体集積回路装置 | |
US5734878A (en) | Microcomputer in which a CPU is operated on the basis of a clock signal input into one of two clock terminals | |
JP2001350739A (ja) | マイクロコンピュータ | |
JP4780098B2 (ja) | マイクロコンピュータ | |
JP3736348B2 (ja) | タイマで出力信号を制御できるシングルチップマイクロコンピュータ | |
US7243244B2 (en) | Microprocessor and operation mode switching method for the microprocessor | |
JP3711849B2 (ja) | マイクロコンピュータ | |
JP2004234463A (ja) | A/d変換データ入力システム | |
JP3879523B2 (ja) | マイクロコンピュータ | |
JP2000137699A (ja) | マイクロコンピュータ | |
JP4715839B2 (ja) | メモリインターフェイス回路装置 | |
JP2004078642A (ja) | 割込み制御回路 | |
JP5293767B2 (ja) | マイクロコンピュータ | |
JP2007281642A (ja) | 半導体集積回路 | |
JP3925150B2 (ja) | マイクロコンピュータおよび車両用電子制御装置 | |
JP2003162412A (ja) | Cpuの省電力回路 | |
JPH0863451A (ja) | マイクロコンピュータ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040519 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070809 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070821 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071003 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080513 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080709 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20080722 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080826 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080908 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111003 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121003 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121003 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131003 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |