JP2002149625A - マイクロコンピュータの制御方法 - Google Patents

マイクロコンピュータの制御方法

Info

Publication number
JP2002149625A
JP2002149625A JP2000342848A JP2000342848A JP2002149625A JP 2002149625 A JP2002149625 A JP 2002149625A JP 2000342848 A JP2000342848 A JP 2000342848A JP 2000342848 A JP2000342848 A JP 2000342848A JP 2002149625 A JP2002149625 A JP 2002149625A
Authority
JP
Japan
Prior art keywords
program
data
microcomputer
area
host
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.)
Granted
Application number
JP2000342848A
Other languages
English (en)
Other versions
JP4988982B2 (ja
Inventor
Hideo Kondo
英雄 近藤
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.)
Sanyo Electric Co Ltd
Original Assignee
Sanyo Electric Co Ltd
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 Sanyo Electric Co Ltd filed Critical Sanyo Electric Co Ltd
Priority to JP2000342848A priority Critical patent/JP4988982B2/ja
Priority to TW090126545A priority patent/TWI233040B/zh
Priority to KR1020010069143A priority patent/KR20020036717A/ko
Priority to US10/010,306 priority patent/US6954815B2/en
Priority to EP01309499A priority patent/EP1205845B1/en
Priority to CNB2004100475007A priority patent/CN1265275C/zh
Priority to CNB011374160A priority patent/CN1162786C/zh
Publication of JP2002149625A publication Critical patent/JP2002149625A/ja
Application granted granted Critical
Publication of JP4988982B2 publication Critical patent/JP4988982B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)
  • Microcomputers (AREA)

Abstract

