JP2017091048A - 中継装置、中継方法および中継制御プログラム - Google Patents

中継装置、中継方法および中継制御プログラム Download PDF

Info

Publication number
JP2017091048A
JP2017091048A JP2015217566A JP2015217566A JP2017091048A JP 2017091048 A JP2017091048 A JP 2017091048A JP 2015217566 A JP2015217566 A JP 2015217566A JP 2015217566 A JP2015217566 A JP 2015217566A JP 2017091048 A JP2017091048 A JP 2017091048A
Authority
JP
Japan
Prior art keywords
bus
connection control
relay
control circuit
circuit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2015217566A
Other languages
English (en)
Inventor
博幹 植栗
Hiromiki Uekuri
博幹 植栗
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2015217566A priority Critical patent/JP2017091048A/ja
Priority to US15/333,680 priority patent/US20170132165A1/en
Publication of JP2017091048A publication Critical patent/JP2017091048A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/364Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/404Coupling between buses using bus bridges with address mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Bus Control (AREA)
  • Debugging And Monitoring (AREA)
  • Information Transfer Systems (AREA)

Abstract

【課題】デバイスへの確実なアクセスを実現する。
【解決手段】接続制御部308が第1のバスと第2のバスとを接続する前に、第2のバスに対して、バスアクセス開始通知を発行する通知発行部307を備える
【選択図】図2

Description

