JPH10503312A - マイクロコントローラに対してシリアルなパック内プログラム性を提供するための方法及び装置 - Google Patents

マイクロコントローラに対してシリアルなパック内プログラム性を提供するための方法及び装置

Info

Publication number
JPH10503312A
JPH10503312A JP9515282A JP51528297A JPH10503312A JP H10503312 A JPH10503312 A JP H10503312A JP 9515282 A JP9515282 A JP 9515282A JP 51528297 A JP51528297 A JP 51528297A JP H10503312 A JPH10503312 A JP H10503312A
Authority
JP
Japan
Prior art keywords
microcontroller
data
battery
voltage
pin
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
JP9515282A
Other languages
English (en)
Inventor
ノラン,ジェームス,ビー.
デラクロース,ブリアン
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.)
Microchip Technology Inc
Original Assignee
Microchip Technology 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 Microchip Technology Inc filed Critical Microchip Technology Inc
Publication of JPH10503312A publication Critical patent/JPH10503312A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G08SIGNALLING
    • G08BSIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
    • G08B21/00Alarms responsive to a single specified undesired or abnormal condition and not otherwise provided for
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02JCIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
    • H02J7/00Circuit arrangements for charging or depolarising batteries or for supplying loads from batteries
    • H02J7/0029Circuit arrangements for charging or depolarising batteries or for supplying loads from batteries with safety or protection devices or circuits
    • H02J7/0031Circuit arrangements for charging or depolarising batteries or for supplying loads from batteries with safety or protection devices or circuits using battery or load disconnect circuits
    • H02J7/0032Circuit arrangements for charging or depolarising batteries or for supplying loads from batteries with safety or protection devices or circuits using battery or load disconnect circuits disconnection of loads if battery is not under charge, e.g. in vehicle if engine is not running
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02JCIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
    • H02J7/00Circuit arrangements for charging or depolarising batteries or for supplying loads from batteries

Landscapes

  • Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Business, Economics & Management (AREA)
  • Emergency Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Charge And Discharge Circuits For Batteries Or The Like (AREA)
  • Information Transfer Systems (AREA)
  • Power Sources (AREA)

Abstract

(57)【要約】 本発明により提供されるマイクロコントローラ(10)は、バッテリ充電及びバッテリ監視アプリケーションに用いられる。このマイクロコントローラは、マイクロプロセッサ(12)、及び、傾斜A/D変換器(30)やマルチプレクサ(32)を含む種々の前置アナログ回路を具備しており、複数のアナログ入力信号(50-51)を、信号レベル(48)を表す対応するディジタル計数値に変換することができるようにしている。マイクロコントローラは、さらに、双方向2ワイヤバス及びデータ伝送プロトコロルをサポートするために、他の周辺機器又はマイクロコントローラ装置(12)とのシリアルな通信に有用なI2Cインターフェース(58)を具備している。このI2Cインターフェースを使用することによって、マイクロコントローラは、最終アプリケーション回路においてプログラミングすることができる。このような特徴によって、顧客は、未だプログラムされてない装置をもつボードを製造し、それから、製品を出荷する直前にマイクロコントローラをプログラミングすることが可能になる。

Description