(57)【要約】 【課題】ホストと周辺デバイスとの接続のためのUSB
ケーブルを利用して、ホストからマイクロコンピュータ
へのプログラム書き込みを高速に行う。 【解決手段】マイクロコンピュータのリセットに応じて
前記書き込み制御プログラムの実行を開始する第1のス
テップ201と、前記書き込み制御プログラムによって
USBの初期化を実行する第2のステップ203と、U
SBの初期化後、前記ホストからプログラムデータを前
記不揮発性メモリの第1のプログラム領域に書き込む第
3のステップ210と、前記第1のプログラム領域に書
き込まれたプログラムを実行する第4のステップ220
とを有する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、USBインターフ
ェース回路及びプログラム格納用メモリとしてEEPR
OMを内蔵したマイクロコンピュータの制御方法に関す
るものであり、特にホスト(例えば、パーソナルコンピ
ュータ)からEEPROMへのプログラムデータの書き
込み及び実行に係る制御方法に関する。
【0002】
【従来の技術】近年、パーソナルコンピュータ等におい
て、周辺デバイスの拡張性の自由度を高めるために、U
SB(Universal Serial Bus)のサポートが始められて
いる。USBはユーザの利便性を考慮して考案されたシ
リアルインターフェース規格であって、キーボード、マ
ウス、カメラ、プリンタ、スキャナー、スピーカ等の様
々な周辺デバイスとパーソナルコンピュータ等との通信
に共通に使用できる。
【0003】図6はUSBを利用したパーソナルコンピ
ュータと周辺デバイスとの接続構成例を示す図である。
上位のパーソナルコンピュータ100とハブ101との
間はUSBケーブルで接続され、さらにハブ101の下
位には周辺デバイス102〜105が接続され得る。そ
して、パーソナルコンピュータ100によって周辺デバ
イス102〜105の管理が行われる仕組みになってい
る。このように、USBは多重スター型のネットワーク
構造の双方向通信可能なシリアルバスといえる。
【0004】ここで、USBケーブルには4本の信号線
が含まれる。その内訳は電源用2本と、データ信号用2
本である。データ信号は基本的には差動信号(D+
-)として扱われる。また、USBを利用したデータ
転送は、転送単位がフレームという概念で時間分割さ
れ、そのフレームを積み重ねていくことにより行う。1
つのフレームはSOF(Start Of Frame)パケットによ
り開始する。そして、ホストのパーソナルコンピュータ
は予めそのフレームの中にスケジューリングされたデー
タ転送要求トークン(キーボードやカメラからのデータ
入力要求や、音声データの出力要求)を順次送出するこ
とにより、複数の周辺デバイスとのデータ転送を並行し
て行う。
【0005】なお、USBに関する技術文献として、例
えば「Interface」(1997年1月号)、特開平11
−205412号公報等がある。
【0006】ところで、上述した周辺デバイスには、通
常、デバイスの動作を制御するためのマイクロコンピュ
ータが搭載される。ここで、マイクロコンピュータには
プログラム格納用メモリとして、電気的に書き換え、読
み出し及び消去可能な不揮発性メモリであるEEPRO
Mが内蔵されているものとする。このEEPROMに
は、上記の機能に加えてプログラムデータを一括消去す
る機能を備えたフラッシュROMも含まれる。
【0007】従来、上記のEEPROMにプログラムデ
ータを書き込む場合、2つの方法が行われていた。以下
では、プログラム格納用メモリとしてフラッシュROM
を備えたマイクロコンピュータを例として説明する。
【0008】1つの方法は、図7に示すようにROMラ
イター110を用いてマイクロコンピュータ111に内
蔵されたフラッシュROM112にパラレルにデータを
書き込む場合である。例えば、8ビットのマイクロコン
ピュータ111においては、データ信号線が8本、アド
レス信号線が16本、コントロール信号線が3本(チッ
プイネーブル信号、ライトイネーブル信号、リードイネ
ーブル信号)が必要であった。
【0009】また、フラッシュROM112に書き込む
べきプログラムデータはパーソナルコンピュータ内にヘ
キサファイル等の所定のファイル形式で存在する場合が
多い。そこで、パーソナルコンピュータからフラッシュ
ROMにプログラムデータを書き込む場合、図8に示す
ように、パーソナルコンピュータ100に併設されたシ
リアル通信ユニット115(RS232C等)を用い、
シリアル信号線113を介してマイクロコンピュータ1
11と接続していた。
【0010】また、マイクロコンピュータ111にはS
IO(Serial Input/Output)回路114が内蔵される
と共に、フラッシュROM112の所定領域にはSIO
回路114を動作させるためのSIO制御プログラムが
予め書き込まれている。パーソナルコンピュータ100
からシリアル信号線113を介してプログラムデータが
転送されて来ると、SIO回路114はSIO制御プロ
グラムに従って、フラッシュROM112に書き込み動
作を行う。しかしながら、上述したシステム構成ではS
IO回路114、シリアル通信ユニット115(RS2
32C等)という特別な外部回路と通信ソフトを必要と
していた。
【0011】
【発明が解決しようとする課題】上述したように、従来
マイクロコンピュータに内蔵されたプログラム格納用メ
モリであるフラッシュROMにプログラムデータを書き
込む場合、当該プログラムデータをパラレルに書き込む
と信号線の本数が多くなり、シリアルに書き込む場合に
は特別の外部回路や通信ソフトを必要としていた。
【0012】そこで本発明は、ホスト(パーソナルコン
ピュータ)と周辺デバイスとを接続して双方向通信可能
な環境において備えられているUSBケーブルをそのま
ま利用して、ホスト(パーソナルコンピュータ)からマ
イクロコンピュータに内蔵されたフラッシュROMへプ
ログラムデータの書き込み等を行うと共に、プログラム
データ書き込み後はUSBケーブルを本来の目的である
双方向通信に用いるようにし、特別のシリアルラインや
外部回路、通信ソフト等を不要とすることを目的として
いる。
【0013】
【課題を解決するための手段】本発明のマイクロコンピ
ュータの制御方法は、上述した課題を解決するために、
ホストとマイクロコンピュータ間のデータ送受信のイン
ターフェースを行うUSBインターフェース回路と、書
き込み制御プログラムが格納された第1のプログラム領
域及びプログラムデータが書き込まれる第2のプログラ
ム領域とを有し、電気的に書き換え及び読み出し可能な
不揮発性メモリと、前記不揮発性メモリから読み出され
るプログラムを実行するCPUと、を備えたマイクロコ
ンピュータの制御方法であって、マイクロコンピュータ
のリセットに応じて前記書き込み制御プログラムの実行
を開始する第1の段階と、USBの初期化を実行する第
2の段階と、前記ホストからプログラムデータを前記不
揮発性メモリの第2のプログラム領域に書き込む第3の
段階と、前記第2のプログラム領域に書き込まれたプロ
グラムを実行する第4の段階と、を有することを特徴と
する。これにより、ホストからマイクロコンピュータへ
プログラムデータの書き込みを高速かつ円滑に行うこと
ができる。
【0014】また、前記マイクロコンピュータのリセッ
トはパワーオンリセットであることを特徴とする。
【0015】また、前記第4の段階の後に、前記ホスト
からプログラムデータを再書き込みするか否を判定する
段階を有し、再書き込みする場合には前記第1の段階か
ら第4の段階を再度繰り返すことにより、前記ホストか
らプログラムデータを前記不揮発性メモリの第2のプロ
グラム領域に再書き込みし、当該再書き込み後のプログ
ラムを実行することを特徴とする。これにより、ホスト
からのプログラムデータの再書き込みが可能となる。
【0016】また、前記第3の段階の後に、前記第1の
プログラム領域内の特定の領域に、照合用コードデータ
を書き込む段階を有すると共に、前記第1の段階の後
に、前記特定の領域のデータと照合用コードデータとを
比較する段階を有し、両者が一致しない場合には前記第
3の段階に移行し、両者が一致した場合には前記ホスト
からプログラムデータを前記不揮発性メモリの第2のプ
ログラム領域に再度書き込むことなく前記第2のプログ
ラム領域に書き込まれたプログラムを実行することを特
徴とする。
【0017】これにより、プログラムデータを書き込む
か、既に第2のプログラム領域に書き込まれたプログラ
ムを実行するかの切り換えをソフト的に行うことがで
き、ユーザーの利便性が向上する。
【0018】
【発明の実施の形態】次に、本発明の実施形態について
図面を参照しながら説明する。図1は、本発明の実施形
態に係るマイクロコンピュータの構成を示すブロック図
である。
【0019】以下で、マイクロコンピュータ10は8ビ
ット構成として説明する。マイクロコンピュータ10と
パーソナルコンピュータ100とは1対の差動信号線に
よって接続される。そして、USBデータ、すなわちU
SB差動信号(D+,D-)はマイクロコンピュータ10
の端子P1,P2を介して入出力される。USB差動信
号(D+,D-)は、USB通信プロトコルに従ったシリ
アルデータ信号である。
【0020】20は、端子P1,P2に接続された入出
力回路であって、差動入力バッファ21、入力バッファ
22,23及び出力バッファ24,25から構成されて
いる。ここで、入力バッファ22,23はUSB差動信
号(D+,D-)の状態が(L,L)となる場合を考慮し
て設けられている。
【0021】マイクロコンピュータ10に内蔵されたU
SBインターフェース回路30は、パーソナルコンピュ
ータ100との間のデータ送受信のインターフェースを
行うもので、特にデータ受信時は入出力回路20からの
USB差動信号(D+,D-)を受けて各種のデータ処理
を行う。
【0022】USBインターフェース回路30は、上記
シリアルデータ信号から必要なデータを抽出する。この
時、USBインターフェース回路30は当該シリアルデ
ータ信号が如何なる転送フォーマットであるかを判別す
ると共に、エラー信号処理等を行う。またUSBインタ
ーフェース回路30は、上記データ処理が施されたシリ
アル信号をマイクロコンピュータ100が処理可能な所
定形式のパラレル信号(例えば8ビット構成)に変換す
る。
【0023】さらに、USBインターフェース回路30
は、パラレル変換された8ビット×4=32ビットのプ
ログラムデータを一時記憶するテンポラリレジスタ31
及び制御レジスタ(不図示)を備えている。制御レジス
タには、USBの初期化時にパーソナルコンピュータ1
00がホストとして管理すべき各種データ(デバイスに
割り付けられるアドレスデータ等)がセットされる。
【0024】なお、USBインターフェース回路30は
マイクロコンピュータ10からパーソナルコンピュータ
100へのデータ送信時には上記と全く逆のデータ処理
(パラレルデータからシリアルデータへの変換等)を行
っている。
【0025】RAM40はUSBインターフェース回路
30のテンポラリレジスタ31のデータから逐次転送さ
れる32ビット単位のプログラムデータを一時記憶する
ために利用される。
【0026】そして、USBインターフェース回路30
とRAM40との間のデータ転送を行うために、専用の
32本の信号線が設けられている。RAM40に蓄積さ
れたプログラムデータが所定量(例えば128バイト)
に達すると、128バイトのプログラムデータはマイク
ロコンピュータ10のバス45を経由してフラッシュR
OM50へ転送される。
【0027】逆に、フラッシュROM50に書き込まれ
たプログラムデータをRAM40へ転送し、そのRAM
40内に記憶されたプログラムデータをUSBインター
フェース回路30のテンポラリレジスタ31へ転送する
ことも可能である。
【0028】一般に、USB通信によればパーソナルコ
ンピュータ100から大量のデータがデバイス側に送出
されるため、デバイス側には特別のデータバッファを設
けることが行われる。
【0029】これに対して、本発明ではマイクロコンピ
ュータ10がデータメモリとして本来有しているRAM
40をUSB通信によるデータを一時記憶するために利
用するという構成を採ることでデータメモリの有効活用
を図っている点も特徴である。
【0030】図2は、RAM40及び周辺回路を示すブ
ロック図である。USBインターフェース回路30から
はアドレス信号ADR1、CPU70からはアドレス信
号ADR2が出力され、アドレス選択回路80に入力さ
れる。アドレス選択回路80はアドレス信号ADR1,
ADR2のいずれかを選択してアドレス指定回路81に
入力する。
【0031】そして、アドレス指定回路81の出力はア
ドレスデコーダ41に入力され、アドレス信号ADR
1,ADR2のいずれかに応じて同一のデータ領域がア
クセス可能に構成されている。
【0032】上述した構成によれば、RAM40のデー
タ領域42はアドレス信号ADR2が選択された場合は
CPU70がコントロールするデータメモリ領域として
利用可能であると共に、アドレス信号ADR1が選択さ
れた場合には、USBインターフェース回路30からの
プログラムデータ(32ビット単位)を一時記憶するた
めのデータメモリ領域としても利用可能である。すなわ
ち、RAM40のデータ領域は、CPU70とUSBイ
ンターフェース回路30の両方からアクセス可能であ
る。
【0033】ただし、上記のアドレス選択は、パーソナ
ルコンピュータ100とのデータ送受信中については、
USBインターフェース回路30からのアドレス信号A
DR1を選択するように構成されている。これはパーソ
ナルコンピュータ100からのデータ転送が途中で中断
できないというUSBの特性に基づくものである。具体
的には、USBインターフェース回路30のテンポラリ
レジスタ31がフル状態なったことを検知する信号に基
づいて、マイクロコンピュータ10はウエイト(待機)
状態に自動的に設定される。
【0034】また、図1において、50はフラッシュR
OMであり、USB制御プログラム(書き込み制御プロ
グラム)が予め格納された第1のプログラム領域53と
パーソナルコンピュータ100からのプログラムデータ
がRAM40を経由して書き込まれる第2のプログラム
領域52と、に分割されている。ここで、第1のプログ
ラム領域53は書き換えが不能なようにライトプロテク
トされている。
【0035】また、第2のプログラム領域52の一部に
は照合用コードデータ領域52Aが設けられている。こ
の領域には、第1のプログラム領域53の書き込み制御
プログラムに従って、パーソナルコンピュータ100か
らのプログラムデータを書き込み後に、照合用コードデ
ータが書き込まれる。
【0036】この照合用コードデータは例えば128K
バイトのデータ量であって、予め第1のプログラム領域
53の一部に書き込まれている。或いは、照合用コード
データは上記プログラムデータに付随してパーソナルコ
ンピュータ100から送信するようにしても良い。
【0037】この照合用コードデータ領域52Aのデー
タが予め第1のプログラム領域53の一部に記憶された
照合用コードデータと一致した場合には、マイクロコン
ピュータは既にプログラムデータが書き込み済みである
と認識し、再度USBの初期化を行うことなく、当該プ
ログラムデータを実行する。
【0038】一方、この照合用コードデータ領域52A
のデータが予め第1のプログラム領域53の一部に記憶
された照合用コードデータと一致しない場合には、US
Bの初期化を経てプログラムデータの書き込み動作に移
行する。
【0039】60はプログラムカウンタであって、その
出力はフラッシュROM50のアドレスデコーダ51に
印加されている。プログラムカウンタ60の出力値は後
に説明するようにUSB通信の状態に応じて、CPUか
らの命令により所定番地にジャンプする。すなわち、パ
ーソナルコンピュータ100からのプログラムデータの
書き込み時には、プログラムカウンタ60は第1のプロ
グラム領域53(書き込み制御プログラムが格納されて
いる)の先頭アドレスである(FF00)番地にジャン
プすると共に、プログラムデータの書き込み後は、第2
のプログラム領域52の先頭アドレスである(000
0)番地にジャンプする。そして、CPU70は、フラ
ッシュROM50から読み出されるプログラム命令に従
ってマイクロコンピュータ10の動作を実行する。
【0040】次に、上述したマイクロコンピュータ10
の制御方法について図3のフローチャートを参照しなが
ら説明する。
【0041】まず、最初のステップ200では、マイク
ロコンピュータ10がUSBケーブルに接続される。こ
のとき、USBケーブルの電源ラインによってマイクロ
コンピュータ10に電源が投入されることにより、マイ
クロコンピュータ10は内蔵されたパワーオンリセット
回路によりリセットされる。
【0042】次に、ステップ201において、書き込み
制御プログラムが開始する。このとき、プログラムカウ
ンタ60の値は、第1のプログラム領域53の先頭アド
レスである(FF00)番地へジャンプする。従って、
その後マイクロコンピュータ10は当該書き込み制御プ
ログラムに従って以下の処理を実行する。
【0043】ステップ201においてUSBケーブルに
マイクロコンピュータ10が接続されると、マイクロコ
ンピュータ10側に設けられたプルアップ抵抗を介し
て、USB差動信号(D+,D-)が(L,L)から例え
ば(H,L)が変化する。パーソナルコンピュータ10
0はこのUSB差動信号(D+,D-)の変化により、マ
イクロコンピュータ100がUSBネットワークに接続
されたことを検知し、所定時間後にUSBバスリセット
信号を発行する。USBバスリセット信号の受信後、次
のステップに進む。
【0044】ステップ203では、エニュミュレーショ
ン(Enumeration)によるUSBの初期化を行う。これ
は、一般にマイクロコンピュータ10とパーソナルコン
ピュータ100との間でUSBデータの送受信を行うこ
とが可能な環境設定を行うための一連のソフトウエア処
理である。
【0045】エニュミュレーションにより行われる主な
処理は、パーソナルコンピュータ100の初期化と、パ
ーソナルコンピュータ100が支配するデバイスにアド
レスを割り付ける処理である。後者において、USBイ
ンターフェース回路30内の制御レジスタ(アドレスレ
ジスタ)内に、パーソナルコンピュータ100が割り当
てた特定のアドレスが記憶される。これにより、マイク
ロコンピュータ10は、パーソナルコンピュータ100
が送信して来たUSBパケット内のアドレスと上記アド
レスレジスタ内のアドレスとを照合し、それらが一致し
た場合にのみ送信されきたUSBデータの処理を行う。
【0046】こうして、USBデータの送受信を行うこ
とが可能な環境設定が終了すると、ステップ210で
は、パーソナルコンピュータ100からのプログラムデ
ータのロードを実行する。
【0047】このステップ210の詳細は図4のフロー
チャートに示す。ステップ211では、パーソナルコン
ピュータ100からフラッシュROMに書き込むべきプ
ログラムデータがUSB差動信号データ(D+,D-)の
形で入力されてくる。
【0048】ステップ212では、この入力されたUS
B差動信号データ(D+,D-)をUSBインターフェー
ス回路30によってデータ処理する。このデータ処理内
容は上述した通りであるが、シリアルデータ(8ビット
×4)を所定のパラレルデータ(32ビット)に変換す
るのがその主な処理である。
【0049】ステップ213では、USBインターフェ
ース回路30からRAM40へパラレル変換されたプロ
グラムデータが書き込まれる。そして、RAM40へ書
き込まれたプログラムデータ量が所定量(例えば128
バイト)に達すると、この所定量を単位としてRAM4
0からバス45を介してフラッシュROM50の第1の
領域へ書き込みが開始される(ステップ214)。これ
はフラッシュROM50が複数ブロックに分割されてお
り、128バイトをブロックとして構成されていること
による。したがって、RAM40のデータの蓄積量はフ
ラッシュROM50のブロック構成に応じて適宜に選択
可能である。
【0050】ここで、実際にはUSBインターフェース
回路30からRAM40へパラレル変換されたプログラ
ムデータの書き込み動作と、RAM40からフラッシュ
ROM50へ書き込み動作は並行して行われるために、
高速書き込みが実現される。
【0051】ステップ214において、フラッシュRO
Mへの書き込みが開始されるがこれには所定の時間を要
する。そこで、ステップ215ではマイクロコンピュー
タ10はソフト的にNACK状態にセットされる。これ
はUSBパケットのハンドシェイク・パケットの一種で
あって、ホストであるパーソナルコンピュータ100か
らのデータを受け付けることができないことを知らせる
ためにパーソナルコンピュータ100へ返される。
【0052】そして、ステップ216では書き込み終了
か否かを判定する。その判定結果がNOであれば、NA
CK状態を維持する。その判定結果がYESであれば、
ACK状態にセットされ(ステップ217)、ACKは
マイクロコンピュータ10側でデータを受け付け可能で
あることを知らせるためにパーソナルコンピュータ10
0へ返される。
【0053】そして、次のステップ218ではフラッシ
ュROM50へのプログラムデータの書き込みが全て終
了したかを判定する。その判定結果がNOであれば、ス
テップ211へ戻り、残余のプログラムデータの書き込
みを続行する。ここで、プログラムデータの書き込みは
ブロック(ページ)単位(例えば128バイト)で行わ
れるため、全部のページが書き込まれるまでこの処理は
繰り返される。
【0054】判定結果がYESの場合には、上記の過程
で書き込まれたプログラムを実行する(ステップ22
0)。すなわち、プログラムカウンタ60の値は第2の
プログラム領域52の先頭アドレスである(0000)
番地にジャンプする。そして、マイクロコンピュータ1
0はパーソナルコンピュータ10から供給されたプログ
ラムデータを読み出し、CPU70は解読されたプログ
ラム命令に基づいてマイクロコンピュータの動作を実行
開始する。
【0055】なお、上記のようにパーソナルコンピュー
タ100からマイクロコンピュータ10のフラッシュR
OM50に対してプログラムデータを書き込む場合のプ
ログラムステップについて説明したが、フラッシュRO
M50に書き込まれたプログラムデータを読み出して、
パーソナルコンピュータ100へ送り返し、ベリファイ
を行うことも可能である。
【0056】その場合には、プログラムステップの順序
は上述したものと逆の順序となる。すなわち、フラッシ
ュROM50から読み出されたプログラムデータはRA
M40に一時記憶された後、USBインターフェース回
路30へ逐次転送される。そして、USBインターフェ
ース回路30では書き込みの際とは逆のデータ処理を施
し、パラレルデータを所定のシリアルデータに変換後、
USBケーブルを介してパーソナルコンピュータ100
へ送出する。
【0057】図3のフローチャートに戻ると、パーソナ
ルコンピュータ100から書き込まれたプログラムの実
行の過程(ステップ220)において、再度、プログラ
ムデータを書き込むかどうかを判定する(ステップ22
1)。これは、USBケーブルの断線等の何らかの通信
エラーに対応するためのステップである。そこで、YE
Sと判定された場合には、ステップ203に戻り、プロ
グラムデータの再ロードが行われる。
【0058】このように、上述したマイクロコンピュー
タの制御方法によれば、フラッシュROM50の第1の
プログラム領域53に予め記憶された書き込み制御プロ
グラムに従って、パーソナルコンピュータ100からプ
ログラムデータを第1のプログラム領域53に書き込む
と共に、当該プログラムを実行することが可能となる。
【0059】さて、実使用状態において、マイクロコン
ピュータ10からUSBケーブルをはずし電源オフして
から、再度USBケーブルを接続し電源オンにする場合
を考えると、既に実行すべきプログラムデータがロード
されているにもかかわらず、上記図3のプログラムフロ
ーに従うと、書き込み制御プログラムが起動してしま
い、不要なプログラムステップが実行されてしまうとい
う不都合が生じる。これを回避するには外部のジャンパ
ースイッチによって2つのプログラムを切り分ける方法
が考えられるが、ユーザーとって非常に不便である。
【0060】そこで、図5のフローチャートに示すよう
に、書き込み制御プログラムの実行の過程で、プログラ
ムデータの書き込み判定を行うステップ202を設け
た。すなわち、第2のプログラム領域52の一部には照
合用コードデータ領域52Aが設けられている。
【0061】この照合用コードデータ領域52Aには、
プログラムデータの書き込み後(ステップ218)に、
照合用コードデータが書き込まれる。前述したように、
照合用コードデータは例えば128Kバイトのデータ量
であって、予め第1のプログラム領域53の一部に書き
込まれていても良いし、或いはプログラムデータに付随
してパーソナルコンピュータ100から送信するように
しても良い。
【0062】ステップ202では、照合用コードデータ
領域52Aのデータを読み出し、予め第1のプログラム
領域53に書き込まれているか、マイクロコンピュータ
内の所定のレジスタに記憶された照合用コードデータと
比較する。それらが一致した場合には、マイクロコンピ
ュータは既にプログラムデータが書き込み済みであると
認識し、再度USBの初期化を行うことなく、当該プロ
グラムデータを実行する。
【0063】一方、照合用コードデータ領域52Aのデ
ータが照合用コードデータと一致しない場合には、US
Bの初期化を経てプログラムデータの書き込み動作に移
行する。これにより、2つのプログラムの切り分けをソ
フトウエアにより行うことが可能となるのでユーザーの
利便性が向上する。
【0064】また、バージョンアップされたプログラム
データを再書き込みしたい場合には、上記の照合用コー
ドデータ領域52Aの照合コードデータを書き換える
か、その1ビットを削除する等により、照合判定結果は
不一致となるので、再ロードすることが可能となる。
【0065】
【発明の効果】本発明のマイクロコンピュータの制御方
法によれば、ホスト(例えばパーソナルコンピュータ)
と周辺デバイスとの接続のためのUSBケーブルを利用
して、ホストからマイクロコンピュータへのプログラム
書き込みを高速に行うことが可能となる。また、プログ
ラムの転送にUSBを利用しているので、特別のシリア
ルラインや外部回路、通信ソフト等を不要とすることが
できる。
【0066】また、本発明によれば、不揮発性メモリの
一部領域に照合用コードデータを書き込み、プログラム
データが書き込み済みかどうか書き込み照合判定を行っ
ているので、書き込み制御プログラムと実行すべきプロ
グラムの切り分けをソフトウエアにより行うことが可能
となるのでユーザーの利便性が向上するという利点を有
している。
【図面の簡単な説明】
【図1】本発明の実施形態に係るマイクロコンピュータ
を示すブロック図である。
【図2】本発明の実施形態に係るマイクロコンピュータ
のRAM及び周辺回路を示すブロック図である。
【図3】本発明の実施形態に係るマイクロコンピュータ
10の制御方法を示すフローチャートである。
【図4】本発明の実施形態に係るマイクロコンピュータ
10の制御方法を示すフローチャートである。
【図5】本発明の実施形態に係るマイクロコンピュータ
10の制御方法を示すフローチャートである。
【図6】USBを利用したパーソナルコンピュータと周
辺デバイスとの接続構成例を示す図である。
【図7】従来のフラッシュROMへのプログラムデータ
書き込み方法を示す図である。
【図8】従来のフラッシュROMへのプログラムデータ
書き込み方法を示す図である。
【符号の説明】
10 マイクロコンピュータ 20 入出力回路 30 USBインターフェース回路 40 RAM 45 バス 50 フラッシュROM 51 アドレスデコーダ 52 第2のプログラム領域 53 第1のプログラム領域 60 プログラムカウンタ 70 CPU

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】ホストとマイクロコンピュータ間のデータ
    送受信のインターフェースを行うUSBインターフェー
    ス回路と、書き込み制御プログラムが格納された第1の
    プログラム領域及びプログラムデータが書き込まれる第
    2のプログラム領域とを有し、電気的に書き換え及び読
    み出し可能な不揮発性メモリと、前記不揮発性メモリか
    ら読み出されるプログラムを実行するCPUと、を備え
    たマイクロコンピュータの制御方法であって、 マイクロコンピュータのリセットに応じて前記書き込み
    制御プログラムの実行を開始する第1の段階と、前記U
    SBの初期化を実行する第2の段階と、前記ホストから
    プログラムデータを前記不揮発性メモリの第2のプログ
    ラム領域に書き込む第3の段階と、前記第2のプログラ
    ム領域に書き込まれたプログラムを実行する第4の段階
    と、を有することを特徴とするマイクロコンピュータの
    制御方法。
  2. 【請求項2】前記マイクロコンピュータのリセットはパ
    ワーオンリセットであることを特徴とする請求項1に記
    載のマイクロコンピュータの制御方法。
  3. 【請求項3】前記第4の段階の後に、前記ホストからプ
    ログラムデータを再書き込みするか否を判定する段階を
    有し、再書き込みする場合には前記第1の段階から第4
    の段階を再度繰り返すことにより、前記ホストからプロ
    グラムデータを前記不揮発性メモリの第2のプログラム
    領域に再書き込みし、当該再書き込み後のプログラムを
    実行することを特徴とする請求項1に記載のマイクロコ
    ンピュータの制御方法。
  4. 【請求項4】前記第3の段階の後に、前記第2のプログ
    ラム領域内の特定の領域に照合用コードデータを書き込
    む段階を有すると共に、前記第1の段階の後に、前記特
    定の領域のデータと照合用コードデータとを比較する段
    階を有し、両者が一致しない場合には前記第3の段階に
    移行し、両者が一致した場合には前記ホストからプログ
    ラムデータを前記不揮発性メモリの第2のプログラム領
    域に再度書き込むことなく前記第2のプログラム領域に
    書き込まれたプログラムを実行することを特徴とする請
    求項1に記載のマイクロコンピュータの制御方法。
  5. 【請求項5】前記ホストはパーソナルコンピュータであ
    ることを特徴とする請求項1、2、3及び4に記載のマ
    イクロコンピュータの制御方法。