本発明は、中継装置、中継方法および中継制御プログラムに関する。
例えばI2C(Inter-Integrated Circuit)インタフェースに類する2線式シリアルバスにおいては、バスコントローラ(マスタ)から、バスに接続されているスレーブデバイスにアクセスする際に、スレーブデバイスに付与されたスレーブアドレスをバス上に送信する。
スレーブアドレスは、スレーブデバイス毎に割り振られた固有のアドレスである。スレーブアドレスが7bitで指定される場合では、部品によってはスレーブアドレス7bitの内の少なくとも一部のbit(例えば下位3bit)が任意に変更可能である。
7bitのスレーブアドレスの内の下位3bitを変更する場合には、例えば、デバイス・ピンの内の3ピンを、スレーブアドレスの下位3bitに対応させ、これらの各ピンに外付け抵抗を用いたプルアップまたはプルダウンを行なうことで、各bitに“1”または“0”を設定する。
I2Cインタフェースに類する2線式シリアルバスにおいては、同じスレーブアドレスを持つデバイスが接続されることによってスレーブアドレスが重複すると、これらの同じスレーブアドレスを持つ複数のデバイスが同時に応答する。これにより、正常にスレーブデバイスに対してリードおよびライトを行なうことが出来ない。従って、バス内において、スレーブアドレスが重複することは許されない。
そこで、システム内において、複数の同じデバイスを使用する必要がある場合において、デバイスが、スレーブアドレスの例えば下位3bitを変更可能である場合は、各デバイスのスレーブアドレスの下位3bitの値を重複しないように変更する。これにより、同一バス上に8(=2)個までは同じデバイスを接続することが可能となる。
これに対して、デバイスアドレスが固定であり変更不可のデバイスを複数使用する場合、または、下位3bitの変更が可能なデバイスを9個以上使用する場合は、バスマルチプレクサを用いることが行なわれている。
図7は従来のバスシステムを例示する図である。
この図7に示すバスシステム500は、I2Cバスシステムであって、バスマルチプレクサ503を備え、このバスマルチプレクサ503に、2つのシリアルバス510a,510bが接続されている。より具体的には、バスマルチプレクサ503は、2つのチャネル(ch)1,2を備え、ch1にシリアルバス510aが、ch2にシリアルバス510bが、それぞれ接続されている。
シリアルバス510a,510bは、それぞれクロック信号SCLを伝送する信号線504と、データ信号SDAを伝送する信号線505とを備える。
なお、以下、シリアルバスを示す符号としては、複数のシリアルバスのうち1つを特定する必要があるときには符号510a,510bを用いるが、任意のシリアルバスを指すときには符号510を用いる。
また、バスマルチプレクサ503には2つのバスコントローラ501a,501bが接続されている。バスコントローラ501a,501bは、それぞれバスマルチプレクサ503を介してスレーブデバイス502にアクセスして処理を行なわせる。
なお、以下、バスコントローラを示す符号としては、複数のバスコントローラのうち1つを特定する必要があるときには符号501a,501bを用いるが、任意のバスコントローラを指すときには符号501を用いる。また、以下、バスコントローラをバスマスタという場合がある。
図7に示すバスシステム500は、複数のバスマスタ501を備えるマルチマスタ構成を有する。
シリアルバス510aには符号1A,1B,1C,1Dで表されるスレーブデバイス502が、シリアルバス510bには符号2A,2B,2C,2Dで表されるスレーブデバイス502がそれぞれ接続されている。
この図7に示すバスシステム500において、バスマルチプレクサ503は、バスをツリー構造として2つのシリアルバス510a,510bに分割している。バスコントローラ501a,501bは、バスマルチプレクサ503のチャネルを選択してバスを切り替えることで、任意のスレーブデバイス1A,1B,1C,1D,2A,2B,2C,2Dにアクセスし、これにより同一のスレーブデバイスの複数使用を可能としている。
さて、この図7に示すような、バスマルチプレクサ503を備えたマルチマスタ構成の従来のバスシステム500において、一のバスコントローラ501が例えばスレーブデバイス1Aにアクセスするには、以下の手順で行なう。
すなわち、バスコントローラ501は、1回目のバス獲得によるアクセスでバスマルチプレクサ503にアクセスし、ch1を選択して切り替えた後、2回目のバス獲得によるアクセスで対象のスレーブデバイス1Aにアクセスする。
特開2006−268267号公報 特開2002−215566号公報 特開平11−96090号公報
従来のマルチマスタのバスシステム500において、例えば、一のバスコントローラ501(例えばバスコントローラ501a)がスレーブデバイス1Aにアクセスするために1回目のアクセスでバスマルチプレクサ503のch1を選択して切り替えたとする。その後、バスコントローラ501aが2回目のアクセスでスレーブデバイス1Aにアクセスする前に、他のバスコントローラ501bがバスを獲得し、スレーブデバイス2Aにアクセスするために、バスマルチプレクサ503にアクセスしてch2を選択し切り替えてしまう場合がある。
この場合、バスコントローラ501aはバスマルチプレクサ503をch1に切替えたつもりでいても、実際にはバスコントローラ501bによりバスマルチプレクサ503はch2に切替えられている。従って、バスコントローラ501aがスレーブデバイス1Aにアクセスしようとしてもスレーブデバイス1Aにはアクセス出来ない。
また、1つのバスコントローラを備えるシングルマスタ構成のバスシステムにおいても、ファームウェアがマルチタスクで動いている場合、一のタスクがスレーブデバイス1Aにアクセスし、他のタスクがスレーブデバイス2Aにアクセスする場合に、同様の現象が起こり得る。
従って、従来のバスシステム500においては、他のバスコントローラやタスクの処理によりバスマルチプレクサ503のチャネルが切り替えられることを防止するための排他処理が必要とされる。
1つの側面では、本発明は、デバイスへの確実なアクセスを実現できるようにすることを目的とする。
このため、この中継装置は、バスコントローラに接続される第1のバスとデバイスに接続される第2のバスとを中継する中継装置であって、前記第1のバスと前記第2のバスとの接続および切断を制御する接続制御部と、前記接続制御部が前記第1のバスと前記第2のバスとを接続する前に、前記第2のバスに対して、バスアクセス開始通知を発行する通知発行部とを備える。
一実施形態によれば、デバイスへの確実なアクセスを実現できる。
実施形態の一例としてのバスシステムの構成を例示する図である。 実施形態の一例としてのバスシステムのバス接続制御回路の機能構成を示すブロック図である。 (a)〜(d)は実施形態の一例としてのバスシステムにおけるクロック信号とデータ信号とを例示するタイミングチャートである。 実施形態の一例としてのバスシステムの接続構成例を示す図である。 実施形態の一例としてのバスシステムの他の接続構成例を示す図である。 実施形態の一例としてのバスシステムのバス接続制御回路による処理を説明するためのフローチャートである。 従来のバスシステムを例示する図である。
以下、図面を参照して本中継装置、中継方法および中継制御プログラムに係る実施の形態を説明する。ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。又、各図は、図中に示す構成要素のみを備えるという趣旨ではなく、他の機能等を含むことができる。
(A)構成
図1は実施形態の一例としてのバスシステム1の構成を例示する図である。
バスシステム1は、図1に示すように、シリアルバス40aとシリアルバス40bとを備える。シリアルバス40a,40bは、それぞれクロック信号線41とデータ信号線42とを備える2線式のバスシステムである。以下、本バスシステム1がI2Cバスである例について示す。
クロック信号線41はプルアップ抵抗43により、また、データ信号線42はプルアップ抵抗44により、それぞれH(High)レベルに引き上げられ(プルアップされ)ている。クロック信号線41はクロック信号SCLを伝送し、データ信号線42はデータ信号SDAを伝送する。
シリアルバス40aの一端側(図1中の左側)にはバスコントローラ10a,10bが接続されている。
バスコントローラ10a,10bは、本バスシステム1に接続されたスレーブデバイス20(後述)にアクセスして各種処理を行なわせる制御装置である。
以下、バスコントローラを示す符号としては、複数のバスコントローラのうち1つを特定する必要があるときには符号10a,10bを用いるが、任意のバスコントローラを指すときには符号10を用いる。また、バスコントローラをバスマスタまたはマスタという場合がある。
バスコントローラ10は、バス接続制御回路30を介してシリアルバス40bに接続されたスレーブデバイス20にアクセスする場合に、第1送信データ,第2送信データおよび第3送信データを送信する。
第1送信データは、後述するバス接続制御回路30に設定されたスレーブアドレスとライトを指定することを示すコマンド(+Write)とを備える。
第2送信データは、バスコントローラ10がアクセスするスレーブデバイス20のスレーブアドレスと、リードを行なうことを示すコマンド(+Read)またはライトを行なうことを示すコマンド(+Write)とを備える。なお、リードを行なうことを示すコマンドまたはライトを行なうことを示すコマンドを、+R/Wと表す場合がある。
第3送信データは、アクセスするスレーブデバイス20に対して送信されるデータ(処理対象データ)である。
また、バスコントローラ10は、シリアルバス40aに接続されたスレーブデバイス20にアクセスする場合に、第2送信データおよび第3送信データを送信する。
シリアルバス40aにおける他端側(図1中の右側)には、複数(図1に示す例では4つ)のスレーブデバイス20が接続されている。以下、シリアルバス40aにおいて、バスコントローラ10a,10bが接続されている側を上流側といい、スレーブデバイス20が接続されている側を下流側という。また、以下、シリアルバス40aに接続されたこれらのスレーブデバイス20を符号1A,1B,1C,1Dで表す場合がある。
シリアルバス40aにおける、複数のスレーブデバイス20よりも上流側位置には、このシリアルバス40aから分岐するようにシリアルバス40bが接続されている。このシリアルバス40bにおいても、シリアルバス40aに接続された側とは反対側に、複数(図1に示す例では4つ)のスレーブデバイス20が接続されている。シリアルバス40bにおいて、バスコントローラ10aと接続されている側を上流側といい、スレーブデバイス20が接続されている側を下流側という。以下、シリアルバス40bに接続されたスレーブデバイス20を符号2A,2B,2C,2Dで表す場合がある。
スレーブデバイス20は、例えば不揮発性メモリやLED(Light Emitting Diode),各種センサ,ログ格納EEPROM(Electrically Erasable Programmable Read-Only Memory)等であり、バスコントローラ10a,10bによる制御に従って各種機能を実現する。
また、シリアルバス40bにおいて、スレーブデバイス20よりも上流側には、バス接続制御回路30が配置されている。
バス接続制御回路30は、シリアルバス40bにおいて、当該バス接続制御回路30よりも上流側の部分と下流側の部分との接続を制御する。
これにより、シリアルバス40bにおいて、スレーブデバイス2A,2B,2C,2Dは、バス接続制御回路30を介してバスコントローラ10a,10bと接続されている。
以下、シリアルバス40bにおいて、バス接続制御回路30の上流側(第1のバス)を前段といい、また、バス接続制御回路30の下流側(第2のバス)を後段という場合がある。バス接続制御回路30は、シリアルバス40bにおける当該バス接続制御回路30の前段と後段との接続を制御するものである。このバス接続制御回路30は、シリアルバス40bにおける当該バス接続制御回路30の前段である第1のバスと後段である第2のバスとを中継する中継装置として機能する。
バス接続制御回路30には、クロック発振器31から発振されるクロック信号が入力され、バス接続制御回路30はこのクロック信号に同期して動作する。
図2は実施形態の一例としてのバスシステム1のバス接続制御回路30の機能構成を示すブロック図である。
また、図3(a)〜(d)は本バスシステム1におけるクロック信号SCLとデータ信号SDAとを例示するシーケンス図である。図3(a)はバス接続制御回路30の前段におけるクロック信号SCLを、図3(b)はバス接続制御回路30の前段におけるデータ信号SDAを、それぞれ示す。また、図3(c)はバス接続制御回路30の後段におけるクロック信号SCLを、図3(d)はバス接続制御回路30の後段におけるデータ信号SDAを、それぞれ示す。
バス接続制御回路30は、図2に示すように、アドレス入力回路301,BFT(Bus Free Time)検出回路302,スタートコンディション検出回路303,スレーブアドレス比較回路304,データ信号High検出回路305,応答回路306,スタートコンディション発生回路307,バス接続ON/OFF回路308,ストップコンディション検出回路309およびスイッチ(S/W)310,311を備える。
バス接続制御回路30には、予め当該バス接続制御回路30が使用するアドレス(スレーブアドレス)が設定される。このスレーブアドレスは、本バスシステム1における他のスレーブデバイス20等と重複することがないユニークな値として設定される。
バス接続制御回路30は、例えば、bit0〜bit6の7ビットの外部入力ピンを備え、これらの各外部入力ピンを2値(0/1)で表したスレーブアドレスに対応させて、それぞれプルアップまたはプルダウンすることによりスレーブアドレスが設定される。
例えば、スレーブアドレスとして“55(16進数)”が設定される場合には、この“55”を2進数で表した7ビットの値“1010101”がスレーブアドレス設定入力値としてbit0〜bit6に設定される。
なお、この外部入力ピンによるスレーブアドレスの設定は、バスコントローラ10等が行なってもよく、また、オペレータやサービスエンジニア等が行なってもよく、種々変形して実施することができる。
アドレス入力回路301は、当該バス接続制御回路30の電源投入時に、外部入力ピンによって設定されたスレーブアドレスの値(スレーブアドレス設定入力値)を取り込む。
BFT検出回路302は、クロック信号線41およびデータ信号線42の各電圧レベルを監視する。BFT検出回路302は、クロック信号線41およびデータ信号線42の両方の電圧レベルが一定時間(Tbuf:Bus free time between STOP and START conditions)、Hレベル状態であることを検出(BFT検出)することで、バスアクセスとバスアクセスとの合間であることを検出する。
スタートコンディション検出回路303は、I2Cバスのスタートコンディションを検出する。I2Cバスのスタートコンディション(START CONDITION)は、I2Cバスアクセスの開始を表す。
スタートコンディション検出回路303は、クロック信号SCLがHレベルの状態時に、データ信号SDAがHレベルからLレベルに落ちる状態(図3(a),(b)の符号P1参照)を検知すると、I2Cバスのスタートコンディションとして検出する。
スタートコンディション検出回路303は、BFT検出回路302がバスアクセスとバスアクセスとの合間であることを検出すると、スタートコンディションの発生を検出することで、バスコントローラ10によるI2Cバスアクセスの開始を検知する。このスタートコンディションは、バスコントローラ10から出力されると言える。
ストップコンディション検出回路309は、I2Cバスのストップコンディションを検出する。I2Cバスのストップコンディション(STOP CONDITION)は、I2Cバスアクセスの終了を表す。
ストップコンディション検出回路309は、クロック信号SCLがHレベルの状態時に、データ信号SDAがLレベルからHレベルに上がる状態(図3(c),(d)の符号P2参照)をストップコンディションとして検出する。このストップコンディションは、バスコントローラ10から出力されるといえる。
バスコントローラ10からスレーブデバイス20へのアクセスが終わり、バスコントローラ10の制御によりストップコンディションが発生すると、ストップコンディション検出回路309は、このストップコンディションを検出する。
スレーブアドレス比較回路304は、クロック信号SCLおよびデータ信号SDAを監視し、バスコントローラ10から送信される第1送信データに含まれるスレーブアドレスとスレーブアドレス設定入力により設定されたアドレスとを比較し、これらのアドレスが同じであるかを判断する。すなわち、スレーブアドレス比較回路304は、第1送信データに含まれるアドレスと、バス接続制御回路30に設定されたアドレスとを比較する比較部として機能する。
このスレーブアドレス比較回路304は、スタートコンディション検出回路303がスタートコンディションを検出した後に、第1送信データのスレーブアドレスと、スレーブアドレス設定入力により設定されたアドレスとの比較を行なう。
データ信号High検出回路305は、バス接続制御回路30の後段のデータ信号SDAがHレベルになっているかを検知する。
このデータ信号High検出回路305は、スレーブアドレス比較回路304が第1送信データのスレーブアドレスとスレーブアドレス設定入力により設定されたアドレスとが一致したと判断した場合に、データ信号SDAがHレベルであるかを判断する。すなわち、データ信号High検出回路305は、第2のバスにおけるデータ信号レベルを確認する確認部として機能する。
応答回路306は、データ信号High検出回路305がバス接続制御回路30の後段のデータ信号SDAがLレベルであると判断した場合に、バスコントローラ10に対してNACK信号(否定応答通知)を出力(応答)する。
すなわち、応答回路306は、バス接続制御回路30の後段のシリアルバス40のデータ信号線42におけるデータ信号レベルがLowレベルである場合に、前段のシリアルバス(第1のバス)40に対して否定応答通知を発行する応答処理部として機能する。
バスコントローラ10は、応答回路306からNACK信号を受信した場合に、バス接続制御回路30の後段のスレーブデバイス20へのアクセスを終了する。これにより、バスコントローラ10がLレベルに落ちたシリアルバス40に接続されることを阻止することができ、バスコントローラ10からスレーブデバイス20を制御ができなくなることを防止することができる。
また、応答回路306は、データ信号High検出回路305がバス接続制御回路30の後段のデータ信号SDAがHレベルであると判断した場合に、バスコントローラ10に対してACK信号を出力(応答)する。
スタートコンディション発生回路307は、バス接続制御回路30の後段のスレーブデバイス20側にスタートコンディションを発生させる。このスタートコンディション検出回路303は、以下の条件(1)〜(3)が満たされた場合に、後述するバス接続ON/OFF回路308がバス接続制御回路30の前段のシリアルバス(第1のバス)40と後段のシリアルバス(第2のバス)40とを接続する前に、バス接続制御回路30の後段のスレーブデバイス20側にスタートコンディションを発生させる。
条件(1):スレーブアドレス比較回路304が第1送信データのスレーブアドレスがスレーブアドレス設定入力によりバス接続制御回路30に設定されたアドレスと一致していると判断した。
条件(2):データ信号High検出回路305がバス接続制御回路30の後段のデータ信号SDAがHレベルであることを検知した。
条件(3):応答回路306がバスコントローラ10側にACK信号を応答した。
これにより、バス接続制御回路30の後段のスレーブデバイス20は、バスコントローラ10からI2Cバスアクセスが開始されることを知ることができる。
すなわち、スタートコンディション発生回路307は、バス接続ON/OFF回路308がバス接続制御回路30の前段のシリアルバス(第1のバス)40と後段のシリアルバス(第2のバス)40とを接続する前に、バス接続制御回路30の後段のスレーブデバイス20側にスタートコンディションを発行する通知発行部として機能する。
スイッチ(S/W)310は、バス接続制御回路30の前段のクロック信号線41と後段のクロック信号線41とを、接続した状態と切断した状態とで任意に切り替える。
スイッチ(S/W)311は、バス接続制御回路30の前段のデータ信号線42と後段のデータ信号線42とを、接続した状態と切断した状態とで任意に切り替える。これらのスイッチ310,311は、後述するバス接続ON/OFF回路308による制御に従って、信号線41,42の接続/切断をそれぞれ切り替える。
バス接続ON/OFF回路308は、スイッチ310を制御して、バス接続制御回路30の前段のクロック信号線41と後段のクロック信号線41との接続および切断を切り替える。また、バス接続ON/OFF回路308は、スイッチ311を制御して、バス接続制御回路30の前段のデータ信号線42と後段のデータ信号線42との接続および切断を切り替える。
すなわち、バス接続ON/OFF回路308は、バス接続制御回路30の前段のシリアルバス(第1のバス)40と後段のシリアルバス(第2のバス)40との接続および切断を制御する接続制御部として機能する。
バス接続ON/OFF回路308は、スタートコンディション発生回路307がバス接続制御回路30の後段のスレーブデバイス20側にスタートコンディションを発生させた後に、バス接続制御回路30の前段と後段とのクロック信号線41およびデータ信号線42をそれぞれ接続させる。
また、バス接続ON/OFF回路308は、ストップコンディション検出回路309がストップコンディションの発生を検知すると、バス接続制御回路30における前段と後段の各クロック信号線41およびデータ信号線42を、それぞれ接続断とする。
図4は実施形態の一例としてのバスシステム1の接続構成例を示す図である。
この図4に例示する情報処理装置50は、サーバコンピュータとして用いられ、複数(図4に示す例では2つ)の監視制御ユニット80−1,80−2と、バックプレーン(Back Plane)70と、複数(図4に示す例では3つ)のIO(Input Output)ユニット60−1〜60−3とを備える。
なお、図中、既述の符号と同一の符号は同様の部分を示しているので、その詳細な説明は省略する。
この図4に示す情報処理装置50においては、複数の監視制御ユニット80−1,80−2を備えることで、負荷分散と冗長性の確保が実現されている。監視制御ユニット80−1には、CPU(Central Processing Unit)81およびバスコントローラ10aが、監視制御ユニット80−2には、CPU81およびバスコントローラ10bが、それぞれ備えられている。
バックプレーン70は、監視制御ユニット80−1,80−2のそれぞれに対して、IOユニット60−1〜60−3のそれぞれを通信可能に接続する。
IOユニット60−1〜60−3は互いに同様の構成を有する。すなわち、図4に示す情報処理装置50は、複数の同様の構成を有するIOユニット60が1つの装置に実装された構成例を示す。このように、各IOユニット60−1〜60−3の構成を共通化することで装置の製造コストや管理コストを低減することができる。
なお、IOユニット60−1はシリアルバス40aを備え、このシリアルバス40aには符号1A,1B,1C,1Dで表されるスレーブデバイス20が接続されている。また、IOユニット60−2はシリアルバス40bを備え、このシリアルバス40bには符号2A,2B,2C,2Dで表されるスレーブデバイス20が接続されている。さらに、IOユニット60−3はシリアルバス40cを備え、このシリアルバス40cには符号3A,3B,3C,3Dで表されるスレーブデバイス20が接続されている。
なお、IOユニット60−1に備えられたバス接続制御回路30をバス接続制御回路#1という場合がある。同様に、IOユニット60−2に備えられたバス接続制御回路30をバス接続制御回路#2といい、IOユニット60−3に備えられたバス接続制御回路30をバス接続制御回路#3という場合がある。
この図4に例示する情報処理装置50においては、バスコントローラ10a,10bが直接つながるI2Cバスに、バス接続制御回路#1,バス接続制御回路#2およびバス制御回路#3がパラレルに接続されている。
IOユニット60−1〜60−3に搭載されるスレーブデバイス20は、例えば、電圧モニタ,温度センサ,ログ格納EEPROM等である。
この図4に例示する情報処理装置50において、例えば、バスコントローラ10がスレーブデバイス1Aにデータをライト(WRITE)する場合は、バスコントローラ10は、以下の順序(1)〜(5)に従ってデータ送信を行なう。
(1)START CONDITION
(2)第1送信データ:バス接続制御回路#1のスレーブアドレス+WRITE
(3)第2送信データ:スレーブデバイス1Aのスレーブアドレス+WRITE
(4)第3送信データ:スレーブデバイス1Aへの書き込みデータ
(5)STOP CONDITION
また、例えば、バスコントローラ10がスレーブデバイス2AにデータをWRITEする場合は、バスコントローラ10は、以下の順序(1)〜(5)に従ってデータ送信を行なう。
(1)START CONDITION
(2)第1送信データ:バス接続制御回路#2のスレーブアドレス+WRITE
(3)第2送信データ:スレーブデバイス2Aのスレーブアドレス+WRITE
(4)第3送信データ:スレーブデバイス2Aへの書き込みデータ
(5)STOP CONDITION
また、例えば、バスコントローラ10がスレーブデバイス3AにデータをWRITEする場合は、バスコントローラ10は、以下の順序(1)〜(5)に従ってデータ送信を行なう。
(1)START CONDITION
(2)第1送信データ:バス接続制御回路#3のスレーブアドレス+WRITE
(3)第2送信データ:スレーブデバイス3Aのスレーブアドレス+WRITE
(4)第3送信データ:スレーブデバイス3Aへの書き込みデータ
(5)STOP CONDITION
なお、一のバスコントローラ10(例えば、バスコントローラ10a)がシリアルバス40を使用しているSTART CONDITIONからSTOP CONDITIONの間は、他のバスコントローラ10(例えば、コントローラ10b)はシリアルバス40を使用できない。このため、情報処理装置50において、マルチマスタ構成およびマルチタスクに起因する誤アクセスは発生しない。
図5は実施形態の一例としてのバスシステム1の他の接続構成例を示す図である。
この図5に例示する情報処理装置50′も、サーバコンピュータとして用いられ、複数(図5に示す例では2つ)の監視制御ユニット80−1,80−2と、バックプレーン70と、システムユニット60−11,IOユニット60−12および子IOユニット60−13を備える。
なお、図中、既述の符号と同一の符号は同様の部分を示しているので、その詳細な説明は省略する。
この図5に示す情報処理装置50′においても、複数の監視制御ユニット80−1,80−2を備えることで、負荷分散と冗長性の確保が実現されている。
バックプレーン70は、監視制御ユニット80−1,80−2のそれぞれに対して、IOユニット60−11,60−12のそれぞれを通信可能に接続する。
なお、システムユニット60−11はシリアルバス40dを備え、このシリアルバス40dには符号1A,1B,1C,1Dで表されるスレーブデバイス20が接続されている。また、IOユニット60−12はシリアルバス40eを備え、このシリアルバス40eには符号2A,2B,2C,2Dで表されるスレーブデバイス20が接続されている。さらに、子IOユニット60−13はシリアルバス40fを備え、このシリアルバス40fには符号3A,3Bで表されるスレーブデバイス20が接続されている。
なお、IOユニット60−12に備えられたバス接続制御回路30をバス接続制御回路#11という場合がある。同様に、子IOユニット60−13に備えられたバス接続制御回路30をバス接続制御回路#12という場合がある。
なお、システムユニット60−11にはバス接続制御回路30は備えられていない。
サーバなどの情報処理装置において、IOユニットにドータカードのような子IOユニットが実装される構成が知られている。
この図5に示す情報処理装置50′においては、子IOユニット6−13がIOユニット6−12の子IOユニット(ドータカード)として構成されている。
これにより、バスコントローラ10a,10bが直接つながるシリアルバス40dにバス接続制御回路#11がつながり、バス接続制御回路#11の後段のシリアルバス40eにバス接続制御回路#12がつながっている。すなわち、バス接続制御回路#11とバス接続制御回路#12とがシリアルにつながった接続構成を有している。
システムユニット60−11,IOユニット60−12および子IOユニット60−13に搭載される各スレーブデバイス20は、例えば、電圧モニタ,温度センサ,ログ格納EEPROM等である。
この図5に例示する情報処理装置50′において 例えば、バスコントローラ10がスレーブデバイス2Aにデータをライト(WRITE)する場合は、バスコントローラ10は、以下の順序(1)〜(5)に従ってデータ送信を行なう。
(1)START CONDITION
(2)第1送信データ:バス接続制御回路#11のスレーブアドレス+WRITE
(3)第2送信データ:スレーブデバイス2Aのスレーブアドレス+WRITE
(4)第3送信データ:スレーブデバイス2Aへの書き込みデータ
(5)STOP CONDITION
また、例えば、バスコントローラ10がスレーブデバイス3AにデータをWRITEする場合は、バスコントローラ10は、以下の順序(1)〜(6)に従ってデータ送信を行なう。
(1)START CONDITION
(2)第1送信データ(その1):バス接続制御回路#11のスレーブアドレス+WRITE
(3)第1送信データ(その2):バス接続制御回路#12のスレーブアドレス+WRITE
(4)第2送信データ:スレーブデバイス3Aのスレーブアドレス+WRITE
(5)第3送信データ:スレーブデバイス3Aへの書き込みデータ
(6)STOP CONDITION
なお、この情報処理装置50′においても、一のバスコントローラ10(例えば、バスコントローラ10a)がシリアルバス40を使用しているSTART CONDITIONからSTOP CONDITIONの間は、他のバスコントローラ10(例えば、コントローラ10b)はシリアルバス40を使用できない。このため、情報処理装置50′においても、マルチマスタ構成およびマルチタスクに起因する誤アクセスは発生しない。
(B)動作
上述の如く構成された実施形態の一例としてのバスシステム1のバス接続制御回路30によるバス接続制御を、図3(a)〜(d)に示すタイミングチャートを用いて説明する。
スタートコンディション検出回路303は、クロック信号SCLがHレベルの状態時に、データ信号SDAがHレベルからL(Low)レベルに落ちる状態を、I2Cバスのスタートコンディションとして検出する(時刻T1参照)。
スレーブアドレス比較回路304は、バスコントローラ10から送信される第1送信データに含まれるスレーブアドレスと、スレーブアドレス設定入力により設定されたアドレスとを比較し、これらのアドレスが同じであるかを判断する。
また、データ信号High検出回路305が、バス接続制御回路30の後段のデータ信号SDAがHレベルになっているかを検知する。
スレーブアドレス比較回路304が、バスコントローラ10から送信される第1送信データに含まれるスレーブアドレスを取得する。
なお、この図3(a)〜(d)においては、バス接続制御回路30にスレーブアドレスとして“55(16進数)”が設定されている例を示す。
図3(a),(b)に示す例においては、第1送信データの受信に際して、クロック信号SCLにおいて、“6bit”〜“0bit”で表される各クロックの立ち上がりのタイミングで、データ信号SDAからスレーブアドレス値“1010101”が読み取られる。また、クロック信号SCLにおいて、“R/W”で表されるタイミングで、データ信号SDAからWriteを表す“0”が読み取られる。
スレーブアドレス比較回路304は、このようにバスコントローラ10から送信される第1送信データに含まれるスレーブアドレスと、スレーブアドレス設定入力により設定されたアドレスとを比較して一致するかを判断する。
そして、これらのアドレスが一致する場合において、データ信号High検出回路305が、バス接続制御回路30の後段のデータ信号SDAがHレベルになっていることを検知すると、応答回路306は、バスコントローラ10に対してACK信号を応答する。
このACK信号の応答は、図3(a)に示すクロック信号SCLにおいて、“ack”で表されるタイミングで行なわれる(時刻T2参照)。
その後、バス接続制御回路30の後段においてスタートコンディションが検出され(時刻T3参照)、バス接続制御回路30の前段と後段との間でクロック信号線41およびバス接続制御回路30がそれぞれ接続される(時刻T4参照)。
バスコントローラ10とスレーブデバイス20との間でデータの送受信等が行なわれる。
その後、ストップコンディション検出回路309がストップコンディションの発生を検知する。すなわち、クロック信号SCLおよびデータ信号SDAがそれぞれHレベルとなると、バス接続ON/OFF回路308が、バス接続制御回路30における前段と後段の各クロック信号線41およびデータ信号線42を、それぞれ接続断とする(時刻T5参照)。これにより、バス接続制御回路30の前段と後段との間でバス接続断の状態となる。
そして、本バスシステム1においては、時刻T1におけるスタートコンディションの検出から時刻T5のストップコンディションの検出までが1回のバスサイクルで行なわれる。
次に、実施形態の一例としてのバスシステム1のバス接続制御回路30による処理を、図6に示すフローチャート(ステップS1〜S9)に従って説明する。
アドレス入力回路301は、本バスコントローラ10(バス接続制御回路30,情報処理装置50,50′)の電源投入時に、バス接続制御回路30の外部入力ピンによって設定されたスレーブアドレスの値(スレーブアドレス設定入力値)を取り込む(ステップS1)。
ステップS2において、BFT検出回路302は、クロック信号線41およびデータ信号線42の両方の電圧レベルが一定時間(Tbuf)、Hレベル状態となったかを判断する。
クロック信号線41およびデータ信号線42の両方の電圧レベルが一定時間(Tbuf)、Hレベル状態となっていない場合には(ステップS2のNoルート参照)、ステップS2を繰り返し実行する。
BFT検出回路302が、クロック信号線41およびデータ信号線42の両方の電圧レベルが一定時間(Tbuf)、Hレベル状態となったことを検知すると(ステップS2のYesルート参照)、ステップS3に移行する。
ステップS3において、スタートコンディション検出回路303は、I2Cバスのスタートコンディションを検出したかを確認する。スタートコンディションが検出されない場合には(ステップS3のNoルート参照)、ステップS3を繰り返し実行する。
スタートコンディション検出回路303がスタートコンディションを検出すると(ステップS3のYesルート参照)、ステップS4に移行する。
ステップS4において、スレーブアドレス比較回路304は、バスコントローラ10から送信される第1送信データに含まれるスレーブアドレスとアドレス入力回路301によって取り込まれたスレーブアドレスとを比較し、これらのアドレス値が同じであるかを判断する。
バスコントローラ10から送信される第1送信データに含まれるスレーブアドレスとアドレス入力回路301によって取り込まれたスレーブアドレスとが不一致である場合には(ステップS4のNoルート参照)、ステップS2に戻る。
バスコントローラ10から送信される第1送信データに含まれるスレーブアドレスとアドレス入力回路301によって取り込まれたスレーブアドレスとが一致する場合には(ステップS4のYesルート参照)、ステップS5に移行する。
ステップS5において、データ信号High検出回路305が、バス接続制御回路30の後段のデータ信号SDAがHレベルであるかを確認する。バス接続制御回路30の後段のデータ信号SDAがHレベルでない場合、すなわち、Lレベルである場合には(ステップS5のNoルート参照)、ステップS6に移行する。
ステップS6において、応答回路306は、バスコントローラ10に対してNACK信号を応答し、ステップS2に戻る。
また、データ信号High検出回路305がバス接続制御回路30の後段のデータ信号SDAがHレベルであると判断した場合に(ステップS5のYesルート参照)、ステップS7に移行する。
ステップS7において、応答回路306は、バスコントローラ10に対してACK信号を応答する。また、スタートコンディション発生回路307は、バス接続制御回路30の後段のスレーブデバイス20側にスタートコンディションを発生させる。
さらに、バス接続ON/OFF回路308が、バス接続制御回路30の前段のシリアルバス40と後段のシリアルバス40とを接続させる。
これ以降、バスコントローラ10と、バス接続制御回路30の下流側のスレーブデバイス20との間で通信が可能となる。すなわち、バスコントローラ10から送信される第2送信データに含まれるアクセス先のスレーブデバイス20に対して、第3送信データに含まれる処理対象データが送信され、スレーブデバイス20において処理が行なわれる。
その後、ステップS8において、ストップコンディション検出回路309は、I2Cバスのストップコンディションを検出したかを判断する。
ストップコンディションが検出されない場合には(ステップS8のNoルート参照)、ストップコンディション検出回路309は、ストップコンディションが検出されるまでステップS8を繰り返し行なう。
ストップコンディション検出回路309がストップコンディションを検出すると(ステップS8のYesルート参照)、ステップS9に移行する。
ステップS9において、バス接続ON/OFF回路308は、バス接続制御回路30における前段と後段の各クロック信号線41およびデータ信号線42を、それぞれ接続断とすることで、シリアルバス40bを切断する。その後、ステップS2に戻る。
(C)効果
バスコントローラ10は、バス接続制御回路30を介してシリアルバス40bに接続されたスレーブデバイス20にアクセスする場合に、第1送信データ,第2送信データおよび第3送信データを送信する。
第1送信データには、バス接続制御回路30に設定されたスレーブアドレスが含まれ、バス接続制御回路30においては、スレーブアドレス比較回路304が、スコントローラ10から送信される第1送信データに含まれるスレーブアドレスとスレーブアドレス設定入力により設定されたアドレスとを比較し、これらのアドレスが同じであるかを判断する。
これらのアドレスが一致した場合に、スタートコンディション発生回路307から下流側にスタートコンディションの発行が行なわれ、バス接続ON/OFF回路308によるバス接続が行なわれ、バス接続制御回路30の前段と後段とでバス通信が可能となる。
そして、第2送信データおよび第3送信データを用いてバスコントローラ10からスレーブデバイス20に対する処理が行なわれる。
すなわち、バスコントローラ10から第1送信データ,第2送信データおよび第3送信データを送信するだけで、1回のバスサイクルでスレーブデバイス20にアクセス出来る。
従って、バスマルチプレクサを用いる従来手法のように、バスコントローラからバスマルチプレクサのチャネル選択(1回目のアクセス)とスレーブデバイスへのアクセス(2回目のアクセス)との2段階のアクセスを行なう必要がない。
実施形態の一例としてのバスシステム1においては、バスコントローラ10に、バス接続制御回路30を介してスレーブデバイス20が接続される。
そして、バス接続制御回路30において、バス接続ON/OFF回路308が当該バス接続制御回路30の前段のシリアルバス40と後段のシリアルバス40とを接続する前に、スタートコンディション発生回路307が、バス接続制御回路30の後段のシリアルバス40にスタートコンディションを発生させる。
これにより、スレーブデバイス20に対してストップコンディションが発行されずに1回のバスサイクルでバスコントローラ10がスレーブデバイス20にアクセス出来る。
バスコントローラ10から1回のバスサイクルでスレーブデバイス20にアクセス出来ることで、バスコントローラ10が複数あるマルチマスタの構成で、バスマルチプレクサのチャネル制御に起因するスレーブデバイス20への誤アクセスの発生を阻止することができる。
一のバスコントローラ10(例えば、バスコントローラ10a)がシリアルバス40を使用しているSTART CONDITIONからSTOP CONDITIONの間、すなわち、1回のバスサイクルの間は、他のバスコントローラ10(例えば、コントローラ10b)はシリアルバス40を使用できない。このため、マルチマスタの構成において、一のバスコントローラ10がスレーブデバイス20にアクセスしようとしている途中での、他のバスコントローラ10によるバスアクセスは阻止され、誤アクセスの発生を防止することができる。
また、バスコントローラ10が1つのシングルマスタの場合でも、ファームがマルチタスクで動いている場合に、マルチマスタの場合と同様に、複数のタスク間でのチャネル制御に起因するスレーブデバイス20への誤アクセスの発生を阻止することができる。
すなわち、一のタスクがスレーブデバイス20にアクセスしようとしている途中での、他のタスクによるバスアクセスは阻止され、誤アクセスの発生を防止することができる。
スレーブアドレス比較回路304が、バスコントローラ10から送信される第1送信データに含まれるスレーブアドレスとスレーブアドレス設定入力により設定されたアドレスとを比較し、これらのアドレスが同じであるかを判断する。これにより、バスコントローラ10から送信されたデータが、自身の配下のスレーブデバイス20に対するものであるかを判断することができる。
また、バス接続制御回路30において、バス接続ON/OFF回路308が当該バス接続制御回路30の前段のシリアルバス40と後段のシリアルバス40とを接続する前に、データ信号High検出回路305が、バス接続制御回路30の後段のデータ信号SDAがHレベルになっているかを検知する。
そして、バス接続制御回路30の後段のデータ信号SDAがLレベルの場合に、応答回路306がバスコントローラ10側に対してNACK信号を応答する。バスコントローラ10は、応答回路306からNACK信号を受信した場合に、バス接続制御回路30の後段のスレーブデバイス20へのアクセスを終了する。これにより、バスコントローラ10がLレベルに落ちたシリアルバス40に接続されることを阻止することができ、バスコントローラ10からスレーブデバイス20を制御ができなくなることを防止することができる。
(D)その他
開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。本実施形態の各構成及び各処理は、必要に応じて取捨選択することができ、あるいは適宜組み合わせてもよい。
例えば、上述した実施形態においては、バスシステム1がI2Cバスである例について示したが、これに限定されるものではなく、他の規格のバスシステムであってもよい。
また、図4に示した情報処理装置50において、IOユニット60−1〜60−3が同様の構成を有し、各IOユニット60−1〜60−3のそれぞれにバス接続制御回路30が備えられているが、これに限定されるものではない。例えば、IOユニット60−1のバス接続制御回路30を省略してもよい。
また、上述したバス接続制御回路30における、アドレス入力回路301,BFT検出回路302,スタートコンディション検出回路303,スレーブアドレス比較回路304,データ信号High検出回路305,応答回路306,スタートコンディション発生回路307,バス接続ON/OFF回路308およびストップコンディション検出回路309としての機能の少なくとも一部を、プログラムによって実現してもよい。
なお、これらのアドレス入力回路301,BFT検出回路302,スタートコンディション検出回路303,スレーブアドレス比較回路304,データ信号High検出回路305,応答回路306,スタートコンディション発生回路307,バス接続ON/OFF回路308およびストップコンディション検出回路309としての機能を実現するためのプログラム(中継制御プログラム)は、例えばフレキシブルディスク,CD(CD−ROM,CD−R,CD−RW等),DVD(DVD−ROM,DVD−RAM,DVD−R,DVD+R,DVD−RW,DVD+RW,HD DVD等),ブルーレイディスク,磁気ディスク,光ディスク,光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。又、そのプログラムを、例えば磁気ディスク,光ディスク,光磁気ディスク等の記憶装置(記録媒体)に記録しておき、その記憶装置から通信経路を介してコンピュータに提供するようにしてもよい。
アドレス入力回路301,BFT検出回路302,スタートコンディション検出回路303,スレーブアドレス比較回路304,データ信号High検出回路305,応答回路306,スタートコンディション発生回路307,バス接続ON/OFF回路308およびストップコンディション検出回路309としての機能を実現する際には、内部記憶装置(例えばRAM(Random Access Memory)やROM(Read Only Memory))に格納されたプログラムがコンピュータのマイクロプロセッサ(例えば、CPU)によって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行するようにしてもよい。
そして、プロセッサは、マルチプロセッサであってもよい。プロセッサ11は、例えばCPU,MPU(Micro Processing Unit),DSP(Digital Signal Processor),ASIC(Application Specific Integrated Circuit),PLD(Programmable Logic Device),FPGA(Field Programmable Gate Array)のいずれか一つであってもよい
また、上述した開示により本実施形態を当業者によって実施・製造することが可能である。
(E)付記
(付記1)
バスコントローラに接続される第1のバスとデバイスに接続される第2のバスとを中継する中継装置であって、
前記第1のバスと前記第2のバスとの接続および切断を制御する接続制御部と、
前記接続制御部が前記第1のバスと前記第2のバスとを接続する前に、前記第2のバスに対して、バスアクセス開始通知を発行する通知発行部と
を備えることを特徴とする、中継装置。
(付記2)
前記バスコントローラから送信される、当該中継装置のアドレスを含む第1送信データが入力され、
前記第1送信データに含まれる前記アドレスと、当該中継装置に設定されたアドレスとを比較する比較部を備え、
前記比較部による比較の結果、前記第1送信データに含まれる前記アドレスと、当該中継装置に設定されたアドレスとが一致する場合に、前記接続制御部が、前記第1のバスと前記第2のバスとを接続させる
ことを特徴とする、付記1記載の中継装置。
(付記3)
前記第2のバスにおけるデータ信号レベルを確認する確認部と、
前記データ信号レベルがLowレベルである場合に、前記第1のバスに対して否定応答通知を発行する応答処理部と
を備えることを特徴とする、付記1または2記載の中継装置。
(付記4)
バスコントローラに接続される第1のバスとデバイスに接続される第2のバスとを中継する中継装置において、
前記第2のバスに対して、バスアクセス開始通知を発行し、
前記第1のバスと前記第2のバスとを接続する
ことを特徴とする、中継方法。
(付記5)
前記バスコントローラから送信される、当該中継装置のアドレスを含む第1送信データが入力され、
前記第1送信データに含まれる前記アドレスと、当該中継装置に設定されたアドレスとを比較し、
前記比較の結果、前記第1送信データに含まれる前記アドレスと、当該中継装置に設定されたアドレスとが一致する場合に、前記第1のバスと前記第2のバスとを接続させる
ことを特徴とする、付記4記載の中継方法。
(付記6)
前記第2のバスにおけるデータ信号レベルを確認し、
前記データ信号レベルがLowレベルである場合に、前記第1のバスに対して否定応答通知を発行する
ことを特徴とする、付記4または5記載の中継方法。
(付記7)
バスコントローラに接続される第1のバスとデバイスに接続される第2のバスとを中継する中継機能をコンピュータに実行させるための中継制御プログラムであって、
前記第2のバスに対して、バスアクセス開始通知を発行し、
前記第1のバスと前記第2のバスとを接続する
処理を前記コンピュータに実行させることを特徴とする、中継制御プログラム。
(付記8)
前記バスコントローラから送信される、当該中継装置のアドレスを含む第1送信データを受信し、
前記第1送信データに含まれる前記アドレスと、当該中継装置に設定されたアドレスとを比較し、
前記比較の結果、前記第1送信データに含まれる前記アドレスと、当該中継装置に設定されたアドレスとが一致する場合に、前記第1のバスと前記第2のバスとを接続させる
処理を前記コンピュータに実行させることを特徴とする、付記7記載の中継制御プログラム。
(付記9)
前記第2のバスにおけるデータ信号レベルを確認し、
前記データ信号レベルがLowレベルである場合に、前記第1のバスに対して否定応答通知を発行する
処理を前記コンピュータに実行させることを特徴とする、付記7または8記載の中継制御プログラム。
1 バスシステム
10a,10b,10 バスコントローラ
20 スレーブデバイス
30 バス接続制御回路
301 アドレス入力回路
302 BFT検出回路
303 スタートコンディション検出回路
304 スレーブアドレス比較回路
305 データ信号High検出回路
306 応答回路
307 スタートコンディション発生回路
308 バス接続ON/OFF回路
309 ストップコンディション検出回路
310,311 スイッチ
31 クロック発信器
40a,40b,40c,40d,40e,40f,40 シリアルバス
41 クロック信号線
42 データ信号線
60−1,60−2,60−3,6−11,6−12,6−13 情報処理装置
70 バックプレーン
80−1,80−2 監視制御ユニット
81 CPU