【発明の詳細な説明】 マイクロコントローラに対してシリアルなパック内 プログラム性を提供するための方法及び装置発明の属する技術分野 本発明は、マイクロコントローラのプログラミングに関し、より詳細には、ユ ーザの最終利用アプリケーション〔end(-use)application〕回路内にあるときに マイクロコントローラをプログラミングすることができるという能力に関する。 マイクロコントローラは、マイクロプロセッサコア、並びに、タイマ回路、R OM及びRAMメモリ等を具備しており、これらは、単一の半導体集積回路(I C)上に埋め込まれている。マイクロコントローラは、広く多様な現実のアプリ ケーションにおいて使用され、これには、ほとんど毎日のようにみられる新しい 利用技術が伴う。ちっぽけなポケットベルのような可搬式機器において、マイク ロコントローラは、受信される文字に応答して、機器に割込み、発信音を生成し て到来メッセージをユーザに通知し、例えば液晶ディスプレイ(LCD)のよう なディスプレイに適した多数のメッセージを生成するようにしている。マイクロ コントローラは、また、パーソナルコンピュータ用キーボードを制御するために 用いられ、プロセッサにより形式的に取り扱われる多くのタスクを押しつける(o ffload)役目を果たす。さらに、マイクロコントローラは、コマンド割込み及び データ伝送用モデムにおいても、非常に低い動作速度でプリンタを駆動するため の用意としてデータを高速ダンプする ためのプリントバッファにおいても、そして、カラー複写機、電子タイプライタ 、ケーブルテレビジョン端末装置、芝生散水機制御器、クレジットカード電話機 、更には、エンジン制御器、アンチロックシステム、自動車サスベンション等の 、ユーザの好みに応じた乗車の柔軟性や厳格性といった所望の目的のための自動 車応用技術、並びに、産業上及び消費上の顧客により日常的に用いられるその他 のアプリケーションのホストにおいても、使用されている。 マイクロコントローラは、そのマイクロコントローラが既に最終利用アプリケ ーションに置かれているときに、プログラミング(又は、再プログラミング)す ることができる能力を有していることが望ましい。このような能力によって、ユ ーザは、特定的なアプリケーションに対してマイクロコントローラの操作を最適 化するために、マイクロコントローラをプログラミングし或いはそのプログラム を変更することができる。従来の技術 アルバー(ALBER)の米国特許第4,707,795号明細書にはバッテリ試験 及び監視システムが開示されており、このシステムは、バッテリセルの電圧、電 流及び温度を連続的に監視するためのマイクロコンピュータを備えている。そし て、このシステムは、外部端子を介してプログラミングされる携帯式ユニット即 ち永久据付ユニット(parmanently installed unit)であり得る。 グプタ(Gupta)の米国特許第5,349,535号明細書には蓄電池に関する 情報を蓄積するための装置が開示されおり、この装置に備えられるマイクロコン ピュータは、メモリ、及び、 各バッテリパック中に組込まれた関連センサを有している。そして、この装置は 、バッテリパックの使用及び条件に関するデータを蓄積し、バッテリパックの充 電動作中に外部コンピュータに伝送する。 しかしながら、上述したこれらの明細書には、マイクロコンピュータ又はマイ クロコントローラが最終利用アプリケーションに置かれるときに、これをプログ ラミングすることについて教示されていない。発明が解決しようとする課題 従って、本発明の目的は、マイクロコントローラが最終利用アプリケーション にある間に、このマイクロコントローラをプログラミングすることができる能力 を提供することにある。課題を解決するための手段 本発明では、マイクロコントローラがバッテリ充電及びバッテリ監視アプリケ ーションに用いられる。このマイクロコントローラは、マイクロコントローラコ ア及び種々の前置アナログ回路を具備し、これらの前置アナログ回路には、傾斜 アナログ−ディジタル(A/D)変換器及びマルチプレクサが備えられ、複数の アナログ入力信号を、その信号レベルを表すディジタル計数値に変換し、選択さ れたアナログ入力の精確な電圧計測値を得るためにこのレベルを用いるようにす ることができるようにしている。 選択されたアナログ入力の計測値をより精確にするために、マイクロコントロ ーラは独自の較正手順を使用し、これによって、変動や変化を被りやすい選択さ れたパラメータ/電圧が試 験中に計測され、それから、対応する較正定数が計算される。これらの較正定数 は、フォーマット化されてプログラムメモリに格納され、その後、アナログ入力 電圧に対するより精確な値を計算するために、マイクロプロセッサによって使用 される。 マイクロプロセッサのアナログ回路は、また、外部バッテリの充電及び/又は 放電率を制御するのに用いられる2つの充電率制御チャネルを備えている。各充 電率制御器(チャネル)は、比較器と共に使用されるディジタル的にプログラム 可能なディジタル−アナログ変換器(DAC)を有している。このDACにより 、プログラム可能な電圧が比較器の第1入力に供給され、一方、比較器の第2入 力にはバッテリの電流を表す電圧が与えられる。充電率制御器は、DACのプロ グラム可能な出力電圧に実質的に等しい感知バッテリ電流を表す電圧を生成する ように機能し、これによって、パッテリの充電/放電率を制御する各部電力トラ ンジスタに制御信号を供給する。 各充電制御器は、また、入力信号がディジタル的にプログラム可能な閾値レベ ルを超過するか或いは下回る時点を決定するためのレベル検出器として使用され る。このプログラム可能な閾値レベルは、DACを介して比較器の第1入力に所 望閾値電圧をプログラムすることによって、ディジタル的にセットされ、これに 従って、比較器の他方の入力にはバッテリ電流を表す電圧のようなアナログ入力 信号が与えられる。アナログ入力信号がプログラム可能な閾値電圧を超過する( 或いは、逆に、下回る)時点で、レベル検出器は、フラグをセットしマイクロプ ロセッサに割込みをかける。従って、この割込みは、マイクロプロセッサを非活 動(sleeping:スリーピング)モードから「起立(wake-up:ウエイクアップ)」 させ、これによって、マイク ロプロセッサを起立させるようにディジタル的にプログラム可能な閾値を提供す るのに用いることができる。 これとは逆に、反対の極性を検出するように2つのレベル検出器をプログラム することによって、単一ウインドウ検出器を実現することができ、この場合、ア ナログ入力信号が第1閾値レベルを超過するか或いは第2閾値レベルを下回ると きに、マイクロプロセッサへの割込みが行われる。これによって、検出されるべ き予め定められた絶対値を超過する正負両バッテリ電流を許可する。従って、こ のようなウインドウ検出器は、目下使用状態にないバッテリが、その後、バッテ リ電流からの電流の引出し/放電を行う装置内に配置されたり、バッテリに充電 電流を供給するバッテリ充電器内に配置されたりする際、検出用アプリケーショ ンに有用である。 さらに、マイクロコントローラは、双方向性2ワイヤバスをサポートするため のI2C(“Inter-Integrated Circuit”)インターフェース、及び、他の周辺 機器やマイクロコントローラとシリアルに通信するのに有用なデータ伝送プロト コルを備えている。このI2Cインターフェースは、信頼性のあるデータ送受信 を保障するために、包括的なプロトコルを使用している。データを伝送している とき、一方の装置がマスタとなってクロック信号を発生し、他方の装置はスレー ブとして動作する。I2Cインターフェースプロトコル内の各装置は、関係する 特定アドレスを有しており、これによって、マスタがデータ転送を起動しようと するとき、マスタは、通話しようとする装置のアドレスを先ず送信し、マスタに より送られたアドレスがスレーブ装置のアドレスと一致した場合には、スレーブ 装置がデータ転送のために選択されるようにする。データ伝送を達成するため に、マスタ装置はスタート条件及びストップ条件を発生してデータ伝送の開始及 び停止を決定し、これによって、スタート条件とストップ条件との間にデータが 伝送される。 I2Cインターフェースを使用することによって、マイクロコントローラは、 最終利用アプリケーションにおいてにシリアルにプログラムすることができる。 このような特徴によって、顧客は、プログラムされていない装置を備えたボード を製造し、それから、製品を出荷する直前に、マイクロコントローラをプログラ ムすることができる。このことにより、いちばん最新のファームウェア即ち顧客 ファームウェアをプログラムすることができる。 マイクロコントローラをプログラムモードにおくには、装置のシリアルクロッ クピン及びシリアルデータピンを「ロー(low)」に保持する一方、電圧プログ ラミングピンを必要なプログラミング電圧に上昇させる。いったんプログラムモ ードになると、ユーザプログラムメモリは、試験プログラムメモリと同様に、最 終利用アプリケーションにおいてアクセス及びシリアルプログラミングを行うこ とができる。 以下、添付した図を参照してなされる詳細な説明により、本発明をよりよく理 解することができよう。図面の簡単な説明 図1は、本発明を具体化するマイクロコントローラの概要的システムを表すブ ロック図であり、 図2は、マイクロコントローラのクロックサイクルを表す図であり、 図3は、図1に示された傾斜アナログ−ディジタル変換器の詳細なブロック線 図であり、 図4は、図1のEPROMメモリに格納される較正定数についてのアドレス位 置及びデータフォーマットを表すテーブルであり、 図5は、A/D変換のためにアナログ信号の標本化インターリーブシーケンス を示すテーブルであり、 図6は、A/Dデータフローを示す流れ線図であり、 図7は、図1のゼロ化回路の詳細なブロック線図であり、 図8は、マイクロコントローラの第1の充電制御器/レベル検出器の詳細なブ ロック図であり、 図9は、ログDACレジスタの上位5ビットによる図1のDACの追跡同調さ れた電流出力を表すテーブルであり、 図10は、ログDACレジスタの下位3ビットによる図1のログDACの追跡 同調された電流出力を表すテーブルであり、 図11は、充電/レベル検出制御(CHGCON)レジスタのビットを表すテ ーブルであり、 図12は、第2の充電制御器/レベル検出器を表す詳細なブロック図であり、 図13は、I2Cインターフェースプロトコルに従うスタート条件及びストッ プ条件を表すグラフ的線図であり、 図14,15は、それぞれ、I2C装置をアドレッシングするための7ビット 及び10ビットフォーマットを表し、 図16は、スレーブ装置による肯定応答の発生を表すグラフ的線図であり、 図17は、7ビットアドレスフォーマットを用いるI2Cデータ転送の一例を 表すグラフ的線図であり、 図18は、図2のI2Cインターフェースを表す詳細なブロック線図であり、 図19は、データの受信のためのI2Cインターフェースに関係する典型的な 波形を表すグラフ的線図であり、 図20は、データの送信のためのI2Cインターフェースに関係する典型的な 波形を表すグラフ的線図であり、 図21は、図1のマイクロコントローラの典型的な回路内シリアルプログラミ ング接続を表すブロック図であり、 図22は、シリアルプログラム操作に使用可能な種々のコマンドを表すテーブ ルであり、 図23,24は、それぞれ、シリアルプログラム操作のための負荷(load)デ ータコマンド及び読出データコマンドを表すグラフ的線図であり、そして、 図25は、シリアルインターフェースについての別の実施例の詳細なブロック 図であり、 図26は、外部バッテリを監視するのに形成される図1のマイクロコントロー ラを表すブロック図である。発明の実施の形態 〔システム概観〕 図1を参照すると、そこには、本発明を実現するマイクロコントローラ集積回 路10を表す詳細なブロック図が示されている。マイクロコントローラ10は、 マイクロチップテクノロジーインコーポレイテッドにより製造されておりバッテ リ充電及びバッテリ監視のようなアプリケーションに用いられる“MTA 140xx /Callisto”プログラム可能制御集積回路の形式を採用することきができる。マ イクロコントローラ10は、バッテ リ充電及び監視制御が望まれる箇所における可搬式の計算、細胞電話、カムコー ダ(camcorder)及び他の低価格製品などの非常に多数のアプリケーションに向い ている。しかしながら、マイクロコントローラ10及び本発明は、このようなア プリケーションに限定されず、以下の詳細な説明から明らかになるように、(入 力アナログ電圧を精密に計測することが望まれる各種装置のような)他のアプリ ケーションで使用することができる。 マイクロコントローラ10に備えられるマイクロコントローラコア12には、 これ又マイクロチップテクノロジーインコーポレイテッドにより製造されている “PIC16C6X/7X”マイクロコントローラを採用することきができる。 マイクロコントローラコア12は、8レベル深度(deep)スタック並びに多重の 内部及び外部割込み源を有する8ビット縮小命令セットコンピュータ(RISC :Reduced Instruction Set Computer)CPUを備えている。このマイクロコン トローラコアは、分離命令をもつハーバードアーキテクチャ、及び、分離8ビッ ト長データをもつ14ビット長命令語を許可するためのデータバスを有している 。さらに、2ステージ命令パイプラインによって、2サイクルを要求するプログ ラム分岐を除き、全ての命令(35トータル)を単一サイクル内で実行すること ができる。 図2を参照すると、そこには、マイクロコントローラコア12のクロックサイ クルを表すグラフ的線図が示されている。ピンOSC1或いは内部発振器からの クロック入力は4つの位相Q1,Q2,Q3,Q4に内部分割され、これらの4 位相によって、全プロセッサクロックサイクルが生成される。2つのクロックサ イクルは命令を完遂するのに必要であり、これによって、命令は、1つのクロッ クサイクルの間にフェッチされ、次 のクロックサイクルの間に実行される。しかしながら、2ステージパイプライン によって、1命令サイクルの実行が次の命令サイクルのフェッチに重なり、これ により、命令について1クロックサイクルに対するサイクル時間を実効的に減少 する。しかし、或る命令が、“GOTO”命令のように、プログラムカウンタを 変化させる場合は、その命令を完遂するのに2サイクルが必要である。端的にい うと、クロックサイクルのQ1部分の間に、プログラムカウンタ(PC)が増分 する操作を伴いつつフェッチが始まる。フェッチ命令は、命令レジスタ内にラッ チされ、クロックサイクルのQ2〜Q4部分の間にデコードされ実行される。 マイクロコントローラコア12は、何ら外部要素を必要としない自由動作オン チップRC発振器として実際化されるウォッチドッグタイマ14を備えている。 このウォッチドッグタイマは、典型的には、18ミリ秒〔ms〕の名目タイムアウ トを有する。しかしながら、より長いタイムアウトが望まれる場合、ウォッチド ッグタイマには、1:128にまでの分周比をもつ前置スケーラ(prescaler)をソフ トウエア制御の下で割り当てることができる。従って、2.3秒〔s〕までのタイ ムアウト期間を実際化することができる。 マイクロプロセッサコア12は、また、実時間クロック/カウンタ(RTCC :Real-Time Clock/Counter)16及び計算を遂行するための算術論理ユニット (ALU:Arithmatic Logic Unit)18を備え、さらに、種々の較正定数を格 納するために64語の較正メモリ空間を含む消去可能プログラム可能読出専用メモ リ(EPROM:Erasable Programmable Read-Only Memory)20を備える。マ イクロプロセッサコア12は、さら にまた、一時的格納のためのランダムアクセスメモリ(RAM:Random Access Memory)22、汎用入出力(I/O:Input/Output)を提供するためのI/O制 御器24、及び、割込みを受けてこれに応答する割込み制御器26を備えている 。 数個のアナログ周辺機器がマイクロコントローラコア12のためのアナログ前 置手段を構成する。このようなアナログ周辺機器は、バッテリ充電及び監視制御 のような数多くの応用に有用な信号条件付け及びアナログ−ディジタル変換動作 を行う。全てのアナログ機能は、マイクロコントローラコアにより直接的に制御 されて、柔軟性を最大にししかもファームウェアを介してカスタマイズすること ができる。 前置アナログ周辺機器には、傾斜A/D変換器30及びマルチプレクサ(MU X)32があり、これによって、複数の外部アナログ入力をその信号レベルを表 すディジタル計数値に変換することができるようにする。傾斜A/D変換器30 は、中間速度の高精度変換器であって、DC信号及び低周波数AC信号を監視す るのに理想的である。 アナログ前置回路に含まれるバンドギャップ基準34は、外部電圧源の必要性 をなくする。バンドギャップ基準ブロック34は、また、電圧を分圧器ブロック 38に供給し、このブロックは、傾斜A/D変換器30による使用のために、精 度のよい高・低の傾斜基準電圧を発生する。高い傾斜基準電圧は、典型的には1. 23ボルトであり、A/D変換における傾斜検出上限のために用いられる。低い傾 斜基準電圧は、典型的には、高い傾斜基準電圧の1/9即ち約0.14ボルトである 。バンドギャップ基準ブロック34は、さらに、低い電圧条件を検出するための 低電圧検出器38に電圧を供給する。 発振器選択ブロック40は、外部発振信号(OSC1)、或いは、内部発振器42よ り供給される内部4MHz発振信号を選択する。選択された信号は、傾斜A/D 変換器30へのクロック信号を提供すると共に、外部クロック信号(CLKOUT)を提 供する。 マイクロコントローラ10は、さらに、調整された外部用電圧VREGを提供 するためのオンチップ電圧調整制御器44を備えており、これによって、外部電 圧調整器の必要性をなくする。電圧調整制御器44は、また、3又は5ボルト動 作の選択ができる。 2つの充電制御チャネルを形成するために、2つの3デケード(decade)8ビ ットディジタル−アナログ変換器(DACs)が2つの比較器に接続されている 。これらの二重DACs及び比較器は、単一ウインドウ検出器或いは2分離形レ ベル検出器のように、複数のレベル検出器として機能するように、二者択一的に 構成することができる。さらに、これらのレベル検出器は、起立や制限検出動作 を行うために、マイクロコントローラコアへの割込みを発生するのに用いること ができる。 内部温度監視を要求するアプリケーションのために、オンチップ温度センサ54 も設けられている。 ゼロ電流条件を模擬することにより低値のアナログ入力計測値の精度を高める ために、平滑化及びゼロ化回路56が使用される。この「ゼロ化(zeroing)」 技術は、低バッテリ電流の計測精度を向上するのに用いられる。 マイクロコントローラ10がシリアルデータピン(SDAA)及びシリアルク ロックピン(SCLA)を介して他のI2C互換性装置と通信することができる ようにするために、さらに、I2Cインターフェース制御器58が設けられてい る。このようなインターフェースは、また、最終利用アプリケーションにおいて マイクロコントローラ10をプログラムするのに用いることができる。 〔傾斜A/D変換器〕 図3を参照すると、そこには、傾斜A/D変換器30のより詳細なブロック線 図が示されている。傾斜A/D変換器30は、アナログ前置回路の心臓部であり 、MUX32の入力に現れる複数のアナログ入力のうちの選択された一つをディ ジタル計数値に変換して、選択された入力の電圧計測値を得るようにする。例え ば、A/D変換器30は、バッテリ監視及び充電両制御のために、バッテリ電圧 、電流及び温度をディジタル計数値に変換する。MUX32によるアナログ−デ ィジタル変換のために選択される複数のアナログ入力には、バッテリ電圧(BATV) 、バッテリ電流(BATI)、バッテリ温度(BATT)、外部アナログ電圧(RA3/AN3)、バ ンドギャップ基準ブロック34からのバンドギャップ基準電圧、分圧器38から の高・低の傾斜基準信号(SREFHI,SREFLO)、温度センサ54からの内部温度電圧 、及び、二重DACブロック48からの2つのDAC出力(CHARGE DAC A,CHAR GE DAC B)を含ませることができる。 RC低域フィルタ103は、アナログMUX32の出力と比較器101の非反 転端子との間に介挿される。RCフィルタ103の典型的な時定数は5ミリ秒〔 ms〕である。 傾斜A/D変換器30の心臓部である精密比較器101は、非反転入力が選択 された複数のアナログ入力の一つを受信するように接続され、反転入力が外部ピ ン(RAMPピン)105に接続される。ピン105には外部コンデンサ104 が接続され、この端子にランプ電圧が発生されるようにする。 4ビットプログラム可能傾斜制御DAC102には複数のスイッチング可能な 電流源が設けられて、4ビットディジタル制御信号ADDACによって、外部コ ンデンサ104への充電電流を2.5μA刻みで値域0〜37.5μAに選択的に制御 する。この外部コンデンサは、例えば、0.1とμFの値を有し、最適な結果を得 るために低い温度係数をもつようにすべきである。 比較器101の出力はカウンタ/捕獲タイマ106の入力に供給され、このカ ウンタの出力は捕獲レジスタ108の入力に供給される。 トランジスタ109は、信号ADRSTが論理“1”の場合に全ての電流源を 消勢するために、DAC102に接続される。 動作について説明すると、各アナログチャネルは、MUX32からの複数アナ ログ入力のうちの一つを選択することによって、独立的にディジタル計数値に変 換される。変換動作は、先ずカウンタ106をリセットすると同時に、外部コン デンサ104を、予め定められた最少時間、例えば、200ミリ秒〔ms〕の間、 大地に放電することによって行われる。それから、リセットは解除され、カウン タ106が計数を始め、同時にコンデンサ104がDAC102により供給され る充電電流に基づいて充電を始める。コンデンサ104を放電するのに必要な時 間量が、リセット時に結果として残る中間的なゼロでないコンデンサ電圧の効果 を相殺するために、マイクロコントローラ10 の能力によって正確である必要がないことは、注目する価値がある。同様に、コ ンデンサ104が充電を始めると同時に正確に計数を始めることは重要ではない 。外部コンデンサ104の端子電圧が選択されたアナログ入力の電圧を超過する とき、比較器101は論理「ハイ(high)」から論理「ロー」に切り換える。こ の遷移によってマイクロコントローラコア12への割込みが起動され、割込み制 御信号によって、カウンタ106の計数値を捕獲レジスタ108内にラッチ(捕 獲)するという捕獲事象を引き起すようにする。レジスタ108に格納された計 数値は、コンデンサ104が充電完了し選択されたアナログ入力電圧を超過する のに要した時間を表し、選択されたアナログ入力の電圧計測値に対応する。そし て、この計数値は、この後に説明されるように、独特の較正手順及び平滑化アル ゴリズムを用いることによって選択されたアナログ入力に対するより精確な電圧 計測値を得るのに用いられる。同様の方法で、各アナログ入力に対するディジタ ル計数値は、MUX32からの各アナログ入力を独立的に選択することによって 得ることができ、これによって、複数のアナログ入力の各々の電圧をディジタル 的に計測することができる。 〔較正手順〕 選択されたアナログ入力の計測値をより精確にするために、本発明では、以下 に説明されるように、独特の較正手順が利用される。一般的に、最小セットのパ ラメータが、試験の間、調整即ち「微調整(トリミング)」がなされる必要があ り、従って、較正定数が較正されてEPROMユーザ空間内に格納されるように される。微調整が必要なこれらの最小セットのパラメ ータには、傾斜A/D変換器の高位傾斜基準電圧に対する低位傾斜基準電圧の比 、バンドギャップ電圧、内部温度センサ(サーミスタ)電圧、及び、選択された 発振器周波数がある。それ故、本発明では、以下に示されるように、これらのパ ラメータが試験の間計測され較正定数が計算されるが、較正定数は、すべて、そ の後の検索及び使用のために、EPROM20のユーザ空間に格納され、これら の定数の多くがA/D計測精度をより精密に高めるのに使用される。 A.A/D傾斜基準較正定数(Kref) オンチップ傾斜A/D変換器30には、線形伝達関数の係数を決定するために 、2つの電圧点間の既知の比が必要である。(図1の)傾斜基準発生器36は、 バンドギャップ基準回路34から供給されるバンドギャップ電圧より、高位傾斜 電圧及び低位傾斜電圧を発生する。高位傾斜基準電圧に対する低位傾斜基準電圧 の比は、これらの電圧の夫々の計測値から計算される。 より詳細にいうと、A/D傾斜基準較正定数を計算するのに用いられる手順は 次のとおりである。アナログMUX32は、傾斜基準発生器36により供給され る電圧の一つである高位傾斜基準電圧(SREFHI)を選択するようにセットされる。 精密電圧計測回路を用いて、高位傾斜基準電圧が計測されその値が記録される。 この精密電圧計測回路は、MUX32の出力に接続されており、分離形試験負荷 ボード上に配置することができる。さて、アナログMUX32を切り換えて低位 傾斜基準電圧(SREFLO)が選択され、この電圧が傾斜基準発生器36の他の出力と なる。精密電圧計測回路を用いて、低位傾斜基準電圧が計測されその値が記録さ れる。そして、比“SREFLO/(SREFHI-SREFLO)” に等しい較正定数Krefが計算される。 B.バンドギャップ基準電圧較正定数(Kbg) バンドギャップ基準回路34により供給されるバンドギャップ電圧は、およそ 1.23ボルトにすべきである。しかしながら、この電圧は電源電圧(1mV以下) 及び温度(典型的には10mV以下)にやや依存する性質がある(電源電圧で1m V以下、温度で典型的には10mV以下)。従って、バンドギャップ基準回路34 により供給される実際電圧が計測され、その値がEPROM20に格納されるべ きである。 バンドギャップ基準回路34により供給される電圧の実際計測値を得るために 、次の手順が実行される。先ず、アナログMUX32が、バンドギャップ基準回 路34の出力を選択するようにセットされる。精密電圧計測回路を用いて、MU X32の出力に現れるバンドギャップ電圧が精密に計測される。この計測電圧が バンドギャップ基準電圧較正定数Kbgとなる。 C.サーミスタ較正定数(Kthrm) 内部温度センサ/サーミスタ54の温度係数は温度に関して比較的一定である が、その電圧出力の絶対値はプロセスに伴い十分に変化する。それ故、サーミス タ54の出力電圧の絶対値は予め定められた温度にて計測すべきであり、この測 定値が較正EPROMに格納される。 サーミスタ電圧の計測する手順は、MUX32がサーミスタ54を選択するよ うにプログラムされる点を除いて、バンドギャップ電圧を計測するための上述し た手順と同一である。 D.温度係数較正定数(Ktc) サーミスタの温度係数は温度に関して比較的一定であると考えられている。し かしながら、この温度係数はプロセスにやや依存的であるという性質がある。こ の依存性は、先ず(MUX32の出力における)サーミスタ電圧を計測し、それ から、計測された電圧値に基づいて温度係数較正定数(Ktc)を調整することに よって、外挿することができる。 この温度係数較正定数は、典型的には、サーミスタ出力電圧とその傾斜との間 に相関が存在する種々の温度に関するサーミスタ出力電圧の特性データから得る ことができる。従って、サーミスタの温度係数は、所定温度での出力電圧に基づ いて、精度を改良するように補償することができる。 次の2つの定数は、A/D変換の精密性を高めるためにそれほど重要ではない が、精密な時間ベースの計測値/事象を得る上で重要である。 E.内部発振器較正定数(Kin) プロセス変動による内部クロックの周波数のための較正には高い精度を得るこ とが要求される。この較正ファクターKinは内部クロックの計測された周波数F oscから計算され、この周波数は外部“OSC2/CLKOUT”ピンにて計測される。より 詳細には、この較正定数Kinは、〔(計測された周波数−3.00MHz)/10kH z〕の整数部になるように計算される。これは、計測された周波数が3.0MHz より大きいと仮定していることに注意すべきである。 F.ウオッチドッグタイマ較正定数(Kwdt) プロセス変動によるウオッチドッグタイマの周波数のための較正にも高い精度 を得ることが要求される。この較正ファクターKwdtは、図1のウオッチドッグ タイマ14の動作周波数を計測することにり計算される。ウオッチドッグタイマ の周波数は外部ピンに供給されないが、ウオッチドッグタイマの周波数は、状態 レジスタ内の予め定められたビットの論理状態を監視することによって計測する ことができ、この場合、そのビットの論理状態はウオッチドッグタイマ信号の論 理レベルを表している。この較正定数Kwdtは〔(計測された周波数)/1Hz 〕の整数部に等しい。 上述した諸較正定数/ファクターを得た後、各較正定数は、フォーマット化さ れ、EPROMメモリ20内の所定アドレス位置に、図4に示されるようなデー タフォーマットでプログラムされる。 〔格納された較正定数を用いるA/D変換〕 A/D変換器30により得られたA/D計数値を対応する入力電圧値に変換す る操作は、マイクロコントローラコア12により次式(1)に従って実行される : ここで、 Coffset=Creflo-Kref(Crefhi-Creflo); Vin=選択された入力の結果的(ディジタル)電圧絶対値、 Cin=選択された入力についてのA/D計数値、 Creflo=A/D低位基準点についてのA/D計数値、 Crefhi=A/D高位基準点についてのA/D計数値、 Cbg=バンドギャップ基準についてのA/D計数値。 オフセット項(Coffset)は、傾斜A/D変換器の電圧ランプを開始するのに 生じることがあるターンオン遅延即ち電圧オフセットに対して補償を行う。例え ば、ランプ電圧が増大する前にこのランプが計数を開始した場合、或いは、ラン プ電圧が正確に0ボルトから開始しなかった場合、オフセットが変換ごとに生じ る。従って、このオフセット項は、ターンオン遅延即ち電圧オフセットの計数値 である。 種々のアナログ入力についてA/D変換を実行するとき、本発明では、バッテ リ電流のような高優先順位の信号に対するサンプリング率を最大化するために、 そして、温度入力のように比較的低速度で変化する優先順位の信号に対する低サ ンプリング率を減少するために、A/D変換用アナログ入力の選択がインターリ ーブされる。図5を参照すると、そこには、種々のアナログ入力信号をサンプリ ングするためのインターリーブ優先順位スキームが示されている。バッテリ電流 は、最高優先順位にあり、16A/Dサイクルにつき8回サンプリングされる。バ ッテリ電圧は、次の優先順位にあり、16A/Dサイクルにつき2回サンプリング される。外部サーミスタ入力からのバッテリ温度及び内部温度は、16A/Dサイ クルの間にそれぞれ1回サンプリングされる。同様に、電流回路網ゼロ電圧、バ ンドギャップ電圧、並びに、高位及び低位A/D基準電圧は、毎16変換サイクル について1回サンプリングされる。 基準値を安定化しさらにA/D精密度を高めるために、A/Dアナログ入力に ついて実際電圧値を計算するのに先立って、 A/D変換器から得られる所定アナログ入力の生計数データが平滑化される。図 6を参照すると、そこには、A/Dデータフローを示すフロー図が示されており 、このA/Dフローには平滑化アルゴリズム112〜114及び平均化アルゴリ ズム115〜116が含まれ、これらのアルゴリズムはA/D計数値から実際電 圧値を計算するために用いられる。バンドギャップ電圧(Cbg)の計数値は、最 後に得られた16個の計数値の総平均(rolling average)を計算することによっ て平滑化される。バンドギャップ計数値の平滑化された値(Cfbg)は次式(2 )に示されるように計算される: ここで、添字“i”はインターリーブシーケンス番号を表す。 このバンドギャップ計数値の平滑化値は、それから、マイクロプロセッサコア 12に供給され、後述するように、ブロック118の出力における電圧を計算す るのに用いられる。 計数オフセット値(Coffset)は、次式(3)に示されるように最後に得られ た16個の計数値の総平均を計算することによって平滑化される: ここで、 Coffseti=Crefloi-Kref(Crefhii-Crefloi)。 このオフセット計数値の平滑化された値(Cfoffset)も、マイクロプロセッ サコア12に供給され、A/D入力電圧を計算するのに用いられる。 電流入力ゼロオフセット計数値(CIzero)は、次式(4) に示されるように最後に得られた16個の計数値の総平均を計算することによって 平滑化される: ここで、 Coffseti=Crefloi-Kref(Crefhii−Crefloi)。 この電流入力ゼロオフセット計数値の平滑化された値(CIzero)も、入力電 圧を計算するために、マイクロプロセッサコア12に供給される。 本発明では、さらに、バッテリ電圧及びバッテリ電流チャネルから得られる生 データが平滑化/平均化される。バッテリ電流計数値(Clbat)は、次式(5) に示されるようにインターリーブシーケンスから入力チャネルの8サンプルの平 均をとることによって、平滑化される: この平滑化されたバッテリ電流計数値(CfIbat)は、バッテリ容量を追跡す るディジタル積分器に送られる数量データである。 同様に、バッテリ電圧についての計数値(CVbat)が、次式(6)に示される ようにインターリーブシーケンスから入力チャネルの2サンプルの平均をとるこ とによって、平滑化される: 後で平滑化された計数値は、EPROM20に格納される較正定数に関係して 、次式(7),(8)に示されるように、バッテリ電流及びバッテリ電圧につい ての入力電圧に対応して、 より正確なディジタル値をそれぞれ計算するのに用いられる: 注意すべきことは、式(7)の分子には、入力ゼロ電流条件に対応する計数値 である項(CfIzero)があり、後でさらに詳細に説明されるように、この項が低 電流値についての計測値の精密性を向上するのに使用されることである。 さらに、内部及び外部温度電圧についてのより正確なディジタル値は、それぞ れ、次式(9),(10)に示されるように計算することができる: 従って、本発明は、種々の較正定数及び種々の平滑化アルゴリズムにより計測 しメモリに格納する操作により、これらの外部バッテリの電圧、電流及び温度を 表すこのような選択されたアナログ入力の非常に精確な計測値を得るようにして いる。 〔ゼロ化回路〕 低レベルアナログ信号を計測しようとするとき、精密な結果を得るために重要 なことは、ゼロ基準点が存在する箇所を正確に知ることである。従って、本発明 には、低電流値の計測の精密性を向上するためのゼロ化技術が備えられる。図7 を参照すると、そこには、(図1の)ブロック56のゼロ化回路138 の詳細なブロック線図が示されている。このゼロ化回路には、ゼロ電流条件を模 擬するために、2つの整合された通過ゲート140,142が備えられている。 電界効果トランジスタの形式が採用されるスイッチ140,142は、精確には 整合されておらず、非整合は、たとえあるとしても、計測しEPROM内の付加 的較正定数として格納して、A/D精密性を改良するために用いることができる 。スイッチ142はマイクロコントローラコア12の信号ADZEROに応答し、また 、スイッチ140はインバータ141を介してその反転信号に応答する。ゼロ化 回路には、さらに、入力保護回路147及びスイッチング可能な電流バイアス源 149が備えられている。 動作について述べると、スイッチ140が開路しスイッチ142が閉路してい るときは、ゼロ電流条件に対応する電圧がMUX32(及び比較器50又は51 )に供給される。従って、ピン143に生じるゼロ電流条件が模擬される。これ によって、傾斜A/D変換器が可能化されてピン143上のゼロ電流に対応する ディジタル計数値が得られるようにする。従って、スイッチ140が閉路しスイ ッチ142が開路しているときは、ピン143上のその後のアナログ電流計測値 に対応するその後のディジタル計数値がこのゼロ計測値に関係して計算される。 このゼロ化技術は、このような高精度が非常に必要とされる際、低電流値での極 めて高い精度を提供する。 さらに小さい電流パルスを捕獲するためには、オプションとして、フィルタコ ンデンサ152を電流平均化ピン(IAVG)154及び大地に接続してもよい 。コンデンサ152及び内部抵抗156はRC回路網を形成してDC平均化フィ ルタとして動作するようにし、その際、コンデンサ152は、所望の時定 数が得られるように調整することができる。ゼロ化回路138とIAVGピ154と の間に接続されたスイッチ158は、A/Dサンプリングの間は閉路され、ゼロ 化操作の間は信号ADZEROの反転信号により自動的に開路される。 バッテリ監視アプリケーションにおいて、ゼロ化回路138は、バッテリ146によ り供給される計測電流の精度を高めるのに使用され、その際、外部感知抵抗をバ ッテリに直列接続することによって、ピン143にて電流が計測される。より詳 細には、バッテリ146の出力に接続された回路ノード148は、ピン143に 接続される一方、感知抵抗150を介して大地に回帰的に接続される。感知抵抗 150は、典型的には、例えば0.05Ωオーダの低抵抗である。従って、抵抗15 0の両端には概して低い電圧が発生する。±5Aのバッテリパック及び0.05Ωの 感知抵抗に対して、値域−0.25〜+0.25ボルトの電圧(極性は、バッテリが充電 されているのか、或いは、出力電流を供給しているのかに応じる)がピン143 に現れる。さらに、低いバッテリ電流のケースでは、抵抗150の端子電圧が非 常に小さく、例えば、数mVのオーダである。それ故、このような低い電流に対 してバッテリ電流の精密計測値を得るためには、ゼロ電流条件に対応するA/D ディジタル計数値を知ることが重要である。例えば、ゼロ電流条件がA/Dディ ジタル計数値“100”に対応する場合には、特に、比較的低いディジタル計数値 を与える低電流で、バッテリ電流に対応する電圧を計測する際に、このようなオ フセットを考慮しなければならない。上述したように、ゼロ化回138は、スイ ッチ140,142によりゼロ電流条件を模擬することによって、このようなゼ ロ電流を提供する。 〔充電制御/電流フロー検出器〕 システムの概要で述べたように、マイクロコントローラ10に接続される2つ の3デケード8ビットDACs48は、比較器50,51に接続されて、外部バ ッテリの充電率を制御するために、2つの充電率制御チャネルを形成するように することができる。これらの二重DACs及び比較器は、これに代わって、レベ ル検出器として、つまり、2つの分離したレベル検出器として、或いは、単一の ウインドウ検出器として動作するように構成することができる。 図8を参照すると、そこには、比較器の一方(50に関連して使用され、第1 の充電制御チャネル(チャネルA)を構成する二重DACsの一方(201)を 表す詳細なブロック図が示されている。端的にいうと、DAC201は、その出 力(MUX208の出力)及び比較器50の非反転入力にプログラム可能な電圧 を供給する。比較器50の他の(反転)入力は、ゼロ化回路56から、例えば、 外部バッテリから感知される電流を表す電圧を受けるように接続されている。充 電制御モードで動作しているときは、比較器50の出力はXORゲート212に 接続されピン214に充電制御信号を供給し、これによって、ピン214は、バ ッテリ充電電流を制御するために外部電界効果トランジスタ(FET)に接続さ れる。充電制御モードにおいては、データ8の充電制御回路は、フィードバック 動作を行って(感知された電流に対応する)電圧をDAC201の出力電圧に実 質的に等しくさせるとともに、バッテリにみられる充電量を効果的に制御する。 レベル検出器として動作するときは、この回路はバッテリ電流モニタとして動 作して、(バッテリ感知電流に対応する)電 圧が低下するか、或いは、逆に上昇するかした場合に、DAC201の出力電圧 により比較器50の状態を切り換え、起立割込みフラグ(WUIF)をセットするこ とによって、マイクロコントローラコア12に割込みをかけるようにする。 DAC201は、より詳しく述べると、2つの抵抗ラダー203,204、電 流源205及び或いは、マルチプレクサ207,208を備えている。抵抗ラダ ー203は出力電圧の追跡(course)調整に使用され、抵抗ラダー204は、こ のラダーの中央点がゼロ電流フローにほぼ等しくなるように、電流感知バイアス 抵抗に整合される。従って、これにより、DAC201によって電流フローの充 電及び放電の双方、即ち、正負両電流フローを制御し監視することができる。 抵抗ラダー203は、32のタップを備え2つのデケード/領域に分割される 。第1デケードは、細流(trickle)又は最高充電率を制御するために定められ 、分解能5mV及び値域±50mVを有する。これは、0.05Ωの外部感知抵抗の使 用に伴う電流分解能100mA及び値域±1mAに対応している。 第2デケードは、高速充電アプリケーションのために定められ、分解能は50m Vであり最大値域±0.35Vを有する。これは、0.05Ωの外部感知抵抗の使用に伴 う電流分解能1A及び値域±7mAに対応している。 微細同調抵抗ラダーは、8つのタップを有し追跡ラダーからのバッファード出 力電圧を分圧するのに使用される。これによって、ほぼ0.714の全域最小電圧分 解能、即ち、0.05Ω感知抵抗の場合の約14.3の電流分解能がもたらされる。 DAC201の電圧細分及び値域は、DACAレジスタ(LDACA)内に格 納されている論理ビットの値に依存する。L DACAレジスタは、DAC201の出力電圧を制御するためのデータレジスタ であり、ここで、LDACAレジスタの上位5ビット(ビット3〜7)は、図9 に示されるテーブルに従って追跡ラダー203を介して電圧出力値域を選択する ために、MUX207を制御する。図9には、0.05Ω抵抗を使用する対応感知電 流が示されており、そこでは、電流値域テーブルの下半部の()内に示される電 流値域は、バッテリの充電に対応する負電流を表している。また、LDACAレ ジスタの下位3ビット(ビット0〜2)は、図10に示されるテーブルに従って ラダー204を介して電圧出力値域を選択するために、MUX208を制御する 。 一つの例としては、340mAの正の/放電電流が望まれるとき、LDACAレ ジスタは、2進値“00011010”にセットされるようになっている。上位5ビット (“00011”)は、図9に示されるように、追跡値域300〜400mAをもたらし、下 位3ビット(“010”)は、図10に示されるように、追跡値域最大値の3/8倍 、つまり、37.5mAという微細同調設定を選択する。注意すべきことは、負の/ 充電電流340mAが望まれる場合には、LDACAが“10011010”にセットされ るようになっていることである。 アナログMUX208の出力は、DAC201のアナログ電圧出力であって、 A/D変換器30の複数の入力に供給され、外部ピン210を介して外部フィル タコンデンサに接続することができる。 アナログMUX208の出力は、また、比較器50の非反転入力に接続するこ とができ、この比較器の反転入力は、ゼロ化回路56を通過した後の外部バッテ リ感知電流(BATI)に対応 する電流感知電圧を受けるように接続されている。 比較器50の出力はXORゲート212の第1入力に接続され、このゲートの 第2入力は、充電制御極性ビットCPOLAを受けるように接続されており、論理“ 1”にセットされたとき比較器50の出力を反転させるようにする。従って、X ORゲート212は、感知電圧がCHGCONレジスタ内のCPOLビットによりD AC電圧を超えるか或いは下回るかした場合に割込みをかけるようにプログラム されている。 XORゲート212の出力は、充電制御信号(CCTRLA)を提供し、外部バッテ リへの充電電流を制御するために、ピン214を介して外部FETに供給される 。 充電制御モードを可能化するためには、充電/レベル検出制御(CHGCON )レジスタの充電制御機能可能ビット(CCAEN)が論理“1”がセットされ、ピン 210,214はそれらの通常の入出力(I/O)ポート機能をとるようになる 。CHGCONレジスタの諸ビットは図11に詳細に示されている。ビットCCAE Nが論理“1”である場合、充電制御回路は、比較器50の反転入力に現れる電 流感知電圧を比較器50の非反転入力に現れるプログラム可能なDAC出力電圧 に等しくするように動作し、これによって、バッテリにより外部電力トランジス タ217を介して起こされる充電電流の量を効果的に制御する。充電制御比較器 50の状態(ビットCCOMPA)及び充電制御極性ビットA(CPOLA)は、CHGCO Nレジスタより読み出すことができる。CHGCONレジスタは、また、対応す る比較器及びチャネルBに組み合わされる極性ビット(CCOMB,CPOLB)を備える。 図12を参照すると、そこには、比較器51に関連してブロック48の第2の DACを使用する第2の充電制御/レベル検出チャネル(チャネルB)201’ を表す詳細なブロック図が示されている。充電制御チャネルBは、図8の充電制 御チャネルAと非常に類似しており、ここでは、図8に示された要素と同一の図 12の要素は、前の参照番号が使われている。チャネルBの比較器51の入力は 、図8の比較器50に対して転換されており、従って、比較器51の非反転入力 はDAC201’の出力に接続され、比較器51の反転入力は、感知されたバッ テリ電流(BATI)に対応するゼロ化回路よりの電圧を受ける。また、DAC20 1’の出力に供給される電圧は、LDACAレジスタがDAC201の出力にお ける電流を図9,10に示されるテーブルに従って制御するのと同様の方法で、 DACB(LDACB)レジスタの8ビットにより制御される。 当初述べたように、これらの二重の充電制御/レベル検出器は、また、入力信 号がプログラム可能な閾値レベルを超過するか或いは下回ったときを検出するの に使用することができる。これらのレベル検出器は、充電制御が実行されていな いときでさえ使用することができる。このようなケースでは、CHGCONレジ スタの充電制御可能化ビット(CCAEN)は論理“0”に留まっている。図8のチャ ネルAに戻ると、プログラム可能な閾値レベルは、DACに対する所望の電圧出 力をLDACAレジスタによりプログラムすることによって、ディジタル的にセ ットされる。このことは、予め定められたプログラム可能な閾値電圧が比較器5 0の非反転入力に供給されて、比較器50の反転入力に現れる信号がプログラム 可能な閾値電圧を超過したとき、比較器50が論理状態を切り換えることを意味 する。こ の論理切換によって、フラグをセットしマイクロプロセッサコア12に割込みを かけることができ、これによって、直ちにとられるべき作業を求めるようにする 。さらに、比較器50の出力の論理状態は、上述したように、CHGCONレジ スタ(ビット2)を読み出すことによって監視することができる。 〔ディジタル的にプログラム可能な閾値をもつ起立機能〕 マイクロコントローラ10は、特定の非活動命令の実行により投入される非活 動モードを備えている。この非活動モードにおいては、オンチップ発振器はター ンオフされるがウオッチドッグタイマは運行を続ける。さらに、マイクロコント ローラ10は、ウオッチドッグタイマがターンオフされることを除いて、非活動 モードと同一である不動(hibernate)モードを備えている。これらのモードは 、発振器が消勢され実質的に電力節減をもたらすので、低電力消費という結果を もたらす。 マイクロコントローラ10は、外部リセット入力、ウオッチドッグタイマのタ イムアウト(可能ならば)、I2Cシリアルラインでのスタート/ストップビッ トの検出、或いは、A/D変換の完了のような事象の発生に応答して、非活動モ ードからの脱出即ち「起立」を行うようになっている。また、マイクロコントロ ーラ10がバッテリ監視及び充電アプリケーションに使用される場合には、感知 されたバッテリ電流がマイクロプロセッサコア12を起立するためのプログラム 可能な閾値を超過するか下回るときを検出するのに使用することができる。図8 を再び参照すると、バッテリの感知電流(BATI)を表す感知電圧がDAC201 によりセットされたプログラム可能な閾値電圧を超過すると、比較器50が論理 「ハイ」から論理「ロー」 に切り換わり、これによって、起立割込みフラグ(WUIF:Wake-Up Interrupt Fla g)をセットしマイクロコントローラコア12に割込みをかける。従って、マイ クロコントローラコアは非活動モードから脱出することができ、バッテリからの 増大する電流出力は、真に精密でタイムリーなバッテリレベルの正確測定のため に、適切に監視することができる。 上述したのと同様に、(図12の)チャネルBのレベル検出器は、別の入力信 号がディジタル的にプログラム可能な閾値レベルを超過するときを検出するため に、独立的なレベル検出器として使用することができる。例えば、ゼロ化回路よ りの電圧がDAC201’によりセットされたプログラム可能な閾値電圧を超過 すると、比較器51が論理「ロー」から論理「ハイ」に切り換わり、これによっ て、起立割込みフラグ(WUIF)をセットしマイクロコントローラコア12に割込 みをかける。 この代わりに、反対極性を検出するように2つのDACをプログラムすること によって、ウインドウ検出器を実現することができ、この場合、プログラム可能 な閾値を超過する正のバッテリ電流及びにプログラム可能な閾値を下回る負のバ ッテリ電流の双方によって、マイクロコントローラコアに割込みをかけることが でき、この際、比較器50,51の出力を表す論理ビット(CCOMPA,CCOMPB)を それぞれ読み出して、2つの検出器の何方かにより割込みが生じるようにするこ とができる。このようなウインドウ検出器は、目下使用状態にないバッテリが、 後になって、カムコーダのように、バッテリ電流から電流の引出/放電を行う装 置に配備されたり、或いは、バッテリに充電電流を供給するバッテリ充電器に配 備されたりしたときの検出用バッテリ応用に有用である。どちらの状況において も、マイ クロプロセッサコアを直ちに起立してバッテリ電力の真に精密な正確測定のため の電流フローを検出するようにすることが肝要である。 〔I2C(Inter-Integrated Ciccuit)インターフェース〕 マイクロコントローラ10は双方向2ワイヤバス及びデータ伝送プロトコルを サポートしている。特に、I2Cインターフェース58は、シリアルなEEPR OM、シフトレジスタ、ディスプレイ駆動器、A/D変換器などのような他の周 辺機器或いはマイクロコントローラ装置と通信するのに有用なシリアルインター フェースである。I2Cインターフェースは、また、I2C(Inter-Integrated C iccuit)仕様、システム管理バス(SMBUS)及びアクセスバスと互換性がある。 I2Cバスは、Philips/Signeticsにより開発された2ワイヤシリアルインター フェースである。そのオリジナル仕様即ち標準モードは、100キロビット/秒( Kbps)までのデータ転送に対して指定され、拡張仕様即ち高速モードは、40 0kbps〔キロビット/秒〕までのデータ転送をサポートしており、標準及び 高速の両モード装置は、同一バスに結合した場合相互動作を行うようになってい る。 I2Cインターフェースは、データの信頼性ある送受信を確実にするための包 括的なプロトコルを実現する。データを伝送する際には、一方の装置がマスタと なってクロック信号を発生し、他方の装置がスレーブとして動作する。I2Cイ ンターフェースにおける各装置は、それに関係する特定アドレスを有しており、 マスタは、データ転送を望むとき、先ず、会話を望む装置のアドレスを送信し、 マスタにより送られたアドレスがス レーブ装置のアドレスに一致した場合に、そのスレーブ装置がデータ転送のため に選択される。 データ転送がない期間には、クロックライン(SCLA)及びデータライン(SDAA )が外部プルアップ抵抗により「ハイ」に引き上げられる。データ転送を完遂す るためには、マスタ装置がスタート及びストップの両条件を発生して、データ転 送の開始及び停止を決定するようにする。図13を参照すると、スタート条件は 、クロックラインが「ハイ」にあるとき、データライン上での「ハイ」から「ロ ー」への遷移として定義され、ストップ条件は、クロックラインが「ハイ」にあ るとき、データライン上での「ロー」から「ハイ」への遷移として定義されてい る。さらに、このようなスタート及びストップ条件の定義の故に、データが伝送 されているとき、データラインは、図13に示されるようにクロックラインが「 ロー」にあるときに変化するだけである。 I2C装置をアドレスするために、2つのアドレッシングフォーマットが存在 する。第1のフォーマットは、図14に示されるように、書込/読出ビットを有 する7ビットアドレスフォーマットである。簡単にいうと、スタートビット(S )の後、マスタにより8ビットが発生され、その最初の7ビットがスレーブ装置 のアドレスであり、最後のビットが書込/読出ビットである。 第2のアドレッシングフォーマットは、図15に示されるように、書込/読出 ビットを有する10ビットアドレスフォーマットである。簡単にいうと、スタート ビットの後、マスタにより2バイトが発生されなければならず、第1バイトの最 初の5ビ ットがそのアドレスを10ビットアドレスであるように特定する。次の10ビットが スレーブ装置のアドレスであり、最後のビットが書込/読出ビットである。 伝送データの各バイトの後には、スレーブ/受信装置により肯定応答ビットが 発生される。図16を参照すると、そこには、スレーブ装置による肯定応答の発 生を表すグラフ的線図が示されている。より詳細には、スレーブ装置は、肯定応 答のためのクロックパルスの間、データ出力ラインを「ロー」に保持することに よって、データ最後のバイトの受信に対して肯定応答を行う。例えば、7ビット アドレスフォーマットについては、毎第9クロックパルスが肯定応答クロックパ ルスに対応している。 図17を参照すると、そこには、7ビットアドレスフォーマットを用いるI2 Cデータ転送の一例を表すグラフ的線図が示されている。簡単にいうと、スター トビット(S)の後、マスタによりスレーブ装置の7ビットアドレス並びに書込 /読出ビットが発生される。このアドレスが受信されたとすると、スレーブ装置 は、データ出力を「ロー」に引下げアドレス受信の肯定応答を行う。それから、 マスタは1バイトのデータを発生し、その受信についてスレーブ装置により肯定 応答が行われる。データ転送が完了すると、マスタはストップビット(P)を発 生する。 さて図18を参照すると、そこには、I2Cインターフェース58の詳細なブ ロック図が示されている。I2Cインターフェース58は、全てのスレーブ機能 を完全に実現し、マスタ機能のソフトウエア実施を容易にするためにハードウエ アでのサポートを提供する。I2Cインターフェースは、標準及び高速 モード仕様、並びに、7ビット及び10ビットの両アドレッシングを実行する。 データ転送のために、2つのライン/外部ピン、つまり、I2Cクロックであ るRC6/SCLAピン、及び、I2CデータであるRC7/SDAAピンが使 用される。 I2Cインターフェース58は、I2C操作のために5つのレジスタを有してい る:[1]I2C制御(I2CCON)レジスタ、[2]I2C状態(I2CSTAT )レジスタ、〔これらのレジスタ(I2CCON,I2CSTAT)はファイルレ ジスタ(データ)空間に位置している〕、[3]シリアル受信/送信バッファー (I2CBUF)301、[4]I2Cシフトレジスタ(I2CSR)303、及び 、[5]アドレス(I2CADD)レジスタ305。I2Cインターフェース58 には、さらに、比較器/一致検出器307及びスタート及びストップビット検出 回路309が備えられている。 I2CCONレジスタはI2C操作を制御し、このレジスタによって、次のI2 Cモードの1つを選択することができる: 1)7ビットアドレッシングを伴うI2Cスレーブモード、 2)10ビットアドレッシングを伴うI2Cスレーブモード、 3)7ビットアドレッシング及びマスタモードサポートを伴うI2Cスレーブモ ード、 4)10ビットアドレッシング及びマスタモードサポートを伴うI2Cスレーブモ ード、及び、 5)I2Cマスタモード、ここで、スレーブはアイドル状態である。 I2CSTATレジスタは読み出されるだけであり、データ転送の状態を与え る。これは、受信されたバイトがデータ又は アドレスである場合、次のバイトが完全な10ビットアドレスである場合、及び、 これが読出及び書込データ転送であろう場合のスタート及びストップビットの検 出のような情報を含んでいる。 I2CBUFレジスタは、転送データが書き込まれたり読み出されたりするレ ジスタ/バッファーである。I2CSRレジスタは、マイクロコントローラ10 へのデータ或いはマイクロコントローラ10からのデータをシフトする。I2C ADDレジスタは、スレーブのアドレスを格納する。 図19を参照すると、そこには、7ビットアドレスフォーマットを伴うデータ 受信のためのI2Cインターフェース58に関係する典型的な波形を表すグラフ 的線図が示されている。I2Cインターフェース58は、いったん可能化されて しまうと、スタート条件が生じるのを待つ。スタート条件続いて、7ビットのア ドレス及び書込/読出ビットがI2CSRレジスタ303内にシフトされてくる 。全ての到来ビットがシリアルクロックの立ち上がりエッジ(前縁)でサンプリ ングされる。I2CSRレジスタの内容が、第8クロックパルスの立ち下がりエ ッジ(後縁)で、I2CADDレジスタの内容と比較される。両アドレスが一致 する場合、I2CSRレジスタの内容が、I2CBUFレジスタにロードされ、I2 CSTATレジスタの書込/読出ビットがクリアされる(データはインターフ ェース58に書き込まれつつあることを表す)。さらに、肯定応答パルスが発生 され、各データバイトの転送後、I2C割込みビット(I2CIF)がセットされ、その 際、割込みビットはソフトウエアにおいてクリアされ、I2CSTATレジスタ は、そのバイトの状態を決定するのに使用される。しかしながら、I2CBU Fレジスタが以前の受信から読み出されてしまわなかった場合は、アドレスバイ トオーバフロー条件が存在する。このような状況においては、非肯定応答パルス が発生され、I2CCONレジスタ内のオーフロービット(I2COV)をセットするこ とにより、オーバフロー条件が示される。 図20を参照すると、そこには、7ビットアドレスフォーマットを伴うデータ 送信のためのI2Cインターフェース58に関係する典型的な波形を表すグラフ 的線図が示されている。アドレス一致が生じアドレスバイトの書込/読出ビット がセットされると(データはインターフェース58に書き込まれつつあることを 表す)、I2CSTATレジスタの書込/読出ビットもまたセットされる。受信 されたアドレスは、I2CBUFレジスタ内にロードされ、肯定応答パルスが第 9クロックパルス上で発生される。送信すべきデータは、I2CSRレジスタを さらにロードするI2CBUFレジスタ内にロードされなければならない。8ビ ットのデータはシリアルクロックの後縁でシフトアウトされる。データ受信と同 様に、各データ転送バイトについてI2C割込みフラグ(I2CIF)が発生され、その 際、12CIFビットはソフトウエアにおいてクリアされ、I2CSTATレジスタが 、そのバイトの状態を決定するのに使用される。 〔マイクロコントローラの回路内プログラミング〕 I2Cインターフェース58を使用することによって、マイクロコントローラ 10は、最終アプリケーション回路においてシリアルにプログラムすることがで きる。この様な特徴によって、顧客はプログラムされていない装置を備えるボー ドを製造し、その後、製品を出荷する直前に、マイクロコントローラを プログラムすることができる。このことによって、最も最新のファームウェア即 ち顧客ファームウェアをプログラムすることができる。 マイクロコントローラ10は、シリアルクロック及びシリアルデータピンを「 ロー」に保持すると共に電圧プログラムピンを、Vssに対して電圧Vpp、例えば 、12ボルトに高めることによって、プログラム/検証モードにおくことができ る。一旦プログラムモードになると、ユーザプログラムメモリ並びに試験プログ ラムメモリは、シリアル又はパラレル手法のいずれかでアクセス及びプログラム を行うことができ、その際、操作の初期モードはシリアルであり、アクセスされ るメモリはユーザプログラムメモリである。 本発明では、マイクロコントローラ10へのクロック及びデータ並びにマイク ロコントローラ10からのクロック及びデータを提供するために、マイクロコン トローラ10の2つの外部ピン(SCLAピン及びSDAAピン)を利用するこ とによって、回路内シリアルプログラミングが完遂される。さらに、回路内プロ グラミングを実行する際、電力、アース、及び、マイクロコントローラ10への プログラミング電圧(Vpp)を供給するのに3つの他のピンが利用される。図2 1を参照すると、そこには、マイクロコントローラ10の典型的な回路内シリア ルプログラミング構成が示されている。例示的な目的だけのために、図21のマ イクロコントローラ10は、最終回路/バッテリパック403の内部に存在して おり、バッテリ(330)の充電監視を制御するのに使用される。図21に示さ れるように、マイクロコントローラ10をプログラミングするのに使用する目的 で、マイクロコントローラ10には、バッテリパック 403の外部コネクタ401に接続するための外部ピンの一部が備えられており 、このとき、マイクロコントローラ10はバッテリパック403内に既に組み込 まれている。外部コネクタ401は、クロック及びシリアルデータ信号を、マイ クロコントローラ10のSCLA及びSDAAピンに夫々供給するために、外部 信号を受ける。クロックピンはマイクロコントローラにクロックを供給するのに 使用され、データピンは、コマンドビットを入力し、シリアル操作の間、データ をシリアルに入出力するのに使用される。コネクタ401は、また、プログラミ ング電圧、例えば、12ボルトを受け、これをマイクロコントローラ10のマスタ クリア(MCLR)/電圧プログラミングピンに供給して、マイクロコントローラ1 0を可能化し、シリアルプログラミングモードに投入するようにする。そして、 コネクタ401は、マイクロコントローラ10の外部電力ピンVDD,VSS( 大地)間に、+5Vを夫々供給する。 本発明は、また、図21に示されるように、外部サーミスタ入力と共にプログ ラミング電圧を多重化することができるという能力を有している。このような多 重化の特徴によって、バッテリパックが存在する環境温度を監視するのに用いる ために、外部温度センサからの信号をマイクロコントローラ10に入力すること ができる。さらに、たった5つの端子が多数のバッテリバック上で一般的に利用 可能であり、そのうち4つの端子は、通常、シリアル伝送(クロック及びデータ )に対して2つが考慮されるので、このような多重化の特徴は重要である。従っ て、本発明によると、第5の端子は、プログラミング電圧、及び、外部サーミス タからマイクロコントローラ10への信号の双方を供給するのに使用することが 可能になる。 プログラミング電圧及びサーミスタ入力の多重化は、抵抗321〜327の配 置を介して達成される。通常操作の間は、サーミスタピンは左が開いている(外 部サーミスタが使用されていない場合)か、或いは、外部10〜50kΩ〔オーム〕 サーミスタによって、例えば、+5V〔ボルト〕で駆動される。この例では、+85 ℃の温度に対応するおよそ2Vに対して-40℃に対応するおよそ0.3mVの範囲内 にある電圧が、抵抗325,327を介してAN3ピンに供給される。AN3ピ ンに現れるこの電圧は、それから、図1,3に示されるように、MUX32の入 力の1つに供給され、その後、上述したように計測され処理される。 マイクロコントローラをシリアルにプログラミングするためには、コネクタ4 01の「データ1」ピン及び「データ2」ピンが「ロー」に保持され、この間、 サーミスタ(「温度」)ピンは-24〜+40V間を転移する。-24Vは、抵抗323 を介してマイクロコントローラ10のMCLR/Vpp入力ピンに供給される0 Vに対応し、この0Vによって、マイクロコントローラ10がリセットされる。 注意すべきことは、この-24Vは、或る負電圧及び対応する電流がAN3ピンに 供給されているにも拘わらず、マイクロコントローラ10を損傷しないというこ とである。より詳細にいうと、この負電圧は(図示されていない)入力保護ダイ オードによって阻止され、一方、対応する電流は例えば、1MΩである抵抗32 5の大きな抵抗値により小さくなっている。これに対して、+40Vは、MCLR /Vpp入力ピンに供給される約+13Vに対応し、この+13Vによって、マイク ロコントローラ10がプログラム/検証モードにおかれる。このときには、それ から、コネクタ401の「データ1」 ピン及び「データ2」ピンにクロック及びデータ信号が供給され、これにより、 コネクタ401のマイクロコントローラのSCLA及びSDAAピンを介してマ イクロコントローラがシリアルにプログラミングされる。このようにして、コネ クタ401の「温度」ピンは、外部サーミスタに対応する電圧、及び、マイクロ コントローラをシリアルにプログラミングするためのプログラミング電圧の両者 を受けるのに使用される。 図22を参照すると、そこには、シリアルプログラミングに利用可能な種々の コマンドを表すテーブルが示されている。先ず、「試験ロード」コマンドは、試 験プログラムメモリ内に14ビット語をロードするのに用いられ,その際、このコ マンドの受信に基づいて、プログラムカウンタが試験プログラムメモリ内の予め 定められた位置にセットされる。「データロード」コマンドは、14ビット語をユ ーザプログラムメモリ内にロードするのに用いられる。「データ読出」コマンド は、14ビット語をユーザプログラムメモリから伝送するのに用いられる。「アド レス増分」コマンドは、受信に基づき、マイクロコントローラ10のプログラム カウンタを増分するのに用いられる。「プログラミング開始」コマンドは、試験 プログラムメモリ或いはユーザプログラムメモリの何れかのプログラミングを開 始するのに用いられ,その際、このコマンドに先立って試験ロード又はデータロ ードコマンドが与えられなければならない。「パラレルモード投入」コマンドは 、パラレルモードでデータを受容するようにマイクロコントローラ10をプログ ラムするのに用いられる。このパラレルモードは、バッテリパックに典型的には 外部コネクタがほんの僅かしか備えられていないので、マイクロコントローラの 回路内プログラミングには、一般的に適用す ることができない。最後に、「プログラミング終了」コマンドは、プログラムメ モリのプログラミングを停止するのに用いられる。 図23,24を参照すると、そこには、シリアルプログラミングのための試験 ロード及びデータロードコマンドを夫々表すグラフ的線図が示されている。コマ ンドを入力するために、クロックピンにはサイクルが6回与えられ、その際、各 コマンドビットが初めに入力されているコマンドの最下位ビット(LSB)に伴 うクロックの後縁でラッチされる。SDAAピン上のデータは、図23,24に 示されるように、クロックの後縁に関して、最小のセットアップ(tset0,tse t1)及び保持時間(thld0,thld1)を有するように要求されており、このセッ トアップ及び保持時間は、例えば100ナノ秒〔ns〕である。さらに、これに関 係するデータ読出及びデータロードコマンドのようなコマンドは、図23,24 に示されるように、コマンドとデータとの間に、最小の遅延(tdly1)を有する ように特定されており、この遅延は、例えば1マイクロ秒〔μs〕である。この 遅延の後、クロックピンにはサイクルが16回与えられ、第1サイクルはスタート ビットであり最後のサイクルはストップビットであり、また、データは、中間の 14クロックサイクルに伴い最下位ビットを最初にして、入力又は出力がなされる 。特に、読出操作の間には、最下位ビットは、第2サイクルの前縁でSDAAピ ン上に伝送され、ロード操作の間には、最下位ビットは、第2サイクルの後縁で ラッチされるようになっている。 本発明はマイクロコントローラの回路内シリアルプログラミ ングにI2Cプロトコルを用いることについて説明されているが、このような回 路内プログラミングは、I2Cプロトコルに限定されず、クロック線及びシリア ルデータ線を使用する任意のシリアルな通信技術を包含する。例えば、図25に は、シリアルインターフェース回路(410)についての別の実施例の詳細なブ ロック線図が示されている。このようなインターフェース回路は、通信されるべ き集積回路チップには、I2Cプロトコルを実施するためのハードウエアを有し ないものがあるが、このような場合のアプリケーションに、図示のインターフェ ース回路が有用である。インターフェース回路410はシリアルデータ(ADA A)ピン及びクロック(SCLA)ピンに応答的であって、マイクロコントロー ラ10をプログラミングするのに用いられる一方で、その最終利用アプリケーシ ョンにも用いられる。インターフェース回路410は、一時的にデータを保持す るためにシリアルデータピン及びクロックピンに接続されるシフトレジスタ41 2を備えており、このデータはバッファ414を介して、EPROM20に書き 込まれたり、EPROM20から読み出されたりする。 バッファ414及びレジスタ412には、適切なデータがEPROM20に書 き込まれたことを検証するために、比較/検証ブロック416が接続される。 シフトレジスタ412には、図23に示されるような実行されるべきコマンド を解読するするために、コマンドデコードブロック418が接続される。 デコードブロック418の出力には、実行コマンドを実行するという制御機能 を遂行するために、状態機械制御ブロックが接続される。例えば、データをEP ROM20にロードすると きには、このブロックは、プログラミング電圧がEPROM20に供給されるべ き時点を制御する。 要するに、本発明によって、マイクロコントローラ10の回路内シリアルプロ グラミングを行われる。このことによって、エンドユーザ(最終利用者)はマイ クロコントローラ10を、バッテリ充電及び監視制御用バッテリパックのような 最終利用アプリケーションにおかれたときに、プログラムすることができる。 〔バッテリ監視アプリケーション〕 図26を参照すると、そこには、外部バッテリ450を監視するためのアプリ ケーションにおいて構成されるマイクロコントローラ10を表すブロック図が示 されている。バッテリ450の電圧は、分圧回路452を介してマイクロコント ローラ10のAN0/BATVアナログ入力に供給される。バッテリ450の電 流は感知抵抗454を介して通流し、マイクロコントローラ10のAN1/BA TIアナログ入力に、バッテリ電流を表す電圧を供給する。マイクロコントロー ラ10のRAMPピンは、外部コンデンサ456を介して大地に接続され、この コンデンサ両端にプログラム可能なランプ電圧を発生するようになっている。マ イクロコントローラ10のIAVGピンは、オプションとして外部コンデンサ4 58を介して大地に接続され、短持続時間電流パルスを捕獲するのに使用される 。電圧調整器ピン(VREG)は、電圧調整を行うために、外部NチャネルFE T460のゲート電極に接続される。このFET460は、ドレイン電極がバッ テリ電圧を受けるように接続され、ソース電極からマイクロコントローラ10に 調整された電圧V DDを供給する。さらに、この調整された電圧は、外部アナログ入力AN2を介 して計測することができる。 ここでは所定の好ましい実施例について説明してきたが、説明された実施例及 び方法の種々の変形及び変更が本発明の真の精神及び範囲から逸脱しないで作ら れ得ることは、当業者に明らかであろう。従って、本発明は、添付された請求の 範囲並びに適用される法律の規則及び原則によって要求される範囲にのみに限定 されるべきであると考えられる。
【手続補正書】 【提出日】1997年6月13日 【補正内容】 【図1】 【図2】 【図7】 【図3】 【図4】 【図15】 【図16】 【図5】 【図6】 【図13】 【図8】 【図14】 【図9】 【図10】 【図12】 【図11】 【図17】 【図22】 【図18】 【図19】 【図20】 【図21】 【図23】 【図24】 【図25】 【図26】

