(57)【要約】【課題】表示モジュールに実装されたときにメインコントローラと接続するコネクタの端子数を増やすことなく、または端子数の増加を最小限に抑えて、不揮発性メモリへの書き込みに要する時間を短縮することができる、コントローラを提供する。【解決手段】不揮発性メモリと高速の第１シリアル通信で接続され、メインコントローラと低速の第２シリアル通信で接続される表示及び／又はタッチコントローラであって、制御回路とブリッジ回路とを備え、通常モードでは、制御回路がそれぞれの通信インターフェースを介して、不揮発性メモリと第１シリアル通信を、メインコントローラと第２シリアル通信をそれぞれ行い、ブリッジモードではブリッジ回路が第１シリアル通信用の端子と第２シリアル通信用の端子との間を、制御回路を介さずにブリッジする。【選択図】図１
2018101185.tif 000002
【特許請求の範囲】
【請求項１】
表示パネル、タッチパネルまたは表示タッチパネルと、不揮発性メモリとに電気的に接続され、外部制御装置と接続可能な半導体装置であって、
前記半導体装置は、前記外部制御装置との間で第１のシリアル通信を行うための第１クロック端子、第１データ端子、及び、前記外部制御装置に対する割り込み要求端子と、前記不揮発性メモリとの間で第２のシリアル通信を行うための第２クロック端子、データ出力端子、データ入力端子、及び、チップセレクト端子とを有し、
前記半導体装置は、制御回路と、前記制御回路と前記外部制御装置とが前記第１のシリアル通信を行うため第１通信インターフェース回路と、前記制御回路と前記不揮発性メモリとが前記第２のシリアル通信を行うため第２通信インターフェース回路と、割り込み要求回路と、ブリッジ回路とを備え、
前記ブリッジ回路は、複数のスイッチ回路を有し、
前記複数のスイッチ回路は、通常モード時に、
前記第１クロック端子と前記第１データ端子とを前記第１通信インターフェース回路と接続し、
前記第２クロック端子と前記データ出力端子と前記データ入力端子と前記チップセレクト端子とを前記第２通信インターフェース回路と接続し、
前記割り込み要求端子と前記割り込み要求回路とを接続し、
前記複数のスイッチ回路は、ブリッジモード時に、
前記第１クロック端子と前記第２クロック端子とを接続し、
前記第１データ端子と前記データ出力端子とを接続し、
前記割り込み要求端子と前記データ入力端子とを接続し、
前記チップセレクト端子に前記不揮発性メモリを選択する信号レベルを出力する、
半導体装置。
【請求項２】
請求項１において、
前記第１のシリアル通信は、前記外部制御装置をマスタ側とし、前記半導体装置をスレーブ側とするＩ２Ｃ（Ｉｎｔｅｒ−Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）通信であり、
前記第１クロック端子はＩ２Ｃのシリアルクロック用の端子であり、
前記第１データ端子はＩ２Ｃデータ転送用の端子であり、
前記割り込み要求端子は、前記第１のシリアル通信におけるスレーブ側である前記半導体装置からマスタ側である前記外部制御装置に対するアクセス要求信号であり、
前記第２のシリアル通信は、前記半導体装置をマスタ側とし、前記不揮発性メモリをスレーブ側とするＳＰＩ（Ｓｅｒｉａｌ  Ｐｅｒｉｐｈｅｒａｌ  Ｉｎｔｅｒｆａｃｅ）通信であり、
前記第２クロック端子はＳＰＩのシリアルクロック用の端子であり、
前記データ出力端子はＳＰＩのマスタからスレーブへのデータ転送用の端子であり、
前記データ入力端子はＳＰＩのスレーブからマスタへのデータ転送用の端子であり、
前記チップセレクト端子にＳＰＩのスレーブである前記不揮発性メモリを活性化するためのチップセレクト端子である、
半導体装置。
【請求項３】
請求項２において、
前記ブリッジ回路は、前記ブリッジモード時に、前記チップセレクト端子に前記不揮発性メモリを選択する信号レベルを制御するためのチップセレクトレベル設定レジスタを有する、
半導体装置。
【請求項４】
は請求項２において、
前記半導体装置は、前記外部制御装置と接続されるための選択制御端子をさらに有し、
前記複数のスイッチ回路は、ブリッジモード時に、前記チップセレクト端子と前記選択制御端子とを接続する、
半導体装置。
【請求項５】
表示パネル、タッチパネルまたは表示タッチパネルであるヒューマンインターフェースパネルと、不揮発性メモリと、前記ヒューマンインターフェースパネルと前記不揮発性メモリと電気的に接続される半導体装置と、前記半導体装置と外部制御装置とを接続するためのコネクタと、を備え、
前記半導体装置は、前記外部制御装置との間で第１のシリアル通信を行うための第１クロック端子及び第１データ端子と、前記外部制御装置に対する割り込み要求端子と、前記不揮発性メモリとの間で第２のシリアル通信を行うための第２クロック端子、データ出力端子、データ入力端子、及びチップセレクト端子とを有し、
前記コネクタは、前記半導体装置が有する前記第１クロック端子と前記第１データ端子と前記割り込み要求端子のそれぞれに対応する３個の端子を含む複数の端子を有し、
前記半導体装置は、制御回路と、前記制御回路が前記外部制御装置との間で前記第１のシリアル通信を行うため第１通信インターフェース回路と、前記制御回路が前記不揮発性メモリとの間で前記第２のシリアル通信を行うため第２通信インターフェース回路と、割り込み要求回路と、ブリッジ回路とを備え、
前記ブリッジ回路は、複数のスイッチ回路を有し、
前記複数のスイッチ回路は、通常モード時に、
前記第１クロック端子と前記第１データ端子とを前記第１通信インターフェース回路と接続し、
前記第２クロック端子と前記データ出力端子と前記データ入力端子と前記チップセレクト端子とを前記第２通信インターフェース回路と接続し、
前記割り込み要求端子と前記割り込み要求回路とを接続し、
前記複数のスイッチ回路は、ブリッジモード時に、
前記第１クロック端子と前記第２クロック端子とを接続し、
前記第１データ端子と前記データ出力端子とを接続し、
前記割り込み要求端子と前記データ入力端子とを接続し、
前記チップセレクト端子に前記不揮発性メモリを選択する信号レベルを出力する、
ヒューマンインターフェースモジュール。
【請求項６】
請求項５において、
前記第１のシリアル通信は、前記外部制御装置をマスタ側とし、前記半導体装置をスレーブ側とするＩ２Ｃ通信であり、
前記第１クロック端子はＩ２Ｃのシリアルクロック用の端子であり、
前記第１データ端子はＩ２Ｃデータ転送用の端子であり、
前記割り込み要求端子は、前記第１のシリアル通信におけるスレーブ側である前記半導体装置からマスタ側である前記外部制御装置に対するアクセス要求信号であり、
前記第２のシリアル通信は、前記半導体装置をマスタ側とし、前記不揮発性メモリをスレーブ側とするＳＰＩ通信であり、
前記第２クロック端子はＳＰＩのシリアルクロック用の端子であり、
前記データ出力端子はＳＰＩのマスタからスレーブへのデータ転送用の端子であり、
前記データ入力端子はＳＰＩのスレーブからマスタへのデータ転送用の端子であり、
前記チップセレクト端子にＳＰＩのスレーブである前記不揮発性メモリを活性化するためのチップセレクト端子である、
ヒューマンインターフェースモジュール。
【請求項７】
請求項６において、
前記ブリッジ回路は、前記ブリッジモード時に、前記チップセレクト端子に前記不揮発性メモリを選択する信号レベルを制御するためのチップセレクトレベル設定レジスタを有する、
ヒューマンインターフェースモジュール。
【請求項８】
請求項６において、
前記半導体装置は、前記外部制御装置と接続されるための選択制御端子をさらに有し、
前記複数のスイッチ回路は、ブリッジモード時に、前記チップセレクト端子と前記選択制御端子とを接続する、
ヒューマンインターフェースモジュール。
【請求項９】
ヒューマンインターフェースモジュールと、メインコントローラと、ホスト側ブリッジ回路と、ホスト側コネクタとを備える電子機器であって、
前記ヒューマンインターフェースモジュールは、表示パネル、タッチパネルまたは表示タッチパネルであるヒューマンインターフェースパネルと、不揮発性メモリと、前記ヒューマンインターフェースパネルと前記不揮発性メモリと電気的に接続される半導体装置と、前記ホスト側コネクタと接続されるモジュール側コネクタとを備え、
前記半導体装置と前記メインコントローラとは、前記モジュール側コネクタと、前記ホスト側コネクタと、前記ホスト側ブリッジ回路とを介して接続され、
前記半導体装置は、前記メインコントローラとの間で第１のシリアル通信を行うための第１クロック端子と第１データ端子と、前記メインコントローラに対する割り込み要求端子と、前記不揮発性メモリとの間で第２のシリアル通信を行うための第２クロック端子とデータ出力端子とデータ入力端子とチップセレクト端子とを有し、
前記モジュール側コネクタは、前記半導体装置が有する前記第１クロック端子と前記第１データ端子と前記割り込み要求端子のそれぞれに対応する３個の端子を含む複数の端子を有し、
前記半導体装置は、制御回路と、前記制御回路と前記メインコントローラとが前記第１のシリアル通信を行うため第１通信インターフェース回路と、前記制御回路と前記不揮発性メモリとが前記第２のシリアル通信を行うため第２通信インターフェース回路と、割り込み要求回路と、モジュール側ブリッジ回路とを備え、
前記モジュール側ブリッジ回路は、複数のモジュール側スイッチ回路を有し、
前記複数のモジュール側スイッチ回路は、通常モード時に、
前記第１クロック端子と前記第１データ端子とを前記第１通信インターフェース回路と接続し、
前記第２クロック端子と前記データ出力端子と前記データ入力端子と前記チップセレクト端子とを前記第２通信インターフェース回路と接続し、
前記割り込み要求端子と前記割り込み要求回路とを接続し、
前記複数のモジュール側スイッチ回路は、ブリッジモード時に、
前記第１クロック端子と前記第２クロック端子とを接続し、
前記第１データ端子と前記データ出力端子とを接続し、
前記割り込み要求端子と前記データ入力端子とを接続し、
前記チップセレクト端子に前記不揮発性メモリを選択する信号レベルを出力し、
前記メインコントローラは、前記半導体装置と前記第１のシリアル通信を行うためのホスト側第１クロック端子及びホスト側第１データ端子と、前記メインコントローラに対する割り込み要求を受信する割り込み要求受信端子と、前記第２のシリアル通信と同じ規格に準拠して前記不揮発性メモリと第３のシリアル通信を行うためのホスト側第２クロック端子、ホスト側データ出力端子、ホスト側データ入力端子及びホスト側チップセレクト端子と、を有し、
前記ホスト側ブリッジ回路は、複数のホスト側スイッチ回路を有し、
前記複数のホスト側スイッチ回路は、通常モード時に、
前記ホスト側第１クロック端子を前記半導体装置の前記第１クロック端子に、
前記ホスト側第１データ端子を前記半導体装置の前記第１データ端子に、
前記ホスト側コネクタと前記モジュール側コネクタとを介してそれぞれ電気的に接続し、
前記複数のホスト側スイッチ回路は、ブリッジモード時に、
前記ホスト側第２クロック端子を前記半導体装置の前記第１クロック端子に、
前記ホスト側データ出力端子を前記半導体装置の前記第１データ端子に、
前記ホスト側コネクタと前記モジュール側コネクタとを介してそれぞれ電気的に接続する、
電子機器。
【請求項１０】
請求項９において、
前記第１のシリアル通信は、前記外部制御装置をマスタ側とし、前記半導体装置をスレーブ側とするＩ２Ｃ通信であり、
前記第１クロック端子はＩ２Ｃのシリアルクロック用の端子であり、
前記第１データ端子はＩ２Ｃデータ転送用の端子であり、
前記割り込み要求端子は、前記第１のシリアル通信におけるスレーブ側である前記半導体装置からマスタ側である前記外部制御装置に対するアクセス要求信号であり、
前記第２のシリアル通信は、前記半導体装置をマスタ側とし、前記不揮発性メモリをスレーブ側とするＳＰＩ通信であり、
前記第２クロック端子はＳＰＩのシリアルクロック用の端子であり、
前記データ出力端子はＳＰＩのマスタからスレーブへのデータ転送用の端子であり、
前記データ入力端子はＳＰＩのスレーブからマスタへのデータ転送用の端子であり、
前記チップセレクト端子にＳＰＩのスレーブである前記不揮発性メモリを活性化するためのチップセレクト端子である、
電子機器。
【請求項１１】
請求項１０において、
前記ブリッジ回路は、前記ブリッジモード時に、前記チップセレクト端子に前記不揮発性メモリを選択する信号レベルを制御するためのチップセレクトレベル設定レジスタを有する、
電子機器。
【請求項１２】
請求項９または請求項１０において、
前記半導体装置は、前記外部制御装置と接続されるための選択制御端子をさらに有し、
前記複数のスイッチ回路は、ブリッジモード時に、前記チップセレクト端子と前記選択制御端子とを接続する、
電子機器。
【請求項１３】
請求項１０において、
前記半導体装置は、選択制御端子をさらに有し、
前記モジュール側コネクタは、前記選択制御端子に対応する端子をさらに有し、
前記ホスト側コネクタは、前記モジュール側コネクタの前記３個の端子及び前記選択制御端子に対応する端子のそれぞれと接続されるホスト側コネクタの第１、第２、第３及び第４の端子を有し、
前記メインコントローラは、バス選択端子をさらに有し、
前記複数のホスト側スイッチ回路は、前記バス選択端子から出力されるバス選択制御信号によって切り替えられる双投スイッチである、第１、第２、第３及び第４のホスト側スイッチ回路であり、
前記第１のホスト側スイッチ回路は、前記通常モード時に前記ホスト側第１クロック端子を前記ホスト側コネクタの第１の端子に接続し、前記ブリッジモード時に前記ホスト側第２クロック端子を前記ホスト側コネクタの第１の端子に接続し、
前記第２のホスト側スイッチ回路は、前記通常モード時に前記ホスト側第１データ端子を前記ホスト側コネクタの第２の端子に接続し、前記ブリッジモード時に前記ホスト側データ出力端子を前記ホスト側コネクタの第２の端子に接続し、
前記第３のホスト側スイッチ回路は、前記通常モード時に前記割り込み要求受信端子を前記ホスト側コネクタの第３の端子に接続し、前記ブリッジモード時に前記ホスト側データ入力端子を前記ホスト側コネクタの第３の端子に接続し、
前記第４のホスト側スイッチ回路は、前記ブリッジモード時に前記ホスト側チップセレクト端子を前記ホスト側コネクタの第４の端子に接続する、
電子機器。
【請求項１４】
請求項１０において、
前記ホスト側コネクタは、前記モジュール側コネクタの前記３個の端子のそれぞれと接続されるホスト側コネクタの第１、第２及び第３の端子を有し、
前記メインコントローラは、モード制御端子をさらに有し、
前記ホスト側ブリッジ回路は、前記第３の端子に入力される信号によって前記モード制御端子から出力されるモード制御信号をラッチしてラッチされたモード制御信号を出力する、ラッチ回路をさらに備え、
前記複数のホスト側スイッチ回路は、前記ラッチされたモード制御信号によって切り替えられる双投スイッチである、第１、第２及び第３のホスト側スイッチ回路であり、
前記第１のホスト側スイッチ回路は、通常モード時に前記ホスト側第１クロック端子を前記ホスト側コネクタの第１の端子に接続し、前記ブリッジモード時に前記ホスト側第２クロック端子を前記ホスト側コネクタの第１の端子に接続し、
前記第２のホスト側スイッチ回路は、通常モード時に前記ホスト側第１データ端子を前記ホスト側コネクタの第２の端子に接続し、前記ブリッジモード時に前記ホスト側データ出力端子を前記ホスト側コネクタの第２の端子に接続し、
前記第３のホスト側スイッチ回路は、通常モード時に前記割り込み要求受信端子を前記ホスト側コネクタの第３の端子に接続し、前記ブリッジモード時に前記ホスト側データ入力端子を前記ホスト側コネクタの第３の端子に接続する、
電子機器。
【請求項１５】
請求項１０において、
前記ホスト側コネクタは、前記モジュール側コネクタの前記３個の端子のそれぞれと接続されるホスト側コネクタの第１、第２及び第３の端子を有し、
前記メインコントローラは、モード制御端子をさらに有し、
前記ホスト側ブリッジ回路において、前記第３の端子に入力される信号は、前記割り込み要求受信端子と前記ホスト側データ入力端子とに入力され、
前記ホスト側ブリッジ回路は、前記第３の端子に入力される信号によって前記モード制御端子から出力されるモード制御信号をラッチしてラッチされたモード制御信号を出力する、ラッチ回路をさらに備え、
前記複数のホスト側スイッチ回路は、前記ラッチされたモード制御信号によって切り替えられる双投スイッチである、第１及び第２のホスト側スイッチ回路であり、
前記第１のホスト側スイッチ回路は、通常モード時に前記ホスト側第１クロック端子を前記ホスト側コネクタの第１の端子に接続し、前記ブリッジモード時に前記ホスト側第２クロック端子を前記ホスト側コネクタの第１の端子に接続し、
前記第２のホスト側スイッチ回路は、通常モード時に前記ホスト側第１データ端子を前記ホスト側コネクタの第２の端子に接続し、前記ブリッジモード時に前記ホスト側データ出力端子を前記ホスト側コネクタの第２の端子に接続する、
電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、タッチパネルまたは表示パネル或いは表示とタッチ検出の機能が統合されたパネルを制御するためのコントローラＩＣ（Integrated Circuit）である半導体装置、それが搭載されたヒューマンインターフェースモジュール及びそれが搭載された電子機器に関し、特に不揮発性メモリが半導体装置に外付けされる構成に好適に利用できるものである。
【背景技術】
【０００２】
スマートフォンやタブレット端末などが普及し、その表示は高精細化が進み、タッチ検出は高機能化する傾向が著しい。表示タッチパネルの制御回路は、表示ドライバ、タッチコントローラ、シーケンスコントローラなどの複数のＩＣで構成され、またはそれらを集積した単一チップのＩＣで構成される。シーケンスコントローラは、例えばマイクロコントローラで実現され、表示ドライバへのガンマ補正などのパラメータの設定、タッチコントローラから得られるデータからタッチ座標を算出するプログラムの実行などを行う。
【０００３】
特許文献１には、表示ドライバとタッチパネルコントローラとが集積された半導体装置が示されており、タッチパネルが積層された表示パネル、サブプロセッサ及びメインコントローラが接続されている（同文献の図２）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１５−１６９９８６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１について本発明者が検討した結果、以下のような新たな課題があることがわかった。
【０００６】
特許文献１に記載されるサブプロセッサは、上述のシーケンスコントローラを構成するマイクロコントローラに相当し、プログラムを実行することによって、表示ドライバとタッチパネルコントローラへのパラメータの設定などを行う。サブプロセッサのプログラムと各種のパラメータは、メインコントローラから供給される。
【０００７】
ここで、パラメータの種類や数、プログラムのサイズは、表示の高精細化、タッチ検出の高機能化に伴って、著しく増加する傾向にある。そのため、サブプロセッサとメインコントローラの通信トラフィックが著しく増加することとなり、通信時間の増大を招き、または通信インターフェースを増強するためにコストの上昇を招く恐れがある。
【０００８】
そこで、発明者らは、サブプロセッサのプログラムと各種のパラメータは、メインコントローラからの供給に代えて、不揮発性メモリに格納して、サブプロセッサから直接アクセスすることができるよう構成について検討した。
【０００９】
表示ドライバ、タッチパネルコントローラ及びサブプロセッサは、一般に、フレキシブル基板上に実装され、表示パネルと接続されて表示モジュールを構成し、表示モジュールはメインコントローラと接続されるためのコネクタを備える。全体の小型化のため、このコネクタの端子数は厳しく制限されている。そのため、サブプロセッサとメインコントローラの通信は、低速のシリアルバスで実装されている。
【００１０】
したがって、サブプロセッサのプログラムと各種のパラメータを格納するための不揮発性メモリは、当該サブプロセッサから直接アクセスすることができるインターフェースを設けて接続するのが好適であることがわかる。不揮発性メモリは、当該サブプロセッサに内蔵されるか、外付けする場合にはサブプロセッサと同じ基板、例えば上述のフレキシブル基板上に実装されるとよい。表示モジュールとメインコントローラを接続するコネクタの端子数を増やす必要がないためである。
【００１１】
本願の発明者らがさらに詳しく検討したところ、そのような不揮発性メモリに対して、プログラムやパラメータなどのデータを書き込み、書き換え、また、テストを行う際に、そのアクセス時間が長くなるという問題があることが明らかになった。
【００１２】
不揮発性メモリのデータは、そのサイズが大きくなる傾向にあるだけではなく、接続される表示パネルの特性や製造ばらつきを吸収する目的のために、表示モジュールに実装された後のテスト工程で初期データが書き込まれ、プログラムの更新などは出荷後のフィールドで実施される場合がある。そのため、不揮発性メモリへのアクセス時間、特に書き込み時間が長くなることは、テストコストの上昇を招くだけでなく、システム設計上の障害ともなり得るのである。
【００１３】
したがって、本願発明の目的は、表示パネル、タッチパネルまたは表示タッチパネルであるヒューマンインターフェースパネルと、そのヒューマンインターフェースパネルを制御するコントローラを含む半導体装置と、不揮発性メモリとを備えるヒューマンインターフェースモジュールにおいて、メインコントローラと接続するコネクタの端子数を増やすことなく、または端子数の増加を最小限に抑えて、不揮発性メモリへの書き込みに要する時間を短縮することができる、半導体装置を提供することにある。
【００１４】
このような課題を解決するための手段を以下に説明するが、その他の課題と新規な特徴は、本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１５】
一実施の形態によれば、下記の通りである。
【００１６】
すなわち、表示パネル、タッチパネルまたは表示タッチパネルと、不揮発性メモリとに電気的に接続され、外部制御装置（メインコントローラ）と接続可能な半導体装置（コントローラ）であって、以下のように構成される。
【００１７】
半導体装置は、外部制御装置と第１のシリアル通信を行うための第１クロック端子と第１データ端子と、前記外部制御装置に対する割り込み要求端子と、前記不揮発性メモリと第２のシリアル通信を行うための第２クロック端子とデータ出力端子とデータ入力端子とチップセレクト端子とを有する。また、半導体装置は、制御回路と、前記制御回路と前記外部制御装置とが前記第１のシリアル通信を行うため第１通信インターフェース回路と、前記制御回路と前記不揮発性メモリとが前記第２のシリアル通信を行うため第２通信インターフェース回路と、割り込み要求回路と、ブリッジ回路とを備える。
【００１８】
ブリッジ回路は、通常モード時には、第１クロック端子と第１データ端子とを第１通信インターフェース回路と接続し、第２クロック端子とデータ出力端子とデータ入力端子と前記チップセレクト端子とを第２通信インターフェース回路と接続し、割り込み要求端子と割り込み要求回路とを接続する。ブリッジ回路はブリッジモード時には、第１クロック端子と第１データ端子と割り込み要求端子とを第２クロック端子とデータ出力端子とデータ入力端子とにそれぞれ接続し、チップセレクト端子に前記不揮発性メモリを選択する信号レベルを出力する。
【発明の効果】
【００１９】
前記一実施の形態によって得られる効果を簡単に説明すれば下記のとおりである。
【００２０】
すなわち、半導体装置（コントローラ）は、表示パネル、タッチパネルまたは表示タッチパネルであるヒューマンインターフェースパネルと、不揮発性メモリとに電気的に接続され、ヒューマンインターフェースモジュールに実装されたときに、外部制御装置（メインコントローラ）と接続する表示モジュールのコネクタの端子数を増やすことなく、またはその端子数の増加を最小限に抑えて、外部制御装置（メインコントローラ）から不揮発性メモリへの書き込みに要する時間を短縮することができる。
【図面の簡単な説明】
【００２１】
【図１】図１は、実施形態１に係る電子機器の構成例を示すブロック図である。
【図２】図２は、実施形態１に係るブリッジ回路の構成例を示すブロック図である。
【図３】図３は、ブリッジ回路の変形例の構成を示すブロック図である。
【図４】図４は、実施形態１に係るホスト側ボードの構成例を示すブロック図である。
【図５】図５は、実施形態１に係る半導体装置のブートプログラムによる動作例を示すフローチャートである。
【図６】図６は、実施形態１に係るホスト側のメインコントローラがブリッジ回路を制御するときの動作例を示すフローチャートである。
【図７】図７は、実施形態１に係る電子機器の動作例を示すタイミングチャートである。
【図８】図８は、実施形態２に係る電子機器の構成例を示すブロック図である。
【図９】図９は、実施形態２に係るブリッジ回路の構成例を示すブロック図である。
【図１０】図１０は、実施形態２に係るホスト側ボードの構成例を示すブロック図である。
【図１１】図１１は、実施形態３に係るホスト側ボードの構成例を示すブロック図である。
【図１２】図１２は、実施形態４に係るホスト側ボードの構成例を示すブロック図である。
【図１３】図１３は、実施形態５に係る半導体装置のブートプログラムによる動作例を示すフローチャートである。
【図１４】図１４は、実施形態５に係るホスト側のメインコントローラがブリッジ回路を制御するときの動作例を示すフローチャートである。
【図１５】図１５は、実施形態５に係る電子機器の動作例を示すタイミングチャートである。
【発明を実施するための形態】
【００２２】
１．実施の形態の概要
先ず、本願において開示される代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
【００２３】
〔１〕ブリッジ回路
表示パネル（１０１）、タッチパネル（１０２）または表示タッチパネルと、不揮発性メモリ（１０３）とに電気的に接続され、外部制御装置（３０１）と接続可能な半導体装置（１００）であって、以下のように構成される。
【００２４】
前記半導体装置は、前記外部制御装置との間で第１のシリアル通信（例えばＩ２Ｃ通信）を行うための第１クロック端子（ＳＣＬ，１）、第１データ端子（ＳＤＡ，２）、及び、前記外部制御装置に対する割り込み要求端子（ＡＴＴＮ，３）と、前記不揮発性メモリとの間で第２のシリアル通信（例えばＳＰＩ通信）を行うための第２クロック端子（ＳＰＩ＿ＣＬＫ，４）、データ出力端子（ＳＰＩ＿ＭＯＳＩ，５）、データ入力端子（ＳＰＩ＿ＭＩＳＯ，６）、及び、チップセレクト端子（ＳＰＩ＿ＣＳ，７）とを有する。
【００２５】
前記半導体装置は、制御回路（ＣＰＵ，３０）と、前記制御回路と前記外部制御装置とが前記第１のシリアル通信を行うため第１通信インターフェース回路（Ｉ２Ｃ−ＩＦ，３１）と、前記制御回路と前記不揮発性メモリとが前記第２のシリアル通信を行うため第２通信インターフェース回路（ＳＰＩ＿Ｉ／Ｆ，３２）と、割り込み要求回路（ＡＴＴＮ＿ｌｏｇｉｃ，３３）と、ブリッジ回路（１０）とを備える。
【００２６】
前記ブリッジ回路は、複数のスイッチ回路（５１〜５７）を有し、通常モード時に、前記第１クロック端子（ＳＣＬ，１）と前記第１データ端子（ＳＤＡ，２）とを前記第１通信インターフェース回路（Ｉ２Ｃ−ＩＦ，３１）と接続し、前記第２クロック端子（ＳＰＩ＿ＣＬＫ，４）と前記データ出力端子（ＳＰＩ＿ＭＯＳＩ，５）と前記データ入力端子（ＳＰＩ＿ＭＩＳＯ，６）と前記チップセレクト端子（ＳＰＩ＿ＣＳ，７）とを前記第２通信インターフェース回路（ＳＰＩ＿Ｉ／Ｆ，３２）と接続し、前記割り込み要求端子（ＡＴＴＮ，３）と前記割り込み要求回路（ＡＴＴＮ＿ｌｏｇｉｃ，３３）とを接続する。
【００２７】
前記複数のスイッチ回路は、ブリッジモード時に、前記第１クロック端子（ＳＣＬ，１）と前記第２クロック端子（ＳＰＩ＿ＣＬＫ，４）とを接続し、前記第１データ端子（ＳＤＡ，２）と前記データ出力端子（ＳＰＩ＿ＭＯＳＩ，５）とを接続し、前記割り込み要求端子（ＡＴＴＮ，３）と前記データ入力端子（ＳＰＩ＿ＭＩＳＯ，６）とを接続し、前記チップセレクト端子に前記不揮発性メモリを選択する信号レベル（６３）を出力する。
【００２８】
これにより、外部制御装置（メインコントローラ）（３０１）はブリッジモード時に、高速に不揮発性メモリ（１０３）にアクセスすることができる。
【００２９】
なお、本願明細書において「接続する」とは、特に説明しない限り電気的に接続することを意味し、接続によって信号が伝達可能とされれば足り、配線によって直接接続される場合に限らず、途中にバッファ等が含まれていてもよい。
【００３０】
〔２〕Ｉ２ＣとＳＰＩ
〔１〕項の半導体装置（１００）において、以下のとおりである。
【００３１】
前記第１のシリアル通信は、前記外部制御装置をマスタ側とし、前記半導体装置をスレーブ側とするＩ２Ｃ（Inter-Integrated Circuit）通信であり、前記第１クロック端子はＩ２Ｃのシリアルクロック（ＳＣＬ）用の端子であり、前記第１データ端子はＩ２Ｃデータ転送（ＳＤＡ）用の端子である。また、前記割り込み要求端子は、前記第１のシリアル通信におけるスレーブ側である前記半導体装置からマスタ側である前記外部制御装置に対するアクセス要求信号である。
【００３２】
前記第２のシリアル通信は、前記半導体装置をマスタ側とし、前記不揮発性メモリをスレーブ側とするＳＰＩ（Serial Peripheral Interface）通信である。前記第２クロック端子はＳＰＩのシリアルクロック用の端子（ＳＰＩ＿ＣＬＫ）であり、前記データ出力端子はＳＰＩのマスタからスレーブへのデータ転送用の端子（ＳＰＩ＿ＭＯＳＩ；Master OUT / Slave IN）であり、前記データ入力端子はＳＰＩのスレーブからマスタへのデータ転送用の端子（ＳＰＩ＿ＭＩＳＯ；Master IN / Slave OUT）であり、前記チップセレクト端子にＳＰＩのスレーブである前記不揮発性メモリを活性化するためのチップセレクト端子（ＳＰＩ＿ＣＳ）である。
【００３３】
これにより、ブリッジモード時に、低速のＩ２Ｃバス用の端子が高速のＳＰＩバス用の端子に転用され、端子数を増やすことなく、外部制御装置（メインコントローラ）（３０１）から不揮発性メモリ（１０３）に高速にアクセスすることができる。
【００３４】
〔３〕ブリッジモード時にＳＰＩ＿ＣＳのレベルをブリッジ回路が制御（実施形態１）
〔１〕項または〔２〕項の半導体装置（１００）において、前記ブリッジ回路は、前記ブリッジモード時に、前記チップセレクト端子に前記不揮発性メモリを選択する信号レベルを制御するためのチップセレクトレベル設定レジスタ（６１）を有する。
【００３５】
これにより、半導体装置（コントローラ）は、表示パネル、タッチパネルまたは表示タッチパネルと、不揮発性メモリとに電気的に接続され、表示モジュールに実装されたときに、外部制御装置（メインコントローラ）と接続する表示モジュールのコネクタの端子数を増やすことなく、外部制御装置（メインコントローラ）から不揮発性メモリへの書き込みに要する時間を短縮することができる。
【００３６】
〔４〕ブリッジモード時にＳＰＩ＿ＣＳを制御する端子を追加（実施形態２）
〔１〕項または〔２〕項において、前記半導体装置（１００）は、前記外部制御装置と接続されるための選択制御端子（ｈｏｓｔ＿ＳＰＩ＿ＣＳ，８）をさらに有し、前記複数のスイッチ回路は、ブリッジモード時に、前記チップセレクト端子と前記選択制御端子とを接続する。
【００３７】
これにより、半導体装置（コントローラ）は、表示パネル、タッチパネルまたは表示タッチパネルと、不揮発性メモリとに電気的に接続され、表示モジュールに実装されたときに、外部制御装置（メインコントローラ）と接続する表示モジュールのコネクタの端子数の増加を最小限に抑えて、外部制御装置（メインコントローラ）から不揮発性メモリへの書き込みに要する時間を短縮することができる。
【００３８】
〔５〕ヒューマンインターフェースモジュール
表示パネル（１０１）、タッチパネル（１０２）または表示タッチパネルであるヒューマンインターフェースパネルと、不揮発性メモリ（１０３）と、前記ヒューマンインターフェースパネルと前記不揮発性メモリと電気的に接続される半導体装置（１００）と、前記半導体装置と外部制御装置（３０１）とを接続するためのコネクタ（２０１）とを備える、ヒューマンインターフェースモジュール（２００）であって、以下のように構成される。
【００３９】
前記半導体装置は、前記外部制御装置との間で第１のシリアル通信（例えばＩ２Ｃ通信）を行うための第１クロック端子（ＳＣＬ，１）及び第１データ端子（ＳＤＡ，２）と、前記外部制御装置に対する割り込み要求端子（ＡＴＴＮ，３）と、前記不揮発性メモリとの間で第２のシリアル通信（例えばＳＰＩ通信）を行うための第２クロック端子（ＳＰＩ＿ＣＬＫ，４）、データ出力端子（ＳＰＩ＿ＭＯＳＩ，５）、データ入力端子（ＳＰＩ＿ＭＩＳＯ，６）、及び、チップセレクト端子（ＳＰＩ＿ＣＳ，７）とを有する。
【００４０】
前記コネクタ（２０１）は、前記半導体装置が有する前記第１クロック端子（ＳＣＬ，１）と前記第１データ端子（ＳＤＡ，２）と前記割り込み要求端子（ＡＴＴＮ，３）のそれぞれに対応する３個の端子（１１，１２，１３）を含む複数の端子を有する。
【００４１】
前記半導体装置は、制御回路（ＣＰＵ，３０）と、前記制御回路が前記外部制御装置との間で前記第１のシリアル通信を行うため第１通信インターフェース回路（Ｉ２Ｃ−Ｉ／Ｆ，３１）と、前記制御回路が前記不揮発性メモリとの間で前記第２のシリアル通信を行うため第２通信インターフェース回路（ＳＰＩ＿Ｉ／Ｆ，３２）と、割り込み要求回路（ＡＴＴＮ＿ｌｏｇｉｃ，３３）と、ブリッジ回路（１０）とを備える。
【００４２】
前記ブリッジ回路は、複数のスイッチ回路（５１〜５７）を有し、通常モード時に、前記第１クロック端子（ＳＣＬ，１）と前記第１データ端子（ＳＤＡ，２）とを前記第１通信インターフェース回路（Ｉ２Ｃ−ＩＦ，３１）と接続し、前記第２クロック端子（ＳＰＩ＿ＣＬＫ，４）と前記データ出力端子（ＳＰＩ＿ＭＯＳＩ，５）と前記データ入力端子（ＳＰＩ＿ＭＩＳＯ，６）と前記チップセレクト端子（ＳＰＩ＿ＣＳ，７）とを前記第２通信インターフェース回路（ＳＰＩ＿Ｉ／Ｆ，３２）と接続し、前記割り込み要求端子（ＡＴＴＮ，３）と前記割り込み要求回路（ＡＴＴＮ＿ｌｏｇｉｃ，３３）とを接続する。
【００４３】
前記複数のスイッチ回路は、ブリッジモード時に、前記第１クロック端子（ＳＣＬ，１）と前記第２クロック端子（ＳＰＩ＿ＣＬＫ，４）とを接続し、前記第１データ端子（ＳＤＡ，２）と前記データ出力端子（ＳＰＩ＿ＭＯＳＩ，５）とを接続し、前記割り込み要求端子（ＡＴＴＮ，３）と前記データ入力端子（ＳＰＩ＿ＭＩＳＯ，６）とを接続し、前記チップセレクト端子に前記不揮発性メモリを選択する信号レベル（６３）を出力する。
【００４４】
これにより、表示モジュール、タッチパネルモジュール、または表示タッチ検出モジュールなどの、ヒューマンインターフェースモジュール（２００）をメインコントローラなどの外部制御装置（３０１）に接続するためのコネクタ（２０１）の端子数を抑えたまま、外部制御装置（メインコントローラ）から不揮発性メモリ（１０３）への書き込みに要する時間を短縮することができる。
【００４５】
〔６〕Ｉ２ＣとＳＰＩ
〔５〕項のヒューマンインターフェースモジュール（２００）において、以下のとおりである。
【００４６】
前記第１のシリアル通信は、前記外部制御装置をマスタ側とし、前記半導体装置をスレーブ側とするＩ２Ｃ通信であり、前記第１クロック端子はＩ２Ｃのシリアルクロック（ＳＣＬ）用の端子であり、前記第１データ端子はＩ２Ｃデータ転送（ＳＤＡ）用の端子である。また、前記割り込み要求端子は、前記第１のシリアル通信におけるスレーブ側である前記半導体装置からマスタ側である前記外部制御装置に対するアクセス要求信号である。
【００４７】
前記第２のシリアル通信は、前記半導体装置をマスタ側とし、前記不揮発性メモリをスレーブ側とするＳＰＩ通信である。前記第２クロック端子はＳＰＩのシリアルクロック用の端子（ＳＰＩ＿ＣＬＫ）であり、前記データ出力端子はＳＰＩのマスタからスレーブへのデータ転送用の端子（ＳＰＩ＿ＭＯＳＩ；Master OUT / Slave IN）であり、前記データ入力端子はＳＰＩのスレーブからマスタへのデータ転送用の端子（ＳＰＩ＿ＭＩＳＯ；Master IN / Slave OUT）であり、前記チップセレクト端子にＳＰＩのスレーブである前記不揮発性メモリを活性化するためのチップセレクト端子（ＳＰＩ＿ＣＳ）である。
【００４８】
これにより、〔２〕項の半導体装置（１００）を搭載することによって〔２〕項と同様に作用し同様の効果を奏するヒューマンインターフェースモジュール（２００）を提供することができる。
【００４９】
〔７〕ブリッジモード時にＳＰＩ＿ＣＳのレベルをブリッジ回路が制御（実施形態１）
〔５〕項または〔６〕項のヒューマンインターフェースモジュール（２００）において、前記ブリッジ回路は、前記ブリッジモード時に、前記チップセレクト端子に前記不揮発性メモリを選択する信号レベルを制御するためのチップセレクトレベル設定レジスタ（６１）を有する。
【００５０】
これにより、〔３〕項の半導体装置（１００）を搭載することによって〔３〕項と同様に作用し同様の効果を奏するヒューマンインターフェースモジュール（２００）を提供することができる。
【００５１】
〔８〕ブリッジモード時にＳＰＩ＿ＣＳを制御する端子を追加（実施形態２）
〔５〕項または〔６〕項のヒューマンインターフェースモジュール（２００）において、前記半導体装置は、前記外部制御装置と接続されるための選択制御端子（ｈｏｓｔ＿ＳＰＩ＿ＣＳ，８）をさらに有し、前記複数のスイッチ回路は、ブリッジモード時に、前記チップセレクト端子と前記選択制御端子とを接続する。
【００５２】
これにより、〔４〕項の半導体装置（１００）を搭載することによって〔４〕項と同様に作用し同様の効果を奏するヒューマンインターフェースモジュール（２００）を提供することができる。
【００５３】
〔９〕電子機器
ヒューマンインターフェースモジュール（２００）と、メインコントローラ（３０１）と、ホスト側ブリッジ回路（３０２）と、ホスト側コネクタ（３０３）とを備える電子機器（１０００）であって、以下のように構成される。
【００５４】
前記ヒューマンインターフェースモジュール（２００）は、表示パネル（１０１）、タッチパネル（１０２）または表示タッチパネルであるヒューマンインターフェースパネルと、不揮発性メモリ（１０３）と、前記ヒューマンインターフェースパネルと前記不揮発性メモリと電気的に接続される半導体装置（１００）と、前記ホスト側コネクタ（３０３）と接続されるモジュール側コネクタ（２０１）とを備える。
【００５５】
前記半導体装置（１００）と前記メインコントローラ（３０１）とは、前記モジュール側コネクタ（２０１）と、前記ホスト側コネクタ（３０３）と、前記ホスト側ブリッジ回路（３０２）とを介して接続される。
【００５６】
前記半導体装置は、前記メインコントローラとの間で第１のシリアル通信（例えばＩ２Ｃ通信）を行うための第１クロック端子（ＳＣＬ，１）と第１データ端子（ＳＤＡ，２）と、前記メインコントローラに対する割り込み要求端子（ＡＴＴＮ，３）と、前記不揮発性メモリとの間で第２のシリアル通信を行うための第２クロック端子（ＳＰＩ＿ＣＬＫ，４）とデータ出力端子（ＳＰＩ＿ＭＯＳＩ，５）とデータ入力端子（ＳＰＩ＿ＭＩＳＯ，６）とチップセレクト端子（ＳＰＩ＿ＣＳ，７）とを有する。
【００５７】
前記モジュール側コネクタ（２０１）は、前記半導体装置が有する前記第１クロック端子と前記第１データ端子と前記割り込み要求端子のそれぞれに対応する３個の端子（１１，１２，１３）を含む複数の端子を有する。
【００５８】
前記半導体装置は、制御回路（ＣＰＵ，３０）と、前記制御回路が前記メインコントローラとの間で前記第１のシリアル通信を行うため第１通信インターフェース回路（Ｉ２Ｃ−Ｉ／Ｆ，３１）と、前記制御回路が前記不揮発性メモリとの間で前記第２のシリアル通信を行うため第２通信インターフェース回路（ＳＰＩ＿Ｉ／Ｆ，３２）と、割り込み要求回路（ＡＴＴＮ＿ｌｏｇｉｃ，３３）と、モジュール側ブリッジ回路（１０）とを備える。
【００５９】
前記モジュール側ブリッジ回路は、複数のモジュール側スイッチ回路（５１〜５７）を有し、通常モード時に、前記第１クロック端子（ＳＣＬ，１）と前記第１データ端子（ＳＤＡ，２）とを前記第１通信インターフェース回路（Ｉ２Ｃ−ＩＦ，３１）と接続し、前記第２クロック端子（ＳＰＩ＿ＣＬＫ，４）と前記データ出力端子（ＳＰＩ＿ＭＯＳＩ，５）と前記データ入力端子（ＳＰＩ＿ＭＩＳＯ，６）と前記チップセレクト端子（ＳＰＩ＿ＣＳ，７）とを前記第２通信インターフェース回路（ＳＰＩ＿Ｉ／Ｆ，３２）と接続し、前記割り込み要求端子（ＡＴＴＮ，３）と前記割り込み要求回路（ＡＴＴＮ＿ｌｏｇｉｃ，３３）とを接続する。
【００６０】
前記複数のモジュール側スイッチ回路（５１〜５７）は、ブリッジモード時に、前記第１クロック端子（ＳＣＬ，１）と前記第２クロック端子（ＳＰＩ＿ＣＬＫ，４）とを接続し、前記第１データ端子（ＳＤＡ，２）と前記データ出力端子（ＳＰＩ＿ＭＯＳＩ，５）とを接続し、前記割り込み要求端子（ＡＴＴＮ，３）と前記データ入力端子（ＳＰＩ＿ＭＩＳＯ，６）とを接続し、前記チップセレクト端子に前記不揮発性メモリを選択する信号レベル（６３）を出力する。
【００６１】
前記メインコントローラ（３０１）は、前記半導体装置と前記第１のシリアル通信を行うためのホスト側第１クロック端子（ＳＣＬ，７１）及びホスト側第１データ端子（ＳＤＡ，７２）と、前記メインコントローラに対する割り込み要求を受信する割り込み要求受信端子（ＡＴＴＮ，７３）と、前記第２のシリアル通信と同じ規格に準拠して前記不揮発性メモリと第３のシリアル通信を行うためのホスト側第２クロック端子（ＳＰＩ＿ＣＫＬ，７４）、ホスト側データ出力端子（ＳＰＩ＿ＭＯＳＩ，７５）、ホスト側データ入力端子（ＳＰＩ＿ＭＩＳＯ，７６）及びホスト側チップセレクト端子（ＳＰＩ＿ＣＳ，７７）と、を有する。
【００６２】
前記ホスト側ブリッジ回路（３０２）は、複数のホスト側スイッチ回路（８１〜８３；８１〜８４；８１〜８２）を有し、前記複数のホスト側スイッチ回路は、通常モード時に、前記ホスト側第１クロック端子（ＳＣＬ，７１）を前記半導体装置の前記第１クロック端子（ＳＣＬ，１）に、前記ホスト側第１データ端子（ＳＤＡ，７２）を前記半導体装置の前記第１データ端子（ＳＤＡ，２）に、前記ホスト側コネクタ（３０３）と前記モジュール側コネクタ（２０１）とを介してそれぞれ電気的に接続する。
【００６３】
前記複数のホスト側スイッチ回路は、ブリッジモード時に、前記ホスト側第２クロック端子（ＳＰＩ＿ＣＫＬ，７４）を前記半導体装置の前記第１クロック端子（ＳＣＬ，１）に、前記ホスト側データ出力端子（ＳＰＩ＿ＭＯＳＩ，７５）を前記半導体装置の前記第１データ端子（ＳＤＡ，２）に、前記ホスト側コネクタ（３０３）と前記モジュール側コネクタ（２０１）とを介してそれぞれ電気的に接続する。
【００６４】
これにより、外部制御装置（メインコントローラ）（３０１）はブリッジモード時に、高速に不揮発性メモリ（１０３）にアクセスすることができる。
【００６５】
〔１０〕Ｉ２ＣとＳＰＩ
〔９〕項の電子機器（１０００）において、前記第１のシリアル通信は、前記外部制御装置をマスタ側とし、前記半導体装置をスレーブ側とするＩ２Ｃ通信であり、前記第１クロック端子はＩ２Ｃのシリアルクロック（ＳＣＬ）用の端子であり、前記第１データ端子はＩ２Ｃデータ転送（ＳＤＡ）用の端子である。また、前記割り込み要求端子は、前記第１のシリアル通信におけるスレーブ側である前記半導体装置からマスタ側である前記外部制御装置に対するアクセス要求信号である。
【００６６】
また、前記半導体装置において、前記第２のシリアル通信は、前記半導体装置をマスタ側とし、前記不揮発性メモリをスレーブ側とするＳＰＩ（Serial Peripheral Interface）通信である。前記第２クロック端子はＳＰＩのシリアルクロック用の端子（ＳＰＩ＿ＣＬＫ）であり、前記データ出力端子はＳＰＩのマスタからスレーブへのデータ転送用の端子（ＳＰＩ＿ＭＯＳＩ；Master OUT / Slave IN）であり、前記データ入力端子はＳＰＩのスレーブからマスタへのデータ転送用の端子（ＳＰＩ＿ＭＩＳＯ；Master IN / Slave OUT）であり、前記チップセレクト端子にＳＰＩのスレーブである前記不揮発性メモリを活性化するためのチップセレクト端子（ＳＰＩ＿ＣＳ）である。
【００６７】
これにより、ブリッジモード時に、低速のＩ２Ｃバス用の端子が高速のＳＰＩバス用の端子に転用され、端子数を増やすことなく、外部制御装置（メインコントローラ）（３０１）から不揮発性メモリ（１０３）に高速にアクセスすることができる。
【００６８】
〔１１〕ブリッジモード時にＳＰＩ＿ＣＳのレベルをブリッジ回路が制御（実施形態１）
〔９〕項または〔１０〕項の電子機器（１０００）において、前記ブリッジ回路は、前記ブリッジモード時に、前記チップセレクト端子に前記不揮発性メモリを選択する信号レベルを制御するためのチップセレクトレベル設定レジスタ（６１）を有する。
【００６９】
これにより、〔３〕項の半導体装置（１００）を搭載することによって〔３〕項と同様に作用し同様の効果を奏する電子機器（１０００）を提供することができる。
【００７０】
〔１２〕ブリッジモード時にＳＰＩ＿ＣＳを制御する端子を追加（実施形態２）
〔９〕項または〔１０〕項の電子機器（１０００）において、前記半導体装置は、前記外部制御装置と接続されるための選択制御端子（ｈｏｓｔ＿ＳＰＩ＿ＣＳ，８）をさらに有し、前記複数のスイッチ回路は、ブリッジモード時に、前記チップセレクト端子と前記選択制御端子とを接続する。
【００７１】
これにより、〔４〕項の半導体装置（１００）を搭載することによって〔４〕項と同様に作用し同様の効果を奏する電子機器（１０００）を提供することができる。
【００７２】
〔１３〕ホスト側ブリッジ回路（実施形態１、図４）
〔９〕項または〔１０〕項の電子機器（１０００）において、以下のとおりである。
【００７３】
前記ホスト側コネクタ（３０３）は、前記モジュール側コネクタ（２０１）の前記３個の端子（１１，１２，１３）のそれぞれと接続されるホスト側コネクタの第１、第２及び第３の端子（４１，４２，４３）を有する。
【００７４】
前記メインコントローラ（３０１）は、バス選択端子（ｂｕｓ＿ｓｅｌｅｃｔ、７８）をさらに有する。
【００７５】
前記複数のホスト側スイッチ回路（８１〜８３）は、前記バス選択端子から出力されるバス選択制御信号（ｂｕｓ＿ｓｅｌｅｃｔ）によって切り替えられる双投スイッチである、第１及び第２及び第３のホスト側スイッチ回路（８１〜８３）である。
【００７６】
前記第１のホスト側スイッチ回路（８１）は、通常モード時に前記ホスト側第１クロック端子（ＳＣＬ，７１）を前記ホスト側コネクタの第１の端子に接続し、前記ブリッジモード時に前記ホスト側第２クロック端子（ＳＰＩ＿ＣＫＬ，７４）を前記ホスト側コネクタの第１の端子に接続する。
【００７７】
前記第２のホスト側スイッチ回路（８２）は、通常モード時に前記ホスト側第１データ端子（ＳＤＡ，７２）を前記ホスト側コネクタの第２の端子に接続し、前記ブリッジモード時に前記ホスト側データ出力端子（ＳＰＩ＿ＭＯＳＩ，７５）を前記ホスト側コネクタの第２の端子に接続する。
【００７８】
前記第３のホスト側スイッチ回路（８３）は、通常モード時に前記割り込み要求受信端子（ＡＴＴＮ，７３）を前記ホスト側コネクタの第３の端子に接続し、前記ブリッジモード時に前記ホスト側データ入力端子（ＳＰＩ＿ＭＩＳＯ，７６）を前記ホスト側コネクタの第３の端子に接続する。
【００７９】
これにより、ホスト側ブリッジ回路（３０２）を簡略に構成することができる。例えば、４個の単極双投（ＳＰＤＴ：Single Pole Double Throw）スイッチ８１〜８４を集積した汎用ＩＣ（quad SPDT）を１個だけ用いて構成することができる。
【００８０】
〔１４〕ホスト側ブリッジ回路（実施形態２、図１０）
〔９〕項または〔１０〕項の電子機器（１０００）において、以下のとおりである。
【００８１】
前記半導体装置は、選択制御端子（ｈｏｓｔ＿ＳＰＩ＿ＣＳ，８）をさらに有する。
【００８２】
前記モジュール側コネクタ（２０１）は、前記選択制御端子（ｈｏｓｔ＿ＳＰＩ＿ＣＳ，８）に対応する端子（１８）をさらに有する。
【００８３】
前記ホスト側コネクタ（３０３）は、前記モジュール側コネクタ（２０１）の前記３個の端子（１１，１２，１３）及び前記選択制御端子（ｈｏｓｔ＿ＳＰＩ＿ＣＳ，８）に対応する端子（１８）のそれぞれと接続されるホスト側コネクタの第１、第２、第３及び第４の端子（４１，４２，４３，４８）を有する。
【００８４】
前記メインコントローラ（３０１）は、バス選択端子（ｂｕｓ＿ｓｅｌｅｃｔ、７８）をさらに有する。
【００８５】
前記複数のホスト側スイッチ回路（８１〜８４）は、前記バス選択端子から出力されるバス選択制御信号（ｂｕｓ＿ｓｅｌｅｃｔ）によって切り替えられる双投スイッチである、第１、第２、第３及び第４のホスト側スイッチ回路（８１〜８４）である。
【００８６】
前記第１のホスト側スイッチ回路（８１）は、前記通常モード時に前記ホスト側第１クロック端子（ＳＣＬ，７１）を前記ホスト側コネクタの第１の端子に接続し、前記ブリッジモード時に前記ホスト側第２クロック端子（ＳＰＩ＿ＣＫＬ，７４）を前記ホスト側コネクタの第１の端子に接続する。
【００８７】
前記第２のホスト側スイッチ回路（８２）は、前記通常モード時に前記ホスト側第１データ端子（ＳＤＡ，７２）を前記ホスト側コネクタの第２の端子に接続し、前記ブリッジモード時に前記ホスト側データ出力端子（ＳＰＩ＿ＭＯＳＩ，７５）を前記ホスト側コネクタの第２の端子に接続する。
【００８８】
前記第３のホスト側スイッチ回路（８３）は、前記通常モード時に前記割り込み要求受信端子（ＡＴＴＮ，７３）を前記ホスト側コネクタの第３の端子に接続し、前記ブリッジモード時に前記ホスト側データ入力端子（ＳＰＩ＿ＭＩＳＯ，７６）を前記ホスト側コネクタの第３の端子に接続する。
【００８９】
前記第４のホスト側スイッチ回路（８４）は、前記ブリッジモード時に前記ホスト側チップセレクト端子（ＳＰＩ＿ＣＳ，７７）を前記ホスト側コネクタの第４の端子に接続する。
【００９０】
これにより、ホスト側ブリッジ回路（３０２）を簡略に構成することができる。例えば、４個の単極双投（ＳＰＤＴ：Single Pole Double Throw）スイッチ８１〜８４を集積した汎用ＩＣ（quad SPDT）を１個だけ用いて構成することができる。
【００９１】
〔１４〕ホスト側ブリッジ回路（実施形態３、図１１）
〔９〕項または〔１０〕項の電子機器（１０００）において、以下のとおりである。
【００９２】
前記ホスト側コネクタ（３０３）は、前記モジュール側コネクタ（２０１）の前記３個の端子（１１，１２，１３）のそれぞれと接続されるホスト側コネクタの第１、第２及び第３の端子（４１，４２，４３）を有する。
【００９３】
前記メインコントローラ（３０１）は、モード制御端子（ＭＯＤＥ、７８）をさらに有する。
【００９４】
前記ホスト側ブリッジ回路は、前記第３の端子に入力される信号によって前記モード制御端子から出力されるモード制御信号（ＭＯＤＥ）をラッチしてラッチされたモード制御信号を出力する、ラッチ回路（９０）をさらに備える。
【００９５】
前記複数のホスト側スイッチ回路（８１〜８３）は、前記ラッチされたモード制御信号によって切り替えられる双投スイッチである、第１、第２及び第３のホスト側スイッチ回路（８１〜８３）である。
【００９６】
前記第１のホスト側スイッチ回路（８１）は、通常モード時に前記ホスト側第１クロック端子（ＳＣＬ，７１）を前記ホスト側コネクタの第１の端子に接続し、前記ブリッジモード時に前記ホスト側第２クロック端子（ＳＰＩ＿ＣＫＬ，７４）を前記ホスト側コネクタの第１の端子に接続する。
【００９７】
前記第２のホスト側スイッチ回路（８２）は、通常モード時に前記ホスト側第１データ端子（ＳＤＡ，７２）を前記ホスト側コネクタの第２の端子に接続し、前記ブリッジモード時に前記ホスト側データ出力端子（ＳＰＩ＿ＭＯＳＩ，７５）を前記ホスト側コネクタの第２の端子に接続する。
【００９８】
前記第３のホスト側スイッチ回路（８３）は、通常モード時に前記割り込み要求受信端子（ＡＴＴＮ，７３）を前記ホスト側コネクタの第３の端子に接続し、前記ブリッジモード時に前記ホスト側データ入力端子（ＳＰＩ＿ＭＩＳＯ，７６）を前記ホスト側コネクタの第３の端子に接続する。
【００９９】
これにより、メインコントローラ（３０１）によるホスト側ブリッジ回路（３０２）の制御を簡略化することができる。即ち、モジュール側のブリッジモードへ遷移が完了したことを待つ処理を、追加されたラッチ回路（９０）が行うので、ソフトウェアで実装する必要がない。
【０１００】
〔１５〕ホスト側ブリッジ回路（実施形態４、図１２）
〔９〕項または〔１０〕項の電子機器（１０００）において、以下のとおりである。
【０１０１】
前記ホスト側コネクタ（３０３）は、前記モジュール側コネクタ（２０１）の前記３個の端子（１１，１２，１３）のそれぞれと接続されるホスト側コネクタの第１、第２及び第３の端子（４１，４２，４３）を有する。
【０１０２】
前記メインコントローラ（３０１）は、モード制御端子（ＭＯＤＥ、７８）をさらに有する。
【０１０３】
前記ホスト側ブリッジ回路において、前記第３の端子に入力される信号は、前記割り込み要求受信端子（ＡＴＴＮ，７３）と前記ホスト側データ入力端子（ＳＰＩ＿ＭＩＳＯ，７６）とに入力される。
【０１０４】
前記ホスト側ブリッジ回路は、前記第３の端子に入力される信号によって前記モード制御端子から出力されるモード制御信号（ＭＯＤＥ）をラッチしてラッチされたモード制御信号を出力する、ラッチ回路（９０）をさらに備える。
【０１０５】
前記複数のホスト側スイッチ回路（８１〜８２）は、前記ラッチされたモード制御信号によって切り替えられる双投スイッチである、第１及び第２のホスト側スイッチ回路（８１〜８２）である。
【０１０６】
前記第１のホスト側スイッチ回路（８１）は、通常モード時に前記ホスト側第１クロック端子（ＳＣＬ，７１）を前記ホスト側コネクタの第１の端子に接続し、前記ブリッジモード時に前記ホスト側第２クロック端子（ＳＰＩ＿ＣＫＬ，７４）を前記ホスト側コネクタの第１の端子に接続する。
【０１０７】
前記第２のホスト側スイッチ回路（８２）は、通常モード時に前記ホスト側第１データ端子（ＳＤＡ，７２）を前記ホスト側コネクタの第２の端子に接続し、前記ブリッジモード時に前記ホスト側データ出力端子（ＳＰＩ＿ＭＯＳＩ，７５）を前記ホスト側コネクタの第２の端子に接続する。
【０１０８】
これにより、メインコントローラ（３０１）によるホスト側ブリッジ回路（３０２）の制御を簡略化することができる。即ち、ホスト側ブリッジ回路（３０２）を、例えば、２個の単極双投（ＳＰＤＴ）スイッチ８１〜８２を集積した１個の汎用ＩＣ（dual SPDT）を用いて構成することができ、さらに、〔１４〕項と同様に、モジュール側のブリッジモードへ遷移が完了したことを待つ処理を、ラッチ回路（９０）が行うので、ソフトウェアで実装する必要がない。
【０１０９】
２．実施の形態の詳細
実施の形態について更に詳述する。
【０１１０】
〔実施形態１〕
図１は、実施形態１に係る電子機器１０００の構成例を示すブロック図である。
【０１１１】
電子機器１０００は、ヒューマンインターフェースモジュール２００とホスト側ボード３００とを含んで構成される。ヒューマンインターフェースモジュール２００は、表示モジュール、タッチ検出モジュール等の総称であり、例えば、表示パネル１０１、タッチパネル１０２、その両方（図１に例示）、またはそれらが統合された表示タッチパネルであるヒューマンインターフェースパネルと、それを制御するコントローラＩＣである半導体装置１００と、半導体装置１００に接続される不揮発性メモリ（例えばＳＰＩフラッシュメモリ）１０３を含んで構成される。ホスト側ボード３００は、ヒューマンインターフェースモジュール２００に接続されてそれを制御する回路装置であり、図示が省略されたメインコントローラ３０１が搭載されている。ヒューマンインターフェースモジュール２００とホスト側ボード３００は、モジュール側コネクタ２０１とホスト側コネクタ３０３とをそれぞれ備え、それらを結合することによって電気的に接続される。
【０１１２】
半導体装置１００は、メインコントローラ３０１との間で第１のシリアル通信（例えばＩ２Ｃ通信）を行うための第１クロック端子（ＳＣＬ）１と、第１データ端子（ＳＤＡ）２と、メインコントローラ３０１に対する割り込み要求端子（ＡＴＴＮ）３と、不揮発性メモリ１０３との間で第２のシリアル通信（例えばＳＰＩ通信）を行うための第２クロック端子（ＳＰＩ＿ＣＬＫ）４とデータ出力端子（ＳＰＩ＿ＭＯＳＩ）５とデータ入力端子（ＳＰＩ＿ＭＩＳＯ）６とチップセレクト端子（ＳＰＩ＿ＣＳ）７とを有する。
【０１１３】
ここで、第１のシリアル通信は、クロック信号線１本とデータ信号線１本からなる２線式の通信路による、比較的低速のシリアル通信であり、例えばＩ２Ｃ（Inter-Integrated Circuit）通信である。第２のシリアル通信は、クロック信号線１本と上り下りのデータ信号線各１本からなる３線式の通信路による、比較的高速のシリアル通信であり、例えばＳＰＩ（Serial Peripheral Interface）通信である。
【０１１４】
図１は第１のシリアル通信をＩ２Ｃ通信、第２のシリアル通信をＳＰＩ通信とした例である。
【０１１５】
第１のシリアル通信であるＩ２Ｃ通信では、ホスト側をマスタ、ヒューマンインターフェースモジュール２００側（「モジュール側」と略す）をスレーブとする。半導体装置１００は、Ｉ２Ｃのシリアルクロック（ＳＣＬ）用の端子１と、データ転送（ＳＤＡ）用の端子２に加え、スレーブである半導体装置１００側からマスタへのアクセス要求を可能とするために割り込み要求端子（ＡＴＴＮ）３を有する。また、ヒューマンインターフェースモジュール２００は、モジュール側コネクタ２０１に、それぞれに対応する端子、シリアルクロック（ＳＣＬ）用の端子１１、データ転送（ＳＤＡ）用の端子１２及び割り込み要求端子（ＡＴＴＮ）１３を有する。
【０１１６】
第２のシリアル通信であるＳＰＩ通信では、半導体装置１００をマスタ、不揮発性メモリ１０３をスレーブとする。半導体装置１００の第２クロック端子４はＳＰＩのシリアルクロック用の端子（ＳＰＩ＿ＣＬＫ）であり、不揮発性メモリ１０３の端子２４と接続される。半導体装置１００のデータ出力端子５は、ＳＰＩのマスタからスレーブへのデータ転送用の端子（ＳＰＩ＿ＭＯＳＩ；Master OUT / Slave IN）であり、不揮発性メモリ１０３の端子２５と接続される。半導体装置１００のデータ入力端子６は、ＳＰＩのスレーブからマスタへのデータ転送用の端子（ＳＰＩ＿ＭＩＳＯ；Master IN / Slave OUT）であり、不揮発性メモリ１０３の端子２６と接続される。半導体装置１００のチップセレクト（ＳＰＩ＿ＣＳ）端子７は、ＳＰＩのスレーブである不揮発性メモリ１０３を活性化するための端子であり、不揮発性メモリ１０３の端子２７と接続される。
【０１１７】
半導体装置１００は、制御回路であるＣＰＵ３０、第１通信インターフェース回路（Ｉ２Ｃ−Ｉ／Ｆ）３１、第２通信インターフェース回路（ＳＰＩ−Ｉ／Ｆ）３２、割り込み要求回路（ＡＴ）３３、及びブリッジ回路１０を備える。半導体装置１００は、さらに、表示パネルコントローラ（ＤＰＣ）３８と表示パネルコントローラ用制御信号インターフェース回路（DPC-I/F）３５、タッチパネルコントローラ（ＴＰＣ）３９とタッチパネルコントローラ用制御信号インターフェース（TPC-I/F）３６、ブートＲＯＭ３４、及び、表示データインターフェース（DD-I/F）４０を備える。
【０１１８】
半導体装置１００は、表示パネル端子２０とタッチパネル端子２２を有し、表示パネル１０１の表示パネル端子２１とタッチパネル１０２のタッチパネル端子２３に接続される。
【０１１９】
半導体装置１００は、表示データ転送端子９を有し、モジュール側コネクタ２０１の端子１９を介して、ホスト側ボード３００と接続される。表示データを転送するための通信路は、例えば、ＭＩＰＩ−ＤＳＩ（Mobile Industry Processor Interface - Display Serial Interface）であり、大量の画像データを高速に伝送する必要があるため、上記の第１及び第２のシリアル通信とは別個独立に設けられている。
【０１２０】
制御回路を構成するＣＰＵ３０は、第１通信インターフェース回路（Ｉ２Ｃ−Ｉ／Ｆ）３１、第２通信インターフェース回路（ＳＰＩ−Ｉ／Ｆ）３２、割り込み要求回路（ＡＴ）３３、ブートＲＯＭ３４、表示パネルコントローラ用制御信号インターフェース回路（DPC-I/F）３５、及び、タッチパネルコントローラ用制御信号インターフェース（TPC-I/F）３６と、バス３７を介して接続されている。
【０１２１】
表示パネルコントローラ（ＤＰＣ）３８は、表示パネルコントローラ用制御信号インターフェース回路（DPC-I/F）３５を介して、ＣＰＵ３０から供給され設定される各種のパラメータを保持し、ＣＰＵ３０から供給される制御コマンドに従って、表示パネル１０１の表示駆動を行う。即ち、ホスト側ボード３００からモジュール側コネクタ２０１の端子１９、表示データ転送端子９、表示データインターフェース（DD-I/F）４０を介して供給される画像データを、表示パネル端子２０と２１を介して表示パネル１０１に供給して表示させる。
【０１２２】
タッチパネルコントローラ（ＴＰＣ）３９は、タッチパネルコントローラ用制御信号インターフェース（TPC-I/F）３６を介して、ＣＰＵ３０から供給され設定される各種のパラメータを保持し、ＣＰＵ３０から供給される制御コマンドに従って、タッチパネル１０２のタッチ検出を行う。即ち、タッチパネル１０２からタッチパネル端子２３と２２を介して入力されるタッチセンス情報を、タッチパネルコントローラ（ＴＰＣ）３９で受信し、ディジタルデータとしてタッチパネルコントローラ用制御信号インターフェース（TPC-I/F）３６を介してＣＰＵ３０に入力する。ＣＰＵ３０は、受信したデータからタッチ座標を算出するなどのタッチ検出動作を行って、その結果を、第１通信インターフェース回路（Ｉ２Ｃ−Ｉ／Ｆ）３１を介してホスト側ボード３００に出力する。Ｉ２Ｃ通信では、スレーブ側であるＣＰＵ３０は、マスタであるホスト側ボード３００に対してアクセスを要求することができないので、割り込み要求回路（ＡＴ）３３を介して割り込み要求を行うことによってその機能を補完している。
【０１２３】
表示パネルコントローラ（ＤＰＣ）３８及び／またはタッチパネルコントローラ（ＴＰＣ）３９に設定する各種パラメータとＣＰＵ３０が実行するプログラムは、不揮発性メモリ１０３に格納されている。
【０１２４】
ＣＰＵ３０には、ブートＲＯＭ３４が接続されており、電源投入時にブートプログラムを実行することにより、例えば、不揮発性メモリ１０３に格納される各種パラメータを不揮発性メモリ１０３から読み出して、表示パネルコントローラ（ＤＰＣ）３８とタッチパネルコントローラ（ＴＰＣ）３９に初期設定し、不揮発性メモリ１０３に格納されるプログラムを起動する。
【０１２５】
本発明の半導体装置１００はブリッジ回路１０をさらに備え、以上のような通常動作モードに加えて、ホスト側ボード３００のメインコントローラ３０１からＣＰＵ３０を介さずに、直接、不揮発性メモリ１０３にアクセスする、ブリッジモードを設ける。
【０１２６】
ブリッジ回路１０は、通常モード時に、第１クロック端子（ＳＣＬ）１と第１データ端子（ＳＤＡ）２とを第１通信インターフェース回路（Ｉ２Ｃ−ＩＦ）３１と接続し、第２クロック端子（ＳＰＩ＿ＣＬＫ）４とデータ出力端子（ＳＰＩ＿ＭＯＳＩ）５とデータ入力端子（ＳＰＩ＿ＭＩＳＯ）６とチップセレクト端子（ＳＰＩ＿ＣＳ）７とを第２通信インターフェース回路（ＳＰＩ＿Ｉ／Ｆ）３２と接続し、割り込み要求端子（ＡＴＴＮ）３と割り込み要求回路（ＡＴ）３３とを接続する。
【０１２７】
一方、ブリッジモード時には、ブリッジ回路１０は、第１クロック端子（ＳＣＬ）１と第２クロック端子（ＳＰＩ＿ＣＬＫ）４とを接続し、第１データ端子（ＳＤＡ）２とデータ出力端子（ＳＰＩ＿ＭＯＳＩ）５とを接続し、割り込み要求端子（ＡＴＴＮ）３とデータ入力端子（ＳＰＩ＿ＭＩＳＯ）６とを接続し、チップセレクト端子７に不揮発性メモリを選択する信号レベルを出力する。
【０１２８】
これにより、外部制御装置であるメインコントローラ３０１はブリッジモード時に、高速に不揮発性メモリ１０３にアクセスすることができる。例えば、ヒューマンインターフェースモジュール２００にすべての部品が実装された段階では、不揮発性メモリ１０３は何のデータも書き込まれていない初期状態である。不揮発性メモリ１０３には、表示パネル１０１やタッチパネル１０２の個体差（製造ばらつき）を補正するためのパラメータが書き込まれるため、すべてが実装された後のテストを経て算出された、補正パラメータや補償パラメータが書き込まれる方が、便宜だからである。このとき、ホスト側ボード３００のメインコントローラ３０１から第１通信インターフェース回路（Ｉ２Ｃ−ＩＦ）３１と第２通信インターフェース回路（ＳＰＩ＿Ｉ／Ｆ）３２を介して、不揮発性メモリ１０３にアクセスすると、より低速の第１のシリアル通信（この例ではＩ２Ｃ）によって、データ転送レートが律速されてしまう。ブリッジモードでは、ブリッジ回路１０によって端子間を電気的に直接接続することによって、プロトコル変換を行うことなく、単に、第１のシリアル通信の通信経路に、第２のシリアル通信の信号を伝送させ、高速な第２のシリアル通信のデータ転送レートによって、不揮発性メモリ１０３へのアクセスを可能としている。
【０１２９】
このように、ホスト側ボード３００を、ヒューマンインターフェースモジュール２００のテストベンチとすることによって、ヒューマンインターフェースモジュール２００を出荷する前のテストにおいて、不揮発性メモリ１０３に各種パラメータとプログラムを書き込む時間を大幅に短縮することができる。
【０１３０】
また、ホスト側ボード３００を、ヒューマンインターフェースモジュール２００が実装される電子機器１０００のメインボード、メインコントローラ３０１をアプリケーションプロセッサとしてもよい。この場合には、例えば、ヒューマンインターフェースモジュール２００に搭載されているＣＰＵ３０のプログラムを更新（バージョンアップ）等する場合に、不揮発性メモリ１０３に書き込まれているプログラムを書き換える時間が大幅に短縮される。
【０１３１】
図１には、ヒューマンインターフェースモジュール２００として、表示パネル１０１とタッチパネル１０２の両方が搭載された、表示タッチモジュールである例を示したが、これは一例に過ぎない。表示パネル１０１とタッチパネル１０２とは、インセル方式またはオンセル方式によって一体化された表示タッチパネルであってもよいし、一方だけが搭載された、表示モジュールまたはタッチ検出モジュールであってもよい。さらには、同様の構成を有する他の電子機器にも種々変更することができる。
【０１３２】
図２は、実施形態１に係るブリッジ回路１０の構成例を示すブロック図である。
【０１３３】
ブリッジ回路１０は、チップセレクトレベル設定（io_bridge_cs_fix）レジスタ６１とブリッジモード（io_bridge_mode）設定レジスタ６２を含むレジスタ６０と、７個のスイッチ回路５１〜５７とを備える。レジスタ６０は、例えばＣＰＵ３０からバス３７を介してアクセスすることができるように構成される。
【０１３４】
ブリッジモード（io_bridge_mode）設定レジスタ６２は、通常モードまたはブリッジモードの動作モードを与える。
【０１３５】
通常モード時に、ブリッジ回路１０は、第１クロック端子（ＳＣＬ）１と第１データ端子（ＳＤＡ）２とを、それぞれスイッチ５１と５２によって第１通信インターフェース回路（Ｉ２Ｃ−ＩＦ）３１に接続し、割り込み要求回路（ＡＴＴＮ  ｌｏｇｉｃ）３３の出力を、スイッチ５３によって割り込み要求端子（ＡＴＴＮ）３に接続する。また、ブリッジ回路１０は、第２通信インターフェース回路（ＳＰＩ＿Ｉ／Ｆ）３２の出力を、それぞれスイッチ５４と５５と５７によって第２クロック端子（ＳＰＩ＿ＣＬＫ）４とデータ出力端子（ＳＰＩ＿ＭＯＳＩ）５とチップセレクト端子（ＳＰＩ＿ＣＳ）７に接続し、スイッチ５６によってデータ入力端子（ＳＰＩ＿ＭＩＳＯ）６からの入力を第２通信インターフェース回路（ＳＰＩ＿Ｉ／Ｆ）３２に供給する。
【０１３６】
一方、ブリッジモード時には、ブリッジ回路１０は、第１クロック端子（ＳＣＬ）１からの入力をスイッチ５１と５４を介して第２クロック端子（ＳＰＩ＿ＣＬＫ）４へ出力し、第１データ端子（ＳＤＡ）２からの入力をスイッチ５２と５５を介してデータ出力端子（ＳＰＩ＿ＭＯＳＩ）５へ出力する。また、ブリッジ回路１０は、データ入力端子（ＳＰＩ＿ＭＩＳＯ）６からの入力をスイッチ５６と５３を介して割り込み要求端子（ＡＴＴＮ）３へ出力し、チップセレクト端子（ＳＰＩ＿ＣＳ）７には、チップセレクトレベル設定（io_bridge_cs_fix）レジスタ６１に保持される値を出力する。
【０１３７】
以上のように、ブリッジ回路１０を単純なスイッチ回路で構成することにより、電気的な信号をそのまま別の通信インターフェース用の端子に乗せ換えることができるので、通信プロトコルの変換をする必要がなく、最小限の規模の回路を追加するだけで、コネクタの端子数を増やすことなく、メインコントローラ３０１から不揮発性メモリ１０３への高速アクセスを実現することができる。
【０１３８】
図３は、ブリッジ回路１０の変形例の構成を示すブロック図である。ブリッジ回路１０にはＡＮＤゲート６４とインバータ６５が追加され、スイッチ５１〜５３の切替制御と、スイッチ５４〜５７の切替制御が分離されている。また、第２通信インターフェース回路（ＳＰＩ＿Ｉ／Ｆ）３２には、このインターフェース回路が活性化されるときにセットされるＳＰＩマスタイネーブル（spi_mas_en）レジスタ６３が明示され、その出力信号は、ブリッジ回路１０に入力される。他の構成は図２と同様である。
【０１３９】
スイッチ５１〜５３の切替制御は、図２と同様に、ブリッジモード（io_bridge_mode）設定レジスタ６２に設定された状態に応じて行われる。一方、スイッチ５４〜５７の切替制御は、ＳＰＩマスタイネーブル（spi_mas_en）レジスタ６３に設定された値によって、ブリッジモード（io_bridge_mode）設定レジスタ６２に設定された状態に応じて図２と同様のブリッジモードの動作を行うか、第２通信インターフェース回路（ＳＰＩ＿Ｉ／Ｆ）３２から第２クロック端子（ＳＰＩ＿ＣＬＫ）４、データ出力端子（ＳＰＩ＿ＭＯＳＩ）５、データ入力端子（ＳＰＩ＿ＭＩＳＯ）６及びチップセレクト端子（ＳＰＩ＿ＣＳ）７を介しての不揮発性メモリ１０３へのアクセスを優先するかを制御する。即ち、スイッチ５４〜５７の切替制御は、ＳＰＩマスタイネーブル（spi_mas_en）レジスタ６３に設定された値が、第２通信インターフェース回路（ＳＰＩ＿Ｉ／Ｆ）３２を活性化しない状態を示すロウレベルの場合には、ブリッジモード（io_bridge_mode）設定レジスタ６２に設定された動作モードに応じて、図２と同様のブリッジモードの動作を行う。一方、第２通信インターフェース回路（ＳＰＩ＿Ｉ／Ｆ）３２が活性化された状態を示すハイレベルの場合には、リッジモード（io_bridge_mode）設定レジスタ６２に設定された動作モードにかかわらず、第２クロック端子（ＳＰＩ＿ＣＬＫ）４、データ出力端子（ＳＰＩ＿ＭＯＳＩ）５、データ入力端子（ＳＰＩ＿ＭＩＳＯ）６及びチップセレクト端子（ＳＰＩ＿ＣＳ）７の信号は、スイッチ５４〜５７によって、第２通信インターフェース回路（ＳＰＩ＿Ｉ／Ｆ）３２へ接続される。
【０１４０】
なお、図３に示した論理ゲート６４と６５による論理回路は、ＳＰＩマスタイネーブル（spi_mas_en）レジスタ６３が正論理であり、スイッチ５４〜５７は切替制御信号がハイレベルのときにブリッジモード側の接続に制御されることを前提として示した一例であって、正論理／負論理によって適宜変更される。
【０１４１】
これにより、ブリッジモード中であるにもかかわらず第２通信インターフェース回路（ＳＰＩ＿Ｉ／Ｆ）３２が活性化された場合には、そのアクセス権が優先され、第２通信インターフェース回路（ＳＰＩ＿Ｉ／Ｆ）３２を活性化したアクセス主体の動作が、ブリッジモードによって阻害されることなく保護される。例えば、図１に示す半導体装置１０において、表示データ転送端子９から入力されるコマンド中に、不揮発性メモリ１０３に格納されているパラメータを読み出して表示パネルコントローラ（ＤＰＣ）３８に設定するようなコマンドが含まれていたときには、ブリッジモードで動作している場合であっても、ＣＰＵ３０による第２通信インターフェース回路（ＳＰＩ＿Ｉ／Ｆ）３２を介する不揮発性メモリ１０３へのアクセスが優先され、表示パネルコントローラ（ＤＰＣ）３８による表示パネル（ＤＰ）１０１の駆動が阻害されることがなく、適切な表示動作が維持される。
【０１４２】
図４は、実施形態１に係るホスト側ボード３００の構成例を示すブロック図である。ホスト側ボード３００は、メインコントローラ３０１と、ホスト側ブリッジ回路３０２と、ホスト側コネクタ３０３とを備える。ホスト側コネクタ３０３は、ヒューマンインターフェースモジュール２００のモジュール側コネクタ２０１と接続されることによって、半導体装置１００内のブリッジ回路１０を介して、ホスト側ボード３００上のメインコントローラ３０１からの、ヒューマンインターフェースモジュール２００内の不揮発性メモリ１０３へのアクセスを可能としている。
【０１４３】
ホスト側コネクタ３０３は、ヒューマンインターフェースモジュール２００側の第１クロック（Ｉ２Ｃ＿ＳＣＬ）端子１と１１と対応する端子４１、ヒューマンインターフェースモジュール２００側のデータ（Ｉ２Ｃ＿ＳＤＡ）端子２と１２と対応する端子４２、ヒューマンインターフェースモジュール２００側の割り込み要求（ＡＴＴＮ）端子３と１３と対応する割り込み要求（ＡＴＴＮ）受信端子４３、リセット端子４４、及び、表示データ転送端子４９を有する。
【０１４４】
メインコントローラ３０１は、半導体装置１００と第１のシリアル通信（例えばＩ２Ｃ通信）を行うための第１通信インターフェース回路（I2C bus master）３１１、第２のシリアル通信と同じ規格に準拠して前不揮発性メモリ１０３と第３のシリアル通信（例えばＳＰＩ通信）を行うための第３通信インターフェース回路（SPI bus master）３１２、半導体装置１００からの割り込み要求（ＡＴＴＮ）を受信する割り込み制御回路（Interrupt source）３１３、及び、汎用ＩＯポート（GPIO: General Purpose Input / Output ports）３１４を備える。メインコントローラ３０１は、第１通信インターフェース回路（I2C bus master）３１１の第１クロック端子（ＳＣＬ）７１とホスト側第１データ端子（ＳＤＡ）７２、割り込み要求を受信する割り込み要求受信端子（ＡＴＴＮ）７３、第３通信インターフェース回路（SPI bus master）３１２のホスト側第２クロック端子（ＳＰＩ＿ＣＫＬ）７４とホスト側データ出力端子（ＳＰＩ＿ＭＯＳＩ）７５とホスト側データ入力端子（ＳＰＩ＿ＭＩＳＯ）７６とホスト側チップセレクト端子（ＳＰＩ＿ＣＳ）７７、及び、汎用出力端子７８と７９を有する。
【０１４５】
図４に示すブリッジ回路３０２は、汎用のアナログスイッチＩＣ８０を使って構成した例であり、アナログスイッチＩＣ８０として、４個の単極双投（ＳＰＤＴ：Single Pole Double Throw）スイッチ８１〜８４を集積した汎用ＩＣ（quad SPDT）を一例としている。４個のうち３個のスイッチ８１〜８３を使用し、スイッチ８４は不使用とされている。汎用ＩＣでは２個、４個、８個など２の冪乗個のスイッチを集積したものが普及しているためである。メインコントローラ３０１は、汎用ＩＯポート３１４の汎用出力端子７８と７９から、バス選択信号（ｂｕｓ＿ｓｅｌｅｃｔ）とリセット信号（ｔｏｕｃｈ＿ｒｅｓｅｔ＿ｎ）をそれぞれ出力する。バス選択信号（ｂｕｓ＿ｓｅｌｅｃｔ）は、ＩＣ８０のスイッチ制御端子に入力され、スイッチ８１〜８４を制御する。バス選択信号（ｂｕｓ＿ｓｅｌｅｃｔ）が通常モードを示すときには、スイッチ８１〜８３は、ホスト側第１クロック端子（ＳＣＬ）７１、ホスト側第１データ端子（ＳＤＡ）７２、及び割り込み要求受信端子（ＡＴＴＮ）７３を、コネクタ３０３の端子４１、４２及び４３に、それぞれ接続する。一方、バス選択信号（ｂｕｓ＿ｓｅｌｅｃｔ）がブリッジモードを示すときには、スイッチ８１〜８３は、第３通信インターフェース回路（SPI bus master）３１２のホスト側第２クロック端子（ＳＰＩ＿ＣＫＬ）７４、ホスト側データ出力端子（ＳＰＩ＿ＭＯＳＩ）７５及びホスト側データ入力端子（ＳＰＩ＿ＭＩＳＯ）７６を、コネクタ３０３の端子４１、４２及び４３に、それぞれ接続する。
【０１４６】
これにより、ブリッジモード時に、低速のＩ２Ｃバス用の端子が高速のＳＰＩバス用の端子に転用され、コネクタ２０１と３０３の端子数を増やすことなく、メインコントローラ３０１から不揮発性メモリ１０３への高速アクセスを実現することができる。
【０１４７】
以上は、第１のシリアル通信としてＩ２Ｃ通信を、第２及び第３のシリアル通信としてＳＰＩ通信を例に採って説明したが、一般には、第１のシリアル通信が比較的低速の２線式のシリアル通信であり、第２及び第３のシリアル通信が比較的高速の３線式のシリアル通信である場合に、そのまま適用することができる。本実施形態では、第３のシリアル通信のチップセレクト信号をモジュール側に伝送せず、モジュール側のブリッジ回路１０で生成することによって、コネクタの端子数の増加を防ぐことに成功している。
【０１４８】
次に動作について説明する。
【０１４９】
不揮発性メモリ１０３が未書き込みで、ＣＰＵ３０はブートＲＯＭ３４に格納されるブートプログラムを実行することによって、半導体装置１００をブリッジモードに遷移させ、ホスト側ボード３００上のメインコントローラ３０１からの、ヒューマンインターフェースモジュール２００内の不揮発性メモリ１０３へデータを書き込む動作を一例として示す。
【０１５０】
図５は、半導体装置１００のブートプログラムによる動作例を示すフローチャートであり、図６は、ホスト側のメインコントローラ３０１がブリッジ回路３０２を制御するときの動作例を示すフローチャートである。図７は、そのときのタイミングチャートであり、上段から順にホスト側ボード３００の信号（Host signals）、ヒューマンインターフェースモジュール２００の信号（Module signals）、及び、レジスタ値（Resisters）を示す。モード信号（MODE）については、実施形態３で説明する。
【０１５１】
なお、この例では、ホスト側ボード３００を「ホスト（Host）」、ヒューマンインターフェースモジュール２００を「モジュール（Module）」、半導体装置１００を「ドライバ（Driver）」、不揮発性メモリ１０３を「フラッシュ（Flash）」と呼ぶ。
【０１５２】
図６に示すように、ホスト（ホスト側ボード３００）は、ドライバ（半導体装置１００）に対するハードウェアリセット（Reset HW, S50）を解除すると（時刻ｔ１）、ｂｕｓ＿ｓｅｌｅｃｔをＩ２Ｃ側にして、Ｉ２Ｃ＿Ｂｕｓ＿ｍａｓｔｅｒ３１１によってＳＣＬ端子７１、１１、１とＳＤＡ端子７２，１２，２とＡＴＴＮ端子７３，１３，３を使ったＩ２Ｃ通信を行って、ドライバの状態を読み出す（S51）（時刻ｔ１〜ｔ２）。
【０１５３】
このとき、ドライバは、ブートプログラムを開始して、ＳＰＩ＿ＣＬＫ端子４、ＳＰＩ＿ＭＯＳＩ端子５、ＳＰＩ＿ＭＩＳＯ端子６及びＳＰＩ＿ＣＳＮ端子７を介して不揮発性メモリ１０３（Flash）にアクセスし、図５に示すように、ファームウェア等のデータが既に書き込まれているか未書き込みかの状態を読み出す（S11）。ドライバは、ファームウェア等のデータが既に書き込まれた状態であれば通常ブートに移行し（S31）、未書き込みであればリカバリモード（S10）に移行してコマンド待ちのループ（S12, S30）に入る。
【０１５４】
ホストは、読み出したドライバの状態が予備モード（fallback mode）でなければ通常ブート（S53）に移行するが、予備モードであれば、引き続きＩ２Ｃ＿Ｂｕｓ＿ｍａｓｔｅｒ３１１によって、タイムアウトを設定した後、ブリッジモードに入るためのコマンドを発行し（S54）（時刻ｔ２〜ｔ４）、さらにその後、ドライバからの割り込み要求信号ＡＴＴＮを待つループ（S55）に入る（時刻ｔ４〜ｔ５）。
【０１５５】
コマンド待ちのループ（S12, S30）にあるドライバは、入力されたコマンドがブリッジモードへの遷移を指示するものである否かを判断する（S13）。ブリッジモードへの遷移を指示するコマンドではない場合には、タイムアウトを設定するコマンドか否かを判断し（S14）、タイムアウトを設定するコマンドであれば設定されたＡＴＴＮホールド時間ＡＨＴ（ATTN hold time）とＦＬＡＳＨ＿ＣＳ遅延時間ＦＣＤＴ（FLASH_SPI_CSN delay time）を保存し（S16）、タイムアウトを設定するコマンドでなければ他のコマンドか否かのチェックと実行（S15）を行った後に、コマンド待ちのループに戻る（S30, S12）。一方、ブリッジモードへの遷移を指示するコマンドである場合には、ＳＣＩ−Ｉ／Ｆ３２内のＳＰＩマスタイネーブル（spi_mas_en）レジスタ６３に“０”を書き込んで（S17）ＳＣＩ−Ｉ／Ｆ３２を非活性化した後に、割り込み要求信号ＡＴＴＮを発行し（S18）、チップセレクトレベル設定（io_bridge_cs_fix）レジスタ６１に“１”を書き込む（S19）（時刻ｔ５）。
【０１５６】
なお、ＡＴＴＮホールド時間ＡＨＴ（ATTN hold time）は、ドライバ側がホスト側に対してＡＴＴＮを出力した後に、自らがブリッジモードに移行するまでの待ち時間に相当する。ドライバ側によるＡＴＴＮの出力は、ホスト側からのブリッジモードへの遷移の要求に対する応答に当たるので、ホスト側にその応答を確実に受信するための余裕を与えるものである。ＦＬＡＳＨ＿ＣＳ遅延時間ＦＣＤＴ（FLASH_SPI_CSN delay time）は、ドライバ側がブリッジモードに遷移した後に、実際に不揮発性メモリ１０３のチップセレクトをイネーブル状態にするまでの遅延時間であり、例えば、ＳＰＩクロックが４ＭＨｚの場合には、ＦＣＴ＞２５０ｎｓとするのが好適である。
【０１５７】
ホストは、割り込み要求信号ＡＴＴＮを受信すると（S55）、ＧＰＩＯ３１４を制御して端子７８から出力されるｂｕｓ＿ｓｅｌｅｃｔ信号をブリッジモードであるＳＰＩ側に切り替え（S56）、ＡＨＴとＦＣＤＴの時間を待った（S57、時刻ｔ６〜ｔ９）後に、ＳＰＩ＿Ｂｕｓ＿ｍａｓｔｅｒ３１２から不揮発性メモリ１０３（Flash）への書き込みイネーブルコマンドを送出する（S58）。
【０１５８】
このときドライバは、時刻ｔ５からＡＨＤの時間を待った（S20、時刻ｔ５〜ｔ７）後に、ブリッジモード（io_bridge_mode）設定レジスタに“１”を書き込み（S21）（時刻ｔ７）、さらに時刻ｔ７からＦＣＤＴの時間を待った（S22、時刻ｔ７〜ｔ８）後に、チップセレクトレベル設定（io_bridge_cs_fix）レジスタ６１に“０”を書き込む（S23）（時刻ｔ９〜ｔ１０）。
【０１５９】
その後、ホストは、ドライバに対してハードウェアリセット（Reset HW, S59）をかける（時刻ｔ１１）。
【０１６０】
ここで、ドライバはリセットされるので、図５のブートプログラムは、先頭に戻り、図７のタイミングチャートも同様に先頭に戻る。
【０１６１】
ホスト（ホスト側ボード３００）は、ドライバ（半導体装置１００）に対するハードウェアリセット（Reset HW, S59）を解除すると（時刻ｔ１）、再び、ドライバの状態を読み出す（S60）（時刻ｔ１〜ｔ２）。
【０１６２】
このとき、ドライバは、ブートプログラムを再び開始し、既に書き込みイネーブルとされているので、リカバリモード（S10）に移行してコマンド待ちのループ（S12, S30）に入る。
【０１６３】
ホストは、読み出したドライバの状態が予備モード（fallback mode）でなければ異常ブート（S62）に移行するが、予備モードであれば、ブリッジモードに入るためのコマンドを発行し（S63）（時刻ｔ２〜ｔ４）、さらにその後、ドライバからの割り込み要求信号ＡＴＴＮを待つループ（S64）に入る（時刻ｔ４〜ｔ５）。
【０１６４】
コマンド待ちのループ（S12, S30）にあるドライバは、入力されたコマンドがブリッジモードへの遷移を指示するものである否かを判断する（S13）。ブリッジモードへの遷移を指示するコマンドではない場合には、タイムアウトを設定するコマンドか否かを判断し（S14）、タイムアウトを設定するコマンドであれば設定されたＡＴＴＮホールド時間ＡＨＴ（ATTN hold time）とＦＬＡＳＨ＿ＣＳ遅延時間ＦＣＤＴ（FLASH_SPI_CSN delay time）を保存し（S16）、タイムアウトを設定するコマンドでなければ他のコマンドか否かのチェックと実行（S15）を行った後に、コマンド待ちのループに戻る（S30, S12）。一方、ブリッジモードへの遷移を指示するコマンドである場合には、ＳＣＩ−Ｉ／Ｆ３２内のＳＰＩマスタイネーブル（spi_mas_en）レジスタ６３に“０”を書き込んで（S17）ＳＣＩ−Ｉ／Ｆ３２を非活性化した後に、割り込み要求信号ＡＴＴＮを発行し（S18）、チップセレクトレベル設定（io_bridge_cs_fix）レジスタ６１に“１”を書き込む（S19）（時刻ｔ５）。
【０１６５】
ホストは、割り込み要求信号ＡＴＴＮを受信すると（S64）、ブリッジモードに切り替え（S65）、ＡＨＴとＦＣＤＴの時間を待った（S66、時刻ｔ６〜ｔ９）後に、ＳＰＩ＿Ｂｕｓ＿ｍａｓｔｅｒ３１２から不揮発性メモリ１０３（Flash）へのデータの書き込みを実行する（S67）。ホストは書き込まれたデータが最後のデータか否かを判定する（S68）。不揮発性メモリ１０３（Flash）へのデータの書き込みにはページ、ブロックなどの一定の単位に制限されるので、１回の書き込み動作ですべてのデータの書き込みを完了することができるとは限らない。書き込み動作（S67）を終えるたびに、ホストは、書き込まれたデータが最後のデータか否かを判定した後（S68）、ドライバに対してハードウェアリセット（Reset HW, S69またはS74）をかける（時刻ｔ１１）。
【０１６６】
このハードウェアリセットによってドライバはリセットされるので、図５のブートプログラムは、再び先頭に戻り、図７のタイミングチャートも同様に先頭に戻る。
【０１６７】
書き込まれたデータが最後のデータである場合、ホストは、ドライバに対するハードウェアリセット（Reset HW, S69）を解除し（時刻ｔ１）、もう一度、ドライバの状態を読み出す（S70）（時刻ｔ１〜ｔ２）。最終データが正常に書き込まれた後には、不揮発性メモリ１０３（Flash）にはファームウェアが存在するので正常ブート（S31）に移行する。しかし、このとき、何らかの理由で書き込みに失敗した場合には、ドライバは、リカバリモード（S10）に移行してコマンド待ちのループ（S12, S30）にはいっている。ホストは、読み出したドライバの状態が予備モード（fallback mode）でなければ書き込み成功と判断し（S72）、予備モードであれば書き込み失敗と判断する（S73）。
【０１６８】
一方、書き込まれたデータが最後のデータではない場合にも、ホストは、ドライバに対するハードウェアリセット（Reset HW, S74）を解除し（時刻ｔ１）、もう一度、ドライバの状態を読み出す（S75）（時刻ｔ１〜ｔ２）。このとき、ドライバは、リカバリモード（S10）に移行してコマンド待ちのループ（S12, S30）にはいっている。ホストは、読み出したドライバの状態が予備モード（fallback mode）でなければ異常ブート（S77）に移行するが、予備モードであれば、ブリッジモードに入るためのコマンドを発行し（S78）（時刻ｔ２〜ｔ４）、ドライバからの割り込み要求信号ＡＴＴＮを待つループ（S79）に入る（時刻ｔ４〜ｔ５）。
【０１６９】
コマンド待ちのループ（S12, S30）にあるドライバは、入力されたコマンドがブリッジモードへの遷移を指示するものである否かを判断する（S13）。ブリッジモードへの遷移を指示するコマンドではない場合には、タイムアウトを設定するコマンドか否かを判断し（S14）、タイムアウトを設定するコマンドであれば設定されたＡＴＴＮホールド時間ＡＨＴ（ATTN hold time）とＦＬＡＳＨ＿ＣＳ遅延時間ＦＣＤＴ（FLASH_SPI_CSN delay time）を保存し（S16）、タイムアウトを設定するコマンドでなければ他のコマンドか否かのチェックと実行（S15）を行った後に、コマンド待ちのループに戻る（S30, S12）。一方、ブリッジモードへの遷移を指示するコマンドである場合には、ＳＣＩ−Ｉ／Ｆ３２内のＳＰＩマスタイネーブル（spi_mas_en）レジスタ６３に“０”を書き込んで（S17）ＳＣＩ−Ｉ／Ｆ３２を非活性化した後に、割り込み要求信号ＡＴＴＮを発行し（S18）、チップセレクトレベル設定（io_bridge_cs_fix）レジスタ６１に“１”を書き込む（S19）（時刻ｔ５）。
【０１７０】
ホストは、割り込み要求信号ＡＴＴＮを受信すると（S79）、ブリッジモードに切り替え（S80）、ＡＨＴとＦＣＤＴの時間を待った（S81、時刻ｔ６〜ｔ９）後に、不揮発性メモリ１０３（Flash）のステイタスビットを読み出し（S82）、ビジーであればＳ７４のハードウェアリセットに戻り、ビジーでなければＳ８４のハードウェアリセットに進む。ホストは、ドライバに対するハードウェアリセット（Reset HW, S84）を解除し（時刻ｔ１）、もう一度、ドライバの状態を読み出す（S85）（時刻ｔ１〜ｔ２）。ホストは、読み出したドライバの状態が予備モード（fallback mode）でなければ異常ブート（S87）に移行するが、予備モードであれば、ブリッジモードに入るためのコマンドの発行（S54）（時刻ｔ２〜ｔ４）に戻り、不揮発性メモリ１０３（Flash）へのデータの書き込み（S63〜S68）を継続する。
【０１７１】
以上により、ホスト側とドライバ側の両方がブリッジモードとなるので、ホスト側のメインコントローラ３０１から、ＳＰＩ＿Ｂｕｓ＿ｍａｓｔｅｒ３１２を使った、不揮発性メモリ１０３（Flash）への書き込みが実行される。
【０１７２】
〔実施形態２〕
図８は、実施形態２に係る電子機器１０００の構成例を示すブロック図である。
【０１７３】
図１に示した実施形態１に係る電子機器１０００との違いは、半導体装置１００がチップセレクト（ＨＯＳＴ＿ＳＰＩ＿ＣＳ）受信端子８をさらに備え、ヒューマンインターフェースモジュール２００がコネクタ２０１に、それに対応するチップセレクト（ＨＯＳＴ＿ＳＰＩ＿ＣＳ）受信端子１８をさらに備え、ホスト側ボード３００もコネクタ３０３にそれに対応するホスト側ＳＰＩチップセレクト（ＨＯＳＴ＿ＳＰＩ＿ＣＳ）端子４８をさらに備える点である。他の構成は図１と同様であるので、説明を省略する。
【０１７４】
図９は、ブリッジ回路１０の構成例を示すブロック図である。
【０１７５】
図３に示した実施形態１に係るブリッジ回路１０との違いは、チップセレクト（ＨＯＳＴ＿ＳＰＩ＿ＣＳ）受信端子８から入力される信号が、チップセレクトレベル設定（io_bridge_cs_fix）レジスタ６１に代わって、スイッチ５７に入力される点である。他の構成は図３と同様であるので、説明を省略する。
【０１７６】
図１０は、ホスト側ボード３００の構成例を示すブロック図である。
【０１７７】
図４に示した実施形態１に係るホスト側ボード３００との違いは、コネクタ３０３にホスト側ＳＰＩチップセレクト（ＨＯＳＴ＿ＳＰＩ＿ＣＳ）端子４８をさらに備え、図４では不使用とされていたスイッチ８４を使って、ブリッジモード時に、メインコントローラ３０１のＳＰＩチップセレクト（ＳＰＩ＿ＣＳ）端子７７からコネクタ３０３のホスト側ＳＰＩチップセレクト（ＨＯＳＴ＿ＳＰＩ＿ＣＳ）端子４８へ接続する配線が追加された点である。スイッチ８４の他方の入力は、誤ってチップセレクトがアサートされることがないようにプルアップ抵抗９７によってハイレベルに固定されている。これは、不揮発性メモリ１０３のチップセレクトがロウアクティブである場合の例であり、ハイアクティブの場合にはロウレベルに固定すればよい。他の構成は図４と同様であるので、説明を省略する。
【０１７８】
これにより、半導体装置（コントローラ）は、表示パネル、タッチパネルまたは表示タッチパネルと、不揮発性メモリとに電気的に接続され、表示モジュールに実装されたときに、外部制御装置（メインコントローラ）と接続する表示モジュールのコネクタの端子数の増加を最小限に抑えて、外部制御装置（メインコントローラ）から不揮発性メモリへの書き込みに要する時間を短縮することができる。
【０１７９】
実施形態１では、ドライバ側のＳＰＩチップセレクト（ＳＰＩ＿ＣＳ）端子７（不揮発性メモリ１０３のチップセレクト端子２７）を、ホスト側からデアサートする手段として、ドライバ側をリセット（S59、S69、S74、S84）する必要があったが、本実施形態２では、コネクタ２０１と３０３の端子数を１個増やすことによって、ホスト側から直接デアサートすることができる。これにより、図６に示したようなハードウェアリセット（S59、S69、S74、S84）は、ホスト側からのＳＰＩチップセレクト（ＳＰＩ＿ＣＳ）端子７（不揮発性メモリ１０３のチップセレクト端子２７）のデアサートに変更することができる。これにより、ハードウェアリセットによるオーバーヘッドが不要なり、外部制御装置（メインコントローラ）から不揮発性メモリへの書き込みに要する時間をさらに短縮することができる。
【０１８０】
〔実施形態３〕
実施形態１及び２では、図６のＳ５５及び図７の時刻ｔ４〜ｔ５に示したように、ホスト側のメインコントローラ３０１のプログラムにおいて、ドライバ側からＡＴＴＮがアサートされるのを待って、自らがブリッジモードに遷移する処理（Ｓ５６）を実行する。ドライバ側からＡＴＴＮがアサートされるのを待つ処理は、これに代えて、ホスト側のブリッジ回路３０２にハードウェアで実装することができる。
【０１８１】
図１１は、実施形態３に係るホスト側ボード３００の構成例を示すブロック図である。
【０１８２】
本実施形態３では、メインコントローラ３０１が有する汎用出力端子７８は、バス選択信号（bus_select）に代えてモード信号（MODE）とされる。ブリッジ回路３０２には、ラッチ９０とインバータ９５が追加される。ラッチ９０のデータ入力Ｄ端子とクリアＣＬＲ端子にはモード信号（MODE）が入力され、端子４３に入力された割り込み要求信号ＡＴＴＮはインバータ９５で反転されて、ラッチ９０のクロック入力端子に入力され、端子Ｑからの出力は、バス選択信号（bus_select）に代わって、スイッチ８１〜８４の選択制御端子に供給される。
【０１８３】
これにより、図６に示したフローチャートからステップＳ５５が不要となるが、その動作は図７と同様である。即ち、ドライバ側からＡＴＴＮがアサートされるのを待つことなく時刻ｔ３において直ちにモード信号（MODE）をハイレベルに変化させても、割り込み要求信号ＡＴＴＮが受信されるまでは、ラッチ９０の出力であるバス選択信号（bus_select）は変化せず、時刻ｔ５まではホスト側は通常動作を続ける。時刻ｔ５にドライブ側からの割り込み要求信号ＡＴＴＮを受信したときに、ラッチ９０はモード信号（MODE）を取り込んで、スイッチ８１〜８３を切り替えてブリッジモードに遷移する。
【０１８４】
〔実施形態４〕
実施形態１〜３では、図４，図９及び図１１に示したように、ホスト側ブリッジ回路３０２を４個の単極双投（ＳＰＤＴ）スイッチ８１〜８４を集積した汎用ＩＣ（quad SPDT）を使って構成するが、これに代えて２個のＳＰＤＴスイッチ８１〜８２を集積した汎用ＩＣ（dual SPDT）を使って構成することができる。
【０１８５】
図１２は、実施形態４に係るホスト側ボード３００の構成例を示すブロック図である。図１１に示したホスト側ブリッジ回路３０２との違いは、ＩＣ８０が２個のＳＰＤＴスイッチ８１〜８２を集積した汎用ＩＣ（dual SPDT）である点と、これに伴って、端子４３に入力された割り込み要求信号ＡＴＴＮは、メインコントローラ３０１の割り込み要求受信端子（ＡＴＴＮ）７３とホスト側データ入力端子（ＳＰＩ＿ＭＩＳＯ）７６に入力される点である。割り込み要求信号ＡＴＴＮがインバータ９５で反転されて、ラッチ９０のクロック入力端子に入力され、端子Ｑからの出力がスイッチ８１〜８２の選択制御端子に供給される点は、図１１に示したブリッジ回路３０２と同様である。
【０１８６】
なお、図１１と同様に、メインコントローラ３０１が有する汎用出力端子７８は、バス選択信号（bus_select）に代えてモード信号（MODE）とされる例を示すが、図４及び図９と同様にバス選択信号（bus_select）によって、２個のＳＰＤＴスイッチ８１〜８２の切替制御を行うように変更してもよい。
【０１８７】
これにより、ホスト側ブリッジ回路３０２の回路が簡略化される。
【０１８８】
〔実施形態５〕
実施形態１では、ブリッジモードに遷移した後に、ホスト側がＳＰＩ＿Ｂｕｓ＿ｍａｓｔｅｒ３１２から不揮発性メモリ１０３に対して、書き込みイネーブルコマンドを送出した（図６のS58）のに対して、本実施形態５は、ドライバ側にフラッシュステイタス読み出しコマンド（Read_Flash_Status）を出力する機能と書き込みイネーブル(Flash_Write_Enable）コマンドを出力する機能とが追加された実施形態である。
【０１８９】
ハードウェア構成は、実施形態１〜４で説明したものと同様であるので、図示及び説明を省略する。
【０１９０】
図１３は、実施形態５に係る半導体装置１００のブートプログラムによる動作例を示すフローチャートであり、図１４は、ホスト側のメインコントローラ３０１がブリッジ回路３０２を制御するときの動作例を示すフローチャートである。図１５は、そのときのタイミングチャートである。
【０１９１】
図１４に示すように、ホスト（ホスト側ボード３００）は、ドライバ（半導体装置１００）に対するハードウェアリセット（Reset HW, S50）を解除すると（時刻ｔ１）、ｂｕｓ＿ｓｅｌｅｃｔをＩ２Ｃ側にして、Ｉ２Ｃ＿Ｂｕｓ＿ｍａｓｔｅｒ３１１によってＳＣＬ端子７１、１１、１とＳＤＡ端子７２，１２，２とＡＴＴＮ端子７３，１３，３を使ったＩ２Ｃ通信を行って、ドライバの状態を読み出す（S51）（時刻ｔ１〜ｔ２）。
【０１９２】
このとき、ドライバは、ブートプログラムを開始して、ＳＰＩ＿ＣＬＫ端子４、ＳＰＩ＿ＭＯＳＩ端子５、ＳＰＩ＿ＭＩＳＯ端子６及びＳＰＩ＿ＣＳＮ端子７を介して不揮発性メモリ１０３（Flash）にアクセスし、図１３に示すように、ファームウェア等のデータが既に書き込まれているか未書き込みかの状態を読み出す（S11）。ドライバは、ファームウェア等のデータが既に書き込まれた状態であれば通常ブートに移行し（S31）、未書き込みであればリカバリモード（S10）に移行してコマンド待ちのループ（S12, S30）に入る。
【０１９３】
ここまでの動作は、図５〜図７を引用して説明した実施形態１と同様である。
【０１９４】
ホストは、読み出したドライバの状態が予備モード（fallback mode）でなければ通常ブート（S53）に移行するが、予備モードであれば、引き続きＩ２Ｃ＿Ｂｕｓ＿ｍａｓｔｅｒ３１１によって、タイムアウトを設定するコマンドを発行し（S88、時刻ｔ２）、不揮発性メモリ１０３をライトイネーブル状態にするコマンドを発行し（S89、時刻ｔ１２）、さらに、ブリッジモードに入るためのコマンドを発行し（S63、時刻ｔ３）、さらにその後、ドライバからの割り込み要求信号ＡＴＴＮを待つループ（S64）に入る（時刻ｔ４〜ｔ５）。
【０１９５】
コマンド待ちのループ（S12, S30）にあるドライバは、入力されたコマンドに応じた処理を行う。
【０１９６】
入力されたコマンドがブリッジモードへの遷移を指示するものである場合（S13、S17〜S29）については後述する。
【０１９７】
入力されたコマンドがフラッシュステイタス読み出しコマンド（Read_Flash_Status）である場合には（S32）、ＳＣＩ−Ｉ／Ｆ３２内のＳＰＩマスタイネーブル（spi_mas_en）レジスタ６３に“１”を書き込んで（S33）ＳＣＩ−Ｉ／Ｆ３２を活性化した後に、ＳＰＩ＿ＣＳ端子７をアサートして（S34）、不揮発性メモリ１０３に対してリードステイタスコマンド（RDSR）を送る（S35）。ここで、不揮発性メモリ１０３を標準的なフラッシュメモリとしたときのリードステイタスコマンド（RDSR：Read Status of flash device）は、１６進表記で０ｘ０５である。不揮発性メモリ１０３からステイタスを読み出した後には、ＳＰＩ＿ＣＳ端子７をデアサートして（S36）、読み出した不揮発性メモリ１０３のステイタスをホスト側に応答し（S37）、コマンド待ちのループ（S12, S30）に戻る。
【０１９８】
入力されたコマンドが書き込みイネーブル(Flash_Write_Enable）コマンドである場合には（S38）、ＳＣＩ−Ｉ／Ｆ３２内のＳＰＩマスタイネーブル（spi_mas_en）レジスタ６３に“１”を書き込んでＳＣＩ−Ｉ／Ｆ３２を活性化（S39）した後に、ＳＰＩ＿ＣＳ端子７をアサートして（S40）、不揮発性メモリ１０３に対してライトイネーブルコマンド（WREN）を送る（S41）。ここで、不揮発性メモリ１０３を標準的なフラッシュメモリとしたときのライトイネーブルコマンド（WREN：Write Enable for flash device）は、１６進表記で０ｘ０６である。その後、ＳＰＩ＿ＣＳ端子７をデアサートして（S42）、コマンド待ちのループ（S12, S30）に戻る。
【０１９９】
入力されたコマンドがタイムアウトを設定するコマンドであれば（S14）、設定されたＡＴＴＮホールド時間ＡＨＴ（ATTN hold time）とＦＬＡＳＨ＿ＣＳ遅延時間ＦＣＤＴ（FLASH_SPI_CSN delay time）とＭＯＤＥホールド時間ＭＨＴ（Mode hold time）を保存し（S16）、タイムアウトを設定するコマンドでなければ他のコマンドか否かのチェックと実行（S15）を行った後に、コマンド待ちのループに戻る（S30, S12）。
【０２００】
なお、ＭＯＤＥホールド時間ＭＨＴ（Mode hold time）は、ドライバ側にブリッジモードを継続させるべき期間を表すパラメータである。
【０２０１】
入力されたコマンドがブリッジモードへの遷移を指示するものである場合には（S13）、ＳＣＩ−Ｉ／Ｆ３２内のＳＰＩマスタイネーブル（spi_mas_en）レジスタ６３に“０”を書き込んで（S17）ＳＣＩ−Ｉ／Ｆ３２を非活性化した後に、割り込み要求信号ＡＴＴＮを発行し（S18）、チップセレクトレベル設定（io_bridge_cs_fix）レジスタ６１に“１”を書き込む（S19）（時刻ｔ５）。
【０２０２】
ホストは、時刻ｔ５において割り込み要求信号ＡＴＴＮを受信すると（S64）、ＧＰＩＯ３１４を制御して端子７８から出力されるｂｕｓ＿ｓｅｌｅｃｔ信号をブリッジモードであるＳＰＩ側に切り替える（S65）。または、実施形態３と同様にメインコントローラ３０１が有する汎用出力端子７８は、バス選択信号（bus_select）に代えてモード信号（MODE）とし、このステップではＧＰＩＯ３１４を制御して端子７８から出力されるモード信号（MODE）をブリッジモードであるハイレベルに遷移させてもよい（S65）。
【０２０３】
このときドライバは、時刻ｔ５からＡＨＤの時間を待った（S20、時刻ｔ５〜ｔ７）後に、ブリッジモード（io_bridge_mode）設定レジスタに“１”を書き込み（S21）（時刻ｔ７）、さらに時刻ｔ７からＦＣＤＴの時間を待った（S22、時刻ｔ７〜ｔ８）後に、チップセレクトレベル設定（io_bridge_cs_fix）レジスタ６１に“０”を書き込む（S23）（時刻ｔ８）。次に、ＭＨＴが“０”か否かを判定し（S24）、“０”であればコマンド待ちのループ（S12, S30）に戻る。“０”でなければＭＨＴの時間を待った（S25、時刻ｔ８〜ｔ１０）後に、チップセレクトレベル設定（io_bridge_cs_fix）レジスタ６１に“１”を書き込み（S26）、ブリッジモード（io_bridge_mode）設定レジスタに“０”を書き込み（S27）、ＳＣＩ−Ｉ／Ｆ３２内のＳＰＩマスタイネーブル（spi_mas_en）レジスタ６３に“１”を書き込んでＳＣＩ−Ｉ／Ｆ３２を活性化（S28）した後に、割り込み要求信号ＡＴＴＮをデアサートして（S29）、コマンド待ちのループ（S12, S30）に戻る。
【０２０４】
このとき、ホストは、ＡＨＴとＦＣＤＴの時間を待った（S66、時刻ｔ６〜ｔ９）後に、ＳＰＩ＿Ｂｕｓ＿ｍａｓｔｅｒ３１２から不揮発性メモリ１０３（Flash）へ書き込みデータを送出する（S67）。このデータ書き込みで最後のデータまで書き込みを終了した場合には（S68）、ハードウェアリセット（reset HW）（S69）後、ドライバのステイタスを読み出し（S70）、読み出したドライバの状態が予備モード（fallback mode）でなければ書き込み成功（S72）、予備モードであれば書き込み失敗と判断する（S73）（図１５のタイミングチャートには図示されていない）。一方、書き込んだデータが最後のデータでない場合には、ＭＯＤＥホールド時間ＭＨＴ（Mode hold time）を待った（S90、時刻ｔ８〜ｔ１０）後に、ＧＰＩＯ３１４を制御して端子７８から出力されるｂｕｓ＿ｓｅｌｅｃｔ信号をＩ２Ｃ側に切り替え（S91）、ドライバの状態を読み出す（S92）（時刻ｔ１３）。ホストは、読み出したドライバの状態が予備モード（fallback mode）でなければ異常ブート（S94）に移行するが、予備モードであれば、フラッシュステイタス読み出しコマンド（Read_Flash_Status）を使って不揮発性メモリ１０３のステイタスを直接読み出す（S95）（時刻ｔ１３）。
【０２０５】
以上のように、ＭＯＤＥホールド時間ＭＨＴ（Mode hold time）によってモードを切り替え、不揮発性メモリ１０３のリードステイタスコマンドをホストから発行するように構成することによって、実施形態１〜３におけるハードウェアリセット（S74）によるモード切替を代替することができ、外部制御装置（メインコントローラ）から不揮発性メモリへの書き込みに要する時間をさらに短縮することができる。
【０２０６】
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【０２０７】
例えば、半導体装置１０に内蔵される制御回路は、ＣＰＵ３０、ブートＲＯＭ３４、バス３７及び各種インターフェース回路３１〜３６による構成例を示したが、ＣＰＵ等のプロセッサによらず、ハードウェアシーケンサ等に変更されてもよい。明細書及び図面に示した論理回路の機能ブロック分割は一例に過ぎず、任意に変更してよい。また、明細書内及び図面に示した論理回路と信号波形の正論理／負論理、ハイアクティブ／ロウアクティブの属性は、一例に過ぎず、任意に変更してよい。
【符号の説明】
【０２０８】
１、１１、４１、７１  Ｉ２Ｃ＿ＳＣＬ端子（第１クロック端子）
２、１２、４２、７２  Ｉ２Ｃ＿ＳＤＡ端子（データ端子）
３、１３、４３、７３  ＡＴＴＮ端子（割り込み要求端子、割り込み要求受信端子）
４、２４、７４  ＳＰＩ＿ＣＬＫ端子（第２クロック端子）
５、２５、７５  ＳＰＩ＿ＭＯＳＩ端子（データ出力端子）
６、２６、７６  ＳＰＩ＿ＭＩＳＯ端子（データ入力端子）
７、２７、７７  ＳＰＩ＿ＣＳ端子（チップセレクト端子）
８、１８  ＣＳ受信端子（チップセレクト受信端子）
４８  ホスト側ＳＰＩチップセレクト端子（ＨＯＳＴ＿ＳＰＩ＿ＣＳ）
９、１９、４９  表示データ転送端子
１４、１５、４４、７９  リセット端子
１０  ブリッジ回路
２０、２１  表示パネル端子
２２、２３  タッチパネル端子
３０  ＣＰＵ
３１  Ｉ２Ｃ−Ｉ／Ｆ（第１通信インターフェース回路）
３２  ＳＣＩ−Ｉ／Ｆ（第２通信インターフェース回路）
３３  割り込み要求回路
３４  ブートＲＯＭ（Boot_ROM）
３５  表示パネルコントローラ用制御信号インターフェース（DPC-I/F）
３６  タッチパネルコントローラ用制御信号インターフェース（TPC-I/F）
３７  バス
３８  表示パネルコントローラ（DPC）
３９  タッチパネルコントローラ（TPC）
４０  表示データインターフェース（DD-I/F）
５１〜５７  スイッチ回路
６０  レジスタ
６１  チップセレクトレベル設定（io_bridge_cs_fix）レジスタ
６２  ブリッジモード（io_bridge_mode）設定レジスタ
６３  ＳＰＩマスタイネーブル（spi_mas_en）レジスタ
６４、６５  論理ゲート
８０  汎用ＩＣ
８１〜８４  スイッチ回路
９０  ラッチ
９５  インバータ
９７〜９９  プルアップ抵抗
１００  コントローラＩＣ（半導体装置）
１０１  表示パネル
１０２  タッチパネル
１０３  不揮発性メモリ
２００  ヒューマンインターフェースモジュール
２０１  モジュール側コネクタ
３００  ホスト側ボード
３０１  メインコントローラ
３０２  ホスト側ブリッジ回路
３０３  ホスト側コネクタ
３１１  Ｉ２Ｃバスマスタ（I2C bus master）
３１２  ＳＰＩバスマスタ（SPI bus master）
３１３  割り込み制御回路（Interrupt source）
３１４  汎用ＩＯポート（GPIO: General Purpose Input / Output port）
１０００  電子機器
【図１】
2018101185.tif 000003
【図２】
2018101185.tif 000004
【図３】
2018101185.tif 000005
【図４】
2018101185.tif 000006
【図５】
2018101185.tif 000007
【図６】
2018101185.tif 000008
【図７】
2018101185.tif 000009
【図８】
2018101185.tif 000010
【図９】
2018101185.tif 000011
【図１０】
2018101185.tif 000012
【図１１】
2018101185.tif 000013
【図１２】
2018101185.tif 000014
【図１３】
2018101185.tif 000015
【図１４】
2018101185.tif 000016
【図１５】
2018101185.tif 000017