説明

通信方法、通信システム及びそのデバイス

【課題】第1デバイスと第2デバイスの間で1本の信号線だけを用いて双方向のシリアル通信を行うことができ、第2デバイスにて第1デバイスから送信された情報の誤りを検出できる通信方法、通信システム及びそのデバイスを提供することを目的とする。
【解決手段】第1デバイス11から第2デバイス12に第1の通信フォーマットで情報をクロックと共に送信する第1モードと、第2デバイスから第1デバイスに第2の通信フォーマットで情報を送信する第2モードを有し、第1の通信フォーマットは、スタートビットに続いて、複数のデータビット及び複数の反転データビットと、複数のデータビットから生成したチェックビット及び反転チェックビットを有し、第2の通信フォーマットは、スタートビットに続いて、複数のデータビットと、複数のデータビットから生成したチェックビットを有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、双方向のシリアル通信を行う通信方法、通信システム及びそのデバイスに関する。
【背景技術】
【0002】
従来から、双方向のシリアル通信を行う通信システムがある。例えば特許文献1には、データ及びクロックを時分割で多重して1本のバスラインで伝送し、送信/受信判定用のバスラインと合わせて2本のバスラインで、双方向から互いに送受信を行うことが記載されている。
【0003】
上記特許文献1には、送信時に、ラッチ回路はクロック回路のクロック信号に同期し、データ入力部よりのデータHにてIN端子の電源電圧Vccをスイッチの接点aに出力し、データLにて接点aを抵抗R1とR2による分圧値にし、スイッチはクロック信号でa、bに切り換えられ、aにてデータ、bにてクロック信号を出力し、送受切換スイッチを介しデータ・クロック伝送ラインに送出し、受信時に、送受切換スイッチより分離回路に入力した信号をレベル判別によりデータとクロック信号に分離し、データはラッチ・整形回路でラッチし波形整形して出力し、送信時に、デコーダは送受判定ラインのレベルと送信要求入力Hを演算、Hを出力し、送受切換スイッチを送信側に切り換え、送受判定ラインをLにすることで、データとクロック信号を時分割多重してバスラインで伝送することが記載されている。
【0004】
なお、情報ブロックをそれぞれが複数のセグメントを含む複数の原サブブロックに分割し、各原サブブロック中に含まれる複数のセグメントのそれぞれ1つに割り付けられた原情報の全てを反転して得られた反転情報を含む反転サブブロックを、各原サブブロックに対応付けて複数生成し、複数の原サブブロックと、生成された複数の反転サブブロックとを合体させることにより、情報ブロックを符号ブロックに変換する技術が提案されている(例えば特許文献2参照)。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開平7−95248号公報
【特許文献2】特開2000−124960号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
従来の技術は、双方向のシリアル通信を行うためにデータ・クロック伝送ラインと送受判定ラインを必要とし、1本の信号線だけを用いて双方向のシリアル通信を行うことはできないという問題があった。
【0007】
本発明は上記の点に鑑みてなされたもので、第1デバイスと第2デバイスの間で1本の信号線だけを用いて双方向のシリアル通信を行うことができ、第2デバイスにて第1デバイスから送信された情報の誤りを検出できる通信方法、通信システム及びそのデバイスを提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明の一実施態様による通信システムは、第1デバイス(11)と第2デバイス(12)間を1本の信号線で接続し、互いにレベルの異なる第1レベルと第2レベル、及び前記第1レベルと第2レベルの中間レベルを用いてシリアル通信を行う通信システムであって、
前記第1デバイス(11)から前記第2デバイス(12)に第1の通信フォーマットで情報をクロックと共に送信する第1モードと、
前記第2デバイス(12)から前記第1デバイス(11)に第2の通信フォーマットで情報を送信する第2モードを有し、
前記第1の通信フォーマットは、スタートビットに続いて、複数のデータビット及び複数の反転データビットと、前記複数のデータビットから生成したチェックビット及び反転チェックビットを有し、
前記第2の通信フォーマットは、スタートビットに続いて、複数のデータビットと、前記複数のデータビットから生成したチェックビットを有する。
【0009】
好ましくは、前記第1の通信フォーマットは、データビットと反転データビットを交互に配置する。
【0010】
好ましくは、前記第1の通信フォーマットは、前記複数のデータビット及び前記チェックビット、固定ビット、前記複数のデータビットの一部及び前記複数のデータビットの一部の残りの反転データビット及び前記反転チェックビットを順に配置する。
【0011】
本発明の一実施態様による通信方法は、第1デバイス(11)と第2デバイス(12)間を1本の信号線で接続し、互いにレベルの異なる第1レベルと第2レベル、及び前記第1レベルと第2レベルの中間レベルを用いてシリアル通信を行う通信方法であって、
前記第1デバイス(11)から前記第2デバイス(12)に第1の通信フォーマットで情報をクロックと共に送信する第1モードと、
前記第2デバイス(12)から前記第1デバイス(11)に第2の通信フォーマットで情報を送信する第2モードを有し、
前記第1の通信フォーマットは、スタートビットに続いて、複数のデータビット及び複数の反転データビットと、前記複数のデータビットから生成したチェックビット及び反転チェックビットを有し、
前記第2の通信フォーマットは、スタートビットに続いて、複数のデータビットと、前記複数のデータビットから生成したチェックビットを有する。
【0012】
また、本発明の一実施態様による第1デバイスは、第1デバイス(11)と第2デバイス(12)間を1本の信号線で接続し、互いにレベルの異なる第1レベルと第2レベル、及び前記第1レベルと第2レベルの中間レベルを用いてシリアル通信を行う通信システムの第1デバイスであって、
前記第2デバイス(12)に第1の通信フォーマットで情報をクロックと共に送信する送信手段と、
前記第2デバイス(12)から第2の通信フォーマットで送信される情報を受信する受信手段と、を有し、
前記第1の通信フォーマットは、スタートビットに続いて、複数のデータビット及び複数の反転データビットと、前記複数のデータビットから生成したチェックビット及び反転チェックビットを有し、
前記第2の通信フォーマットは、スタートビットに続いて、複数のデータビットと、前記複数のデータビットから生成したチェックビットを有する。
【0013】
なお、上記括弧内の参照符号は、理解を容易にするために付したものであり、一例にすぎず、図示の態様に限定されるものではない。
【発明の効果】
【0014】
本発明によれば、第1デバイスと第2デバイスの間で1本の信号線だけを用いて双方向のシリアル通信を行うことができ、第2デバイスにて第1デバイスから送信された情報の誤りを検出することができる。
【図面の簡単な説明】
【0015】
【図1】本発明の通信システムの一実施形態のブロック構成図である。
【図2】電池監視ICと保護ICの信号入出力部の一実施形態の回路構成図である。
【図3】制御コマンド送信モードの信号タイミングチャートである。
【図4】コマンド受信モードの信号タイミングチャートである。
【図5】割り込み受信モードの信号タイミングチャートである。
【図6】電池監視ICにおける状態遷移図である。
【図7】保護ICの信号入出力部の一実施形態の回路構成図である。
【図8】図7の各部の信号波形図である。
【図9】シフトレジスタの構成図である。
【図10】制御コマンド送信モードの図7の各部の信号波形図である。
【図11】状態問い合せコマンド受信モードの図7の各部の信号波形図である。
【図12】割り込み受信モードの図7の各部の信号波形図である。
【図13】保護ICが実行する信号出力処理のフローチャートである。
【図14】信号線における波形図である。
【図15】制御コマンド送信モードの第1実施形態における信号フォーマットである。
【図16】誤り検出処理の第1実施形態のフローチャートである。
【図17】制御コマンド送信モードの第2実施形態における信号フォーマットである。
【図18】誤り検出処理の第2実施形態のフローチャートである。
【発明を実施するための形態】
【0016】
以下、図面に基づいて本発明の実施形態について説明する。
【0017】
<通信システムのブロック構成>
図1は本発明の通信システムの一実施形態のブロック構成図を示す。図1において、端子B+,B−間にはリチウムイオン電池等の二次電池10が接続され、端子B+は端子P+に接続され、端子B−は抵抗R4及びMOSトランジスタM2及びM1を介して端子P−に接続されており、端子P+,P−間に負荷又は充電回路が接続される。
【0018】
第1デバイスである電池監視IC(Integrated Circuit:集積回路)11は抵抗R4の両端の電圧を端子VRSM,VRSFに供給され、端子VRSM,VRSFの電位差から二次電池10の充放電電流を検出する。また、二次電池10の電池電圧が保護IC12を介して端子VBATに供給され、電池監視IC11は端子VBATの電圧を二次電池10の電圧として検出する。また、電池監視IC11は端子VDDに保護IC12で安定化された電源を供給されている。電池監視IC11はマイクロコンピュータを内蔵し、二次電池10の充放電電流を積算してバッテリ残量を算出すると共に、二次電池10の過電圧検出及び充放電の過電流検出等を行い、その検出結果に基づいて保護IC12の制御を行う。
【0019】
第2デバイスである保護IC12は二次電池10から抵抗R3を介して端子VDDに供給される電圧を安定化して端子VREGOUTから電池監視IC11に供給する。また、端子VSENSEには抵抗R1を介して二次電池10の電池電圧が供給され、この電池電圧を分圧して端子VBATから電池監視IC11に供給する。また、保護IC12は端子VSENSEの電圧を過充電閾値及び過放電閾値と比較して、端子VSENSE電圧が過充電閾値を超えると、異常状態であるとしてMOSトランジスタM1をオフし、過放電閾値を下回ると、異常状態であるとしてMOSトランジスタM2をオフする。これと共に、保護IC12は電池監視IC11からの制御コマンドを内蔵する制御用レジスタに格納し、制御用レジスタの内容に従ってMOSトランジスタM1,M2のオン/オフを切り換えることで、二次電池10の充放電制御を行う。
【0020】
電池監視IC11の端子ICOMと保護IC12の端子ICOMは信号線13で接続されており、電池監視IC11と保護IC12との間で双方向の3値シリアル通信が行われる。
【0021】
<通信システムの入出力回路の構成>
図2は電池監視IC11と保護IC12の信号入出力部の一実施形態の回路構成図を示す。図2において、電池監視IC11の端子ICOMには電池監視IC11の入出力回路21が併設されている。入出力回路21内において、電池監視IC11の端子ICOMは抵抗R11を介して電源VDDに接続されると共に、抵抗R12を介してnチャネルMOSトランジスタM11のドレインに接続されており、MOSトランジスタM11のソースは電源VSSに接続されている。MOSトランジスタM11のゲートには通信制御回路22からミドルレベル出力信号が供給される。
【0022】
また、電池監視IC11の端子ICOMはnチャネルMOSトランジスタM12のドレインに接続されており、MOSトランジスタM12のソースは電源VSSに接続されている。MOSトランジスタM12のゲートには電池監視IC11内の通信制御回路22からローレベル出力信号が供給される。更に、電池監視IC11の端子ICOMはインバータ23を介して通信制御回路22に接続されている。インバータ23はミドルレベルとローレベルの中間電位である第1閾値を有しており、端子ICOMがローレベルのとき通信制御回路22にハイレベルを供給し、端子ICOMがミドルレベル又はハイレベルのとき通信制御回路22にローレベルを供給する。
【0023】
また、保護IC12の端子ICOMには入出力回路31が併設されている。入出力回路31内において、保護IC12の端子ICOMはnチャネルMOSトランジスタM13のドレインに接続されており、MOSトランジスタM13のソースは電源VSSに接続されている。MOSトランジスタM13のゲートには保護IC12内の通信制御回路32からローレベル出力信号が供給される。
【0024】
更に、保護IC12の端子ICOMはインバータ33,34を介して通信制御回路22に接続されている。インバータ33はミドルレベルとローレベルの中間電位である第1閾値を有しており、端子ICOMがローレベルのとき通信制御回路22にハイレベルを供給し、端子ICOMがミドルレベル以上のとき通信制御回路22にローレベルを供給する。インバータ34はハイレベルとミドルレベルの中間電位である第2閾値を有しており、端子ICOMがミドルレベル以下のとき通信制御回路22にハイレベルを供給し、端子ICOMがハイレベルのとき通信制御回路22にローレベルを供給する。
【0025】
ここで、電池監視IC11は端子ICOMからハイレベルの信号を出力する際にはMOSトランジスタM11,M12に値0の信号を供給し、端子ICOMからローレベルの信号を出力する際にはMOSトランジスタM11に値0、MOSトランジスタM12に値1の信号を供給する。また、電池監視IC11は端子ICOMからミドルレベルの信号を出力する際にはMOSトランジスタM11に値1、MOSトランジスタM12に値0の信号を供給する。
【0026】
また、保護IC12は端子ICOMがミドルレベルの期間に、端子ICOMからローレベルの信号を出力する際にはMOSトランジスタM13に値1の信号を供給する。
【0027】
<制御コマンド送信モード>
図3に電池監視IC11から保護IC12に制御コマンドを送信する制御コマンド送信モードの信号タイミングチャートを示す。
【0028】
まず、電池監視IC11は図3(A)に示すように、端子ICOMを所定期間τ/2(例えば数10μsec)だけミドルレベル(スタートビット)とし、次に端子ICOMを所定期間τ/2だけハイレベルとする。電池監視IC11はミドルレベルで制御コマンド送信モードを保護IC12に通知し、ミドルレベル及びハイレベルの期間τで1クロック周期を通知する。なお、図中の斜線部は、ミドルレベルとローレベルのいずれか一方であることを示す。
【0029】
この後、ミドルレベル又はローレベルの所定期間とハイレベルの所定期間を例えば14回繰り返すことでクロックを含み、図中(1)〜(14)で示すミドルレベル又はローレベルで14ビットの制御コマンドを送信する。各ビットはミドルレベルを値1とし、ローレベルを値0とする。ところで、上記14ビットのうち奇数ビット(1),(3),(5),(7),(9),(11)は制御コマンドの各ビット(データビット)の値であり、偶数ビット(2),(4),(6),(8),(10),(12)は先行する奇数ビット(1),(3),(5),(7),(9),(11)を反転した反転データビットである。そして、奇数ビット(13)は奇数ビット(1),(3),(5),(7),(9),(11)の奇数パリティとしてのチェックビットであり、偶数ビット(14)はチェックビットを反転した反転チェックビットである。すなわち、制御コマンドは実際にはチェックビットを含め7ビット構成である。なお、制御コマンドとしては、MOSトランジスタM1のオン/オフの制御、MOSトランジスタM2のオン/オフの制御等がある。
【0030】
その後、電池監視IC11が端子ICOMをミドルレベルとするタイミングで、保護IC12は図3(B)に(15)で示すように、端子ICOMを所定期間τ/2だけハイレベル又はローレベルとして、パリティビット(15)を電池監視IC11に通知する。このパリティビット(15)は受信した奇数ビット(1),(3),(5),(7),(9),(11),(13)から生成した奇数パリティの値である。ここでは、制御コマンドを正常受信した場合にパリティビット(15)をローレベルとし、正常受信できなかった場合にパリティビット(15)をハイレベルとしている。これにより、信号線13つまり電池監視IC11と保護IC12の端子ICOMは図3(C)に示す信号状態(信号フォーマット)となる。
【0031】
<状態問い合せコマンド受信モード>
図4に電池監視IC11から保護IC12に状態を問い合せ、保護IC12から送信される状態を電池監視IC11で受信するコマンド受信モードの信号タイミングチャートを示す。
【0032】
まず、電池監視IC11は図4(A)に示すように、端子ICOMを所定期間τ/2だけローレベルとし、次に端子ICOMを所定期間τ/2だけハイレベルとする。電池監視IC11はローレベル(スタートビット)とすることで保護IC12に状態問い合せコマンド受信モードを通知し、ミドルレベル及びハイレベルの期間τで1クロック周期を通知する。この後、ミドルレベルの所定期間とハイレベルの所定期間を例えば14回繰り返すことでクロックを送信する。
【0033】
その後、電池監視IC11が端子ICOMをミドルレベルとするタイミングで、保護IC12は図4(B)に(1)〜(14)で示すハイレベル又はローレベルで14ビットのステータスを送信する。各ビットはハイレベルを値1とし、ローレベルを値0とする。ところで、上記14ビットのうちビット(1)〜(13)はステータスの各ビット(データビット)の値であり、ビット(14)はビット(1)〜(13)の奇数パリティとしてのチェックビットである。すなわち、制御コマンドは実際にはチェックビットを含め14ビット構成である。これにより、信号線13つまり電池監視IC11と保護IC12の端子ICOMは図4(C)に示す信号状態(信号フォーマット)となる。なお、ステータスとしては、MOSトランジスタM1のオン/オフ状態、MOSトランジスタM2のオン/オフの状態等がある。
【0034】
<割り込み受信モード>
図5に保護IC12から電池監視IC11に割り込みを行い、保護IC12から送信される状態を電池監視IC11で受信する割り込み受信モードの信号タイミングチャートを示す。
【0035】
まず、保護IC12は図5(B)に示すように端子ICOMを所定期間τ/2だけローレベルとする。保護IC12はローレベル(スタートビット)とすることで電池監視IC11に割り込み受信モードであることを通知する。
【0036】
これを受けて電池監視IC11は図5(A)に示すように、端子ICOMを所定期間τ/2だけローレベルとし、次に端子ICOMを所定期間τ/2だけハイレベルとすること例えば14回繰り返すことでクロックを送信する。
【0037】
その後、電池監視IC11が端子ICOMをミドルレベルとするタイミングで、保護IC12は図5(B)に(1)〜(14)で示すハイレベル又はローレベルで14ビットのステータスを送信する。各ビットはハイレベルを値1とし、ローレベルを値0とする。ところで、上記14ビットのうちビット(1)〜(13)はステータスの各ビット(データビット)の値データであり、ビット(14)はビット(1)〜(13)の奇数パリティとしてのチェックビットである。すなわち、制御コマンドは実際にはチェックビットを含め14ビット構成である。これにより、信号線13つまり電池監視IC11と保護IC12の端子ICOMは図5(C)に示す信号状態(信号フォーマット)となる。
【0038】
<電池監視ICの状態遷移図>
図6に電池監視IC11における状態遷移図を示す。図6において、初期状態は0シーケンスである。電池監視IC11において制御コマンド送信モードが開始されると、0シーケンスからT1シーケンスに遷移し、問題がなければクロック周期でT1シーケンス〜TENDシーケンスを順に経由して0シーケンスに戻る。
【0039】
また、電池監視IC11において状態問い合せコマンド受信モードが開始されると、0シーケンスからR1シーケンスに遷移し、問題がなければクロック周期でR1シーケンス〜RENDシーケンスを順に経由して0シーケンスに戻る。
【0040】
また、電池監視IC11が端子ICOMのローレベルを検出すると、割り込み受信モードとなり、電池監視IC11は0シーケンスからI1シーケンスに遷移し、I1シーケンスからI2シーケンス、R3シーケンス〜RENDシーケンスを順に経由して0シーケンスに戻る。
【0041】
ここで、T1シーケンス、T2シーケンス、R1シーケンス、R2シーケンスのいずれかにおいて、電池監視IC11が端子ICOMのローレベルを検出するとJ1シーケンスに遷移する。これは、制御コマンド送信モード又は状態問い合せコマンド受信モードと割り込み受信モードが競合した場合に発生する。
【0042】
本実施形態ではこの競合を回避するため、割り込み受信モードの優先度を制御コマンド送信モード又は状態問い合せコマンド受信モードより高く設定している。これにより、競合によるJ1シーケンスからI2シーケンスに遷移し、その後、R3シーケンス〜RENDシーケンスを順に経由して0シーケンスに戻る。
【0043】
<保護ICの信号入出力部の構成>
図7は保護IC12の信号入出力部の一実施形態の回路構成図を示す。図7において、図2と同一部分には同一符号を付す。図7において、保護IC12の端子ICOMからの入力信号はインバータ33,34を介して通信制御回路32に供給される。
【0044】
通信制御回路32はインバータ33から供給される入力信号のクロックを分離し、分離したクロックに同期して、14ビットのステータスのうちローレベル出力とするべきタイミングで図8(A)に示すようにハイレベル期間がτ/2のパルス信号を出力する。この通信制御回路32が出力するパルス信号はインバータ42,43,44,45を通してノア回路46に供給されると共に、ノア回路47に供給される。
【0045】
インバータ43,44の接続点はコンデンサC1にて接地されており、上記パルス信号によりコンデンサC1の電圧は図8(B)に示すように傾斜波形となる。これにより、インバータ45の出力信号は図8(C)に示すようにパルス幅が縮小される。
【0046】
ノア回路46の出力はMOSトランジスタM13のゲートに供給されると共にノア回路47の入力端子に供給され、ノア回路47の出力はノア回路47の入力端子に供給されている。このため、ノア回路46の出力は図8(D)に示すように通信制御回路32の出力パルス信号よりパルス幅が狭くなる。このノア回路46の出力するパルス信号のハイレベル期間にMOSトランジスタM13がオンすることで、端子ICOMは図8(E)に示すようにクロックに同期してローレベルとなる。つまり、図8(E)のローレベル期間は通信制御回路32の出力パルス信号のパルス幅(τ/2)よりパルス幅が狭くなる。もし、保護IC12の出力する図8(E)のローレベル期間がτ/2であれば、電池監視IC11がミドルレベルで出力するクロックの情報が全て消失してしまう。このため、上記ミドルレベルのクロック情報が全て消失しないように、図8(E)のローレベル期間をτ/2より狭くしている。
【0047】
ここで、図7に示す通信制御回路32には図9に示すシフトレジスタが設けられている。シフトレジスタはn段のD型フリップフロップ100−1〜100−nと各フリップフロップのD入力端子に接続されたスイッチ101−1〜101−nから構成されている。スイッチ101−1〜101−nは端子102に例えば値0の信号が供給されたときに端子103−1〜103−n側に接続され、端子103−1〜103−nから供給されるnビットのステータスが端子105からのクロックの入力によりフリップフロップ100−1〜100−nにセットされる。
【0048】
その後、端子102は値1となり、スイッチ101−1はフリップフロップ100−1のD入力端子を端子104に接続し、スイッチ101−2〜101−nはフリップフロップ100−2〜100−nのD入力端子を前段のフリップフロップ100−1〜100−n−1のQ出力端子に接続してシフトレジスタを構成する。端子105には通信制御回路32が端子ICOMの入力信号から分離したクロックが入力され、フリップフロップ100−1〜100−nのクロック入力端子に供給される。このクロックの入力により、フリップフロップ100−1〜100−nにセットされているnビットのステータスはフリップフロップを順にシフトされて端子106よりシリアルに出力される。
【0049】
図10(A)〜(E)に制御コマンド送信モードにおける図7のインバータ42入力、コンデンサC1の電圧、インバータ45出力、ノア回路47出力、端子ICOMそれぞれの波形図を示す。ここでは、保護IC12が端子ICOMからローレベル出力を行うためにインバータ42に図10(A)に示すハイレベルのパルスP1を供給すると、端子ICOMは図10(E)に示すようにパルスP1の期間τ/2の前半はローレベルとなり、その後ミドルレベルとなる。
【0050】
図11(A)〜(E)に状態問い合せコマンド受信モードにおける図7のインバータ42入力、コンデンサC1の電圧、インバータ45出力、ノア回路47出力、端子ICOMそれぞれの波形図を示す。ここでは、保護IC12が端子ICOMからローレベル出力を行うためにインバータ42に図11(A)に示すハイレベルのパルスP2〜P5を供給すると、端子ICOMは図11(E)に示すようにパルスP2〜P5の各期間τ/2の前半はローレベルとなり、その後ミドルレベルとなる。
【0051】
図12(A)〜(E)に割り込み受信モードにおける図7のインバータ42入力、コンデンサC1の電圧、インバータ45出力、ノア回路47出力、端子ICOMそれぞれの波形図を示す。ここでは、保護IC12が端子ICOMからローレベル出力を行うためにインバータ42に図12(A)に示すハイレベルのパルスP6〜P9を供給すると、端子ICOMは図12(E)に示すようにパルスP6〜P9の各期間τ/2の前半はローレベルとなり、その後ミドルレベルとなる。
【0052】
<保護ICの信号出力処理>
図13は保護IC12が実行する信号出力処理のフローチャートを示す。図13において、定常状態ではステップS1で保護状態が変化したか、つまり、保護状態が定常状態から異常状態等になったか否かを判別する。保護状態の変化がなければ、ステップS2で端子ICOMから入力信号があるか否かを判別し、入力信号がなければステップS1に進む。
【0053】
ステップS1で保護状態の変化があったと判別された場合にはステップS3で1パルス目をローレベルとして端子ICOMから出力し、電池監視IC11に割り込み受信モードであることを通知してステップS2に進む。そして、ステップS2で入力信号がある場合には、ステップS4で端子ICOMにおける1パルス目がミドルレベルであるか否かを判別する。
【0054】
ステップS4で1パルス目がミドルレベルでなければ状態問い合せコマンド受信モード又は割り込み受信モードであるので、ステップS5でステータスの出力を認識し、ステップS6でクロックに合わせてステータスの各ビットを送信する。次に、ステップS7で直前のパルス入力から一定期間(例えばτの数倍〜10数倍程度)を経過しても次のパルス入力がないか否かを判別する。
【0055】
一定期間を超えて次のパルス入力がない場合は、ステップS3で出力したローレベルが電池監視IC11で認識されていないとみなして再びステップS3に進み、ステップS3の処理を繰り返す。一定期間内に次のパルス入力がある場合はステップS8でハイレベルのパルスを15個カウントし、その間に14ビットのステータス送信を完了することで定常状態に戻る。
【0056】
一方、ステップS4で1パルス目がミドルレベルであれば制御コマンド送信モードであるので、ステップS9で電池監視IC11から送信される制御コマンドの各ビットを受信して入力する。次に、ステップS10で奇数ビット(1),(3),(5),(7),(9),(11),(13)それぞれが偶数ビット(2),(4),(6),(8),(10),(12),(14)と一致し、かつ、奇数ビット(1),(3),(5),(7),(9),(11)から演算した奇数パリティと、奇数ビット(13)のチェックビットが一致するか否かを判別する。そして、一致の場合つまりパリティが合っている場合は、ステップS11で端子ICOMからローレベルを出力して電池監視IC11に正常受信を通知して、定常状態に戻る。不一致の場合つまりパリティが合っていない場合は、ステップS12で端子ICOMからローレベルを出力して、電池監視IC11に受信異常を通知して定常状態に戻る。これにより、1本の信号線を用いて双方向のシリアル通信を行うことができる。
【0057】
なお、上記の説明では、電池監視IC11からハイレベルとミドルレベルでクロックを送信し保護IC12からローレベルの信号を送信して双方向通信を行っているが、電池監視IC11からローレベルとミドルレベルでクロックを送信し保護IC12からハイレベルの信号を送信して双方向通信を行っても良い。
【0058】
<ノイズ混入>
図14に信号線13における波形図を示す。図14において、非通信時に負極性パルスのノイズN1が混入すると、電池監視IC11は割り込み受信モードが開始されたと誤認識し、保護IC12は状態問い合せコマンド受信モードが開始されたと誤認識する。これにより、電池監視IC11は通信が完了するまで自動的に一定周期でクロックを出力し、保護IC12は上記クロックのミドルレベル期間に合わせてステータスの出力を行う。
【0059】
電池監視IC11が出力する1番目のミドルレベルM1と2つめのミドルレベルM2の間に、再び負極性パルスのノイズN2が混入したものとする。このとき、電池監視IC11はこのノイズN2によってシーケンスを進めることはない。しかし、保護IC12は上記ノイズN2を電池監視IC11からミドルレベル出力がなされたものと誤認識してシーケンスを進める。これは、保護IC12は信号線13の電圧が第2閾値以下の場合にミドルレベルと認識し、このミドルレベルに同期して通信を行うためである。
【0060】
電池監視IC11は割り込み受信モードの通信終了までクロックを出力し、その後は非通信状態であると認識する。保護IC12は電池監視IC11が出力したクロックのパルス数より1回多く信号線13のミドルレベル出力を検出しているので、電池監視IC11の14回目のミドルレベルM14の出力後に非通信状態であると認識し、次の電池監視IC11が出力するミドルレベルM15を制御コマンド送信モードの開始信号であると誤認識する。
【0061】
電池監視IC11は上記ミドルレベルM15の出力を行って数クロック後に、状態問い合せコマンド受信モードを開始したとする。このとき、保護IC12は状態問い合せコマンド受信モードではなく、制御コマンド送信モードの最中であると認識している。このような現象により、保護IC12のレジスタに誤った値の制御コマンドが書き込まれてしまうおそれがある。
【0062】
しかし、本実施形態では、後述する誤り検出処理を実行することで、保護IC12のレジスタへの誤った書き込みを防いでいる。
【0063】
制御コマンド送信モードにおけるパリティビットは、保護IC12が正しくデータを受信できている場合は常に値0となる。ただし、通信中にノイズなどの影響で誤った受信を行った際には値1となりうるので、制御コマンド送信モードで電池監視IC11が値1のパリティビットを受信した場合、電池監視IC11はこれを通信時エラーと認識する。
【0064】
<誤り検出処理の第1実施形態>
図15に制御コマンド送信モードの第1実施形態における信号フォーマットを示す。図15は図3(C)に対応している。図15では電池監視IC11が最初に出力するミドルレベルをスタートビットSとして示し、奇数ビット(1)をデータビットD1、偶数ビット(2)を反転データビット/D1(/は反転を示す)として示し、以下同様にして、奇数ビット(11)をデータビットD6、偶数ビット(12)を反転データビット/D6として示す。また、奇数ビット(13)をチェックビットC、偶数ビット(14)を反転チェックビット/Cとして示す。また、保護IC12が出力するパリティビット(15)をパリティビットPとして示している。
【0065】
図16は保護IC12が実行する誤り検出処理の第1実施形態のフローチャートを示す。図16において、ステップS21でビットD1を受信してレジスタ#1に保持する。ステップS22でビット/D1を受信する。ステップS23でビット/D1の値がレジスタ#1に保持されている値を反転した値と同一であるか否かを判別し、同一であればステップS24に進み、同一でなければステップS36に進む。
【0066】
ステップS24ではビットD2を受信してレジスタ#2に保持する。ステップS25でビット/D2を受信する。ステップS26でビット/D2の値がレジスタ#2に保持されている値を反転した値と同一であるか否かを判別し、同一でなければステップS36に進む。
【0067】
ステップS26で同一であれば、ビットD3〜D5とビット/D3〜/D5についてもステップS21〜S23と同様の処理を行って、ビットD3〜D5それぞれがビット/D3〜/D5と同一であればステップS27に進み、同一でなければステップS36に進む。
【0068】
次に、ステップS27でビットD6を受信してレジスタ#6に保持する。ステップS28でビット/D6を受信する。ステップS29でビット/D6の値がレジスタ#2に保持されている値を反転した値と同一であるか否かを判別し、同一であればステップS30に進み、同一でなければステップS36に進む。
【0069】
ステップS30でビットCを受信してレジスタ#7に保持する。ステップS31でビット/Cを受信する。ステップS32でビット/Cの値がレジスタ#7に保持されている値を反転した値と同一であるか否かを判別し、同一であればステップS33に進み、同一でなければステップS36に進む。次に、ステップS33でレジスタ#7に保持されている値が、レジスタ#1〜#6に保持されている値の奇数パリティの値と同一であるか否かを判別し、同一の場合はステップS34に進み、同一ではない場合はステップS36に進む。
【0070】
ステップS34ではレジスタ#1〜#6に保持されている値を保護IC12の制御用レジスタに転送する。次に、ステップS35で電池監視IC11から供給されるクロックに合わせて端子ICOMからローレベル出力を行って処理を終了する。
【0071】
一方、ステップS36では電池監視IC11から供給されるクロックが15パルス供給されるまで待機する。次に、ステップS37で電池監視IC11から供給されるクロックに合わせて端子ICOMからローレベル出力を行わないで処理を終了する。このようにして、保護IC12の制御レジスタへの誤書き込みを防ぐことができる。
【0072】
ところで、電池監視IC11が制御コマンド送信モードを開始すると同時に保護IC12が割り込み受信モードを開始した場合には競合が生じ、制御コマンド送信モードと割り込み受信モードでフレーム長が異なるため、保護IC12が通信途中であると認識したまま通信が中断されてしまうおそれがある。これは図14のノイズ混入の場合と類似している。このとき、別の通信が開始された場合は保護IC12の制御ビットに誤ったデータが書き込まれるおそれがある。しかし、本実施形態の図3に示す信号フォーマットでは、電池監視IC11から正信号であるデータビットD1〜D6と反転信号である反転データビット/D1〜/D6のペアが出力されるのは制御コマンド送信モードだけであるので、保護IC12側で通信に異常があることを検出して、制御用レジスタに書き込まれないようにすることができる。
【0073】
<誤り検出処理の第2実施形態>
図17に制御コマンド送信モードの第2実施形態における信号フォーマットを示す。図17(A)では電池監視IC11はスタートビットSに続いて、データビットD1〜D6を出力し、上記データビットD1〜D6の奇数パリティであるチェックビットCを出力する。その後、値0(ローレベル)で固定ビット0を出力する。更に、データD1を再び出力し、反転データビット/D2〜/D6を出力し、反転した奇数パリティである反転チェックビット/Cを出力する。その後、保護IC12は受信した上記データビットD1〜D6及びチェックビットCの奇数パリティであるパリティビットPを出力する。
【0074】
なお、図17(A)の代りに、図17(B)に示すように、データビットD2〜D6,C,D1の順に出力し、固定ビット0を出力したのち、データビットD2,反転データビット/D3〜/D6,反転チェックビット/C,反転データビット/D1の順に出力するように変形した構成としても良い。
【0075】
図18は保護IC12が実行する誤り検出処理の第2実施形態のフローチャートを示す。この処理は図17(A)に示す信号フォーマットに対応している。図18において、ステップS41でビットD1〜D6を受信してレジスタ#1〜#6に保持する。ステップS42でビットCを受信してレジスタ#1〜#6に保持する。更に、ステップS43でビット0を受信してレジスタ#8に保持する。ステップS42でビット0に続くビットD1を受信する。
【0076】
ステップS45ではステップS44で受信したビットD1の値がレジスタ#1に保持されている値と同一であるか否かを判別し、同一であればステップS46に進み、同一でなければステップS55に進む。
【0077】
ステップS46ではビット/D2〜/D6を受信する。ステップS47でビット/D2〜/D6それぞれの値がレジスタ#2〜#6それぞれに保持されている値を反転した値と同一であるか否かを判別し、同一であればステップS48に進み、同一でなければステップS55に進む。
【0078】
ステップS48ではビット/Cを受信し、ステップS49でビット/Cの値がレジスタ#7に保持されている値を反転した値と同一であるか否かを判別し、同一であればステップS51に進み、同一でなければステップS55に進む。
【0079】
ステップS51でレジスタ#7に保持されている値が、レジスタ#1〜#6に保持されている値の奇数パリティの値と同一であるか否かを判別し、同一の場合はステップS52に進み、同一ではない場合はステップS55に進む。ステップS52ではレジスタ#8に保持されている値が0であるか否かを判別し、レジスタ#8の値が0であればステップS53に進み、0でなければステップS55に進む。
【0080】
ステップS53ではレジスタ#1〜#6に保持されている値を保護IC12の制御用レジスタに転送する。次に、ステップS54で電池監視IC11から供給されるクロックに合わせて端子ICOMからローレベル出力を行って処理を終了する。
【0081】
一方、ステップS55では電池監視IC11から供給されるクロックが16パルス供給されるまで待機する。次に、ステップS56で電池監視IC11から供給されるクロックに合わせて端子ICOMからローレベル出力を行わないで処理を終了する。このようにして、保護IC12のレジスタへの誤った書き込みを防ぐことができる。
【0082】
図15に示す信号フォーマットではD1〜D6が0,1交番パターンのような場合に、電池監視IC11と保護IC12でシーケンスのずれが生じた場合に、シーケンスのずれを保護IC12側で検出できない場合がありうる。しかし、図17(A),(B)に示す信号フォーマットを用いることで、電池監視IC11と保護IC12でシーケンスのずれが生じた場合に、保護IC12側で誤りを確実に検出することができる。
【符号の説明】
【0083】
10 二次電池
11 電池監視IC
12 保護IC
21,31 入出力回路
24,33,42〜45 インバータ
41 論理回路
46,47 ノア回路
M11〜M13 MOSトランジスタ
R11,R12 抵抗