Claims (1)

  1. 【特許請求の範囲】 1.複数の信号を受信するためのコネクタを備えるバッテリパック内で使用され 、半導体チップ上に作製されるバッテリ充電及びバッテリ監視アプリケーション 用マイクロコントローラであって、 プログラム及び命令を実行し、マイクロコントローラによるプログラム及び命 令の実行の結果として制御信号を発生して、バッテリ充電及びバッテリ監視シス テムを選択的に制御するようになっており、 命令を実行するためのマイクロプロセッサ手段、マイクロコントローラにより 実行されるべきプログラムを格納するためのプログラムメモリ手段、及び、デー タを格納するためのデータメモリ手段を具備する マイクロコントローラにおいて、さらに、 マイクロコントローラをシリアルにプログラミングするための手段であって、 マイクロコントローラと信号を送受信するために前記コネクタに接続される第1 及び第2の双方向性入力を備えるシリアルインターフェース制御手段 を具備することを特徴とするマイクロコントローラ。 2.さらに、 予め定められた電圧が供給されたときマイクロコントローラがシリアルにプロ グラミングされるのを可能にするために、前記コネクタに接続される電圧プログ ラミングピン を具備することを特徴とする請求項1に記載のマイクロコントローラ。 3.前記シリアルインターフェース制御手段はI2Cインターフェースであり、 第1及び第2の双方向性信号がそれぞれシリアルデータ信号及びクロック信号で あることを特徴とする請求項1に記載のマイクロコントローラ。 4.前記シリアルインターフェース制御手段は、 マイクロコントローラから読み出されるべきかマイクロコントローラに書き込 まれるべきかを指示するための状態レジスタ、 第1及び第2の双方向性入力に接続され、マイクロコントローラへのデータ又 はマイクロコントローラからのデータをシフトするためのシフトレジスタ手段、 及び、 このシフトレジスタ手段に接続され、マイクロコントローラから読み出される データ、或いは、マイクロコントローラに書き込まれるべきデータを格納するた めのバッファレジスタ手段を備える ことを特徴とする請求項1に記載のマイクロコントローラ。 5.バッテリ充電及びバッテリ監視アプリケーションのために、バッテリパック 内にインストールされているときにマイクロコントローラをプログラミングする 方法であって、 バッテリパックは、マイクロコントローラをプログラミングするのに用いられ る複数の信号を受信するためのコネクタを備え、 マイクロコントローラは、 半導体チップ上に作製され、プログラム及び命令を実行し、マイクロコントロ ーラによるプログラム及び命令の実行の結果として制御信号を発生して、バッテ リ充電及びバッテリ監視シ ステムを選択的に制御するようになっており、 命令を実行するためのマイクロプロセッサ手段、マイクロコントローラにより 実行されるべきプログラムを格納するためのプログラムメモリ手段、及び、デー タを格納するためのデータメモリ手段を備える 方法において、 バッテリパックのコネクタの第1ピン上にプログラミング電圧信号を供給する ステップであって、このコネクタの第1ピンはマイクロコントローラの第1ピン に接続され、プログラミング電圧信号をマイクロコントローラに供給してマイク ロコントローラがシリアルにプログラミングされるのを可能にするようになって いるステップ、 バッテリパックのコネクタの第2ピン上にシリアルデータ信号を供給するステ ップであって、このコネクタの第2ピンはマイクロコントローラの第2ピンに接 続され、シリアルデータ信号をマイクロコントローラに供給してプログラミング データをマイクロコントローラに供給するようになっているステップ、及び、 バッテリパックのコネクタの第3ピン上にクロック信号を供給するステップで あって、このコネクタの第3ピンはマイクロコントローラの第3ピンに接続され 、クロック信号をマイクロコントローラに供給してマイクロコントローラへのシ リアルデータ信号をクロックするようになっているステップ から成ることを特徴とする方法。 6.さらに、 マイクロコントローラに書き込まれるべきシリアルデータ信号を受信するため に、バッテリパックのコネクタとマイクロコ ントローラのプログラムメモリとの間にインターフェース回路を提供するステッ プ から成ることを特徴とする請求項5に記載の方法。 7.バッテリを充電し監視するためにバッテリ及びマイクロコントローラをバッ テリパック内に組み込んでいるシステムであって、 バッテリパックは、複数の信号を受信するためのコネクタを備え、 マイクロコントローラは、 半導体チップ上に作製され、プログラム及び命令を実行し、マイクロコントロ ーラによるプログラム及び命令の実行の結果として制御信号を発生して、バッテ リ充電及びバッテリ監視システムを選択的に制御するようになっており、 命令を実行するためのマイクロプロセッサ手段、マイクロコントローラにより 実行されるべきプログラムを格納するためのプログラムメモリ手段、及び、デー タを格納するためのデータメモリ手段を備える システムにおいて、さらに、 マイクロコントローラをシリアルプログラミングモードに投入することを可能 にするための手段、及び、 マイクロコントローラを、バッテリパック内にインストールされている状態で 、シリアルにプログラミングすることを許可するための手段であって、マイクロ コントローラをプログラミングするために、マイクロコントローラに信号を供給 するするように前記コネクタに接続される第1及び第2の双方向性入力を備える シリアルインターフェース制御手段 を具備することを特徴とするシステム。 8.前記シリアルインターフェース制御手段はI2Cインターフェースであり、 第1及び第2の双方向性信号がそれぞれシリアルデータ信号及びクロック信号で あることを特徴とする請求項7に記載のシステム。 9.前記シリアルインターフェース制御手段は、 マイクロコントローラから読み出されるべきかマイクロコントローラに書き込 まれるべきかを指示するための状態レジスタ、 第1及び第2の双方向性入力に接続され、マイクロコントローラへのデータ又 はマイクロコントローラからのデータをシフトするためのシフトレジスタ手段、 及び、 このシフトレジスタ手段に接続され、マイクロコントローラから読み出される データ、或いは、マイクロコントローラに書き込まれるべきデータを格納するた めのバッファレジスタ手段を備える ことを特徴とする請求項7に記載のシステム。
