(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5930802
(24)【登録日】2016年5月13日
(45)【発行日】2016年6月8日
(54)【発明の名称】汎用入出力ポート接続制御回路、半導体装置、及び汎用入出力ポート接続制御方法
(51)【国際特許分類】
G06F 13/14 20060101AFI20160526BHJP
【FI】
G06F13/14 320A
【請求項の数】7
【全頁数】17
(21)【出願番号】特願2012-80185(P2012-80185)
(22)【出願日】2012年3月30日
(65)【公開番号】特開2013-210810(P2013-210810A)
(43)【公開日】2013年10月10日
【審査請求日】2015年3月10日
(73)【特許権者】
【識別番号】308033711
【氏名又は名称】ラピスセミコンダクタ株式会社
(74)【代理人】
【識別番号】100079049
【弁理士】
【氏名又は名称】中島 淳
(74)【代理人】
【識別番号】100084995
【弁理士】
【氏名又は名称】加藤 和詳
(74)【代理人】
【識別番号】100099025
【弁理士】
【氏名又は名称】福田 浩志
(72)【発明者】
【氏名】岡田 敦彦
【審査官】
田中 啓介
(56)【参考文献】
【文献】
特開平05−250497(JP,A)
【文献】
特開2000−330968(JP,A)
【文献】
特開平07−152720(JP,A)
【文献】
米国特許第07417452(US,B1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F13/10−13/14、15/78
H03K17/00−17/04
17/06−17/08
17/10−17/60
17/61−17/687
17/693−17/70
19/00、19/01−19/082
19/094−19/096
(57)【特許請求の範囲】
【請求項1】
複数の汎用入出力ポートと、
各々が前記複数の汎用入出力ポートの各々に対応して設けられると共に、アドレス変数が設定される複数のアドレスレジスタと、
各々が前記複数の汎用入出力ポートの各々に対応して設けられると共に、各々に特定機能が設定される複数の特定機能端子と、
各々が前記複数の特定機能端子の各々に対応して設けられると共に、各々に選択信号が入力される複数の選択信号入力端子と、
各々が前記特定機能端子に接続された第1の端子、第2の端子、及び前記汎用入出力ポートに接続された第3の端子を備えると共に、前記選択信号入力端子に接続され、前記選択信号が前記選択信号入力端子を介して入力された際に前記第1の端子と前記第3の端子とが接続され、前記選択信号が入力されない場合に前記第2の端子と前記第3の端子とが接続されるように切り替える複数の切替部であって、いずれか1つの切替部の前記第2の端子が前記アドレスレジスタの1つに直接接続された複数の切替部と、
前記アドレスレジスタと該アドレスレジスタが直接接続されていない残りの切替部の第2の端子との間に接続され、前記複数の切替部の切り替えにより、接続対象のアドレスレジスタに対応する汎用入出力ポートが特定機能端子に接続されている場合に、前記特定機能端子が接続されていない汎用入出力ポートと接続されるように、アドレスレジスタと前記第2の端子との接続状態を制御する接続制御部と、
を備え、
前記汎用入出力ポート、前記アドレスレジスタ、前記特定機能端子、前記選択信号入力端子、及び前記切替部は、各々、第1〜第nの汎用入出力ポート、第1〜第nのアドレスレジスタ、第1〜第nの特定機能端子、第1〜第nの選択信号入力端子、及び第1〜第nの切替部からなり、
前記第1〜第nのアドレスレジスタは、第1のアドレスレジスタから第nのアドレスレジスタの順に下位から上位のビットが前記アドレス変数として設定され、
前記接続制御部は、対応する汎用入出力ポートが特定機能端子に接続された前記アドレスレジスタの接続先を、上位のビットが設定されたアドレスレジスタに対応する前記汎用入出力ポートと前記第3の端子が接続されている前記切替部の前記第2の端子側に切り替える
汎用入出力ポート接続制御回路。
【請求項2】
前記接続制御部は、
第4の端子と第5の端子のいずれかを前記第1〜第nの選択信号入力端子からの前記選択信号の出力の有無に基づいて第6の端子に選択的に接続するスイッチ部を、前記第1〜第nの切替部に各々並列に上位ビット側に設けてなり、
前記第1の切替部に各々並列に上位ビット側に設けられた各スイッチ部は、前記第1の選択信号入力端子から前記選択信号が入力されない場合、前記第4の端子に接続された自アドレスレジスタを選択して前記第6の端子に接続し、前記選択信号が入力された場合、前記第5の端子に接続された下位ビット側のアドレスレジスタを選択して前記第6の端子に接続し、
前記第2〜第nの切替部に各々並列に上位ビット側に設けられた各スイッチ部は、前記第2〜第nの選択信号入力端子から前記選択信号が入力されない場合、前記第4の端子に接続された前段のスイッチ部を選択して前記第6の端子に接続し、前記選択信号が入力された場合、前記第5の端子に接続された下位ビット側の前段のスイッチ部を選択して前記第6の端子に接続する
請求項1記載の汎用入出力ポート接続制御回路。
【請求項3】
複数の汎用入出力ポートと、
各々が前記複数の汎用入出力ポートの各々に対応して設けられると共に、アドレス変数が設定される複数のアドレスレジスタと、
各々が前記複数の汎用入出力ポートの各々に対応して設けられると共に、各々に特定機能が設定される複数の特定機能端子と、
各々が前記複数の特定機能端子の各々に対応して設けられると共に、各々に選択信号が入力される複数の選択信号入力端子と、
各々が前記特定機能端子に接続された第1の端子、第2の端子、及び前記汎用入出力ポートに接続された第3の端子を備えると共に、前記選択信号入力端子に接続され、前記選択信号が前記選択信号入力端子を介して入力された際に前記第1の端子と前記第3の端子とが接続され、前記選択信号が入力されない場合に前記第2の端子と前記第3の端子とが接続されるように切り替える複数の切替部であって、いずれか1つの切替部の前記第2の端子が前記アドレスレジスタの1つに直接接続された複数の切替部と、
前記アドレスレジスタと該アドレスレジスタが直接接続されていない残りの切替部の第2の端子との間に接続され、前記複数の切替部の切り替えにより、接続対象のアドレスレジスタに対応する汎用入出力ポートが特定機能端子に接続されている場合に、前記特定機能端子が接続されていない汎用入出力ポートと接続されるように、アドレスレジスタと前記第2の端子との接続状態を制御する接続制御部と、
を備え、
前記汎用入出力ポート、前記アドレスレジスタ、前記特定機能端子、前記選択信号入力端子、及び前記切替部は、各々、第1〜第nの汎用入出力ポート、第1〜第nのアドレスレジスタ、第1〜第nの特定機能端子、第1〜第nの選択信号入力端子、及び第1〜第nの切替部からなり、
前記汎用入出力ポート、前記アドレスレジスタ、前記特定機能端子、前記選択信号入力端子、及び前記切替部は、各々、第1〜第nの汎用入出力ポート、第1〜第nのアドレスレジスタ、第1〜第nの特定機能端子、第1〜第nの選択信号入力端子、及び第1〜第nの切替部からなり、
前記第1〜第nのアドレスレジスタは、第1のアドレスレジスタから第nのアドレスレジスタの順に上位から下位のビットが前記アドレス変数として設定され、
前記接続制御部は、対応する汎用入出力ポートが特定機能端子に接続された前記アドレスレジスタの接続先を、下位のビットが設定されたアドレスレジスタに対応する前記汎用入出力ポートと前記第3の端子が接続されている前記切替部の前記第2の端子側に切り替える
汎用入出力ポート接続制御回路。
【請求項4】
前記接続制御部は、
第4の端子と第5の端子のいずれかを前記第1〜第nの選択信号入力端子からの前記選択信号の出力の有無に基づいて第6の端子に選択的に接続するスイッチ部を、前記第1〜第nの切替部に各々並列に下位ビット側に設けてなり、
前記第1の切替部に各々並列に下位ビット側に設けられた各スイッチ部は、前記第1の選択信号入力端子から前記選択信号が入力されない場合、前記第4の端子に接続された自アドレスレジスタを選択して前記第6の端子に接続し、前記選択信号が入力された場合、前記第5の端子に接続された上位ビット側のアドレスレジスタを選択して前記第6の端子に接続し、
前記第2〜第nの切替部に各々並列に下位ビット側に設けられた各スイッチ部は、前記第2〜第nの選択信号入力端子から前記選択信号が入力されない場合、前記第4の端子に接続された前段のスイッチ部を選択して前記第6の端子に接続し、前記選択信号が入力された場合、前記第5の端子に接続された上位ビット側の前段のスイッチ部を選択して前記第6の端子に接続する
請求項3記載の汎用入出力ポート接続制御回路。
【請求項5】
請求項1から請求項4のいずれか1項に記載の汎用入出力ポート接続制御回路と、該汎用入出力ポート接続制御回路を用いる中央処理装置と、
を備えた半導体装置。
【請求項6】
複数の汎用入出力ポートに対する、各々が前記複数の汎用入出力ポートの各々に対応して設けられると共にアドレス変数が設定される複数のアドレスレジスタと、各々が前記複数の汎用入出力ポートの各々に対応して設けられると共に各々に特定機能が設定される複数の特定機能端子との接続を切り替える汎用入出力ポート接続制御方法であって、
各々が前記複数の特定機能端子の各々に対応して設けられた複数の選択信号入力端子を介して選択信号を入力する選択信号入力手順と、
各々が前記特定機能端子に接続された第1の端子、第2の端子、及び前記汎用入出力ポートに接続された第3の端子を備えると共に、いずれか1つの第2の端子が前記アドレスレジスタの1つに直接接続され、かつ前記選択信号入力端子に接続された複数の切替部により、前記選択信号が前記選択信号入力端子を介して入力された際に前記第1の端子と前記第3の端子とを接続し、前記選択信号が入力されない場合に前記第2の端子と前記第3の端子とを接続するように切り替える切替手順と、
前記アドレスレジスタとアドレスレジスタが直接接続されていない残りの切替部の第2の端子との間に接続された接続制御部により、前記複数の切替部による切替手順で接続対象のアドレスレジスタに対応する汎用入出力ポートが特定機能端子に接続されている場合に、前記特定機能端子が接続されていない汎用入出力ポートと接続されるように、アドレスレジスタと前記第2の端子との接続状態を制御する接続制御手順と、
を含み、
前記汎用入出力ポート、前記アドレスレジスタ、前記特定機能端子、前記選択信号入力端子、及び前記切替部は、各々、第1〜第nの汎用入出力ポート、第1〜第nのアドレスレジスタ、第1〜第nの特定機能端子、第1〜第nの選択信号入力端子、及び第1〜第nの切替部からなり、
前記第1〜第nのアドレスレジスタは、第1のアドレスレジスタから第nのアドレスレジスタの順に下位から上位のビットが前記アドレス変数として設定され、
前記接続制御手順は、対応する汎用入出力ポートが特定機能端子に接続された前記アドレスレジスタの接続先を、上位のビットが設定されたアドレスレジスタに対応する前記汎用入出力ポートと前記第3の端子が接続されている前記切替部の前記第2の端子側に切り替える
汎用入出力ポート接続制御方法。
【請求項7】
複数の汎用入出力ポートに対する、各々が前記複数の汎用入出力ポートの各々に対応して設けられると共にアドレス変数が設定される複数のアドレスレジスタと、各々が前記複数の汎用入出力ポートの各々に対応して設けられると共に各々に特定機能が設定される複数の特定機能端子との接続を切り替える汎用入出力ポート接続制御方法であって、
各々が前記複数の特定機能端子の各々に対応して設けられた複数の選択信号入力端子を介して選択信号を入力する選択信号入力手順と、
各々が前記特定機能端子に接続された第1の端子、第2の端子、及び前記汎用入出力ポートに接続された第3の端子を備えると共に、いずれか1つの第2の端子が前記アドレスレジスタの1つに直接接続され、かつ前記選択信号入力端子に接続された複数の切替部により、前記選択信号が前記選択信号入力端子を介して入力された際に前記第1の端子と前記第3の端子とを接続し、前記選択信号が入力されない場合に前記第2の端子と前記第3の端子とを接続するように切り替える切替手順と、
前記アドレスレジスタとアドレスレジスタが直接接続されていない残りの切替部の第2の端子との間に接続された接続制御部により、前記複数の切替部による切替手順で接続対象のアドレスレジスタに対応する汎用入出力ポートが特定機能端子に接続されている場合に、前記特定機能端子が接続されていない汎用入出力ポートと接続されるように、アドレスレジスタと前記第2の端子との接続状態を制御する接続制御手順と、
を含み、
前記汎用入出力ポート、前記アドレスレジスタ、前記特定機能端子、前記選択信号入力端子、及び前記切替部は、各々、第1〜第nの汎用入出力ポート、第1〜第nのアドレスレジスタ、第1〜第nの特定機能端子、第1〜第nの選択信号入力端子、及び第1〜第nの切替部からなり、
前記汎用入出力ポート、前記アドレスレジスタ、前記特定機能端子、前記選択信号入力端子、及び前記切替部は、各々、第1〜第nの汎用入出力ポート、第1〜第nのアドレスレジスタ、第1〜第nの特定機能端子、第1〜第nの選択信号入力端子、及び第1〜第nの切替部からなり、
前記第1〜第nのアドレスレジスタは、第1のアドレスレジスタから第nのアドレスレジスタの順に上位から下位のビットが前記アドレス変数として設定され、
前記接続制御手順は、対応する汎用入出力ポートが特定機能端子に接続された前記アドレスレジスタの接続先を、下位のビットが設定されたアドレスレジスタに対応する前記汎用入出力ポートと前記第3の端子が接続されている前記切替部の前記第2の端子側に切り替える
汎用入出力ポート接続制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、マイクロコンピュータ(以下、単にマイコンまたはCPUともいう)の入出力ポート(以下、IOポートもしくは単にポートともいう)の割付技術に係り、特に、IOポートの割付処理に伴うソフトウェアのオーバーヘッドを回避するのに好適な汎用入出力ポート接続制御回路、半導体装置、及び汎用入出力ポート接続制御方法に関するものである。
【背景技術】
【0002】
一般に、マイクロコンピュータには各々の汎用に使用可能な複数のIOポートが備えられ、各IOポートには、例えばUART(Universal Asynchronous Received Transmitter)、I2C(Inter-Integrated Circuit)、SPI(System Packet Interface)、あるいはPWM(Pulse Width Modulation)といった特定の機能を有したインタフェースが2次機能として割り付けられる。
【0003】
マイコンのユーザは、これら2次機能や汎用IOポートを組み合わせてシステムを構築する。
図5に、従来のマイコンを使用したシステム構成を示す。
【0004】
このようなシステムでは、CPUを具備したマイクロコントローラ(図中、「MCU」と記載)51の汎用IOポートに割付けられた2次機能のI2C(IO[2:1])をIC#1に接続し、同じく汎用IOポートに割付けられたSIO(IO[6:5])をIC#2に接続している。なお、IO[2:1]とはポートIO[1]とポートIO[2]を意味し、IO[6:5]とはポートIO[5]とポートIO[6]を意味しており、また、例えば、IO[7:0]とはポートIO[0]〜ポートIO[7]を意味する。
【0005】
そして、残った汎用IOポート(IO[7],IO[4:3],IO[0])をIC#3のアドレス線として使用する。
【0006】
汎用IOポートの2次機能の割付を切り換える回路を
図6に示す。切替器61a〜61hを切替信号S[7:0]で制御することにより、汎用IOレジスタA[7:0]と2次機能群B[7:0]との接続を切り替えて、割り付けを行っている。なお、切替信号S[7:0]、汎用IOレジスタA[7:0]、及び2次機能群B[7:0]における[7:0]も上記汎用IOポートと同様、[0]〜[7]を意味する。
【0007】
図6の例では、2次機能B[1]がI2CのSCL信号、2次機能B[2]がI2CのSDA信号、2次機能B[5]がSIOのRXD信号、そして、2次機能B[6]がSIOのTXD信号を表し、切替信号S[2:1]と切替信号S[6:5]は、切替器61b,61c,61f,61gが2次機能を選択するよう設定されている。
【0008】
この場合、汎用IOポートIO[7:0]の空いているIOポートは分断されて非連続となっている。このように、2次機能を利用することで分断された汎用IOポートIO[7:0]をアドレス線として使用するには、ソフトウェアにより割り付けが行なわれるため、ソフトウェアのオーバーヘッドが大きくなるという問題点があった。
【0009】
例えば、
図6におけるシステム構成の場合、
図7に示すように、アドレス変数の下位から、ビット0をA[0]に、ビット1をA[3]に、ビット2をA[4]に、ビット3をA[7]にそれぞれセットすることになる。
【0010】
この場合、汎用IOレジスタにアドレス変数をセットするためには、ソフトウェアにより、4回分ビットを分離するフローが必要になる。
【0011】
このように、マイコンのポートに対しては複数の機能が割り付けられるが、どのポートにどの機能を割り付けるかは、従来の割り付け方などを踏襲した割り付け方とすることが一般的に行われている。そのため、任意のポートに任意の機能を割り付けることができるとは限らず、
図5に示すIC#3のアドレス線のように、場合によっては不連続に割り付けられることが起こる。
【0012】
アドレス線に対応するアドレス変数は、下位ビット側にまとめて配置することが一般的であり、そのため、下位ビット側にまとめて配置されたアドレス値を、不連続に割り付けられたアドレス線に対応したレジスタに設定しようとすると、一度に全ての値を設定することができず、各レジスタに対応したビット毎にシフト演算を行う必要が生じる。
【0013】
なお、このようなマイコンにおけるポートの接続制御に関しては、特許文献1において記載されている。
【0014】
また、特許文献2においては、コアボードとインタフェースボード間に、割り付け変換ボードを設けて、割り付け変換ボードに備えられた複数のスイッチ素子により、コアボードのポートとインタフェースボードの端子との接続関係を自動的に変更する技術が記載されている。
【先行技術文献】
【特許文献】
【0015】
【特許文献1】特開平5−250497号公報
【特許文献2】特開2005−327264071号公報
【発明の概要】
【発明が解決しようとする課題】
【0016】
しかし、特許文献2に記載の技術では、ボード間の端子の接続を任意の組み合わせで可能とするものであり、割り付け変換ボード内には、複数のスイッチ素子が、上位側と下位側のいずれにも接続先を切り換えることができるよう配置されている。そのため、回路規模が大きく、半導体装置内の限られたスペースに配置するには適していない。
【0017】
また、上述したように、
図5,
図7に示すようにアドレス線が不連続に割り付けられた場合には、下位ビット側にまとめて配置されたアドレス値を、不連続に割り付けられたアドレス線に対応したレジスタに設定するためには、ソフトウェアにより、各レジスタに対応したビット毎にシフト演算を行う必要が生じる。
【0018】
本発明は、上記問題点を解決するためのものであり、例えば下位ビット側にまとめて格納されたアドレス変数をレジスタに一括して設定することができ、ソフトウェアによるシフト演算を不要とすることが可能な汎用入出力ポート接続制御回路、半導体装置、及び汎用入出力ポート接続制御方法を提供することを目的とする。
【課題を解決するための手段】
【0019】
上記目的を達成するため、本発明の汎用入出力ポート接続制御回路は、複数の汎用入出力ポートと、各々が前記複数の汎用入出力ポートの各々に対応して設けられると共に、アドレス変数が設定される複数のアドレスレジスタと、各々が前記複数の汎用入出力ポートの各々に対応して設けられると共に、各々に特定機能が設定される複数の特定機能端子と、各々が前記複数の特定機能端子の各々に対応して設けられると共に、各々に選択信号が入力される複数の選択信号入力端子と、各々が前記特定機能端子に接続された第1の端子、第2の端子、及び前記汎用入出力ポートに接続された第3の端子を備えると共に、前記選択信号入力端子に接続され、前記選択信号が前記選択信号入力端子を介して入力された際に前記第1の端子と前記第3の端子とが接続され、前記選択信号が入力されない場合に前記第2の端子と前記第3の端子とが接続されるように切り替える複数の切替部であって、いずれか1つの切替部の前記第2の端子が前記アドレスレジスタの1つに直接接続された複数の切替部と、前記アドレスレジスタと該アドレスレジスタが直接接続されていない残りの切替部の第2の端子との間に接続され、前記複数の切替部の切り替えにより、接続対象のアドレスレジスタに対応する汎用入出力ポートが特定機能端子に接続されている場合に、前記特定機能端子が接続されていない汎用入出力ポートと接続されるように、アドレスレジスタと前記第2の端子との接続状態を制御する接続制御部と、を備えている。
【0020】
一方、上記目的を達成するため、本発明の半導体装置は、前記汎用入出力ポート接続制御回路と、該汎用入出力ポート接続制御回路を用いる中央処理装置と、を備えている。
【0021】
さらに、上記目的を達成するため、本発明の汎用入出力ポート接続制御方法は、複数の汎用入出力ポートに対する、各々が前記複数の汎用入出力ポートの各々に対応して設けられると共にアドレス変数が設定される複数のアドレスレジスタと、各々が前記複数の汎用入出力ポートの各々に対応して設けられると共に各々に特定機能が設定される複数の特定機能端子との接続を切り替える汎用入出力ポート接続制御方法であって、各々が前記複数の特定機能端子の各々に対応して設けられた複数の選択信号入力端子を介して選択信号を入力する選択信号入力手順と、各々が前記特定機能端子に接続された第1の端子、第2の端子、及び前記汎用入出力ポートに接続された第3の端子を備えると共に、いずれか1つの第2の端子が前記アドレスレジスタの1つに直接接続され、かつ前記選択信号入力端子に接続された複数の切替部により、前記選択信号が前記選択信号入力端子を介して入力された際に前記第1の端子と前記第3の端子とを接続し、前記選択信号が入力されない場合に前記第2の端子と前記第3の端子とを接続するように切り替える切替手順と、前記アドレスレジスタとアドレスレジスタが直接接続されていない残りの切替部の第2の端子との間に接続された接続制御部により、前記複数の切替部による切替手順で接続対象のアドレスレジスタに対応する汎用入出力ポートが特定機能端子に接続されている場合に、前記特定機能端子が接続されていない汎用入出力ポートと接続されるように、アドレスレジスタと前記第2の端子との接続状態を制御する接続制御手順と、を含む。
【発明の効果】
【0022】
本発明によれば、例えば下位ビット側にまとめて格納されたアドレス変数をレジスタに一括して設定することができ、ソフトウェアによるシフト演算を不要とすることが可能となる。
【図面の簡単な説明】
【0023】
【
図1】実施の形態に係る汎用入出力ポート接続制御回路の構成例を示す回路図である。
【
図2】
図1における汎用入出力ポート接続制御回路の動作例を示す説明図である。
【
図3】実施の形態に係る汎用入出力ポート接続制御方法の処理動作例を示すフローチャートである。
【
図4】
図1における汎用入出力ポート接続制御回路を具備した半導体装置の構成例を示すブロック図である。
【
図5】従来のマイクロコンピュータにおける汎用入出力ポートの接続構成例を示すブロック図である。
【
図6】従来の汎用入出力ポート接続制御回路の構成例を示す回路図である。
【
図7】
図6における従来の汎用入出力ポート接続制御回路の動作例を示す説明図である。
【発明を実施するための形態】
【0024】
以下、図を用いて本発明の実施の形態について説明する。
【0025】
図1は、本実施の形態に係る8ビットに対応した汎用入出力ポート接続制御回路の構成を示しており、
図6に示した従来の汎用入出力ポート接続制御回路に、スイッチ回路1a〜1g,2a〜2f,3a〜3e,4a〜4d,5a〜5c,6a〜6b,7aからなる接続制御部1を設けた構成となっている。
【0026】
すなわち、
図1に示す汎用入出力ポート接続制御回路は、複数の汎用入出力ポートIO[7:0]と、各々が複数の汎用入出力ポートの各々に対応して設けられると共に、アドレス変数が設定される複数のアドレスレジスタA[7:0]と、各々が複数の汎用入出力ポートの各々に対応して設けられると共に、各々に特定機能が設定される複数の特定機能端子B[7:0]と、各々が複数の特定機能端子の各々に対応して設けられると共に、各々に選択信号が入力される複数の選択信号入力端子S[7:0]と、
図1の切替部61aに例示するように、各々が特定機能端子に接続された第1の端子61a1、第2の端子61a2、及び汎用入出力ポートに接続された第3の端子61a3を備えると共に、選択信号入力端子に接続され、選択信号が選択信号入力端子を介して入力された際に第1の端子と第3の端子とが接続され、選択信号が入力されない場合に第2の端子と第3の端子とが接続されるように切り替える複数の切替部であって、いずれか1つの切替部(61a)の第2の端子がアドレスレジスタの1つに直接接続された複数の切替部61a〜61hとを備え、さらに、アドレスレジスタと当該アドレスレジスタが直接接続されていない残りの切替部(61b〜61h)の第2の端子との間に接続され、複数の切替部の切り替えにより、接続対象のアドレスレジスタに対応する汎用入出力ポートが特定機能端子に接続されている場合に、特定機能端子が接続されていない汎用入出力ポートと接続されるように、アドレスレジスタと第2の端子との接続状態を制御する接続制御部1と、を備えている。
【0027】
このような構成により汎用入出力ポート接続制御回路は、マイクロコンピュータの所定のポートに対して複数の機能が割り付ける場合に、機能の割り付けを効率的に制御することができる。例えば、汎用入出力ポートIOに割付けられた特定機能を任意に組み合わせて利用しても、残りの汎用入出力ポートIOのビットをソフトウェアのオーバーヘッド(ビットを分離する処理)なしに利用することができる。以下、その動作の説明を行なう。
【0028】
本例では、
図1に示す本実施の形態に係る汎用入出力ポート接続制御回路の切替器61a〜61hによる各々の2次機能の選択動作に伴い、接続制御部1におけるスイッチ回路1a〜1g,2a〜2f,3a〜3e,4a〜4d,5a〜5c,6a〜6b,7aの各々が制御される構成となっており、切替器61a〜61hに対する1つの選択信号で、複数のスイッチ回路1a〜1g,2a〜2f,3a〜3e,4a〜4d,5a〜5c,6a〜6b,7aを制御している。
【0029】
なお、以下の説明では、複数のアドレスレジスタA[7:0]においては、アドレスレジスタA[0]からアドレスレジスタA[7]に順次にアドレス変数が下位ビットから設定されるものとする。
【0030】
図1に示す汎用入出力ポート接続制御回路においては、汎用入出力ポートIO、アドレスレジスタA、特定機能端子B、選択信号入力端子S、及び切替部は、各々、第1〜第8の汎用入出力ポートIO[7:0]、第1〜第8のアドレスレジスタA[7:0]、第1〜第8の特定機能端子B[7:0]、第1〜第8の選択信号入力端子S[7:0]、及び第1〜第8の切替部61a〜61hからなる。第1〜第8のアドレスレジスタA[7:0]は、第1のアドレスレジスタA[0]から第8のアドレスレジスタA[7]の順に下位から上位ビットのアドレス変数が設定される。接続制御部1は、例えば、第1の選択信号入力端子S[0]の選択信号に基づき、第1の切替部61aが、汎用入出力ポートIO[0]を特定機能端子[0]に接続すると、第1の選択信号入力端子S[0]に接続された全てのスイッチ回路1a〜1gの接続先を、上位ビットのアドレス変数が設定されたアドレスレジスタの第2の端子側に切り替える。
【0031】
接続制御部1を構成する各スイッチ回路は、スイッチ回路1gに例示するように、第4の端子1g1と第5の端子1g2のいずれかを、第1〜第8の選択信号入力端子S[7:0]からの選択信号の出力の有無に基づいて第6の端子1g3に選択的に接続する構成となっており、このような構成のスイッチ部が、第1〜第8の切替部61a〜61hに各々並列に上位ビット側に設けられている。
【0032】
そして、第1の切替部61aに各々並列に上位ビット側に設けられた各スイッチ部1a〜1gは、第1の選択信号入力端子S[0]からの選択信号の出力が例えばLの場合に、第4の端子(例えば第4の端子1g1)に接続された自アドレスレジスタ(例えばアドレスレジスタA[7])を選択して第6の端子(例えば第6の端子1g3)に接続し、選択信号の出力がHの場合に、第5の端子(例えば第5の端子1g2)に接続された下位ビット側のアドレスレジスタ(例えばアドレスレジスタA[6])を選択して第6の端子(例えば第6の端子1g3)に接続する。
【0033】
また、第2〜第8の切替部61b〜61hに各々並列に上位ビット側に設けられた各スイッチ部2a〜2f,3a〜3e,4a〜4d,5a〜5c,6a〜6b,7aは、第2〜第8の選択信号入力端子S[7:1]からの選択信号の出力が例えばLの場合に、第4の端子に接続された前段のスイッチ部を選択して第6の端子に接続し、選択信号の出力がHの場合に、第5の端子に接続された下位ビット側の前段のスイッチを選択して第6の端子に接続する。
【0034】
このようにして、接続制御部1を設けることにより、特定機能端子B[7:0]が接続された汎用入出力ポートIO[7:0]に対応して設けられたアドレスレジスタA[7:0]を、特定機能端子B[7:0]が接続されていない空きの汎用入出力ポートIO[7:0]に接続することができる。
【0035】
このように、
図1に示す汎用入出力ポート接続制御回路においては、特定の汎用入出力ポートのビットが特定機能に選択されると、そのビットより上位のビットが1ビットずつ上位側へシフトする回路構成となっている。
【0036】
例えば、
図1において、第2の選択信号入力端子S[1]がHとなり、汎用入出力ポートIO[1]が特定機能に選択された場合について説明する。この場合、第1の選択信号入力端子S[0]はLであり、上位側に接続されているアドレスレジスタA[0]は汎用入出力ポートIO[0]に接続されたままである。その一方で、第2の選択信号入力端子S[1]はHであり、下位側に接続されている汎用入出力ポートIO[1]には特定機能端子B[1]が接続される。そして、アドレスレジスタA[6:1]は、各々1ビットずつシフトして(スイッチ回路2a〜2fの下位側に入力され)、汎用入出力ポートIO[7:2]に接続することになる。
【0037】
これは複数の汎用入出力ポートIOを特定機能に選択しても同じことで、汎用入出力ポートIO[2:1]、及び汎用入出力ポートIO[6:5]が特定機能に選択されるとすると、
図2に示すように、アドレスレジスタA[3:0]は、各々、汎用入出力ポートIO[7],IO[4],IO[3],IO[0]に接続される。
【0038】
以下、このように、汎用入出力ポートIO[2:1]、及び汎用入出力ポートIO[6:5]が特定機能に選択された場合に、アドレスレジスタA[3:0]を、汎用入出力ポートIO[7],IO[4],IO[3],IO[0]にそれぞれ接続する際の動作を説明する。
【0039】
ここでは、汎用入出力ポートIO[2:1]が特定機能端子B[2:1]に選択され、汎用入出力ポートIO[6:5]が特定機能端子B[6:5]に選択された場合について説明する。
【0040】
この場合、選択信号入力端子S[2:1]と選択信号入力端子S[6:5]から選択信号が出力されている。
【0041】
この状態においては、特定機能端子B[2:1]を汎用入出力ポートIO[2:1]に接続する切替部61b,61cと、特定機能端子B[6:5]を汎用入出力ポートIO[6:5]に接続する切替部61f,61gに、選択信号が出力されている。
【0042】
特定機能端子B[0]に対応して設けられた切替部61a、及び当該切替部61aに並列に上位ビット側に設けられたスイッチ部1a〜1gには選択信号は出力されていない。従って、切替部61aはアドレスレジスタA[0]を汎用入出力ポートIO[0]に接続し、各スイッチ部1a〜1gは、自アドレスレジスタA[7:1]を後段の切替部61b及び各スイッチ部2a〜2fに接続する。
【0043】
選択信号入力端子S[1]に対応して設けられた切替部61b及び各スイッチ部2a〜2fには、選択信号入力端子S[1]から選択信号が出力されている。従って、切替部61bは特定機能端子B[1]を汎用入出力ポートIO[1]に接続し、各スイッチ部2a〜2fは、下位ビット側の前段のスイッチ部1a〜1fを選択して後段の切替部61c及び各スイッチ部3a〜3eに接続する。この結果、アドレスレジスタA[7:1]の各々が上位ビット側に1つずつシフトされる。これにより、例えばアドレスレジスタA[1]はスイッチ部2aに接続されて汎用入出力ポートIO[2]に対応した状態となる。なお、アドレスレジスタA[7]の接続先はなくなる。
【0044】
選択信号入力端子S[2]に対応して設けられた切替部61c及び各スイッチ部3a〜3eにも、選択信号入力端子S[2]から選択信号が出力されている。従って、切替部61cは特定機能端子B[2]を汎用入出力ポートIO[2]に接続し、各スイッチ部3a〜3eは、下位ビット側の前段のスイッチ部2a〜2eを選択して後段の切替部61d及び各スイッチ部4a〜4dに接続する。この結果、アドレスレジスタA[6:1]の各々が上位ビット側に1つずつシフトされる。これにより、例えばアドレスレジスタA[1]はスイッチ部3aに接続されて汎用入出力ポートIO[3]に対応した状態となる。なお、アドレスレジスタA[6]の接続先はなくなる。
【0045】
選択信号入力端子S[3]に対応して設けられた切替部61d及びスイッチ部4a〜4dには選択信号は出力されていない。従って、切替部61dは、前段のスイッチ部3aを汎用入出力ポートIO[3]に接続する。スイッチ部3aにはアドレスレジスタA[1]が接続されており、これにより、アドレスレジスタA[1]が汎用入出力ポートIO[3]に接続される。
【0046】
また、各スイッチ部4a〜4dは、前段の各スイッチ部3b〜3eを後段の切替部61e及び各スイッチ部5a〜5cに接続する。この場合、アドレスレジスタA[5:2]の各々はシフトされず、これにより、例えばアドレスレジスタA[2]はスイッチ部4aに接続されて汎用入出力ポートIO[4]に対応した状態となり、アドレスレジスタA[5]もスイッチ部5cに接続される。
【0047】
選択信号入力端子S[4]に対応して設けられた切替部61e及びスイッチ部5a〜5cには選択信号は出力されていない。従って、切替部61eは、前段のスイッチ部4aを汎用入出力ポートIO[4]に接続する。スイッチ部4aにはアドレスレジスタA[2]が接続されており、これにより、アドレスレジスタA[2]が汎用入出力ポートIO[3]に接続される。
【0048】
また、各スイッチ部5a〜5cは、前段の各スイッチ部4b〜4dを後段の切替部61f及び各スイッチ部6a,6bに接続する。この場合、アドレスレジスタA[5:3]の各々はシフトされず、これにより、例えばアドレスレジスタA[3]は接続部61fに接続されて汎用入出力ポートIO[5]に対応した状態となり、アドレスレジスタA[5]もスイッチ部6bに接続される。
【0049】
選択信号入力端子S[5]に対応して設けられた切替部61f及び各スイッチ部6a,6bには、選択信号入力端子S[5]から選択信号が出力されている。従って、切替部61fは特定機能端子B[5]を汎用入出力ポートIO[5]に接続し、各スイッチ部6a,6bは、下位ビット側の前段のスイッチ部5a,5bを選択して後段の切替部61g及びスイッチ部7aに接続する。この結果、アドレスレジスタA[4:3]の各々が上位ビット側に1つずつシフトされる。これにより、例えばアドレスレジスタA[3]は切替部61gに接続されて汎用入出力ポートIO[6]に対応した状態となる。なお、アドレスレジスタA[5]の接続先はなくなる。
【0050】
選択信号入力端子S[6]に対応して設けられた切替部61g及びスイッチ部7aには、選択信号入力端子S[6]から選択信号が出力されている。従って、切替部61gは特定機能端子B[6]を汎用入出力ポートIO[6]に接続し、スイッチ部7aは、下位ビット側の前段のスイッチ部6aを選択して後段の切替部61hに接続する。この結果、アドレスレジスタA[3]が上位ビット側に1つシフトされる。これにより、アドレスレジスタA[3]は切替部61hに接続されて汎用入出力ポートIO[7]に対応した状態となる。なお、アドレスレジスタA[4]の接続先はなくなる。
【0051】
選択信号入力端子S[7]に対応して設けられた切替部61hには選択信号は出力されていない。従って、切替部61hは、前段のスイッチ部7aを汎用入出力ポートIO[7]に接続する。これにより、アドレスレジスタA[3]が汎用入出力ポートIO[7]に接続される。
【0052】
このように、本例の汎用入出力ポート接続制御回路では、特定の汎用入出力ポートのビットが特定機能に選択されると、そのビットより上位のビットが1ビットずつ上位側へシフトする回路構成となっている。
【0053】
この結果、例えば、汎用入出力ポートIO[1]が特定機能に選択されると、アドレスレジスタA[0」は汎用入出力ポートIO[0]に接続されたままであるが、アドレスレジスタA[6:1]は汎用入出力ポート[7:2]に接続されることになる。
【0054】
これは、複数の汎用入出力ポートを特定機能に選択しても同じことであり、例えば、
図2に示すように、汎用入出力ポートIO[2:1],[6:5]が特定機能に選択されるとすると、アドレスレジスタA[3:0]の各ビット(アドレス変数)は、汎用入出力ポートIO[7],[4],[3],[0]に各々接続される。
【0055】
このような汎用入出力ポート接続制御回路の動作を
図3に示す。この
図3に示すように、汎用入出力ポート接続制御回路は、複数の汎用入出力ポートに対する、各々が複数の汎用入出力ポートの各々に対応して設けられると共にアドレス変数が設定される複数のアドレスレジスタと、各々が複数の汎用入出力ポートの各々に対応して設けられると共に各々に特定機能が設定される複数の特定機能端子との接続を切り替える際、まず、選択信号が入力されない(選択信号=L)場合には(ステップS302)、切替部において第2の端子と第3の端子とを接続して汎用入出力ポートをアドレスレジスタ側に接続する(ステップS304)。
【0056】
これに対して、複数の選択信号入力端子を介して選択信号(H)が選択信号入力端子を介して入力された場合には(ステップS302)、切替部において第1の端子と第3の端子とを接続して汎用入出力ポートを特定機能端子側に接続すると共に、当該アドレスレジスタの接続先を上位ビット側に順次にシフトすることで、汎用入出力ポートが特定機能端子に接続されているアドレスレジスタを、特定機能端子が接続されていない汎用入出力ポートと接続する(ステップS306)。
【0057】
なお、
図1の例では、第1のアドレスレジスタから第nのアドレスレジスタの順に上位から下位のビットをアドレス変数として設定しており、ステップS306においては、上位のビットが設定されるアドレスレジスタから順に、最も近い下位のビットが設定されるアドレスレジスタに対応する空きの汎用入出力ポートに接続する。
【0058】
より詳細には、第1の選択信号入力端子からの選択信号の出力がなければ、スイッチ部1a〜1gにおいて、自アドレスレジスタを選択して後段に接続し、選択信号の出力があれば、上位ビット側のアドレスレジスタを選択して後段に接続し、第2〜第nの選択信号入力端子からの選択信号の出力がなければ、各スイッチ部2a〜2f,3a〜3e,4a〜4d,5a〜5c,6a,6b,7aにおいて、前段のスイッチ部を選択して後段に接続し、選択信号の出力があれば、上位ビット側の前段のスイッチを選択して後段に接続する。
【0059】
以上のようにして、本例の汎用入出力ポート接続制御回路によれば、アドレス変数の下位ビットにまとめて格納された値をそのまま、アドレスレジスタに対して設定したとしても、特定機能が競合した場合にも、上位ビット側に順次値をシフトさせることで競合を回避でき、自動的に空きIOポートにアドレス変数を割り付けることができる。これにより、ソフトウェアによるビットシフト演算に伴うオーバーヘッドを回避することができ、半導体装置の性能を向上させることが可能となる。
【0060】
なお、上述の説明では、第1〜第8のアドレスレジスタA[7:0]は、第1のアドレスレジスタA[0]から第8のアドレスレジスタA[7]の順に下位から上位のビットがアドレス変数として設定される構成としているが、第1〜第8のアドレスレジスタA[7:0]を、第1のアドレスレジスタA[0]から第8のアドレスレジスタA[7]の順に上位から下位のビットがアドレス変数として設定される構成としても良い。この場合は、
図1の説明において、第2〜第4のアドレスレジスタA[3:1]は下位側にシフトされる。
【0061】
次に、このような汎用入出力ポート接続制御回路を設けたマイクロコントローラ(半導体装置)の構成について、
図4を用いて説明する。
【0062】
図4に示す本例のマクロコントローラ41は、汎用入出力ポート接続制御回路41a、CPU41b、及びメモリ41cを備え、CPU41bはメモリ41cに記憶されたプログラムに基づいてコンピュータ処理を実行する際、汎用入出力ポート接続制御回路41aを介して外部に接続されたIC42〜43との間でのデータの入出力を行なう。
【0063】
図4においては、汎用入出力ポートIO[2:1]がIC42のSCLとSDAに割り付けられ、汎用入出力ポートIO[6:5]がIC43のTXDとRXDに割り付けられ、残りの汎用入出力ポートIO[7],[4],[3],[0]が各々IC44のアドレス線ADR[3:0]として使用されている。
【0064】
以上、各図を用いて説明したように、本例の汎用入出力ポート接続制御回路は、複数の汎用入出力ポートと、各々が複数の汎用入出力ポートの各々に対応して設けられると共に、アドレス変数が設定される複数のアドレスレジスタと、各々が複数の汎用入出力ポートの各々に対応して設けられると共に、各々に特定機能が設定される複数の特定機能端子と、各々が複数の特定機能端子の各々に対応して設けられると共に、各々に選択信号が入力される複数の選択信号入力端子と、各々が特定機能端子に接続された第1の端子、第2の端子、及び汎用入出力ポートに接続された第3の端子を備えると共に、選択信号入力端子に接続され、選択信号が選択信号入力端子を介して入力された際に第1の端子と第3の端子とが接続され、選択信号が入力されない場合に第2の端子と第3の端子とが接続されるように切り替える複数の切替部であって、いずれか1つの切替部の第2の端子がアドレスレジスタの1つに直接接続された複数の切替部と、アドレスレジスタと該アドレスレジスタが直接接続されていない残りの切替部の第2の端子との間に接続され、複数の切替部の切り替えにより、接続対象のアドレスレジスタに対応する汎用入出力ポートが特定機能端子に接続されている場合に、特定機能端子が接続されていない汎用入出力ポートと接続されるように、アドレスレジスタと第2の端子との接続状態を制御する接続制御部と、を備えている。
【0065】
そして、汎用入出力ポート、アドレスレジスタ、特定機能端子、選択信号入力端子、及び切替部は、各々、第1〜第8の汎用入出力ポート、第1〜第8のアドレスレジスタ、第1〜第8の特定機能端子、第1〜第8の選択信号入力端子、及び第1〜第8の切替部からなり、第1〜第8のアドレスレジスタは、第1のアドレスレジスタから第8のアドレスレジスタの順に下位から上位のビットがアドレス変数として設定され、接続制御部は、対応する汎用入出力ポートが特定機能端子に接続されたアドレスレジスタの接続先を、上位のビットが設定されたアドレスレジスタの第2の端子側に切り替える。
【0066】
特に、接続制御部は、第4の端子と第5の端子のいずれかを第1〜第8の選択信号入力端子からの選択信号の出力の有無に基づいて第6の端子に選択的に接続するスイッチ部を、第1〜第8の切替部に各々並列に上位ビット側に設けてなり、第1の切替部に各々並列に上位ビット側に設けられた各スイッチ部は、第1の選択信号入力端子から選択信号が入力されない場合、第4の端子に接続された自アドレスレジスタを選択して第6の端子に接続し、選択信号が入力された場合、第5の端子に接続された下位ビット側のアドレスレジスタを選択して第6の端子に接続し、第2〜第8の切替部に各々並列に上位ビット側に設けられた各スイッチ部は、第2〜第nの選択信号入力端子から選択信号が入力されない場合、第4の端子に接続された前段のスイッチ部を選択して第6の端子に接続し、選択信号が入力された場合、第5の端子に接続された下位ビット側の前段のスイッチを選択して第6の端子に接続する。
【0067】
以上のように、本例においては、アドレス変数の下位ビットにまとめて格納された値をそのまま、アドレスレジスタに対して設定したとしても、特定機能と競合した場合には、上位ビット側に順次値をシフトさせることで競合を回避でき、自動的に空きIOポートにアドレス変数を割り付けることができる。そのため、ソフトウェアによるビットシフト演算に伴うオーバーヘッドを回避することができるため、半導体装置の性能を向上させることが可能となる。
【0068】
なお、本発明は、
図1〜
図4を用いて説明した例に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能である。例えば、本例では、8ビットに対応した汎用入出力ポート接続制御回路の構成で説明を行なっているが、16ビットに対応した汎用入出力ポート接続制御回路の構成としても良く、8ビット、16ビットに限るものではない。
【符号の説明】
【0069】
1 接続制御部
1a〜1g,2a〜2f,3a〜3e,4a〜4d,5a〜5c,6a〜6b,7a スイッチ回路
1g1 第4の端子
1g2 第5の端子
1g3 第6の端子
41 マイクロコントローラ(半導体装置)
41a 汎用入出力接続制御回路
41b CPU
41c メモリ
42〜44 IC
51 マイクロコントローラ
61a〜61h 切替部
61a1 第1の端子
61a2 第2の端子
61a3 第3の端子