JP2000342848A 2000-11-10 2000-11-10 マイクロコンピュータの制御方法 Expired - Lifetime JP4988982B2 (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP2000342848A JP4988982B2 (ja) 2000-11-10 2000-11-10 マイクロコンピュータの制御方法
TW090126545A TWI233040B (en) 2000-11-10 2001-10-26 Microcomputer and controlling method thereof
KR1020010069143A KR20020036717A (ko) 2000-11-10 2001-11-07 마이크로컴퓨터 및 그 제어 방법
US10/010,306 US6954815B2 (en) 2000-11-10 2001-11-08 Microcomputer with universal serial bus interface circuit and method of controlling the same
EP01309499A EP1205845B1 (en) 2000-11-10 2001-11-09 Microcomputer and method of controlling the same
CNB2004100475007A CN1265275C (zh) 2000-11-10 2001-11-09 微型计算机
CNB011374160A CN1162786C (zh) 2000-11-10 2001-11-09 微型计算机及其控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000342848A JP4988982B2 (ja) 2000-11-10 2000-11-10 マイクロコンピュータの制御方法

Publications (2)

Publication Number Publication Date
JP2002149625A true JP2002149625A (ja) 2002-05-24
JP4988982B2 JP4988982B2 (ja) 2012-08-01

Family

ID=18817322

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000342848A Expired - Lifetime JP4988982B2 (ja) 2000-11-10 2000-11-10 マイクロコンピュータの制御方法

Country Status (1)

Country Link
JP (1) JP4988982B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007011583A (ja) * 2005-06-29 2007-01-18 Toshiba Corp 情報処理装置および同装置の動作制御方法
US7281103B2 (en) 2003-10-01 2007-10-09 Kabushiki Kaisha Toshiba Microcomputer with a security function for accessing a program storage memory
KR101822977B1 (ko) * 2010-12-21 2018-01-29 삼성전자주식회사 멀티-인터페이스 메모리 카드와 이의 동작 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0991267A (ja) * 1995-09-25 1997-04-04 Sanyo Electric Co Ltd 不揮発性メモリのデータ書き込み装置
JP2000003558A (ja) * 1998-06-12 2000-01-07 Teac Corp 交換型記録媒体を使用するデ−タ蓄積装置
WO2000017749A1 (en) * 1998-09-24 2000-03-30 Ericsson Inc. Remote firmware upgrade

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0991267A (ja) * 1995-09-25 1997-04-04 Sanyo Electric Co Ltd 不揮発性メモリのデータ書き込み装置
JP2000003558A (ja) * 1998-06-12 2000-01-07 Teac Corp 交換型記録媒体を使用するデ−タ蓄積装置
WO2000017749A1 (en) * 1998-09-24 2000-03-30 Ericsson Inc. Remote firmware upgrade

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7281103B2 (en) 2003-10-01 2007-10-09 Kabushiki Kaisha Toshiba Microcomputer with a security function for accessing a program storage memory
JP2007011583A (ja) * 2005-06-29 2007-01-18 Toshiba Corp 情報処理装置および同装置の動作制御方法
KR101822977B1 (ko) * 2010-12-21 2018-01-29 삼성전자주식회사 멀티-인터페이스 메모리 카드와 이의 동작 방법

Also Published As

Publication number Publication date
JP4988982B2 (ja) 2012-08-01

Similar Documents

Publication Publication Date Title
JP5695724B2 (ja) 混合されたタイプのメモリデバイスを動作させるシステムおよび方法
JP2724046B2 (ja) Icメモリカードシステム
US20010016887A1 (en) Voltage negotiation in a single host multiple cards system
US20100174866A1 (en) Memory device, electronic device, and host apparatus
US11630791B2 (en) Data storage system and method for multiple communication protocols and memory access
US6810444B2 (en) Memory system allowing fast operation of processor while using flash memory incapable of random access
US6954815B2 (en) Microcomputer with universal serial bus interface circuit and method of controlling the same
US20040049617A1 (en) Method of firmware update by USB interface
TW201931127A (zh) 快閃記憶體控制器、安全數位卡、使用於快閃記憶體控制器的方法以及連接至安全數位卡的電子裝置
US20070005847A1 (en) Data transfer control device and electronic instrument
JP5010065B2 (ja) マイクロコンピュータ
EP1394682B1 (en) Data transfer control device, program and method of fabricating an electronic instrument
JP4988982B2 (ja) マイクロコンピュータの制御方法
JP4793798B2 (ja) マイクロコンピュータ
JP3635996B2 (ja) 情報処理システム
JP4860811B2 (ja) マイクロコンピュータ
JP2006031123A (ja) Usbメモリ装置およびusbメモリ装置制御プログラム
JP2003108951A (ja) Pcカード
JP2002024081A (ja) 半導体集積回路装置
JP2002259148A (ja) プログラマブルromのデータ書換方法およびデータ書換装置
JPH11328089A (ja) Pciバスインタフェース用デバイスにおけるid情報書き込み回路
US7730233B2 (en) Data transfer control device and electronic instrument
JP2001043182A (ja) パラレルバスシステム
JP2006301882A (ja) メモリカード
JPH02227761A (ja) データ転送制御装置及びデータ処理システム

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20051227

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071031

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081224

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090113

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090310

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100105

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100325

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20100412

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20100723

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20110526

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20110526

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110916

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120116

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: 20120427

R150 Certificate of patent or registration of utility model

Ref document number: 4988982

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150511

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150511

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150511

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

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

EXPY Cancellation because of completion of term