JP9515282A 1995-10-13 1996-10-11 マイクロコントローラに対してシリアルなパック内プログラム性を提供するための方法及び装置 Pending JPH10503312A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/542,679 1995-10-13
US08/542,679 US5841996A (en) 1995-10-13 1995-10-13 Serial communication interface system having programmable microcontroller for use in a battery pack
PCT/US1996/016429 WO1997014128A1 (en) 1995-10-13 1996-10-11 Method and apparatus for providing serial, in-pack programmability for a microcontroller

Publications (1)

Publication Number Publication Date
JPH10503312A true JPH10503312A (ja) 1998-03-24

Family

ID=24164847

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9515282A Pending JPH10503312A (ja) 1995-10-13 1996-10-11 マイクロコントローラに対してシリアルなパック内プログラム性を提供するための方法及び装置

Country Status (6)

Country Link
US (1) US5841996A (ja)
EP (1) EP0829074A4 (ja)
JP (1) JPH10503312A (ja)
KR (1) KR100234842B1 (ja)
TW (1) TW281728B (ja)
WO (1) WO1997014128A1 (ja)

Families Citing this family (83)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100272472B1 (ko) * 1995-09-19 2000-11-15 씨. 필립 채프맨 디지탈 프로그램가능 임계 레벨을 가진 마이크로컨트롤러 재작동 기능
US6021447A (en) * 1997-12-12 2000-02-01 Scenix Semiconductor, Inc. Non-intrusive in-system programming using in-system programming circuitry coupled to oscillation circuitry for entering, exiting, and performing in-system programming responsive to oscillation circuitry signals
US6161199A (en) * 1997-12-12 2000-12-12 Scenix Semiconductor, Inc. Non-intrusive in-system debugging for a microcontroller with in-system programming capabilities using in-system debugging circuitry and program embedded in-system debugging commands
TW368626B (en) * 1998-04-17 1999-09-01 Winbond Electronics Corp Microprocessor with self-programmed embedded flash memory and programming method
US6037750A (en) * 1998-09-17 2000-03-14 Qualcomm Incorporated Battery pack controller
US6510522B1 (en) * 1998-11-20 2003-01-21 Compaq Information Technologies Group, L.P. Apparatus and method for providing access security to a device coupled upon a two-wire bidirectional bus
WO2000051281A2 (en) * 1999-02-26 2000-08-31 Usar Systems, Inc. Power conservation with a synchronous master-slave serial data bus
US6560665B1 (en) * 1999-05-14 2003-05-06 Xilinx Inc. Embedding firmware for a microprocessor with configuration data for a field programmable gate array
US9235955B2 (en) 2000-12-22 2016-01-12 Bally Gaming, Inc. Universal game monitoring unit and system
US20020019891A1 (en) * 1999-12-30 2002-02-14 James Morrow Generic device controller unit and method
GB2368495B (en) * 2000-10-23 2004-06-30 Ericsson Telefon Ab L M Monitoring circuit
US8103496B1 (en) 2000-10-26 2012-01-24 Cypress Semicondutor Corporation Breakpoint control in an in-circuit emulation system
US8149048B1 (en) 2000-10-26 2012-04-03 Cypress Semiconductor Corporation Apparatus and method for programmable power management in a programmable analog circuit block
US7765095B1 (en) 2000-10-26 2010-07-27 Cypress Semiconductor Corporation Conditional branching in an in-circuit emulation system
US6724220B1 (en) 2000-10-26 2004-04-20 Cyress Semiconductor Corporation Programmable microcontroller architecture (mixed analog/digital)
US8176296B2 (en) 2000-10-26 2012-05-08 Cypress Semiconductor Corporation Programmable microcontroller architecture
US8160864B1 (en) 2000-10-26 2012-04-17 Cypress Semiconductor Corporation In-circuit emulator and pod synchronized boot
JP2002351825A (ja) * 2001-05-29 2002-12-06 Rohm Co Ltd 通信システム
US7406674B1 (en) 2001-10-24 2008-07-29 Cypress Semiconductor Corporation Method and apparatus for generating microcontroller configuration information
US8078970B1 (en) 2001-11-09 2011-12-13 Cypress Semiconductor Corporation Graphical user interface with user-selectable list-box
US7526422B1 (en) 2001-11-13 2009-04-28 Cypress Semiconductor Corporation System and a method for checking lock-step consistency between an in circuit emulation and a microcontroller
US8042093B1 (en) 2001-11-15 2011-10-18 Cypress Semiconductor Corporation System providing automatic source code generation for personalization and parameterization of user modules
US6971004B1 (en) 2001-11-19 2005-11-29 Cypress Semiconductor Corp. System and method of dynamically reconfiguring a programmable integrated circuit
US7774190B1 (en) 2001-11-19 2010-08-10 Cypress Semiconductor Corporation Sleep and stall in an in-circuit emulation system
US7844437B1 (en) 2001-11-19 2010-11-30 Cypress Semiconductor Corporation System and method for performing next placements and pruning of disallowed placements for programming an integrated circuit
US8069405B1 (en) 2001-11-19 2011-11-29 Cypress Semiconductor Corporation User interface for efficiently browsing an electronic document using data-driven tabs
US7770113B1 (en) 2001-11-19 2010-08-03 Cypress Semiconductor Corporation System and method for dynamically generating a configuration datasheet
US20030185062A1 (en) * 2002-03-28 2003-10-02 Micron Technology, Inc. Proximity lookup for large arrays
US8103497B1 (en) 2002-03-28 2012-01-24 Cypress Semiconductor Corporation External interface for event architecture
US7308608B1 (en) 2002-05-01 2007-12-11 Cypress Semiconductor Corporation Reconfigurable testing system and method
US7761845B1 (en) 2002-09-09 2010-07-20 Cypress Semiconductor Corporation Method for parameterizing a user module
US20070220499A1 (en) * 2003-07-23 2007-09-20 Silicon Laboratories Inc. USB tool stick with multiple processors
US7502883B2 (en) * 2003-07-23 2009-03-10 Silicon Labs Cp, Inc. USB integrated module
US7340366B2 (en) * 2004-03-04 2008-03-04 Atmel Corporation Method and apparatus of temperature compensation for integrated circuit chip using on-chip sensor and computation means
US7295049B1 (en) 2004-03-25 2007-11-13 Cypress Semiconductor Corporation Method and circuit for rapid alignment of signals
US8286125B2 (en) 2004-08-13 2012-10-09 Cypress Semiconductor Corporation Model for a hardware device-independent method of defining embedded firmware for programmable systems
US8069436B2 (en) 2004-08-13 2011-11-29 Cypress Semiconductor Corporation Providing hardware independence to automate code generation of processing device firmware
US20060044725A1 (en) * 2004-08-31 2006-03-02 Cisco Technology, Inc. Monolithic solid state relay circuit for telecom wireline applications
US7084695B2 (en) * 2004-08-31 2006-08-01 Micron Technology, Inc. Method and apparatus for low voltage temperature sensing
US7332976B1 (en) 2005-02-04 2008-02-19 Cypress Semiconductor Corporation Poly-phase frequency synthesis oscillator
TWI267747B (en) * 2005-02-24 2006-12-01 Sunplus Technology Co Ltd Method and apparatus for bi-directional signal fighting problem on serial interface
US7400183B1 (en) 2005-05-05 2008-07-15 Cypress Semiconductor Corporation Voltage controlled oscillator delay cell and method
US8089461B2 (en) 2005-06-23 2012-01-03 Cypress Semiconductor Corporation Touch wake for electronic devices
US20070006057A1 (en) * 2005-06-30 2007-01-04 Paul Wallner Semiconductor memory chip and method of protecting a memory core thereof
US8085067B1 (en) 2005-12-21 2011-12-27 Cypress Semiconductor Corporation Differential-to-single ended signal converter circuit and method
JP4918866B2 (ja) * 2006-03-13 2012-04-18 ミツミ電機株式会社 通信装置、半導体集積回路装置及び通信システム
US8067948B2 (en) 2006-03-27 2011-11-29 Cypress Semiconductor Corporation Input/output multiplexer bus
US7663517B1 (en) * 2006-06-28 2010-02-16 Sun Microsystems, Inc. Accurate hardware Power OK (POK) generation methodology for processors with varying core voltage requirements
US7679369B2 (en) * 2006-10-06 2010-03-16 Enerdel, Inc. System and method to measure series-connected cell voltages using a flying capacitor
CN101563600A (zh) * 2006-10-06 2009-10-21 埃纳戴尔公司 使用飞电容的测量串联电池电压的系统及方法
WO2008075311A2 (en) * 2006-12-20 2008-06-26 Nxp B.V. Clock generation for memory access without a local oscillator
US7859223B2 (en) * 2007-01-31 2010-12-28 Analog Devices, Inc. Battery montoring apparatus and daisy chain interface suitable for use in a battery monitoring apparatus
US8130000B2 (en) * 2007-03-02 2012-03-06 Analog Devices, Inc. Methods and apparatus for battery monitoring
US9564902B2 (en) 2007-04-17 2017-02-07 Cypress Semiconductor Corporation Dynamically configurable and re-configurable data path
US8026739B2 (en) 2007-04-17 2011-09-27 Cypress Semiconductor Corporation System level interconnect with programmable switching
US8516025B2 (en) 2007-04-17 2013-08-20 Cypress Semiconductor Corporation Clock driven dynamic datapath chaining
US8130025B2 (en) 2007-04-17 2012-03-06 Cypress Semiconductor Corporation Numerical band gap
US7737724B2 (en) 2007-04-17 2010-06-15 Cypress Semiconductor Corporation Universal digital block interconnection and channel routing
US8092083B2 (en) 2007-04-17 2012-01-10 Cypress Semiconductor Corporation Temperature sensor with digital bandgap
US8040266B2 (en) 2007-04-17 2011-10-18 Cypress Semiconductor Corporation Programmable sigma-delta analog-to-digital converter
US8266575B1 (en) 2007-04-25 2012-09-11 Cypress Semiconductor Corporation Systems and methods for dynamically reconfiguring a programmable system on a chip
US9720805B1 (en) 2007-04-25 2017-08-01 Cypress Semiconductor Corporation System and method for controlling a target device
US8065653B1 (en) 2007-04-25 2011-11-22 Cypress Semiconductor Corporation Configuration of programmable IC design elements
US8049569B1 (en) 2007-09-05 2011-11-01 Cypress Semiconductor Corporation Circuit and method for improving the accuracy of a crystal-less oscillator having dual-frequency modes
US7675270B2 (en) * 2008-04-30 2010-03-09 Dell Products L.P. System and method for reliable information handling system and battery communication
JP5258490B2 (ja) * 2008-10-02 2013-08-07 ルネサスエレクトロニクス株式会社 半導体集積回路及びそれを用いたicカード
US8227944B2 (en) * 2009-01-06 2012-07-24 O2Micro Inc Vertical bus circuits
US8022669B2 (en) * 2009-01-06 2011-09-20 O2Micro International Limited Battery management system
KR101036061B1 (ko) * 2009-04-21 2011-05-19 에스비리모티브 주식회사 배터리 관리 시스템 및 그 구동 방법
WO2010127257A1 (en) * 2009-05-01 2010-11-04 Analog Devices, Inc. An addressable integrated circuit and method thereof
US20100277231A1 (en) * 2009-05-01 2010-11-04 Analog Devices, Inc. filtering on current mode daisy chain inputs
US9448964B2 (en) 2009-05-04 2016-09-20 Cypress Semiconductor Corporation Autonomous control in a programmable system
US8258792B2 (en) * 2009-05-11 2012-09-04 Semiconductor Components Industries, Llc. Monitoring system and method
US20110144840A1 (en) * 2009-12-15 2011-06-16 Ise Corporation Expandable Energy Storage Control System and Method
US8350522B2 (en) * 2010-03-10 2013-01-08 Apple Inc. External power source voltage drop compensation for portable devices
CN102255978B (zh) 2010-05-20 2014-08-13 凹凸电子(武汉)有限公司 地址配置装置、方法以及系统
US8525477B2 (en) * 2010-07-15 2013-09-03 O2Micro, Inc. Assigning addresses to multiple cascade battery modules in electric or electric hybrid vehicles
US8015452B2 (en) * 2010-08-31 2011-09-06 O2Micro International, Ltd. Flexible bus architecture for monitoring and control of battery pack
US9261568B2 (en) 2011-02-07 2016-02-16 Analog Devices, Inc. Diagnostic method to monitor battery cells of safety-critical systems
KR101254875B1 (ko) 2011-05-18 2013-04-15 삼성에스디아이 주식회사 배터리 팩 관리시스템
US9520888B1 (en) 2015-07-24 2016-12-13 Cypress Semiconductor Corporation Integrated circuit device with on-board calibration of signal generator circuits, and related methods
CN109644312B (zh) 2016-08-29 2021-03-12 3M创新有限公司 具有可切换电接触件的电子听力保护器
DE102016117020B4 (de) * 2016-09-09 2022-12-15 Infineon Technologies Ag Verfahren und Vorrichtung für Analog-Digital-Umsetzung

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5051890A (en) * 1988-09-29 1991-09-24 Nec Corporation Program/data memory employed in microcomputer system
US5182810A (en) * 1989-05-31 1993-01-26 Dallas Semiconductor Corp. Isolation gates to permit selective power-downs within a closely-coupled multi-chip system
US5325464A (en) * 1990-05-22 1994-06-28 International Business Machines Corporation Pyramid learning architecture neurocomputer
DE4122371C5 (de) * 1991-07-05 2007-04-12 Rohde & Schwarz Gmbh & Co. Kg Mikroprozessorgesteuertes elektronisches Meßgerät
US5325041A (en) * 1991-08-09 1994-06-28 Briggs James B Automatic rechargeable battery monitoring system
US5321627A (en) * 1992-03-11 1994-06-14 Globe-Union, Inc. Battery monitor and method for providing operating parameters
US5284719A (en) * 1992-07-08 1994-02-08 Benchmarq Microelectronics, Inc. Method and apparatus for monitoring battery capacity
US5349535A (en) * 1992-10-20 1994-09-20 Digicomp Research Corporation Battery condition monitoring and recording system for electric vehicles
US5459671A (en) * 1993-02-19 1995-10-17 Advanced Micro Devices, Inc. Programmable battery controller
US5539298A (en) * 1993-03-19 1996-07-23 Compaq Computer Corporation Pulse charge technique to trickle charge a rechargeable battery
US5537343A (en) * 1993-09-02 1996-07-16 Elonex Technologies, Inc. Digital assistant system having a host computer with a docking bay and a moveable heat sink for cooling a docked module
TW327212B (en) * 1994-06-27 1998-02-21 Microchip Tech Inc Memory device with switching of data stream modes