【特許請求の範囲】
【請求項1】
第1デバイスと第2デバイス間を1本の信号線で接続し、互いにレベルの異なる第1レベルと第2レベル、及び前記第1レベルと第2レベルの中間レベルを用いてシリアル通信を行う通信システムであって、
前記第1デバイスから前記第2デバイスに第1の通信フォーマットで情報をクロックと共に送信する第1モードと、
前記第2デバイスから前記第1デバイスに第2の通信フォーマットで情報を送信する第2モードを有し、
前記第1の通信フォーマットは、スタートビットに続いて、複数のデータビット及び複数の反転データビットと、前記複数のデータビットから生成したチェックビット及び反転チェックビットを有し、
前記第2の通信フォーマットは、スタートビットに続いて、複数のデータビットと、前記複数のデータビットから生成したチェックビットを有する
ことを特徴とする通信システム。
【請求項2】
請求項1記載の通信システムにおいて、
前記第1の通信フォーマットは、データビットと反転データビットを交互に配置した、
ことを特徴とする通信システム。
【請求項3】
請求項1記載の通信システムにおいて、
前記第1の通信フォーマットは、前記複数のデータビット及び前記チェックビット、固定ビット、前記複数のデータビットの一部及び前記複数のデータビットの一部の残りの反転データビット及び前記反転チェックビットを順に配置した、
ことを特徴とする通信システム。
【請求項4】
第1デバイスと第2デバイス間を1本の信号線で接続し、互いにレベルの異なる第1レベルと第2レベル、及び前記第1レベルと第2レベルの中間レベルを用いてシリアル通信を行う通信方法であって、
前記第1デバイスから前記第2デバイスに第1の通信フォーマットで情報をクロックと共に送信する第1モードと、
前記第2デバイスから前記第1デバイスに第2の通信フォーマットで情報を送信する第2モードを有し、
前記第1の通信フォーマットは、スタートビットに続いて、複数のデータビット及び複数の反転データビットと、前記複数のデータビットから生成したチェックビット及び反転チェックビットを有し、
前記第2の通信フォーマットは、スタートビットに続いて、複数のデータビットと、前記複数のデータビットから生成したチェックビットを有する
ことを特徴とする通信方法。
【請求項5】
第1デバイスと第2デバイス間を1本の信号線で接続し、互いにレベルの異なる第1レベルと第2レベル、及び前記第1レベルと第2レベルの中間レベルを用いてシリアル通信を行う通信システムの第1デバイスであって、
前記第2デバイスに第1の通信フォーマットで情報をクロックと共に送信する送信手段と、
前記第2デバイスから第2の通信フォーマットで送信される情報を受信する受信手段と、を有し、
前記第1の通信フォーマットは、スタートビットに続いて、複数のデータビット及び複数の反転データビットと、前記複数のデータビットから生成したチェックビット及び反転チェックビットを有し、
前記第2の通信フォーマットは、スタートビットに続いて、複数のデータビットと、前記複数のデータビットから生成したチェックビットを有する
ことを特徴とする第1デバイス。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate


【公開番号】特開2012−169953(P2012−169953A)
【公開日】平成24年9月6日(2012.9.6)
【国際特許分類】
【出願番号】特願2011−30413(P2011−30413)
【出願日】平成23年2月16日(2011.2.16)
【出願人】(000006220)ミツミ電機株式会社 (1,651)
【Fターム(参考)】