JP2013149079A - 乱数発生装置 - Google Patents
乱数発生装置 Download PDFInfo
- Publication number
- JP2013149079A JP2013149079A JP2012009015A JP2012009015A JP2013149079A JP 2013149079 A JP2013149079 A JP 2013149079A JP 2012009015 A JP2012009015 A JP 2012009015A JP 2012009015 A JP2012009015 A JP 2012009015A JP 2013149079 A JP2013149079 A JP 2013149079A
- Authority
- JP
- Japan
- Prior art keywords
- microcomputer
- random number
- oscillation circuit
- circuit
- clock
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/582—Pseudo-random number generators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/588—Random number generators, i.e. based on natural stochastic processes
Abstract
【課題】電源電圧に応じて出力が変化する外付け回路を利用することなく、マイクロコンピュータの演算処理にて乱数を生成することのできる乱数発生装置を提供する。
【解決手段】バッテリパックを充電する充電器のマイコンには、メイン発振回路とサブ発振回路が備えられる。サブ発振回路は、メイン発振回路に比べ温度依存性が高く、タイマにて時間を計時するのに利用される。マイコンは、温度依存性の低いメイン発振回路からのクロックで動作し、バッテリパック認証のために乱数を生成する。乱数生成時、マイコンは、タイマによるサブクロックのカウントを開始し(S110)、その後、タイマのカウント値が所定値に達し、タイマ割込があるまでの時間を、変数iをカウントすることで計測する(S120,S130)。タイマスタート後タイマ割込が発生する迄の時間は、サブ発振回路の温度により変化するため、メインクロックを用いて計測することで、乱数を生成できる。
【選択図】図2
【解決手段】バッテリパックを充電する充電器のマイコンには、メイン発振回路とサブ発振回路が備えられる。サブ発振回路は、メイン発振回路に比べ温度依存性が高く、タイマにて時間を計時するのに利用される。マイコンは、温度依存性の低いメイン発振回路からのクロックで動作し、バッテリパック認証のために乱数を生成する。乱数生成時、マイコンは、タイマによるサブクロックのカウントを開始し(S110)、その後、タイマのカウント値が所定値に達し、タイマ割込があるまでの時間を、変数iをカウントすることで計測する(S120,S130)。タイマスタート後タイマ割込が発生する迄の時間は、サブ発振回路の温度により変化するため、メインクロックを用いて計測することで、乱数を生成できる。
【選択図】図2
Description
本発明は、マイクロコンピュータの動作によって乱数を発生する乱数発生装置に関する。
バッテリから電源供給を受けて動作する電動機器(電動工具、電動作業機等)や、バッテリへの充電を行う充電器では、正規のバッテリではない不正なバッテリが装着されると、機器が故障したりバッテリが異常発熱したりすることがある。
そこで、この種の機器では、バッテリが装着された際、乱数を用いて、装着されたバッテリが適正品であるか否かを判定(認証)することが知られている(例えば、特許文献1参照)。
そして、この特許文献1では、乱数として、A/D変換器で得られるA/D変換値のノイズビット(下位ビット)を用いることが提案されている。
また、乱数を発生する乱数発生回路として、不安定な電源電圧を受けて動作する電圧制御発振器からの発振出力を所定期間カウントし、そのカウント値を乱数として出力するよう構成されたものも知られている(例えば、特許文献2参照)。
また、乱数を発生する乱数発生回路として、不安定な電源電圧を受けて動作する電圧制御発振器からの発振出力を所定期間カウントし、そのカウント値を乱数として出力するよう構成されたものも知られている(例えば、特許文献2参照)。
しかし、上記従来の乱数発生は、A/D変換器や電圧制御発振器にて電源電圧の変動によって生じる特性変化を利用するものであるため、安定化電源から安定した電源供給を受けて動作するマイクロコンピュータ単体では、乱数を発生するのが難しいという問題があった。
また、マイクロコンピュータに対しA/D変換器や電圧制御発振器を外付けし、その電源をマイクロコンピュータとは異なる不安定なものにすれば、マイクロコンピュータの演算処理にて乱数を発生させることはできる。
しかし、このようにすると、乱数発生装置としての構成が複雑になり、コストアップを招くという問題がある。
本発明は、こうした問題に鑑みなされたものであり、電源電圧の変動によって出力が変化する外付け回路を利用することなく、マイクロコンピュータの演算処理にて乱数を生成することのできる乱数発生装置を提供することを目的とする。
本発明は、こうした問題に鑑みなされたものであり、電源電圧の変動によって出力が変化する外付け回路を利用することなく、マイクロコンピュータの演算処理にて乱数を生成することのできる乱数発生装置を提供することを目的とする。
かかる目的を達成するためになされた請求項1に記載の乱数発生装置は、マイクロコンピュータと、マイクロコンピュータの動作の基準となるクロックを発生する第1発振回路と、第1発振回路とは異なる温度特性を有する電子回路とで構成される。
そして、マイクロコンピュータが、第1発振回路からのクロックに基づき、電子回路の動作時間を計測することで、乱数を発生する。
つまり、本発明の乱数発生装置は、上述した従来装置のように、電源電圧の変動を利用して乱数を発生するのでは無く、動作クロック発生用の第1発振回路とマイクロコンピュータからの指令に従い動作する電子回路との温度特性の違いを利用し、乱数を発生する。
つまり、本発明の乱数発生装置は、上述した従来装置のように、電源電圧の変動を利用して乱数を発生するのでは無く、動作クロック発生用の第1発振回路とマイクロコンピュータからの指令に従い動作する電子回路との温度特性の違いを利用し、乱数を発生する。
従って、本発明によれば、マイクロコンピュータの内蔵回路若しくは周辺回路を利用し、マイクロコンピュータの演算処理にて乱数を生成することができ、従来のように電源電圧の変動によって出力が変化する外付け回路を利用する必要がない。
よって、本発明によれば、乱数発生装置を簡単且つ低コストで実現できる。
ここで、本発明の乱数発生装置は、請求項2に記載のように、電子回路を、第1発振回路よりも温度依存性の高い第2発振回路で構成し、マイクロコンピュータが、第2発振回路の発振回数を第1発振回路からのクロックに基づき計測することで、乱数を生成するようにしてもよい。
ここで、本発明の乱数発生装置は、請求項2に記載のように、電子回路を、第1発振回路よりも温度依存性の高い第2発振回路で構成し、マイクロコンピュータが、第2発振回路の発振回数を第1発振回路からのクロックに基づき計測することで、乱数を生成するようにしてもよい。
つまり、マイクロコンピュータにおいては、動作の基準となるクロックを発生するメイン発振回路とは別に、スリープモード等でウェイクアップタイミングを検出するためのサブクロックを発生するサブ発振回路が設けられることがある。
そして、サブ発振回路は、メイン発振回路に比べて精度が要求されず、通常、メイン発振回路よりも温度依存性が高いものが使用される。
そこで、請求項2に記載の乱数発生装置では、マイクロコンピュータにこうしたサブ発振回路が設けられている場合に、サブ発振回路を第2発振回路として利用することで、乱数を生成するようにするのである。
そこで、請求項2に記載の乱数発生装置では、マイクロコンピュータにこうしたサブ発振回路が設けられている場合に、サブ発振回路を第2発振回路として利用することで、乱数を生成するようにするのである。
この結果、請求項2に記載の乱数発生装置によれば、サブ発振回路を備えたマイクロコンピュータにおいて、乱数発生用の外付け回路を設けることなく、乱数を生成することができるようになり、乱数発生装置を低コストで実現できる。
一方、電子回路は、請求項3に記載のように、抵抗とコンデンサとを直列に接続してなる充放電回路にて構成してもよい。
この場合、マイクロコンピュータは、充放電回路のコンデンサの両端電圧が0Vから規定電圧に達するまでの時間を、第1発振回路からのクロックに基づき計測することで、乱数を生成するようにすればよい。
この場合、マイクロコンピュータは、充放電回路のコンデンサの両端電圧が0Vから規定電圧に達するまでの時間を、第1発振回路からのクロックに基づき計測することで、乱数を生成するようにすればよい。
そして、このようにすれば、マイクロコンピュータに充放電回路を設ける必要があるが、充放電回路は抵抗とコンデンサとで実現できるため、従来のように、A/D変換器や電圧制御発振器を外付けする場合に比べて、乱数発生装置を低コストで実現できる。
また、マイクロコンピュータにプルアップ抵抗が接続された出力ポートがある場合、その出力ポートにコンデンサを接続するだけで、充放電回路を構成できるため、充放電回路を利用する乱数発生装置を、より簡単に構成できる。
また、本発明(請求項1〜請求項3)の乱数発生装置は、請求項4に記載のように、電動工具、電動作業機、電動工具又は電動作業機に装着して使用されるバッテリ、及び、該バッテリを充電するための充電器、の少なくとも一つに実装するとよい。
そして、このようにすれば、電動工具、電動作業機、若しくは充電器において、バッテリが正規のものであるか否かを判定(認証)するのに用いられる乱数を、これらの機器若しくはバッテリ自身に内蔵されたマイクロコンピュータにより生成することが可能となる。
以下に本発明の実施形態を図面と共に説明する。
[第1実施形態]
本実施形態の乱数発生装置は、バッテリパック10が装着されたとき、バッテリパック10が正規のものか否かを判定(認証)し、正規のものであると判断したとき、バッテリパック10に対する充電を開始する、充電器30の一機能として実現される。
[第1実施形態]
本実施形態の乱数発生装置は、バッテリパック10が装着されたとき、バッテリパック10が正規のものか否かを判定(認証)し、正規のものであると判断したとき、バッテリパック10に対する充電を開始する、充電器30の一機能として実現される。
図1に示すように、バッテリパック10は、多数のバッテリセルを直列に接続してなるバッテリ20と、このバッテリ20の正極側及び負極側を、電源供給の対象となる電動工具や電動作業機、若しくは、充電器30に接続するための電源端子12、14を備える。
また、バッテリパック10には、バッテリ20の電圧を検出する電圧検出部26、バッテリ20から給電対象機器(電動工具や電動作業機)への放電電流及び充電器30からバッテリ20への充電電流を検出する電流検出部24が設けられている。
そして、これら各部26、24からの検出信号は、CPU、ROM、RAM等を中心に構成されたマイクロコンピュータ28に入力される。以下、マイクロコンピュータを、単にマイコンと記載する。
マイコン28は、上記各部26、24からの検出信号に基づきバッテリ20の状態や充放電電流を監視し、その監視結果を給電対象機器或いは充電器30に通知することで、バッテリ20の充放電を適正に実施させるためのものである。
このため、バッテリパック10には、マイコン28を、給電対象機器或いは充電器30側の制御回路であるマイコンに接続するための接続端子16も設けられている。
また、この接続端子16には、データ入出力端子17、定電圧端子38、グランド端子37が備えられている。
また、この接続端子16には、データ入出力端子17、定電圧端子38、グランド端子37が備えられている。
ここで、データ入出力端子17は、マイコン28が給電対象機器或いは充電器30側のマイコンとの間でデータを送受信するための端子である。
また、定電圧端子18は、マイコン28に設けられた定電圧電源回路(図示せず)にて生成された電源電圧(定電圧)を給電対象機器側のマイコンに供給したり、充電器30側のマイコン50から供給される電源電圧(定電圧)をマイコン28に入力したりするための端子である。
また、定電圧端子18は、マイコン28に設けられた定電圧電源回路(図示せず)にて生成された電源電圧(定電圧)を給電対象機器側のマイコンに供給したり、充電器30側のマイコン50から供給される電源電圧(定電圧)をマイコン28に入力したりするための端子である。
また、グランド端子19は、マイコン28と給電対象機器或いは充電器30側のマイコンとのグランド電位を一致させるための端子であり、バッテリ20の負極側に接続される14に接続されている。
なお、バッテリパック10において、バッテリ20の正極側から電源端子12に至る電流経路には、過電流により溶断するヒューズ22が設けられている。
一方、充電器30は、バッテリパック10が装着された際に、バッテリパック10の電源端子12、14及び接続端子16にそれぞれ接続するための電源端子32、34及び接続端子36が設けられている。
一方、充電器30は、バッテリパック10が装着された際に、バッテリパック10の電源端子12、14及び接続端子16にそれぞれ接続するための電源端子32、34及び接続端子36が設けられている。
そして、電源端子32、34には、外部電源(図示せず)から電源供給を受けてバッテリパック10内のバッテリ20を充電する充電回路40が接続され、接続端子36には、充電回路40を制御するマイコン50が接続されている。
マイコン50は、接続端子36内のデータ入出力端子37及びバッテリパック10側のデータ入出力端子17を介して、バッテリパック10側のマイコン28からバッテリ電圧や充電電流を取得し、充電回路40を制御する。
また、マイコン50は、充電回路40内に設けられた定電圧電源回路(図示せず)から電源電圧(定電圧)を受けて動作する。そして、マイコン50は、その電源電圧(定電圧)を、接続端子36内の定電圧端子38及びバッテリパック10側の定電圧端子18を介して、バッテリパック10側のマイコン28に供給する。
また、マイコン50のグランド電位は、接続端子36内のグランド端子39及びバッテリパック10側のグランド端子19を介して、バッテリパック10側のマイコン28のグランド電位と同電位にされる。なお、グランド端子19は、負極側の電源端子34にも接続されている。
充電器30のマイコン50には、マイコン50の動作の基準となるメインクロックを発生するメイン発振回路52に加えて、メインクロックよりも低周波数のサブクロックを発生するサブ発振回路54や、このサブ発振回路54からの出力クロックをカウントすることで時間を計時するタイマ56が内蔵されている。
メイン発振回路52は、温度変化の影響を受けることなく常時安定してメインクロックを発生できるように、発振源としてセラミック発振子を備え、発振周波数は、例えば、数MHzに設定されている。
サブ発振回路54は、例えば、マイコン50がスリープモードにあるとき、定期的にウェイクアップするのに必要な時間をタイマ56に計時させるのに使用されるものであり、メイン発振回路52に比べて、発振周波数の精度は要求されない。
このため、サブ発振回路54には、メイン発振回路52に比べて温度依存性が高く、温度変化によって発振周波数は変動し易いものの、より低コストで実現し得るCR発振回路等が利用され、しかも、その発振周波数は、例えば、数十kHzに設定されている。
なお、バッテリパック10側のマイコン28にも、これらの発振回路やタイマが内蔵されるが、本発明に関わる主要部ではないので、説明は省略する。
次に、充電器30側のマイコン50は、乱数に所定の暗号化データを付加した認証用データをバッテリパック10側のマイコン28に送信し、その後、マイコン28から認証用データを元に生成された回答データを取得し、その回答データに基づき、バッテリパック10の認証を行う。
次に、充電器30側のマイコン50は、乱数に所定の暗号化データを付加した認証用データをバッテリパック10側のマイコン28に送信し、その後、マイコン28から認証用データを元に生成された回答データを取得し、その回答データに基づき、バッテリパック10の認証を行う。
そして、充電器30のマイコン50は、こうした認証処理に必要な乱数を、サブ発振回路54及びタイマ56を用いて生成する。
以下、充電器のマイコン50にて乱数を生成するために実行される乱数生成処理を、図2に示すフローチャートに沿って説明する。
以下、充電器のマイコン50にて乱数を生成するために実行される乱数生成処理を、図2に示すフローチャートに沿って説明する。
なお、乱数を用いたバッテリパック10の認証処理については、例えば、特開2011−135740号公報等に詳しく説明されており、本発明の主要部でもないので、ここでは説明を省略する。
図2に示すように、マイコン50(詳しくはCPU)にて乱数生成処理が開始されると、まずS110(Sはステップを表す)にて、変数iに初期値「0」を設定し、タイマ56による計時を開始(タイマスタート)する。
なお、タイマ56は、図3に示すように、計時開始(タイマスタート)後、サブクロックのカウント値が所定値(図では最大値)に達すると、マイコン50に対し割込信号を発生するものとする。
次に、続くS120では、変数iをインクリメント(+1)した後、S130に移行し、タイマ56からの割込があったか否かを判断する。
そして、タイマ56からの割込がなければ、再度S120に移行することで、変数iをインクリメントし、タイマ56からの割込があれば、S140に移行し、変数iの値を乱数として設定した後、当該乱数生成処理を終了する。
そして、タイマ56からの割込がなければ、再度S120に移行することで、変数iをインクリメントし、タイマ56からの割込があれば、S140に移行し、変数iの値を乱数として設定した後、当該乱数生成処理を終了する。
つまり、本実施形態の乱数生成処理では、S120の処理は、S110にてタイマ56による計時を開始(タイマスタート)させた後、タイマ56によるカウント値が所定値に達して、タイマ割込が発生する迄の間、変数iを繰り返しインクリメントすることになる。
そして、マイコン50は、メイン発振回路52からのメインクロックにて動作することから、S120にて繰り返しインクリメントされる変数iの値は、タイマスタート後、タイマ割込が発生するまでの間に発生したメインクロックの数に対応する。
従って、本実施形態では、タイマスタート後、タイマ割込が発生するまでの時間を、メインクロックを用いて計測していることになる。
そして、その計測結果である変数iの値は、サブ発振回路54からのサブクロックの発生周期(発振周波数)によって変化し、その発生周期(発振周波数)は、サブ発振回路54の温度特性(温度依存性:大)により、周囲温度に応じて大きく変化する。
そして、その計測結果である変数iの値は、サブ発振回路54からのサブクロックの発生周期(発振周波数)によって変化し、その発生周期(発振周波数)は、サブ発振回路54の温度特性(温度依存性:大)により、周囲温度に応じて大きく変化する。
このため、上記のように生成される乱数は、乱数生成時の周囲温度によって大きく変化し、バッテリパック認証用の乱数として使用することができる。
このように、本実施形態では、充電器30に設けられたマイコン50内のメイン発振回路52とサブ発振回路54の温度特性の違いを利用し、サブ発振回路54から出力されるサブクロックの数が所定値に達するまでの時間を、メインクロックを利用して計測することで、乱数を生成する。
このように、本実施形態では、充電器30に設けられたマイコン50内のメイン発振回路52とサブ発振回路54の温度特性の違いを利用し、サブ発振回路54から出力されるサブクロックの数が所定値に達するまでの時間を、メインクロックを利用して計測することで、乱数を生成する。
このため、本実施形態によれば、従来のように、電源電圧の変動によって出力が変化するA/D変換器や電圧制御発振器をマイコン50に外付けすることなく、マイコン50に内蔵された既存の回路を利用して、乱数を生成できることになる。従って、本実施形態によれば、乱数発生装置としての機能を、マイコン50の乱数生成処理にて、極めた簡単にしかも低コストに実現することができる。
(変形例)
ところで、本実施形態では、タイマ56によるサブクロックのカウント値が所定値に達するまでの時間を、メインクロックで動作するマイコン50側で計測することにより、乱数を生成するものとして説明した。
(変形例)
ところで、本実施形態では、タイマ56によるサブクロックのカウント値が所定値に達するまでの時間を、メインクロックで動作するマイコン50側で計測することにより、乱数を生成するものとして説明した。
これに対し、乱数生成処理を、図4に示すように変更し、まず、マイコン50が、タイマ56に対しサブクロックのカウントを開始させ(S210)、その後、メインクロックをカウントすることで、そのカウント値で決まる一定時間を計測し(S220)、一定時間の計測が終了すると、タイマ56によるカウント値を乱数として設定する(S230)、ようにしてもよい。
つまり、このようにしても、マイコン50内のメイン発振回路52とサブ発振回路54の温度特性の違いを利用し、乱数を生成することができる。
なお、本実施形態において、充電器30のマイコン50は、本発明のマイクロコンピュータに相当し、メイン発振回路52は、本発明の第1発振回路に相当し、サブ発振回路54は、本発明の電子回路(詳しくは請求項2に記載の第2発振回路)に相当する。
[第2実施形態]
次に、本発明の第2実施形態について説明する。
なお、本実施形態において、充電器30のマイコン50は、本発明のマイクロコンピュータに相当し、メイン発振回路52は、本発明の第1発振回路に相当し、サブ発振回路54は、本発明の電子回路(詳しくは請求項2に記載の第2発振回路)に相当する。
[第2実施形態]
次に、本発明の第2実施形態について説明する。
本実施形態の乱数発生装置は、第1実施形態と同様、バッテリパック10への充電を行う充電器30の一機能として実現されるものである。
そして、第1実施形態と異なる点は、マイコン50に内蔵されたメイン発振回路とサブ発振回路の温度特性の違いを利用するのではなく、図5に示すように、マイコン50のポートP1に接続される抵抗R1とコンデンサC1とからなる充放電回路60を利用する点である。
そして、第1実施形態と異なる点は、マイコン50に内蔵されたメイン発振回路とサブ発振回路の温度特性の違いを利用するのではなく、図5に示すように、マイコン50のポートP1に接続される抵抗R1とコンデンサC1とからなる充放電回路60を利用する点である。
つまり、充放電回路60は、抵抗R1とコンデンサC1との直列回路からなり、抵抗R1の一端がマイコン50の電源ラインに接続され、コンデンサC1がマイコンのグランドに接地され、抵抗R1とコンデンサC1との接続点が、マイコン50のポートP1に接続されている。
このように構成された充放電回路60は、マイコン50側でポートP1をLowレベル(グランド電位)にすれば、コンデンサC1に蓄積された電荷が放電され、ポートP1をオープン(ハイインピーダンス:Hiz)にすれば、抵抗R1を介してコンデンサC1が充電される。
そして、抵抗R1の抵抗値及びコンデンサC1の容量は、温度によって変化することから、コンデンサC1の充電時の時定数も、温度によって変化する。
そこで、本実施形態では、この時定数の変化によって生じるコンデンサC1充電時のポートP1の電圧の立上がり特性を、マイコン50が計測することで、乱数を生成するようにされている。
そこで、本実施形態では、この時定数の変化によって生じるコンデンサC1充電時のポートP1の電圧の立上がり特性を、マイコン50が計測することで、乱数を生成するようにされている。
以下、このようにマイコン50が乱数を生成する手順を、図6に示すフローチャートに沿って説明する。
図6に示すように、マイコン50(詳しくはCPU)にて乱数生成処理が開始されると、まずS310にて、変数iに初期値「0」を設定し、ポートP1をLowレベルからハイインピーダンスHizに切り換えることで、コンデンサC1への充電を開始させる。
図6に示すように、マイコン50(詳しくはCPU)にて乱数生成処理が開始されると、まずS310にて、変数iに初期値「0」を設定し、ポートP1をLowレベルからハイインピーダンスHizに切り換えることで、コンデンサC1への充電を開始させる。
次に、続くS320では、変数iをインクリメント(+1)した後、S330に移行し、ポートP1の電圧が所定の閾値電圧HI以上になった否かを判定し、ポート電圧が閾値電圧HI以上になっていなければ、再度S120に移行し、変数iをインクリメントする。
一方、S330にて、ポートP1の電圧が閾値電圧HI以上になったと判断すると、S140に移行し、変数iの値を乱数として設定した後、当該乱数生成処理を終了する。
つまり、図7に示すように、S310にて、ポートP1をLowレベルからハイインピーダンスHizに切り換えると、コンデンサC1への充電が開始され(時点t1)、ポートP1の電圧が上昇する。
つまり、図7に示すように、S310にて、ポートP1をLowレベルからハイインピーダンスHizに切り換えると、コンデンサC1への充電が開始され(時点t1)、ポートP1の電圧が上昇する。
そして、ポートP1の電圧が閾値電圧HIに達するまでの時間は、充放電回路60の時定数(換言すれば充放電回路60の温度)によって変化する。
そこで、本実施形態では、ポートP1の電圧(換言すればコンデンサC1の両端電圧)が0Vから閾値電圧HIに達するまでの時間を、メインクロックを用いて変数iとして計測し、その値を乱数とするのである。
そこで、本実施形態では、ポートP1の電圧(換言すればコンデンサC1の両端電圧)が0Vから閾値電圧HIに達するまでの時間を、メインクロックを用いて変数iとして計測し、その値を乱数とするのである。
従って、本実施形態によれば、マイコン50のポートP1に、コンデンサC1と抵抗R1とからなる充放電回路60を接続する必要があるが、従来のように、マイコン50にA/D変換器や電圧制御発振器を外付けする必要がないので、極めた簡単な回路構成にて乱数を生成できることになる。
なお、本実施形態では、マイコン50のポートP1に接続された充放電回路60を用いて乱数を生成するものとして説明したが、図5に示すように、マイコン50内でプルアップ抵抗R2を介して電源ラインに接続されたポートP2が存在する場合には、このポートP2に、一端がグランドに接地されたコンデンサC2を設けることで、乱数を生成するようにしてもよい。
つまり、マイコン50内でプルアップ抵抗R2が接続されたポートP2は、トランジスタQ2を介して、LowレベルからハイインピーダンスHizに切り換えることができる。
従って、この場合、ポートP2にコンデンサC2を接続すれば、コンデンサC2とプルアップ抵抗R2とを充放電回路として利用し、ポートP1に充放電回路60を接続した場合と同様の手順で、乱数を生成することができる。
(変形例)
ところで、サブ発振回路54から出力されるサブクロックの周期は、メイン発振回路52から出力されるメインクロックの周期に比べ、温度依存性が高く、図8に示すように、温度変化に対する変化割合が大きくなる。
(変形例)
ところで、サブ発振回路54から出力されるサブクロックの周期は、メイン発振回路52から出力されるメインクロックの周期に比べ、温度依存性が高く、図8に示すように、温度変化に対する変化割合が大きくなる。
これに対し、コンデンサC1と抵抗R1(又はコンデンサC2とプルアップ抵抗R2)にて構成される充放電回路のコンデンサ充電時の時定数は、抵抗R1(又はプルアップ抵抗R2)の温度特性によって、温度変化に対するサブクロックの周期の変化割合に比べて、より大きい変化割合で変化する。
従って、上記のように、ポートP1(又はポートP2)の電圧が、0Vから閾値電圧HIに達するまでのコンデンサC1(又はコンデンサC2)の充電時間を計測して、乱数を生成する際には、サブ発振回路54とタイマ56を利用するようにしてもよい。
つまり、図9に示すように、乱数生成処理においては、まず、S410にて、タイマ56に対しサブクロックのカウントを開始させると共に、ポートP1(又はポートP2)をLowレベルからハイインピーダンスHizに切り換えることで、コンデンサC1(又はコンデンサC2)への充電を開始させる。
また、続くS420では、ポートP1(又はポートP2)の電圧が所定の閾値電圧HI以上になった否かを判断することにより、ポート電圧が閾値電圧HI以上になるのを待ち、ポート電圧が閾値電圧HI以上になると、S430にて、タイマ56からカウント値を読み込み、その値を乱数として設定する。
乱数生成処理をこのように実行するようにしても、充放電回路を利用して乱数を生成することができる。
以上、本発明の実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内にて、種々の態様をとることができる。
以上、本発明の実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内にて、種々の態様をとることができる。
例えば、上記実施形態では、バッテリパック10が装着される充電器30に、本発明の乱数発生装置としての機能を組み込んだ場合について説明したが、本発明の乱数発生装置は、マイコンを備えた装置であれば、上記実施形態と同様に適用することができ、例えば、バッテリパック10のマイコン28に組み込むこともできるし、このバッテリパック10から電源供給を受ける電動工具や電動作業機に設けられたマイコンの一機能として実現することもできる。
また、第2実施形態では、コンデンサC1(又はC2)への充電時間を計測することにより乱数を生成するものとして説明した。これに対し、例えば、コンデンサC1(又はC2)を所定電圧若しくは満充電状態になるまで一旦充電し、その後、コンデンサ電圧が閾値電圧以下になるまでの放電時間を計測することにより、乱数を生成するようにしてもよい。そして、このようにしても、第2実施形態と同様の効果を得ることができる。
10…バッテリパック、12,14…電源端子、16…接続端子、17…データ入出力端子、18…定電圧端子、19…グランド端子、20…バッテリ、22…ヒューズ、24…電流検出部、26…電圧検出部、28…マイコン、30…充電器、32,34…電源端子、36…接続端子、37…グランド端子、38…定電圧端子、40…充電回路、50…マイコン、52…メイン発振回路、54…サブ発振回路、56…タイマ、60…充放電回路、C1,C2…コンデンサ、R1…抵抗、R2…プルアップ抵抗、P1,P2…ポート、Q2…トランジスタ。
Claims (4)
- マイクロコンピュータと、
所定の温度特性を有し、前記マイクロコンピュータの動作の基準となるクロックを発生する第1発振回路と、
前記第1発振回路とは異なる温度特性を有し、前記マイクロコンピュータからの指令に従い動作する電子回路と、
を備え、前記マイクロコンピュータは、前記第1発振回路からのクロックに基づき、前記電子回路の動作時間を計測し、該計測結果に基づき乱数を発生することを特徴とする乱数発生装置。 - 前記電子回路は、前記第1発振回路よりも温度依存性の高い第2発振回路で構成され、
前記マイクロコンピュータは、前記第2発振回路の発振回数を、前記第1発振回路からのクロックに基づき計測することで、前記乱数を生成することを特徴とする請求項1に記載の乱数発生装置。 - 前記電子回路は、抵抗とコンデンサとを直列に接続してなる充放電回路で構成され、
前記マイクロコンピュータは、前記充放電回路において前記コンデンサの両端電圧が0Vから規定電圧に達するまでの時間を、前記第1発振回路からのクロックに基づき計測することで、前記乱数を生成することを特徴とする請求項1に記載の乱数発生装置。 - 請求項1〜請求項3の何れか1項に記載の乱数発生装置は、電動工具、電動作業機、電動工具又は電動作業機に装着して使用されるバッテリ、及び、該バッテリを充電するための充電器、の少なくとも一つに実装されることを特徴とする乱数発生装置。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012009015A JP2013149079A (ja) | 2012-01-19 | 2012-01-19 | 乱数発生装置 |
CN2013100073667A CN103218202A (zh) | 2012-01-19 | 2013-01-09 | 随机数产生装置 |
US13/738,051 US9250861B2 (en) | 2012-01-19 | 2013-01-10 | Random number generating device |
EP13151412.7A EP2618254A3 (en) | 2012-01-19 | 2013-01-16 | Random number generating device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012009015A JP2013149079A (ja) | 2012-01-19 | 2012-01-19 | 乱数発生装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013149079A true JP2013149079A (ja) | 2013-08-01 |
Family
ID=47832866
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012009015A Pending JP2013149079A (ja) | 2012-01-19 | 2012-01-19 | 乱数発生装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9250861B2 (ja) |
EP (1) | EP2618254A3 (ja) |
JP (1) | JP2013149079A (ja) |
CN (1) | CN103218202A (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015061370A1 (en) | 2013-10-21 | 2015-04-30 | Milwaukee Electric Tool Corporation | Adapter for power tool devices |
CN104702251B (zh) * | 2014-07-24 | 2017-04-19 | 北京航空航天大学 | 一种基于定时器的pwm波生成方法 |
GB2528983A (en) * | 2014-08-08 | 2016-02-10 | Apply Mobile Ltd | Improvements in and relating to random number generation apparatus |
CN108829621A (zh) * | 2018-07-17 | 2018-11-16 | 天津瑞发科半导体技术有限公司 | 一种usb扩展功能设备 |
US10748591B2 (en) * | 2019-01-13 | 2020-08-18 | Ememory Technology Inc. | Random code generator |
EP3736686A1 (en) * | 2019-05-09 | 2020-11-11 | Quside Technologies S.L. | Device for transferring power and entropy |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06319171A (ja) * | 1993-05-07 | 1994-11-15 | Mitsubishi Electric Corp | 伝送制御装置及びその乱数発生システム |
JP2003521062A (ja) * | 2000-01-27 | 2003-07-08 | インフィネオン テクノロジーズ アクチェンゲゼルシャフト | 乱数生成器 |
JP2008293167A (ja) * | 2007-05-23 | 2008-12-04 | Fec Inc | 乱数発生回路、無接触形のicタグ、リーダライタ、icタグシステム |
JP2011135740A (ja) * | 2009-12-25 | 2011-07-07 | Makita Corp | 電動工具用バッテリパックおよびバッテリ接続装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5204671A (en) * | 1991-01-22 | 1993-04-20 | Kronberg James W | Random one-of-N selector |
JP3492494B2 (ja) | 1997-06-09 | 2004-02-03 | 沖電気工業株式会社 | 乱数発生回路 |
GB0102840D0 (en) | 2001-02-05 | 2001-03-21 | Cambridge Silicon Radio Ltd | Generating random data |
EP1780937A1 (en) * | 2005-11-01 | 2007-05-02 | Black & Decker, Inc. | Method and system for authenticating a smart battery system |
DE102006032419B3 (de) * | 2006-07-13 | 2007-03-08 | Infineon Technologies Ag | Verfahren Anordnung, Chip und Vorrichtung zum Erzeugen eines Startwertes für einen Pseudo-Zufallszahlengenerator und Computerprogramm |
JP4917478B2 (ja) * | 2007-05-25 | 2012-04-18 | 株式会社ケーヒン | 乱数発生装置及び車両制御装置 |
-
2012
- 2012-01-19 JP JP2012009015A patent/JP2013149079A/ja active Pending
-
2013
- 2013-01-09 CN CN2013100073667A patent/CN103218202A/zh active Pending
- 2013-01-10 US US13/738,051 patent/US9250861B2/en active Active
- 2013-01-16 EP EP13151412.7A patent/EP2618254A3/en not_active Withdrawn
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06319171A (ja) * | 1993-05-07 | 1994-11-15 | Mitsubishi Electric Corp | 伝送制御装置及びその乱数発生システム |
JP2003521062A (ja) * | 2000-01-27 | 2003-07-08 | インフィネオン テクノロジーズ アクチェンゲゼルシャフト | 乱数生成器 |
JP2008293167A (ja) * | 2007-05-23 | 2008-12-04 | Fec Inc | 乱数発生回路、無接触形のicタグ、リーダライタ、icタグシステム |
JP2011135740A (ja) * | 2009-12-25 | 2011-07-07 | Makita Corp | 電動工具用バッテリパックおよびバッテリ接続装置 |
Also Published As
Publication number | Publication date |
---|---|
EP2618254A3 (en) | 2013-10-09 |
EP2618254A2 (en) | 2013-07-24 |
US9250861B2 (en) | 2016-02-02 |
CN103218202A (zh) | 2013-07-24 |
US20130191428A1 (en) | 2013-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2013149079A (ja) | 乱数発生装置 | |
US7200507B2 (en) | Method and device for clock calibration | |
US8296588B2 (en) | Microcontroller and control method therefor | |
CN104425850A (zh) | 半导体装置、电池组及便携式终端 | |
CN110829540B (zh) | 一种负载接入识别方法、充电控制方法及装置 | |
CN102495348B (zh) | 故障检测电路及其方法 | |
US8712709B2 (en) | Delta-sigma AD converter circuit and battery pack | |
US20080246549A1 (en) | Real time clock integrated circuit and electronic apparatus using the same | |
CN105629329B (zh) | 校准接近检测传感器和关联传感器的待机持续时间的方法 | |
US20080258686A1 (en) | Method for Detecting Removal of a Battery from a Battery Charger | |
US20020180542A1 (en) | Crystal oscillator circuit using CMOSFETs | |
US11281314B2 (en) | Methods and apparatus for variable capacitance detection | |
JP2007306421A (ja) | 発振回路およびその制御方法 | |
CN103825555A (zh) | 一种振荡电路 | |
CN212063521U (zh) | 一种负载接入识别装置及充电装置 | |
KR101709821B1 (ko) | 전자 디바이스 내의 제 1 카운터를 업데이트하는 방법 및 전자 디바이스 | |
KR20000023438A (ko) | 온도안정화회로 | |
CN110830035B (zh) | 一种锁相环及其锁定检测方法和电路 | |
JP5347460B2 (ja) | 二次電池保護用集積回路装置及び二次電池保護用集積回路装置の検査方法 | |
US7456675B2 (en) | Semiconductor integrated circuit device for preventing generation of irregular clock signal | |
JP5021964B2 (ja) | 発振停止検出回路 | |
JP2004187004A (ja) | 発振振幅検出回路、発振回路及び発振用集積回路 | |
JP2002252930A (ja) | 遅延回路 | |
JPH0685634A (ja) | 半導体集積回路 | |
JP2006184035A (ja) | 電池残量検出装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140721 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150708 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150714 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20151124 |