Also Published As

Publication number Publication date
KR980700625A (ko) 1998-03-30
EP0829074A1 (en) 1998-03-18
KR100234842B1 (ko) 1999-12-15
TW281728B (en) 1996-07-21
WO1997014128A1 (en) 1997-04-17
US5841996A (en) 1998-11-24
EP0829074A4 (en) 1999-11-10

Similar Documents

Publication Publication Date Title
JPH10503312A (ja) マイクロコントローラに対してシリアルなパック内プログラム性を提供するための方法及び装置
JP3080655B2 (ja) インテリジェントなバッテリ管理を行うためのアナログ前置回路を備えるマイクロコントローラ
KR100272472B1 (ko) 디지탈 프로그램가능 임계 레벨을 가진 마이크로컨트롤러 재작동 기능
KR100267360B1 (ko) 온칩 선형 온도 센서를 가진 마이크로컨트롤러
KR100247184B1 (ko) 온칩 아날로그 소자의 디지탈 조정
WO1997014128A9 (en) Method and apparatus for providing serial, in-pack programmability for a microcontroller
WO1997012310A9 (en) Digital trimming of on-chip analog components
US5563496A (en) Battery monitoring and charging control unit
US6154012A (en) Gas gauge implementation
US10267662B2 (en) Method and apparatus for multi-channel sensor interface with programmable gain, offset and bias
US6522104B1 (en) Method and apparatus for measurement of charge in a battery
US20040105488A1 (en) On-chip digital thermometer to sense and measure device temperatures
US20120274341A1 (en) Resistance measurement circuit and measuring method employing the same
US7039150B1 (en) Serial interface for a battery management system
US6661204B2 (en) Battery charge monitor
JPH095366A (ja) 高精度相対デジタル電圧計測方法及び装置
US20230006455A1 (en) Control device and charging system
WO2001028064A2 (en) Battery management system
KR100512165B1 (ko) 충전 가능한 배터리의 용량 측정 방법
Domain EFM32WG890 DATASHEET
KR20000055825A (ko) 내부에 자신의 정보를 가진 전지팩 및 그를 갖는 충전시스템 및전지 잔량 표시 시스템
KR20040042302A (ko) 배터리 전압 검출회로