Claims (5)

  1. バスコントローラに接続される第1のバスとデバイスに接続される第2のバスとを中継する中継装置であって、
    前記第1のバスと前記第2のバスとの接続および切断を制御する接続制御部と、
    前記接続制御部が前記第1のバスと前記第2のバスとを接続する前に、前記第2のバスに対して、バスアクセス開始通知を発行する通知発行部と
    を備えることを特徴とする、中継装置。
  2. 前記バスコントローラから送信される、当該中継装置のアドレスを含む第1送信データが入力され、
    前記第1送信データに含まれる前記アドレスと、当該中継装置に設定されたアドレスとを比較する比較部を備え、
    前記比較部による比較の結果、前記第1送信データに含まれる前記アドレスと、当該中継装置に設定されたアドレスとが一致する場合に、前記接続制御部が、前記第1のバスと前記第2のバスとを接続させる
    ことを特徴とする、請求項1記載の中継装置。
  3. 前記第2のバスにおけるデータ信号レベルを確認する確認部と、
    前記データ信号レベルがLowレベルである場合に、前記第1のバスに対して否定応答通知を発行する応答処理部と
    を備えることを特徴とする、請求項1または2記載の中継装置。
  4. バスコントローラに接続される第1のバスとデバイスに接続される第2のバスとを中継する中継装置において、
    前記第2のバスに対して、バスアクセス開始通知を発行し、
    前記第1のバスと前記第2のバスとを接続する
    ことを特徴とする、中継方法。
  5. バスコントローラに接続される第1のバスとデバイスに接続される第2のバスとを中継する中継機能をコンピュータに実行させるための中継制御プログラムであって、
    前記第2のバスに対して、バスアクセス開始通知を発行し、
    前記第1のバスと前記第2のバスとを接続する
    処理を前記コンピュータに実行させることを特徴とする、中継制御プログラム。
