JP2008009804A - Information processor and information processing method, information processing system, program and recording medium - Google Patents
Information processor and information processing method, information processing system, program and recording medium Download PDFInfo
- Publication number
- JP2008009804A JP2008009804A JP2006180783A JP2006180783A JP2008009804A JP 2008009804 A JP2008009804 A JP 2008009804A JP 2006180783 A JP2006180783 A JP 2006180783A JP 2006180783 A JP2006180783 A JP 2006180783A JP 2008009804 A JP2008009804 A JP 2008009804A
- Authority
- JP
- Japan
- Prior art keywords
- protocol
- information
- information processing
- smbus
- data
- 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.)
- Withdrawn
Links
Images
Landscapes
- Information Transfer Systems (AREA)
Abstract
Description
本発明は、情報処理装置および情報処理方法、情報処理システム、プログラム、並びに、記録媒体に関し、特に、SMBus(System Management Bus)プロトコルを用いて情報を通信する場合に用いて好適な、情報処理装置および情報処理方法、情報処理システム、プログラム、並びに、記録媒体に関する。 The present invention relates to an information processing device, an information processing method, an information processing system, a program, and a recording medium, and more particularly, an information processing device suitable for use when communicating information using an SMBus (System Management Bus) protocol. And an information processing method, an information processing system, a program, and a recording medium.
SMBus(System Management Bus)は、I2C(Inter Integrated Circuit)のサブセットであり、当初は、バッテリとコミュニケーションを行なうためのインターフェイスとして用いられたが、その後、ノート型のパーソナルコンピュータ向けのバッテリー管理規格SBS(Smart Battery System)や、デスクトップ型のパーソナルコンピュータなどにも広く採用されている電源管理機構ACPI(Advanced Configuration And Power Interface)の物理インターフェイスにも応用されている。 SMBus (System Management Bus) is a subset of I2C (Inter Integrated Circuit) and was originally used as an interface to communicate with the battery. After that, the battery management standard SBS (for notebook personal computers) It is also applied to the physical interface of ACPI (Advanced Configuration And Power Interface), a power management mechanism widely used in Smart Battery System) and desktop personal computers.
物理的には、クロック信号とデータ信号から成る2線式のシリアルバスで、バスに接続された個々のデバイスが固有のアドレスを持ち、このアドレスを使ってピアツーピアのコミュニケーションが行えるようになっている。転送速度も最大100kbpsと低速ではあるが、例えば、Ethernet(登録商標)などと同様に、デバイス間の汎用的なネットワークとして利用できるようになっている。上述したSBSやACPIは、このネットワークを使って、実際に管理や制御に必要なやりとりを規定した、アプリケーションプロトコルということになる(非特許文献1参照)。 Physically, it is a two-wire serial bus consisting of a clock signal and a data signal, and each device connected to the bus has a unique address that can be used for peer-to-peer communication. . Although the transfer speed is as low as 100 kbps, it can be used as a general-purpose network between devices in the same way as Ethernet (registered trademark), for example. The above-described SBS and ACPI are application protocols that use this network to define the exchanges that are actually required for management and control (see Non-Patent Document 1).
SMBusプロトコルの従来の用い方の例として、BlockReadプロトコルを図1に示す。 As an example of conventional usage of the SMBus protocol, the BlockRead protocol is shown in FIG.
マスタデバイスは、スレーブデバイスとの間で通信を開始する場合、まずスタートコンディション、スレーブアドレス、R/Wインジケータの順に、スレーブデバイスに送信する。次に、スレーブアドレスに該当するスレーブデバイスは、ACKをマスタデバイスに送信する。マスタデバイスは、ACKを確認すると、コマンドを送信する。コマンドを受信したスレーブデバイスは、ACKを送信し、かつ、コマンドをデコードし、ただちに以降のデータ送信を行う。 When starting communication with the slave device, the master device first transmits to the slave device in the order of the start condition, the slave address, and the R / W indicator. Next, the slave device corresponding to the slave address transmits ACK to the master device. When the master device confirms the ACK, the master device transmits a command. The slave device that has received the command transmits ACK, decodes the command, and immediately performs subsequent data transmission.
図1を用いて説明したように、コマンドを受信したスレーブデバイスは、ACKを送信し、かつ、コマンドをデコードし、ただちに以降のデータ送信を実行する必要がある。したがって、スレーブデバイスは、SMBus通信完了前にコマンドをデコードする機構を備える必要があった。 As described with reference to FIG. 1, the slave device that has received the command needs to transmit ACK, decode the command, and immediately perform subsequent data transmission. Therefore, the slave device needs to have a mechanism for decoding the command before the completion of the SMBus communication.
すなわち、図2に示されるように、従来のスレーブデバイス11においては、SMBusI/F21によるSMBus通信中に、コマンドをデコードする処理を実行させるために、割り込み線23を用意し、SMBusI/F21によるSMBus通信中に、CPU22に割り込みを入れる必要があった。もしくは、図3に示されるように、従来のスレーブデバイス31においては、SMBusI/F41によるSMBus通信中に、通信処理とは別に独立してコマンドのデコードを行うため、CPU42とは別にコマンドデコーダ43を備える必要があった。
That is, as shown in FIG. 2, in the conventional slave device 11, an
このように、図1を用いて説明したBlockReadプロトコルを処理するためには、図2に示される割り込み線23、または、図3に示されるコマンドデコーダ43などの特別な機構を備える必要があり、これらの機構を備えないスレーブデバイスは、正常に通信を完了させることができなかった。
Thus, in order to process the BlockRead protocol described with reference to FIG. 1, it is necessary to provide a special mechanism such as the
また、SMBusプロトコルには、WriteByteプロトコルやReadByteプロトコルなどの複数のプロトコルが定義されているが、これらが組み合わせて用いられることは無かった。また、コマンドは8ビットしかないため、最大256通りのコマンドしか用意できず、増やすこともできなかった。 The SMBus protocol defines a plurality of protocols such as a WriteByte protocol and a ReadByte protocol, but these are not used in combination. Also, since the command has only 8 bits, only 256 kinds of commands can be prepared at the maximum, and it cannot be increased.
本発明はこのような状況に鑑みてなされたものであり、特別なハードウェア機構を用いることなく、SMBusプロトコルを用いて、マスタデバイスとスレーブデバイスとの間でコマンドを授受することが出来るようにするものである。 The present invention has been made in view of such a situation, so that a command can be exchanged between a master device and a slave device using an SMBus protocol without using a special hardware mechanism. To do.
本発明の第1の側面の情報処理装置は、他の装置とSMBusプロトコルを用いて通信を行う情報処理装置であって、前記他の装置とSMBusプロトコルを用いて通信を行う通信手段と、前記通信手段により実行される、前記他の装置とのSMBusプロトコルのうちの第1のプロトコルを用いた情報の授受、および、第2のプロトコルを用いた情報の授受を制御する制御手段とを備え、前記第1のプロトコルを用いて授受される情報は、前記第2のプロトコルを用いた情報の授受を予告するための情報を含む。 An information processing apparatus according to a first aspect of the present invention is an information processing apparatus that communicates with another apparatus using an SMBus protocol, and communication means that communicates with the other apparatus using an SMBus protocol; Control means for controlling the exchange of information using the first protocol of the SMBus protocol with the other device and the exchange of information using the second protocol executed by the communication means, The information exchanged using the first protocol includes information for notifying the exchange of information using the second protocol.
前記第1のプロトコルは、前記他の装置への情報の供給または書き込みを指令するコマンドを含むプロトコルであるものとすることができる。 The first protocol may be a protocol including a command for instructing supply or writing of information to the other device.
前記第1のプロトコルは、前記第2のプロトコルを用いた情報の授受を予告するために必要な情報量に基づいて決定されるものとすることができる。 The first protocol may be determined based on an amount of information necessary for notifying the exchange of information using the second protocol.
本発明の第1の側面の情報処理方法は、他の装置とSMBusプロトコルを用いて通信を行う情報処理装置の情報処理方法であって、前記他の装置との、SMBusプロトコルのうちの第1のプロトコルを用いた、第2のプロトコルによる情報の授受を予告する情報の授受を制御し、前記他の装置との、前記第2のプロトコルを用いた情報の授受を制御するステップを含む。 An information processing method according to a first aspect of the present invention is an information processing method of an information processing apparatus that communicates with another apparatus using the SMBus protocol, and is an information processing method of the first aspect of the SMBus protocol with the other apparatus. And a step of controlling transmission / reception of information using the second protocol for predicting transmission / reception of information using the second protocol, and controlling transmission / reception of information using the second protocol with the other device.
本発明の第1の側面のプログラムまたは記録媒体に記録さているプログラムは、他の装置との、SMBusプロトコルのうちの第1のプロトコルを用いた、第2のプロトコルによる情報の授受を予告する情報の授受を制御し、前記他の装置との、前記第2のプロトコルを用いた情報の授受を制御するステップを含む処理をコンピュータに実行させる。 The program according to the first aspect of the present invention or the program recorded on the recording medium is information for notifying the exchange of information with another apparatus using the first protocol of the SMBus protocols. The computer executes a process including the step of controlling the exchange of information using the second protocol with the other device.
本発明の第1の側面においては、他の装置と、SMBusプロトコルのうちの第1のプロトコルを用いて、第2のプロトコルによる情報の授受を予告する情報が授受され、前記他の装置と、前記第2のプロトコルを用いた情報の授受が制御される。 In the first aspect of the present invention, information for notifying the exchange of information according to the second protocol is exchanged with another apparatus using the first protocol of the SMBus protocol, and the other apparatus, Information exchange using the second protocol is controlled.
本発明の第2の側面の情報処理システムは、SMBusプロトコルを用いて通信を行う第1の情報処理装置と第2の情報処理装置とを含む情報処理システムであって、前記第1の情報処理装置は、前記第2の情報処理装置とSMBusプロトコルを用いて通信を行う第1の通信手段と、前記第1の通信手段により実行される、前記第2の情報処理装置とのSMBusプロトコルのうちの第1のプロトコルを用いた情報の授受、および、第2のプロトコルを用いた情報の授受を制御する第1の制御手段とを備え、前記第1のプロトコルを用いて授受される情報は、前記第2のプロトコルを用いた情報の授受を予告するための情報を含み、前記第2の情報処理装置は、前記第1の情報処理装置とSMBusプロトコルを用いて通信を行う第2の通信手段と、前記第2の通信手段により実行される、前記第1の情報処理装置とのSMBusプロトコルのうちの第1のプロトコルを用いた情報の授受、および、第2のプロトコルを用いた情報の授受を制御するとともに、前記第1のプロトコルを用いて授受された情報を基に、前記第2のプロトコルを用いた情報の授受の準備処理を実行する第2の制御手段とを備える。 An information processing system according to a second aspect of the present invention is an information processing system including a first information processing apparatus and a second information processing apparatus that perform communication using an SMBus protocol, wherein the first information processing apparatus An apparatus includes: a first communication unit that communicates with the second information processing apparatus using an SMBus protocol; and an SMBus protocol between the second information processing apparatus and the second information processing apparatus that is executed by the first communication unit. Information exchange using the first protocol and a first control means for controlling the exchange of information using the second protocol, and the information exchanged using the first protocol is: A second communication unit including information for notifying the exchange of information using the second protocol, wherein the second information processing apparatus communicates with the first information processing apparatus using the SMBus protocol; And the second communication hand The first information processing apparatus and the information processing using the first protocol of the SMBus protocol and the information transmission and reception using the second protocol executed by the first information processing apparatus, and the first information processing apparatus. And a second control means for executing a preparation process for exchanging information using the second protocol based on the information exchanged using the protocol.
本発明の第2の側面の情報処理方法は、SMBusプロトコルを用いて通信を行う第1の情報処理装置と第2の情報処理装置とを含む情報処理システムの情報処理方法であって、前記第1の情報処理装置と前記第2の情報処理装置とが、SMBusプロトコルのうちの第1のプロトコルを用いた、第2のプロトコルによる情報の授受を予告する情報の授受を制御し、前記第2の情報処理装置が、前記第1のプロトコルを用いて授受された情報を基に、前記第2のプロトコルを用いた情報の授受の準備処理を実行し、前記第1の情報処理装置と前記第2の情報処理装置とが、前記第2のプロトコルを用いた情報の授受を制御するステップを含む。 An information processing method according to a second aspect of the present invention is an information processing method for an information processing system including a first information processing apparatus and a second information processing apparatus that perform communication using an SMBus protocol. The first information processing apparatus and the second information processing apparatus control the transmission / reception of information that uses the first protocol of the SMBus protocols to predict the transmission / reception of information according to the second protocol, and The information processing apparatus executes preparation processing for exchanging information using the second protocol based on the information exchanged using the first protocol, and the first information processing apparatus and the first information processing apparatus The second information processing apparatus controls the exchange of information using the second protocol.
本発明の第2の側面においては、第1の情報処理装置と第2の情報処理装置とで、SMBusプロトコルのうちの第1のプロトコルを用いて、第2のプロトコルによる情報の授受を予告する情報が授受され、前記第2の情報処理装置で、前記第1のプロトコルを用いて授受された情報を基に、前記第2のプロトコルを用いた情報の授受の準備処理が実行され、前記第1の情報処理装置と前記第2の情報処理装置とで、前記第2のプロトコルを用いた情報が授受される。 In the second aspect of the present invention, the first information processing apparatus and the second information processing apparatus use the first protocol of the SMBus protocols to notify the exchange of information using the second protocol. Information is sent and received, and the second information processing apparatus executes preparation processing for sending and receiving information using the second protocol based on the information sent and received using the first protocol, Information using the second protocol is exchanged between one information processing apparatus and the second information processing apparatus.
ネットワークとは、少なくとも2つの装置が接続され、ある装置から、他の装置に対して、情報の伝達をできるようにした仕組みをいう。ネットワークを介して通信する装置は、独立した装置どうしであっても良いし、1つの装置を構成している内部ブロックどうしであっても良い。 The network is a mechanism in which at least two devices are connected and information can be transmitted from one device to another device. The devices that communicate via the network may be independent devices, or may be internal blocks that constitute one device.
また、通信とは、無線通信および有線通信は勿論、無線通信と有線通信とが混在した通信、即ち、ある区間では無線通信が行われ、他の区間では有線通信が行われるようなものであっても良い。さらに、ある装置から他の装置への通信が有線通信で行われ、他の装置からある装置への通信が無線通信で行われるようなものであっても良い。 The communication is not only wireless communication and wired communication, but also communication in which wireless communication and wired communication are mixed, that is, wireless communication is performed in a certain section and wired communication is performed in another section. May be. Further, communication from one device to another device may be performed by wired communication, and communication from another device to one device may be performed by wireless communication.
情報処理装置は、独立した装置であっても良いし、記録再生装置などの通信処理を行うブロックであっても良い。 The information processing apparatus may be an independent apparatus or a block that performs communication processing such as a recording / reproducing apparatus.
以上のように、本発明の第1の側面によれば、他の装置にコマンドを送信することができ、特に、SMBusプロトコルのうちの第1のプロトコルを用いて、第2のプロトコルによる情報の授受を予告する情報を送信した後、第2のプロトコルによって情報を授受するようにしたので、スレーブ装置のハードウェア構成を単純にすることができる。 As described above, according to the first aspect of the present invention, it is possible to transmit a command to another device. In particular, using the first protocol of the SMBus protocols, the information of the second protocol can be transmitted. Since the information for notifying the exchange is transmitted and then the information is exchanged by the second protocol, the hardware configuration of the slave device can be simplified.
また、本発明の第2の側面によれば、2つの装置間でコマンドを授受することができ、特に、スレーブ装置で第2のプロトコルによる情報の授受を準備するようにしたので、スレーブ装置のハードウェア構成を単純にすることができる。 In addition, according to the second aspect of the present invention, a command can be exchanged between two devices. In particular, since the slave device is prepared to exchange information according to the second protocol, Hardware configuration can be simplified.
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書または図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書または図面に記載されていることを確認するためのものである。従って、明細書または図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。 Embodiments of the present invention will be described below. Correspondences between constituent elements of the present invention and the embodiments described in the specification or the drawings are exemplified as follows. This description is intended to confirm that the embodiments supporting the present invention are described in the specification or the drawings. Therefore, even if there is an embodiment which is described in the specification or the drawings but is not described here as an embodiment corresponding to the constituent elements of the present invention, that is not the case. It does not mean that the form does not correspond to the constituent requirements. Conversely, even if an embodiment is described here as corresponding to a configuration requirement, that means that the embodiment does not correspond to a configuration requirement other than the configuration requirement. It's not something to do.
本発明の第1の側面の情報処理装置は、他の装置(例えば、スレーブデバイス81)とSMBusプロトコルを用いて通信を行う情報処理装置(例えば、マスタデバイス71)であって、前記他の装置とSMBusプロトコルを用いて通信を行う通信手段(例えば、SMBusI/F101)と、前記通信手段により実行される、前記他の装置とのSMBusプロトコルのうちの第1のプロトコルを用いた情報の授受、および、第2のプロトコルを用いた情報の授受を制御する制御手段(例えば、マスタCPU102)とを備え、前記第1のプロトコルを用いて授受される情報は、前記第2のプロトコルを用いた情報の授受を予告するための情報を含む。 An information processing apparatus according to the first aspect of the present invention is an information processing apparatus (for example, master device 71) that communicates with another apparatus (for example, slave device 81) using the SMBus protocol. And communication means (for example, SMBus I / F 101) for performing communication using the SMBus protocol, and exchange of information using the first protocol among the SMBus protocols executed by the communication means, with the other device, And control means (for example, master CPU 102) for controlling the exchange of information using the second protocol, and the information exchanged using the first protocol is information using the second protocol. Contains information to notify the exchange of
前記第1のプロトコルは、前記他の装置への情報の供給または書き込みを指令するコマンドを含むプロトコル(例えば、WriteByte,SendByte,WriteWord,BlockWrite)であるものとすることができる。 The first protocol may be a protocol (for example, WriteByte, SendByte, WriteWord, BlockWrite) including a command for instructing supply or writing of information to the other device.
本発明の第1の側面の情報処理方法は、他の装置(例えば、スレーブデバイス81)とSMBusプロトコルを用いて通信を行う情報処理装置(例えば、マスタデバイス71)の情報処理方法であって、前記他の装置との、SMBusプロトコルのうちの第1のプロトコルを用いた、第2のプロトコルによる情報の授受を予告する情報の授受を制御し(例えば、図10のステップS1、図11のステップS31、または、図12のステップS61の処理)、前記他の装置との、前記第2のプロトコルを用いた情報の授受を制御する(例えば、図10のステップS5、図11のステップS35、または、図12のステップS65の処理)ステップを含む。 An information processing method according to the first aspect of the present invention is an information processing method of an information processing apparatus (for example, master device 71) that communicates with another apparatus (for example, slave device 81) using the SMBus protocol, Controls the exchange of information for notifying the exchange of information by the second protocol using the first protocol of the SMBus protocol with the other devices (for example, step S1 in FIG. 10, step in FIG. 11) S31 or the process of step S61 in FIG. 12), and controls the exchange of information with the other device using the second protocol (for example, step S5 in FIG. 10, step S35 in FIG. 11, or , Step S65 of FIG. 12) step.
本発明の第1の側面のプログラムは、他の装置(例えば、スレーブデバイス81)との、SMBusプロトコルを用いた通信を制御する処理をコンピュータに実行させるためのプログラムであって、前記他の装置との、SMBusプロトコルのうちの第1のプロトコルを用いた、第2のプロトコルによる情報の授受を予告する情報の授受を制御し(例えば、図10のステップS1、図11のステップS31、または、図12のステップS61の処理)、前記他の装置との、前記第2のプロトコルを用いた情報の授受を制御する(例えば、図10のステップS5、図11のステップS35、または、図12のステップS65の処理)ステップを含む処理をコンピュータに実行させる。 A program according to the first aspect of the present invention is a program for causing a computer to execute processing for controlling communication with another apparatus (for example, the slave device 81) using the SMBus protocol. And the control of information transmission / reception in advance using the first protocol of the SMBus protocol (for example, step S1 in FIG. 10, step S31 in FIG. 11, or The process of step S61 in FIG. 12) controls the exchange of information with the other device using the second protocol (for example, step S5 in FIG. 10, step S35 in FIG. 11, or FIG. 12). Step S65) Causes the computer to execute processing including the step.
本発明の第2の側面の情報処理システムは、SMBusプロトコルを用いて通信を行う第1の情報処理装置(例えば、マスタデバイス71)と第2の情報処理装置(例えば、スレーブデバイス81)とを含む情報処理システムであって、前記第1の情報処理装置は、前記第2の情報処理装置とSMBusプロトコルを用いて通信を行う第1の通信手段(例えば、SMBusI/F101)と、前記第1の通信手段により実行される、前記第2の情報処理装置とのSMBusプロトコルのうちの第1のプロトコルを用いた情報の授受、および、第2のプロトコルを用いた情報の授受を制御する第1の制御手段(例えば、マスタCPU102)とを備え、前記第1のプロトコルを用いて授受される情報は、前記第2のプロトコルを用いた情報の授受を予告するための情報を含み、前記第2の情報処理装置は、前記第1の情報処理装置とSMBusプロトコルを用いて通信を行う第2の通信手段(例えば、SMBusI/F111)と、前記第2の通信手段により実行される、前記第1の情報処理装置とのSMBusプロトコルのうちの第1のプロトコルを用いた情報の授受、および、第2のプロトコルを用いた情報の授受を制御するとともに、前記第1のプロトコルを用いて授受された情報を基に、前記第2のプロトコルを用いた情報の授受の準備処理を実行する第2の制御手段(例えば、スレーブCPU112)とを備える。 An information processing system according to a second aspect of the present invention includes a first information processing apparatus (for example, a master device 71) and a second information processing apparatus (for example, a slave device 81) that perform communication using the SMBus protocol. The first information processing apparatus includes a first communication unit (for example, SMBus I / F 101) that communicates with the second information processing apparatus using an SMBus protocol, and the first information processing apparatus. A first control unit configured to control transmission / reception of information using the first protocol of the SMBus protocol and transmission / reception of information using the second protocol with the second information processing apparatus executed by the communication unit; Control information (for example, the master CPU 102), and the information exchanged using the first protocol includes information for notifying the exchange of information using the second protocol, The second information processing apparatus is executed by the second communication means (for example, SMBus I / F 111) that communicates with the first information processing apparatus using the SMBus protocol, and the second communication means. Controls the exchange of information using the first protocol of the SMBus protocol and the exchange of information using the second protocol with one information processing apparatus, and is exchanged using the first protocol. And second control means (for example, slave CPU 112) for executing preparation processing for exchanging information using the second protocol based on the information.
本発明の第2の側面の情報処理方法は、SMBusプロトコルを用いて通信を行う第1の情報処理装置(例えば、マスタデバイス71)と第2の情報処理装置(例えば、スレーブデバイス81)とを含む情報処理システムの情報処理方法であって、前記第1の情報処理装置と前記第2の情報処理装置とが、SMBusプロトコルのうちの第1のプロトコルを用いた、第2のプロトコルによる情報の授受を予告する情報の授受を制御し(例えば、図10のステップS1およびステップS2、図11のステップS31およびステップS32、または、図12のステップS61およびステップS62の処理)、前記第2の情報処理装置が、前記第1のプロトコルを用いて授受された情報を基に、前記第2のプロトコルを用いた情報の授受の準備処理を実行し(例えば、図10のステップS4、図11のステップS34、または、図12のステップS64の処理)、前記第1の情報処理装置と前記第2の情報処理装置とが、前記第2のプロトコルを用いた情報の授受を制御する(例えば、図10のステップS5およびステップS6、図11のステップS35およびステップS36、または、図12のステップS65およびステップS66の処理)ステップを含む。 An information processing method according to the second aspect of the present invention includes a first information processing apparatus (for example, master device 71) and a second information processing apparatus (for example, slave device 81) that perform communication using the SMBus protocol. An information processing method for an information processing system including: the first information processing device and the second information processing device using a first protocol of SMBus protocols, The second information is controlled by controlling transmission / reception of information for giving notice of the transmission / reception (for example, step S1 and step S2 in FIG. 10, step S31 and step S32 in FIG. 11, or step S61 and step S62 in FIG. 12). The processing device executes preparation processing for exchanging information using the second protocol based on the information exchanged using the first protocol (for example, For example, step S4 in FIG. 10, step S34 in FIG. 11, or step S64 in FIG. 12), the first information processing apparatus and the second information processing apparatus use the second protocol. (Steps S5 and S6 in FIG. 10, steps S35 and S36 in FIG. 11, or processes in steps S65 and S66 in FIG. 12).
以下、図を参照して、本発明の実施の形態について説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
SMBus通信路を用いてシリアル通信を行うシステムの構成例を図3に示す。 A configuration example of a system that performs serial communication using the SMBus communication path is shown in FIG.
SMBus61には、マスタデバイス71−1乃至71−nを接続することが出来るとともに、スレーブデバイス81−1乃至81−mを接続することが出来る。
Master devices 71-1 to 71-n can be connected to the
以下の説明においては、マスタデバイス71−1乃至71−nを個々に区別する必要がない場合、単に、マスタデバイス71と称し、スレーブデバイス81−1乃至81−mを個々に区別する必要がない場合、単に、スレーブデバイス81と称する。
In the following description, when the master devices 71-1 to 71-n do not need to be individually distinguished, they are simply referred to as the
マスタデバイス71とスレーブデバイス71の最も簡単な構成例(必要最低限の構成例)を図4に示す。
The simplest configuration example (minimum configuration example) of the
マスタデバイス71は、SMBus61とのインタフェースであるSMBusI/F101と、マスタデバイス71の動作を制御するマスタCPU102とを備えている。
The
スレーブデバイス81は、SMBus61とのインタフェースであるSMBusI/F111と、スレーブデバイス81の動作を制御するスレーブCPU112とを備えている。
The
図5に、マスタデバイス71とスレーブデバイス81の具体的な構成例を示す。
FIG. 5 shows a specific configuration example of the
マスタデバイス71とストレージシステム(スレーブデバイス)81とは、主にデータを授受するストレージI/F151と、上述したSMBus61で接続されている。ストレージI/F151には、例えば、PCI(Peripheral Components Interconnect)Expressなどの高速バスが用いられると好適である。
The
ストレージシステム81は、SMBusI/F111、コントローラ(スレーブCPU)112、レジスタ161、DMAコントローラ162、バッファメモリ163、内部バス164、ストレージメモリコントローラ165、および、ストレージメモリ166−1乃至166−pを含んで構成される。
The
コントローラ(スレーブCPU)112は、ストレージシステム81の動作を制御するものであり、例えば、ストレージメモリコントローラ165を制御して、ストレージメモリ166−1乃至166−pへのデータの書き込みまたは読み出しを実行させたり、マスタデバイス71から供給され、コマンドに基づいて、DMAコントローラ162の設定を行うなどの処理を実行する。
The controller (slave CPU) 112 controls the operation of the
内部バス164には、コントローラ(スレーブCPU)112、レジスタ161、DMAコントローラ162、バッファメモリ163が接続される。
A controller (slave CPU) 112, a
レジスタ161は、複数のレジスタを含むことができ、マスタデバイス71から、ストレージI/F151を介してマスタデバイス71から供給されたコマンドやその他の処理に必要な情報や引数などを保持する。
The
DMAコントローラ162は、ストレージシステム81のバッファメモリ163とマスタデバイス71のマスタメモリ141とのデータの授受を制御するものである。
The
バッファメモリ163は、ストレージI/F151を介して、マスタデバイス71から供給されたデータを一時バッファリングしたり、ストレージメモリコントローラ165の制御によりストレージメモリ166−1乃至166−pのうちのいずれかから読み出されて、ストレージI/F151およびストレージI/Fバス68を介して、マスタデバイス71に供給されるデータを一時バッファリングする。
The
ストレージメモリコントローラ165は、コントローラ(スレーブCPU)112の制御に基づいて、ストレージメモリ166−1乃至166−pへのデータの書き込みおよび読み出しを制御する。
The
ストレージメモリ166−1乃至166−pは、ストレージメモリコントローラ165により、データが書き込まれ、また、読み出される。
Data is written to and read from the storage memories 166-1 to 166-p by the
以下の説明においては、ストレージメモリ166−1乃至166−pを個々に区別する必要がない場合、単に、ストレージメモリ166と称する。
In the following description, the storage memories 166-1 to 166-p are simply referred to as the
マスタCPU102は、マスタデバイス71の動作を制御するものであり、例えば、図示しない操作入力部により入力されたユーザの操作入力に基づいて、マスタメモリ141に記憶されているデータをストレージシステム81のストレージメモリ166に書き込むためのコマンドや、ストレージシステム81のストレージメモリ166に記憶されているデータを読み込んで、マスタメモリ141に記憶させるためのコマンドなどのストレージシステム81とのデータの授受に関するコマンド、または、これ以外に、例えば、ストレージメモリ166に記憶されているデータの消去などを指令するなど、ストレージメモリ166を制御するためのコマンドを発生し、SMBus61を介して、ストレージシステム81に供給する。
The
マスタメモリ141は、マスタCPU102の制御に基づいて、所定のデータを記憶するものである。
The
また、必要に応じて、ドライブ143が内部バス142に接続される。ドライブ143は、例えば、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブルメディア171が装着されたとき、それらを駆動し、そこに記録されているプログラムやデータなどを取得する。取得されたプログラムやデータはマスタメモリ141に転送され、記録されたり、マスタCPU102にインストールされる。
Further, the
マスタデバイス71は、複数のプロトコルを組み合わせてスレーブデバイス81にコマンドを供給する。
The
その組み合わせの第1の例として、図6に、WriteByteプロトコルとBlockReadプロトコルとを組み合わせた場合を示す。 As a first example of the combination, FIG. 6 shows a case where the WriteByte protocol and the BlockRead protocol are combined.
図中、スタートコンディションはS、ストップコンディションはP、応答(Acknowledge)はA、コマンドはCommand、データはByteと記載されているものとする。 In the figure, it is assumed that the start condition is described as S, the stop condition as P, the response (Acknowledge) as A, the command as Command, and the data as Byte.
SMBusが起動すると、スレーブデバイス81は、マスタデバイス71からの所定のプロトコルによるコマンド入力待ちの状態になる。図6において、最初のスタートコンディションからストップコンディションの間のパケットは、WriteByteプロトコルを構成している。すなわち、WriteByteプロトコルは、マスタデバイス71からのスタートコンディション、および、スレーブアドレス7bit+ライトインジケータ[W]、スレーブアドレスに対応するスレーブ81からのACK[A]、マスタデバイス71からのコマンド1バイト、スレーブ81からのACK[A]、マスタデバイス71からのライトデータ1バイト、スレーブ81からのACK[A]、マスタデバイス71からのストップコンディション[P]で構成される。
When SMBus is activated, the
通信を開始するマスタデバイス71は、通信対象としたいスレーブデバイス81のスレーブアドレスを、WriteByteプロトコルのスレーブアドレスにセットし、通信を開始する。マスタデバイス71はコマンドおよびデータを送信すると、ストップコンディションにより、一旦SMBus通信を終了させる。すなわち、SMBus61を開放する。なお、ここでは、コマンドとして、次のBlockReadプロトコルにより所定のデータを要求することを通知する(換言すれば、そのための準備を指令する)コマンドをスレーブデバイス81に供給することが出来る。データはコマンドの引数として用いることができる。したがって、例えば、この例ではスレーブデバイスへの要求の識別に2バイト用いることができる。
The
そして、WriteByteプロトコルが終了すると、スレーブデバイス81は、受信したコマンドおよびデータをデコードし、例えば、マスタデバイス71が要求している送信データを準備したり、マスタデバイス71から供給されるデータを受信する準備を行い(ここでは、WriteByteプロトコルによって、次にBlockReadプロトコルによりデータの読み出しが要求されることが通知されているので、マスタデバイス71が要求している送信データが準備される)、次に、マスタデバイス71から供給される所定のプロトコルによる通信要求を待つ。
When the WriteByte protocol ends, the
次に、マスタデバイス71は、スタートコンディションで開始し、ストップコンディションで終了するBlockReadプロトコルにより、スレーブデバイス81から指定するデータを読み出すことができる。
Next, the
BlockReadプロトコルは、マスタデバイス71からのスタートコンディション[S]、および、スレーブアドレス7bit+ライトインジケータ[W]、スレーブアドレスに対応するスレーブ81からのACK[A]、マスタデバイス71からのコマンド1バイト、スレーブ81からのACK[A]、マスタデバイス71からのスタートコンディション、および、スレーブアドレス7bit(再送)+リードインジケータ[R]、スレーブ81からのACK[A]、スレーブ81からのデータカウント1バイト、マスタデバイス71からのACK[A]、スレーブ81からのリードデータ1バイト、マスタデバイス71からのACK[A]・・・スレーブ81からの最終リードデータ1バイト、マスタデバイス71からのNACK[N]、マスタデバイス71からのストップコンディション[P]で構成される。
BlockRead protocol includes start condition [S] from
ここでは、データの読み出しを指令するためのBlockReadプロトコルが2番目にスレーブデバイス81に供給される場合について説明されているが。マスタデバイス71からスレーブデバイス71にデータが送信される(例えば、スレーブデバイス71が内部に有する記憶部にデータが供給されて記憶される場合など)には、BlockReadプロトコルに代わって、例えば、BlockWriteプロトコルなどのデータの書き込みを指令するためのプロトコルが用いられることはいうまでもない。
Here, the case where the BlockRead protocol for instructing data reading is supplied to the
このように、マスタデバイス71は、WriteByteプロトコルを用いて、次のプロトコル(例えば、BlockReadプロトコル)により所定のデータを要求するまたは所定のデータを書き込むことを通知する(換言すれば、そのための準備を指令する)コマンドをスレーブデバイス81に供給し、一旦SMBus通信を終了させる。そして、その間に、スレーブデバイス81は、受信したコマンドおよびデータをデコードし、マスタデバイス71が要求している送信データを準備するか、または、データの書き込みの準備を行って、次のプロトコル(例えば、BlockReadプロトコル)を用いて供給されるコマンドにより、スレーブデバイス81とプロトコルにのっとった所定のデータの授受が行われるようになされている。これにより、図2または図3を用いて説明した従来における場合とは異なり、SMBus通信中に、コマンドおよびデータをデコードする必要がなくなる。このため、SMBus通信中に、コマンドのデコードが必要だということを割り込みして通知する必要や、コマンド用のデコーダを別途用意する必要がなく、スレーブデバイス81のハードウェアを簡素化することができる。
In this way, the
具体的な動作例として、マスタデバイス71およびスレーブデバイス81が図5を用いて説明した構成を有している場合に、マスタデバイス71がスレーブデバイス81から所定のデータを要求する(読み出し処理が実行される)場合について説明する。
As a specific operation example, when the
マスタデバイス71およびスレーブデバイス81が図5を用いて説明した構成を有している場合、SMBusが起動すると、スレーブデバイス81は、マスタデバイス71からの所定のプロトコルによるコマンド入力待ちの状態になる。マスタデバイス71のマスタCPU102は、WriteByteプロトコルを用いて、次のBlockReadプロトコルにより所定のデータを要求することを通知する(換言すれば、そのための準備を指令する)コマンドをスレーブデバイス81のレジスタ161に供給する。コントローラ(スレーブCPU)112は、レジスタ161に蓄積されたコマンドおよびデータを認識して、DMAコントローラ162を設定し、マスタデバイス71が要求する送信データを、ストレージメモリコントローラ165によりストレージメモリ166から読み出させて、バッファメモリ163に書き込ませなどの準備を行うとともに、次に、マスタデバイス71から供給されるBlockReadプロトコルによる通信要求を待つ。
When the
そして、その後、マスタデバイス71のマスタCPU102は、スレーブデバイス81に対して、BlockReadプロトコルのコマンドにおいて、データの読み出しを指令するので、スレーブデバイス81のDMAコントローラ162は、バッファメモリ163に予め蓄積されているデータを、ストレージI/F61を介して、マスタデバイス71のマスタメモリ141に供給する。
Then, since the
次に、組み合わせの第2の例として、図7に、SendByteプロトコルとBlockReadプロトコルとを組み合わせた場合を示す。 Next, as a second example of the combination, FIG. 7 shows a case where the SendByte protocol and the BlockRead protocol are combined.
スレーブデバイス81に送信する要求を識別するのに1バイトの情報があれば十分であるならば、図6を用いて説明したWriteByteプロトコルに代わって、SendByteプロトコルを用いることができる。
If one byte of information is sufficient to identify a request to be transmitted to the
SMBusが起動すると、スレーブデバイス81は、マスタデバイス71からの所定のプロトコルによるコマンド入力待ちの状態になる。図7において、最初のスタートコンディションからストップコンディションの間のパケットは、SendByteプロトコルを構成している。すなわち、SendByteプロトコルは、スタートコンディション、スレーブアドレス7bit+ライトインジケータ[W]、ACK[A]、ライトデータ1バイト、ACK[A]、ストップコンディション[P]で構成される。したがって、例えば、この例ではスレーブデバイスへの要求の識別に1バイトの情報を用いることができる。
When SMBus is activated, the
そして、SendByteプロトコルが終了すると、スレーブデバイス81は、図6を用いて説明した場合と同様にして、受信したコマンドおよびデータをデコードし、例えば、マスタデバイス71が要求している送信データを準備したり、マスタデバイス71から供給されるデータを受信する準備を行い(ここでは、SendByteプロトコルによって、次にBlockReadプロトコルによりデータの読み出しが要求されることが通知されているので、マスタデバイス71が要求している送信データが準備される)、次に、マスタデバイス71から供給される所定のプロトコルによる通信要求を待つ。
When the SendByte protocol ends, the
次に、マスタデバイス71は、図6を用いて説明した場合と同様にして、スタートコンディションで開始し、ストップコンディションで終了するBlockReadプロトコルにより、スレーブデバイス81から指定するデータを読み出すことができる。
Next, similarly to the case described with reference to FIG. 6, the
このように、マスタデバイス71は、SendByteプロトコルを用いて、次の所定のプロトコル(ここでは、BlockReadプロトコル)により所定のデータを要求するまたは所定のデータを書き込むことを通知する(換言すれば、そのための準備を指令する)コマンドをスレーブデバイス81に供給し、一旦SMBus通信を終了させる。そして、その間に、スレーブデバイス81は、受信したコマンドおよびデータをデコードし、マスタデバイス71が要求している送信データを準備するか、または、データの書き込みの準備を行って、次のプロトコルのコマンドにより、スレーブデバイス81とプロトコルにのっとった所定のデータの授受が行われるようになされている。これにより、図2または図3を用いて説明した従来における場合とは異なり、SMBus通信中に、コマンドおよびデータをデコードする必要はないため、SMBus通信中に、コマンドのデコードが必要だということを割り込みして通知する必要や、コマンド用のデコーダを別途用意する必要がなく、スレーブデバイス81のハードウェアを簡素化することができる。
As described above, the
次に、組み合わせの第3の例として、図8に、WriteWordプロトコルとBlockReadプロトコルとを組み合わせた場合を示す。 Next, as a third example of the combination, FIG. 8 shows a case where the WriteWord protocol and the BlockRead protocol are combined.
スレーブデバイス81に送信する要求を識別するのに3バイトの情報が必要であるならば、図6を用いて説明したWriteByteプロトコルに代わって、WriteWordプロトコルを用いることができる。
If 3-byte information is required to identify a request to be transmitted to the
SMBusが起動すると、スレーブデバイス81は、マスタデバイス71からの所定のプロトコルによるコマンド入力待ちの状態になる。図8において、最初のスタートコンディションからストップコンディションの間のパケットは、WriteWordプロトコルを構成している。すなわち、WriteWordプロトコルは、スタートコンディション、スレーブアドレス7bit+ライトインジケータ[W]、ACK[A]、コマンド1バイト、ACK[A]、ライトデータLow1バイト、ACK[A]、ライトデータHigh1バイト、ACK[A]、ストップコンディション[P]で構成される。したがって、例えば、この例ではスレーブデバイスへの要求の識別に3バイト用いることができる。
When SMBus is activated, the
そして、WriteWordプロトコルが終了すると、スレーブデバイス81は、図6を用いて説明した場合と同様にして、受信したコマンドおよびデータをデコードし、例えば、マスタデバイス71が要求している送信データを準備したり、マスタデバイス71から供給されるデータを受信する準備を行い(ここでは、WriteWordプロトコルによって、次にBlockReadプロトコルによりデータの読み出しが要求されることが通知されているので、マスタデバイス71が要求している送信データが準備される)、次に、マスタデバイス71から供給される所定のプロトコルによる通信要求を待つ。
When the WriteWord protocol is completed, the
次に、マスタデバイス71は、図6を用いて説明した場合と同様にして、スタートコンディションで開始し、ストップコンディションで終了するBlockReadプロトコルにより、スレーブデバイス81から指定するデータを読み出すことができる。
Next, similarly to the case described with reference to FIG. 6, the
このように、マスタデバイス71は、WriteWordプロトコルを用いて、次の所定のプロトコル(ここでは、BlockReadプロトコル)により所定のデータを要求するまたは所定のデータを書き込むことを通知する(換言すれば、そのための準備を指令する)コマンドをスレーブデバイス81に供給し、一旦SMBus通信を終了させる。そして、この場合においても、上述した場合と同様に、その間に、スレーブデバイス81は、受信したコマンドおよびデータをデコードし、マスタデバイス71が要求している送信データを準備するか、または、データの書き込みの準備を行うので、マスタデバイス71とスレーブデバイス81とでは、プロトコルにのっとった所定のデータの授受を行うことが可能である。また、WriteWordプロトコルを用いて、次の所定のプロトコルの送信を予告するようにした場合、WriteByteプロトコルやSendByteプロトコルを用いた場合よりも多くの情報を先行してスレーブデバイス81に通知することができるので、通信の自由度が高くなる。そして、上述した場合と同様にして、これにより、図2または図3を用いて説明した従来における場合とは異なり、SMBus通信中に、コマンドおよびデータをデコードする必要はがなくなり、SMBus通信中に、コマンドのデコードが必要だということを割り込みして通知する必要や、コマンド用のデコーダを別途用意する必要がなく、スレーブデバイス81のハードウェアを簡素化することができる。
In this way, the
次に、組み合わせの第4の例として、図9に、BlockWriteプロトコルとBlockReadプロトコルとを組み合わせた場合を示す。 Next, as a fourth example of the combination, FIG. 9 shows a case where the BlockWrite protocol and the BlockRead protocol are combined.
スレーブデバイス81に送信する要求を識別するのに3バイト以上の情報が必要であったり、コマンドの引数を可変にしたい場合には、図6を用いて説明したWriteByteプロトコルに代わって、WriteWordプロトコルを用いることができる。
If information of 3 bytes or more is necessary to identify a request to be transmitted to the
SMBusが起動すると、スレーブデバイス81は、マスタデバイス71からの所定のプロトコルによるコマンド入力待ちの状態になる。図9において、最初のスタートコンディションからストップコンディションの間のパケットは、BlockWriteプロトコルを構成している。すなわち、BlockWriteプロトコルは、スタートコンディション、スレーブアドレス7bit+ライトインジケータ[W]、ACK[A]、コマンド1バイト、ACK[A]、そして、N個のライトデータ1バイトと、これに対するACK[A]、および、ストップコンディション[P]で構成される。したがって、この例ではスレーブデバイスへの要求の識別に所望のバイト数のデータを用いることができる。
When SMBus is activated, the
そして、BlockWriteプロトコルが終了すると、スレーブデバイス81は、図6を用いて説明した場合と同様にして、受信したコマンドおよびデータをデコードし、例えば、マスタデバイス71が要求している送信データを準備したり、マスタデバイス71から供給されるデータを受信する準備を行い(ここでは、BlockWriteプロトコルによって、次にBlockReadプロトコルによりデータの読み出しが要求されることが通知されているので、マスタデバイス71が要求している送信データが準備される)、次に、マスタデバイス71から供給される所定のプロトコルによる通信要求を待つ。
When the BlockWrite protocol is completed, the
次に、マスタデバイス71は、図6を用いて説明した場合と同様にして、スタートコンディションで開始し、ストップコンディションで終了するBlockReadプロトコルにより、スレーブデバイス81から指定するデータを読み出すことができる。
Next, similarly to the case described with reference to FIG. 6, the
このように、マスタデバイス71は、BlockWriteプロトコルを用いて、次の所定のプロトコル(ここでは、BlockReadプロトコル)により所定のデータを要求するまたは所定のデータを書き込むことを通知する(換言すれば、そのための準備を指令する)コマンドをスレーブデバイス81に供給し、一旦SMBus通信を終了させ、その間に、スレーブデバイス81において、受信したコマンドおよびデータをデコードし、マスタデバイス71が要求している送信データを準備するか、または、データの書き込みの準備を行うことができるようにしたので、マスタデバイス71とスレーブデバイス81とでプロトコルにのっとった所定のデータの授受うを可能としている。これにより、図2または図3を用いて説明した従来における場合とは異なり、SMBus通信中に、コマンドおよびデータをデコードする必要はないため、SMBus通信中に、コマンドのデコードが必要だということを割り込みして通知する必要や、コマンド用のデコーダを別途用意する必要がなく、スレーブデバイス81のハードウェアを簡素化することができる。
In this way, the
また、BlockWriteプロトコルを用いて、次の所定のプロトコルの送信を予告するようにした場合、WriteByteプロトコルやSendByteプロトコルを用いた場合よりも多くの情報を先行してスレーブデバイス81に通知することができるので、通信の自由度が高くなる。
Further, when the block write protocol is used to notify the transmission of the next predetermined protocol, more information can be notified to the
このように、複数用いられるプロトコルのうちの1つ目のプロトコルは、スレーブデバイス81への情報の供給または書き込みを指令するコマンドを含むプロトコルであるものとすることができる。
As described above, the first protocol among the plurality of protocols used may be a protocol including a command for instructing supply or writing of information to the
なお、図6乃至図9を用いて説明した4つの組み合わせにおいては、2つ目のプロトコルとして、BlockReadプロトコルに代わって、スレーブデバイス81に送信する要求に応じて、任意のSMBusプロトコルを用いることができる。
In the four combinations described with reference to FIGS. 6 to 9, an arbitrary SMBus protocol may be used as a second protocol in response to a request transmitted to the
次に、図10のフローチャートを参照して、マスタデバイス71とスレーブデバイス81とが実行する第1の処理例について説明する。ここでは、マスタデバイス71からスレーブデバイス81にデータが供給されて、スレーブデバイス81に記憶される(書き込まれる)ことが要求される場合であって、最初にマスタデバイス71からスレーブデバイス81に供給されるデータ記憶命令の送信通知には、1または2バイト必要である場合の処理について説明する。
Next, a first processing example executed by the
ステップS1において、マスタデバイス71のマスタCPU102は、WriteByteプロトコル、または、SendByteプロトコルを用いて、データ記憶命令の送信通知、すなわち、次に、BlockWriteプロトコルでコマンドが送信されることを予告する情報を、SMBusI/F101およびSMBus61を介して、スレーブデバイス81に供給する。
In step S1, the
ステップS2において、スレーブデバイス81のスレーブCPU112は、SMBusI/F111を介して、WriteByteプロトコル、または、SendByteプロトコルのデータ記憶命令の送信通知を受信する。
In step S <b> 2, the
ステップS3において、スレーブデバイス81のスレーブCPU112は、WriteByteプロトコル、または、SendByteプロトコルのコマンドやその引数などを解釈する。
In step S3, the
ステップS4において、スレーブデバイス81のスレーブCPU112は、コマンドやその引数などに基づいて、データの記憶準備を実行する。例えば、マスタデバイス71およびスレーブデバイス81が図5を用いて説明した構成を有している場合、スレーブデバイス81のスレーブCPU(コントローラ)112は、DMAコントローラ162を設定したり、バッファメモリ163に、新たに書き込まれるデータの分のバッファリング領域を確保する処理を実行する。また、SMBus61が開放されるため、スレーブデバイス81は、マスタデバイス71からの要求待ち状態となり、次に、マスタデバイス71から供給されるBlockWriteプロトコルによる通信要求を待つ。
In step S4, the
ステップS5において、マスタデバイス71のマスタCPU102は、BlockWriteプロトコルを用いて、データおよびデータ記憶命令を、SMBusI/F101およびSMBus61を介して、スレーブデバイス81に供給する。
In step S5, the
ステップS6において、スレーブデバイス81のスレーブCPU112は、SMBusI/F111を介して、BlockWriteプロトコルのデータおよびデータ記憶命令を受信する。
In step S <b> 6, the
ステップS7において、スレーブデバイス81のスレーブCPU112は、BlockWriteプロトコルのコマンドやその引数などを解釈する。
In step S7, the
ステップS8において、スレーブデバイス81のスレーブCPU112は、コマンドやその引数などに基づいて、データの記憶処理を実行し、処理が終了される。例えば、マスタデバイス71およびスレーブデバイス81が図5を用いて説明した構成を有している場合、スレーブデバイス81のDMAコントローラ162は、ストレージI/F151を介して、マスタメモリ141から、記憶が指令された(書き込まれる)データを読み込み、バッファメモリ163に書き込む。そして、スレーブCPU(コントローラ)112は、ストレージメモリコントローラ165を制御し、バッファメモリ163からストレージメモリ166にデータを供給して記憶させる。
In step S8, the
このような処理により、マスタデバイス71は、WriteByteプロトコル、または、SendByteプロトコルにより、次のBlockWriteプロトコルにより所定のデータを書き込むことを通知する(換言すれば、そのための準備を指令する)コマンドをスレーブデバイス81に供給し、一旦SMBus通信を終了させる。そして、その間に、スレーブデバイス81は、受信したコマンドおよびデータをデコードし、データの書き込みの準備を行う。その後、マスタデバイス71は、BlockWriteプロトコルにより、スレーブデバイス81にデータを供給して記憶させることができる。これにより、図2または図3を用いて説明した従来における場合とは異なり、SMBus通信中に、コマンドおよびデータをデコードする必要はない。このため、SMBus通信中に、コマンドのデコードが必要だということを割り込みして通知する必要や、コマンド用のデコーダを別途用意する必要がなく、スレーブデバイス81のハードウェアを簡素化することができる。
By such processing, the
次に、図11のフローチャートを参照して、マスタデバイス71とスレーブデバイス81とが実行する第2の処理例について説明する。ここでは、マスタデバイス71からスレーブデバイス81にデータが供給されて、スレーブデバイス81に記憶され、最初にマスタデバイス71からスレーブデバイス81に供給されるデータ記憶命令の送信通知には、3バイト以上必要である場合の処理について説明する。
Next, a second processing example executed by the
ステップS31において、マスタデバイス71のマスタCPU102は、WriteWordプロトコル、または、BlockWriteプロトコルを用いて、データ記憶命令の送信通知、すなわち、次に、BlockWriteプロトコルでコマンドが送信されることを予告する情報を、SMBusI/F101およびSMBus61を介して、スレーブデバイス81に供給する。
In step S31, the
ステップS32において、スレーブデバイス81のスレーブCPU112は、SMBusI/F111を介して、WriteWordプロトコル、または、BlockWriteプロトコルのデータ記憶命令の送信通知を受信する。
In step S32, the
ステップS33において、スレーブデバイス81のスレーブCPU112は、WriteWordプロトコル、または、BlockWriteプロトコルのコマンドやその引数などを解釈する。
In step S33, the
ステップS34において、スレーブデバイス81のスレーブCPU112は、コマンドやその引数などに基づいて、データの記憶準備を実行する。例えば、マスタデバイス71およびスレーブデバイス81が図5を用いて説明した構成を有している場合、スレーブデバイス81のスレーブCPU(コントローラ)112は、DMAコントローラ162を設定したり、バッファメモリ163に、新たに書き込まれるデータの分のバッファリング領域を確保する処理を実行するとともに、次に、マスタデバイス71から供給されるBlockWriteプロトコルによる通信要求を待つ。
In step S34, the
ステップS35において、マスタデバイス71のマスタCPU102は、BlockWriteプロトコルを用いて、データおよびデータ記憶命令を、SMBusI/F101およびSMBus61を介して、スレーブデバイス81に供給する。
In step S35, the
ステップS36において、スレーブデバイス81のスレーブCPU112は、SMBusI/F111を介して、BlockWriteプロトコルのデータおよびデータ記憶命令を受信する。
In step S <b> 36, the
ステップS37において、スレーブデバイス81のスレーブCPU112は、BlockWriteプロトコルのコマンドやその引数などを解釈する。
In step S37, the
ステップS38において、スレーブデバイス81のスレーブCPU112は、コマンドやその引数などに基づいて、データの記憶処理を実行し、処理が終了される。例えば、マスタデバイス71およびスレーブデバイス81が図5を用いて説明した構成を有している場合、スレーブデバイス81のDMAコントローラ162は、ストレージI/F151を介して、マスタメモリ141から、記憶が指令された(書き込まれる)データを読み込み、バッファメモリ163に書き込む。そして、スレーブCPU(コントローラ)112は、ストレージメモリコントローラ165を制御し、バッファメモリ163からストレージメモリ166にデータを供給して記憶させる。
In step S38, the
このような処理により、マスタデバイス71はWriteWordプロトコル、または、BlockWriteプロトコルにより、次のBlockWriteプロトコルにより所定のデータを書き込むことを通知する(換言すれば、そのための準備を指令する)コマンドをスレーブデバイス81に供給し、一旦SMBus通信を終了させる。そして、その間に、スレーブデバイス81は、受信したコマンドおよびデータをデコードし、データの書き込みの準備を行う。その後、マスタデバイス71は、BlockWriteプロトコルにより、スレーブデバイス81にデータを供給して記憶させることができる。これにより、図2または図3を用いて説明した従来における場合とは異なり、SMBus通信中に、コマンドおよびデータをデコードする必要はない。このため、SMBus通信中に、コマンドのデコードが必要だということを割り込みして通知する必要や、コマンド用のデコーダを別途用意する必要がなく、スレーブデバイス81のハードウェアを簡素化することができる。
By such processing, the
また、WriteWordプロトコル、または、BlockWriteプロトコルを用いて、次の所定のプロトコルの送信を予告するようにした場合、WriteByteプロトコルやSendByteプロトコルを用いた場合よりも多くの情報を先行してスレーブデバイス81に通知することができるので、通信の自由度が高くなる。
In addition, when the WriteWord protocol or BlockWrite protocol is used to notify the transmission of the next predetermined protocol, the
また、図10および図11においては、2番目に供給されるプロトコルとしてBlockWriteが用いられる場合について説明したが、書き込まれるデータの情報量などに基づいて、例えば、WriteWordプロトコル、または、WriteByteプロトコルなど、異なるプロトコルを用いてもよいことは言うまでもない。 10 and FIG. 11, the case where BlockWrite is used as the second supplied protocol has been described. However, based on the amount of data to be written, for example, the WriteWord protocol, the WriteByte protocol, etc. Of course, different protocols may be used.
次に、図12のフローチャートを参照して、マスタデバイス71とスレーブデバイス81とが実行する第3の処理例について説明する。ここでは、スレーブデバイス81に記憶されているデータがマスタデバイス71から読み出される処理が実行される場合であって、最初にマスタデバイス71からスレーブデバイス81に供給されるデータ読み出し命令の送信通知には、3バイト以上必要である場合の処理について説明する。
Next, a third processing example executed by the
ステップS61において、マスタデバイス71のマスタCPU102は、WriteWordプロトコル、または、BlockWriteプロトコルを用いて、データ読み出し命令の送信通知を、SMBusI/F101およびSMBus61を介して、スレーブデバイス81に供給する。
In step S61, the
ステップS62において、スレーブデバイス81のスレーブCPU112は、SMBusI/F111を介して、WriteWordプロトコル、または、BlockWriteプロトコルのデータ読み出し命令の送信通知を受信する。
In step S62, the
ステップS63において、スレーブデバイス81のスレーブCPU112は、WriteWordプロトコル、または、BlockWriteプロトコルのコマンドやその引数などを解釈する。
In step S63, the
ステップS64において、スレーブデバイス81のスレーブCPU112は、コマンドやその引数などに基づいて、データの読み出し準備を実行する。例えば、マスタデバイス71およびスレーブデバイス81が図5を用いて説明した構成を有している場合、スレーブデバイス81のスレーブCPU(コントローラ)112は、DMAコントローラ162を設定したり、マスタデバイス71から読み出されるデータを、ストレージメモリコントローラ165の処理によりバッファメモリ163に書き出しておくとともに、次に、マスタデバイス71から供給されるBlockReadプロトコルによる通信要求を待つ。
In step S64, the
ステップS65において、マスタデバイス71のマスタCPU102は、BlockReadプロトコルを用いて、データ読み出し命令を、SMBusI/F101およびSMBus61を介して、スレーブデバイス81に供給する。
In step S65, the
ステップS66において、スレーブデバイス81のスレーブCPU112は、SMBusI/F111を介して、BlockReadプロトコルのデータ読み出し命令を受信する。
In step S66, the
ステップS67において、スレーブデバイス81のスレーブCPU112は、BlockReadプロトコルのコマンドやその引数などを解釈する。
In step S67, the
ステップS68において、スレーブデバイス81のスレーブCPU112は、コマンドやその引数などに基づいて、データの読み出し処理を実行し、処理が終了される。例えば、マスタデバイス71およびスレーブデバイス81が図5を用いて説明した構成を有している場合、スレーブデバイス81のDMAコントローラ162は、ストレージI/F151を介して、読み出しが指令されたデータをバッファメモリ163からマスタメモリ141に供給する。
In step S68, the
このような処理により、マスタデバイス71はWriteWordプロトコル、または、BlockWriteプロトコルにより、次のBlockReadプロトコルにより所定のデータを読み出すことを通知する(換言すれば、そのための準備を指令する)コマンドをスレーブデバイス81に供給し、一旦SMBus通信を終了させる。そして、その間に、スレーブデバイス81は、受信したコマンドおよびデータをデコードし、データの読み出しの準備を行う。その後、マスタデバイス71は、BlockReadプロトコルにより、スレーブデバイス81から所定のデータを読み出すことができる。これにより、図2または図3を用いて説明した従来における場合とは異なり、SMBus通信中に、コマンドおよびデータをデコードする必要はない。このため、SMBus通信中に、コマンドのデコードが必要だということを割り込みして通知する必要や、コマンド用のデコーダを別途用意する必要がなく、スレーブデバイス81のハードウェアを簡素化することができる。
By such processing, the
また、図12においては、2番目に供給されるプロトコルとしてBlockReadが用いられる場合について説明したが、書き込まれるデータの情報量などに基づいて、例えば、ReadWordプロトコル、または、ReadByteプロトコルなど、異なるプロトコルを用いてもよいことは言うまでもない。 In FIG. 12, the case where BlockRead is used as the second protocol to be supplied has been described. However, based on the amount of data to be written, different protocols such as the ReadWord protocol or the ReadByte protocol are used. Needless to say, it may be used.
なお、図10を用いて説明したWriteByteプロトコル、または、SendByteプロトコルと、図12を用いて説明したBlockReadプロトコルとを組み合わせて、データの読み出し処理を実行することも可能であることはいうまでもない。 Needless to say, it is also possible to execute a data read process by combining the WriteByte protocol or SendByte protocol described with reference to FIG. 10 and the BlockRead protocol described with reference to FIG. .
このように、2つのSMBusプロトコルを連続して用いて、最初のプロトコルで、次のプロトコルの予告通知をすることにより、コマンドを受信する装置において、SMBus通信中に割り込みを行ったり、コマンドを個別にデコードする必要がなくなる。これにより、コマンド用のデコーダを別途用意する必要がなくなる。すなわち、スレーブデバイスのハードウェアを簡素化しつつ、SMBusプロトコルを用いて、マスタデバイスとスレーブデバイスとの間でコマンドを授受することが出来る。 In this way, by using the two SMBus protocols in succession and giving the advance notice of the next protocol in the first protocol, the device receiving the command can interrupt during SMBus communication, No need to decode. This eliminates the need for a separate command decoder. That is, commands can be exchanged between the master device and the slave device using the SMBus protocol while simplifying the hardware of the slave device.
このような構成を有することにより、例えば、マスタデバイス71およびスレーブデバイス81が図5を用いて説明した構成を有している場合、マスタデバイス71およびスレーブデバイス81の間で、ストレージI/F151を介して授受されるデータ以外に、SMBus61を用いて情報やコマンドを授受することができる。これにより、例えば、スレーブデバイス81のバッテリ残量、ストレージメモリ166に記録されているデータの名称や記録時間などのメタデータ、または、ストレージメモリ166に記録されているデータのデータ量もしくはストレージメモリ166の残量など、即時応答性を特に必要としない(低速なインタフェースで授受しても問題がない)情報や、データ量の少ない情報などを、例えば起動に複雑な処理が必要なPCIExpressなどのインタフェースを用いることなく、容易にマスタデバイス71に通知することができる。
By having such a configuration, for example, when the
上述した一連の処理は、ソフトウェアにより実行することもできる。そのソフトウェアは、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。 The series of processes described above can also be executed by software. The software is a computer in which the program constituting the software is incorporated in dedicated hardware, or various functions can be executed by installing various programs, for example, a general-purpose personal computer For example, it is installed from a recording medium.
この記録媒体は、図5に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む)、光磁気ディスク(MD(Mini-Disk)(商標)を含む)、もしくは半導体メモリなどよりなるリムーバブルメディア171などにより構成される。
As shown in FIG. 5, the recording medium is distributed to provide a program to a user separately from a computer, and includes a magnetic disk (including a flexible disk) on which the program is recorded, an optical disk (CD-ROM ( It includes a
また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。 Further, in the present specification, the step of describing the program recorded on the recording medium is not limited to the processing performed in chronological order according to the described order, but may be performed in parallel or It also includes processes that are executed individually.
なお、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。 In the present specification, the term “system” represents the entire apparatus constituted by a plurality of apparatuses.
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。 The embodiment of the present invention is not limited to the above-described embodiment, and various modifications can be made without departing from the gist of the present invention.
71 マスタデバイス, 81 スレーブデバイス, 101 SMBusI/F, 102 マスタCPU, 111 SMBusI/F, 112 スレーブCPU, 141 マスタメモリ, 162 DMAコントローラ, 163 バッファメモリ, 166 ストレージメモリ 71 Master device, 81 Slave device, 101 SMBus I / F, 102 Master CPU, 111 SMBus I / F, 112 Slave CPU, 141 Master memory, 162 DMA controller, 163 Buffer memory, 166 Storage memory
Claims (8)
前記他の装置とSMBusプロトコルを用いて通信を行う通信手段と、
前記通信手段により実行される、前記他の装置とのSMBusプロトコルのうちの第1のプロトコルを用いた情報の授受、および、第2のプロトコルを用いた情報の授受を制御する制御手段と
を備え、
前記第1のプロトコルを用いて授受される情報は、前記第2のプロトコルを用いた情報の授受を予告するための情報を含む
情報処理装置。 In an information processing device that communicates with other devices using the SMBus protocol,
A communication means for communicating with the other device using the SMBus protocol;
Control means for controlling the exchange of information using the first protocol of the SMBus protocol and the exchange of information using the second protocol executed by the communication means, with the other device. ,
The information exchanged using the first protocol includes information for notifying the exchange of information using the second protocol.
請求項1に記載の情報処理装置。 The information processing apparatus according to claim 1, wherein the first protocol is a protocol including a command for instructing supply or writing of information to the other apparatus.
請求項1に記載の情報処理装置。 The information processing apparatus according to claim 1, wherein the first protocol is determined based on an amount of information necessary for notifying transmission / reception of information using the second protocol.
前記他の装置との、SMBusプロトコルのうちの第1のプロトコルを用いた、第2のプロトコルによる情報の授受を予告する情報の授受を制御し、
前記他の装置との、前記第2のプロトコルを用いた情報の授受を制御する
ステップを含む情報処理方法。 In an information processing method of an information processing device that communicates with other devices using the SMBus protocol,
Controlling the exchange of information with the other device using the first protocol of the SMBus protocols, for notifying the exchange of information according to the second protocol,
An information processing method including a step of controlling exchange of information with the other device using the second protocol.
前記他の装置との、SMBusプロトコルのうちの第1のプロトコルを用いた、第2のプロトコルによる情報の授受を予告する情報の授受を制御し、
前記他の装置との、前記第2のプロトコルを用いた情報の授受を制御する
ステップを含む処理をコンピュータに実行させるプログラム。 A program for causing a computer to execute processing for controlling communication with other devices using the SMBus protocol,
Controlling the exchange of information with the other device using the first protocol of the SMBus protocols, for notifying the exchange of information according to the second protocol,
A program that causes a computer to execute processing including a step of controlling exchange of information with the other apparatus using the second protocol.
前記第1の情報処理装置は、
前記第2の情報処理装置とSMBusプロトコルを用いて通信を行う第1の通信手段と、
前記第1の通信手段により実行される、前記第2の情報処理装置とのSMBusプロトコルのうちの第1のプロトコルを用いた情報の授受、および、第2のプロトコルを用いた情報の授受を制御する第1の制御手段と
を備え、
前記第1のプロトコルを用いて授受される情報は、前記第2のプロトコルを用いた情報の授受を予告するための情報を含み、
前記第2の情報処理装置は、
前記第1の情報処理装置とSMBusプロトコルを用いて通信を行う第2の通信手段と、
前記第2の通信手段により実行される、前記第1の情報処理装置とのSMBusプロトコルのうちの第1のプロトコルを用いた情報の授受、および、第2のプロトコルを用いた情報の授受を制御するとともに、前記第1のプロトコルを用いて授受された情報を基に、前記第2のプロトコルを用いた情報の授受の準備処理を実行する第2の制御手段と
を備える情報処理システム。 In an information processing system including a first information processing apparatus and a second information processing apparatus that perform communication using the SMBus protocol,
The first information processing apparatus includes:
First communication means for communicating with the second information processing apparatus using the SMBus protocol;
Controls the exchange of information using the first protocol of the SMBus protocol and the exchange of information using the second protocol executed by the first communication means with the second information processing apparatus. And a first control means for
The information exchanged using the first protocol includes information for notifying the exchange of information using the second protocol,
The second information processing apparatus
Second communication means for communicating with the first information processing apparatus using the SMBus protocol;
Controlling the exchange of information using the first protocol of the SMBus protocol with the first information processing apparatus and the exchange of information using the second protocol executed by the second communication means And an information processing system comprising: a second control unit configured to execute a preparation process for exchanging information using the second protocol based on the information exchanged using the first protocol.
前記第1の情報処理装置と前記第2の情報処理装置とが、SMBusプロトコルのうちの第1のプロトコルを用いた、第2のプロトコルによる情報の授受を予告する情報の授受を制御し、
前記第2の情報処理装置が、前記第1のプロトコルを用いて授受された情報を基に、前記第2のプロトコルを用いた情報の授受の準備処理を実行し、
前記第1の情報処理装置と前記第2の情報処理装置とが、前記第2のプロトコルを用いた情報の授受を制御する
ステップを含む情報処理方法。 In an information processing method of an information processing system including a first information processing apparatus and a second information processing apparatus that perform communication using the SMBus protocol,
The first information processing apparatus and the second information processing apparatus control the transmission / reception of information foretelling the transmission / reception of information according to the second protocol using the first protocol of the SMBus protocols;
The second information processing apparatus executes preparation processing for exchanging information using the second protocol based on the information exchanged using the first protocol,
An information processing method including a step in which the first information processing apparatus and the second information processing apparatus control exchange of information using the second protocol.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006180783A JP2008009804A (en) | 2006-06-30 | 2006-06-30 | Information processor and information processing method, information processing system, program and recording medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006180783A JP2008009804A (en) | 2006-06-30 | 2006-06-30 | Information processor and information processing method, information processing system, program and recording medium |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008009804A true JP2008009804A (en) | 2008-01-17 |
Family
ID=39067939
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006180783A Withdrawn JP2008009804A (en) | 2006-06-30 | 2006-06-30 | Information processor and information processing method, information processing system, program and recording medium |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008009804A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017518585A (en) * | 2014-03-24 | 2017-07-06 | イーエニエーエスセー テック − インスティチュート デ エンゲンハリア デ システマス エ コンピュータドレス テクノロジア エ シエンシアInesc Tec − Instituto De Engenharia De Sistemas E Computadores, Tecnologia E Ciencia | Control module for resource management of multiple mixed signals |
-
2006
- 2006-06-30 JP JP2006180783A patent/JP2008009804A/en not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017518585A (en) * | 2014-03-24 | 2017-07-06 | イーエニエーエスセー テック − インスティチュート デ エンゲンハリア デ システマス エ コンピュータドレス テクノロジア エ シエンシアInesc Tec − Instituto De Engenharia De Sistemas E Computadores, Tecnologia E Ciencia | Control module for resource management of multiple mixed signals |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4799417B2 (en) | Host controller | |
KR102111741B1 (en) | EMBEDDED MULTIMEDIA CARD(eMMC), AND METHODS FOR OPERATING THE eMMC | |
CN113434446A (en) | Flexible bus protocol negotiation and enablement sequence | |
EP1389760B1 (en) | Data transfer control system, program and data transfer control method | |
TW201131368A (en) | Command queue for peripheral component | |
JP6370027B2 (en) | Continuous read burst support at high clock speeds | |
US20060168366A1 (en) | Direct memory access control method, direct memory access controller, information processing system, and program | |
JP2009043256A (en) | Accessing method and arrangement of memory unit | |
CN102646446A (en) | Hardware dynamic cache power management | |
JP2008090851A (en) | Storage system and data transfer method | |
TWI497307B (en) | Usb transaction translator and usb transaction translation method | |
TW201112131A (en) | Controllers, apparatuses, and methods for transferring data | |
TW201344444A (en) | Motherboard and data processing method thereof | |
JP2005275538A (en) | Direct memory access control device and method | |
JP2008009803A (en) | Information storage device, information transfer method, information transfer system, program and recording medium | |
JP2003288317A (en) | System and method for detecting and compensating for runt block data transfer | |
US10853255B2 (en) | Apparatus and method of optimizing memory transactions to persistent memory using an architectural data mover | |
JP2007011526A (en) | Hdd controller and system provided therewith | |
JP2008009804A (en) | Information processor and information processing method, information processing system, program and recording medium | |
WO2009115777A1 (en) | Sharing of access to a storage device | |
TW200523789A (en) | Method and system for direct access to a non-memory mapped device memory | |
JP2007011659A (en) | Interface device, disk drive, and interface control method | |
JP2007018195A (en) | Information processing method and information processor | |
JP2006126938A (en) | Data transfer system and its data transfer method | |
KR101345437B1 (en) | Interfacing apparatus and method for communication between chips |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20090901 |