(57)【要約】【課題】非同期パラレル通信をサポートする専用端子がマイコンに設けられていない場合であっても、周辺ＬＳＩとのデータ授受を効率的に行うことを可能にする。【解決手段】周辺ＬＳＩに対して、マイコンへのデータの出力または当該マイコンから与えられるデータの記憶を２値信号であるリード／ライト信号の信号値で指示する第１の処理と、周辺ＬＳＩへ各々与える２値信号であるラッチ正転信号とラッチ反転信号を、上記第１の処理を行ってから所定時間経過後に反転させ、リード／ライト信号の示す動作の開始を指示する第２の処理とをマイコンに行わせる。一方、周辺ＬＳＩには、ラッチ正転信号とラッチ反転信号の両者が共に反転したことを契機として上記リード／ライト信号の示す動作を開始させる。【選択図】図１
2010134682.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ装置に、
制御対象の半導体装置に与える２値信号であるリード／ライト信号の信号値で、当該コンピュータ装置へのデータの出力、または当該コンピュータ装置から与えるデータの記憶、を前記半導体装置に指示する第１の処理と、
前記半導体装置に与える２値信号であるラッチ信号の信号値を反転させ、前記リード／ライト信号の示す動作の開始を指示する第２の処理と、
を実行させることを特徴とするプログラム。
【請求項２】
前記ラッチ信号として、ラッチ正転信号と当該ラッチ正転信号に対して反対の信号値を有するラッチ反転信号とをペアで用い、前記ラッチ正転信号と前記ラッチ反転信号とを共に反転させることで、前記リード／ライト信号の示す動作の開始を前記半導体装置に対して指示することを特徴とする請求項１に記載のプログラム。
【請求項３】
請求項１または２に記載のプログラムが書き込まれた記憶部と、
制御対象の半導体装置が接続される外部インタフェース部と、
前記記憶部に記憶されたプログラムを実行する制御部と、
前記制御部と前記外部インタフェースとの間のデータ授受を仲介する内部バスと、
を有することを特徴とするマイクロコンピュータ。
【請求項４】
マイクロコンピュータから与えられる２値信号であるリード／ライト信号に応じて、前記マイクロコンピュータへのデータの出力、または前記マイクロコンピュータから与えられるデータの記憶、を行う半導体装置であって、
前記マイクロコンピュータから与えられる２値信号であるラッチ信号の信号値が反転したことを契機として前記リード／ライト信号により指示された動作を開始する
ことを特徴とする半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マイクロコンピュータ（以下、マイコン）を用いて周辺ＬＳＩ（Large Scale Integration）などの半導体装置の作動制御を行う技術に関する。
【背景技術】
【０００２】
グラフィックデバイスや音源デバイスなどの周辺ＬＳＩの作動制御は、マイコンで行われることが一般的である。この種の作動制御は、マイコンと周辺ＬＳＩとの間の非同期パラレル通信で行われる場合が多く、具体的には、図１０（Ａ）に示すように、チップセレクトやリード（或いは、ライト）といった制御信号、処理対象のデータやそのアドレスを、図１０（Ｂ）に示すタイミングチャートにしたがって変化させることで実現される。この非同期パラレル通信では、チップセレクトとリード（或いは、ライト）信号の両者が共にアクティブ状態である場合に、周辺ＬＳＩからマイコンへのデータの読み出し（或いは、マイコンから周辺ＬＳＩへのデータの書き込み）が行われる。
【０００３】
ところで、近年では、電子機器の低価格化および小型化に対処するため、図１０（Ａ）に示す非同期パラレル通信をサポートする非同期パラレルバスなどの専用端子がマイコンに設けられていない場合がある。そこで、一般的なデータ入出力端子としてマイコンに設けられているパラレルポートに周辺ＬＳＩを接続して図１０（Ｃ）に示すようにポートを割り当て、図１０（Ｂ）のタイミングチャートにしたがった通信をソフトウェア処理で実現することが提案されている（例えば、特許文献１参照）。
【特許文献１】特開２０００−１４８６７４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、ソフトウェア処理で図１０（Ｂ）に示すタイミング制御を行う態様では、専用ハードウェアで行う態様に比較して、マイコンと周辺ＬＳＩとの間のデータ授受を効率的に行うことができない、といった問題がある。
本発明は上記課題に鑑みて為されたものであり、非同期パラレル通信をサポートする専用端子がマイコンに設けられていない場合であっても、周辺ＬＳＩとのデータ授受を効率的に行うことを可能にする技術を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、本発明は、コンピュータ装置（ＣＰＵ：Central Processing Unit）に、制御対象の半導体装置に与える２値信号であるリード／ライト信号の信号値で、当該コンピュータ装置へのデータの出力、または当該コンピュータ装置から与えるデータの記憶、を前記半導体装置に指示する第１の処理と、前記半導体装置に与える２値信号であるラッチ信号の信号値を反転させ、前記リード／ライト信号の示す動作の開始を指示する第２の処理とを実行させることを特徴とするプログラム、および当該プログラムが書き込まれた記憶部と、制御対象の半導体装置が接続される外部インタフェースと、前記記憶部に記憶されたプログラムを実行する制御部（ＣＰＵ）と、前記制御部と前記外部インタフェースとの間のデータ授受を仲介する内部バスとを有することを特徴とするマイコン、を提供する。
【０００６】
また、上記課題を解決するため、本発明は、マイコンから与えられる２値信号であるリード／ライト信号に応じて、前記マイコンへのデータの出力または前記マイコンから与えられるデータの記憶を行う半導体装置であって、前記マイコンから与えられる２値信号であるラッチ信号が反転したことを契機として前記リード／ライト信号により指示された動作を開始することを特徴とする半導体装置、を提供する。
【０００７】
このようなプログラム、マイコンおよび半導体装置によれば、半導体装置に対してラッチ信号の立ち上がり、または立ち下りの各々でデータの出力／記憶の開始が指示される。このため、リード信号（或いはライト信号）の立ち上がりおよび立下りの両者でリード期間（ライト期間）を規定する従来技術に比較して、ラッチ信号をＨｉｇｈからＬｏｗ（或いはＬｏｗからＨｉｇｈ）へ切り換える１回の処理でデータの出力（記憶）の開始を指示することができ、半導体装置に対するデータの出力（記憶）制御に要する処理時間が短縮される。また、従来のチップセレクト、リードおよびライトの各信号を用いたデータの出力（記憶）制御では、チップセレクト信号をアクティブ状態にしてからリード（或いはライト）信号をアクティブ状態にするまでのセットアップ時間、その状態を維持する時間、およびその状態から一旦非アクティブ状態に戻した後、再度、アクティブ状態にするまでの待ち時間といった３種類のタイミング制御が必要であったが、本発明では、例えば、半導体装置へのデータの書き込みの場合、マイコン側でセットアップ時間を管理する態様においては、上記第１の処理を行ってから上記第２の処理を行うまでの時間（すなわち、ラッチ信号の反転によりデータの記憶開始を指示するまでの時間）および一旦非アクティブ状態に戻してから再度アクティブ状態にするまでの待ち時間の２種類を管理対象とすれば良く、また、半導体装置側でセットアップ時間を確保する態様においては、第１および第２の処理を同時にマイコンに実行させ、後者の待ち時間のみをマイコン側の管理対象とすれば良い。このように本発明によれば、従来技術に比較してタイミング管理が容易になる。
【０００８】
より好ましい態様においては、前記ラッチ信号として、ラッチ正転信号と当該ラッチ正転信号の信号値を反転させたラッチ反転信号とをペアで用い、前記ラッチ正転信号と前記ラッチ反転信号とを共に反転させることで、前記リード／ライト信号の示す動作の開始を前記半導体装置に対して指示することを特徴とする。このような態様によれば、例えばコモンモードノイズによりラッチ正転信号とラッチ反転信号の何れか一方のみが反転したとしても、リード／ライト信号の示す動作が半導体装置で行われることはない。このように、本発明によれば、コモンモードノイズにより半導体装置が誤動作することはなく、コモンモードノイズに対する耐性を高めることができる、といった効果がある。
【発明を実施するための最良の形態】
【０００９】
以下、本発明を実施するための最良の形態を図面を参照しつつ説明する。
（Ａ：構成）
図１は、本発明の一実施形態に係るマイコン１０の構成例を示すブロック図である。
このマイコン１０は、ゲーム機などの電子機器に内蔵され、グラフィックデバイスや音源デバイスなどその電子機器に内蔵されている周辺ＬＳＩの作動制御を行い、ゲーム画面の表示制御やＢＧＭの再生制御などを行う。図１に示すようにマイコン１０は、制御部１１０、記憶部１２０、タイマ１３０、割り込みコントローラ１４０、外部インタフェース（以下、Ｉ／Ｆ）部１５０、およびこれら各構成要素間のデータ授受を仲介する内部バス１６０を含んでいる。
【００１０】
制御部１１０は、例えばＣＰＵである。この制御部１１０は、記憶部１２０に格納されている制御プログラムを実行することにより、マイコン１０の制御中枢の役割を果たす。この制御プログラムにしたがって制御部１１０が実行する処理の詳細については後に明らかにする。
【００１１】
記憶部１２０は、不揮発性記憶部１２０ａと揮発性記憶部１２０ｂを含んでいる。不揮発性記憶部１２０ａは、例えばＦｌａｓｈＲＯＭ（Flash Read Only Memory）である。この不揮発性記憶部１２０ａには、前述した制御プログラムが格納されている（図示略）。一方、揮発性記憶部１２０ｂは、例えばＲＡＭ（Random Access Memory）であり、上記制御プログラムを実行する際のワークエリアとして利用される。なお、本実施形態では、上記制御プログラムが書き込まれた不揮発性記憶部１２０ａを含めて記憶部１２０を構成したが、マイコン１０の省スペース化が必要な場合には、不揮発性記憶部１２０ａを含めずに記憶部１２０を構成しても良い。具体的には、上記制御プログラムが書き込まれたＦｌａｓｈＲＯＭをメモリＩ／Ｆを介してマイコン１０に接続し、このＦｌａｓｈＲＯＭから上記制御プログラムを読出して実行する処理を制御部１１０に行わせても良い。
【００１２】
タイマ１３０は、例えばインターバルタイマである。タイマ１３０は、制御部１１０から与えられる指示に応じて計時を行う。割り込みコントローラ１４０は、制御部１１０による制御の下、各種割り込み処理を実行する。
【００１３】
外部Ｉ／Ｆ部１５０は、内部バス１６０を介して制御部１１０から与えられるデータをマイコン１０の外部へ出力する一方、マイコン１０の外部から与えられるデータを内部バス１６０を介して制御部１１０に与える。この外部Ｉ／Ｆ部１５０には、他の半導体装置との間でシリアル通信を行うシリアルＩ／Ｏ１５０ａや、他の半導体装置との間でパラレル通信を行うパラレルＩ／Ｏ１５０ｂが含まれる。ここで、シリアル通信とは、伝送対象のデータをそのデータの構成ビット毎に１ビットずつ逐次的に授受する通信態様であり、パラレル通信とは、伝送対象の各構成ビットを並列に授受する通信態様である。また、パラレルＩ／Ｏ１５０ｂは、各ポートを介してその接続先に与える情報を記憶するレジスタを有しており、これらレジスタの内容が書き換えられるまでは、そのレジスタに対応するポートの出力内容が維持されるといった特徴も有している。図１に示すように、本実施形態では、パラレルＩ／Ｏ１５０ｂに周辺ＬＳＩが接続される。
【００１４】
さて、周辺ＬＳＩとの間で非同期パラレル通信を行う従来のマイコンにおいては、図１にて点線で示すようなバスコントローラが設けられており、このバスコントローラによって上記非同期パラレル通信が実現されていた。これに対して、本実施形態に係るマイコン１０には上記バスコントローラは設けられておらず、パラレルＩ／Ｏ１５０ｂを介して周辺ＬＳＩとのデータ授受が実現される。従来、パラレルＩ／Ｏ１５０ｂを介した周辺ＬＳＩとのデータ授受では、図１０（Ｃ）に示すように、１４個のポートのうち、ポート１３をチップセレクト信号の出力に、ポート１２および１１をリードおよびライトの各命令の出力に、ポート８から１０をアドレスの出力に、ポート０から７をデータの授受に割り当てていた。
【００１５】
これに対して、本実施形態では、図１に示すように、ポート１３をラッチ正転信号の出力に、ポート１２をラッチ反転信号の出力に、ポート１１をリード／ライト信号の出力に、ポート８から１０をアドレスの出力に、ポート０から７をデータの授受に割り当てていることに特徴がある。ここで、リード／ライト信号とは、周辺ＬＳＩに対してデータの出力（すなわち、周辺ＬＳＩからマイコン１０へのデータの読み出し）または記憶（すなわち、マイコン１０から周辺ＬＳＩへのデータの書き込み）を指示する２値信号である。本実施形態では、周辺ＬＳＩに対してデータの出力を指示する際には、リード／ライト信号はＨｉｇｈ状態とされ、周辺ＬＳＩに対してデータの記憶を指示する際には、リード／ライト信号はＬｏｗ状態とされる。
【００１６】
図１のラッチ正転信号とラッチ反転信号は、共に、周辺ＬＳＩに対してリード／ライト信号の示す動作の開始を指示するラッチ信号の役割を果たす。このラッチ正転信号とラッチ反転信号は、後述する初期化処理にて互いに反対の信号値（例えば、ラッチ正反転信号をＬｏｗ状態、ラッチ反転信号をＨｉｇｈ状態）にセットされる。そして、本実施形態では、ラッチ正転信号とラッチ反転信号の両者を共に反転させることで、リード／ライト信号の示す動作の開始が周辺ＬＳＩに対して指示される。
【００１７】
一方、マイコン１０により作動制御が行われる周辺ＬＳＩは、ラッチ正転信号およびラッチ反転信号の信号値の組み合わせが（Ｈｉｇｈ、Ｌｏｗ）から（Ｌｏｗ，Ｈｉｇｈ）に変化したこと、または、（Ｌｏｗ，Ｈｉｇｈ）から（Ｈｉｇｈ、Ｌｏｗ）に変化したことを契機として、リード／ライト信号の信号値で指示された動作を開始するように構成されている。より詳細に説明すると、周辺ＬＳＩは、リード／ライト信号がＬｏｗ状態である場合には、ラッチ正転信号およびラッチ反転信号の両者が共に反転したことを契機として、マイコン１０から与えられるデータを、同マイコン１０から与えられるアドレスの示すレジスタに書き込む処理を実行し、リード／ライト信号がＨｉｇｈ状態である場合には、ラッチ正転信号およびラッチ反転信号の両者が共に反転したことを契機として、マイコン１０から与えられるアドレスの示すレジスタに格納されているデータを同マイコン１０へ出力する処理を実行するように構成されている。このように、リード／ライト信号の信号値に応じた動作を、ラッチ正転信号とラッチ反転信号とが共に反転したことを契機として周辺ＬＳＩに実行させるためには、図２に示すインタフェース部を周辺ＬＳＩに設けるようにすれば良い。
【００１８】
周辺ＬＳＩのインタフェース部（図２参照）においては、ラッチ正転信号ＬＰは、フリップフロップ回路２１０ａに与えられる。このフリップフロップ回路２１０ａは、周辺ＬＳＩの動作クロックφの立ち上がりでラッチ正転信号ＬＰの信号値を検出し、その検出結果に応じた信号ａを出力する。図２に示すように信号ａは、フリップフロップ回路２１０ｉを経由してフリップフロップ回路２１０ｂに与えられるとともに、ＡＮＤゲート２２０ｅのローアクティブ入力端子とＡＮＤゲート２２０ｆのハイアクティブ入力端子に与えられる。フリップフロップ回路２１０ｂは、信号ａの信号値を、フリップフロップ回路２１０ａにおける検出タイミングよりも２クロック後の検出タイミングで検出し、その検出結果を示す信号ｂを出力する。図２に示すように、この信号ｂはＡＮＤゲート２２０ｅのハイアクティブ入力端子とＡＮＤゲート２２０ｆのローアクティブ入力端子に与えられる。ＡＮＤゲート２２０ｅは、信号ａがＬｏｗ状態であり、かつ、信号ｂがＨｉｇｈ状態である場合にＨｉｇｈ状態の信号ｅを出力し、その他の場合はＬｏｗ状態の信号ｅを出力する。ＡＮＤゲート２２０ｆは、信号ａがＨｉｇｈ状態であり、かつ、信号ｂがＬｏｗ状態である場合にＨｉｇｈ状態の信号ｆを出力し、その他の場合はＬｏｗ状態の信号ｆを出力する。
【００１９】
同様に、ラッチ反転信号ＬＮは、フリップフロップ回路２１０ｃに与えられる。このフリップフロップ回路２１０ｃは、フリップフロップ回路２１０ａと同一の検出タイミングでラッチ反転信号ＬＮの信号値を検出し、その検出結果に応じた信号ｃを出力する。図２に示すように信号ｃは、フリップフロップ回路２１０ｊを経由してフリップフロップ回路２１０ｄに与えられるとともに、ＡＮＤゲート２２０ｇのローアクティブ入力端子とＡＮＤゲート２２０ｈのハイアクティブ入力端子に与えられる。フリップフロップ回路２１０ｄは、信号ｃの信号値をフリップフロップ回路２１０ｂと同一の検出タイミングで検出し、その検出結果を示す信号ｄを出力する。図２に示すように、この信号ｄはＡＮＤゲート２２０ｇのハイアクティブ入力端子とＡＮＤゲート２２０ｈのローアクティブ入力端子に与えられる。ＡＮＤゲート２２０ｇは、信号ｃがＬｏｗ状態であり、かつ、信号ｄがＨｉｇｈ状態である場合にＨｉｇｈ状態の信号ｇを出力し、その他の場合はＬｏｗ状態の信号ｇを出力する。ＡＮＤゲート２２０ｈは、信号ｃがＨｉｇｈ状態であり、かつ、信号ｄがＬｏｗ状態である場合にＨｉｇｈ状態の信号ｈを出力し、その他の場合はＬｏｗ状態の信号ｈを出力する。
【００２０】
図２に示すように、信号ｅと信号ｈはＡＮＤゲート２２０ｘに与えられ、両者の論理積を示す信号ｘがＡＮＤゲート２２０ｘからＯＲゲート２３０に出力される。同様に信号ｆと信号ｇはＡＮＤゲート２２０ｙに与えられ、両者の論理積を示す信号ｙがＡＮＤゲート２２０ｙからＯＲゲート２３０に出力される。そして、ＯＲゲート２３０は、信号ｘと信号ｙとの論理和を示す信号ｚをレジスタ２４０ｐおよび２４０ｑの各々のイネーブル端子ｅｎに与える。レジスタ２４０ｐは、イネーブル端子ｅｎに与えられる信号ｚがＨｉｇｈ状態である場合に、マイコン１０からフリップフロップ回路２１０ｋを介して入力端子Ｉへ与えられるアドレスをクロックφの立ち上がりで取り込む処理を実行する。同様に、レジスタ２４０ｑは、イネーブル端子ｅｎに与えられる信号ｚがＨｉｇｈ状態である場合に、マイコン１０からフリップフロップ回路２１０ｍを介して入力端子Ｉへ与えられるデータをクロックφの立ち上がりで取り込む処理を実行する。
【００２１】
図３は、周辺ＬＳＩのインタフェース部における各信号の時間変化の様子を示す図である。図３に示すように、ラッチ正転信号ＬＰがＬｏｗ状態からＨｉｇｈ状態に反転し、同時に、ラッチ反転信号ＬＮがＨｉｇｈ状態からＬｏｗ状態に反転すると、その反転直後における動作クロックφの立ち上がりで信号ａがＬｏｗ状態からＨｉｇｈ状態に変化し、信号ｃがＨｉｇｈ状態からＬｏｗ状態に変化する。そして、さらに２クロック後の動作クロックφの立ち上がりで信号ｂがＬｏｗ状態からＨｉｇｈ状態に変化し、信号ｄがＨｉｇｈ状態からＬｏｗ状態に変化する。つまり、図３に示す期間ＴＡにおいては、信号ａがＨｉｇｈ状態、かつ信号ｂがＬｏｗ状態となるため、信号ｅはＬｏｗ状態になり、信号ｆはＨｉｇｈ状態になる。同様に、期間ＴＡにおいては、信号ｃがＬｏｗ状態、かつ信号ｄがＨｉｇｈ状態となるため、信号ｇはＨｉｇｈ状態になり、信号ｈはＬｏｗ状態になる。前述したように信号ｘは、信号ｅおよび信号ｈの論理積であるため、期間ＴＡにおいてはＬｏｗ状態となり、信号ｙは、信号ｆと信号ｇの論理積であるため、期間ＴＡにおいてＨｉｇｈ状態となる。このように期間ＴＡにおいては、信号ｙがＨｉｇｈ状態となるため、信号ｚはＨｉｇｈ状態となり、マイコン１０から与えられるアドレスおよびデータの取り込みが行われる。また、ラッチ正転信号ＬＰがＨｉｇｈ状態からＬｏｗ状態に反転し、同時に、ラッチ反転信号ＬＮがＬｏｗ状態からＨｉｇｈ状態に反転する場合も同様に、マイコン１０から与えられるアドレスおよびデータの取り込みが行われる（図３：期間ＴＢ）。
【００２２】
これに対して、図３の期間ＴＣの場合のように、ノイズ等によりラッチ正転信号ＬＰがＬｏｗ状態からＨｉｇｈ状態に反転するものの、ラッチ反転信号ＬＮがＨｉｇｈ状態のまま反転しない場合には、信号ｆのみがＨｉｇｈ状態となり、信号ｅ、ｇおよびｈはＬｏｗ状態となるため、信号ｘおよび信号ｙの両者は共にＬｏｗ状態となり、信号ｚはＬｏｗ状態のままとなる。このため、図３の期間ＴＣにおいてはマイコン１０から与えられるアドレスおよびデータの取り込みは行われない。
【００２３】
以上に説明した動作が周辺ＬＳＩのインタフェース部で実行されるため、本実施形態では、図４のタイミングチャートに示す各タイミングでリード／ライト信号、ラッチ正転信号およびラッチ反転信号の各制御信号やアドレス、データを変化させる処理を制御部１１０に実行させることで、周辺ＬＳＩに対する作動制御が実現されるのである。
以上がマイコン１０の構成である。
【００２４】
（Ｂ：動作）
次いで、本実施形態に係るマイコン１０の動作について説明する。
マイコン１０の電源（図示省略）が投入されると、制御部１１０は、前述した制御プログラムを不揮発性記憶部１２０ａから揮発性記憶部１２０ｂに読み出し、その実行を開始する。この制御プログラムにしたがって制御部１１０が実行する処理には、初期化処理、データ書き込み処理、およびデータ読み出し処理の３つがある。
以下、これら３つの処理について詳細に説明する。
【００２５】
（Ｂ−１：初期化処理）
図５は、初期化処理の流れを示すフローチャートである。この初期化処理は、マイコン１０の電源の投入時に実施される処理であり、図４に示すタイミングチャートの初期化期間（ａ）における処理である。この初期化処理では、制御部１１０は、まず、ハードウェアリセットが実施された後、パラレルＩ／Ｏ１５０ｂの入出力設定を“出力”に設定する（ステップＳＡ０１０）。なお、ハードウェアリセットの後、パラレルＩ／Ｏ１５０ｂの入出力設定を“出力”に設定するのは、マイコン１０の電源投入時においては信号の衝突を避けるためパラレルＩ／Ｏ１５０ｂの入出力設定は“入力”とされていることが一般的だからである。
【００２６】
次いで、制御部１１０は、各制御信号の信号値の初期設定を行う（ステップＳＡ０２０）。より詳細に説明すると、制御部１１０は、ラッチ正転信号をＬｏｗ状態に、ラッチ反転信号をＨｉｇｈ状態に、リード／ライト信号をＬｏｗ状態にセットする。図４に示すように、ハードウェアリセット後のラッチ正転信号およびラッチ反転信号が各々Ｌｏｗ状態である場合、この初期化処理においては、ラッチ反転信号がＬｏｗ状態からＨｉｇｈ状態に変化するのであるが、ラッチ正転信号はＬｏｗ状態のまま反転しないため、リード／ライト信号の信号値に応じたデータの授受が周辺ＬＳＩで実行されることはない。
以上が初期化処理の内容である。
【００２７】
（Ｂ−２：データ書き込み処理）
図６は、データ書き込み処理の流れを示すフローチャートである。このデータ書き込み処理は、図４に示すタイミングチャートのライト期間（ｂ）やライト期間（ｂ）´における処理である。このデータ書き込み処理では、制御部１１０は、まず、パラレルＩ／Ｏ１５０ｂの各ポートに値を設定する（ステップＳＢ０１０）。より詳細に説明すると、制御部１１０は、周辺ＬＳＩに与えるデータをポート０からポート７に対応するレジスタに書き込むとともに、このデータを記憶するべき周辺ＬＳＩ内のレジスタを示すアドレスをポート８からポート１０に対応するレジスタに書き込み、リード／ライト信号をＬｏｗ状態にセットする。
【００２８】
次いで、制御部１１０は、パラレルＩ／Ｏ１５０ｂのデータ入出力設定を“出力”にセットし（ステップＳＢ０２０）、その後、周辺ＬＳＩでのセットアップ時間（図４に示す時間Ｔ１）に応じた分だけウェイトを行う（ステップＳＢ０３０）。このステップＳＢ０３０のウェイト処理は、制御プログラムにてステップＳＢ０２０の処理に対応するコードと、ステップＳＢ０４０の処理に対応するコードとの間に上記セットアップ時間に応じた個数分のnopコードをその制御プログラムに予め書き込んでおくことで実現される（以下に説明する他のウェイト処理についても同様）。
【００２９】
上記ウェイト処理を完了すると、制御部１１０は、ラッチ正転信号およびラッチ反転信号の両者を反転させ、リード／ライト信号の信号値に応じた動作の開始を周辺ＬＳＩに対して指示する（ステップＳＢ０４０）。このようにしてラッチ正転信号およびラッチ反転信号の両者が反転すると、周辺ＬＳＩは、リード／ライト信号がＬｏｗ状態であるため、ポート０からポート７を介して与えられるデータ、および、ポート８からポート１０を介して与えられるアドレスを取り込み、このアドレスの示すレジスタに当該データを書き込む処理を実行する。一方、制御部１１０は、ステップＳＢ０４０の実行後、周辺ＬＳＩが再度書き込み可能になるまでウェイトを行い（ステップＳＢ０５０）、本データ書き込み処理を終了する。
以上がデータ書き込み処理の内容である。
【００３０】
（Ｂ−３：データ読み出し処理）
図７は、データ読み出し処理の流れを示すフローチャートである。
このデータ読み出し処理は、図４に示すタイミングチャートの読み出し期間（ｃ）における処理である。このデータ書き込み処理では、制御部１１０は、まず、パラレルＩ／Ｏ１５０ｂの各ポートに値を設定する（ステップＳＣ０１０）。より詳細に説明すると、制御部１１０は、周辺ＬＳＩ内のレジスタのうち、読み出し対象のデータが格納されているものを示すアドレスをポート８からポート１０に対応するレジスタに書き込み、リード／ライト信号をＨｉｇｈ状態にセットする。
【００３１】
次いで、制御部１１０は、パラレルＩ／Ｏ１５０ｂのデータ入出力設定を“入力”にセットし（ステップＳＣ０２０）、その後、周辺ＬＳＩでのセットアップ時間Ｔ１に応じた分だけウェイトを行う（ステップＳＣ０３０）。そして、ステップＳＣ０３０のウェイト処理が完了すると、制御部１１０は、ラッチ正転信号およびラッチ反転信号の両者を反転させ、リード／ライト信号の信号値に応じた動作の開始を周辺ＬＳＩに対して指示する（ステップＳＣ０４０）。このようにしてラッチ正転信号およびラッチ反転信号の両者が反転すると、周辺ＬＳＩは、リード／ライト信号がＨｉｇｈ状態であるため、ポート８からポート１０を介して与えられるアドレスを取り込み、このアドレスの示すレジスタに格納されているデータをポート０からポート７へ出力する。
【００３２】
制御部１１０は、周辺ＬＳＩからのデータ出力が安定するまでの時間Ｔ２に応じた分のウェイトを行い（ステップＳＣ０５０）、その後、パラレルＩ／Ｏ１５０ｂからのデータの読み出しを行う（ステップＳＣ０６０）。以降、制御部１１０は、周辺ＬＳＩが書き込み可能になるまでウェイトを行い（ステップＳＣ０７０）、本データ読み出し処理を完了する。
以上がデータ読み出し処理の内容である。
【００３３】
以上説明したようにマイコン１０と周辺ＬＳＩとの間のデータ授受が行われるため、本実施形態によれば以下の３つの効果がある。
（１）リード（或いはライト）の実行開始をラッチ信号（ラッチ正転信号およびラッチ反転信号）の反転で指示するため、リードまたはライト信号をアクティブ状態とすることでデータの読み出し（或いは書き込み））制御を行う態様に比較して、制御処理に要する処理時間が短く、マイコンと周辺ＬＳＩとの間のデータ授受の効率が向上する、といった効果がある。
【００３４】
（２）チップセレクトとリード（或いはライト）信号とを用いてデータの読み出し（書き込み）制御を行う態様では、チップセレクトをアクティブ状態にした後、リード（或いはライト）をアクティブ状態とするまでの時間、その状態の持続時間および次にリード（或いはライト）をアクティブ状態とするまでの時間の３種類を管理する必要があった。これに対して、本実施形態では、例えばライト時には、ラッチ信号をアクティブにするまでの時間、インアクティブ後、次にアクティブにするまでの時間の２つですみ、タイミング管理が容易になる、といった効果がある。
【００３５】
（３）ラッチ信号として論理を反転させた２本の信号（すなわち、ラッチ正転信号およびラッチ反転信号）をペアで用いたため、コモンモードノイズによりラッチ正転信号或いはラッチ反転信号の何れかが反転した場合であっても周辺ＬＳＩが誤動作することはなく、コモンノイズに対する耐性が向上する、といった効果を奏する。
【００３６】
（Ｃ：変形）
以上、本発明の一実施形態について説明したが、かかる実施形態に以下に述べる変形を加えても勿論良い。
（１）上述した実施形態では、パラレルＩ／Ｏ１５０ｂに周辺ＬＳＩを接続し、このパラレルＩ／Ｏ１５０ｂが有する１４個のポートの各々を介して論理を反転させた２本のラッチ信号、リード／ライト信号、アドレスおよびデータの授受を行った。前述したように、パラレルＩ／Ｏは、各ポートを介してその接続先に与える情報を記憶するレジスタを有しており、これらレジスタの内容が書き換えられるまでは、そのレジスタに対応するポートの出力内容が維持されるといった特徴を有している。しかし、このようなレジスタを有することは本発明に係るデータ授受手順の実行とは無関係である。つまり、内部バス１６０へ制御部１１０から出力されるデータの構成ビットを並列に外部へ出力することができるインタフェースを介して周辺ＬＳＩを接続する態様であれば良く、そのインタフェースがパラレルＩ／Ｏに限定される訳ではない。
【００３７】
（２）上述した実施形態では、周辺ＬＳＩに対してリード／ライト信号の示す動作の開始を指示するラッチ信号として、ラッチ正転信号およびラッチ反転信号のペアを用いることによりコモンモードノイズに対する耐性を高めたが、他の方法でノイズ耐性を高めることができる場合には、ラッチ正転信号のみ（すなわち、一本のラッチ信号）を用いても勿論良い。
【００３８】
（３）上述した実施形態では、本発明に係るデータ授受手順を制御部１１０に実行させる制御プログラムが不揮発性記憶部１２０ａに予め格納されていた。しかし、例えばＣＤ−ＲＯＭ（Compact Disk-Read Only Memory）などのコンピュータ装置読取可能な記録媒体に上記制御プログラムを書き込んで配布しても良く、また、インターネットなどの電気通信回線経由のダウンロードにより上記制御プログラムを配布しても良い。
【００３９】
（４）半導体装置のインタフェース部の回路を図２から図８のように変更して、ラッチ信号、リード／ライト信号、アドレス、データの変化位置が同じでもデータの授受を行えるようにしても良い。図８と図２とを比較すれば明らかように、図８に示す回路は、ＯＲゲート２３０の出力信号ｚをフリップフロップ回路３１０ｎを介してレジスタ２４０ｐおよび２４０ｑの各イネーブル端子ｅｎへ与えるようにした点のみが図２に示す回路と異なる。図９は、半導体装置のインタフェース部の回路構成を図８に示すように変更した場合のタイミングチャートの一例を示す図である。この図９と図４とを比較すれば明らかように、本変形例に係る態様では、図４に示すタイミングチャートのセットアップ時間Ｔ１は不要となる。これは、図８に示す回路では、フリップフロップ回路３１０ｎによって１クロック分のセットアップ時間が確保されるからである。このように、半導体装置のインタフェース部の回路構成を図８に示すように変更すると、半導体装置側で１クロック分のセットアップ時間Ｔ１が確保されるため、マイコン側ではセットアップ時間Ｔ１をソフトウェア処理で管理する必要がなくなり、ソフトウェアによる制御処理がさらに軽減される。
【図面の簡単な説明】
【００４０】
【図１】本発明の一実施形態に係るマイコン１０の構成例を示すブロック図である。
【図２】周辺ＬＳＩ側のインタフェースの一例を示す図である。
【図３】周辺ＬＳＩのインタフェース部における信号変化の一例を示す図である。
【図４】同マイコン１０と周辺ＬＳＩとの間のデータ授受における各ポートの内容の変化を示すタイミングチャートである。
【図５】同マイコン１０の制御部１１０が実行する初期化処理の流れを示すフローチャートである。
【図６】同制御部１１０が実行するデータ書き込み処理の流れを示すフローチャートである。
【図７】同制御部１１０が実行するデータ読み出し処理の流れを示すフローチャートである。
【図８】変形例（４）に係る半導体装置の構成例を示す図である。
【図９】同変形例（４）に係る半導体装置と周辺ＬＳＩとの間のデータ授受における各ポートの内容の変化を示すタイミングチャートである。
【図１０】マイコンと周辺ＬＳＩとの間のデータ授受についての従来技術を説明するための図である。
【符号の説明】
【００４１】
１０…マイコン、１１０…制御部、１２０…記憶部、１２０ａ…不揮発性記憶部、１２０ｂ…揮発性記憶部、１３０…タイマ、１４０…割り込みコントローラ、１５０…外部Ｉ／Ｆ部、１５０ａ…シリアルＩ／Ｏ、１５０ｂ…パラレルＩ／Ｏ、１６０…内部バス。
【図１】
2010134682.tif 000003
【図２】
2010134682.tif 000004
【図３】
2010134682.tif 000005
【図４】
2010134682.tif 000006
【図５】
2010134682.tif 000007
【図６】
2010134682.tif 000008
【図７】
2010134682.tif 000009
【図８】
2010134682.tif 000010
【図９】
2010134682.tif 000011
【図１０】
2010134682.tif 000012