JP2009199424A - マイクロコンピュータ - Google Patents
マイクロコンピュータ Download PDFInfo
- Publication number
- JP2009199424A JP2009199424A JP2008041436A JP2008041436A JP2009199424A JP 2009199424 A JP2009199424 A JP 2009199424A JP 2008041436 A JP2008041436 A JP 2008041436A JP 2008041436 A JP2008041436 A JP 2008041436A JP 2009199424 A JP2009199424 A JP 2009199424A
- Authority
- JP
- Japan
- Prior art keywords
- task
- periodic
- cycle
- cpu
- periodic task
- 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
Images
Landscapes
- Advance Control (AREA)
- Microcomputers (AREA)
Abstract
【解決手段】マイクロコンピュータは、CPUが制御周期の冒頭で周期タスクの実行を開始し、その周期タスクの実行が終了した後に非周期タスクの実行を開始するように構成され、周期タスクにおいて周期的な信号入力処理又は信号出力処理を実行し、割込みが発生した場合は、その割込み処理を非周期タスクで実行する。
【選択図】図1
Description
PWM回路3は、内部にカウンタ7,サイクルレジスタ8,デューティレジスタ9等を備えている。CPU2は、サイクルレジスタ8,デューティレジスタ9にデータを書き込むことで、PWM信号の搬送波周期及びデューティ比を設定する。そして、PWM回路3は、カウンタ7のカウントデータとレジスタ8,9に設定されたデータとを図示しないコンパレータにより比較することで、所定周期,所定デューティ比のPWM信号を生成出力する。尚、PWM回路3は、PWM信号の立上がりエッジのタイミングで、CPU2に対してPWM割込みを発生させる。
尚、CPU2に対しては、例えばマイコン1の外部より通信要求割込み等も発生するようになっており、これらの各種割込みは、図示しない割込み制御回路を介してCPU2に与えられる。
尚、上記のような処理を行うマイクロコンピュータは極一般的な構成であるため、先行技術文献を特段に提示する必要はないと考える。
以下、本発明の第1実施例について図1乃至図7を参照して説明する。本実施例のマイクロコンピュータ(以下、マイコンという)は、周期処理(以下、周期タスクという)と非周期処理(以下、非周期タスクという)とを実行することで所望の処理を行う。具体的には、周期タスクを周期的に実行し、その周期タスクと周期タスクとの間に非周期タスクを実行する。周期タスクは、例えばタイマのカウントや通信処理を行うものなどで、非周期タスクは、例えば周期的な実行を必要としないアプリケーションを実行するもの(割込み処理など)である。
(1)論理・算術命令A:RAM200もしくはROM100へのアクセスを必要とせず、レジスタファイル324から格納データを読み込み演算し、演算結果をレジスタファイル324に書き込む動作をする命令
(2)ロードストア命令B:CPU300の外部メモリ(RAM200もしくはROM100)からレジスタファイル324へデータを書き込むためのロードデータを読み込むロード命令、レジスタファイル324から外部メモリへストアデータを書き込むストア命令
(3)分岐命令C:レジスタファイル324の格納データから分岐先アドレスを取得してPC323に書き込み、分岐先アドレスが書き込まれる前のPC323のアドレスをレジスタファイル324に格納する動作を行う命令(PC323のアドレスを変更してタスクの命令順序を変更する命令)
上記各命令のうち、命令Aおよび命令Cは4サイクル、命令Bは5サイクルで1つの命令を処理するようになっている。
続いて、サイクル2では、アドレス0x00の命令AについてはEXEステージが実行される。すなわち、プログラムカウンタ制御ユニット312から実行ユニット322に演算制御信号が入力され、命令に従った演算が実行される。また、アドレス0x01の命令Aについては上記と同様に命令AのDECステージが実行される。さらに、PC323のアドレス0x02について上記と同様に命令AのIFステージが実行される。
このようにIFステージとMAステージとの競合を避ける理由は、CPU300からRAM200にデータが書き込まれるためにMAステージによりデータパス320が占有され、他の命令ステージがデータパス320を使用できなくなるからである。上記のようにしてストールされたサイクル6の各ステージは、次のサイクル7で実行される。
そして、周期タスクの実行が終了した後、非周期タスクへ分岐する非周期タスク開始命令が実行されると、非周期タスクの実行が開始される。カウンタ326のカウントダウンと共に非周期タスクが実行され、停止タイミングレジスタ327の値(本実施形態では6)とカウンタ326の値とが一致したサイクルから、周期タスク起動準備期間が開始される。
図8及び図9は本発明の第2実施例を示すものであり、第1実施例と同一部分には同一符号を付して説明を省略し、以下異なる部分について説明する。第2実施例では、PWM回路3A内のカウンタ7Aのビットサイズを第1実施例のカウンタ7よりも削減しており、カウンタ7Aがカウントアップすると、CPU300Aに対してPWMタイマ割込みを発生させるようになっている。
例えば、制御周期内における周期タスクと非周期タスクとの実行比率をそれぞれ50%とすれば、特開平6−250857号公報に開示されているマイクロコンピュータが実行するLタスクを周期タスク,Aタスクを非周期タスクとみなすことができる。したがって、上記構成のマイクロコンピュータにおいても同様に、本発明の制御内容を実行させることができる。
各カウンタのカウント動作は、ダウンカウントであっても良い。
制御周期は50サイクルに限ることなく、個別の設計に応じて適宜変更すれば良い。
マイクロコンピュータが周期的に出力する信号はPWM信号に限ることなく、パルス幅が一定の信号でも良い。また、ロウアクティブ信号でも良い。
また、周期タスクにおいては、周期的な信号入力処理をトリガとして、信号出力処理を周期的に行うようにしても良い。
第2実施例におけるハードウエアカウンタ7Aの下位側ビットサイズと、ソフトウエアカウンタの上位側ビットサイズとは、個別の設計に応じて適宜変更すれば良い。
Claims (4)
- CPUが一定の制御周期に基づく処理を繰り返し実行するもので、前記制御周期においては、当該周期の冒頭で周期タスクの実行を開始し、当該周期タスクの実行が終了した後に非周期タスクの実行を開始するマイクロコンピュータであって、
前記CPUは、前記周期タスクにおいて周期的な信号入力処理又は信号出力処理を実行し、
前記CPUに対する割込みが発生した場合には、前記非周期タスクにおいて割込み処理を実行することを特徴とするマイクロコンピュータ。 - 前記CPUにより、信号出力周期が設定可能に構成され、前記周期設定に基づいて信号を出力する周期信号出力回路を備え、
前記CPUは、前記信号の出力周期を前記制御周期と同一に設定し、前記信号の出力に関連して行う入力信号処理を、前記周期タスクにおいて実行することを特徴とする請求項1記載のマイクロコンピュータ - 前記信号出力周期を生成するためのタイマカウンタは、
下位ビット側がハードウエアカウンタで構成され、
上位ビット側は、前記CPUが、前記ハードウエアカウンタのカウント終了回数を計数するソフトウエアカウンタとして構成されていることを特徴とする請求項2記載のマイクロコンピュータ。 - 前記非周期タスクの実行を停止させる停止タイミングを示すサイクル数を格納する停止タイミングレジスタと、
前記制御周期に相当するサイクル数をカウントする時間計測手段と、
前記周期タスクの先頭アドレスを格納する周期タスクレジスタと、
前記周期タスクもしくは前記非周期タスクを実行すべくフェッチする命令のフェッチアドレスを格納すると共に、前記フェッチする命令を読み出す度に前記フェッチアドレスを更新するプログラムカウンタと、
前記時間計測手段がカウントするカウント数と、前記停止タイミングレジスタに格納された停止タイミングを示すサイクル数とがそれぞれ入力されると共に、
前記カウント数と前記サイクル数とが一致したときに前記プログラムカウンタを停止させることで前記非周期タスクの実行を中断させ、
この後、前記時間計測手段から入力されるカウント数が前記制御周期の終わりを示すカウント数に一致した場合、前記周期タスクレジスタに格納された前記周期タスクの先頭アドレスを前記プログラムカウンタに格納して前記周期タスクの実行を開始させるプログラムカウンタ制御ユニットとを備えることを特徴とする請求項1乃至3の何れかに記載のマイクロコンピュータ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008041436A JP2009199424A (ja) | 2008-02-22 | 2008-02-22 | マイクロコンピュータ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008041436A JP2009199424A (ja) | 2008-02-22 | 2008-02-22 | マイクロコンピュータ |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009199424A true JP2009199424A (ja) | 2009-09-03 |
Family
ID=41142839
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008041436A Pending JP2009199424A (ja) | 2008-02-22 | 2008-02-22 | マイクロコンピュータ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009199424A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016091479A (ja) * | 2014-11-11 | 2016-05-23 | 株式会社明電舎 | カウンタユニット |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5923854U (ja) * | 1982-07-31 | 1984-02-14 | 日本電気ホームエレクトロニクス株式会社 | マイクロコンピユ−タのインタラプト回路 |
JPS62151969A (ja) * | 1985-12-25 | 1987-07-06 | Nec Corp | 情報処理装置 |
JPH03122723A (ja) * | 1989-10-06 | 1991-05-24 | Nec Corp | 割込処理装置 |
JPH08212090A (ja) * | 1995-02-03 | 1996-08-20 | Fujitsu Ltd | サーバシステム |
JP2002108724A (ja) * | 2000-10-03 | 2002-04-12 | Auto Network Gijutsu Kenkyusho:Kk | Romのデータチェック方法 |
JP2002202830A (ja) * | 2000-12-28 | 2002-07-19 | Denso Corp | マイクロコンピュータ |
-
2008
- 2008-02-22 JP JP2008041436A patent/JP2009199424A/ja active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5923854U (ja) * | 1982-07-31 | 1984-02-14 | 日本電気ホームエレクトロニクス株式会社 | マイクロコンピユ−タのインタラプト回路 |
JPS62151969A (ja) * | 1985-12-25 | 1987-07-06 | Nec Corp | 情報処理装置 |
JPH03122723A (ja) * | 1989-10-06 | 1991-05-24 | Nec Corp | 割込処理装置 |
JPH08212090A (ja) * | 1995-02-03 | 1996-08-20 | Fujitsu Ltd | サーバシステム |
JP2002108724A (ja) * | 2000-10-03 | 2002-04-12 | Auto Network Gijutsu Kenkyusho:Kk | Romのデータチェック方法 |
JP2002202830A (ja) * | 2000-12-28 | 2002-07-19 | Denso Corp | マイクロコンピュータ |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016091479A (ja) * | 2014-11-11 | 2016-05-23 | 株式会社明電舎 | カウンタユニット |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4770664B2 (ja) | マイクロプロセッサおよびそれを用いたマイクロコンピュータ | |
US8006114B2 (en) | Software programmable timing architecture | |
CN105988400B (zh) | 微控制器单元 | |
US9785538B2 (en) | Arbitrary instruction execution from context memory | |
AU2006221114A1 (en) | Single-cycle low-power CPU architecture | |
US20050149931A1 (en) | Multithread processor architecture for triggered thread switching without any cycle time loss, and without any switching program command | |
JP2009199424A (ja) | マイクロコンピュータ | |
US6502181B1 (en) | Method and apparatus for an enhanced processor | |
KR100321745B1 (ko) | 외부메모리액세스를위한마이크로컨트롤러유닛 | |
JP2005234968A (ja) | 演算処理装置 | |
JP2010102567A (ja) | 周期駆動タスク実行装置、周期駆動タスク実行方法及びプログラム | |
CN108090001B (zh) | 一种内核dma稳态调度方法及装置 | |
JP4975586B2 (ja) | 複数本のシーケンスプログラムを並列して実行可能なプログラマブルコントローラ | |
EP0933705B1 (en) | Data processor with robust interrupt branching and method of operation | |
JP2005100017A (ja) | プロセッサシミュレータおよび割込遅延カウントプログラム、並びにプロセッサのシミュレート方法 | |
JP2001014161A (ja) | プログラマブルコントローラ | |
JPH04275603A (ja) | プログラマブル・コントローラ | |
JP7384374B2 (ja) | 中央演算処理装置 | |
US5987559A (en) | Data processor with protected non-maskable interrupt | |
JP3755168B2 (ja) | プログラマブルコントローラ | |
JP2721610B2 (ja) | プログラマブルコントローラ | |
JP2013167945A (ja) | 情報処理装置、タスク起床制御方法、及びタスク起動制御プログラム | |
JP2003029966A (ja) | データ処理装置 | |
JP2006236215A (ja) | マイクロコンピュータ | |
JP2559929B2 (ja) | プログラマブルコントローラ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100330 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20101220 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110111 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110302 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111129 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20120321 |