(57)【要約】      （修正有）【課題】ロバスト性および有用性を保障しつつ合理化を実現する半導体装置、電力量計、およびプログラムを提供する。【解決手段】半導体装置は、電力使用量の計量を行い、第１のプロセッサ１１により制御される計量部１０と、第１のプロセッサ１１と異なる第２のプロセッサ２１により制御される通信を行う通信部２０と、計量部１０と通信部２０とを結ぶ経路とを備え、計量部１０の内部バスＢ１と通信部２０の内部バスＢ２は完全に分離される。計量部１０側のプロセッサ１１は、通信部２０からシリアル伝送線３０ａを通じて計量部１０に対してある要求（コマンド等）が送られてきた場合に、予め所定の記憶領域（例えばフラッシュＲＯＭ１３）に格納されている情報との照合を行い、当該要求が適正なものであるか否かを判定し、判定結果に応じた適切な処理を行う。【選択図】図２
2016164506.tif 000002
【特許請求の範囲】
【請求項１】
電力使用量の計量を行い、第１のプロセッサにより制御される計量部と、
前記第１のプロセッサと異なる第２のプロセッサにより制御される通信を行う通信部と、
前記計量部と前記通信部とを結ぶ経路と、
を備える半導体装置。
【請求項２】
前記第１のプロセッサは、前記通信部からの要求が所定の条件を満たすか否かの判断し、前記所定の条件を満たす場合、前記要求に応答する請求項１記載の半導体装置。
【請求項３】
前記第１のプロセッサは、前記所定の条件を満たさない場合、エラーを示す情報を記憶領域に記録することを特徴とする請求項２に記載の半導体装置。
【請求項４】
前記経路は、前記計量部および前記通信部のそれぞれがデータの読み書きを行える共有メモリを備え、
前記計量部と前記通信部との間のデータの伝送が前記共有メモリに対する読み書きを通じて行われることを特徴とする請求項１乃至３のいずれか１項に記載の半導体装置。
【請求項５】
前記計量部と前記通信部とが、共通の電源を使用するように構成されていることを特徴とする請求項１乃至４のいずれか1項に記載の半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本実施形態は、半導体装置に関する。
【背景技術】
【０００２】
従来から存在するアナログ式誘導型電力量計とは異なる次世代の電力量計として、検針業務の自動化や電気使用状況の見える化などを可能にするスマートメータが普及しつつある。スマートメータは、需要家宅の電力使用量をディジタル値で計量する計量部（計量ユニット）を搭載した計量用ボードを備えるほか、計量部により計量された電力使用量を示すデータを電力会社等に送信したり需要家宅のエネルギー管理を行うシステムと通信したりする通信部（通信ユニット）を搭載した通信用ボードを備えている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−１２６２０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ロバスト性（robustness）および有用性（availability）を保障しつつ合理化（rightsizing）を実現する半導体装置、電力量計、およびプログラムを提供する。
【課題を解決するための手段】
【０００５】
実施形態の半導体装置は、電力使用量の計量を行い、第１のプロセッサにより制御される計量部と、前記第１のプロセッサと異なる第２のプロセッサにより制御される通信を行う通信部と、前記計量部と前記通信部とを結ぶ経路と、を備える。
【図面の簡単な説明】
【０００６】
【図１】各実施形態に共通するスマートメータ（電力量計）の概略構成を示す図である。
【図２】第１の実施形態に係る半導体装置に封入される集積回路の概略構成を示す図である。
【図３】同実施形態において通信部から計量部に対してデータの送信要求があった場合の動作の一例を示すシーケンス図である。
【図４】同実施形態において通信部から計量部に対してプログラムの更新要求があった場合の動作の一例を示すシーケンス図である。
【図５】第２の実施形態に係る半導体装置に封入される集積回路の概略構成を示す図である。
【図６】同実施形態において通信部から計量部に対してデータの送信要求があった場合の動作の一例を示すシーケンス図である。
【図７】同実施形態において通信部から計量部に対してプログラムの更新要求があった場合の動作の一例を示すシーケンス図である。
【発明を実施するための形態】
【０００７】
以下、図面を参照して実施の形態について説明する。なお、以下の説明において、同一の機能及び構成を有する構成要素については、共通する参照符号を付す。
【０００８】
電力量計などの取引に使用される計器は、適切な計量を保証する必要があることから、計量法で規定された構造・性能に関する検定を受けることが義務付けられている。特に計量部は、検針や課金に関わる重要な処理を行う部分であるため、外部からの不正アクセスによるデータ読み取りやソフトウェア改変を防止できる堅牢さ（ロバスト性）が要求される。
【０００９】
その一方で、スマートメータにおいては、その通信部の通信機能を活かし、外部から更新プログラムを供給するなどして計量部のソフトウェアの機能拡張や不具合修正を行えるようにするといった使い勝手の良さ（有用性）も求められる。
【００１０】
最近では、上述したロバスト性および有用性の２つの要求に加え、計量用ボード上の計量部の機能と通信用ボード上の通信部の機能とを統合することにより、装置の合理化、特に小型化（downsizing）を図ることが求められている。しかし、合理化のために両機能を統合しようとすると、計量部の通信部からの独立性が薄れる可能性があり、これにより計量部のロバスト性が損なわれる可能性がある。一方、ロバスト性を強化し過ぎると、有用性が損なわれる可能性もある。
【００１１】
以下に説明する実施形態は、上で述べたようなロバスト性および有用性を保障しつつ合理化を実現することを可能とするものである。
（各実施形態に共通する事項）
図１は、各実施形態に共通するスマートメータ（電力量計）の概略構成を示す図である。
【００１２】
図１に示されるスマートメータ（電力量計）１は、半導体装置２、電源３、センサ４、信号調整回路５、ＬＣＤ（Liquid Crystal Display）６、ＨＡＮ（Home Area Network）通信装置７、ＮＡＮ（Neighborhood Area Network）通信装置８等を備えている。
【００１３】
半導体装置２は、集積回路（ＩＣ：Integrated Circuit）９をパッケージに封入した１チップの装置であり、計量法で規定された構造・性能に関する検定の合格後に封印がなされたものである。
【００１４】
上記集積回路９は、需要家宅の電力使用量の計量を行う計量部１０、および当該半導体装置２の外側との通信を行う通信部２０を含む。計量部１０と通信部２０は、１チップの半導体装置２であるが、それぞれ独立したプロセッサで制御されている。計量部１０と通信部２０とがそれぞれ備えている各種の機能の一部もしくは全部は、プロセッサに実現させるためのプログラムとして構築されてもよい。また、計量部１０と通信部２０とは、それぞれ独立して配置されるが、集積回路９において共通の電源を使用し、かつ、共通のクロックを使用するように構成されている。なお、各々異なる電源又はクロックを使用してもよい。
【００１５】
上記集積回路９は、計量部１０と通信部２０とを結ぶ経路（チップ内配線）３０をさらに含む。経路３０は、計量部１０と通信部２０との間のコマンド伝送、および、計量部１０と通信部２０との間のデータ伝送を担う伝送線を含む。但し、計量部１０は、経路３０を通じて通信部２０から計量部１０へ送られる要求のうち予め定められた条件を満たす要求のみを受け入れる制御を行う。また、計量部１０は、通信部２０からの要求が適正でないと判断した場合、その事象をエラーログとして所定の記憶領域（例えば、計量部１０に設けられるインフェースに接続される外部記憶装置など）に記録し、計量部１０は通信部２０に対して応答をしない。記録したエラーログを読み出して解析することにより、不正アクセスが発生した要因などを把握することができるようになっている。
【００１６】
電源３は、計量部１０および通信部２０の動作に必要な電力を供給する。  
センサ４は、需要家宅で使用される電気の電流、電圧を検出し、検出結果をアナログ信号として出力する。
【００１７】
信号調整回路５は、例えばＡＦＥ（Analog Front End）回路に相当するものであり、アナログ信号を増幅するアンプ、雑音を低減するフィルタ、アナログ信号をディジタル信号に変換するＡ／Ｄコンバータ等から構成される。この信号調整回路５は、センサ４から供給されるアナログ信号を計量部１０が扱えるディジタル値の信号に変換・調整した上で計量部１０へ出力する。
【００１８】
ＬＣＤ６は、計量部１０から供給される電力使用量などの情報を表示する。  
ＨＡＮ通信装置７は、需要家宅のエネルギー管理を行うＨＥＭＳ（Home Energy and Energy Management System）や電力使用状況を表示するＩＨＤ（In-Home Display）との通信を行う。
【００１９】
ＮＡＮ通信装置８は、電力会社の通信網に接続し、電力使用量を示すデータを含む各種の情報を電力会社へ送信したり、逆に電力会社から送られてくる各種の情報を取り込んだりする。
【００２０】
計量部１０の主要部１０Ａには、プロセッサ１１、ＤＭＡＣ（Direct Memory Access Controller）１２、フラッシュＲＯＭ（Read Only Memory）１３、ＲＡＭ（Random Access Memory）１４、内部インタフェース部１５、ＲＴＣ（Real Time Clock）１６等が備えられる。また、計量部１０のペリフェラル（Peripherals）１０Ｂには、ＳＳＰ（Synchronous Serial Port）インフェース部１７、ＵＡＲＴ（Universal Asynchronous Receiver-Transmitter）インタフェース部１８、ＬＣＤインフェース部１９等が備えられる。
【００２１】
プロセッサ１１は、計量部１０全体の動作を司るものであり、通信部２０とは独立している。プロセッサ１１は、フラッシュＲＯＭ１３に格納されているプログラムを実行することにより各種の制御を行う。例えば、プロセッサ１１は、各種の処理を実行するための作業エリアとしてＲＡＭ１４の記憶領域を使用し、信号調整回路５からＳＳＰインタフェース部１７を通じて供給されるディジタル値の電流・電圧データに基づいて電力量（もしくは課金）の演算やその積算を含む計量の処理を行う。また、計量結果を含む各種の情報を所定の記憶領域（例えばフラッシュＲＯＭ１３）に格納したり、ＬＣＤインタフェース部１９を通じてＬＣＤ６に表示させたり、ＵＡＲＴインタフェース部１８あるいは内部インタフェース部１５を通じて経路３０経由で通信部２０へ送信したり、通信部２０から経路３０を通じて送られてくる要求（コマンド等）が適正であるか否かを判定して判定結果に応じた処理を行ったりする。
【００２２】
ＤＭＡＣ１２は、プロセッサ１１からのデータ転送指示があった場合に、プロセッサ１１を介さずに、フラッシュＲＯＭ１３やＲＡＭ１４などのメモリ間もしくはメモリと他のＩ／Ｏデバイスとの間のデータ転送を行う。
【００２３】
フラッシュＲＯＭ１３は、プロセッサ１１が実行する１つ又は複数のプログラムを格納する。
【００２４】
ＲＡＭ１４は、プロセッサ１１が各種の制御を行うための作業エリアを提供する。
【００２５】
内部インタフェース部１５は、計量部１０と通信部２０との間のデータ伝送用に独自に構築されたインタフェース機能である。例えば、内部インタフェース部１５は、通信部２０側の内部インタフェース部２５との間で通信を行い、一定の条件のもとで、計量部１０と通信部２０との間でデータをパラレル伝送方式で伝送することができる。なお、内部インタフェース部１５，２５は、必ずしも必要とされるものではない。計量部１０と通信部２０との間の通信は、内部インタフェース部１５，２５を使用する代わりに、後述するＵＡＲＴインタフェース部１８，２７を使用することによっても実現することができる。なお、実施形態では内部インタフェース１５，２５間はパラレル伝送方式で説明するが、これに限定されない。シリアル伝送方式など他の伝送方式であってもよい。
【００２６】
ＲＴＣ１６は、計量部１０および通信部２０の双方が使用するクロックを提供する。
【００２７】
ＳＳＰインフェース部１７は、ＳＰＩ（Serial Peripheral Interface）インタフェース機能およびＩ２Ｃ（Inter IC Communication）インタフェース機能を備えるが、本実施形態ではＳＰＩインタフェース機能の方を使用する場合を例示する。ＳＳＰインフェース部１７のＳＰＩインタフェース機能は、ＳＰＩの仕様に準拠したインタフェース機能であり、ＳＰＩの仕様に準拠する別のＳＰＩインタフェース機能との間で通信を行うことができる。例えば、ＳＳＰインフェース部１７のＳＰＩインタフェース機能は、信号調整回路５に備えられるＳＰＩインタフェース機能との間で通信を行い、信号調整回路５からシリアル伝送方式で送られてくるディジタル値の電流、電圧データを主要部１０Ａ側に取り込むことができる。
【００２８】
ＵＡＲＴインタフェース部１８は、ＵＡＲＴの仕様に準拠したインタフェース機能であり、ＵＡＲＴの仕様に準拠する別のＵＡＲＴインタフェース機能との間で通信を行うことができる。例えば、ＵＡＲＴインタフェース部１８は、通信部２０側のＵＡＲＴインタフェース部２７との間で通信を行い、一定の条件のもとで、計量部１０と通信部２０との間でデータをシリアル伝送方式で伝送することができる。
【００２９】
ＬＣＤインフェース部１９は、主要部１０Ａ側から供給される電力量などの情報をＬＣＤ６に表示させるためのインタフェース機能である。
【００３０】
一方、通信部２０の主要部２０Ａには、プロセッサ２１、ＤＭＡＣ２２、フラッシュＲＯＭ２３、ＲＡＭ２４、内部インタフェース部２５等が備えられる。また、通信部２０のペリフェラル２０Ｂには、ＳＳＰインフェース部２６、ＵＡＲＴインタフェース部２７等が備えられる。
【００３１】
プロセッサ２１は、通信部２０全体の動作を司るものであり、計測部１０とは独立している。プロセッサ２１は、フラッシュＲＯＭ２３に格納されているプログラムを実行することにより各種の制御を行う。例えば、プロセッサ２１は、各種の処理を実行するための作業エリアとしてＲＡＭ２４の記憶領域を使用し、一定の条件のもとで、ＨＡＮ通信装置７もしくはＮＡＮ通信装置８を通じて取り込まれる各種の情報をＵＡＲＴインタフェース部２７あるいは内部インタフェース部２５を通じて計量部１０へ経路３０経由で送信する。また、一定の条件のもとで、計量部１０から経路３０経由で送信されてくる各種の情報をＵＡＲＴインタフェース部２７あるいは内部インタフェース部２５を通じて受信したり、その受信した情報をＨＡＮ通信装置７もしくはＮＡＮ通信装置８を通じて外部ネットワークへ送信したりする。
【００３２】
ＤＭＡＣ２２は、プロセッサ２１からのデータ転送指示があった場合に、プロセッサ２１を介さずに、フラッシュＲＯＭ２３やＲＡＭ２４などのメモリ間もしくはメモリと他のＩ／Ｏデバイスとの間のデータ転送を行う。
【００３３】
フラッシュＲＯＭ２３は、プロセッサ２１が実行する１つ又は複数のプログラムを格納する。
【００３４】
ＲＡＭ２４は、プロセッサ２１が各種の制御を行うための作業エリアを提供する。
【００３５】
内部インタフェース部２５は、前述の内部インタフェース部１５と同様、計量部１０と通信部２０との間のデータ伝送用に独自に構築されたインタフェース機能である。例えば、内部インタフェース部２５は、計量部１０側の内部インタフェース部１５との間で通信を行い、一定の条件のもとで、計量部１０と通信部２０との間でデータをパラレル伝送方式で伝送することができる。
【００３６】
ＳＳＰインフェース部２６は、前述のＳＳＰインフェース部１７と同様、ＳＰＩインタフェース機能およびＩ２Ｃインタフェース機能を備えるが、本実施形態ではＳＰＩインタフェース機能の方を使用する場合を例示する。ＳＳＰインフェース部２６のＳＰＩインタフェース機能は、ＳＰＩの仕様に準拠したインタフェース機能であり、ＳＰＩの仕様に準拠する別のＳＰＩインタフェース機能との間で通信を行うことができる。例えば、ＳＳＰインフェース部２６のＳＰＩインタフェース機能は、ＮＡＮ通信装置７もしくはＮＡＮ通信装置８に備えられるＳＰＩインタフェース機能との間で通信を行い、主要部２０Ａ側から供給される各種の情報をＨＡＮ通信装置７もしくはＮＡＮ通信装置８へ送ることができる。
【００３７】
ＵＡＲＴインタフェース部２７は、前述のＵＡＲＴインタフェース部１８と同様、ＵＡＲＴの仕様に準拠したインタフェース機能であり、ＵＡＲＴの仕様に準拠する別のＵＡＲＴインタフェース機能との間で通信を行うことができる。例えば、ＵＡＲＴインタフェース部１８は、通信部２０側のＵＡＲＴインタフェース部２７との間で通信を行い、一定の条件のもとで、計量部１０と通信部２０との間でデータをシリアル伝送方式で伝送することができる。
【００３８】
上記経路３０を構築する具体的な手法としては、少なくとも２つが挙げられる。１つは、計量部１０側のＵＡＲＴインタフェース部１８と通信部２０側のＵＡＲＴインタフェース部２７とを通信できるようにすることであり、もう１つは、計量部１０側の内部インタフェース部１５と通信部２０側の内部インタフェース部２５とを通信できるようにすることである。以下、２つの具体的な手法について、第１の実施形態と第２の実施形態とに分けて詳細に説明する。
【００３９】
（第１の実施形態）
図１を参照すると共に図２乃至図４を参照して、第１の実施形態に係る半導体装置２に封入される集積回路９の構成およびその動作について説明する。なお、図１と共通する構成要素には同一の符号を付し、重複する説明を省略する。
【００４０】
図２は、第１の実施形態に係る半導体装置２に封入される集積回路９の概略構成を示す図である。ここでは、要点を理解しやすいものとするため、図１で説明した構成要素の一部の記載を省略している。
【００４１】
この第１の実施形態では、経路３０の具体例として、ＵＡＲＴの仕様に準拠したシリアル伝送線３０ａを設ける場合を例示する。このシリアル伝送線３０ａは、計量部１０のペリフェラル１０Ｂに備えられるＵＡＲＴインタフェース部１８と、通信部２０のペリフェラル２０Ｂに備えられるＵＡＲＴインタフェース部２７との間に接続される。
【００４２】
なお、計量部１０に備えられるプロセッサ１１、ＤＭＡＣ１２、フラッシュＲＯＭ１３、ＲＡＭ１４、内部インタフェース部１５、ペリフェラル１０Ｂ内のＵＡＲＴインタフェース部１８等の個々の要素は、内部バスＢ１を介して接続される。同様に、通信部２０に備えられるプロセッサ２１、ＤＭＡＣ２２、フラッシュＲＯＭ２３、ＲＡＭ２４、内部インタフェース部２５、ペリフェラル２０Ｂ内のＵＡＲＴインタフェース部２７等の個々の要素は、計量部１０の内部バスＢ１と異なる内部バスＢ２を介して接続される。内部バスＢ１と内部バスＢ２は完全に分離している。
【００４３】
このような構成において、計量部１０側のプロセッサ１１は、例えば通信部２０からシリアル伝送線３０ａを通じて計量部１０に対してある要求（コマンド等）が送られてきた場合に、予め所定の記憶領域（例えばフラッシュＲＯＭ１３）に格納されている情報との照合を行う。当該要求が適正なものであるか否かを判定し、判定結果に応じた適切な処理を行うことができる。以下、２つの動作例を挙げて説明する。
【００４４】
最初に、図３のシーケンス図を参照して、通信部２０から計量部１０に対してデータの送信要求があった場合の動作の一例を説明する。
【００４５】
ここでは、通信部２０が計量部１０に対して積算された電力使用量のデータの送信要求を定期的に行うものとする。なお、実際には、データの送信要求を行う前の処理として、割り込みの要求およびその応答の処理が存在するが、ここではその記載を省略している。
【００４６】
通信部２０は、所定の時刻になると、計量部１０に対する電力使用量のデータの送信要求を開始する（ステップＳ１１）。通信部２０は、例えば所定のコマンドに認証キーを付加したものをシリアル伝送線３０ａを通じて計量部１０へ送ることにより電力使用量のデータの送信要求を行う（ステップＳ１２）。
【００４７】
計量部１０は、電力使用量のデータの送信要求を受けると、その要求が適正なものであるか否かを判定する（ステップＳ１３）。例えば、計量部１０は、通信部２０から送られてきたコマンドおよび認証キーを、予め所定の記憶領域（例えばフラッシュＲＯＭ１３）に格納されている正規のコマンドおよび認証キーの組み合わせを示す情報と照合し、照合結果が一致を示すか否かを判定することにより、当該要求が適正なものであるか否かを判定する。
【００４８】
計量部１０は、要求が適正でないと判定した場合（ステップＳ１３のＮＧ）、エラーログとして、エラーの発生時刻やエラーを生じさせたコマンドおよび認証キーを示す情報などを所定の記憶領域に記録し（ステップＳ１４）、通信部２０に対して応答しない。記録したエラーログは、読み出して解析することにより、不正アクセスが発生した要因などを把握することができる。
【００４９】
一方、計量部１０は、要求が適正であると判定した場合（ステップＳ１３のＯＫ）、当該要求を受け入れる旨の応答と共に要求された電力使用量のデータを通信部２０へシリアル伝送線３０ａを通じて送信する（ステップＳ１５）。
【００５０】
通信部２０は、計量部１０から送られてきた応答および電力使用量のデータを受領する（ステップＳ１６）。  
これにより、一連の処理が完了する。
【００５１】
次に、図４のシーケンス図を参照して、通信部２０から計量部１０に対してプログラムの更新要求があった場合の動作の一例を説明する。
【００５２】
ここでは、通信部２０が計量部１０に対して、計量部１０が使用しているソフトウェアの機能拡張もしくは不具合修正を目的としてプログラムの更新要求を行うものとする。なお、実際には、プログラムの更新要求を行う前の処理として、割り込みの要求およびその応答の処理が存在するが、ここではその記載を省略している。
【００５３】
通信部２０は、例えばプログラム更新要求元からＮＡＮ通信装置８もしくはＨＡＮ通信装置７を通じてプログラム更新要求の連絡が入ると、計量部１０に対するプログラムの更新要求の処理を開始する（ステップＳ２１）。通信部２０は、例えば所定のコマンドに認証キーを付加したものを計量部１０へシリアル伝送線３０ａを通じて送ることによりプログラムの更新要求を行う（ステップＳ２２）。
【００５４】
計量部１０は、プログラムの更新要求を受けると、その要求が適正なものであるか否かを判定する（ステップＳ２３）。例えば、計量部１０は、通信部２０から送られてきたコマンドおよび認証キーを、予め所定の記憶領域（例えばフラッシュＲＯＭ１３）に格納されている正規のコマンドおよび認証キーの組み合わせを示す情報と照合し、照合結果が一致を示すか否かを判定することにより、当該要求が適正なものであるか否かを判定する。
【００５５】
計量部１０は、要求が適正でないと判定した場合（ステップＳ２３のＮＧ）、エラーログとして、エラーの発生時刻やエラーを生じさせたコマンドおよび認証キーを示す情報などを所定の記憶領域に記録し（ステップＳ２４）、通信部２０に対して応答しない。記録したエラーログは、読み出して解析することにより、不正アクセスが発生した要因などを把握することができる。
【００５６】
一方、計量部１０は、要求が適正であると判定した場合（ステップＳ２３のＯＫ）、当該要求を受け入れる旨の応答を通信部２０へシリアル伝送線３０ａを通じて送信する（ステップＳ２５）。
【００５７】
通信部２０は、計量部１０から送られてきた応答を受け、要求が受け入れられたことを確認すると（ステップＳ２６）、プログラム更新要求元から提供される更新プログラムを計量部１０へシリアル伝送線３０ａを通じて送信する（ステップＳ２７）。
【００５８】
計量部１０は、通信部２０から送られてきた更新プログラムを受けると、当該更新プログラムを用いて現在使用しているプログラムの更新を実行する（ステップＳ２８）。  
これにより、一連の処理が完了する。
【００５９】
第１の実施形態によれば、外部からの計量部１０に対する不正アクセスによるデータ読み取りやソフトウェア改変を防止できる一方で、通信部２０の通信機能を活かして計量部１０のソフトウェアの機能拡張や不具合修正を行うことができ、なおかつ、このようなロバスト性および有用性を損なわずに装置の小型化を図ることができる。
【００６０】
また、第１の実施形態によれば、１チップ内に封入された集積回路９の中に計量部１０および通信部２０を収めているので、従来のように計量部、通信部がそれぞれ別々のボード上に搭載される形態に比べ、装置全体の小型化を飛躍的に促進させることができる。
【００６１】
また、第１の実施形態によれば、従来のようにボード毎、ユニット毎に、コネクタ毎に、異なるメーカが異なるものを製作する形態ではなく、１つのチップメーカが１つのチップを製作する形態を実現できるので、計量部１０と通信部２０との間の設計上の不整合による不具合が生じにくく、装置の製作期間を短縮化することができる。
【００６２】
また、第１の実施形態によれば、１つの集積回路９の中で計量部１０と通信部２０とがそれぞれ共通の資源（電源、クロック等）を使用する形態であるので、計量部１０と通信部２０との間の不整合が生じにくい。
【００６３】
また、第１の実施形態によれば、計量部１０と通信部２０とを繋ぐ経路３０（シリアル伝送線３０ａ）は、従来のように計量用ボードと通信用ボードとをリード線や別のボードを介して接続する形態とは大きく異なり、チップ内配線として構築されているので、配線の長さを極力短くすることができ、信号に乗るノイズを極力抑えることができる。さらには、検針や課金に使用される重要なデータの信頼性を損なうことなくデータの伝送を行うことができる。
【００６４】
また、第１の実施形態によれば、計量部１０と通信部２０とを繋ぐ経路３０（シリアル伝送線３０ａ）は、既存の汎用インタフェースを利用して実現しているので、装置の設計や製造にかかるコストの増大を抑えることができる。
【００６５】
上述のように計量部１０と通信部２０を１チップの半導体装置で形成しているが、計量部１０と通信部２０は各々独立したプロセッサにより制御されているため、必要以上の相互間の干渉をおこなわない。すなわち、ある一定の情報のみのデータ授受を行うため、通信部からの書換えを防ぐことができ、適切な計量を保証することができる。
【００６６】
更には、計量部１０と通信部２０の各内部バスＢ１、Ｂ２は完全に独立しているため、計量部１０と通信部２０のデータ授受は内部バスで行われることはなく、経路３０のみにより実行されるため、計量部１０の独立性を担保できる。
【００６７】
（第２の実施形態）
図１を参照すると共に図５乃至図７を参照して、第２の実施形態に係る半導体装置２に封入される集積回路９の構成およびその動作について説明する。なお、図１乃至図４を参照して説明した第１の実施形態と共通する構成要素には同一の符号を付し、重複する説明を省略する。
【００６８】
図５は、第２の実施形態に係る半導体装置２に封入される集積回路９の概略構成を示す図である。ここでは、要点を理解しやすいものとするため、図１で説明した構成要素の一部の記載を省略している。
【００６９】
この第２の実施形態では、経路３０の具体例として、計量部１０と通信部２０との間のデータ伝送用に独自に構築された専用路を設ける場合を例示する。この専用路は、計量部１０側の内部インタフェース部１５と、通信部２０側の内部インタフェース部２５との間に接続され、共有メモリ３０ｂ、パラレルデータ伝送線３０ｃ，３０ｄ、および割り込み線３０ｅを含む。
【００７０】
共有メモリ３０ｂは、計量部１０および通信部２０のそれぞれが、パラレルデータ伝送線３０ｃ又は３０ｄを通じてデータの読み書きを行えるメモリである。計量部１０と通信部２０との間のデータの伝送が共有メモリ３０ｂに対する読み書きを通じて行われる。
【００７１】
パラレルデータ伝送線３０ｃは、計量部１０側の内部インタフェース部１５と共有メモリ３０ｂとの間でデータをパラレル伝送方式で伝送するためのラインである。
【００７２】
パラレルデータ伝送線３０ｄは、通信部２０側の内部インタフェース部２５と共有メモリ３０ｂとの間でデータをパラレル伝送方式で伝送するためのラインである。
【００７３】
割り込み線３０ｅは、共有メモリ３０ｂに情報を書き込んだ場合に、通信相手にその情報の共有メモリ３０ｂからの読み出しを促すための割り込みを伝送するためのラインである。
【００７４】
このような構成において、計量部１０側のプロセッサ１１は、例えば通信部２０から割り込み線３０ｅを通じて送られる割り込みを検出し、これに応じて共有メモリ３０ｂから通信部２０が書き込んだ情報を読み出し、その情報から要求（コマンド等）を得た場合、予め所定の記憶領域（例えばフラッシュＲＯＭ１３）に格納されている情報との照合を行うことにより、当該要求が適正なものであるか否かを判定し、判定結果に応じた適切な処理を行うことができる。以下、２つの動作例を挙げて説明する。
【００７５】
最初に、図６のシーケンス図を参照して、通信部２０から計量部１０に対してデータの送信要求があった場合の動作の一例を説明する。
【００７６】
ここでは、通信部２０が計量部１０に対して積算された電力使用量のデータの送信要求を定期的に行うものとする。
【００７７】
通信部２０は、所定の時刻になると、計量部１０に対する電力使用量のデータの送信要求を開始する（ステップＳ３１）。通信部２０は、例えば所定のコマンドに認証キーを付加したものを共有メモリ３０ｂ経由で計量部１０へ送ることにより、電力使用量のデータの送信要求を行う。具体的には、通信部２０は、パラレルデータ伝送線３０ｄを通じて、共有メモリ３０ｂに電力使用量のデータの送信要求を示す情報を書き込み（ステップＳ３２）、割り込み線３０ｅを通じて、計量部１０に共有メモリ３０ｂ内の情報の読み出しを促すための割り込みを送る（ステップＳ３３）。
【００７８】
計量部１０は、割り込み線３０ｅを通じて送られてくる割り込みを受けると（ステップＳ３４）、パラレルデータ伝送線３０ｃを通じて、共有メモリ３０ｂから電力使用量のデータの送信要求を示す情報を読み出す（ステップＳ３５）。
【００７９】
計量部１０は、電力使用量のデータの送信要求を受け取ると、その要求が適正なものであるか否かを判定する（ステップＳ３６）。例えば、計量部１０は、通信部２０から送られてきたコマンドおよび認証キーを、予め所定の記憶領域（例えばフラッシュＲＯＭ１３）に格納されている正規のコマンドおよび認証キーの組み合わせを示す情報と照合し、照合結果が一致を示すか否かを判定することにより、当該要求が適正なものであるか否かを判定する。
【００８０】
計量部１０は、要求が適正でないと判定した場合（ステップＳ３６のＮＧ）、エラーログとして、エラーの発生時刻やエラーを生じさせたコマンドおよび認証キーを示す情報などを所定の記憶領域に記録し（ステップＳ３７）、通信部２０に対して応答しない。記録したエラーログは、読み出して解析することにより、不正アクセスが発生した要因などを把握することができる。
【００８１】
一方、計量部１０は、要求が適正であると判定した場合（ステップＳ３６のＯＫ）、当該要求を受け入れる旨の応答と共に要求された電力使用量のデータを、共有メモリ３０ｂ経由で通信部２０へ送信する。具体的には、計量部１０は、パラレルデータ伝送線３０ｃを通じて、共有メモリ３０ｂに要求を受け入れる旨の応答および要求された電力使用量のデータを書き込み（ステップＳ３８）、割り込み線３０ｅを通じて、通信部２０に共有メモリ３０ｂ内の情報の読み出しを促すための割り込みを送る（ステップＳ３９）。
【００８２】
通信部２０は、割り込み線３０ｅを通じて送られてくる割り込みを受けると（ステップＳ４０）、パラレルデータ伝送線３０ｄを通じて、共有メモリ３０ｂから応答および電力使用量のデータを読み出し（ステップＳ４１）、当該応答およびデータを受領する（ステップＳ４２）。  
これにより、一連の処理が完了する。
【００８３】
次に、図７のシーケンス図を参照して、通信部２０から計量部１０に対してプログラムの更新要求があった場合の動作の一例を説明する。
【００８４】
ここでは、通信部２０が計量部１０に対して、計量部１０が使用しているソフトウェアの機能拡張もしくは不具合修正を目的としてプログラムの更新要求を行うものとする。
【００８５】
通信部２０は、例えばプログラム更新要求元からＮＡＮ通信装置８もしくはＨＡＮ通信装置７を通じてプログラム更新要求の連絡が入ると、計量部１０に対するプログラムの更新要求の処理を開始する（ステップＳ５１）。通信部２０は、例えば所定のコマンドに認証キーを付加したものを共有メモリ３０ｂ経由で計量部１０へ送ることにより、プログラムの更新要求を行う。具体的には、通信部２０は、パラレルデータ伝送線３０ｄを通じて、共有メモリ３０ｂにプログラムの更新要求を示す情報を書き込み（ステップＳ５２）、割り込み線３０ｅを通じて、計量部１０に共有メモリ３０ｂ内の情報の読み出しを促すための割り込みを送る（ステップＳ５３）。
【００８６】
計量部１０は、割り込み線３０ｅを通じて送られてくる割り込みを受けると（ステップＳ５４）、パラレルデータ伝送線３０ｃを通じて、共有メモリ３０ｂからプログラムの更新要求を示す情報を読み出す（ステップＳ５５）。
【００８７】
計量部１０は、プログラムの更新要求を受け取ると、その要求が適正なものであるか否かを判定する（ステップＳ５６）。例えば、計量部１０は、通信部２０から送られてきたコマンドおよび認証キーを、予め所定の記憶領域（例えばフラッシュＲＯＭ１３）に格納されている正規のコマンドおよび認証キーの組み合わせを示す情報と照合し、照合結果が一致を示すか否かを判定することにより、当該要求が適正なものであるか否かを判定する。
【００８８】
計量部１０は、要求が適正でないと判定した場合（ステップＳ５６のＮＧ）、エラーログとして、エラーの発生時刻やエラーを生じさせたコマンドおよび認証キーを示す情報などを所定の記憶領域に記録し（ステップＳ５７）、通信部２０に対して応答しない。記録したエラーログは、読み出して解析することにより、不正アクセスが発生した要因などを把握することができる。
【００８９】
一方、計量部１０は、要求が適正であると判定した場合（ステップＳ５６のＯＫ）、当該要求を受け入れる旨の応答を、共有メモリ３０ｂ経由で通信部２０へ送信する。具体的には、計量部１０は、パラレルデータ伝送線３０ｃを通じて、共有メモリ３０ｂに要求を受け入れる旨の応答を書き込み（ステップＳ５８）、割り込み線３０ｅを通じて、通信部２０に共有メモリ３０ｂ内の情報の読み出しを促すための割り込みを送る（ステップＳ５９）。
【００９０】
通信部２０は、割り込み線３０ｅを通じて送られてくる割り込みを受けると（ステップＳ６０）、パラレルデータ伝送線３０ｄを通じて、共有メモリ３０ｂから応答を読み出し（ステップＳ６１）、要求が受け入れられたことを確認すると（ステップＳ６２）、プログラム更新要求元から提供される更新プログラムを計量部１０へ送信する。具体的には、通信部２０は、パラレルデータ伝送線３０ｄを通じて、共有メモリ３０ｂに更新プログラムを送り（ステップＳ６３）、割り込み線３０ｅを通じて、計量部１０に共有メモリ３０ｂ内の更新プログラムの読み出しを促すための割り込みを送る（ステップＳ６４）。
【００９１】
計量部１０は、割り込み線３０ｅを通じて送られてくる割り込みを受けると（ステップＳ６５）、パラレルデータ伝送線３０ｃを通じて、共有メモリ３０ｂから更新プログラムを読み出し（ステップＳ６６）、当該更新プログラムを用いて現在使用しているプログラムの更新を実行する（ステップＳ６７）。  
これにより、一連の処理が完了する。
【００９２】
第２の実施形態によれば、計量部１０と通信部２０とを繋ぐ経路３０が独自に構築された専用路であるため、パラレルデータ伝送方式により一度に多量のデータを高速転送することができるという利点がある。その他、前述した第１の実施形態と同様の効果も得られる。
【００９３】
以上述べたように実施形態によれば、ロバスト性および有用性を保障しつつ合理化を実現する半導体装置、電力量計、およびプログラムを提供することができる。
【００９４】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【００９５】
１…スマートメータ（電力量計）、２…半導体装置、３…電源、４…センサ、５…信号調整回路、６…ＬＣＤ、７…ＨＡＮ通信装置、８…ＮＡＮ通信装置、９…集積回路、１０…計量部、１０Ａ…主要部、１０Ｂ…ペリフェラル、１１…プロセッサ、１２…ＤＭＡＣ、１３…フラッシュＲＯＭ、１４…ＲＡＭ、１５…内部インタフェース部、１６…ＲＴＣ、１７…ＳＳＰインフェース部１７、１８…ＵＡＲＴインタフェース部、１９…ＬＣＤインフェース部、２０…通信部、２０Ａ…主要部、２０Ｂ…ペリフェラル、２１…プロセッサ、２２…ＤＭＡＣ、２３…フラッシュＲＯＭ、２４…ＲＡＭ、２５…内部インタフェース部、２６…ＳＳＰインフェース部、２７…ＵＡＲＴインタフェース部、３０…経路、３０ａ…シリアル伝送線、３０ｂ…共有メモリ、３０ｃ，３０ｄ…パラレルデータ伝送線、３０ｅ…割り込み線。
【図１】
2016164506.tif 000003
【図２】
2016164506.tif 000004
【図３】
2016164506.tif 000005
【図４】
2016164506.tif 000006
【図５】
2016164506.tif 000007
【図６】
2016164506.tif 000008
【図７】
2016164506.tif 000009