説明

シリアルインターフェース装置、及びシリアルインターフェース方法

【課題】外部装置に接続された所定の入出力端子の信号レベルに基づいて、外部装置に対応したシリアルインターフェースを接続する。
【解決手段】外部装置と接続された入出力端子から得られる信号に基づいて、前記外部装置に対応したシリアルインターフェースを接続するシリアルインターフェース装置であって、前記入出力端子に接続された切り離し可能なプルダウン回路と、前記プルダウン回路の接続又は切り離しを制御するプルダウン制御手段と、前記プルダウン制御手段により前記プルダウン回路が接続されているとき、前記入出力端子の信号レベルを検出する信号レベル検出手段と、前記信号レベル検出手段の検出結果に応じて、前記外部装置に対応したシリアルインターフェースに切り替える切替手段とを有することにより上記課題を解決する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、シリアルインターフェース装置、及びシリアルインターフェース方法に関する。
【背景技術】
【0002】
従来では、半導体装置の入出力インターフェース端子に接続された外部装置の種類を検出する技術として、例えば共通となる複数の信号線のそれぞれの状態に応じて、接続された外部装置の種類を検知する技術が知られている。例えば、USB(Universal Serial Bus)インターフェースの場合には、異なる転送速度を有するUSBデバイスを検出するために、USBデバイスのポートにプルアップ抵抗を接続することがUSBの規格上、規定されている。
【0003】
ここで、図1は、従来におけるプルアップ抵抗が接続されたUSBデバイスのポートの一例を示す図である。なお、図1(A)は、フルスピード(Full Speed)でのケーブルと抵抗接続の一例を示し、図1(B)は、ロースピード(Low Speed)でのケーブルと抵抗接続の一例を示している。
【0004】
また、図1(A)の例では、ホストハブポート10Aと、ハブアップストリームポート/フルスピードファンクション11Aとがケーブル12Aを介して接続され、図1(B)の例では、ホストハブポート10Bとロースピードファンクション11Bとがケーブル12Bを介して接続されている。
【0005】
図1(A)に示すフルスピードのデバイスでは、D+信号線を抵抗R2(1.5kΩ)でプルアップし、図1(B)に示すロースピードデバイスでは、D−信号線を抵抗R2(1.5kΩ)でプルアップしている。したがって、ホストハブポート10A、10Bは、USBデバイスが接続されると、D+信号線とD−信号線のいずれがプルアップされているかを検出して、その結果に応じた速度でデータ転送を行う。このようにして、ホスト側に接続されたUSBデバイスのデータ転送速度に対応したデータ転送を行うことが行われている。
【0006】
また、上述したUSBの他、規格化されているインターフェースとして、SPI(Serial Peripheral Interface)やI2C(Inter Integrated Circuit)等の通信インターフェースが知られている。
【0007】
例えば半導体装置では、プロセッサやプロセッサを動作させる揮発性プログラムメモリを有し、電源投入時やリセット時に、予めプログラムを格納した装置外部のメモリから、装置内のプログラムメモリにプログラムをダウンロード(ブート)する。このような装置外部のメモリ(例えばROM(Read Only Memory)等の不揮発メモリ)には、上述したSPI準拠やI2C準拠のROMが使用される場合がある。
【0008】
上述したSPIやI2C準拠のROMには、例えば、MICROCHIP社等のEEPROM(Electrically Erasable Programmable Read−Only Memory)が提供され、パッケージには、PDIP(Plastic Dual Inline Package)(8pin)やSOIC(Small Outline Integrated Circuit)(8pin)が用意されている。
【0009】
ここで、SPIとI2Cでは、端子機能が異なり、電源やGND端子は決められた端子番号で規格化されている。なお、I2Cインターフェースでは、データ線やクロック線は接続配線中でプルアップが必要な規格であり、SPIインターフェースでは、このプルアップ(又はプルダウン)接続は規格として規定されていない。
【0010】
一般的なマイクロコンピュータデバイスの場合には、SPIやI2Cインターフェースに対し、いずれか1つ又は両方のインターフェースを備え、ブート機能は両方又はいずれか1つに限定されている場合がある。例えば、32bitRISCマイクロコンピュータのSH7262グループやSH7264グループ(Renesas社)では、SPI及びI2Cインターフェースを備えるが、ダウンロード(ブート)機能はSPIインターフェースで行い、I2Cインターフェースではこの機能は用意されていない。
【0011】
また、SPI及びI2Cインターフェースの両方にブート機能が用意されている場合でも、いずれか一方を使用して他方をブート以外の用途で使用しない場合には、無駄な端子となる場合がある。更に、SPI−EEPROM又はI2C−EEPROMのいずれかからブートさせるかのブートモードの設定は外部端子で設定されることとなる。
【0012】
ここで、図2は、従来における外部端子で設定されるブートモードの設定について説明するための図である。図2に示すように、半導体装置20は、制御装置21と、プログラムメモリ22と、プロセッサ23と、SPIインターフェース制御回路24と、I2Cインターフェース制御回路25とを有するように構成される。また、半導体装置20は、外部メモリとしてのSPI−EEPROM26と、外部メモリとしてのI2C−EEPROM27と、SPI/I2Cブートモード選択信号端子28とに接続される。
【0013】
制御装置21は、初期化時にSPI/I2Cブートモード選択信号端子28を介してSPI/I2Cブートモード選択信号によりSPI又はI2Cモードが設定され、SPIインターフェース制御回路24又はI2Cインターフェース制御回路25のいずれかを有効とする。制御装置21は、インターフェースを介して対象となる外部メモリ(SPI−EEPROM26又はI2C−EEPROM27)からプログラムコードデータの受信動作を行ない、プログラムメモリ22にダウンロードを行う。プロセッサ23は、ダウンロード完了後にプログラムメモリ22に格納されたプログラムにより起動する。
【0014】
上述したように、一方のインターフェースのみ使用する場合、他方は無駄な端子となってしまう。したがって、例えば異なるインターフェース機能を共通の入出力端子で選択して使用すれば未使用端子がなくなり、LSI(Large Scale Integration)中のPAD端子削減によるチップ面積縮小が可能となり、コストダウンを図ることが可能となる。また、未使用端子分を電源や接地端子GNDに割り当てることで、電源/接地端子GNDの強化を図ることが可能となり、半導体装置の特性向上を図ることが可能となる。
【0015】
上述した図1に示すUSBインターフェースでは、規格上、2本の信号線のいずれかの信号をプルアップすることが規定されているため、2本の信号線の電位状態から接続デバイスを検知する。
【0016】
しかしながら、図2に示すように、異なるインターフェース機能の外部装置(例えばSPIとI2Cデバイスのいずれか)に接続した場合、任意の電位にプルアップ又はプルダウンされていることが考えられ、図1に示すような手法を用いることができない。また、単に、同じインターフェース(共通端子)上での機能切り替えだけでは端子の削減にはならない。
【0017】
そこで、上述した図1に示すように、2本の信号線のプルアップを検知するのではなく、1本の信号線の電位を検知して、入出力制御、入出力端子機能の切り替えることが考えられる。
【0018】
例えば、SPI/I2C−EEPROMのPDIP上の5番端子は、SPIではSI(シリアルデータ入力)、I2CではSDA(シリアルデータ入出力)となり、制御側の装置とSI端子間において配線上の規定はないが、SDA端子間では配線上にプルアップが必要となる。ここで、例えばSPIのSI信号線、I2CのSDA信号線からSPI/I2Cデバイスのインターフェースを識別するためには、I2CのSDA信号線がプルアップされていることから、SPIの信号線はプルアップ以外の電位状態となっている必要となる。
【0019】
なお、従来では、例えば内蔵のプルアップ又はプルダウン抵抗で供給される電位とは逆の論理レベルの信号をコンフィギュレーションとして使うことが知られている(例えば、特許文献1参照)。図3は、従来におけるプルアップ又はプルダウンを備えた入出力端子用回路を示す図である。
【0020】
図3(A)及び図3(B)には、所定の入力端子からの入力をプルダウンする内蔵プルダウン抵抗やプルアップする内蔵プルアップ抵抗が示されている。図3に示す入出力端子用回路では、プルアップ又はプルダウンと反対の信号が入力された場合に、内蔵のプルアップ又はプルダウン回路の接続を切り離している。
【発明の概要】
【発明が解決しようとする課題】
【0021】
しかしながら、上述した特許文献1に示すような手法は、例えば内蔵のプルアップ又はプルダウン抵抗で供給される電位とは逆の論理レベルの信号をコンフィギュレーションとして使う場合に、内蔵のプルアップ又はプルダウンに対し反対の電位の信号が入力された時に発生する定常的なリーク電流発生を抑えるためのものである。
【0022】
すなわち、特許文献1に示すような手法は、外部装置に対応したシリアルインターフェースを接続するために、外部端子の信号レベルを検知して、その端子及び他の入出力端子を設定したり、入出力端子に接続される入出力制御回路を選択したりするものではない。
【0023】
本発明は、上記の課題に鑑みてなされたものであり、外部装置に接続された所定の入出力端子の信号レベルに基づいて、外部装置に対応したシリアルインターフェースを接続するシリアルインターフェース装置、及びシリアルインターフェース方法を提供することを目的とする。
【課題を解決するための手段】
【0024】
本発明は、上記目的を達成するために、外部装置と接続された入出力端子から得られる信号に基づいて、前記外部装置に対応したシリアルインターフェースを接続するシリアルインターフェース装置であって、前記入出力端子に接続された切り離し可能なプルダウン回路と、前記プルダウン回路の接続又は切り離しを制御するプルダウン制御手段と、前記プルダウン制御手段により前記プルダウン回路が接続されているとき、前記入出力端子の信号レベルを検出する信号レベル検出手段と、前記信号レベル検出手段の検出結果に応じて、前記外部装置に対応したシリアルインターフェースに切り替える切替手段とを有することを特徴とする。
【0025】
また、本発明は、外部装置と接続された入出力端子から得られる信号に基づいて、前記外部装置に対応したシリアルインターフェースを接続するシリアルインターフェース方法であって、前記入出力端子とプルダウン回路との接続又は切り離しを制御するプルダウン制御手順と、前記プルダウン制御手順により前記プルダウン回路が接続されているとき、前記入出力端子の信号レベルを検出する信号レベル検出手順と、前記信号レベル検出手順の検出結果に応じて、前記外部装置に対応したシリアルインターフェースに切り替える切替手順とを有することを特徴とする。
【発明の効果】
【0026】
本発明によれば、外部装置に接続された所定の入出力端子の信号レベルに基づいて、外部装置に対応したシリアルインターフェースを接続することを可能とする。
【図面の簡単な説明】
【0027】
【図1】従来におけるプルアップ抵抗が接続されたUSBデバイスのポートの一例を示す図である。
【図2】従来における外部端子で設定されるブートモードの設定について説明するための図である。
【図3】従来におけるプルアップ又はプルダウンを備えた入出力端子用回路を示す図である。
【図4】本実施形態に係るシリアルインターフェース装置の機能ブロック図である。
【図5】SPI−EEPROMが接続されたシリアルインターフェース装置の具体的な構成を示す図である。
【図6】I2C−EEPROMが接続されたシリアルインターフェース装置の具体的な構成を示す図である。
【発明を実施するための形態】
【0028】
以下、本発明の実施の形態について詳細に説明する。
【0029】
<シリアルインターフェース装置の機能ブロック>
図4は、本実施形態に係るシリアルインターフェース装置の機能ブロック図である。図4に示すシリアルインターフェース装置30は、外部装置に対応したシリアルインターフェースを接続する。なお、外部装置は、例えばSPI−EEPROM、I2C−EEPROM等である。
【0030】
シリアルインターフェース装置30は、例えば、制御装置31と、SPIインターフェース制御回路32と、I2Cインターフェース制御回路33と、選択器34と、入出力端子35〜38と、プルダウン回路39等を有するように構成される。
【0031】
制御装置31は、プルダウン制御手段40と、信号レベル検出手段41と、端子選択手段42と、SPI/I2C切替手段43とを有するように構成される。制御装置31は、SPIインターフェース制御回路32とI2Cインターフェース制御回路33とを切り替えるための制御を実行し、外部装置に対応したシリアルインターフェースを接続するように制御する。
【0032】
プルダウン制御手段40は、入出力端子38とプルダウン回路39に含まれる他端が接地されたプルダウン抵抗との接続又は切り離しを制御する。例えば、プルダウン制御手段40は、電源投入時又は初期化時に、入出力端子38とプルダウン回路39に含まれる他端が接地されたプルダウン抵抗とを接続するよう制御する。また、プルダウン制御手段40は、SPI/I2C切替手段43によりI2Cインターフェース制御回路33に切り替えた後、入出力端子38とプルダウン回路39に含まれる他端が接地されたプルダウン抵抗とを切り離すように制御する。
【0033】
信号レベル検出手段41は、電源投入時又は初期化時に、入出力端子38の信号レベルを検出し、SPI/I2C切替手段43及び端子選択手段42に検出結果を出力する。
【0034】
端子選択手段42は、信号レベル検出手段41から得られる信号レベルに基づき、選択器34を制御して、SPIインターフェース制御回路32又はI2Cインターフェース制御回路33と入出力端子35〜38とを接続させる。
【0035】
SPI/I2C切替手段43は、信号レベル検出手段41から得られる信号レベルに基づき、SPIインターフェース制御回路32とI2Cインターフェース制御回路33とを切り替える。これにより、SPI/I2C切替手段43は、SPIインターフェース制御回路32又はI2Cインターフェース制御回路33と入出力端子35〜38とを接続して、外部装置とのデータの入出力を可能とする。
【0036】
なお、上述した選択器34と、端子選択手段42と、SPI/I2C切替手段43とが本発明における切替手段に相当する。
【0037】
SPIインターフェース制御回路32は、/CS端子と、SO端子と、SCK端子と、SI端子とを有し、SPIに対応するインターフェースである。
【0038】
I2Cインターフェース制御回路33は、SCL端子と、SDA_o端子と、SDA_i端子とを有し、I2Cに対応するインターフェースである。
【0039】
選択器34は、端子選択手段42から得られた信号に基づき、入出力端子35〜38を選択する。これにより、SPIインターフェース制御回路32又はI2Cインターフェース制御回路33の各端子と入出力端子35〜38とが接続される。
【0040】
入出力端子35〜38は、SPIインターフェース制御回路32及びI2Cインターフェース制御回路33の各端子が共用される入出力端子である。
【0041】
入出力端子38は、プルダウン回路39によりプルダウン可能である。入出力端子38は、外部装置がSPIに対応するインターフェースの場合に、外部装置のSI端子と接続され、外部装置がI2Cに対応するインターフェースの場合に、外部装置のSDA端子と接続される。
【0042】
プルダウン回路39は、入出力端子38と接地端子との間に直列接続したスイッチング素子とプルダウン抵抗とを有する。プルダウン回路39は、電源投入時又は初期化時に、スイッチング素子がプルダウン制御手段40の制御信号によりオン状態となるよう制御される。
【0043】
なお、シリアルインターフェース装置30は、SPI/I2C切替手段43により、SPIインターフェース制御回路32又はI2Cインターフェース制御回路33を、例えば通信装置、携帯電話、半導体装置等と接続することで、これらの装置と外部装置とのデータの入出力を行うようにしても良い。
【0044】
<SPI−EEPROMが接続されたシリアルインターフェース装置の構成例>
図5は、SPI−EEPROMが接続されたシリアルインターフェース装置の具体的な構成を示す図である。図5の例では、上述したシリアルインターフェース装置30にプログラムメモリ44とプロセッサ45とが設けられている。
【0045】
図5に示すように、本実施形態に係るシリアルインターフェース装置30は、外部装置としてのSPI−EEPROM60に接続されている。なお、上述した図4に示す選択器34は、選択器46〜49と、ステートバッファ50〜52と、バッファ53〜54とを有するように構成される。
【0046】
SPI−EEPROM60は、/CS端子と、SO端子と、/WP端子と、VSS端子と、VCC端子と、/HOLD端子と、SCK端子と、SI端子とを有するように構成される。
【0047】
ここで、シリアルインターフェース装置30がSPI−EEPROM60と接続された場合には、入出力端子35は、/CS端子として機能する。また、入出力端子36は、SO端子として機能し、入出力端子37は、SCK端子として機能し、入出力端子38は、SI端子として機能する。
【0048】
次に、図5に示すシリアルインターフェース装置30の動作を説明する。電源投入時又は初期化時に、制御装置31のプルダウン制御手段40は、プルダウン回路39にプルダウン制御信号「1:On」を出力する。これにより、プルダウン回路39に含まれるスイッチング素子がオン状態となり、接地されたプルダウン抵抗が、入出力端子38と接続状態となり、入出力端子38を中間電位とする。
【0049】
また、電源投入時又は初期化時に、制御装置31の端子選択手段42は、選択器34にSPI_I2C検査信号として「1」を出力する。なお、SPI_I2C検査信号は、選択器34の選択信号となる。
【0050】
この選択器34に出力されたSPI_I2C検査信号(端子選択手段42の出力)「1」を受けて、選択器46は「0」を選択し、選択器47は「SCL」を選択し、選択器48は「SDA_o」を選択し、選択器49は「SDA_o」を選択する。なお、通信前のSCL信号、SDA_o信号は、Hiレベル、すなわち「1」の値を有するので、上述した信号を受けて、ステートバッファ50〜52の出力は、「Hi−Z」、「Hi−Z」、「Hi−Z」の状態となる。
【0051】
図5に示すノード(1)配線は、外部装置と接続される。また、入出力端子38は、外部装置のシリアルインターフェースの種類を検知する端子として用いられる。図5の例では、ノード(1)配線は、入出力端子38とSPI−EEPROM60のSI端子とを接続している。
【0052】
上述したように、SPIインターフェース規格では、SI端子に対し、プルアップやプルダウン化の規定がない。したがって、ノード(1)配線は、プルアップやプルダウンが行われていない。一方、図5の例では、入出力端子38は、電源投入時又は初期化時に、プルダウン回路39によりプルダウンされている。
【0053】
したがって、入出力端子38の電位状態は、時間の経過と共に、中間電位からプルダウン回路39を介してGNDレベルに下がり始める。これによって、入出力端子38と接続された入力側のバッファ54は、「Hi−Z」から「0」が入力された状態となる。また、バッファ54から出力される値は、不定値「X」から「0」となる。
【0054】
バッファ54から出力される信号線(SPI_I2C検知)は、制御装置31に接続されている。バッファ54から出力される信号(SPI_I2C検知信号)は、制御装置31の信号レベル検出手段41によりレベルが検出される。
【0055】
この場合、信号レベル検出手段41は、SPI_I2C検知信号「0」を取得する。これにより、端子選択手段42とSPI/I2C切替手段43とは、外部装置としてSPI−EEPROMが接続されていると判断する。
【0056】
なお、端子選択手段42は、SPIインターフェース制御回路32を選択する場合には、選択器34に出力する選択信号を「0」とし、I2Cインターフェース制御回路33を選択する場合には、選択信号を「1」とするよう予め設定しているものとする。
【0057】
したがって、端子選択手段42は、信号レベル検出手段41から得た検知結果「0」に基づき、電源投入時又は初期化時に出力したSPI_I2C検査信号(端子選択手段42の出力)「1」を「0」に変更し、選択器34に出力する。
【0058】
選択器34に出力された選択信号「0」を受けて、選択器46は「SCK」を選択し、選択器47は「0」を選択し、選択器48は「SI」を選択し、選択器49は「0」を選択する。また、上述した信号を受けて、ステートバッファ50〜52は、「/CS」、「SCK」、「SI」を出力する。
【0059】
これにより、インターフェース装置30の入出力端子35〜38は、SPIインターフェース制御回路32から通信を行う準備が完了する。
【0060】
なお、制御装置31は、例えば未使用となるI2Cインターフェース制御回路33の動作を抑制する手段を設けることで、不要な消費電流発生を抑えることが可能となる。ここでは、例えば制御装置31からI2Cインターフェース制御回路33への信号を固定する(信号変化させない)ようにすることができる。
【0061】
また、上述した入出力端子35〜38においてSPIインターフェース制御回路32からの通信を行う準備が完了したため、SPI/I2C切替手段43は、SPIインターフェース制御回路32に切り替えを行う。
【0062】
制御装置31は、シーケンシャル動作開始により、SPIインターフェース制御回路32を動作させ、SPI−EEPROM60からのプログラムコードデータ(例えば、ブートプログラムのデータ)の受信動作を行ない、制御装置31を介してプログラムメモリ44にダウンロードを行う。プロセッサ45は、ダウンロード完了後、起動して、プログラムメモリ44に格納されたプログラムにより動作する。
【0063】
<I2C−EEPROMが接続されたシリアルインターフェース装置の構成例>
図6は、I2C−EEPROMが接続されたシリアルインターフェース装置の具体的な構成を示す図である。図6に示すシリアルインターフェース装置30は、図5に示すシリアルインターフェース装置30と同一の構成を有するため、同じ符号を用いてシリアルインターフェース装置30に関する説明を省略する。
【0064】
なお、図6の例は、図5の例と比較して、シリアルインターフェース装置30が、外部装置としてのI2C−EEPROM61と接続されている点で異なる。
【0065】
I2C−EEPROM61は、A0端子と、A1端子と、A2端子と、VSS端子と、VCC端子と、WP端子と、SCL端子と、SDA端子とを有するように構成される。
【0066】
ここで、シリアルインターフェース装置30がI2C−EEPROMと接続された場合には、入出力端子35及び入出力端子36は未使用端子となり、入出力端子37は、SCL端子として機能し、入出力端子38は、SDA端子として機能する。
【0067】
次に、図6に示すシリアルインターフェース装置30の動作を説明する。図5の例と同様に、電源投入時又は初期化時に、プルダウン制御手段40は、プルダウン回路39にプルダウン制御信号「1:0」を出力し、接地されたプルダウン抵抗は、入出力端子38と接続状態となる。
【0068】
また、電源投入時又は初期化時に、制御装置31の端子選択手段42は、図5と同様に、選択器34にSPI_I2C検査信号「1」を出力する。選択器34に出力されたSPI_I2C検査信号(端子選択手段42の出力)「1」を受けて、選択器46〜49は、「0」、「SCL」、「SDA_o」、「SDA_o」をそれぞれ選択する。また、ステートバッファ50〜52の出力は、「Hi−Z」、「Hi−Z」、「Hi−Z」の状態となる。
【0069】
図6に示すノード(1)配線は、外部装置と接続される。また、入出力端子38は、外部装置のシリアルインターフェースの種類を検知する端子として用いられる。図6の例では、ノード(1)配線は、入出力端子38とI2C−EEPROM61のSDA端子とを接続している。
【0070】
上述したように、I2Cインターフェース規格では、SDA端子に対し、プルアップ化の規定がある。したがって、ノード(1)配線は、プルアップされ、ノード(1)配線の電位状態は、プルアップ状態となる。
【0071】
このため、入出力端子38の電位状態は、プルダウン回路39での電荷の引き抜きに負けない高い電位を保持する。これにより、入出力端子38と接続された入力側のバッファ54は、Hiレベルである「1」が入力された状態となり、バッファ54から出力される値は「1」となる。
【0072】
バッファ54から出力される信号(SPI_I2C検知信号)は、制御装置31の信号レベル検出手段41によりレベルが検出される。
【0073】
この場合、信号レベル検出手段41は、SPI_I2C検知信号「1」を取得する。これにより、端子選択手段42とSPI/I2C切替手段43とは、外部装置としてI2C−EEPROMが接続されていると判断する。
【0074】
端子選択手段42は、信号レベル検出手段41から得た検知結果「1」に基づき、電源投入時又は初期化時に出力したSPI_I2C検査信号(端子選択手段42の出力)を「1」のままとする。
【0075】
選択器34に出力された選択信号「1」を受けて、選択器46〜49はそれぞれ「0」、「SCL」、「SDA_o」、「SDA_o」を選択する。また、上述した信号を受けて、ステートバッファ50〜52の出力は、「Hi−Z」、「Hi−Z」、「Hi−Z」の状態となる。
【0076】
これにより、インターフェース装置30の入出力端子37、38は、I2Cインターフェース制御回路33から通信を行う準備を完了する。ここで、プルダウン制御手段40は、プルダウン回路39にプルダウン制御信号(遮断信号:OFF信号)を出力することで、I2C規格として接続されているプルアップからプルダウンへのリーク電流を抑えることが可能となる。
【0077】
また、制御装置31は、例えば未使用となるSPIインターフェース制御回路32の動作を抑制する手段を設けることで、不要な消費電流発生を抑えることが可能となる。
【0078】
また、上述した入出力端子37と、入出力端子38においてI2Cインターフェース制御回路から通信を行う準備が完了したため、SPI/I2C切替手段43は、I2Cインターフェース制御回路33に切り替えを行う。
【0079】
制御装置31は、シーケンシャル動作開始により、I2Cインターフェース制御回路33を動作させ、I2C−EEPROM61からのプログラムコードデータの受信動作を行ない、制御装置31を介して装置内のプログラムメモリ44にダウンロードを行う。プロセッサ45は、ダウンロード完了後、起動して、プログラムメモリ44に格納されたプログラムにより動作する。
【0080】
上述したように、外部装置と接続される所定の入出力端子の信号レベルにより、プルアップ又はプルダウンされていない中間電位状態の信号をlowレベルとして検知することが可能となる。したがって、所定の入出力端子の信号レベルにより、中間電位(又はプルダウン入力)状態とプルアップ状態の2通りの検知が可能となる。
【0081】
例えば、SPI端子のSI信号(プルダウンなし又はプルダウンあり)とI2C端子のSDA信号(プルアップ)を検知信号とした場合、Lowレベルの検知によりSPIが接続されたと判断し、Hiレベルの検知によりI2Cが接続されていると判断することが可能となる。なお、Hiレベルを検知した場合に、プルダウン回路を非接続とする手段を用いることで定常的なリーク電流の発生を抑えることが可能となる。
【0082】
また、上述した信号レベルの検知結果から、SPIとI2Cの共用入出力端子をSPI用又はI2C用に切り替えることにより、複数のインターフェース制御回路の1つを選択し、1組のインターフェース用端子を用いて、外部装置との通信を行うことが可能となる。したがって、インターフェース用入出力端子の削減が可能となる。
【0083】
また、例えばLSI中でのPAD端子の削減によるチップ面積の縮小が可能となり、コストダウンを図ることが可能となる。また、未使用端子分を電源やGNDに割り当てることで、電源/GNDの強化となり、シリアルインターフェース装置を有する半導体装置の特性の向上を図ることが可能となる。
【0084】
また、初期化時のブート動作に対して、外部メモリの種類を自動で検知し、その検知結果に応じて、半導体装置内に備えられた複数のインターフェース制御回路から1つを選択し、1組のインターフェース用入出力端子の設定を行なうことが可能となる。
【0085】
これにより、シリアルインターフェース装置を有する半導体装置内のプログラムメモリへのブート動作が可能となるため、例えばSPI−EEPROMからのブートか、I2C−EEPROMからのブートかを設定するためのブートモード設定端子を新たに設ける必要がなくなる。また、自動でブートモードの設定が可能となるため、端子の増加を防ぐことが可能となり、LSI中のPAD端子の削減によるチップ面積の縮小が可能となり、コストダウンを図ることが可能となる。
【0086】
上述したように、本発明の実施形態によれば、外部装置に接続された所定の入出力端子の信号レベルに基づいて、外部装置に対応したシリアルインターフェースを接続することを可能とする。
【0087】
以上、本発明の好ましい実施例について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形、変更が可能である。
【符号の説明】
【0088】
10 ホストハブポート
11A フルスピードファンクション
11B ロースピードファンクション
12 ケーブル
20 半導体装置
21,31 制御装置
22,44 プログラムメモリ
23,45 プロセッサ
24,32 SPIインターフェース制御回路
25,33 I2Cインターフェース制御回路
26 SPI−EEPROM
27 I2C−EEPROM
28 SPI/I2Cブートモード選択信号端子
30 シリアルインターフェース装置
34,46〜49 選択器
35〜38 入出力端子
39 プルダウン回路
40 プルダウン制御手段
41 信号レベル検出手段
42 端子選択手段
43 SPI/I2C切替手段
50〜52 ステートバッファ
53〜54 バッファ
60 SPI−EEPROM
61 I2C−EEPROM
【先行技術文献】
【特許文献】
【0089】
【特許文献1】特開2004−72231号公報

