(57)【要約】【課題】制御装置内のＣＰＵコアの制御負担を軽減できる通信装置を提供する。【解決手段】送信シフトレジスタ３１は、ｎ（ｎは自然数）個の送信レジスタ素子ＴＲ３１〜ＴＲ３ｎを備え、受信シフトレジスタ２２は、ｎ個の受信レジスタ素子ＲＲ２１〜ＲＲ２ｎを備える。通信制御回路３７はシフトクロック信号ＳＣのｎクロックごとにセット信号ＳＥＴを生成する。ＣＰＵコア１０は出力レジスタ３３にデータを書き込む。送信シフトレジスタ３１は、セット信号ＳＥＴに応答して、出力レジスタ３３のデータをパラレルに受ける。そして、シフトクロック信号ＳＣに応答して、データをシリアルに出力する。受信シフトレジスタ２２は、シフトクロックＳＣに応答して、データを順次シフトする。そして、ｎクロック時に出力されるセット信号ＳＥＴに応答して、データをパラレルに出力レジスタ２３に出力する。【選択図】図３
2011060027.tif 000002
【特許請求の範囲】
【請求項１】
制御装置と、前記制御装置に接続される入出力拡張装置とを備える通信装置であって、
前記制御装置は、
データを記憶する記憶手段と、
前記記憶手段から出力されたデータを格納する出力レジスタ手段と、
前記出力レジスタ手段に前記データの格納を指示する制御手段と、
第１クロック信号の所定周期ごとに第１セット信号を出力する第１通信制御手段と、
前記第１セット信号に応じて前記レジスタ手段がラッチしたデータをパラレルに受け、前記第１クロック信号に応じて前記受けたデータをシリアルに出力する制御側送信シフトレジスタとを備え、
前記入出力拡張装置は、
前記第１クロック信号に応じて前記制御側送信シフトレジスタから出力されたデータをシリアルに受ける拡張側受信シフトレジスタと、
前記第１セット信号に基づいて前記拡張側受信シフトレジスタからデータをパラレルに受け、外部に出力する入出力手段とを備える、通信装置。
【請求項２】
請求項１に記載の通信装置であって、
前記制御側送信シフトレジスタは、各々が前記出力レジスタ手段からデータを受けるｎ（ｎはｎ＞１の自然数）個の送信レジスタ素子を備え、
前記拡張側受信シフトレジスタは、前記ｎ個の送信レジスタ素子に対応するｎ個の受信レジスタ素子を備え、
前記第１通信制御手段は、前記制御側送信シフトレジスタが受けたデータが前記第１クロック信号に応じてｎ回シフトしたとき前記第１セット信号を生成する、通信装置。
【請求項３】
請求項２に記載の通信装置であって、
前記入出力手段は、
前記ｎ個の受信レジスタ素子に対応するｎ個の入出力端子を備えることを特徴とする、通信装置。
【請求項４】
請求項１〜請求項３のいずれか１項に記載の通信装置であって、
前記入出力拡張装置はさらに、
前記第１クロック信号に基づいて、前記第１セット信号と同期した第２セット信号を生成する第２通信制御手段を備え、
前記入出力手段は、前記第２セット信号に応じて前記拡張側受信シフトレジスタからデータをパラレルに受け外部に出力する、通信装置。
【請求項５】
請求項１又は請求項２に記載の通信装置であって、
前記入出力手段は、
前記第１クロック信号に基づいて第２クロック信号を生成するクロック生成手段と、
前記第２クロック信号と、前記拡張側受信シフトレジスタからパラレルに出力されるデータとに基づいて、調歩同期式のシリアルデータを生成する調歩同期式シリアルデータ生成手段とを備える、通信装置。
【請求項６】
請求項１に記載の通信装置であって、
前記入出力手段は外部からデータを受け、
前記入出力拡張装置はさらに、
前記第１セット信号に基づいて、前記入出力手段が外部から受けたデータをパラレルに受け、前記第１クロック信号に応じて前記データをシリアルに出力する拡張側送信シフトレジスタを備え、
前記制御装置はさらに、
前記拡張側送信シフトレジスタから出力されたデータを前記第１クロック信号に応じてシリアルに受ける制御側受信シフトレジスタと、
前記第１セット信号に応じて、前記制御側受信シフトレジスタのデータをパラレルに受ける入力レジスタ手段とを備え、
前記制御手段は、前記入力レジスタ手段のデータを前記記憶手段に記憶する、通信装置。
【請求項７】
入出力拡張装置に接続可能な制御装置であって、
データを記憶する記憶手段と、
記憶手段から出力されたデータを格納する出力レジスタ手段と、
前記出力レジスタ手段に前記データの格納を指示する制御手段と、
第１クロック信号の所定周期ごとに第１セット信号を生成する第１通信制御手段と、
前記第１セット信号に応じて前記出力レジスタ手段のデータをパラレルに受け、前記第１クロック信号に応じて前記受けたデータをシリアルに出力する制御側送信シフトレジスタとを備える、制御装置。
【請求項８】
ｎ（ｎはｎ＞１の自然数）個の送信レジスタ素子を含む制御側送信シフトレジスタを備え、前記制御側送信シフトレジスタのデータを第１クロック信号に応じてシリアルに出力する制御装置と接続可能な入出力拡張装置であって、
前記第１クロック信号に応じて前記制御側送信シフトレジスタから出力されたデータをシリアルに受ける拡張側受信シフトレジスタを備え、
前記拡張側受信シフトレジスタは、前記ｎ個の送信レジスタ素子に対応するｎ個の受信レジスタ素子を含み、
前記入出力拡張装置はさらに、
前記制御側拡張シフトレジスタが受けたデータが前記第１クロック信号に応じてｎ回シフトしたときに、前記拡張側シフトレジスタからデータをパラレルに受け、外部に出力する入出力手段とを備える、入出力拡張装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置に関し、さらに詳しくは、制御装置と入出力拡張装置とを備える通信装置に関する。
【背景技術】
【０００２】
ワンチップマイクロコンピュータ（以下、ワンチップマイコンという）は、外部装置と信号をやり取りするための複数のＩ／Ｏピンを有する。
【０００３】
最近、アプリケーションが複雑、多様になってきている。このようなアプリケーションは、多くのＩ／Ｏピン数を必要とする。したがって、ワンチップマイコンが有するＩ／Ｏピン数では、不足する場合が生じる。
【０００４】
このような問題を解決するため、エキスパンダＩＣ（Integrated Circuit）が利用されている。エキスパンダＩＣはたとえば、特開平６−２０８６３４号公報に開示されている。
【０００５】
エキスパンダＩＣは、Ｉ／Ｏピン数をワンチップマイコンの外部で拡張する。図１を参照して、エキスパンダＩＣ１００はワンチップマイコン２００に接続される。ワンチップマイコン２００は３つの入出力ピンＰ２２１〜Ｐ２２３を有する。ピンＰ２２１はクロック信号ＣＬＫを出力する。ピンＰ２２２はシリアルデータを出力する。ピンＰ２２３はラッチ信号を出力する。
【０００６】
エキスパンダＩＣ１００はピンＰ２２１〜Ｐ２２３と接続される入出力ピンＰ１０１〜Ｐ１０３と、外部とデータのやり取りを行う入出力ピンＰ１１１〜Ｐ１１８とを備える。エキスパンダＩＣ１００はさらに、ピンＰ１０２からのシリアルデータを順次受け付ける図示しないシフトレジスタと、各入出力ピンＰ１１１〜Ｐ１１８に対応して設けられた複数の図示しない出力レジスタとを備える。
【０００７】
エキスパンダＩＣ１００は、ピンＰ１０２で受けたシリアルデータをパラレルデータに変換する。そして、変換されたデータを８つのピンＰ１１１〜Ｐ１１８からパラレルに出力する。したがって、エキスパンダＩＣ１００を利用すれば、ワンチップマイコン２００の入出力端子数を３つ（Ｐ２２１〜Ｐ２２３）から８つ（Ｐ１１１〜Ｐ１１８）に増加する。
【０００８】
エキスパンダＩＣ１００から出力されるデータのタイミングチャートを図２に示す。図２を参照して、エキスパンダＩＣ１００内にシフトレジスタは、ピンＰ１０１に入力されるクロック信号ＣＬＫに応答して、ピンＰ１０２から入力され、データＤ１〜Ｄ８が順番に配列されたシリアルデータを順次受け付ける。シフトレジスタは複数のレジスタ素子を含む。レジスタ素子は、対応する出力レジスタ素子を介して、対応するピンＰ１１１〜Ｐ１１８と接続されている。シフトレジスタはクロック信号ＣＬＫに応答して、レジスタ素子上でデータを順次シフトする。
【０００９】
クロック信号ＣＬＫに応答してデータを順次シフトした結果、データＤ１〜Ｄ８が対応するレジスタ素子に格納される。このとき、ワンチップマイコン２００はＨレベルのパルス信号であるセット信号をピンＰ２２３から出力する。エキスパンダＩＣがピンＰ１０３にセット信号を受けたとき、エキスパンダＩＣ内の出力レジスタは、セット信号に応答して、シフトレジスタ内のデータＤ１〜Ｄ８をラッチする。ラッチされたデータＤ１〜Ｄ８は対応する入出力端子Ｐ１１１〜Ｐ１１８から外部にパラレルデータとして出力される。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開平６−２０８６３４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
上述のように、制御装置であるワンチップマイコン２００から出力されるシリアルデータをエキスパンダＩＣ１００でパラレルデータとして出力する場合、ワンチップマイコン２００はエキスパンダＩＣ１００の出力を制御しなければならない。具体的には、ワンチップマイコン２００内のＣＰＵコアは、エキスパンダＩＣ１００の入出力ピンＰ１１１〜１１８に出力するデータの出力タイミングや、セット信号の活性化のタイミング等を制御しなければならない。
【００１２】
本発明の目的は、制御装置内のＣＰＵコアの制御負担を軽減できる通信装置を提供することである。
【課題を解決するための手段及び発明の効果】
【００１３】
本発明による通信装置は、制御装置と、制御装置に接続される入出力拡張装置とを備える。制御装置は、データを記憶する記憶手段と、出力レジスタ手段と、制御手段と、第１通信制御手段と、制御側送信シフトレジスタとを備える。出力レジスタ手段は、記憶手段から出力されたデータを格納する。制御手段は、出力レジスタ手段にデータの格納を指示する。第１通信制御手段は、第１クロック信号の所定周期ごとに第１セット信号を出力する。制御側送信シフトレジスタは、第１セット信号に応じてレジスタ手段がラッチしたデータをパラレルに受け、第１クロック信号に応じて受けたデータをシリアルに出力する。入出力拡張装置は、拡張側受信シフトレジスタと、入出力手段とを備える。拡張側受信シフトレジスタは、第１クロック信号に応じて制御側送信シフトレジスタから出力されたデータをシリアルに受ける。入出力手段は、第１セット信号に基づいて拡張側受信シフトレジスタからデータをパラレルに受け、外部に出力する。
【００１４】
本発明による通信装置では、制御装置が制御側送信シフトレジスタを備える。制御手段は、記憶手段から出力手段までのデータの出力を制御するが、制御側送信シフトレジスタを制御しない。制御側送信シフトレジスタは、第１クロック信号に基づいて第１セット信号を生成する第１通信制御手段と、第１クロック信号により制御される。入出力拡張装置は、拡張側受信シフトレジスタを備える。拡張側受信シフトレジスタも、第１クロック信号及び第１セット信号に基づいて、データを受け、シフトする。つまり、制御装置と入出力拡張装置との間のデータ授受は第１クロック信号及び第１セット信号に基づいて実行され、制御手段は関与しない。そのため、制御手段はデータ授受に関する制御をする必要がなく、制御負担が軽減する。
【００１５】
好ましくは、制御側送信シフトレジスタは、各々が出力レジスタ手段からデータを受けるｎ（ｎは１以上の整数）個の送信レジスタ素子を備える。拡張側受信シフトレジスタは、ｎ個の送信レジスタ素子に対応するｎ個の受信レジスタ素子を備える。第１通信制御手段は、制御側送信シフトレジスタが受けたデータが第１クロック信号に応じてｎ回シフトしたとき第１セット信号を生成する。
【００１６】
この場合、制御側送信シフトレジスタ内の送信レジスタ素子数と拡張側受信シフトレジスタ内の受信レジスタ素子数が同じｎ個である。そのため、レジスタ素子数分データをシフトすれば、所定の送信レジスタ素子に格納されたデータは、ｎ回シフトした後に対応する受信レジスタ素子に格納される。したがって、レジスタ素子数分シフトしたときに第１セット信号が生成されれば、制御手段が制御しなくても、所望のデータを所望の受信シフトレジスタに格納し、出力することができる。
【００１７】
好ましくは、入出力手段は、ｎ個の受信レジスタ素子に対応するｎ個の入出力端子を備える。
【００１８】
この場合、ｎ個の入出力端子はｎ個の送信レジスタ素子と対応する。そのため、所定の送信レジスタに格納されたデータを所定の入出力端子から出力できる。
【００１９】
好ましくは、入出力拡張装置はさらに、第２通信制御手段を備える。第２通信制御手段は、第１クロック信号に基づいて、第１セット信号と同期した第２セット信号を生成する。入出力手段は、第２セット信号に応じて拡張側受信シフトレジスタからデータをパラレルに受け外部に出力する。
【００２０】
この場合、入出力拡張装置は、第１セット信号を制御装置から受けなくてよい。そのため、入出力拡張装置は、制御装置から第１セット信号を受けるための端子を設けなくてよい。
【００２１】
本発明による制御装置及び入出力拡張装置は、上述の通信装置に利用される。
【図面の簡単な説明】
【００２２】
【図１】従来の通信装置の全体構成を示す機能ブロック図である。
【図２】図１に示した通信装置のタイミングチャートである。
【図３】本発明の第１の実施の形態による通信装置の全体構成を示す機能ブロック図である。
【図４】図３に示した通信装置のタイミングチャートである。
【図５】本発明の第２の実施の形態による通信装置の全体構成を示す機能ブロック図である。
【発明を実施するための形態】
【００２３】
以下、図面を参照し、本発明の実施の形態を詳しく説明する。図中同一又は相当部分には同一符号を付してその説明は繰り返さない。
【００２４】
［第１の実施の形態］
［全体構成］
図３を参照して、本実施の形態による通信装置は、制御装置であるワンチップマイクロコンピュータ（以下、単にマイコンという）１と、入出力拡張装置であるエキスパンダＩＣ２とを備える。
【００２５】
［マイコンの構成］
マイコン１は、ＣＰＵコア１０と、メモリ２０と、入出力回路３０とを備える。
【００２６】
ＣＰＵコア１０は、マイコン１全体を制御する。ＣＰＵコア１０は、メモリ２０内の所定のメモリセル（図示せず）に格納されたデータを読み出す。そして、読み出されたデータを入出力回路３０内の所定の出力レジスタ３３に書き込む。ＣＰＵコア１０はまた、入出力回路３０内の入力レジスタ３４に格納されたデータを読み出す。そして、メモリ２０内の所定のメモリセルにデータを格納する。
【００２７】
メモリ２０はたとえば、ＤＲＡＭやフラッシュメモリである。メモリ２０は、行列状に配列された複数の図示しないメモリセルを備える。各メモリセルは、メモリ２０は、ＣＰＵコア１０に指定されたアドレスのメモリセルからデータを読み出し、データバス５０に出力する。メモリ２０はまた、データバス５０からデータを受け、ＣＰＵ１０に指定されたアドレスのメモリセルにデータを格納する。
【００２８】
［入出力回路の構成］
入出力回路３０は、送信シフトレジスタ３１と、受信シフトレジスタ３２と、出力レジスタ３３と、入力レジスタ３４と、読出ゲート３５と、アドレスデコーダ３６と、通信制御回路３７と、入出力端子群３９とを備える。
【００２９】
送信シフトレジスタ３１は、直列に接続された複数の送信レジスタ素子ＴＲ３１〜ＴＲ３ｎ（ｎは２以上の自然数）を含む。同様に、受信シフトレジスタ３２は、直列に接続された複数の受信レジスタ素子ＲＲ３１〜ＲＲ３ｎを含む。送信レジスタ素子ＴＲ３ｊ（ｊは１〜ｎの自然数）及び受信レジスタ素子ＲＲ３ｊは、たとえば、ＤＦＦ（Delay Flip-Flop）である。
【００３０】
出力レジスタ３３は、複数の出力レジスタ素子ＯＲ３１〜ＯＲ３ｎを含む。出力レジスタ素子ＯＲ３１〜ＯＲ３ｎは、送信レジスタ素子ＴＲ３１〜ＴＲ３ｎに対応して配置される。出力レジスタ素子ＯＲ３ｊは、ＣＰＵコア１０に指定されたメモリセルのデータ信号をデータバス５０から受け、ラッチする。出力レジスタ素子ＯＲ３１〜ＯＲ３ｎは、データ信号を増幅するバッファとして機能する。
【００３１】
入力レジスタ３４は、複数の入力レジスタ素子ＩＲ３１〜ＩＲ３ｎを含む。入力レジスタ素子ＩＲ３１〜ＩＲ３ｎは、受信レジスタ素子ＲＲ３１〜ＲＲ３ｎに対応して配置される。入力レジスタ素子ＩＲ３ｊは、通信制御回路３７から出力されるセット信号ＳＥＴに応じて、受信レジスタ素子ＲＲ３ｊから出力されるデータ信号をラッチする。入力レジスタ素子ＩＲ３１〜ＩＲ３ｎは、データ信号を増幅するバッファとして機能する。
【００３２】
読出ゲート３５は、複数の読出ゲート素子Ｇ３１〜Ｇ３ｎを含む。読出ゲート素子Ｇ３１〜Ｇ３ｎは、入力レジスタ素子ＩＲ３１〜ＩＲ３ｎに対応する。読出ゲート素子Ｇ３ｊは、ＣＰＵコア１０からの読出指示に応じて、対応する入力レジスタ素子ＩＲ３ｊでラッチされたデータをデータバス５０に出力する。
【００３３】
アドレスデコーダ３６は、ＣＰＵコア１０からの読出指示に応じて、読出ゲート３５内の特定の読出ゲート素子Ｇ３ｊを動作させる。また、ＣＰＵコア１０からの書込指示に応じて、出力レジスタ３３内の特定の出力レジスタ素子ＯＲ３ｊを動作させる。
【００３４】
具体的には、アドレスデコーダ３６は、ＣＰＵコア１０から読出許可信号ＲＥを受け、所望の読出ゲートＧ３ｊに読出信号を出力する。読出ゲートＧ３ｊは読出信号を受けたとき、対応する入力レジスタＩＲ３ｊに格納されたデータ信号をデータバス５０に出力する。また、アドレスデコーダ３６は、ＣＰＵコア１０から書込許可信号ＷＲを受け、所望の出力レジスタＯＲ３ｊに書込信号を出力する。出力レジスタＯＲ３ｊは、書込信号を受けたとき、データバス５０上のデータ信号をラッチする。出力レジスタＯＲ３ｊはラッチしたデータ信号を対応する送信レジスタ素子ＴＲ３ｊに出力する。
【００３５】
通信制御回路３７は、マイコン１とエキスパンダＩＣ２との間のデータ通信を制御する。より具体的には、通信制御回路３７は、送信及び受信シフトレジスタ３１及び３２を制御する。ＣＰＵコア１０は、送信及び受信シフトレジスタ３１及び３２を制御しない。つまり、ＣＰＵコア１０は、マイコン１とエキスパンダＩＣ２との間のデータ通信を制御しない。そのため、ＣＰＵコア１０は、データをエキスパンダＩＣ２に出力する場合、メモリ２０及び出力レジスタ３３を制御すればよい。また、エキスパンダＩＣ２からのデータをメモリ２０に格納する場合、ＣＰＵコア１０は、読出ゲート３５及びメモリ２０を制御すればよい。そのため、ＣＰＵコア１０の制御負担は軽減される。
【００３６】
通信制御回路３７は、外部からマスタクロック信号を受ける。そして、通信制御回路３７は、マスタクロック信号を分周又は逓倍して、シフトクロック信号ＳＣを生成する。生成されたシフトクロック信号ＳＣは、送信及び受信シフトレジスタ３１及び３２に入力される。送信及び受信シフトレジスタ３１及び３２は、シフトクロック信号ＳＣに応じてデータを順次シフトする。
【００３７】
通信制御回路３７はさらに、シフトクロック信号ＳＣの所定の周期ごとにＨレベルのパルス信号であるセット信号ＳＥＴを出力する。送信シフトレジスタ３１は、セット信号ＳＥＴに応答して、出力レジスタ３３のデータをパラレルにラッチする。また、入力レジスタ３４は、セット信号ＳＥＴに応答して、受信シフトレジスタ３２のデータをパラレルにラッチする。
【００３８】
入出力端子群３９は、シリアルデータを送受信する。さらに、シフトクロック信号ＳＣをエキスパンダＩＣに出力する。入出力端子群３９は、入出力端子Ｐ１１〜Ｐ１３を含む。入出力端子Ｐ１１は、シフトクロック信号ＳＣをエキスパンダＩＣに出力する。入出力端子Ｐ１２は、エキスパンダＩＣ２から出力されたシリアルデータを受ける。そして、入出力端子Ｐ１２は、シリアルデータを受信シフトレジスタ３２に出力する。入出力端子Ｐ１３は、送信シフトレジスタ３１から出力されたシリアルデータを受ける。そして、入出力端子Ｐ１３は、シリアルデータをエキスパンダＩＣ２に出力する。
【００３９】
［エキスパンダＩＣの構成］
エキスパンダＩＣ２は、送信シフトレジスタ２１と、受信シフトレジスタ２２と、出力レジスタ２３と、出力ゲート２４と、通信制御回路２５と、入出力端子群２６及び２７とを備える。
【００４０】
入出力端子群２６は、入出力端子群３９と接続される。入出力端子群２６は、入出力端子Ｐ２１〜Ｐ２３を含む。入出力端子Ｐ２１は入出力端子Ｐ１１と接続され、マイコン１からシフトクロック信号ＳＣを受ける。入出力端子Ｐ２２は入出力端子Ｐ１２と接続され、送信シフトレジスタ２１から出力されるシリアルデータをマイコン１に出力する。入出力端子Ｐ２３は入出力端子Ｐ１３と接続され、シリアルデータ信号をマイコン１から受ける。そして、シリアルデータ信号を受信シフトレジスタ２２に出力する。
【００４１】
入出力端子群２７は、エキスパンダＩＣ２がマイコン１以外の他のデバイス（以下、外部デバイスという）と通信するための複数の入出力端子Ｐ２０１〜Ｐ２０ｎを含む。入出力端子Ｐ２０１〜Ｐ２０ｎの総数（ｎ個）は、送信シフトレジスタ２１内の送信レジスタ素子ＴＲ２１〜ＴＲ２ｎの総数（ｎ個）と等しい。また、入出力端子Ｐ２０１〜Ｐ２０ｎの総数（ｎ個）は、受信シフトレジスタ２２内の受信レジスタ素子ＲＲ２１〜ＲＲ２ｎの総数（ｎ個）と等しい。入出力端子Ｐ２０ｊは送信レジスタ素子ＴＲ２ｊ及び受信レジスタ素子ＲＲ２ｊに対応する。入出力端子Ｐ２０１〜Ｐ２０ｎの総数は、入出力端子Ｐ１１〜Ｐ１３の総数よりも多い。
【００４２】
入出力端子Ｐ２０１〜Ｐ２０ｎは、ＣＰＵコア１０により、入力端子及び出力端子に定義される。
【００４３】
送信シフトレジスタ２１は、直列に接続された複数の送信レジスタ素子ＴＲ２１〜ＴＲ２ｎを含む。送信レジスタ素子ＴＲ２１〜ＴＲ２ｎは、入出力端子Ｐ２０１〜Ｐ２０ｎに対応する。送信シフトレジスタ２１は、入出力端子群２７からパラレルにデータを受け、ラッチする。送信シフトレジスタ２１は、パラレルに受けたデータを、シフトクロック信号ＳＣに応じてシリアルに、入出力端子Ｐ２２に出力する。
【００４４】
送信レジスタＴＲ２ｊは、シフトクロック信号ＳＣがＨレベルに立ち上がると、前段の送信レジスタＴＲ２ｊ−１から出力されたデータをラッチし、次段の送信シフトレジスタＴＲ２ｊ＋１に出力する。そして、シフトクロック信号ＳＣがＨレベルに再び立ち上がるときに、次段の送信レジスタＴＲ２ｊ＋１はデータをラッチする。
【００４５】
受信シフトレジスタ２２は、直列に接続された複数の受信レジスタ素子ＲＲ２１〜ＲＲ２ｎを含む。複数の受信レジスタ素子ＲＲ２１〜ＲＲ２ｎは、入出力端子Ｐ２０１〜Ｐ２０ｎに対応する。受信シフトレジスタ２２は、マイコン１からデータをシリアルに受ける。そして、シフトクロック信号ＳＣに応じてデータを順次シフトする。具体的には、受信レジスタ素子ＲＲ２ｊは、シフトクロック信号ＳＣがＨレベルに立ち上がると、前段の受信レジスタ素子ＲＲ２ｊ−１から出力されたデータをラッチし、次段の受信シフトレジスタＲＲ２ｊ＋１に出力する。そして、シフトクロック信号ＳＣがＨレベルに再び立ち上がるときに、次段の受信レジスタ素子ＲＲ２ｊ＋１はデータをラッチする。
【００４６】
通信制御回路２５は、シフトクロック信号ＳＣに応じて、出力レジスタ２３を制御する。具体的には、通信制御回路２５は、送信レジスタＴＲ３ｊにラッチされたデータが順次シフトされ、受信レジスタＲＲ２ｊに格納されたとき、つまり、送信レジスタＴＲ３ｊにラッチされたデータがｎ回シフトしたとき、出力レジスタ２３内の出力レジスタ素子ＯＲ２ｊにセット信号ＳＥＴを出力する。より具体的には、通信制御回路２５は、シフトクロック信号ＳＣのｎクロックごとにセット信号ＳＥＴを生成し、出力レジスタ２３が受信シフトレジスタ２２のデータをラッチするよう制御する。
【００４７】
出力レジスタ２３は、受信レジスタ素子ＲＲ２１〜ＲＲ２ｎに対応する複数の出力レジスタ素子ＯＲ２１〜ＯＲ２ｎを含む。出力レジスタ素子ＯＲｊは、セット信号ＳＥＴを受けたとき、対応する送信レジスタ素子ＴＲ２ｊが格納するデータをラッチする。
【００４８】
出力ゲート２４は、複数の出力レジスタ素子ＯＲ２１〜ＯＲ２ｎに対応する複数の出力回路ＯＣ１〜ＯＣｎを含む。各出力回路ＯＣｊは、インバータＩＶ１と、ｎ型ＭＯＳトランジスタＴ１と、抵抗素子Ｒ１とを備える。インバータＩＶ１は、出力レジスタ素子ＯＲ３ｊからデータ信号を受け、反転して出力する。ｎ型ＭＯＳトランジスタＴ１のソース端子は接地電圧が供給されるＧＮＤノードに接続され、ドレイン端子は対応する入出力端子Ｐ２０ｊに接続される。ドレイン端子はさらに、電源電圧が供給されるＶＤＤノードに抵抗素子Ｒ１を介して接続される。ｎ型ＭＯＳトランジスタＴ１のゲート端子はインバータＩＶ１の出力を受ける。
【００４９】
出力レジスタＯＲ２ｊの出力信号がＨレベル、つまり「１」である場合、ｎ型ＭＯＳトランジスタＴ１はオフになる。そのため、入出力端子Ｐ２０ｊはＨレベル、つまり、「１」の信号を出力する。一方、出力レジスタＯＲ２ｊの出力信号がＬレベル（つまり「０」）である場合、ｎ型ＭＯＳトランジスタＴ１はオンになる。そのため、入出力端子Ｐ２０ｊはＬレベル（つまり、「０」）の信号を出力する。
【００５０】
［通信装置の動作］
本実施の形態による通信装置では、ＣＰＵコア１０は入出力回路３０を制御しない。より具体的には、ＣＰＵコア１０は、入出力端子Ｐ２０１〜Ｐ２０ｎに出力するデータの出力タイミングや、セット信号ＳＥＴの生成タイミングを制御しなくてよい。入出力回路３０は、ＣＰＵコア１０の制御を受けずに、ＣＰＵコア１０とは独立して動作する。そのため、ＣＰＵコア１０の制御負担は軽減する。以下、通信装置の動作を詳述する。
【００５１】
［データ出力動作］
図４はＣＰＵコア１０がエキスパンダＩＣ２の入出力端子Ｐ２０１からデータを出力する場合のタイミングチャートである。ＣＰＵコア１０は初めに、入出力端子Ｐ２０１から出力させたいデータをメモリ２０から読み出す。メモリ２０から読み出されたデータはデータバス５０に出力される。アドレスデコーダ３６は、ＣＰＵ１０からの書込許可信号ＷＲを受け、かつ、アドレスバス４０上のアドレス信号を受ける。アドレスデコーダ３６は、アドレス信号により指定された出力レジスタ素子（本例ではＯＲ３１）に書込信号を出力する。出力レジスタ素子ＯＲ３１は、書込信号を受けたとき、データバス５０上のデータをラッチする。以上の動作はＣＰＵコア１０が制御する。
【００５２】
一方、入出力回路３０は、通信制御回路３７により制御される。通信制御回路３７はシフトクロック信号ＳＣを生成するとともに、シフトクロック信号ＳＣのパルスをカウントする。そして、ｎクロック（ｎ個のパルス）ごとに、Ｈレベルのパルス信号であるセット信号ＳＥＴを出力する。
【００５３】
図４を参照して、時刻ｔ１で通信制御回路３７がセット信号ＳＥＴを出力する。送信シフトレジスタ３１内の各送信レジスタ素子ＴＲ３ｊは、セット信号ＳＥＴに応じて、対応する出力レジスタＯＲ３ｊが出力するデータをラッチする。送信レジスタ素子ＴＲ３ｊはシフトクロック信号ステップＳＣに応じてデータをラッチし出力する。その結果、時刻ｔ１で送信レジスタ素子ＴＲ３ｊにラッチされたデータは、シフトクロック信号ＳＣごとに順次シフトし、ｎクロック後の時刻ｔｎで受信レジスタ素子ＲＲ２ｊにラッチされる。
以下、時刻ｔ１に送信レジスタ素子ＴＲ３２にラッチされたデータＤ１に注目し、データＤ１のシフト動作を説明する。
時刻ｔ１において、送信レジスタ素子ＴＲ３２は、出力レジスタＯＲ３２が格納しているデータＤ１をラッチする。時刻ｔ１後、シフトクロック信号が次にＨレベルに活性化される前に、セット信号ＳＥＴはＬレベルとなる。
【００５４】
続いて、送信シフトレジスタ３１は、シフトクロック信号ＳＣに応じてデータを順次シフトする。同様に、エキスパンダＩＣ２内の受信シフトレジスタ２２も、シフトクロック信号ＳＣに応じてデータを順次シフトする。時刻ｔ１の後、シフトクロック信号ＳＣは時刻ｔ２で再びＨレベルになる。このとき、送信レジスタ素子ＴＲ３２のデータＤ１は、送信レジスタＴＲ３１にラッチされる。つまり、データＤ１は、時刻ｔ２において、送信レジスタ素子ＴＲ３２からＴＲ３１にシフトする。
続いて、時刻ｔ３において、送信レジスタ素子ＴＲ３１のデータＤ１は入出力端子Ｐ３１及びＰ２３を通って受信レジスタＲＲ２ｎにラッチされる。つまり、データＤ１は送信レジスタ素子ＴＲ３１から受信レジスタＲＲ２ｎにシフトする。同様に、シフトクロック信号ＳＣが再びＨレベルに立ち上がる時刻ｔ４（図示せず）において、データＤ１は受信レジスタ素子ＲＲ２ｎ−１にラッチされる。以降、送信シフトレジスタ３１及び受信シフトレジスタ２２はシフトクロック信号ＳＣがＨレベルに立ち上がるごとに、データＤ１を順次シフトする。この動作にＣＰＵコア１０は関与しない。
【００５５】
時刻ｔｎにおいて、データＤ１は、受信レジスタＲＲ２３からシフトし、受信レジスタＲＲ２２でラッチされる。このとき、以前にセット信号ＳＥＴが出力されてからｎクロックが経過したため、通信制御回路３７及び２５はセット信号ＳＥＴを出力する。
以上の動作により、時刻ｔ１で送信レジスタ素子ＴＲ３ｊにラッチされたデータは、ｎクロック後の時刻ｔｎで、送信レジスタ素子ＴＲ３ｊに対応する受信レジスタ素子ＲＲ２ｊにラッチされる。
【００５６】
エキスパンドＩＣ２内の出力レジスタ２３は、通信制御回路２５からセット信号ＳＥＴを受ける。このとき、出力レジスタ２３内の各出力レジスタ素子ＯＲ２ｊは、対応する受信レジスタＲＲ２ｊが格納しているデータをラッチする。したがって、出力レジスタ素子ＯＲ２２は、受信レジスタＲＲ２２が格納しているデータＤ１をラッチする。出力ゲート２４内の出力回路ＯＣ２は、出力レジスタ素子ＯＲ２２がラッチしたデータＤ１を受ける。データＤ１に応じてｎ型ＭＯＳトランジスタＴ１がオン又はオフし、データＤ１が入出力端子Ｐ２０２から出力される。
【００５７】
以上のとおり、ＣＰＵコア１０は入出力回路３０を制御しない。ＣＰＵコア１０は、データを出力したい入出力端子２０ｊに対応する送信レジスタ素子ＴＲ３ｊにデータを出力するよう出力レジスタ素子ＯＲ３ｊを制御するだけでよい。
【００５８】
また、送信シフトレジスタ３１内の送信レジスタ素子ＴＲ３１〜ＴＲ３ｎの総数は、受信シフトレジスタ２２内のレジスタ素子ＲＲ２１〜ＲＲ２ｎの総数と同じｎ個である。したがって、送信レジスタ素子ＴＲ３ｊに格納されたデータは、ｎクロックごとに対応する受信レジスタ素子ＲＲ２ｊに格納される。ｎクロックごとにセット信号ＳＥＴが生成されれば、所望の入出力端子Ｐ２０ｊにデータが出力される。
【００５９】
［データ入力動作］
データを入力するときの動作も、上述のデータ出力動作と類似する。データ入力動作前において、受信シフトレジスタ２２内の全ての受信レジスタ素子ＲＲ２１〜ＲＲ２ｎにはデータ「１」が格納される。このとき、全ての出力回路ＯＣ１〜ＯＣｎ内のｎ型ＭＯＳトランジスタＴ１はオフになる。そのため、全ての入出力端子Ｐ２０１〜Ｐ２０ｎは、外部デバイスの出力抵抗が抵抗素子Ｒ１よりも十分小さければ、外部デバイスに基づく電圧レベルとなる。エキスパンドＩＣは入出力端子Ｐ２０１〜Ｐ２０ｎにデータを受ける。
【００６０】
通信制御回路２５及び３７は、シフトクロック信号ＳＣのｎクロックごとにＨレベルのセット信号ＳＥＴを出力する。送信シフトレジスタ２１がＨレベルのセット信号ＳＥＴを受けたとき、送信シフトレジスタ２１は、入出力端子群２７に入力されたデータをパラレルに受け、ラッチする。具体的には、送信レジスタＴＲ２１〜ＴＲ２ｎは、対応する入出力端子Ｐ２０１〜Ｐ２０ｎから入力されたデータをラッチする。
【００６１】
以降の動作は図４と同様である。送信シフトレジスタ２１及び受信シフトレジスタ３２は、通信制御回路２５及び３７から出力されるシフトクロック信号ＳＣに応じてデータを順次シフトする。送信シフトレジスタ２１内のレジスタ素子ＴＲ２１〜ＴＲ２ｎの総数は、受信シフトレジスタ３２内のレジスタ素子ＲＲ３１〜ＲＲ３ｎの総数と同じｎ個である。したがっ、送信レジスタ素子ＴＲ２１に格納されたデータは、ｎクロック経過した時、受信レジスタ素子ＲＲ２１に格納される。
【００６２】
ｎクロック経過に基づいて、通信制御回路２５及び３７は、Ｈレベルのセット信号ＳＥＴを再び出力する。つまり、通信制御回路２５のセット信号ＳＥＴは、通信制御回路３７のセット信号ＳＥＴと同期する。入力レジスタ３４は、セット信号ＳＥＴを受ける。このとき、入力レジスタ内の入力レジスタ素子ＩＲ３１〜ＩＲ３ｎは、対応する送信レジスタ素子ＴＲ３１〜ＴＲ３ｎのデータをラッチする。
【００６３】
ＣＰＵコア１０は入力レジスタ３４でラッチされたデータをメモリ２０内の所望のメモリセルに格納する。ＣＰＵコア１０は、所定のメモリセルを指定するアドレス信号をアドレスバス４０に出力し、アドレスデコーダ３６に読出許可信号ＲＥを出力する。アドレスデコーダ３６は、アドレスバス４０上のアドレス信号と読出許可信号ＲＥとに基づいて、読出ゲート３５内の所定の読出ゲート素子Ｇ３ｊに読出信号を出力する。読出ゲート素子Ｇｊは読出信号を受けたとき、対応する入力レジスタ素子ＩＲ３ｊのデータをデータバス５０に出力する。
【００６４】
メモリ２０は、アドレス信号によりメモリセルを特定し、特定されたメモリセルにデータバス５０上のデータを格納する。
【００６５】
以上のとおり、データ入力動作においてもＣＰＵコア１０は入出力回路３０を制御しない。ＣＰＵコア１０は従来のような複雑な制御をしなくてよい。
【００６６】
上述の実施の形態では、通信制御回路３７及び２５は、シフトクロック信号ＳＣのｎクロックごとにセット信号ＳＥＴを生成する。しかしながら、何らかの理由により通信制御回路３７のセット信号ＳＥＴと、通信制御回路２５のセット信号ＳＥＴとの同期がずれる場合も有り得る。そこで、同期させるために、シリアルデータの先頭にスタートビットを挿入し、又は、末尾にストップビットを挿入してもよい。また、入出力端子群３９及び２６にピンを１つ追加し、追加したピンに同期を取るための信号を入出力してもよい。
【００６７】
また、上述の例では３線式のシリアル通信方式を示したが、ＰＰＭ変調、ＰＷＭ変調やバイフェーズ変調のような変調を用いた通信方式を採用してもよい。この場合、シフトクロック信号ＳＣ用の配線を減らすことができる。
【００６８】
［第２の実施の形態］
図５を参照して、本実施の形態による通信装置は、調歩同期式通信（Universal Asynchronous Receiver/Transmitter：以下、ＵＡＲＴという）を利用する。本実施の形態による通信装置は、ワンチップマイクロコンピュータ（以下、単にマイコンという）７０とエキスパンダＩＣ８０とを備える。
【００６９】
［マイコンの構成］
マイコン７０は、マイコン１と比較して、新たに設定レジスタ３８を備える。その他の構成はマイコン１と同じである。
【００７０】
設定レジスタ３８は、マイコン７０とエキスパンダＩＣ８０との間の設定データＣＤを出力する。設定データＣＤは、ＵＡＲＴ用のクロック信号を生成するための分周比情報と、エキスパンダＩＣが生成したＵＡＲＴ用シリアルデータの出力を指示する出力指示情報、外部の装置からエキスパンダＩＣへのＵＡＲＴ用シリアルデータの受付を指示する入力指示情報とを含む。
【００７１】
送信シフトレジスタ３１内のいくつかの送信レジスタ素子ＴＲ３１〜ＴＲ３ｎは、セット信号ＳＥＴに応じて設定データＣＤをラッチし、他の送信レジスタ素子ＴＲ３ｊは、セット信号ＳＥＴに応じて出力レジスタ３３からのデータをラッチする。たとえば、送信レジスタ素子ＴＲ３１〜ＴＲ３ｋ（ｋは、ｋ＜ｎの自然数）は設定データＣＤをラッチし、送信レジスタ素子ＴＲ３ｋ＋１〜ＴＲｎは、出力レジスタ３３のデータをラッチする。つまり、送信シフトレジスタ３１は、セット信号ＳＥＴを受けるごとに、設定データＣＤと出力レジスタ３３のデータとをラッチする。
【００７２】
［エキスパンダＩＣの構成］
エキスパンダＩＣ８０は、エキスパンダＩＣ２と比較して、出力ゲート２４に代えて、ＵＡＲＴ信号生成回路２０３を備える。エキスパンダＩＣ８０はさらに、入力レジスタ２０１、分周回路２０２、ＵＡＲＴ信号受信回路２０４及び設定レジスタ２０５を備える。エキスパンダＩＣ８０はさらに、入出力端子群２７に代えて、入出力端子群２０６を備える。その他の構成はエキスパンダＩＣ２と同じである。
【００７３】
設定レジスタ２０５、分周回路２０２、ＵＡＲＴ信号生成回路２０３、ＵＡＲＴ信号受信回路２０４及び入出力端子群２０６は、ＵＡＲＴによりシリアルデータを送受信するための構成である。入出力端子群２０６は、入力端子２０７と出力端子２０８とを備え、図示しないＵＡＲＴ機能を有する他の装置の入出力端子群と接続される。
【００７４】
入力端子２０７は、他の装置から送信されたＵＡＲＴ規格のシリアルデータを受ける。出力端子２０８は、エキスパンドＩＣ８０で生成されたＵＡＲＴ規格のシリアルデータを出力する。
【００７５】
設定レジスタ２０５は、通信制御回路２５からのセット信号ＳＥＴに応じて、受信シフトレジスタ２２から設定データＣＤをラッチする。設定データＣＤは、送信レジスタ素子ＴＲ３１〜ＴＲ３ｋに対応する受信レジスタ素子ＲＲ２１〜ＲＲ２ｋにラッチされる。したがって、設定レジスタ２０５は、受信レジスタ素子ＲＲ２１〜ＲＲ２ｋに格納された設定データＣＤをラッチする。
【００７６】
通信制御回路２５は、シフトクロック信号ＳＣを受ける。通信制御回路２５は、シフトクロック信号ＳＣからマスタクロックＭＣＬＫを生成するための逓倍情報を図示しないメモリに予め記憶する。通信制御回路２５はシフトクロック信号ＳＣ及び逓倍情報に基づいて、マスタクロック信号ＭＣＬＫを生成する。通信制御回路２５は生成されたマスタクロックＭＣＬＫを分周回路２０２に出力する。
【００７７】
分周回路２０２は、設定レジスタ２０５から分周比情報を受ける。分周回路２０２は分周比情報とマスタクロック信号ＭＣＬＫに基づいて、ＵＡＲＴ用クロック信号ＵＣＬＫを生成する。
【００７８】
ＵＡＲＴ信号受信回路２０４は、ｍ個（ｍはｍ＜ｎの自然数）のレジスタ素子を有するシフトレジスタを含む。ＵＡＲＴ信号受信回路２０４は、ＵＡＲＴ信号受信回路２０４は、設定レジスタから活性化された（たとえばＨレベル）の入力情報を受けたとき、外部からシリアルデータをクロック信号ＵＣＬＫを用いてサンプリングする。サンプリングにより抽出されたデータは、入力レジスタ２０１にパラレルに出力される。
【００７９】
入力レジスタ２０１は、送信シフトレジスタ２１内の複数の送信レジスタ素子ＴＲ２１〜ＴＲ２ｎに対応する複数の入力レジスタ素子ＩＲ２１〜ＩＲ２ｎを備える。入力レジスタ２０１内の各入力レジスタ素子ＩＲ２１〜ＩＲ２ｎは、通信制御回路２５から送信されるセット信号ＳＥＴに応答して、ＵＡＲＴ信号受信回路２０４により抽出されたデータをラッチする。つまり、入力レジスタ２０１は、抽出されたデータをパラレルにラッチする。送信シフトレジスタ２１は、通信制御回路２５から送信されるセット信号ＳＥＴに応じて、入力レジスタ２０１内のデータをパラレルに受け、ラッチする。
【００８０】
ＵＡＲＴ信号生成回路２０３はシフトレジスタを含む。ＵＡＲＴ信号生成回路２０３は、出力レジスタ２３からデータをパラレルに受け、ラッチする。そして、ＵＡＲＴ信号生成回路２０３は、ＵＡＲＴ用クロック信号ＵＣＬＫに応じて、ＵＡＲＴ規格のシリアルデータを生成する。ＵＡＲＴ信号生成回路２０３は、設定レジスタ２０５から出力される活性化された（たとえばＨレベル）出力情報に応じて、生成されたシリアルデータを出力端子２０８から外部に順次出力する。
【００８１】
［通信システムの動作］
第２の実施の形態による通信システムにおいても、第１の実施の形態と同様に、ＣＰＵコア１０は、入出力回路３０を制御しなくてよい。そのため、ＣＰＵコア１０での制御負担を軽減できる。
【００８２】
［データ出力動作］
ＣＰＵコア１０は、データを出力レジスタ３３に格納する。メモリ２０はアドレス信号により指定されたメモリセルに格納されたデータを読み出し、データバス５０に出力する。アドレスデコーダ３６は、ＣＰＵコア１０からの書込許可信号ＷＲとアドレス信号とに基づいて、出力レジスタ３３に書込信号を出力する。出力レジスタ３３は、書込信号に応答してデータバス５０上のデータをラッチする。
【００８３】
続いて、ＣＰＵコア１０は設定データＣＤを設定レジスタ３８に格納する。ＣＰＵコア１０は、アドレス信号をアドレスバス４０に出力する。メモリ２０は、アドレス信号により指定されたメモリセルに格納された設定データＣＤを読み出し、データバス５０に出力する。ＣＰＵコア１０は、アドレスデコーダ３６に書込許可信号ＷＲを出力する。アドレスデコーダ３６は、書込許可信号ＷＲとアドレス信号とに基づいて、設定レジスタ３８に書込信号を出力する。設定レジスタ３８は書込信号を受け、データバス５０上の設定データＣＤをラッチする。
【００８４】
以上の動作により、設定レジスタ３８及び出力レジスタ３３はデータをラッチする。
【００８５】
続いて、通信制御回路３７はＨレベルのワンショットパルスであるセット信号ＳＥＴを出力する。送信シフトレジスタ３１はセット信号ＳＥＴに応じて、設定レジスタ３８内の設定データＣＤと、出力レジスタ３３内のデータとをラッチする。そして、シフトクロック信号ＳＣに応答して、データを順次シフトしながらエキスパンダＩＣ８０に出力する。
【００８６】
エキスパンダＩＣ８０内の受信シフトレジスタ２２は、シフトクロック信号ＳＣに応じてマイコン７０から出力されるデータを順次格納する。ｎクロック径過後に、通信制御回路２５がセット信号ＳＥＴを出力する。このとき、前回のセット信号ＳＥＴの出力により送信シフトレジスタ３１に格納された全てのデータは、シフト動作により受信シフトレジスタ２２に格納されている。
【００８７】
通信制御回路２５からセット信号ＳＥＴを受けた設定レジスタ２０５及び出力レジスタ２３は、受信シフトレジスタ２２に格納されているデータをラッチする。このとき、設定レジスタ２０５は、受信レジスタ素子ＲＲ２１〜ＲＲ２ｋに格納された設定データＣＤをラッチする。そして、出力レジスタ２３は、受信レジスタ素子ＲＲ２ｋ＋１〜ＲＲ２ｎに格納されたデータをラッチする。
【００８８】
分周回路２０２は、設定レジスタ２０５から分周比情報を受け、マスタクロック信号ＭＣＬＫと分周比情報とからＵＡＲＴ用のクロック信号ＵＣＬＫを生成する。ＵＡＲＴ信号生成回路２０３は、クロック信号ＵＣＬＫと出力レジスタ２３が格納するデータとに基づいてシリアルデータを生成する。ＵＡＲＴ信号生成回路２０３はさらに、設定レジスタ２０５から出力情報を受ける。出力情報が出力開始を指示する場合、ＵＡＲＴ信号生成回路２０３は生成したシリアルデータを出力端子２０８を介して外部に出力する。
【００８９】
［データ入力動作］
設定レジスタ２０５は、入力情報をＵＡＲＴ信号受信回路２０４に出力する。入力情報は、データ入力の開始又は停止を指示する。入力情報がデータ入力の開示を指示する場合、ＵＡＲＴ信号受信回路２０４は、入力端子２０７からシリアルデータを順次受け付ける。
【００９０】
入力レジスタ２０１は、通信制御回路２５からセット信号ＳＥＴを受けたとき、ＵＡＲＴ信号受信回路に格納されたデータをパラレルに受ける。
【００９１】
送信シフトレジスタ２１は、セット信号ＳＥＴを受けたとき、入力レジスタ２０１に格納されたデータをパラレルに受ける。入力レジスタ２０１は、送信レジスタ素子ＴＲ２１〜ＴＲ２ｎに対応する複数の入力レジスタ素子ＩＲ２１〜ＩＲ２ｎを含む。各送信レジスタ素子ＴＲ２１〜ＴＲ２ｎは、対応するレジスタ素子ＩＲ２１〜ＩＲ２ｎのデータをラッチする。
【００９２】
送信シフトレジスタ２１はデータをラッチしたのち、シフトクロック信号ＳＣに応答してデータを順次シフトし、マイコン７０に順次出力する。
【００９３】
送信シフトレジスタ２１が入力レジスタ２０１のデータをラッチしてからｎクロック径過したとき、マイコン７０内の受信シフトレジスタ３２は、送信シフトレジスタ２１内のデータを全て受ける。このとき、通信制御回路３７はセット信号ＳＥＴを出力する。入力レジスタ３４はセット信号ＳＥＴを受け、受信シフトレジスタ３２に格納されたデータをラッチする。以降の動作は第１の実施の形態と同じである。
【００９４】
以上、エキスパンダＩＣがＵＡＲＴピンを有している場合であっても、ＣＰＵコア１０の動作は第１の実施の形態とほぼ同じである。ＣＰＵコア１０は送受信シフトレジスタ３１及び３２の動作を制御しないため、ＣＰＵコア１０の制御を簡素化できる。
【００９５】
エキスパンダＩＣ８０は、ＵＡＲＴ用の入出力端子群２０６と共に、汎用の入出力端子群２７を備えてもよい。
【００９６】
また、分周回路２０２は、マスタクロック信号ＭＣＬＫからＵＡＲＴ用クロック信号ＵＣＬＫを生成したが、シフトクロック信号ＳＣからＵＡＲＴ用クロック信号ＵＣＬＫを直接生成してもよい。
【００９７】
以上、本発明の実施の形態を説明したが、上述した実施の形態は本発明を実施するための例示に過ぎない。よって、本発明は上述した実施の形態に限定されることなく、その趣旨を逸脱しない範囲内で上述した実施の形態を適宜変形して実施することが可能である。
【符号の説明】
【００９８】
１  マイコン
１０  ＣＰＵコア
２０  メモリ
２１，３１  送信シフトレジスタ
２２，３２  受信シフトレジスタ
２３，３３  出力レジスタ
２５，３７  通信制御回路
３８，２０５  設定レジスタ
２０２  分周回路
２０３  ＵＡＲＴ信号生成回路
２０４  ＵＡＲＴ信号受信回路
【図１】
2011060027.tif 000003
【図２】
2011060027.tif 000004
【図３】
2011060027.tif 000005
【図４】
2011060027.tif 000006
【図５】
2011060027.tif 000007