JP2006155303A - 制御装置 - Google Patents

制御装置 Download PDF

Info

Publication number
JP2006155303A
JP2006155303A JP2004346045A JP2004346045A JP2006155303A JP 2006155303 A JP2006155303 A JP 2006155303A JP 2004346045 A JP2004346045 A JP 2004346045A JP 2004346045 A JP2004346045 A JP 2004346045A JP 2006155303 A JP2006155303 A JP 2006155303A
Authority
JP
Japan
Prior art keywords
data
serial
external bus
program data
cpu
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2004346045A
Other languages
English (en)
Inventor
Akihito Mochizuki
昭仁 望月
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2004346045A priority Critical patent/JP2006155303A/ja
Publication of JP2006155303A publication Critical patent/JP2006155303A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Memory System (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】電気的消去・書き換え可能で、かつ安価でサイズも小さいシリアルフラッシュメモリをブートデバイスとして利用できるようにする。
【解決手段】シリアル通信制御部を介してシリアルメモリ6に格納されたデータを読み出すデータ取得手段により取得したデータを起動プログラムデータとして外部バス5に供給する第1のデータ供給制御手段4と、ROM3に格納されたデータを前記起動プログラムデータとして前記外部バス5に供給する第2のデータ供給制御手段3とを備え、電源起動時に転送される起動プログラムデータが前記第1のデータ供給制御手段4又は前記第2のデータ供給制御手段3に従って外部バスに供給される。即ち、プログラムが確定するまではシリアルフラッシュメモリ6をブートデバイスとして実装し、確定した後にマスクROM3へ切り替える。
【選択図】図1

Description

本発明は、CPUに対して供給する外部メモリに保持された起動プログラムデータの制御装置に関するものである。
一般に制御装置等に用いられて高速な処理を実行するCPUには、電源起動時に外部に接続するROM(不揮発性メモリ)に格納したプログラムデータを高速アクセスが可能なRAMにロードして実行する構造を成すものが多く見られ、製品に搭載される場合、プログラムデータを格納しておくROMには、他のデバイスと比較して安価であるマスクROMと呼ばれる書き換えのできないデバイスが使用されている。又、このようなCPUにはマスクROMを外部バスに接続し、起動時に自動的にプログラムデータを読み出して取り込む(ブートシーケンス)機能が付加されている。
しかしながら、コスト的に有利であるマスクROMではあるが、一度書き込んでしまうとプログラムデータの書き換えができないため、生産後に仕様変更やバグ修正を要する可能性がある場合に不都合を生じてしまうリスクを伴うものである。
このように、プログラムデータの修正が必要な場合には、特許文献1で示されるような書き換え可能なメモリデバイスを用いてプログラムデータの書き換えに備える必要があり、一般的にはFlashROMと呼ばれる電気的に書き換えが可能なメモリデバイスを代わりに用いることになるが、FlashROMは、前述のマスクROMと比較して高価であり、FlashROMへの代替は大幅なコストアップを伴うものであった。
特開昭63−223901号公報
上述のように、コストにシビアな設計現場においては、プログラムデータの修正変更リスクに対して、電気的消去・書き換え可能なFlashROMの採用によるコストアップをどの程度許容するのかという問題に直面しており、現実的な対応として部分的にプログラム修正手段を備えるためにマスクROMとFlashROMを併用し、変更の可能性があるデータの一部をFlashROMに格納する構成とすることでコストアップの抑制を図ることも実際に行なわれている。
しかしながら、このように複数のデバイスに分割して外部バスに接続する構成では、バスの伝送上の負荷増大を招き、プリント基板の配線パターンの分岐を増やすことになり、高速動作を実現する上で配線パターン設計を困難にするとともに設計自由度が著しく制限されてしまうという問題を生じさせる。
一方、マイクロコントローラ等に接続して小容量のプログラムデータや各種設定データを保持させる用途に用いられてきたシリアルフラッシュメモリという同期型シリアル通信手段によってデータの読み出し・書き込みを実行する不揮発性メモリが、近年、その容量を増大させ、上記構成におけるプログラムデータの保持手段としても利用できる可能性が出てきた。このシリアルフラッシュメモリは従来のFlashROMに比べ、安価であり、パッケージサイズも小さいため実装面でのメリットも特徴としている。
しかしながら、上述したような構成におけるCPUは起動時に外部バスに接続するデバイスからプログラムデータを読み込み動作を開始する機構を利用しているため、外部バスに接続して制御することができないこのようなシリアルフラッシュメモリからプログラムデータをロードして起動することは不可能であった。
本発明は、上記問題に鑑みてなされたもので、その目的とする処は、CPUの外部バス上の論理回路が備えるシリアルインターフェースに接続するデバイスとしてプログラムデータを保持したシリアルフラッシュメモリが検出された場合には、当該デバイスにアクセスして読み出したデータをCPUのブートシーケンスに対するデータとして供給し、検出されない場合には外部バスに接続するマスクROMにデータ出力を許可すべく制御することにより、プログラムが確定するまではシリアルフラッシュメモリをブートデバイスとして実装し、確定した後にマスクROMへ切り替えることを容易にし、コストアップを抑制しながらも、外部バスに接続デバイスを増加させることなくプログラムデータの修正に備えることを可能とすることである。
本発明は、上記問題点を解決するために以下に示す構成から成る。
RAMに保持する制御プログラムに従って処理を実行するCPUと、前記CPUの外部バスに接続するROM及びシリアル通信制御部を具備する論理回路と、前記論理回路のシリアル通信制御部に接続するシリアルメモリとを備え、電源起動時に前記CPUが外部バスを介して前記RAMに起動プログラムデータを転送する所定の動作を実行する制御装置において、前記論理回路は、前記シリアル通信制御部を介して前記シリアルメモリに格納されたデータを読み出すデータ取得手段と、前記データ取得手段により取得したデータを前記起動プログラムデータとして前記外部バスに供給する第1のデータ供給制御手段と、前記ROMに格納されたデータを前記起動プログラムデータとして前記外部バスに供給する第2のデータ供給制御手段とを備え、電源起動時に転送される起動プログラムデータが前記第1のデータ供給制御手段又は前記第2のデータ供給制御手段に従って外部バスに供給される。
更に、前記論理回路は、前記シリアル通信制御部を介して前記シリアルメモリが有効なプログラムデータを格納していることを検出する検出手段を備え、前記検出手段により検出された検出結果に基づいて、前記電源起動時に転送される起動プログラムデータの供給制御が実行される。
更に、前記検出手段による検出処理は、電源起動後に発生する最初のCPUからのリードアクセスで実行する。
或いは、前記検出手段による検出処理は、前記論理回路に与えたシステムリセット解除後に実行する。
更に、前記論理回路のシリアル通信制御部はSPI(Serial Peripheral Interface)によって接続するシリアルフラッシュメモリとの通信手段を備える。
本発明によれば、CPUの外部バス上の論理回路が備えるシリアルインターフェースに接続するデバイスとしてプログラムデータを保持したシリアルフラッシュメモリが検出された場合には、当該デバイスにアクセスして読み出したデータをCPUのブートシーケンスに対するデータとして供給し、検出されない場合には外部バスに接続するマスクROMにデータ出力を許可すべく制御することにより、プログラムが確定するまではシリアルフラッシュメモリをブートデバイスとして実装し、確定した後にマスクROMへ切り替えることを容易にし、コストアップを抑制しながらも、外部バスに接続デバイスを増加させることなくプログラムデータの修正に備えることが可能となる。
以下、添付図面に従って本発明にかかる実施例を詳細に説明する。
<実施の形態1>
<装置説明>
図1は本発明の実施の形態におけるシステム全体の構成図を示すブロック図である。
図1において、システム全体を制御するCPU1は内蔵するメモリコントローラによって制御するRAM2に保持した制御プログラムを実行する。更に、外部バス5を介してマスクROM3、ASIC4の各デバイスを接続しており、ASIC4は、本システムが提供する機能を実現するための信号処理回路と共にシリアル通信制御回路を内蔵しており、シリアルインターフェース7を介してシリアルフラッシュメモリ6へアクセス可能な構成となっている。上記構成において、電源起動時にCPUのブートシーケンス機能によってRAM2上に転送される起動プログラムデータは、マスクROM3及びシリアルフラッシュメモリ6の何れか又は両方に保持させておくことが可能である。
図2は上記CPUのブートシーケンス処理におけるデータ転送を実現する制御方法の一例を示すブロック図である。
図2において、CPU1・マスクROM3・ASIC4・シリアルフラッシュメモリ6については図1と同じである。CPU1は電源起動時にプログラムデータの読み出し先を示す信号であるチップセレクトA201を駆動する。このチップセレクトA201は、マスクROM3とASIC4の両方に接続されており、更に、ASIC4からはマスクROM3が外部バス5に対してデータ出力を許可するチップセレクトB202信号が与えられる。マスクROM3は、チップセレクトA201とチップセレクトB202の両方が有効となった場合に保持されているプログラムデータを外部バスに出力するべく制御される。
又、ASIC4は、シリアルクロック203、シリアルデータ出力204、シリアルデータ入力205という信号によってシリアルフラッシュメモリ6に対してアクセスを行う。
以下に簡単に基本的な読み出し動作を説明する。
シリアルクロック203に同期してシリアルデータ出力204にリード動作を示す命令ビットとリードアドレスを示すアドレスビット等のデータ列を順次駆動すると、シリアルフラッシュメモリ6は、この信号に従い、指定されたアドレスに格納されたデータを所定のタイミングで前記シリアルクロックに同期してシリアルデータ入力205に順次出力していく。
図4はシリアルフラッシュメモリに対するアクセス制御タイミングの一例としてSPI(Serial
Peripheral Interface)と呼ばれる同期型シリアル通信方式を示すものである。このようなシーケンスに従って、ASIC4は、シリアルフラッシュメモリ6から任意のアドレスに格納されたデータを読み出すことが可能である。一般に、シリアルフラッシュメモリは、本実施例に示したSPI方式によってアクセスされるが、本発明はこれに限定するものではなく、如何なるシリアル通信手段によって制御されるものであっても同様の効果を得ることが可能である。
<動作説明>
上記構成を成す本実施例のCPUのブートシーケンスにおけるASIC4の動作について図3に示すフローチャートに従って説明する。
図示しないパワーオンリセット回路により検出された電源起動を示すシステムリセット信号がASIC4に与えられると、ASIC4内部は初期化されてデバイス検出フラグとデバイス種別フラグという2種類のステータスビットがクリアされる。(ステップS301)デバイス検出フラグは、プログラムデータを保持しているデバイスの検出が完了することによってセットされ、又、デバイス種別フラグは、シリアルインターフェースに接続するシリアルフラッシュメモリに有効なプログラムデータが保持されていることを検出することによってセットされる。即ち、本実施の形態では、デバイス検出フラグ=1の状態でデバイス種別フラグ=0である場合にシリアルフラッシュメモリに有効なプログラムデータが保持されていると判定し、逆にデバイス種別フラグ=1である場合には、マスクROMを有効な格納先と判断する。又、両ステータスビットともに、セットされた以降は再びシステムリセット信号が与えられるまでその状態を保持される。
初期化完了後は、CPU1によりチップセレクトA201が駆動され有効となる(ブートシーケンスの開始)まで待機し(ステップS302)、チップセレクトA201が有効となったことを検出した場合は、前記デバイス検出フラグのチェックを行う(ステップS303)。ステップS303において、デバイス検出フラグ=1である場合には処理はステップS308へと進み、デバイス検出フラグ=0である場合には、シリアルインターフェースに接続するシリアルフラッシュメモリに対して所定のアドレスに対するリードを実行する(ステップS304)。例えば、前記所定アドレスを000番地とし、ここに所定の値を書き込むことによって当該メモリデバイスが有効なプログラムデータを保持することを示すと規定し、シリアルインターフェースに接続するデバイスがこのデータを出力しない場合には、有効なプログラムを保持するデバイスが存在しないと判断する。ここで判定に用いる所定値とは、シリアルフラッシュメモリがブランク(未書き込み)状態で出力される値、或いはシリアルフラッシュメモリが未実装である状態を示す値(シリアルデータ入力信号をプルアップ[すべて“1”]又はプルダウン[すべて“0”]とし安定した固定値を得る)以外の値である必要がある。
引き続き、処理はステップS305へと進み、リードデータと前記所定値との比較を行い、不一致の場合には有効なプログラムを保持するシリアルフラッシュメモリが存在しないと判断して、デバイス種別フラグを“1”とする(ステップS306)。又、一致した場合には、デバイス種別フラグは“0”を保持したままとなり、何れの場合であってもデバイス検出フラグはセットされる(ステップS307)。
ステップS308では、デバイス種別フラグをチェックしてプログラムの格納先を判定する。前述のように、デバイス種別フラグ=0である場合にはシリアルフラッシュメモリを有効なプログラムの格納先と判断し、外部バスに与えられたCPUからのリードアドレスに従ってシリアルインターフェースに対してリードアクセスを実行する(ステップS309)。引き続き、上記アクセスに対してシリアルフラッシュメモリが返送したデータをCPUへのリードデータとして外部バスに出力する(ステップS310)。リードデータの出力後、チップセレクトAが無効となることによってCPUからのリードサイクルが完了したことを検出するまでこれを保持した後(ステップS311)、外部バスへのデータ出力を終了して次のアクセスに備える(ステップS312)。
一方、ステップS308において、デバイス種別フラグ=1である場合には、マスクROMを有効なプログラムデータの格納先と判断し、チップセレクトB202を有効とする(ステップS313)。この結果、マスクROMはデータ出力条件であるチップセレクトAとチップセレクトBが共に有効となったことを受け、CPUのリードアクセスに対して該当するデータを外部バスに対して出力する。更に、ASIC4はCPU1からのリードサイクルの完了を待ち(ステップS314)、マスクROMに与えていたチップセレクトBを無効とすることで外部バスへのデータ出力を終了させ、次のアクセスに備える(ステップS315)。
上述のように本実施の形態に従えば、ASICが備えるシリアルインターフェースに接続するデバイスとしてプログラムデータを保持したシリアルフラッシュメモリが検出された場合には、当該デバイスにアクセスして読み出したデータをCPU1のブートシーケンスに対するデータとして供給し、検出されない場合には、外部バスに接続するマスクROMにデータ出力を許可すべく制御される。これにより、プログラムが確定するまではシリアルフラッシュメモリをブートデバイスとして実装し、確定した後にマスクROMへ切り替えることを容易にし、コストアップを抑制しながらも、外部バスに接続デバイスを増加させることなくプログラムデータの修正に備えることが可能となる。
<実施の形態2>
他の実施の形態として、実施の形態1で示したシリアルインターフェースに接続する有効なプログラムデータを保持するデバイスの有無の検出処理をシステムリセット解除の直後にASIC4が自動的に実行する場合について説明を加える。
本実施の形態では実施の形態1において図3のフローチャートにおけるステップS303からステップS307に至るデバイス検出判定処理をCPU1によるアクセスにより実行するのではなく、システムリセット解除によるASIC4の初期化終了後に自動的に実行し完了させる。
通常、CPU1は、電源起動後に内部の動作が安定するまでブートシーケンスを開始せずに待機状態にある。一方、ASIC4の初期化は、システムリセット解除後、即座に完了するために、この時間差を利用して前述のデバイス検出判定処理を自動的に実行させることが可能になる。従って、CPU1がブートシーケンスを開始する時点で、既にASIC4ではデバイス検出判定処理が完了し、前記デバイス検出フラグ=1の状態で待機させることが可能である。
上述したように、本実施の形態ではブートシーケンスのアクセス時間に含まれるデバイス検出判定処理時間を除外することが可能となり、システム全体の起動時間を短縮するという効果が得られる。
<実施の形態3>
他の実施の形態として、実施の形態1及び2で示したデバイス検出判定処理を実行せず、ASIC4の特定端子に印加される信号レベルによってプログラム保持デバイスを選択する場合について説明を加える。
本実施の形態では、前述のようなデバイス検出判定処理を実行することなく、システムリセット解除時における所定の端子の入力レベルに従ってプログラムデータを保持するデバイスを選択する。前述した実施の形態に比べて上記所定端子を必要とするという短所を有するものの、システムリセット解除とCPUからのブートシーケンス開始のタイミングにおいて実施の形態2で示したような時間差が十分に得られない場合においては代替手段として有効である。
本発明の実施の形態におけるシステム全体の構成図を示すブロック図である。 本発明の実施の形態におけるブートシーケンスにおけるデータ転送制御方法の一例を示すブロック図である。 本発明の実施の形態におけるブートシーケンスにおけるASIC4の動作を示すフローチャートである。 シリアルフラッシュメモリに対するアクセス制御タイミングの一例を示すタイミングチャートである。
符号の説明
1 CPU
2 RAM
3 マスクROM
4 ASIC
5 外部バス
6 シリアルフラッシュメモリ
7 シリアルインターフェース
202 チップセレクトA
203 チップセレクトB
204 シリアルクロック
205 シリアルデータ出力
206 シリアルデータ入力

Claims (6)

  1. RAMに保持する制御プログラムに従って処理を実行するCPUと、前記CPUの外部バスに接続するROM及びシリアル通信制御部を具備する論理回路と、前記論理回路のシリアル通信制御部に接続するシリアルメモリとを備え、電源起動時に前記CPUが外部バスを介して前記RAMに起動プログラムデータを転送する所定の動作を実行する制御装置において、
    前記論理回路は、前記シリアル通信制御部を介して前記シリアルメモリに格納されたデータを読み出すデータ取得手段と、前記データ取得手段により取得したデータを前記起動プログラムデータとして前記外部バスに供給する第1のデータ供給制御手段と、前記ROMに格納されたデータを前記起動プログラムデータとして前記外部バスに供給する第2のデータ供給制御手段とを備え、電源起動時に転送される起動プログラムデータが前記第1のデータ供給制御手段又は前記第2のデータ供給制御手段に従って外部バスに供給されることを特徴とする制御装置。
  2. 前記論理回路は、前記シリアル通信制御部を介して前記シリアルメモリが有効なプログラムデータを格納していることを検出する検出手段を備え、前記検出手段により検出された検出結果に基づいて、前記電源起動時に転送される起動プログラムデータの供給制御が実行されることを特徴とする請求項1記載の制御装置。
  3. 前記検出手段による検出処理は、電源起動後に発生する最初のCPUからのリードアクセスで実行することを特徴とする請求項1又は2記載の制御装置。
  4. 前記検出手段による検出処理は、前記論理回路に与えたシステムリセット解除後に実行することを特徴とする請求項1又は2記載の制御装置。
  5. 前記論理回路は、所定の端子に印加された入力レベルに基づいて、前記電源起動時に転送される起動プログラムデータの供給制御が実行されることを特徴とする請求項1記載の制御装置。
  6. 前記論理回路のシリアル通信制御部は、SPI(Serial Peripheral Interface)によって接続するシリアルフラッシュメモリとの通信手段を備えることを特徴とする請求項1記載の制御装置。
JP2004346045A 2004-11-30 2004-11-30 制御装置 Withdrawn JP2006155303A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004346045A JP2006155303A (ja) 2004-11-30 2004-11-30 制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004346045A JP2006155303A (ja) 2004-11-30 2004-11-30 制御装置

Publications (1)

Publication Number Publication Date
JP2006155303A true JP2006155303A (ja) 2006-06-15

Family

ID=36633521

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004346045A Withdrawn JP2006155303A (ja) 2004-11-30 2004-11-30 制御装置

Country Status (1)

Country Link
JP (1) JP2006155303A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009169485A (ja) * 2008-01-11 2009-07-30 Fujitsu Microelectronics Ltd 情報処理装置、半導体集積回路装置及びブート方法
US7983111B2 (en) 2007-02-21 2011-07-19 Seiko Epson Corporation Memory controller for controlling memory and method of controlling memory
US8171279B2 (en) 2007-09-28 2012-05-01 Samsung Electronics Co., Ltd. Multi processor system having direct access boot and direct access boot method thereof

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7983111B2 (en) 2007-02-21 2011-07-19 Seiko Epson Corporation Memory controller for controlling memory and method of controlling memory
US8171279B2 (en) 2007-09-28 2012-05-01 Samsung Electronics Co., Ltd. Multi processor system having direct access boot and direct access boot method thereof
JP2009169485A (ja) * 2008-01-11 2009-07-30 Fujitsu Microelectronics Ltd 情報処理装置、半導体集積回路装置及びブート方法

Similar Documents

Publication Publication Date Title
JP4136359B2 (ja) マイクロコンピュータ
US7856614B2 (en) Programmable system-on-chip apparatus and method for updating firmware
JP2007206885A (ja) コンピュータシステム及びシステム起動方法
JP2007299227A (ja) 情報処理装置及び情報処理装置のブート方法
JP6047033B2 (ja) Lsiおよび情報処理システム
CN112925569A (zh) 一种固件数据处理方法、装置、设备及存储介质
JP2006155303A (ja) 制御装置
JP2011113257A (ja) 情報処理装置及び情報処理装置の起動方法
RU2579942C2 (ru) Устройство прямого отображения адресов данных, располагающихся во внешнем последовательном пзу, в адресное пространство микропроцессорного ядра, компьютерная система и способ передачи данных
JPH11149376A (ja) Bootローダー回路
JP5966305B2 (ja) 印刷装置
JP4005950B2 (ja) マイクロコントローラ
JP2009230425A (ja) 情報処理装置
JP2007102544A (ja) デジタルシグナルプロセッサシステムおよびそのブート方法。
JP4330355B2 (ja) 表示装置
JP2009093270A (ja) コンピュータシステム及びその起動方法
JP2004021421A (ja) メモリ装置の制御方法およびそのプログラムならびに記録媒体
JP2008090408A (ja) マイクロコンピュータ、データ書込み装置およびその書込み方法
JP2010044638A (ja) 情報処理装置
JP4343244B2 (ja) マイクロコンピュータ
JP2005276104A (ja) マイクロコンピュータ
JP3997505B2 (ja) プログラマブルコントローラのシステムプログラム書き換え方法
JP2002049536A (ja) メモリ制御装置およびメモリ制御方法
JPH11328089A (ja) Pciバスインタフェース用デバイスにおけるid情報書き込み回路
JP5720206B2 (ja) マイクロプロセッサ

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20080205