【特許請求の範囲】
【請求項1】
外部装置と接続された入出力端子から得られる信号に基づいて、前記外部装置に対応したシリアルインターフェースを接続するシリアルインターフェース装置であって、
前記入出力端子に接続された切り離し可能なプルダウン回路と、
前記プルダウン回路の接続又は切り離しを制御するプルダウン制御手段と、
前記プルダウン制御手段により前記プルダウン回路が接続されているとき、前記入出力端子の信号レベルを検出する信号レベル検出手段と、
前記信号レベル検出手段の検出結果に応じて、前記外部装置に対応したシリアルインターフェースに切り替える切替手段とを有することを特徴とするシリアルインターフェース装置。
【請求項2】
前記シリアルインターフェースは、
SPI又はI2Cに対応するシリアルインターフェースであり、
前記入出力端子は、
前記外部装置が、前記SPIに対応するシリアルインターフェースの場合に、前記外部装置のSI端子と接続され、前記I2Cに対応するシリアルインターフェースの場合に、前記外部装置のSDA端子と接続されることを特徴とする請求項1に記載のシリアルインターフェース装置。
【請求項3】
前記プルダウン制御手段は、
前記切替手段により、前記外部装置に対応した前記I2Cシリアルインターフェースに切り替えた後、前記入出力端子から前記プルダウン回路を切り離すことを特徴する請求項2に記載のシリアルインターフェース装置。
【請求項4】
前記切替手段により、前記外部装置に対応したシリアルインターフェースに切り替えた場合、前記外部装置に対応していないシリアルインターフェースを抑制することを特徴とする請求項1乃至3のいずれか一項に記載のシリアルインターフェース装置。
【請求項5】
前記プルダウン回路は、
前記入出力端子と接地端子との間に直列接続されたスイッチング素子とプルダウン抵抗とを有し、
電源投入時又は初期化時に、前記プルダウン制御手段の制御信号により前記スイッチング素子がオン状態となることを特徴とする請求項1乃至4のいずれか一項に記載のシリアルインターフェース装置。
【請求項6】
外部装置と接続された入出力端子から得られる信号に基づいて、前記外部装置に対応したシリアルインターフェースを接続するシリアルインターフェース方法であって、
前記入出力端子に接続されたプルダウン回路の接続又は切り離しを制御するプルダウン制御手順と、
前記プルダウン制御手順により前記プルダウン回路が接続されているとき、前記入出力端子の信号レベルを検出する信号レベル検出手順と、
前記信号レベル検出手順の検出結果に応じて、前記外部装置に対応したシリアルインターフェースに切り替える切替手順とを有することを特徴とするシリアルインターフェース方法。
【請求項7】
前記シリアルインターフェースは、
SPI又はI2Cに対応するシリアルインターフェースであり、
前記入出力端子は、
前記外部装置が、前記SPIに対応するシリアルインターフェースの場合に、前記外部装置のSI端子と接続され、前記I2Cに対応するシリアルインターフェースの場合に、前記外部装置のSDA端子と接続されることを特徴とする請求項6に記載のシリアルインターフェース方法。
【請求項8】
前記プルダウン制御手順は、
前記切替手順により、前記外部装置に対応した前記I2Cシリアルインターフェースに切り替えた後、前記入出力端子から前記プルダウン回路を切り離すことを特徴する請求項7に記載のシリアルインターフェース方法。
【請求項9】
前記切替手順により、前記外部装置に対応したシリアルインターフェースに切り替えた場合、前記外部装置に対応していないシリアルインターフェースを抑制することを特徴とする請求項6乃至8のいずれか一項に記載のシリアルインターフェース方法。
【請求項10】
前記プルダウン回路は、
前記入出力端子と接地端子との間に直列接続されたスイッチング素子とプルダウン抵抗とを有し、
電源投入時又は初期化時に、前記プルダウン制御手順の制御信号により前記スイッチング素子がオン状態となることを特徴とする請求項6乃至9のいずれか一項に記載のシリアルインターフェース方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate