(57)【特許請求の範囲】
【請求項１】
複数の汎用入出力ポートと、
各々が前記複数の汎用入出力ポートの各々に対応して設けられると共に、アドレス変数が設定される複数のアドレスレジスタと、
各々が前記複数の汎用入出力ポートの各々に対応して設けられると共に、各々に特定機能が設定される複数の特定機能端子と、
各々が前記複数の特定機能端子の各々に対応して設けられると共に、各々に選択信号が入力される複数の選択信号入力端子と、
各々が前記特定機能端子に接続された第１の端子、第２の端子、及び前記汎用入出力ポートに接続された第３の端子を備えると共に、前記選択信号入力端子に接続され、前記選択信号が前記選択信号入力端子を介して入力された際に前記第１の端子と前記第３の端子とが接続され、前記選択信号が入力されない場合に前記第２の端子と前記第３の端子とが接続されるように切り替える複数の切替部であって、いずれか１つの切替部の前記第２の端子が前記アドレスレジスタの１つに直接接続された複数の切替部と、
前記アドレスレジスタと該アドレスレジスタが直接接続されていない残りの切替部の第２の端子との間に接続され、前記複数の切替部の切り替えにより、接続対象のアドレスレジスタに対応する汎用入出力ポートが特定機能端子に接続されている場合に、前記特定機能端子が接続されていない汎用入出力ポートと接続されるように、アドレスレジスタと前記第２の端子との接続状態を制御する接続制御部と、
を備え、
前記汎用入出力ポート、前記アドレスレジスタ、前記特定機能端子、前記選択信号入力端子、及び前記切替部は、各々、第１〜第ｎの汎用入出力ポート、第１〜第ｎのアドレスレジスタ、第１〜第ｎの特定機能端子、第１〜第ｎの選択信号入力端子、及び第１〜第ｎの切替部からなり、
前記第１〜第ｎのアドレスレジスタは、第１のアドレスレジスタから第ｎのアドレスレジスタの順に下位から上位のビットが前記アドレス変数として設定され、
前記接続制御部は、対応する汎用入出力ポートが特定機能端子に接続された前記アドレスレジスタの接続先を、上位のビットが設定されたアドレスレジスタに対応する前記汎用入出力ポートと前記第３の端子が接続されている前記切替部の前記第２の端子側に切り替える
汎用入出力ポート接続制御回路。
【請求項２】
前記接続制御部は、
第４の端子と第５の端子のいずれかを前記第１〜第ｎの選択信号入力端子からの前記選択信号の出力の有無に基づいて第６の端子に選択的に接続するスイッチ部を、前記第１〜第ｎの切替部に各々並列に上位ビット側に設けてなり、
前記第１の切替部に各々並列に上位ビット側に設けられた各スイッチ部は、前記第１の選択信号入力端子から前記選択信号が入力されない場合、前記第４の端子に接続された自アドレスレジスタを選択して前記第６の端子に接続し、前記選択信号が入力された場合、前記第５の端子に接続された下位ビット側のアドレスレジスタを選択して前記第６の端子に接続し、
前記第２〜第ｎの切替部に各々並列に上位ビット側に設けられた各スイッチ部は、前記第２〜第ｎの選択信号入力端子から前記選択信号が入力されない場合、前記第４の端子に接続された前段のスイッチ部を選択して前記第６の端子に接続し、前記選択信号が入力された場合、前記第５の端子に接続された下位ビット側の前段のスイッチ部を選択して前記第６の端子に接続する
請求項１記載の汎用入出力ポート接続制御回路。
【請求項３】
複数の汎用入出力ポートと、
各々が前記複数の汎用入出力ポートの各々に対応して設けられると共に、アドレス変数が設定される複数のアドレスレジスタと、
各々が前記複数の汎用入出力ポートの各々に対応して設けられると共に、各々に特定機能が設定される複数の特定機能端子と、
各々が前記複数の特定機能端子の各々に対応して設けられると共に、各々に選択信号が入力される複数の選択信号入力端子と、
各々が前記特定機能端子に接続された第１の端子、第２の端子、及び前記汎用入出力ポートに接続された第３の端子を備えると共に、前記選択信号入力端子に接続され、前記選択信号が前記選択信号入力端子を介して入力された際に前記第１の端子と前記第３の端子とが接続され、前記選択信号が入力されない場合に前記第２の端子と前記第３の端子とが接続されるように切り替える複数の切替部であって、いずれか１つの切替部の前記第２の端子が前記アドレスレジスタの１つに直接接続された複数の切替部と、
前記アドレスレジスタと該アドレスレジスタが直接接続されていない残りの切替部の第２の端子との間に接続され、前記複数の切替部の切り替えにより、接続対象のアドレスレジスタに対応する汎用入出力ポートが特定機能端子に接続されている場合に、前記特定機能端子が接続されていない汎用入出力ポートと接続されるように、アドレスレジスタと前記第２の端子との接続状態を制御する接続制御部と、
を備え、
前記汎用入出力ポート、前記アドレスレジスタ、前記特定機能端子、前記選択信号入力端子、及び前記切替部は、各々、第１〜第ｎの汎用入出力ポート、第１〜第ｎのアドレスレジスタ、第１〜第ｎの特定機能端子、第１〜第ｎの選択信号入力端子、及び第１〜第ｎの切替部からなり、
前記汎用入出力ポート、前記アドレスレジスタ、前記特定機能端子、前記選択信号入力端子、及び前記切替部は、各々、第１〜第ｎの汎用入出力ポート、第１〜第ｎのアドレスレジスタ、第１〜第ｎの特定機能端子、第１〜第ｎの選択信号入力端子、及び第１〜第ｎの切替部からなり、
前記第１〜第ｎのアドレスレジスタは、第１のアドレスレジスタから第ｎのアドレスレジスタの順に上位から下位のビットが前記アドレス変数として設定され、
前記接続制御部は、対応する汎用入出力ポートが特定機能端子に接続された前記アドレスレジスタの接続先を、下位のビットが設定されたアドレスレジスタに対応する前記汎用入出力ポートと前記第３の端子が接続されている前記切替部の前記第２の端子側に切り替える
汎用入出力ポート接続制御回路。
【請求項４】
前記接続制御部は、
第４の端子と第５の端子のいずれかを前記第１〜第ｎの選択信号入力端子からの前記選択信号の出力の有無に基づいて第６の端子に選択的に接続するスイッチ部を、前記第１〜第ｎの切替部に各々並列に下位ビット側に設けてなり、
前記第１の切替部に各々並列に下位ビット側に設けられた各スイッチ部は、前記第１の選択信号入力端子から前記選択信号が入力されない場合、前記第４の端子に接続された自アドレスレジスタを選択して前記第６の端子に接続し、前記選択信号が入力された場合、前記第５の端子に接続された上位ビット側のアドレスレジスタを選択して前記第６の端子に接続し、
前記第２〜第ｎの切替部に各々並列に下位ビット側に設けられた各スイッチ部は、前記第２〜第ｎの選択信号入力端子から前記選択信号が入力されない場合、前記第４の端子に接続された前段のスイッチ部を選択して前記第６の端子に接続し、前記選択信号が入力された場合、前記第５の端子に接続された上位ビット側の前段のスイッチ部を選択して前記第６の端子に接続する
請求項３記載の汎用入出力ポート接続制御回路。
【請求項５】
請求項１から請求項４のいずれか１項に記載の汎用入出力ポート接続制御回路と、該汎用入出力ポート接続制御回路を用いる中央処理装置と、
を備えた半導体装置。
【請求項６】
複数の汎用入出力ポートに対する、各々が前記複数の汎用入出力ポートの各々に対応して設けられると共にアドレス変数が設定される複数のアドレスレジスタと、各々が前記複数の汎用入出力ポートの各々に対応して設けられると共に各々に特定機能が設定される複数の特定機能端子との接続を切り替える汎用入出力ポート接続制御方法であって、
各々が前記複数の特定機能端子の各々に対応して設けられた複数の選択信号入力端子を介して選択信号を入力する選択信号入力手順と、
各々が前記特定機能端子に接続された第１の端子、第２の端子、及び前記汎用入出力ポートに接続された第３の端子を備えると共に、いずれか１つの第２の端子が前記アドレスレジスタの１つに直接接続され、かつ前記選択信号入力端子に接続された複数の切替部により、前記選択信号が前記選択信号入力端子を介して入力された際に前記第１の端子と前記第３の端子とを接続し、前記選択信号が入力されない場合に前記第２の端子と前記第３の端子とを接続するように切り替える切替手順と、
前記アドレスレジスタとアドレスレジスタが直接接続されていない残りの切替部の第２の端子との間に接続された接続制御部により、前記複数の切替部による切替手順で接続対象のアドレスレジスタに対応する汎用入出力ポートが特定機能端子に接続されている場合に、前記特定機能端子が接続されていない汎用入出力ポートと接続されるように、アドレスレジスタと前記第２の端子との接続状態を制御する接続制御手順と、
を含み、
前記汎用入出力ポート、前記アドレスレジスタ、前記特定機能端子、前記選択信号入力端子、及び前記切替部は、各々、第１〜第ｎの汎用入出力ポート、第１〜第ｎのアドレスレジスタ、第１〜第ｎの特定機能端子、第１〜第ｎの選択信号入力端子、及び第１〜第ｎの切替部からなり、
前記第１〜第ｎのアドレスレジスタは、第１のアドレスレジスタから第ｎのアドレスレジスタの順に下位から上位のビットが前記アドレス変数として設定され、
前記接続制御手順は、対応する汎用入出力ポートが特定機能端子に接続された前記アドレスレジスタの接続先を、上位のビットが設定されたアドレスレジスタに対応する前記汎用入出力ポートと前記第３の端子が接続されている前記切替部の前記第２の端子側に切り替える
汎用入出力ポート接続制御方法。
【請求項７】
複数の汎用入出力ポートに対する、各々が前記複数の汎用入出力ポートの各々に対応して設けられると共にアドレス変数が設定される複数のアドレスレジスタと、各々が前記複数の汎用入出力ポートの各々に対応して設けられると共に各々に特定機能が設定される複数の特定機能端子との接続を切り替える汎用入出力ポート接続制御方法であって、
各々が前記複数の特定機能端子の各々に対応して設けられた複数の選択信号入力端子を介して選択信号を入力する選択信号入力手順と、
各々が前記特定機能端子に接続された第１の端子、第２の端子、及び前記汎用入出力ポートに接続された第３の端子を備えると共に、いずれか１つの第２の端子が前記アドレスレジスタの１つに直接接続され、かつ前記選択信号入力端子に接続された複数の切替部により、前記選択信号が前記選択信号入力端子を介して入力された際に前記第１の端子と前記第３の端子とを接続し、前記選択信号が入力されない場合に前記第２の端子と前記第３の端子とを接続するように切り替える切替手順と、
前記アドレスレジスタとアドレスレジスタが直接接続されていない残りの切替部の第２の端子との間に接続された接続制御部により、前記複数の切替部による切替手順で接続対象のアドレスレジスタに対応する汎用入出力ポートが特定機能端子に接続されている場合に、前記特定機能端子が接続されていない汎用入出力ポートと接続されるように、アドレスレジスタと前記第２の端子との接続状態を制御する接続制御手順と、
を含み、
前記汎用入出力ポート、前記アドレスレジスタ、前記特定機能端子、前記選択信号入力端子、及び前記切替部は、各々、第１〜第ｎの汎用入出力ポート、第１〜第ｎのアドレスレジスタ、第１〜第ｎの特定機能端子、第１〜第ｎの選択信号入力端子、及び第１〜第ｎの切替部からなり、
前記汎用入出力ポート、前記アドレスレジスタ、前記特定機能端子、前記選択信号入力端子、及び前記切替部は、各々、第１〜第ｎの汎用入出力ポート、第１〜第ｎのアドレスレジスタ、第１〜第ｎの特定機能端子、第１〜第ｎの選択信号入力端子、及び第１〜第ｎの切替部からなり、
前記第１〜第ｎのアドレスレジスタは、第１のアドレスレジスタから第ｎのアドレスレジスタの順に上位から下位のビットが前記アドレス変数として設定され、
前記接続制御手順は、対応する汎用入出力ポートが特定機能端子に接続された前記アドレスレジスタの接続先を、下位のビットが設定されたアドレスレジスタに対応する前記汎用入出力ポートと前記第３の端子が接続されている前記切替部の前記第２の端子側に切り替える
汎用入出力ポート接続制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マイクロコンピュータ（以下、単にマイコンまたはＣＰＵともいう）の入出力ポート（以下、ＩＯポートもしくは単にポートともいう）の割付技術に係り、特に、ＩＯポートの割付処理に伴うソフトウェアのオーバーヘッドを回避するのに好適な汎用入出力ポート接続制御回路、半導体装置、及び汎用入出力ポート接続制御方法に関するものである。
【背景技術】
【０００２】
一般に、マイクロコンピュータには各々の汎用に使用可能な複数のＩＯポートが備えられ、各ＩＯポートには、例えばＵＡＲＴ（Universal Ａsynchronous Ｒeceived Ｔransmitter）、Ｉ２Ｃ（Ｉnter-Ｉntegrated Ｃircuit）、ＳＰＩ（Ｓystem Packet Ｉnterface）、あるいはＰＷＭ（Pulse Width Modulation）といった特定の機能を有したインタフェースが２次機能として割り付けられる。
【０００３】
マイコンのユーザは、これら２次機能や汎用ＩＯポートを組み合わせてシステムを構築する。図５に、従来のマイコンを使用したシステム構成を示す。
【０００４】
このようなシステムでは、ＣＰＵを具備したマイクロコントローラ（図中、「ＭＣＵ」と記載）５１の汎用ＩＯポートに割付けられた２次機能のＩ２Ｃ（ＩＯ［２：１］）をＩＣ＃１に接続し、同じく汎用ＩＯポートに割付けられたＳＩＯ（ＩＯ［６：５］）をＩＣ＃２に接続している。なお、ＩＯ［２：１］とはポートＩＯ［１］とポートＩＯ［２］を意味し、ＩＯ［６：５］とはポートＩＯ［５］とポートＩＯ［６］を意味しており、また、例えば、ＩＯ［７：０］とはポートＩＯ［０］〜ポートＩＯ［７］を意味する。
【０００５】
そして、残った汎用ＩＯポート（ＩＯ［７］,ＩＯ［４：３］,ＩＯ［０］）をＩＣ＃３のアドレス線として使用する。
【０００６】
汎用ＩＯポートの２次機能の割付を切り換える回路を図６に示す。切替器６１ａ〜６１ｈを切替信号Ｓ［７：０］で制御することにより、汎用ＩＯレジスタＡ［７：０］と２次機能群Ｂ［７：０］との接続を切り替えて、割り付けを行っている。なお、切替信号Ｓ［７：０］、汎用ＩＯレジスタＡ［７：０］、及び２次機能群Ｂ［７：０］における［７：０］も上記汎用ＩＯポートと同様、［０］〜［７］を意味する。
【０００７】
図６の例では、２次機能Ｂ［１］がＩ２ＣのＳＣＬ信号、２次機能Ｂ［２］がＩ２ＣのＳＤＡ信号、２次機能Ｂ［５］がＳＩＯのＲＸＤ信号、そして、２次機能Ｂ［６］がＳＩＯのＴＸＤ信号を表し、切替信号Ｓ［２：１］と切替信号Ｓ［６：５］は、切替器６１ｂ，６１ｃ，６１ｆ，６１ｇが２次機能を選択するよう設定されている。
【０００８】
この場合、汎用ＩＯポートＩＯ［７：０］の空いているＩＯポートは分断されて非連続となっている。このように、２次機能を利用することで分断された汎用ＩＯポートＩＯ［７：０］をアドレス線として使用するには、ソフトウェアにより割り付けが行なわれるため、ソフトウェアのオーバーヘッドが大きくなるという問題点があった。
【０００９】
例えば、図６におけるシステム構成の場合、図７に示すように、アドレス変数の下位から、ビット０をＡ［０］に、ビット１をＡ［３］に、ビット２をＡ［４］に、ビット３をＡ［７］にそれぞれセットすることになる。
【００１０】
この場合、汎用ＩＯレジスタにアドレス変数をセットするためには、ソフトウェアにより、４回分ビットを分離するフローが必要になる。
【００１１】
このように、マイコンのポートに対しては複数の機能が割り付けられるが、どのポートにどの機能を割り付けるかは、従来の割り付け方などを踏襲した割り付け方とすることが一般的に行われている。そのため、任意のポートに任意の機能を割り付けることができるとは限らず、図５に示すＩＣ＃３のアドレス線のように、場合によっては不連続に割り付けられることが起こる。
【００１２】
アドレス線に対応するアドレス変数は、下位ビット側にまとめて配置することが一般的であり、そのため、下位ビット側にまとめて配置されたアドレス値を、不連続に割り付けられたアドレス線に対応したレジスタに設定しようとすると、一度に全ての値を設定することができず、各レジスタに対応したビット毎にシフト演算を行う必要が生じる。
【００１３】
なお、このようなマイコンにおけるポートの接続制御に関しては、特許文献１において記載されている。
【００１４】
また、特許文献２においては、コアボードとインタフェースボード間に、割り付け変換ボードを設けて、割り付け変換ボードに備えられた複数のスイッチ素子により、コアボードのポートとインタフェースボードの端子との接続関係を自動的に変更する技術が記載されている。
【先行技術文献】
【特許文献】
【００１５】
【特許文献１】特開平５−２５０４９７号公報
【特許文献２】特開２００５−３２７２６４０７１号公報
【発明の概要】
【発明が解決しようとする課題】
【００１６】
しかし、特許文献２に記載の技術では、ボード間の端子の接続を任意の組み合わせで可能とするものであり、割り付け変換ボード内には、複数のスイッチ素子が、上位側と下位側のいずれにも接続先を切り換えることができるよう配置されている。そのため、回路規模が大きく、半導体装置内の限られたスペースに配置するには適していない。
【００１７】
また、上述したように、図５，図７に示すようにアドレス線が不連続に割り付けられた場合には、下位ビット側にまとめて配置されたアドレス値を、不連続に割り付けられたアドレス線に対応したレジスタに設定するためには、ソフトウェアにより、各レジスタに対応したビット毎にシフト演算を行う必要が生じる。
【００１８】
本発明は、上記問題点を解決するためのものであり、例えば下位ビット側にまとめて格納されたアドレス変数をレジスタに一括して設定することができ、ソフトウェアによるシフト演算を不要とすることが可能な汎用入出力ポート接続制御回路、半導体装置、及び汎用入出力ポート接続制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１９】
上記目的を達成するため、本発明の汎用入出力ポート接続制御回路は、複数の汎用入出力ポートと、各々が前記複数の汎用入出力ポートの各々に対応して設けられると共に、アドレス変数が設定される複数のアドレスレジスタと、各々が前記複数の汎用入出力ポートの各々に対応して設けられると共に、各々に特定機能が設定される複数の特定機能端子と、各々が前記複数の特定機能端子の各々に対応して設けられると共に、各々に選択信号が入力される複数の選択信号入力端子と、各々が前記特定機能端子に接続された第１の端子、第２の端子、及び前記汎用入出力ポートに接続された第３の端子を備えると共に、前記選択信号入力端子に接続され、前記選択信号が前記選択信号入力端子を介して入力された際に前記第１の端子と前記第３の端子とが接続され、前記選択信号が入力されない場合に前記第２の端子と前記第３の端子とが接続されるように切り替える複数の切替部であって、いずれか１つの切替部の前記第２の端子が前記アドレスレジスタの１つに直接接続された複数の切替部と、前記アドレスレジスタと該アドレスレジスタが直接接続されていない残りの切替部の第２の端子との間に接続され、前記複数の切替部の切り替えにより、接続対象のアドレスレジスタに対応する汎用入出力ポートが特定機能端子に接続されている場合に、前記特定機能端子が接続されていない汎用入出力ポートと接続されるように、アドレスレジスタと前記第２の端子との接続状態を制御する接続制御部と、を備えている。
【００２０】
一方、上記目的を達成するため、本発明の半導体装置は、前記汎用入出力ポート接続制御回路と、該汎用入出力ポート接続制御回路を用いる中央処理装置と、を備えている。
【００２１】
さらに、上記目的を達成するため、本発明の汎用入出力ポート接続制御方法は、複数の汎用入出力ポートに対する、各々が前記複数の汎用入出力ポートの各々に対応して設けられると共にアドレス変数が設定される複数のアドレスレジスタと、各々が前記複数の汎用入出力ポートの各々に対応して設けられると共に各々に特定機能が設定される複数の特定機能端子との接続を切り替える汎用入出力ポート接続制御方法であって、各々が前記複数の特定機能端子の各々に対応して設けられた複数の選択信号入力端子を介して選択信号を入力する選択信号入力手順と、各々が前記特定機能端子に接続された第１の端子、第２の端子、及び前記汎用入出力ポートに接続された第３の端子を備えると共に、いずれか１つの第２の端子が前記アドレスレジスタの１つに直接接続され、かつ前記選択信号入力端子に接続された複数の切替部により、前記選択信号が前記選択信号入力端子を介して入力された際に前記第１の端子と前記第３の端子とを接続し、前記選択信号が入力されない場合に前記第２の端子と前記第３の端子とを接続するように切り替える切替手順と、前記アドレスレジスタとアドレスレジスタが直接接続されていない残りの切替部の第２の端子との間に接続された接続制御部により、前記複数の切替部による切替手順で接続対象のアドレスレジスタに対応する汎用入出力ポートが特定機能端子に接続されている場合に、前記特定機能端子が接続されていない汎用入出力ポートと接続されるように、アドレスレジスタと前記第２の端子との接続状態を制御する接続制御手順と、を含む。
【発明の効果】
【００２２】
本発明によれば、例えば下位ビット側にまとめて格納されたアドレス変数をレジスタに一括して設定することができ、ソフトウェアによるシフト演算を不要とすることが可能となる。
【図面の簡単な説明】
【００２３】
【図１】実施の形態に係る汎用入出力ポート接続制御回路の構成例を示す回路図である。
【図２】図１における汎用入出力ポート接続制御回路の動作例を示す説明図である。
【図３】実施の形態に係る汎用入出力ポート接続制御方法の処理動作例を示すフローチャートである。
【図４】図１における汎用入出力ポート接続制御回路を具備した半導体装置の構成例を示すブロック図である。
【図５】従来のマイクロコンピュータにおける汎用入出力ポートの接続構成例を示すブロック図である。
【図６】従来の汎用入出力ポート接続制御回路の構成例を示す回路図である。
【図７】図６における従来の汎用入出力ポート接続制御回路の動作例を示す説明図である。
【発明を実施するための形態】
【００２４】
以下、図を用いて本発明の実施の形態について説明する。
【００２５】
図１は、本実施の形態に係る８ビットに対応した汎用入出力ポート接続制御回路の構成を示しており、図６に示した従来の汎用入出力ポート接続制御回路に、スイッチ回路１ａ〜１ｇ，２ａ〜２ｆ，３ａ〜３ｅ，４ａ〜４ｄ，５ａ〜５ｃ，６ａ〜６ｂ，７ａからなる接続制御部１を設けた構成となっている。
【００２６】
すなわち、図１に示す汎用入出力ポート接続制御回路は、複数の汎用入出力ポートＩＯ［７：０］と、各々が複数の汎用入出力ポートの各々に対応して設けられると共に、アドレス変数が設定される複数のアドレスレジスタＡ［７：０］と、各々が複数の汎用入出力ポートの各々に対応して設けられると共に、各々に特定機能が設定される複数の特定機能端子Ｂ［７：０］と、各々が複数の特定機能端子の各々に対応して設けられると共に、各々に選択信号が入力される複数の選択信号入力端子Ｓ［７：０］と、図１の切替部６１ａに例示するように、各々が特定機能端子に接続された第１の端子６１ａ１、第２の端子６１ａ２、及び汎用入出力ポートに接続された第３の端子６１ａ３を備えると共に、選択信号入力端子に接続され、選択信号が選択信号入力端子を介して入力された際に第１の端子と第３の端子とが接続され、選択信号が入力されない場合に第２の端子と第３の端子とが接続されるように切り替える複数の切替部であって、いずれか１つの切替部（６１ａ）の第２の端子がアドレスレジスタの１つに直接接続された複数の切替部６１ａ〜６１ｈとを備え、さらに、アドレスレジスタと当該アドレスレジスタが直接接続されていない残りの切替部（６１ｂ〜６１ｈ）の第２の端子との間に接続され、複数の切替部の切り替えにより、接続対象のアドレスレジスタに対応する汎用入出力ポートが特定機能端子に接続されている場合に、特定機能端子が接続されていない汎用入出力ポートと接続されるように、アドレスレジスタと第２の端子との接続状態を制御する接続制御部１と、を備えている。
【００２７】
このような構成により汎用入出力ポート接続制御回路は、マイクロコンピュータの所定のポートに対して複数の機能が割り付ける場合に、機能の割り付けを効率的に制御することができる。例えば、汎用入出力ポートＩＯに割付けられた特定機能を任意に組み合わせて利用しても、残りの汎用入出力ポートＩＯのビットをソフトウェアのオーバーヘッド（ビットを分離する処理）なしに利用することができる。以下、その動作の説明を行なう。
【００２８】
本例では、図１に示す本実施の形態に係る汎用入出力ポート接続制御回路の切替器６１ａ〜６１ｈによる各々の２次機能の選択動作に伴い、接続制御部１におけるスイッチ回路１ａ〜１ｇ，２ａ〜２ｆ，３ａ〜３ｅ，４ａ〜４ｄ，５ａ〜５ｃ，６ａ〜６ｂ，７ａの各々が制御される構成となっており、切替器６１ａ〜６１ｈに対する１つの選択信号で、複数のスイッチ回路１ａ〜１ｇ，２ａ〜２ｆ，３ａ〜３ｅ，４ａ〜４ｄ，５ａ〜５ｃ，６ａ〜６ｂ，７ａを制御している。
【００２９】
なお、以下の説明では、複数のアドレスレジスタＡ［７：０］においては、アドレスレジスタＡ［０］からアドレスレジスタＡ［７］に順次にアドレス変数が下位ビットから設定されるものとする。
【００３０】
図１に示す汎用入出力ポート接続制御回路においては、汎用入出力ポートＩＯ、アドレスレジスタＡ、特定機能端子Ｂ、選択信号入力端子Ｓ、及び切替部は、各々、第１〜第８の汎用入出力ポートＩＯ［７：０］、第１〜第８のアドレスレジスタＡ［７：０］、第１〜第８の特定機能端子Ｂ［７：０］、第１〜第８の選択信号入力端子Ｓ［７：０］、及び第１〜第８の切替部６１ａ〜６１ｈからなる。第１〜第８のアドレスレジスタＡ［７：０］は、第１のアドレスレジスタＡ［０］から第８のアドレスレジスタＡ［７］の順に下位から上位ビットのアドレス変数が設定される。接続制御部１は、例えば、第１の選択信号入力端子Ｓ［０］の選択信号に基づき、第１の切替部６１ａが、汎用入出力ポートＩＯ［０］を特定機能端子［０］に接続すると、第１の選択信号入力端子Ｓ［０］に接続された全てのスイッチ回路１ａ〜１ｇの接続先を、上位ビットのアドレス変数が設定されたアドレスレジスタの第２の端子側に切り替える。
【００３１】
接続制御部１を構成する各スイッチ回路は、スイッチ回路１ｇに例示するように、第４の端子１ｇ１と第５の端子１ｇ２のいずれかを、第１〜第８の選択信号入力端子Ｓ［７：０］からの選択信号の出力の有無に基づいて第６の端子１ｇ３に選択的に接続する構成となっており、このような構成のスイッチ部が、第１〜第８の切替部６１ａ〜６１ｈに各々並列に上位ビット側に設けられている。
【００３２】
そして、第１の切替部６１ａに各々並列に上位ビット側に設けられた各スイッチ部１ａ〜１ｇは、第１の選択信号入力端子Ｓ［０］からの選択信号の出力が例えばＬの場合に、第４の端子（例えば第４の端子１ｇ１）に接続された自アドレスレジスタ（例えばアドレスレジスタＡ［７］）を選択して第６の端子（例えば第６の端子１ｇ３）に接続し、選択信号の出力がＨの場合に、第５の端子（例えば第５の端子１ｇ２）に接続された下位ビット側のアドレスレジスタ（例えばアドレスレジスタＡ［６］）を選択して第６の端子（例えば第６の端子１ｇ３）に接続する。
【００３３】
また、第２〜第８の切替部６１ｂ〜６１ｈに各々並列に上位ビット側に設けられた各スイッチ部２ａ〜２ｆ，３ａ〜３ｅ，４ａ〜４ｄ，５ａ〜５ｃ，６ａ〜６ｂ，７ａは、第２〜第８の選択信号入力端子Ｓ［７：１］からの選択信号の出力が例えばＬの場合に、第４の端子に接続された前段のスイッチ部を選択して第６の端子に接続し、選択信号の出力がＨの場合に、第５の端子に接続された下位ビット側の前段のスイッチを選択して第６の端子に接続する。
【００３４】
このようにして、接続制御部１を設けることにより、特定機能端子Ｂ［７：０］が接続された汎用入出力ポートＩＯ［７：０］に対応して設けられたアドレスレジスタＡ［７：０］を、特定機能端子Ｂ［７：０］が接続されていない空きの汎用入出力ポートＩＯ［７：０］に接続することができる。
【００３５】
このように、図１に示す汎用入出力ポート接続制御回路においては、特定の汎用入出力ポートのビットが特定機能に選択されると、そのビットより上位のビットが１ビットずつ上位側へシフトする回路構成となっている。
【００３６】
例えば、図１において、第２の選択信号入力端子Ｓ［１］がＨとなり、汎用入出力ポートＩＯ［１］が特定機能に選択された場合について説明する。この場合、第１の選択信号入力端子Ｓ［０］はＬであり、上位側に接続されているアドレスレジスタＡ［０］は汎用入出力ポートＩＯ［０］に接続されたままである。その一方で、第２の選択信号入力端子Ｓ［１］はＨであり、下位側に接続されている汎用入出力ポートＩＯ［１］には特定機能端子Ｂ［１］が接続される。そして、アドレスレジスタＡ［６：１]は、各々１ビットずつシフトして（スイッチ回路２ａ〜２ｆの下位側に入力され）、汎用入出力ポートＩＯ［７：２］に接続することになる。
【００３７】
これは複数の汎用入出力ポートＩＯを特定機能に選択しても同じことで、汎用入出力ポートＩＯ［２：１］、及び汎用入出力ポートＩＯ［６：５］が特定機能に選択されるとすると、図２に示すように、アドレスレジスタＡ［３：０]は、各々、汎用入出力ポートＩＯ［７］，ＩＯ［４］，ＩＯ［３］，ＩＯ［０］に接続される。
【００３８】
以下、このように、汎用入出力ポートＩＯ［２：１］、及び汎用入出力ポートＩＯ［６：５］が特定機能に選択された場合に、アドレスレジスタＡ［３：０]を、汎用入出力ポートＩＯ［７］，ＩＯ［４］，ＩＯ［３］，ＩＯ［０］にそれぞれ接続する際の動作を説明する。
【００３９】
ここでは、汎用入出力ポートＩＯ［２：１］が特定機能端子Ｂ［２：１］に選択され、汎用入出力ポートＩＯ［６：５］が特定機能端子Ｂ［６：５］に選択された場合について説明する。
【００４０】
この場合、選択信号入力端子Ｓ［２：１］と選択信号入力端子Ｓ［６：５］から選択信号が出力されている。
【００４１】
この状態においては、特定機能端子Ｂ［２：１］を汎用入出力ポートＩＯ［２：１］に接続する切替部６１ｂ，６１ｃと、特定機能端子Ｂ［６：５］を汎用入出力ポートＩＯ［６：５］に接続する切替部６１ｆ，６１ｇに、選択信号が出力されている。
【００４２】
特定機能端子Ｂ［０］に対応して設けられた切替部６１ａ、及び当該切替部６１ａに並列に上位ビット側に設けられたスイッチ部１ａ〜１ｇには選択信号は出力されていない。従って、切替部６１ａはアドレスレジスタＡ［０］を汎用入出力ポートＩＯ［０］に接続し、各スイッチ部１ａ〜１ｇは、自アドレスレジスタＡ［７：１］を後段の切替部６１ｂ及び各スイッチ部２ａ〜２ｆに接続する。
【００４３】
選択信号入力端子Ｓ［１］に対応して設けられた切替部６１ｂ及び各スイッチ部２ａ〜２ｆには、選択信号入力端子Ｓ［１］から選択信号が出力されている。従って、切替部６１ｂは特定機能端子Ｂ［１］を汎用入出力ポートＩＯ［１］に接続し、各スイッチ部２ａ〜２ｆは、下位ビット側の前段のスイッチ部１ａ〜１ｆを選択して後段の切替部６１ｃ及び各スイッチ部３ａ〜３ｅに接続する。この結果、アドレスレジスタＡ［７：１］の各々が上位ビット側に１つずつシフトされる。これにより、例えばアドレスレジスタＡ［１］はスイッチ部２ａに接続されて汎用入出力ポートＩＯ［２］に対応した状態となる。なお、アドレスレジスタＡ［７］の接続先はなくなる。
【００４４】
選択信号入力端子Ｓ［２］に対応して設けられた切替部６１ｃ及び各スイッチ部３ａ〜３ｅにも、選択信号入力端子Ｓ［２］から選択信号が出力されている。従って、切替部６１ｃは特定機能端子Ｂ［２］を汎用入出力ポートＩＯ［２］に接続し、各スイッチ部３ａ〜３ｅは、下位ビット側の前段のスイッチ部２ａ〜２ｅを選択して後段の切替部６１ｄ及び各スイッチ部４ａ〜４ｄに接続する。この結果、アドレスレジスタＡ［６：１］の各々が上位ビット側に１つずつシフトされる。これにより、例えばアドレスレジスタＡ［１］はスイッチ部３ａに接続されて汎用入出力ポートＩＯ［３］に対応した状態となる。なお、アドレスレジスタＡ［６］の接続先はなくなる。
【００４５】
選択信号入力端子Ｓ［３］に対応して設けられた切替部６１ｄ及びスイッチ部４ａ〜４ｄには選択信号は出力されていない。従って、切替部６１ｄは、前段のスイッチ部３ａを汎用入出力ポートＩＯ［３］に接続する。スイッチ部３ａにはアドレスレジスタＡ［１］が接続されており、これにより、アドレスレジスタＡ［１］が汎用入出力ポートＩＯ［３］に接続される。
【００４６】
また、各スイッチ部４ａ〜４ｄは、前段の各スイッチ部３ｂ〜３ｅを後段の切替部６１ｅ及び各スイッチ部５ａ〜５ｃに接続する。この場合、アドレスレジスタＡ［５：２］の各々はシフトされず、これにより、例えばアドレスレジスタＡ［２］はスイッチ部４ａに接続されて汎用入出力ポートＩＯ［４］に対応した状態となり、アドレスレジスタＡ［５］もスイッチ部５ｃに接続される。
【００４７】
選択信号入力端子Ｓ［４］に対応して設けられた切替部６１ｅ及びスイッチ部５ａ〜５ｃには選択信号は出力されていない。従って、切替部６１ｅは、前段のスイッチ部４ａを汎用入出力ポートＩＯ［４］に接続する。スイッチ部４ａにはアドレスレジスタＡ［２］が接続されており、これにより、アドレスレジスタＡ［２］が汎用入出力ポートＩＯ［３］に接続される。
【００４８】
また、各スイッチ部５ａ〜５ｃは、前段の各スイッチ部４ｂ〜４ｄを後段の切替部６１ｆ及び各スイッチ部６ａ，６ｂに接続する。この場合、アドレスレジスタＡ［５：３］の各々はシフトされず、これにより、例えばアドレスレジスタＡ［３］は接続部６１ｆに接続されて汎用入出力ポートＩＯ［５］に対応した状態となり、アドレスレジスタＡ［５］もスイッチ部６ｂに接続される。
【００４９】
選択信号入力端子Ｓ［５］に対応して設けられた切替部６１ｆ及び各スイッチ部６ａ，６ｂには、選択信号入力端子Ｓ［５］から選択信号が出力されている。従って、切替部６１ｆは特定機能端子Ｂ［５］を汎用入出力ポートＩＯ［５］に接続し、各スイッチ部６ａ，６ｂは、下位ビット側の前段のスイッチ部５ａ，５ｂを選択して後段の切替部６１ｇ及びスイッチ部７ａに接続する。この結果、アドレスレジスタＡ［４：３］の各々が上位ビット側に１つずつシフトされる。これにより、例えばアドレスレジスタＡ［３］は切替部６１ｇに接続されて汎用入出力ポートＩＯ［６］に対応した状態となる。なお、アドレスレジスタＡ［５］の接続先はなくなる。
【００５０】
選択信号入力端子Ｓ［６］に対応して設けられた切替部６１ｇ及びスイッチ部７ａには、選択信号入力端子Ｓ［６］から選択信号が出力されている。従って、切替部６１ｇは特定機能端子Ｂ［６］を汎用入出力ポートＩＯ［６］に接続し、スイッチ部７ａは、下位ビット側の前段のスイッチ部６ａを選択して後段の切替部６１ｈに接続する。この結果、アドレスレジスタＡ［３］が上位ビット側に１つシフトされる。これにより、アドレスレジスタＡ［３］は切替部６１ｈに接続されて汎用入出力ポートＩＯ［７］に対応した状態となる。なお、アドレスレジスタＡ［４］の接続先はなくなる。
【００５１】
選択信号入力端子Ｓ［７］に対応して設けられた切替部６１ｈには選択信号は出力されていない。従って、切替部６１ｈは、前段のスイッチ部７ａを汎用入出力ポートＩＯ［７］に接続する。これにより、アドレスレジスタＡ［３］が汎用入出力ポートＩＯ［７］に接続される。
【００５２】
このように、本例の汎用入出力ポート接続制御回路では、特定の汎用入出力ポートのビットが特定機能に選択されると、そのビットより上位のビットが１ビットずつ上位側へシフトする回路構成となっている。
【００５３】
この結果、例えば、汎用入出力ポートＩＯ［１］が特定機能に選択されると、アドレスレジスタＡ［０」は汎用入出力ポートＩＯ［０］に接続されたままであるが、アドレスレジスタＡ［６：１］は汎用入出力ポート［７：２］に接続されることになる。
【００５４】
これは、複数の汎用入出力ポートを特定機能に選択しても同じことであり、例えば、図２に示すように、汎用入出力ポートＩＯ［２：１］，［６：５］が特定機能に選択されるとすると、アドレスレジスタＡ［３：０］の各ビット（アドレス変数）は、汎用入出力ポートＩＯ［７］，［４］，［３］，［０］に各々接続される。
【００５５】
このような汎用入出力ポート接続制御回路の動作を図３に示す。この図３に示すように、汎用入出力ポート接続制御回路は、複数の汎用入出力ポートに対する、各々が複数の汎用入出力ポートの各々に対応して設けられると共にアドレス変数が設定される複数のアドレスレジスタと、各々が複数の汎用入出力ポートの各々に対応して設けられると共に各々に特定機能が設定される複数の特定機能端子との接続を切り替える際、まず、選択信号が入力されない（選択信号＝Ｌ）場合には（ステップＳ３０２）、切替部において第２の端子と第３の端子とを接続して汎用入出力ポートをアドレスレジスタ側に接続する（ステップＳ３０４）。
【００５６】
これに対して、複数の選択信号入力端子を介して選択信号（Ｈ）が選択信号入力端子を介して入力された場合には（ステップＳ３０２）、切替部において第１の端子と第３の端子とを接続して汎用入出力ポートを特定機能端子側に接続すると共に、当該アドレスレジスタの接続先を上位ビット側に順次にシフトすることで、汎用入出力ポートが特定機能端子に接続されているアドレスレジスタを、特定機能端子が接続されていない汎用入出力ポートと接続する（ステップＳ３０６）。
【００５７】
なお、図１の例では、第１のアドレスレジスタから第ｎのアドレスレジスタの順に上位から下位のビットをアドレス変数として設定しており、ステップＳ３０６においては、上位のビットが設定されるアドレスレジスタから順に、最も近い下位のビットが設定されるアドレスレジスタに対応する空きの汎用入出力ポートに接続する。
【００５８】
より詳細には、第１の選択信号入力端子からの選択信号の出力がなければ、スイッチ部１ａ〜１ｇにおいて、自アドレスレジスタを選択して後段に接続し、選択信号の出力があれば、上位ビット側のアドレスレジスタを選択して後段に接続し、第２〜第ｎの選択信号入力端子からの選択信号の出力がなければ、各スイッチ部２ａ〜２ｆ，３ａ〜３ｅ，４ａ〜４ｄ，５ａ〜５ｃ，６ａ，６ｂ，７ａにおいて、前段のスイッチ部を選択して後段に接続し、選択信号の出力があれば、上位ビット側の前段のスイッチを選択して後段に接続する。
【００５９】
以上のようにして、本例の汎用入出力ポート接続制御回路によれば、アドレス変数の下位ビットにまとめて格納された値をそのまま、アドレスレジスタに対して設定したとしても、特定機能が競合した場合にも、上位ビット側に順次値をシフトさせることで競合を回避でき、自動的に空きＩＯポートにアドレス変数を割り付けることができる。これにより、ソフトウェアによるビットシフト演算に伴うオーバーヘッドを回避することができ、半導体装置の性能を向上させることが可能となる。
【００６０】
なお、上述の説明では、第１〜第８のアドレスレジスタＡ［７：０］は、第１のアドレスレジスタＡ［０］から第８のアドレスレジスタＡ［７］の順に下位から上位のビットがアドレス変数として設定される構成としているが、第１〜第８のアドレスレジスタＡ［７：０］を、第１のアドレスレジスタＡ［０］から第８のアドレスレジスタＡ［７］の順に上位から下位のビットがアドレス変数として設定される構成としても良い。この場合は、図１の説明において、第２〜第４のアドレスレジスタＡ［３：１］は下位側にシフトされる。
【００６１】
次に、このような汎用入出力ポート接続制御回路を設けたマイクロコントローラ（半導体装置）の構成について、図４を用いて説明する。
【００６２】
図４に示す本例のマクロコントローラ４１は、汎用入出力ポート接続制御回路４１ａ、ＣＰＵ４１ｂ、及びメモリ４１ｃを備え、ＣＰＵ４１ｂはメモリ４１ｃに記憶されたプログラムに基づいてコンピュータ処理を実行する際、汎用入出力ポート接続制御回路４１ａを介して外部に接続されたＩＣ４２〜４３との間でのデータの入出力を行なう。
【００６３】
図４においては、汎用入出力ポートＩＯ［２：１］がＩＣ４２のＳＣＬとＳＤＡに割り付けられ、汎用入出力ポートＩＯ［６：５］がＩＣ４３のＴＸＤとＲＸＤに割り付けられ、残りの汎用入出力ポートＩＯ［７］，［４］，［３］，［０］が各々ＩＣ４４のアドレス線ＡＤＲ［３：０］として使用されている。
【００６４】
以上、各図を用いて説明したように、本例の汎用入出力ポート接続制御回路は、複数の汎用入出力ポートと、各々が複数の汎用入出力ポートの各々に対応して設けられると共に、アドレス変数が設定される複数のアドレスレジスタと、各々が複数の汎用入出力ポートの各々に対応して設けられると共に、各々に特定機能が設定される複数の特定機能端子と、各々が複数の特定機能端子の各々に対応して設けられると共に、各々に選択信号が入力される複数の選択信号入力端子と、各々が特定機能端子に接続された第１の端子、第２の端子、及び汎用入出力ポートに接続された第３の端子を備えると共に、選択信号入力端子に接続され、選択信号が選択信号入力端子を介して入力された際に第１の端子と第３の端子とが接続され、選択信号が入力されない場合に第２の端子と第３の端子とが接続されるように切り替える複数の切替部であって、いずれか１つの切替部の第２の端子がアドレスレジスタの１つに直接接続された複数の切替部と、アドレスレジスタと該アドレスレジスタが直接接続されていない残りの切替部の第２の端子との間に接続され、複数の切替部の切り替えにより、接続対象のアドレスレジスタに対応する汎用入出力ポートが特定機能端子に接続されている場合に、特定機能端子が接続されていない汎用入出力ポートと接続されるように、アドレスレジスタと第２の端子との接続状態を制御する接続制御部と、を備えている。
【００６５】
そして、汎用入出力ポート、アドレスレジスタ、特定機能端子、選択信号入力端子、及び切替部は、各々、第１〜第８の汎用入出力ポート、第１〜第８のアドレスレジスタ、第１〜第８の特定機能端子、第１〜第８の選択信号入力端子、及び第１〜第８の切替部からなり、第１〜第８のアドレスレジスタは、第１のアドレスレジスタから第８のアドレスレジスタの順に下位から上位のビットがアドレス変数として設定され、接続制御部は、対応する汎用入出力ポートが特定機能端子に接続されたアドレスレジスタの接続先を、上位のビットが設定されたアドレスレジスタの第２の端子側に切り替える。
【００６６】
特に、接続制御部は、第４の端子と第５の端子のいずれかを第１〜第８の選択信号入力端子からの選択信号の出力の有無に基づいて第６の端子に選択的に接続するスイッチ部を、第１〜第８の切替部に各々並列に上位ビット側に設けてなり、第１の切替部に各々並列に上位ビット側に設けられた各スイッチ部は、第１の選択信号入力端子から選択信号が入力されない場合、第４の端子に接続された自アドレスレジスタを選択して第６の端子に接続し、選択信号が入力された場合、第５の端子に接続された下位ビット側のアドレスレジスタを選択して第６の端子に接続し、第２〜第８の切替部に各々並列に上位ビット側に設けられた各スイッチ部は、第２〜第ｎの選択信号入力端子から選択信号が入力されない場合、第４の端子に接続された前段のスイッチ部を選択して第６の端子に接続し、選択信号が入力された場合、第５の端子に接続された下位ビット側の前段のスイッチを選択して第６の端子に接続する。
【００６７】
以上のように、本例においては、アドレス変数の下位ビットにまとめて格納された値をそのまま、アドレスレジスタに対して設定したとしても、特定機能と競合した場合には、上位ビット側に順次値をシフトさせることで競合を回避でき、自動的に空きＩＯポートにアドレス変数を割り付けることができる。そのため、ソフトウェアによるビットシフト演算に伴うオーバーヘッドを回避することができるため、半導体装置の性能を向上させることが可能となる。
【００６８】
なお、本発明は、図１〜図４を用いて説明した例に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能である。例えば、本例では、８ビットに対応した汎用入出力ポート接続制御回路の構成で説明を行なっているが、１６ビットに対応した汎用入出力ポート接続制御回路の構成としても良く、８ビット、１６ビットに限るものではない。
【符号の説明】
【００６９】
１  接続制御部
１ａ〜１ｇ，２ａ〜２ｆ，３ａ〜３ｅ，４ａ〜４ｄ，５ａ〜５ｃ，６ａ〜６ｂ，７ａ  スイッチ回路
１ｇ１  第４の端子
１ｇ２  第５の端子
１ｇ３  第６の端子
４１  マイクロコントローラ（半導体装置）
４１ａ  汎用入出力接続制御回路
４１ｂ  ＣＰＵ
４１ｃ  メモリ
４２〜４４  ＩＣ
５１  マイクロコントローラ
６１ａ〜６１ｈ  切替部
６１ａ１  第１の端子
６１ａ２  第２の端子
６１ａ３  第３の端子
【図１】
0005930802.tif 000002
【図２】
0005930802.tif 000003
【図３】
0005930802.tif 000004
【図４】
0005930802.tif 000005
【図５】
0005930802.tif 000006
【図６】
0005930802.tif 000007
【図７】
0005930802.tif 000008