JP2015217566A 2015-11-05 2015-11-05 中継装置、中継方法および中継制御プログラム Pending JP2017091048A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015217566A JP2017091048A (ja) 2015-11-05 2015-11-05 中継装置、中継方法および中継制御プログラム
US15/333,680 US20170132165A1 (en) 2015-11-05 2016-10-25 Relay apparatus and relay method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015217566A JP2017091048A (ja) 2015-11-05 2015-11-05 中継装置、中継方法および中継制御プログラム

Publications (1)

Publication Number Publication Date
JP2017091048A true JP2017091048A (ja) 2017-05-25

Family

ID=58663761

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015217566A Pending JP2017091048A (ja) 2015-11-05 2015-11-05 中継装置、中継方法および中継制御プログラム

Country Status (2)

Country Link
US (1) US20170132165A1 (ja)
JP (1) JP2017091048A (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110223652B (zh) * 2019-06-10 2021-08-24 北海惠科光电技术有限公司 时序控制器控制方法、时序控制器和驱动电路
CN110912791B (zh) * 2019-11-07 2021-06-29 苏州浪潮智能科技有限公司 系统管理总线链路及其上拉电阻确定方法、装置和设备

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5274783A (en) * 1991-06-28 1993-12-28 Digital Equipment Corporation SCSI interface employing bus extender and auxiliary bus
JPH0789340B2 (ja) * 1992-01-02 1995-09-27 インターナショナル・ビジネス・マシーンズ・コーポレイション バス間インターフェースにおいてアドレス・ロケーションの判定を行なう方法及び装置
US5559502A (en) * 1993-01-14 1996-09-24 Schutte; Herman Two-wire bus system comprising a clock wire and a data wire for interconnecting a number of stations and allowing both long-format and short-format slave addresses
JP3026796B1 (ja) * 1998-10-16 2000-03-27 インターナショナル・ビジネス・マシーンズ・コーポレイション コンピュータと周辺デバイスの接続装置および接続方法
US6715023B1 (en) * 1999-09-23 2004-03-30 Altera Corporation PCI bus switch architecture

Also Published As

Publication number Publication date
US20170132165A1 (en) 2017-05-11

Similar Documents

Publication Publication Date Title
US10740268B2 (en) Communication system, communication system control method, and program
US8898358B2 (en) Multi-protocol communication on an I2C bus
JP4773742B2 (ja) 2線チップ間インターフェース
US9146797B2 (en) Method for ensuring remediation of hung multiplexer bus channels
CN109144922B (zh) 数据传输装置及其方法
JP4966695B2 (ja) マルチマスタのチェーン接続された二線シリアルバス装置及びディジタル状態機械
US20160098336A1 (en) Methods and systems for dynamic retimer programming
US11132189B2 (en) Firmware update device and firmware update method
US20140149617A1 (en) I2c bus structure and device availability query method
TWI659302B (zh) 硬碟監控系統
JP6147356B2 (ja) 監視装置、制御システム及び監視プログラム
US20150286607A1 (en) Determination of the state of an i2c bus
JP2014002708A (ja) 能動的なケーブル管理
JP2018098707A (ja) 通信ノード試験装置、通信ノード試験方法およびプログラム
JP2017091048A (ja) 中継装置、中継方法および中継制御プログラム
JP2005234932A (ja) マトリックス状バス接続システムとその低電力方法
US10572436B2 (en) Apparatus and method for multi-master solution on MDIO communication bus
US20140149616A1 (en) I2c bus structure and address management method
JP2000293485A (ja) 通信インターフェース
US9720871B2 (en) Determining cable connections in a multi-cable link
KR102379558B1 (ko) 피드백 로직을 구비하는 차량의 드라이버 시스템 및 그것의 동작 방법
US20150019772A1 (en) Signal processing apparatus
CN112445744A (zh) I2c通信
KR20160043378A (ko) 복수개의 모듈들을 구비하는 차량 기기의 업데이트 장치 및 방법
JP2021106373A (ja) 有線ネットワーク伝送データ