JP2020064413A - Qspi master device, information processing device, control method thereof, and program - Google Patents

Qspi master device, information processing device, control method thereof, and program Download PDF

Info

Publication number
JP2020064413A
JP2020064413A JP2018195298A JP2018195298A JP2020064413A JP 2020064413 A JP2020064413 A JP 2020064413A JP 2018195298 A JP2018195298 A JP 2018195298A JP 2018195298 A JP2018195298 A JP 2018195298A JP 2020064413 A JP2020064413 A JP 2020064413A
Authority
JP
Japan
Prior art keywords
qspi
slave
clock signal
master
signal
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
JP2018195298A
Other languages
Japanese (ja)
Inventor
稔雄 吉原
Toshio Yoshihara
稔雄 吉原
大佑 松永
Daisuke Matsunaga
大佑 松永
康智 田中
Yasutomo Tanaka
康智 田中
新藤 泰士
Hiroshi Shindo
泰士 新藤
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2018195298A priority Critical patent/JP2020064413A/en
Publication of JP2020064413A publication Critical patent/JP2020064413A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Systems (AREA)

Abstract

To provide a technology not causing an error in both cases when a bridge device is connected between a master device and a slave device and when the slave device is directly connected to the master device.SOLUTION: The information processing device includes master device, at least one slave device communicating with the master device, and interface means performing communication in a master slave mode in synchronization with a clock signal, detects that the device connected to the interface means is a bridge device, and sets the master device to a mode which does not stop output of the clock signal on the basis of the detected result.SELECTED DRAWING: Figure 5

Description

本発明は、QSPIマスタデバイス、情報処理装置とその制御方法、並びにプログラムに関する。   The present invention relates to a QSPI master device, an information processing device, a control method thereof, and a program.

情報処理装置で使用される半導体メモリには、DRAM(Dynamic Random Access Memory)等の揮発性メモリと、フラッシュメモリやFRAM(Ferroelectric Random Access Memory)(登録商標)等の不揮発性メモリがある。DRAMは大容量で、高速アクセスが可能なので、OSや各種アプリケーションを実行するためのデータの保存や、画像処理を実行するための一時的なデータの保存等に使用される。一方、フラッシュメモリやFRAM(登録商標)は、小中容量でアクセス速度が定速なので、プログラムやログ情報の保存等に使用される。しかし、近年のFRAMは高速アクセスが可能となってきているので、DRAMの置き換えとしての利用も検討されている。   Semiconductor memories used in information processing devices include volatile memories such as DRAM (Dynamic Random Access Memory) and nonvolatile memories such as flash memory and FRAM (Ferroelectric Random Access Memory) (registered trademark). Since the DRAM has a large capacity and can be accessed at high speed, it is used for storing data for executing the OS and various applications, and temporarily storing data for executing image processing. On the other hand, the flash memory and FRAM (registered trademark) are used for storing programs and log information, etc., because they have a small and medium capacity and a constant access speed. However, since recent FRAMs have become capable of high-speed access, their use as replacements for DRAMs is also being considered.

FRAMのインタフェースには、一般的なシリアルインタフェースであるSPI(Serial Periheral Interfase)や、パラレルインタフェース等があり、PCB基板の面積削減などの観点から、信号線が少ないシリアルインタフェースが採用されている。そのSPIの中でも、複数のシリアルデータ信号線を有し、より高速アクセス可能なQSPI(Quad Serial Periheral Interfase)を採用するメモリデバイスも増えてきている。FRAMの容量は、現状では最大でも数Mbit(メガビット)であり、数十Gbit(ギガビット)のDRAMの容量には遠く及ばない。   The FRAM interface includes a general serial interface such as SPI (Serial Peripheral Interface) and a parallel interface, and a serial interface with a small number of signal lines is adopted from the viewpoint of reducing the area of the PCB substrate. Among the SPIs, an increasing number of memory devices have a plurality of serial data signal lines and employ a QSPI (Quad Serial Peripheral Interface) that enables faster access. At present, the capacity of FRAM is several Mbits (megabits) at the maximum, which is far short of the capacity of DRAM of several tens of Gbits (gigabits).

一方、ソフトウェアログ取得等の用途で必要とされるメモリの容量が増加している。これは、近年の情報処理装置の多機能化・高機能化に伴い、情報処理装置を制御するためのソフトウェアも複雑化しており、取得すべきソフトウェアログも従来に比べて格段に多くなってきているためである。メモリ容量を増加する方法として、チップセレクトを複数本用意し、FRAMデバイスを複数接続する方法がある。しかし、QSPIではPCB基板上の信号線の接続が、クロック信号とデータ信号が複数のデバイスで共通に接続されるために、高速アクセスする場合における信号品質やタイミング制約を守ることができない。   On the other hand, the amount of memory required for applications such as software log acquisition is increasing. This is because the software for controlling the information processing device has become complicated with the recent increase in the number of functions of the information processing device and the sophistication of the information processing device. This is because As a method of increasing the memory capacity, there is a method of preparing a plurality of chip selects and connecting a plurality of FRAM devices. However, in QSPI, the signal line connection on the PCB substrate is commonly connected to a plurality of devices for the clock signal and the data signal, so that the signal quality and timing constraint in high-speed access cannot be protected.

このようなPCB基板での信号品質やタイミング制約を解決する方法として、QSPI信号をブリッジするブリッジ回路を設ける手法がある。つまり、一つのマスタインタフェースからデータを受信するスレーブ回路を備え、複数のスレーブインタフェースに対して、受信したデータをアドレスによって振り分ける複数のマスタ回路を持つブリッジ回路を設ける構成である。この構成により、信号の分岐を減らすことができるため、信号の品質やタイミング制約を守ることができ、FRAMデバイスのメモリ容量を増加させることができる。   As a method of solving such signal quality and timing constraint on the PCB board, there is a method of providing a bridge circuit for bridging the QSPI signal. That is, the configuration is such that a slave circuit that receives data from one master interface is provided, and a bridge circuit that has a plurality of master circuits that distributes the received data to the plurality of slave interfaces according to addresses is provided. With this configuration, signal branching can be reduced, so that signal quality and timing constraints can be maintained, and the memory capacity of the FRAM device can be increased.

1つのデバイスが複数のメモリデバイスを制御するためのブリッジ回路に関する技術として、特許文献1には、SPIマスタ回路からのシリアルデータをスレーブデバイスの数に応じて分離変換し、SPIスレーブ回路へのデータを1個のデータに多重変換することが記載されている。この技術を採用することにより、マスタ回路に複数のスレーブデバイスであるメモリデバイスを接続できるので、アクセス可能なメモリ容量を増加させることができる。また、スレーブデバイスへのアクセス周波数は、スレーブデバイスの数に比例して遅くなるため、タイミング制約に関しても軽減される。しかし、通常であれば入出力タイミングを合わせるためにFF(フリップフロップ)を入出力部に挿入する等の回路構成ではないために、一般的にACタイミングを守ることが困難となる。今後、さらにアクセス周波数が早くなることを考えると、ACタイミングを守ることが益々困難となる。   As a technique related to a bridge circuit for one device to control a plurality of memory devices, Patent Document 1 discloses that serial data from an SPI master circuit is separated and converted according to the number of slave devices, and data to the SPI slave circuit is converted. Is described as being converted into one piece of data. By adopting this technique, a plurality of memory devices, which are slave devices, can be connected to the master circuit, so that the accessible memory capacity can be increased. Further, since the access frequency to the slave device becomes slower in proportion to the number of slave devices, the timing constraint can be reduced. However, it is usually difficult to keep the AC timing because the circuit configuration is not such that an FF (flip-flop) is normally inserted in the input / output section to match the input / output timing. Considering that the access frequency will become faster in the future, it becomes more and more difficult to keep the AC timing.

またこの技術では、各スレーブデバイスに対して、オペコードやアドレスについても時分割で送信するために、分割されたスレーブは同一デバイスに入力されることが前提となっている。このため、例えば、物理的に分割されたFRAMデバイスを複数接続するような構成ではこの技術を採用することができない。   Further, in this technique, since the operation code and the address are also transmitted to each slave device in a time division manner, it is premised that the divided slaves are input to the same device. Therefore, for example, this technique cannot be adopted in a configuration in which a plurality of physically divided FRAM devices are connected.

特許第6090873号公報Japanese Patent No. 6090873

物理的に分割されたFRAMデバイスを複数接続してメモリ容量を増やし、かつ、ACタイミングを考慮したブリッジ回路の構成としては、以下の構成が考えられる。スレーブ回路にACタイミング調整のためのフリップフロップを追加し、スレーブ回路を動作させるクロック信号に、シリアルインタフェースのクロック信号を使用する。しかし、QSPIのクロック信号はアクセス中のみトグルするので、ブリッジ回路においてACタイミング調整で追加したフリップフロップの数分や、レイテンシ等のサイクル分、クロック信号がトグルしないためにブリッジ回路の動作を完了させることができない。   The following configurations are conceivable as the configuration of the bridge circuit in which a plurality of physically divided FRAM devices are connected to increase the memory capacity and AC timing is taken into consideration. A flip-flop for AC timing adjustment is added to the slave circuit, and the clock signal of the serial interface is used as the clock signal for operating the slave circuit. However, since the QSPI clock signal toggles only during access, the operation of the bridge circuit is completed because the clock signal does not toggle for the number of flip-flops added by AC timing adjustment in the bridge circuit or for cycles such as latency. I can't.

この問題を解決するために、QSPIマスタ回路を変更してクロックを止めない構成にすることも考えられるが、このマスタ回路にブリッジ回路ではなくFRAM等のQSPIデバイスが、直接接続される場合は問題となる。例えば、製品の仕様によって、大容量FRAMが必要な場合と、小容量FRAMで問題ない場合があり、どちらの容量も接続される構成がある。この場合、マスタに、直接、FRAMが接続されてQSPIのクロック出力が止まらない場合はQSPIに準拠しないために誤動作を起こす場合がある。   In order to solve this problem, it is conceivable to change the QSPI master circuit so that the clock is not stopped. However, when a QSPI device such as FRAM is directly connected to this master circuit, a problem will occur. Becomes For example, depending on the specifications of the product, there are cases where a large-capacity FRAM is required and cases where a small-capacity FRAM does not cause any problem. In this case, if the FRAM is directly connected to the master and the clock output of QSPI does not stop, malfunction may occur due to non-compliance with QSPI.

本発明の目的は、上記従来技術の問題点の少なくとも一つを解決することにある。   An object of the present invention is to solve at least one of the problems of the above-mentioned conventional techniques.

本発明の目的は、マスタデバイスとスレーブデバイスとの間にブリッジデバイスが接続される場合と、マスタデバイスに直接スレーブデバイスが接続される場合のいずれでも、誤動作を生じさせない技術を提供することにある。   An object of the present invention is to provide a technique that does not cause a malfunction whether a bridge device is connected between a master device and a slave device or a slave device is directly connected to the master device. .

上記目的を達成するために本発明の一態様に係る情報処理装置は以下のような構成を備える。即ち、
マスタデバイスと、
前記マスタデバイスと通信する少なくとも一つのスレーブデバイスと、
クロック信号に同期してマスタスレーブ形式で通信を行うインタフェース手段を有する情報処理装置であって、
前記インタフェース手段に接続されたデバイスがブリッジデバイスであることを検出する検出手段と、
前記検出手段が検出した結果に基づいて、前記マスタデバイスを前記クロック信号の出力を停止しないモードに設定する設定手段と、を有することを特徴とする。
In order to achieve the above object, an information processing apparatus according to an aspect of the present invention has the following configuration. That is,
Master device,
At least one slave device in communication with the master device;
An information processing apparatus having interface means for communicating in a master-slave format in synchronization with a clock signal,
Detecting means for detecting that the device connected to the interface means is a bridge device;
Setting means for setting the master device to a mode in which the output of the clock signal is not stopped based on the result detected by the detecting means.

本発明によれば、マスタデバイスとスレーブデバイスとの間にブリッジデバイスが接続される場合と、マスタデバイスに直接スレーブデバイスが接続される場合のいずれでも、誤動作を生じさせることがない。   According to the present invention, malfunction does not occur regardless of whether the bridge device is connected between the master device and the slave device or when the slave device is directly connected to the master device.

本発明のその他の特徴及び利点は、添付図面を参照とした以下の説明により明らかになるであろう。なお、添付図面においては、同じ若しくは同様の構成には、同じ参照番号を付す。   Other features and advantages of the present invention will be apparent from the following description with reference to the accompanying drawings. Note that, in the accompanying drawings, the same or similar configurations are denoted by the same reference numerals.

添付図面は明細書に含まれ、その一部を構成し、本発明の実施形態を示し、その記述と共に本発明の原理を説明するために用いられる。
本発明の実施形態1に係るQSPIにおけるマスタとスレーブの物理的な接続を説明するブロック図。 4本の双方向のIO信号を使ってデータ転送を行うQuadSPIモードにおけるライトアクセス時の各信号のタイミングチャート。 4本の双方向のIO信号を使ってデータ転送を行うQuadSPIモードにおけるリードアクセス時の各信号のタイミングチャート。 実施形態1に係る情報処理装置における、QSPIマスタデバイスが搭載されるメインPCBと、そのメインPCBに接続されるサブPCBの構成を説明するブロック図。 実施形態1に係るQSPIブリッジデバイスの内部構成を説明するブロック図。 実施形態1に係るアドレス解析部がQSPIスレーブデバイスへのCS信号を制御する処理を説明するフローチャート。 実施形態1に係るQSPIマスタデバイスから見たときのQSPIブリッジデバイスのメモリマップの一例を示す図。 実施形態に1係るQSPIブリッジデバイスにおけるライトアクセス時の入出力信号の動作を説明するタイミングチャート。 実施形態に1係るQSPIブリッジデバイスにおけるリードアクセス時の動作を説明するタイミングチャート。 実施形態1に係るQSPIマスタデバイスが、QSPIのSCK信号の出力を停止するか、しないかを切り替える処理を説明するフローチャート。 実施形態2に係るQSPIマスタデバイスが搭載されるメインPCBと、このメインPCBに接続されるサブPCBとの構成を説明するブロック図。 実施形態2に係るQSPIブリッジデバイスの内部構成を説明するブロック図。 実施形態2に係るQSPIマスタデバイスが、QSPIのSCK信号の出力を停止するか、しないかを切り替える処理を説明するフローチャート。 実施形態1に係るQSPIマスタデバイスのQSPIコントローラの構成を説明するブロック図。
The accompanying drawings are included in and form a part of the specification, illustrate the embodiments of the invention, and together with the description, serve to explain the principles of the invention.
FIG. 3 is a block diagram illustrating a physical connection between a master and a slave in the QSPI according to the first embodiment of the present invention. 6 is a timing chart of each signal at the time of write access in QuadSPI mode in which data is transferred using four bidirectional IO signals. 6 is a timing chart of each signal at the time of read access in QuadSPI mode in which data is transferred using four bidirectional IO signals. 3 is a block diagram illustrating a configuration of a main PCB on which a QSPI master device is mounted and a sub PCB connected to the main PCB in the information processing apparatus according to the first embodiment. FIG. 3 is a block diagram illustrating an internal configuration of the QSPI bridge device according to the first embodiment. FIG. 6 is a flowchart illustrating a process in which the address analysis unit according to the first embodiment controls a CS signal to a QSPI slave device. FIG. 3 is a diagram showing an example of a memory map of a QSPI bridge device when viewed from the QSPI master device according to the first embodiment. 6 is a timing chart for explaining the operation of input / output signals during write access in the QSPI bridge device according to the first embodiment. 6 is a timing chart for explaining an operation at the time of read access in the QSPI bridge device according to the first embodiment. 6 is a flowchart illustrating a process in which the QSPI master device according to the first embodiment switches between stopping and not outputting the SSPI signal of QSPI. FIG. 6 is a block diagram illustrating a configuration of a main PCB on which the QSPI master device according to the second embodiment is mounted and a sub PCB connected to the main PCB. FIG. 6 is a block diagram illustrating an internal configuration of a QSPI bridge device according to the second embodiment. 9 is a flowchart illustrating a process in which the QSPI master device according to the second embodiment switches between stopping and not outputting the SSPI signal of QSPI. 3 is a block diagram illustrating a configuration of a QSPI controller of the QSPI master device according to the first embodiment. FIG.

以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでするものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。   Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. The following embodiments are not intended to limit the present invention according to the claims, and all combinations of features described in the present embodiments are essential to the solving means of the present invention. Not necessarily.

[実施形態1]
図1は、本発明の実施形態1に係るQSPIにおけるマスタとスレーブの物理的な接続を説明するブロック図である。
[Embodiment 1]
FIG. 1 is a block diagram illustrating a physical connection between a master and a slave in QSPI according to the first embodiment of the present invention.

QSPIでは、QSPIマスタ101とQSPIスレーブ102との間を6本の信号で接続してマスタスレーブ形式で通信を行う。CS信号103は、QSPIマスタ101に複数のQSPIスレーブ103に接続する場合に、アクセスするスレーブを指定するチップセレクト信号である。SCK信号104は、IO_0信号105〜IO_3信号108を使用してデータ転送するための同期クロック信号である。QSPIのSCK信号104は、一般的にデータ転送中のみQSPIマスタ101からQSPIスレーブ102に対してクロック信号として出力され、データの非転送中はトグルされない、即ち、クロック信号として出力されない。IO_0信号105〜IO_3信号108は、データ転送用の双方向のIO(入出力)信号である。   In QSPI, the QSPI master 101 and the QSPI slave 102 are connected by six signals to perform communication in a master-slave format. The CS signal 103 is a chip select signal that specifies a slave to be accessed when the QSPI master 101 is connected to a plurality of QSPI slaves 103. The SCK signal 104 is a synchronous clock signal for data transfer using the IO_0 signal 105 to IO_3 signal 108. The SSPI signal 104 of QSPI is generally output as a clock signal from the QSPI master 101 to the QSPI slave 102 only during data transfer, and is not toggled during data non-transfer, that is, not output as a clock signal. The IO_0 signal 105 to IO_3 signal 108 are bidirectional IO (input / output) signals for data transfer.

QSPIを有するデバイスは、データ転送に、入出力各1本ずつのIO信号を使用するSingleSPIモード、2本の双方向のIO信号を使用するDualSPIモード、4本の双方向のIO信号を使用するQuadSPIモードを有する。実施形態1では、特に断りのない限り、QSPIでのデータアクセスは、4本の双方向のIO信号を使ってデータ転送を行うQuadSPIモードを前提としている。   A device having QSPI uses a single SPI mode that uses one IO signal for each input and output, a dual SPI mode that uses two bidirectional IO signals, and four bidirectional IO signals for data transfer. It has a QuadSPI mode. In the first embodiment, unless otherwise specified, data access by QSPI is based on the QuadSPI mode in which data is transferred using four bidirectional IO signals.

図2は、4本の双方向のIO信号を使ってデータ転送を行うQuadSPIモードにおけるライトアクセス時の各信号のタイミングチャートである。   FIG. 2 is a timing chart of each signal during write access in the QuadSPI mode in which data is transferred using four bidirectional IO signals.

ライトアクセスは、オペコード201、アドレス202、ライトデータ203の3つのフェーズから構成されており、全てのフェーズでQSPIマスタ101からQSPIスレーブ102にデータが転送される。オペコード201は、8ビットからなるコマンドデータで、実施形態1ではQuadSPIモードのライトアクセスコマンドとして、16進数で「0x12」を、SCK信号104の2クロックで出力している。アドレス202は、データライトを開始するQSPIスレーブ102側の先頭アドレスを指定するフェーズである。実施形態1のように、24ビットまでのアドレスを有するQSPIスレーブデバイスの場合、SCK信号104の6クロックでアドレス指定を行う。尚、このタイミングチャート例では、512KByteのメモリデバイスがQSPIスレーブデバイスとして接続されることを想定している。よって、512KByteを超えるアドレスを表すビット19〜23はデバイス側で無視されるため、それを「X」で記述している。最後にライトデータ203は、アドレス202を先頭アドレスとするメモリ領域にライトするデータを指定するフェーズである。ライトデータ203のフェーズは、CS信号103を継続してアサートし、かつ、SCK信号104を継続してトグルさせることで、バースト転送することが可能である。このタイミングチャートは、2バイトのデータをバースト転送した時の波形を示している。これによって、アドレス202で指定されたアドレスのメモリ上には、ライトデータ203フェーズのByte1で示される1バイトデータがライトされる。そして、アドレス202で指定されたアドレスを1インクリメントしたアドレスのメモリ上には、ライトデータ203フェーズのByte2で示される1バイトデータがライトされる。   The write access is composed of three phases of an opcode 201, an address 202, and write data 203, and data is transferred from the QSPI master 101 to the QSPI slave 102 in all the phases. The operation code 201 is command data consisting of 8 bits, and in the first embodiment, “0x12” in hexadecimal number is output in 2 clocks of the SCK signal 104 as a write access command in the QuadSPI mode. The address 202 is a phase for designating the start address on the side of the QSPI slave 102 that starts data writing. In the case of the QSPI slave device having the address up to 24 bits as in the first embodiment, the addressing is performed by the 6 clocks of the SCK signal 104. In this timing chart example, it is assumed that a 512 KByte memory device is connected as a QSPI slave device. Therefore, the bits 19 to 23, which represent an address exceeding 512 KBytes, are ignored on the device side and are described by "X". Finally, the write data 203 is a phase for designating the data to be written in the memory area having the address 202 as the start address. In the phase of the write data 203, burst transfer can be performed by continuously asserting the CS signal 103 and continuously toggling the SCK signal 104. This timing chart shows waveforms when 2-byte data is burst-transferred. As a result, the 1-byte data indicated by Byte 1 of the write data 203 phase is written on the memory of the address specified by the address 202. Then, the 1-byte data indicated by Byte 2 of the write data 203 phase is written on the memory at the address obtained by incrementing the address designated by the address 202 by 1.

図3は、4本の双方向のIO信号を使ってデータ転送を行うQuadSPIモードにおけるリードアクセス時の各信号のタイミングチャートである。   FIG. 3 is a timing chart of each signal at the time of read access in the QuadSPI mode in which data is transferred using four bidirectional IO signals.

リードアクセスは、オペコード301、アドレス302、ダミーサイクル303、リードデータ304の4つのフェーズを含んでいる。オペコード301、アドレス302のフェーズで、QSPIマスタ101からQSPIスレーブ102にデータが転送され、リードデータ304のフェーズでは、QSPIスレーブ102からQSPIマスタ101にデータが転送される。オペコード301は、実施形態1では、QuadSPIモードのリードアクセスコマンドとして16進数の「0xEB」をSCK信号104の2クロックで出力している。アドレス302は、データリードを開始するQSPIスレーブ102の先頭アドレスを指定するフェーズである。このアドレス302の出力は、ライトアクセス時の場合と同様である。   The read access includes four phases of the operation code 301, the address 302, the dummy cycle 303, and the read data 304. Data is transferred from the QSPI master 101 to the QSPI slave 102 in the opcode 301 and address 302 phases, and data is transferred from the QSPI slave 102 to the QSPI master 101 in the read data 304 phase. In the first embodiment, the operation code 301 outputs a hexadecimal number “0xEB” as a read access command in the QuadSPI mode with two clocks of the SCK signal 104. The address 302 is a phase in which the leading address of the QSPI slave 102 that starts data reading is designated. The output of this address 302 is the same as that at the time of write access.

ダミーサイクル303は、QSPIスレーブ102からのデータの読出しに必要な待ち時間フェーズである。QSPIマスタ101は、予め接続されるQSPIスレーブ102に対して設定されているリード時のダミーサイクル数を、QSPIスレーブ102などから取得する等して把握しておく。そして、自身がリードアクセスを実行する際に、ダミーサイクル303のフェーズで受信したデータを破棄して無視する。リードデータ304は、アドレス302を先頭アドレスとするメモリ領域からリードしたデータを転送するフェーズである。リードデータ304のフェーズは、CS信号103を継続してアサートし、かつ、SCK信号104を継続してトグルさせることで、バースト転送を行うことが可能である。このタイミングチャートは、2バイトのデータをバースト転送した時の波形を示している。これによって、アドレス302で指定されたアドレスのメモリ上から、リードデータ304のByte1で示されるデータがリードされる。そして、アドレス302で指定されたアドレスを1インクリメントしたアドレスのメモリから、リードデータ304のByte2で示されるデータがリードされる。   The dummy cycle 303 is a waiting time phase required for reading data from the QSPI slave 102. The QSPI master 101 grasps the number of dummy cycles at the time of reading set for the QSPI slave 102 connected in advance by acquiring it from the QSPI slave 102 or the like. Then, when the read access is executed by itself, the data received in the phase of the dummy cycle 303 is discarded and ignored. The read data 304 is a phase in which the data read from the memory area having the address 302 as the start address is transferred. In the phase of the read data 304, burst transfer can be performed by continuously asserting the CS signal 103 and continuously toggling the SCK signal 104. This timing chart shows waveforms when 2-byte data is burst-transferred. As a result, the data indicated by Byte 1 of the read data 304 is read from the memory at the address specified by the address 302. Then, the data indicated by Byte 2 of the read data 304 is read from the memory of the address obtained by incrementing the address specified by the address 302 by 1.

以上がQSPIの仕様説明である。   The above is the specification description of QSPI.

図4は、実施形態1に係る情報処理装置における、QSPIマスタデバイス410が搭載されるメインPCB400と、このメインPCB400に接続されるサブPCB401とサブPCB402の構成を説明するブロック図である。   FIG. 4 is a block diagram illustrating a configuration of the main PCB 400 on which the QSPI master device 410 is mounted, the sub PCB 401 and the sub PCB 402 connected to the main PCB 400, in the information processing apparatus according to the first embodiment.

QSPIマスタデバイス410は、メインPCB400上に搭載され、図1で示した6本の信号で構成されるQSPI420を介して、QSPIブリッジデバイス411にアクセスするデバイスである。QSPIブリッジデバイス411は、サブPCB401上に搭載され、QSPIマスタデバイス410からのQSPI420を介したアクセスを、後段の複数のQSPIスレーブデバイス412,413に分配するブリッジ回路である。QSPIブリッジデバイス411は、それぞれQSPI421,422を介して、QSPIスレーブデバイス412,413に接続されている。   The QSPI master device 410 is a device mounted on the main PCB 400 and accessing the QSPI bridge device 411 via the QSPI 420 composed of the six signals shown in FIG. The QSPI bridge device 411 is a bridge circuit that is mounted on the sub-PCB 401 and distributes access from the QSPI master device 410 via the QSPI 420 to a plurality of QSPI slave devices 412 and 413 in the subsequent stage. The QSPI bridge device 411 is connected to the QSPI slave devices 412 and 413 via the QSPI 421 and 422, respectively.

サブPCB401上のQSPIブリッジデバイス411は、メインPCB400側の構成を変更することなく、QSPIスレーブデバイスの数、つまり、メモリ容量を増やすことができるようにするための回路である。実施形態1では、サブPCB401上に搭載されるQSPIスレーブデバイスの数は2つであるが、本発明はこれに限定されるものではなく、更に多くのQSPIスレーブデバイスを接続することも可能である。   The QSPI bridge device 411 on the sub PCB 401 is a circuit for increasing the number of QSPI slave devices, that is, the memory capacity without changing the configuration on the main PCB 400 side. In the first embodiment, the number of QSPI slave devices mounted on the sub PCB 401 is two, but the present invention is not limited to this, and it is possible to connect more QSPI slave devices. .

サブPCB402上に搭載されるQSPIスレーブデバイス414は、QSPI423を介してQSPIマスタデバイス410と接続される。実施形態1において、QSPIスレーブデバイス412,413,414は、SRAMやFRAMといったメモリデバイスを想定しているが、本発明はこれに限定されるものではない。   The QSPI slave device 414 mounted on the sub PCB 402 is connected to the QSPI master device 410 via the QSPI 423. In the first embodiment, the QSPI slave devices 412, 413, 414 are assumed to be memory devices such as SRAM and FRAM, but the present invention is not limited to this.

メインPCB400と、サブPCB401及びサブPCB402の接続パターンは、メインPCB400にサブPCB401、サブPCB402のどちらか一つが接続されるか、どちらも接続されないパターンである。サブPCB401は、大量のデータをQSPIスレーブデバイス412,413に保存する必要がある場合に接続される。一例としては、CPU431の処理のログ情報を保存することを想定しており、製品構成によって長い期間のログ情報を取得する必要がある場合にサブPCB401が接続される。一方、サブPCB402は、サブPCB401よりもメモリ容量が少なくて済む製品構成の場合に接続される。サブPCB402は、サブPCB401に比べてコストが低いので、コストの最適化を図るために2つのサブPCBの接続が使い分けられる。   The connection pattern of the main PCB 400 and the sub PCB 401 and the sub PCB 402 is a pattern in which either one of the sub PCB 401 and the sub PCB 402 is connected to the main PCB 400, or neither of them is connected. The sub PCB 401 is connected when a large amount of data needs to be stored in the QSPI slave devices 412 and 413. As an example, it is assumed that the log information of the processing of the CPU 431 is saved, and the sub PCB 401 is connected when it is necessary to acquire the log information of a long period depending on the product configuration. On the other hand, the sub PCB 402 is connected in the case of a product configuration that requires less memory capacity than the sub PCB 401. Since the cost of the sub PCB 402 is lower than that of the sub PCB 401, the connection of the two sub PCBs is selectively used in order to optimize the cost.

次にQSPIマスタデバイス410の内部構成を説明する。   Next, the internal configuration of the QSPI master device 410 will be described.

CPU431は、実施形態1に係る情報処理装置の全体を制御するプロセッサである。CPU431は、RAM436に展開されたOSや制御プログラムに従って、QPSIコントローラ434を制御し、QSPIブリッジデバイス411の下流側に接続されているQSPIスレーブデバイス412,413にアクセスする。またCPU431は、サブPCB402に搭載されるQSPIスレーブデバイス414にもアクセスする。ROMコントローラ432は、ブートプラグラムを格納しているROM435にアクセスするための制御モジュールである。図示していないメインPCB400上の電源がONされた時に、CPU431はROMコントローラ432を介してROM435にアクセスし、CPU431がブートする。RAMコントローラ433は、システムの制御プログラムを格納するRAM436にアクセスするための制御モジュールである。RAMコントローラ433は、RAM436の設定や制御を行うためのレジスタを備えており、このレジスタは、CPU431からアクセス可能である。   The CPU 431 is a processor that controls the entire information processing apparatus according to the first embodiment. The CPU 431 controls the QPSI controller 434 according to the OS and the control program developed in the RAM 436 to access the QSPI slave devices 412 and 413 connected to the downstream side of the QSPI bridge device 411. The CPU 431 also accesses the QSPI slave device 414 mounted on the sub PCB 402. The ROM controller 432 is a control module for accessing the ROM 435 storing the boot program. When the power of the main PCB 400 (not shown) is turned on, the CPU 431 accesses the ROM 435 via the ROM controller 432, and the CPU 431 boots. The RAM controller 433 is a control module for accessing the RAM 436 that stores the system control program. The RAM controller 433 includes a register for setting and controlling the RAM 436, and this register can be accessed by the CPU 431.

QSPIコントローラ434は、QSPIブリッジデバイス411の先に接続されているQSPIスレーブデバイス412,413と、QSPIスレーブデバイス414アクセスするための制御モジュールである。QSPIコントローラ434は、QSPIスレーブデバイス412,413、414の設定や制御を行うためのレジスタを備えており、このレジスタは、CPU431からアクセス可能である。GP(General Purpose)IO部437は、QSPIマスタデバイス410の外部端子の状態を検知するモジュールである。例えば、QSPIマスタデバイス410の外部端子から入力された信号がGPIO部437に入力され、その信号レベルがハイレベルかロウレベルかを保持する。そしてCPU431が、このGPIO部437へアクセスすることで、その信号のレベルを判定することができる。   The QSPI controller 434 is a control module for accessing the QSPI slave devices 412 and 413 connected to the tip of the QSPI bridge device 411 and the QSPI slave device 414. The QSPI controller 434 has a register for setting and controlling the QSPI slave devices 412, 413, 414, and this register is accessible from the CPU 431. The GP (General Purpose) IO unit 437 is a module that detects the state of the external terminal of the QSPI master device 410. For example, a signal input from the external terminal of the QSPI master device 410 is input to the GPIO unit 437 and holds the signal level of the high level or the low level. Then, the CPU 431 can determine the level of the signal by accessing the GPIO unit 437.

図5は、実施形態1に係るQSPIブリッジデバイス411の内部構成を説明するブロック図である。   FIG. 5 is a block diagram illustrating an internal configuration of the QSPI bridge device 411 according to the first embodiment.

QSPIマスタデバイス410からQSPI420を介してQSPIブリッジデバイス411に入力されたQSPI入力信号は、まずタイミング調整部507に入力され、そしてQPSIスレーブ501に入力される。QSPIスレーブ501は、受信したQSPI入力信号を、信号520,521を介して、後段の2つのQSPIマスタ502,503に供給し、信号522を介してアドレス解析部504に転送する。QSPIマスタ502,503は、QSPIスレーブ501から受信したQSPI信号のうち、SCK信号104とIO信号105〜108を信号526,529を介して、直接、QSPIスレーブデバイス412,413に供給する。一方、CS信号103は、信号527,530を介して、一旦、内部のCSゲート505,506のゲート制御を経て、QSPIスレーブデバイス412,413に供給される。   The QSPI input signal input from the QSPI master device 410 to the QSPI bridge device 411 via the QSPI 420 is first input to the timing adjusting unit 507 and then to the QPSI slave 501. The QSPI slave 501 supplies the received QSPI input signal to the two subsequent QSPI masters 502 and 503 via the signals 520 and 521, and transfers it to the address analysis unit 504 via the signal 522. Of the QSPI signals received from the QSPI slave 501, the QSPI masters 502 and 503 directly supply the SCK signal 104 and the IO signals 105 to 108 to the QSPI slave devices 412 and 413 via the signals 526 and 529. On the other hand, the CS signal 103 is once supplied to the QSPI slave devices 412 and 413 via the signals 527 and 530 through the gate control of the internal CS gates 505 and 506.

アドレス解析部504は、QSPIスレーブ501から受信したQSPI信号を解析し、アドレスフェーズのアドレスから、QSPIスレーブデバイス412,413のいずれのデバイスへのアクセスであるか判定する。その結果、信号524,525を介して、アクセスしないデバイスのCSゲートに、CS信号をゲートするように指示を送る。また、リードアクセスの場合は、QSPIスレーブデバイス412,413のいずれから読み出したリードデータをQSPIマスタデバイス410に返すかの判定結果を、信号523を介してQSPIスレーブ501に転送する。これによりQSPIスレーブ501は、信号520,521のいずれを選択するか決定し、その選択した信号をリードデータとしてタイミング調整部507に出力する。またCSゲート505,506は、上記信号524,525の指示に従って、QSPIマスタ502,503から送られたCS信号103のゲート処理を行う。そして、QSPIスレーブデバイス412,413に信号528,531を介してCS信号103を転送する。   The address analysis unit 504 analyzes the QSPI signal received from the QSPI slave 501, and determines which of the QSPI slave devices 412 and 413 is to be accessed from the address of the address phase. As a result, via signals 524 and 525, the CS gates of non-accessing devices are instructed to gate the CS signal. In the case of read access, the determination result of which read data read from the QSPI slave device 412 or 413 is returned to the QSPI master device 410 is transferred to the QSPI slave 501 via the signal 523. As a result, the QSPI slave 501 determines which of the signals 520 and 521 to select, and outputs the selected signal to the timing adjustment unit 507 as read data. Further, the CS gates 505 and 506 perform gate processing of the CS signal 103 sent from the QSPI masters 502 and 503 in accordance with the instructions of the signals 524 and 525. Then, the CS signal 103 is transferred to the QSPI slave devices 412 and 413 via the signals 528 and 531.

タイミング調整部507,508は、外部ACタイミングを揃えるためのブロックである。外部ACタイミングとは、IC等のデバイス間のインタフェースにおいて、複数の信号の送受信が可能な信号間のタイミング関係を定義したものである。実施形態1では、QSPIマスタデバイス410が、SCK信号104を基準としてIO_0信号105〜IO_3信号108とCS信号103のタイミング関係を定義している。そして、その定義されたタイミング関係の信号を送受信するために、タイミング調整部507で信号のタイミングを調整する。具体的な回路構成は、フリップフロップで構成される。例えばタイミング調整回路507では、SCK信号104をフリップフロップのクロック端子に入力し、IO_0信号105〜IO_3信号108とCS信号103は、そのフリップフロップのデータ入力端子に入力する。このように、送受信信号を入力した直後、もしくは出力した直前にフリップフロップで受信し、他の回路を入出力信号のタイミング調整に使用しないことで、これら送受信信号のタイミング調整が容易になる。   The timing adjustment units 507 and 508 are blocks for aligning the external AC timing. External AC timing defines a timing relationship between signals capable of transmitting and receiving a plurality of signals in an interface between devices such as ICs. In the first embodiment, the QSPI master device 410 defines the timing relationship between the IO_0 signal 105 to IO_3 signal 108 and the CS signal 103 with the SCK signal 104 as a reference. Then, the timing adjusting unit 507 adjusts the timing of the signal in order to transmit and receive the signal having the defined timing relationship. A specific circuit configuration is composed of flip-flops. For example, in the timing adjustment circuit 507, the SCK signal 104 is input to the clock terminal of the flip-flop, and the IO_0 signal 105 to IO_3 signal 108 and the CS signal 103 are input to the data input terminal of the flip-flop. In this manner, the flip-flop receives the transmission / reception signals immediately after they are input or immediately before they are output, and the other circuits are not used for the timing adjustment of the input / output signals, which facilitates the timing adjustment of these transmission / reception signals.

図6は、実施形態1に係るアドレス解析部504がQSPIスレーブデバイス412、413へのCS信号を制御する処理を説明するフローチャートである。   FIG. 6 is a flowchart illustrating a process in which the address analysis unit 504 according to the first embodiment controls the CS signal to the QSPI slave devices 412 and 413.

アドレス解析部504は、まずS601で、信号524,525により、CSゲート505,506に対してゲート解除を指示する。このゲート解除とは、QSPIマスタ502の出力信号527をCSゲート505の出力信号528として出力するようにCSゲート505を制御することを意味する。同様に、QSPIマスタ503の出力信号530をCSゲート506の出力信号531として出力するようにCSゲート506を制御することを意味する。反対に、ゲートとは、信号527,530をCSゲート505,506が信号528,531として出力しないネゲート状態に制御することを意味している。   First, in step S601, the address analysis unit 504 instructs the CS gates 505 and 506 to release the gate by the signals 524 and 525. This gate release means controlling the CS gate 505 so that the output signal 527 of the QSPI master 502 is output as the output signal 528 of the CS gate 505. Similarly, it means controlling the CS gate 506 to output the output signal 530 of the QSPI master 503 as the output signal 531 of the CS gate 506. On the contrary, the gate means controlling the signals 527 and 530 into a negated state in which the CS gates 505 and 506 do not output the signals 528 and 531.

次にS602でアドレス解析部504は、QSPIマスタデバイス410からQSPIスレーブ501を介してQSPI信号が入力されたことを信号522により検知するまで、即ち、QSPIプロトコルが開始されるまで待機する。ここでのQSPIプロトコルの開始とは、CS信号103がアサートされることと同義である。   Next, in step S602, the address analysis unit 504 waits until a signal 522 detects that a QSPI signal is input from the QSPI master device 410 via the QSPI slave 501, that is, until the QSPI protocol is started. The start of the QSPI protocol here is synonymous with the assertion of the CS signal 103.

こうしてS602でQSPIプロトコルが開始されるとS603に進みアドレス解析部504は、信号522を介してオペコードを受信する。そしてS604でアドレス解析部504は、そのオペコードが、リードアクセス或いはライトアクセスかどうかを判定する。ここで、そのオペコードがリードアクセス、ライトアクセス以外の場合はS613に進み、入力されるQSPIのCS信号がネゲートされるまで、QSPIスレーブデバイス412,413の両方にQSPI信号をそのまま転送するようにCSゲート505,506をゲート解除するよう制御する。ここでリードアクセス、ライトアクセス以外のオペコードとしては、例えば、QSPIデバイスのステータスレジスタのリード/ライトや、デバイスIDをリードするコマンドがある。そしてS613で信号522のQSPIのCS信号がネゲートされると、QSPIプロトコルの完了とみなしてS601に戻る。   When the QSPI protocol is started in S602 in this way, the process proceeds to S603, and the address analysis unit 504 receives the operation code via the signal 522. Then, in step S604, the address analysis unit 504 determines whether the operation code is a read access or a write access. If the opcode is other than a read access or a write access, the process proceeds to S613, and the QSPI signal is directly transferred to both the QSPI slave devices 412 and 413 until the input QSPI CS signal is negated. The gates 505 and 506 are controlled so as to be released. Here, the opcodes other than the read access and the write access include, for example, read / write of the status register of the QSPI device and a command for reading the device ID. When the CS signal of QSPI of the signal 522 is negated in S613, it is considered that the QSPI protocol is completed, and the process returns to S601.

一方、S604でオペコードがリードアクセス或いはライトアクセスの場合はS605に進みアドレス解析部504は、オペコードに続いて入力されてくるアドレスを受信する。そしてS606でアドレス解析部504は、バッファされている先に受信したオペコードから、そのアクセス命令がライトアクセスか、リードアクセスかを判定する。ここでオペコードがライトアクセスの場合はS608に進みアドレス解析部504は、受信したアドレスから、アクセス先がQSPIスレーブデバイス412か、QSPIスレーブデバイス413かを判定する。   On the other hand, if the operation code is a read access or a write access in S604, the operation proceeds to S605, and the address analysis unit 504 receives the address input subsequent to the operation code. Then, in step S606, the address analysis unit 504 determines whether the access instruction is a write access or a read access based on the previously received opcode that has been buffered. If the opcode is a write access, the process advances to step S608, and the address analysis unit 504 determines from the received address whether the access destination is the QSPI slave device 412 or the QSPI slave device 413.

この判定方法を図7を参照して説明する。   This determination method will be described with reference to FIG.

図7は、実施形態1に係るQSPIマスタデバイス410から見たときのQSPIブリッジデバイス411のメモリマップの一例を示す図である。   FIG. 7 is a diagram showing an example of a memory map of the QSPI bridge device 411 when viewed from the QSPI master device 410 according to the first embodiment.

実施形態1では、1つのQSPIスレーブデバイスのメモリ容量を512KByte(0x80000)としている。つまり、24ビットのアドレスで、アドレス0x000000〜0x07FFFFのメモリエリア700は、QSPIスレーブデバイス412によりアクセスされる。そして、アドレス0x080000〜0x0FFFFFのメモリエリア701は、QSPIスレーブデバイス413によりアクセスされる。また、番地0x100000以降のアドレスは、図7に示されるように、0x000000〜0x0FFFFFまでの領域がミラーで見えるような構成になっている。いずれの領域へのアクセスでも、QSPIスレーブデバイス412,413の有効領域は、0x000000〜0x07FFFFまでなので、アドレスのビット19以上は、QSPIレーブデバイス側で無視(マスク)される。このメモリマップによれば、QSPIスレーブデバイス412,413のいずれにアクセスするかは、アドレスのビット19を調べることで判定できる。即ち、アドレスのビット19が「0」であれば、アクセス対象はQSPIスレーブデバイス412であり、ビット19が「1」であれば、アクセス対象はQSPIスレーブデバイス413である。   In the first embodiment, the memory capacity of one QSPI slave device is 512 KByte (0x80000). That is, the memory area 700 having a 24-bit address and addresses 0x000000 to 0x07FFFF is accessed by the QSPI slave device 412. Then, the memory area 701 at addresses 0x080000 to 0x0FFFFF is accessed by the QSPI slave device 413. Further, as shown in FIG. 7, the addresses from 0x100000 to 0x100000 are configured so that the area from 0x000000 to 0x0FFFFF can be seen with a mirror. In any access to the area, the effective area of the QSPI slave devices 412 and 413 is from 0x000000 to 0x07FFFF, so that the bit 19 or more of the address is ignored (masked) on the side of the QSPI slave device. According to this memory map, which of the QSPI slave devices 412 and 413 is to be accessed can be determined by examining the bit 19 of the address. That is, if the bit 19 of the address is “0”, the access target is the QSPI slave device 412, and if the bit 19 is “1”, the access target is the QSPI slave device 413.

図6の説明に戻り、上記の方法でライトアクセスのアクセス先がQSPIスレーブデバイス412であると判定するとS608からS611に進みアドレス解析部504は、信号525でCSゲート506にゲートを指示してS613に進む。一方、ライトアクセスのアクセス先がQSPIスレーブデバイス413であると判定するとS612に進みアドレス解析部504は、信号524でCSゲート505にゲートを指示してS613に進む。   Returning to the description of FIG. 6, when it is determined that the access destination of the write access is the QSPI slave device 412 by the above method, the process proceeds from step S608 to step S611, and the address analysis unit 504 instructs the gate to the CS gate 506 by the signal 525 and returns to step S613. Proceed to. On the other hand, if it is determined that the access destination of the write access is the QSPI slave device 413, the processing proceeds to step S612, and the address analysis unit 504 instructs the CS gate 505 to gate using the signal 524 and proceeds to step S613.

一方、S606でアドレス解析部504は、オペコードがリードアクセスであると判定するとS607に進み、受信したアドレスから、アクセス先がQSPIスレーブデバイス412か、QSPIスレーブデバイス413かを判定する。QSPIスレーブデバイス412へのアクセスの場合はS610に進みアドレス解析部504は、信号525によりCSゲート506にゲートを指示する。次いでS615に進みアドレス解析部504は、QSPIスレーブ501に対して、QSPIスレーブデバイス412から返ってきたリードデータを採用するよう指示してS613に進む。一方、QSPIスレーブデバイス413へのアクセスの場合はS609に進みアドレス解析部504は、信号524によりCSゲート505にゲートを指示する。次いでS614に進みアドレス解析部504は、QSPIスレーブ501に対して、QSPIスレーブデバイス413から返ってきたリードデータを採用するよう指示してS613に進む。このときQSPIスレーブ501は、上記指示に従って採用したリードデータを、QSPIマスタデバイス410に返送する。そして、上記のリード/ライトアクセスに共通した処理として、アドレス解析部504はS613で、QSPIスレーブ501から入力されたCS信号がネゲートされたかどうかを監視し、ネゲートされるまではS611,S612,S614,S615の実行状態を保持する。そして、CS信号がネゲートされるとQSPIプロトコルが完了したと判定してS601に戻り、CSゲート505,506にゲート解除を指示し、再びQSPIプロトコルの開始を待つ。   On the other hand, if the address analysis unit 504 determines in S606 that the operation code is a read access, the process advances to S607, and it is determined from the received address whether the access destination is the QSPI slave device 412 or the QSPI slave device 413. In the case of access to the QSPI slave device 412, the processing proceeds to step S610, and the address analysis unit 504 instructs the gate to the CS gate 506 by the signal 525. Next, the processing proceeds to step S615, where the address analysis unit 504 instructs the QSPI slave 501 to adopt the read data returned from the QSPI slave device 412, and proceeds to step S613. On the other hand, in the case of access to the QSPI slave device 413, the processing proceeds to step S609, and the address analysis unit 504 instructs the gate to the CS gate 505 by the signal 524. Next, in S614, the address analysis unit 504 instructs the QSPI slave 501 to adopt the read data returned from the QSPI slave device 413 and proceeds to S613. At this time, the QSPI slave 501 returns the read data adopted according to the above instruction to the QSPI master device 410. Then, as a process common to the above read / write access, in S613, the address analysis unit 504 monitors whether the CS signal input from the QSPI slave 501 is negated, and until it is negated, S611, S612, and S614. , S615 is held. Then, when the CS signal is negated, it is determined that the QSPI protocol is completed, the process returns to S601, the CS gates 505 and 506 are instructed to release the gate, and the start of the QSPI protocol is waited again.

次に、図4〜図7を参照して説明したQSPIブリッジデバイス411のライトアクセス時の入出力信号の動作を、図8を参照して詳しく説明する。   Next, the operation of the input / output signal at the time of write access of the QSPI bridge device 411 described with reference to FIGS. 4 to 7 will be described in detail with reference to FIG.

図8は、実施形態に1係るQSPIブリッジデバイス411におけるライトアクセス時の入出力信号の動作を説明するタイミングチャートである。   FIG. 8 is a timing chart explaining the operation of the input / output signal at the time of write access in the QSPI bridge device 411 according to the first embodiment.

QSPI420、QSPI421及びQSPI422は、図4を参照して説明した通りである。QSPI420は、QSPIマスタデバイス410とQSPIブリッジデバイス411とのI/Fを表している。またQSPI421及びQSPI422は、QSPIブリッジデバイス411とQSPIスレーブデバイス412及びQSPIスレーブデバイス413とのI/Fを表している。図8では説明を簡略にするため、QSPIブリッジデバイス411内部のレイテンシが2サイクルの場合を想定して記載しているが、QSPIブリッジデバイス411内部のレイテンシが2サイクル以外であっても本発明は適用可能である。   The QSPI 420, QSPI 421, and QSPI 422 are as described with reference to FIG. The QSPI 420 represents the I / F of the QSPI master device 410 and the QSPI bridge device 411. QSPI421 and QSPI422 represent I / Fs of the QSPI bridge device 411 and the QSPI slave device 412 and the QSPI slave device 413. In FIG. 8, for simplicity of explanation, the case where the latency inside the QSPI bridge device 411 is 2 cycles is assumed, but the present invention is not limited to when the latency inside the QSPI bridge device 411 is other than 2 cycles. Applicable.

タイミングT1において、QSPIマスタデバイス410は、QSPIブリッジデバイス411に対してライト動作を開始するため、CS信号103をロウレベルにアサートする。尚、SCK信号104は、タイミングT1の以前からトグル動作している。   At timing T1, the QSPI master device 410 starts the write operation to the QSPI bridge device 411, and therefore asserts the CS signal 103 to low level. The SCK signal 104 has been toggled before the timing T1.

次にタイミングT2で、QSPIマスタデバイス410は、QSPIブリッジデバイス411に対してSCK信号104及びIO_0信号105〜IO_3信号108を出力する。これ以降のQSPIマスタデバイス410の動作は、前述の図2のタイミングチャートを参照して説明した通りであるため、その詳しい説明を省略する。   Next, at timing T2, the QSPI master device 410 outputs the SCK signal 104 and the IO_0 signal 105 to IO_3 signal 108 to the QSPI bridge device 411. Since the subsequent operation of the QSPI master device 410 is as described with reference to the timing chart of FIG. 2 described above, detailed description thereof will be omitted.

またタイミングT2でQSPIブリッジデバイス411は、タイミングT1で受信したCS信号103を受け、QSPIスレーブデバイス412及び413に対するQSPI421及びQSPI422のCS信号801,807をアサートする。ここでQSPI規格準拠のSCK信号であれば、タイミングT1からT2の間はトグルしないが、SCK信号はタイミングに関係なくトグルするようにしても良い。その場合は、QSPI規格準拠ではないがQSPIブリッジデバイス411で対応する。   Further, at timing T2, the QSPI bridge device 411 receives the CS signal 103 received at timing T1, and asserts the CS signals 801 and 807 of the QSPI 421 and QSPI 422 to the QSPI slave devices 412 and 413. Here, if the SCK signal conforms to the QSPI standard, it does not toggle between the timings T1 and T2, but the SCK signal may toggle regardless of the timing. In that case, the QSPI bridge device 411 does not comply with the QSPI standard.

次にタイミングT3において、QSPIブリッジデバイス411は、スレーブデバイス412及び413に対してSCK信号802,808及びIO_0信号〜IO_3信号803〜806及び809〜812の出力を開始する。SCK信号802,808は、QSPI準拠の信号となるような信号を出力する。CS信号、SCK信号及びIO_0信号〜IO_3信号は、参照番号が異なっていても、前述のCS信号103、SCK信号104、IO_0信号〜IO_3信号(105〜108)と同じ規格の信号である。   Next, at timing T3, the QSPI bridge device 411 starts outputting the SCK signals 802 and 808 and the IO_0 signal to IO_3 signals 803 to 806 and 809 to 812 to the slave devices 412 and 413. The SCK signals 802 and 808 output signals that are QSPI-compliant signals. The CS signal, the SCK signal, and the IO_0 to IO_3 signals are signals of the same standard as the CS signal 103, the SCK signal 104, and the IO_0 to IO_3 signals (105 to 108) described above, even if the reference numbers are different.

次にタイミングT4でQSPIブリッジデバイス411は、アドレスフェーズの2サイクル目を出力する。この時、QSPIブリッジデバイス411は、アクセス対象のスレーブデバイスが、QSPIスレーブデバイス412,413のいずれであるか確定することができる。ここではQSPIマスタデバイスのアクセス対象が、QSPIスレーブデバイス412である場合を想定して説明する。タイミングT4でQSPIブリッジデバイス411は、アクセス対象外のスレーブデバイス413に対するCS信号807をネゲートする。これにより、QSPIスレーブデバイス413へのアクセスが中止される。   Next, at timing T4, the QSPI bridge device 411 outputs the second cycle of the address phase. At this time, the QSPI bridge device 411 can determine whether the slave device to be accessed is the QSPI slave device 412 or 413. Here, it is assumed that the access target of the QSPI master device is the QSPI slave device 412. At timing T4, the QSPI bridge device 411 negates the CS signal 807 for the slave device 413 that is not the access target. As a result, access to the QSPI slave device 413 is stopped.

次にタイミングT5でQSPIマスタデバイス410は、QSPIブリッジデバイス411に対するライトアクセスを終了するため、CS信号103をハイレベルにネゲートする。   Next, at timing T5, the QSPI master device 410 negates the CS signal 103 to a high level in order to end the write access to the QSPI bridge device 411.

これによりタイミングT6でQSPIブリッジデバイス411は、タイミングT5でのCS信号103のネゲートを受け、QSPIスレーブデバイス412に対するCS信号801をネゲートする。これによりアクセス対象のQSPIスレーブデバイス412に対するアクセスを終了する。   As a result, at timing T6, the QSPI bridge device 411 receives the negation of the CS signal 103 at timing T5, and negates the CS signal 801 for the QSPI slave device 412. As a result, the access to the access target QSPI slave device 412 is completed.

尚、サブPCB402が接続された場合のQSPI423の動作タイミングチャートは、図2で示したタイミングチャートと基本的に同じである。   The operation timing chart of the QSPI 423 when the sub PCB 402 is connected is basically the same as the timing chart shown in FIG.

次に、図4〜図7を参照して説明したQSPIブリッジデバイス411のリードアクセス時の入出力信号の動作を、図9を参照して詳しく説明する。   Next, the operation of the input / output signal at the time of read access of the QSPI bridge device 411 described with reference to FIGS. 4 to 7 will be described in detail with reference to FIG.

図9は、実施形態に1係るQSPIブリッジデバイス411におけるリードアクセス時の動作を説明するタイミングチャートである。尚、図9において、図8と同じ信号には同じ参照番号を付している。   FIG. 9 is a timing chart for explaining the operation at the time of read access in the QSPI bridge device 411 according to the first embodiment. In FIG. 9, the same signals as those in FIG. 8 have the same reference numerals.

タイミングT1でQSPIマスタデバイス410は、QSPIブリッジデバイス411に対してリード動作を開始するため、CS信号103をロウレベルにアサートする。尚、SCK信号104は、タイミングT1以前からトグルしている。次にタイミングT2でQSPIマスタデバイス410は、QSPIブリッジデバイス411に対してSCK信号104及びIO_0信号105〜IO_3信号108を出力する。これ以降のQSPIマスタデバイス410の動作は、前述の図3のタイミングチャートを参照して説明した通りであるため、その詳しい説明を省略する。   At timing T1, the QSPI master device 410 asserts the CS signal 103 at a low level in order to start the read operation with respect to the QSPI bridge device 411. The SCK signal 104 has been toggled before the timing T1. Next, at timing T2, the QSPI master device 410 outputs the SCK signal 104 and the IO_0 signal 105 to IO_3 signal 108 to the QSPI bridge device 411. Since the subsequent operation of the QSPI master device 410 is as described with reference to the timing chart of FIG. 3, detailed description thereof will be omitted.

またタイミングT2でQSPIブリッジデバイス411は、タイミングT1で受信したCS信号103を受け、各QSPIスレーブデバイス412及び413に対するCS信号801,807をロウレベルにアサートする。QSPI規格準拠のSCK信号であれば、タイミングT1からT2の間はトグルしないが、SCK信号104はタイミングに関係なくトグルしても良い。この場合、QSPI規格準拠ではないがQSPIブリッジデバイス411で対応する。   Further, at timing T2, the QSPI bridge device 411 receives the CS signal 103 received at timing T1, and asserts the CS signals 801 and 807 to the QSPI slave devices 412 and 413 to low level. If the SCK signal conforms to the QSPI standard, it does not toggle between the timings T1 and T2, but the SCK signal 104 may toggle regardless of the timing. In this case, the QSPI bridge device 411 does not comply with the QSPI standard.

次にタイミングT3でQSPIブリッジデバイス411は、QSPIスレーブデバイス412及び413に対してSCK信号802,808及びIO_0信号〜IO_3信号803〜806,809〜812の出力を開始する。SCK信号802,808は、QSPI準拠の信号となる信号である。   Next, at timing T3, the QSPI bridge device 411 starts outputting the SCK signals 802 and 808 and the IO_0 signal to IO_3 signals 803 to 806 and 809 to 812 to the QSPI slave devices 412 and 413. The SCK signals 802 and 808 are signals that are QSPI compliant signals.

タイミングT4でQSPIブリッジデバイス411は、アドレスフェーズの2サイクル目を出力する。この時、QSPIブリッジデバイス411は、アクセス対象のスレーブデバイスがどのデバイスであるか確定することができる。ここではQSPIマスタデバイスのアクセス対象が、QSPIスレーブデバイス412である場合を想定して説明する。タイミングT4でQSPIブリッジデバイス411は、アクセス対象外のスレーブデバイス413に対するCS信号807をハイレベルにしてネゲートする。これにより、QSPIスレーブデバイス413へのアクセスが中止される。   At timing T4, the QSPI bridge device 411 outputs the second cycle of the address phase. At this time, the QSPI bridge device 411 can determine which device is the slave device to be accessed. Here, it is assumed that the access target of the QSPI master device is the QSPI slave device 412. At timing T4, the QSPI bridge device 411 negates by setting the CS signal 807 to the slave device 413 that is not the access target to the high level. As a result, access to the QSPI slave device 413 is stopped.

次にタイミングT5で、QSPIスレーブデバイス412からリードデータが出力される。ここではQSPIスレーブデバイス412のダミーサイクルが3サイクルの場合を想定している。これは説明の簡略化のために3サイクルにしているだけであり、3サイクルに限定されるものではない。   Next, at timing T5, the read data is output from the QSPI slave device 412. Here, it is assumed that the QSPI slave device 412 has three dummy cycles. This is only 3 cycles for the sake of simplification of description, and is not limited to 3 cycles.

次にタイミングT6でQSPIブリッジデバイス411は、QSPIスレーブデバイス412から受信したリードデータを、QSPIマスタデバイス410に対して出力する処理を開始する。そしてタイミングT7でQSPIマスタデバイス410は、QSPIブリッジデバイス411に対するリード動作を終了するため、CS信号103をハイレベルにネゲートする。   Next, at timing T6, the QSPI bridge device 411 starts the process of outputting the read data received from the QSPI slave device 412 to the QSPI master device 410. Then, at timing T7, the QSPI master device 410 negates the CS signal 103 to a high level in order to finish the read operation for the QSPI bridge device 411.

これによりタイミングT8でQSPIブリッジデバイス411は、タイミングT7でCS信号103がネゲートされたことを受けて、QSPIスレーブデバイス412に対するCS信号801をハイレベルにしてネゲートする。これによりアクセス対象のQSPIスレーブデバイス412に対するアクセスを終了する。   As a result, at timing T8, the QSPI bridge device 411 changes the CS signal 801 to the QSPI slave device 412 to a high level and negates it, in response to the negation of the CS signal 103 at timing T7. As a result, the access to the access target QSPI slave device 412 is completed.

尚、サブPCB402が接続された場合のQSPI423のリードアクセス時のタイミングチャートは、図3で示したタイミングチャートと基本的に同じである。   The timing chart for the read access of the QSPI 423 when the sub PCB 402 is connected is basically the same as the timing chart shown in FIG.

QSPIのマスタデバイスと複数のスレーブデバイスとの間にQSPIブリッジデバイスを介在させることにより、レイテンシの増加を抑えることが可能となる。   By interposing a QSPI bridge device between the QSPI master device and a plurality of slave devices, it is possible to suppress an increase in latency.

図10は、実施形態1に係るQSPIマスタデバイス410が、QSPIのクロック信号であるSCK信号104の出力を停止するか、しないかを切り替える処理を説明するフローチャートである。尚、このフローチャートで示す処理は、CPU431がROM435に保存されたプログラムをRAM436に展開して実行することにより達成される。このフローチャートで示す処理は、メインPCB400の電源がオンされて、CPU431がROMコントローラ432を介してROM435にアクセスし、QSPIマスタデバイス410を初期化するときに実行される。   FIG. 10 is a flowchart illustrating a process in which the QSPI master device 410 according to the first embodiment switches between stopping and not outputting the SCK signal 104 that is the QSPI clock signal. The process shown in this flowchart is achieved by the CPU 431 loading a program stored in the ROM 435 into the RAM 436 and executing it. The process shown in this flowchart is executed when the main PCB 400 is powered on and the CPU 431 accesses the ROM 435 via the ROM controller 432 to initialize the QSPI master device 410.

まずS1001でCPU431は、QSPIマスタデバイス410にスレーブデバイスが接続されているかどうか判定する。サブPCB401もしくはサブPCB402はQSPI420,423とは別の信号である図示していない検知信号をQSPIマスタデバイス410の外部端子に入力する。メインPCB400は、サブPCB401、402から入力された上記の信号をGPIO部437で信号を保持する。S1001において、CPU431がGPIO部437の信号がハイレベルかロウレベルかを判定することで、QSPIマスタデバイス410にスレーブデバイスが接続されているか否かを判定する。この検知信号は、メインPCB400上でPullDownされていて、サブPCB401もしくはサブPCB402が接続されていない場合は、ロウレベルとなる。CPU431はGPIO部437を介して、その信号がロウレベルであることを読み取ることで、サブPCB401,402が接続されていないことを検知する。またこの検知信号は、サブPCB401,402で電源に接続されており、メインPCB400にサブPCB401,402が接続された場合は検知信号がハイレベルとなる。CPU431はGPIO部437を介して、その信号がハイレベルであることを読み取ると、サブPCB401,402のいずれかが接続されていることを検知する。こうしてS1001でスレーブデバイスが接続されたと判定したときはS1002へ進む。   First, in step S1001, the CPU 431 determines whether a slave device is connected to the QSPI master device 410. The sub PCB 401 or the sub PCB 402 inputs a detection signal (not shown) which is a signal different from the signals of the QSPI 420 and 423 to the external terminal of the QSPI master device 410. The main PCB 400 holds the above signals input from the sub PCBs 401 and 402 in the GPIO unit 437. In step S1001, the CPU 431 determines whether the signal of the GPIO unit 437 is at a high level or a low level, thereby determining whether a slave device is connected to the QSPI master device 410. This detection signal is low level when it is Pulled down on the main PCB 400 and the sub PCB 401 or the sub PCB 402 is not connected. The CPU 431 detects that the sub PCBs 401 and 402 are not connected by reading that the signal is low level via the GPIO unit 437. Further, the detection signal is connected to the power source by the sub PCBs 401 and 402, and when the sub PCBs 401 and 402 are connected to the main PCB 400, the detection signal becomes high level. When the CPU 431 reads that the signal is at the high level via the GPIO unit 437, it detects that one of the sub PCBs 401 and 402 is connected. When it is determined in step S1001 that the slave device is connected, the process advances to step S1002.

S1002でCPU431は、QSPIマスタデバイス410に接続されたスレーブデバイスのデバイスIDコードを読み取る。このデバイスIDコードは、半導体技術の標準化を行う団体であるJEDEC(Joint Electron Device Engineering Council)で定義されている予め決められた変更不可の値である。S1002において、QSPIマスタデバイス410にQSPIブリッジデバイス411が接続されている場合、CPU431により取得されるデバイスIDコードは、QSPIスレーブ501に保持されているデバイスIDコードとなる。一方、QSPIマスタデバイス410にQSPIスレーブデバイス414が接続されている場合、CPU431により取得されるデバイスIDコードは、QSPIスレーブデバイス414内のレジスタに保持されているデバイスIDコードである。CPU431は、QSPIコントローラ434内の図示していないレジスタブロックにアクセスし、そのレジスタ設定を行うことでQSPIのRDIDコマンドを出力させ、QSPIマスタデバイス410に接続されているスレーブデバイスのデバイスIDを読み取る。そしてS1003へ進む。   In step S1002, the CPU 431 reads the device ID code of the slave device connected to the QSPI master device 410. This device ID code is a predetermined unchangeable value defined by JEDEC (Joint Electron Device Engineering Council), which is an organization that standardizes semiconductor technology. In step S1002, when the QSPI bridge device 411 is connected to the QSPI master device 410, the device ID code acquired by the CPU 431 is the device ID code held by the QSPI slave 501. On the other hand, when the QSPI slave device 414 is connected to the QSPI master device 410, the device ID code acquired by the CPU 431 is the device ID code held in the register in the QSPI slave device 414. The CPU 431 accesses a register block (not shown) in the QSPI controller 434, sets the register, and outputs a QSPI RDID command to read the device ID of the slave device connected to the QSPI master device 410. Then, the process proceeds to S1003.

S1003でCPU431は、S1002で読み取ったデバイスIDコードが、QSPIブリッジデバイス411を示しているかどうかを判定する。ここでCPU431は、QSPIスレーブデバイス414以外のデバイスIDコードを読み取った場合に、QSPIブリッジデバイス411を示していると判定する。ここで、QSPIブリッジデバイス411であると判定した場合はS1004へ進み、QSPIブリッジデバイス411を検出しないと判定した場合はS1005へ進む。なお、QSPIスレーブデバイス414のデバイスIDコードは予めROM435に格納されており、CPU431が取得したデバイスIDコードをROM435に格納されたデバイスIDコードと比較する。これにより、接続されているデバイスIDコードがQSPIスレーブデバイス414のデバイスIDコードかそれ以外のデバイスIDコードかを判定する。   In step S1003, the CPU 431 determines whether the device ID code read in step S1002 indicates the QSPI bridge device 411. Here, when reading the device ID code other than the QSPI slave device 414, the CPU 431 determines that the QSPI bridge device 411 is indicated. If it is determined that the QSPI bridge device 411 is detected, the process advances to step S1004. If it is determined that the QSPI bridge device 411 is not detected, the process advances to step S1005. The device ID code of the QSPI slave device 414 is stored in the ROM 435 in advance, and the device ID code acquired by the CPU 431 is compared with the device ID code stored in the ROM 435. Thereby, it is determined whether the connected device ID code is the device ID code of the QSPI slave device 414 or another device ID code.

S1003では、CPU431が取得したデバイスIDコードがQSPIスレーブデバイス411のデバイスIDコードであるか否かに基づいて、接続されているデバイスがQSPIスレーブデバイスかブリッジデバイスであるかを判定した。QSPIブリッジデバイスには固有のデバイスIDコードを付与するとし、CPU431が取得したデバイスIDコードが当該固有のデバイスIDコードであるか否かに基づいて接続されているデバイスの種類を判定するとしてもよい。   In S1003, it is determined whether the connected device is a QSPI slave device or a bridge device based on whether the device ID code acquired by the CPU 431 is the device ID code of the QSPI slave device 411. A unique device ID code may be given to the QSPI bridge device, and the type of connected device may be determined based on whether the device ID code acquired by the CPU 431 is the unique device ID code. .

S1004でCPU431は、QSPIマスタデバイス410とQSPIブリッジデバイス411との間のSCK信号104が、非アクセス中でも停止しないようにQSPIコントローラ434に対して設定する。図2や図3のタイミングチャートで説明したように、QSPI準拠では、SCK信号104はCS信号103がアクティブな期間のみにトグルする仕様となっている。従ってS1004でCPU431は、QSPIブリッジデバイス411が接続されている場合のみ、SCK信号104をCS信号103が非アクティブであってもトグルし続けるように設定する。尚、デフォルトの設定では、SCK信号104は、CS信号103が非アクティブのときは停止する設定になっている。   In step S1004, the CPU 431 sets the QSPI controller 434 so that the SCK signal 104 between the QSPI master device 410 and the QSPI bridge device 411 does not stop even during non-access. As described with reference to the timing charts of FIGS. 2 and 3, in the QSPI compliant, the SCK signal 104 has a specification to toggle only during the period when the CS signal 103 is active. Therefore, in S1004, the CPU 431 sets the SCK signal 104 to continue toggling even when the CS signal 103 is inactive only when the QSPI bridge device 411 is connected. In the default setting, the SCK signal 104 is set to stop when the CS signal 103 is inactive.

次にS1005へ進みCPU431は、S1002で読み取ったデバイスIDコードからそれぞれのデバイスに対応したアクセス設定を行う。具体的なアクセス設定とは、QSPIスレーブのリード時のダミーサイクル等をQSPIマスタデバイス410のレジスタに設定する処理である。また、S1005において、CPU431は図14で後述するレジスタ部1402に動作モードを示す値を設定する。こうしてS1005の設定処理を終了すると、この処理を終了する。   Next, the processing proceeds to step S1005, and the CPU 431 performs access setting corresponding to each device from the device ID code read in step S1002. The specific access setting is a process of setting a dummy cycle or the like when reading the QSPI slave in the register of the QSPI master device 410. Further, in S1005, the CPU 431 sets a value indicating the operation mode in the register unit 1402 described later with reference to FIG. When the setting process of S1005 is completed in this way, this process ends.

図14は、実施形態1に係るQSPIマスタデバイス410のQSPIコントローラ434の構成を説明するブロック図である。   FIG. 14 is a block diagram illustrating the configuration of the QSPI controller 434 of the QSPI master device 410 according to the first embodiment.

QSPIマスタ1401はQSPIマスタ回路であり、QSPIブリッジデバイス411と接続される。またQSPIマスタ1401は、システムバス430と接続され、QSPIブリッジデバイス411に対するライト/リードのデータ信号が入力/出力される。レジスタ部1402はレジスタであり、システムバス430と接続されることでCPU431によって制御される。ここでSCK信号104がQSPIの非アクセス中でも停止しないモードの制御について説明する。レジスタ部1402のレジスタ値1422に応じて、MUX(マルチプレクサ)回路1403が、QPSIマスタ1401からの信号1421とCLK信号1420のいずれかを選択し、SCK信号104として出力する。   The QSPI master 1401 is a QSPI master circuit and is connected to the QSPI bridge device 411. Further, the QSPI master 1401 is connected to the system bus 430, and a write / read data signal to / from the QSPI bridge device 411 is input / output. The register unit 1402 is a register and is controlled by the CPU 431 by being connected to the system bus 430. Here, the control of the mode in which the SCK signal 104 does not stop even when QSPI is not accessed will be described. The MUX (multiplexer) circuit 1403 selects either the signal 1421 from the QPSI master 1401 or the CLK signal 1420 according to the register value 1422 of the register unit 1402 and outputs it as the SCK signal 104.

ここでQSPIブリッジデバイス411が接続される場合は、CLK信号1420が選択されてSCK信号104として出力される。一方、サブPCB402のQSPIスレーブデバイス414が接続される場合は、QPSIマスタ1401からの信号1421がSCK信号104として出力される。ここでCLK信号1420は、QSPIマスタ1401が出力する信号1421と同期関係で常時発振している信号である。一方、信号1421は、QPSIマスタ1401がその出力を制御する信号である。このようにして、レジスタ部1402のレジスタ値1422に応じて、MUX(マルチプレクサ)回路1403がCLK信号1420を選択してSCK信号104として出力することにより、SCK信号104が常に出力されるように設定することができる。   Here, when the QSPI bridge device 411 is connected, the CLK signal 1420 is selected and output as the SCK signal 104. On the other hand, when the QSPI slave device 414 of the sub PCB 402 is connected, the signal 1421 from the QPSI master 1401 is output as the SCK signal 104. Here, the CLK signal 1420 is a signal that constantly oscillates in synchronization with the signal 1421 output from the QSPI master 1401. On the other hand, the signal 1421 is a signal whose output is controlled by the QPSI master 1401. In this manner, the MUX (multiplexer) circuit 1403 selects the CLK signal 1420 according to the register value 1422 of the register unit 1402 and outputs it as the SCK signal 104, so that the SCK signal 104 is set to be always output. can do.

以上の処理よって、QSPIブリッジデバイスを有するサブPCB401が接続された場合はSCK信号104を停止しないモードに設定し、サブPCB402が接続された場合は、QSPI準拠であるSCK信号104を停止するモードにすることができる。   As a result of the above processing, when the sub PCB 401 having the QSPI bridge device is connected, the SCK signal 104 is set to the mode that does not stop, and when the sub PCB 402 is connected, the mode that stops the SCK signal 104 that is QSPI compliant is set. can do.

これにより、サブPCB401が接続された場合、QSPIブリッジデバイス411はSCK信号104を動作クロックとして動作することが可能となる。またサブPCB402が接続された場合は、SCK信号104はQSPIに準拠した動作を行うので、QSPIマスタデバイス410は、正常にQSPIスレーブデバイス414へアクセスすることが可能となる。   Accordingly, when the sub PCB 401 is connected, the QSPI bridge device 411 can operate using the SCK signal 104 as an operation clock. Further, when the sub PCB 402 is connected, the SCK signal 104 operates according to QSPI, so that the QSPI master device 410 can normally access the QSPI slave device 414.

以上説明したように実施形態1によれば、QSPIでアクセス可能なQSPIスレーブデバイスの容量を増やすためにQSPIブリッジデバイスを介在させて、ACタイミングを考慮した構成を採用した場合でも、誤動作を起こすことなくアクセス可能となる。また、QSPIにQSPIブリッジが接続される場合と、直接、FRAMが接続される場合の両方にも対応することが可能となる。   As described above, according to the first embodiment, a malfunction may occur even when a configuration in which AC timing is taken into consideration by interposing a QSPI bridge device in order to increase the capacity of a QSPI slave device accessible by QSPI. It becomes accessible without any. Further, it is possible to support both the case where the QSPI bridge is connected to the QSPI and the case where the FRAM is directly connected.

[実施形態2]
前述の実施形態1では、QSPIマスタデバイス410からの出力信号であるSCK信号104を停止するか、しないかを切り替える例で説明した。これに対して実施形態2では、QSPIとは別のSCK信号をQSPIマスタデバイス410から出力させる例で説明する。尚、実施形態1と共通する部分については、その説明を省略、或いは簡略化し、以下では、実施形態1と異なる部分を中心に説明する。
[Embodiment 2]
In the above-described first embodiment, the example in which the SCK signal 104, which is the output signal from the QSPI master device 410, is switched between stopped and not stopped has been described. On the other hand, in the second embodiment, an example in which an SCK signal different from QSPI is output from the QSPI master device 410 will be described. The description of the portions common to the first embodiment will be omitted or simplified, and in the following, the portions different from the first embodiment will be mainly described.

図11は、実施形態2に係るQSPIマスタデバイス410が搭載されるメインPCB400と、このメインPCB400に接続されるサブPCB401との構成を説明するブロック図である。前述の図4と共通する部分は同じ参照番号で示し、それらの説明を省略する。前述の実施形態1との違いは、QSPIマスタデバイス410内にCLKコントローラ1100が追加されている点である。   FIG. 11 is a block diagram illustrating a configuration of a main PCB 400 on which the QSPI master device 410 according to the second embodiment is mounted and a sub PCB 401 connected to the main PCB 400. Portions common to those in FIG. 4 described above are denoted by the same reference numerals, and description thereof will be omitted. The difference from the first embodiment described above is that a CLK controller 1100 is added in the QSPI master device 410.

CLKコントローラ1100は、SCK_dummy信号1110の発振と停止を制御するモジュールである。また、QSPIマスタデバイス410とQSPIブリッジデバイス411との間に、CLKコントローラ1100から出力されるSCK_dummy信号1110が追加されている。SCK_dummy信号1110は、QSPIブリッジデバイス411内でSCK信号104と同期関係となる必要があるため、SCK信号104と同じ周波数で同じ位相のものにする必要がある。   The CLK controller 1100 is a module that controls the oscillation and stop of the SCK_dummy signal 1110. Further, the SCK_dummy signal 1110 output from the CLK controller 1100 is added between the QSPI master device 410 and the QSPI bridge device 411. The SCK_dummy signal 1110 needs to be in a synchronous relationship with the SCK signal 104 in the QSPI bridge device 411, and thus needs to have the same frequency and the same phase as the SCK signal 104.

CLKコントローラ1100は、QSPIブリッジデバイス411に接続され、QSPIブリッジデバイス411内の回路の動作クロックとなるSCK_dummy信号1110の停止及び発振制御を行う。CLKコントローラ1100は、SCK_dummy信号1110の制御を行うためのレジスタを備えており、このレジスタは、CPU431からアクセス可能である。   The CLK controller 1100 is connected to the QSPI bridge device 411 and stops and oscillates the SCK_dummy signal 1110 which is an operation clock of a circuit in the QSPI bridge device 411. The CLK controller 1100 includes a register for controlling the SCK_dummy signal 1110, and this register is accessible by the CPU 431.

図12は、実施形態2に係るQSPIブリッジデバイス411の内部構成を説明するブロック図である。前述の図5と共通する部分は同じ参照番号で示し、それらの説明を省略する。   FIG. 12 is a block diagram illustrating an internal configuration of the QSPI bridge device 411 according to the second embodiment. The same parts as those in FIG. 5 described above are denoted by the same reference numerals, and the description thereof will be omitted.

前述の実施形態1に係る図5との違いを説明する。図5では、SCK信号104がQSPIブリッジデバイス411内の回路の動作クロックとして使用するためにQSPIブリッジデバイス411内のモジュールに分配していた。これに対して図12では、SCK信号104はタイミング調整部507にのみ入力され、その他のモジュールの動作クロックとしてSCK_dummy信号1110が接続されている。実施形態2において、SCK信号104は、図2、図3のSCK信号104と同じ動作をする。またSCK_dummy信号1110は、実施形態1でのSCK信号104と同じ動作をする。実施形態1では、SCK信号104は、QSPIマスタデバイス410に接続されるデバイスがブリッジデバイスかどうかに応じて、常時発振するか、或いは停止するように制御されていた。これに対して実施形態2でのSCK信号104は、QSPI準拠の動作であるアクセス中のみ発振し、常時発振する動作はしない。   Differences from FIG. 5 according to the first embodiment described above will be described. In FIG. 5, the SCK signal 104 was distributed to the modules within the QSPI bridge device 411 for use as operating clocks for the circuits within the QSPI bridge device 411. On the other hand, in FIG. 12, the SCK signal 104 is input only to the timing adjustment unit 507, and the SCK_dummy signal 1110 is connected as the operation clock of the other modules. In the second embodiment, the SCK signal 104 operates the same as the SCK signal 104 in FIGS. 2 and 3. The SCK_dummy signal 1110 operates in the same manner as the SCK signal 104 in the first embodiment. In the first embodiment, the SCK signal 104 is controlled to constantly oscillate or stop depending on whether the device connected to the QSPI master device 410 is a bridge device. On the other hand, the SCK signal 104 in the second embodiment oscillates only during access, which is a QSPI-compliant operation, and does not always oscillate.

図13は、実施形態2に係るQSPIマスタデバイス410が、QSPIのクロック信号であるSCK信号104の出力を停止するか、しないかを切り替える処理を説明するフローチャートである。尚、このフローチャートで示す処理は、CPU431がROM435に保存されたプログラムをRAM436に展開して実行することにより達成される。このフローチャートで示す処理は、メインPCB400の電源がオンされて、CPU431がROMコントローラ432を介してROM435にアクセスし、QSPIマスタデバイス410を初期化するときに実行される。尚、前述の実施形態1に係る図10と共通する処理は同じ参照符号を付して、その説明を省略する。   FIG. 13 is a flowchart illustrating a process in which the QSPI master device 410 according to the second embodiment switches between stopping and not outputting the SCK signal 104 that is the QSPI clock signal. The process shown in this flowchart is achieved by the CPU 431 loading a program stored in the ROM 435 into the RAM 436 and executing it. The process shown in this flowchart is executed when the main PCB 400 is powered on and the CPU 431 accesses the ROM 435 via the ROM controller 432 to initialize the QSPI master device 410. The same processes as those in FIG. 10 according to the first embodiment described above are designated by the same reference numerals, and the description thereof will be omitted.

S1301でCPU431は、SCK_dummy信号1110を発振する処理を行う。具体的には、CPU431がCLKコントローラ1100にアクセスし、レジスタに所定の値を設定することで発振させる。SCK_dummy信号1110は、初期設定は停止させる設定値となっている。この処理により、接続されているQSPIブリッジデバイス411にクロック信号が供給される。   In step S1301, the CPU 431 performs a process of oscillating the SCK_dummy signal 1110. Specifically, the CPU 431 accesses the CLK controller 1100 and sets a predetermined value in the register to cause oscillation. The SCK_dummy signal 1110 has a set value for stopping the initial setting. By this processing, the clock signal is supplied to the connected QSPI bridge device 411.

そしてS1302でCPU431は、QSPI420に接続されたデバイスのデバイスIDコードを読み取り、そのデバイスがQSPIブリッジデバイスかどうか判定する。ここでQSPIブリッジデバイスであると判定した場合はS1005に進み、QSPIブリッジデバイスでないと判定するとS1303に進む。S1303でCPU431は、SCK_dummy信号1110の出力を停止する処理を行う。具体的には、CPU431がCLKコントローラ1100にアクセスしてレジスタに設定することで、SCK_dummy信号1110の出力を停止させる。この処理により、QSPIブリッジデバイス411以外が接続された場合に、SCK_dummy信号1110の出力を停止させることができる。   Then, in step S1302, the CPU 431 reads the device ID code of the device connected to the QSPI 420 and determines whether the device is a QSPI bridge device. If it is determined that the device is a QSPI bridge device, the process proceeds to step S1005. If it is determined that the device is not the QSPI bridge device, the process proceeds to step S1303. In S1303, the CPU 431 performs a process of stopping the output of the SCK_dummy signal 1110. Specifically, the CPU 431 accesses the CLK controller 1100 and sets it in the register to stop the output of the SCK_dummy signal 1110. By this processing, when a device other than the QSPI bridge device 411 is connected, the output of the SCK_dummy signal 1110 can be stopped.

以上説明したように実施形態2によれば、QSPIとは別のSCK_dummy信号1110をQSPIマスタデバイス410から出力させることで、QSPI規格に準拠した信号を出力することができる。これにより、QSPIコントローラ434をQSPIの規格から変更できない場合でも、QSPIブリッジデバイス411を接続することが可能となる。   As described above, according to the second embodiment, by causing the QSPI master device 410 to output the SCK_dummy signal 1110 different from QSPI, it is possible to output a signal conforming to the QSPI standard. As a result, even when the QSPI controller 434 cannot be changed from the QSPI standard, the QSPI bridge device 411 can be connected.

(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
(Other embodiments)
The present invention supplies a program that implements one or more functions of the above-described embodiments to a system or apparatus via a network or a storage medium, and one or more processors in a computer of the system or apparatus read and execute the program. It can also be realized by the processing. It can also be realized by a circuit (for example, ASIC) that realizes one or more functions.

本発明は上記実施形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、本発明の範囲を公にするために、以下の請求項を添付する。   The present invention is not limited to the above-described embodiments, and various changes and modifications can be made without departing from the spirit and scope of the present invention. Therefore, in order to make the scope of the present invention public, the following claims are attached.

101…QSPIマスタ、102…QSPIスレーブ、410…QSPIマスタデバイス、411…QSPIブリッジデバイス、412,413,414…QSPIスレーブデバイス、420,421,422,423…QSPI、431…CPU、434…QSPIコントローラ、1100…CLKコントローラ   101 ... QSPI master, 102 ... QSPI slave, 410 ... QSPI master device, 411 ... QSPI bridge device, 412, 413, 414 ... QSPI slave device, 420, 421, 422, 423 ... QSPI, 431 ... CPU, 434 ... QSPI controller 1100 ... CLK controller

Claims (14)

マスタデバイスと、
前記マスタデバイスと通信する少なくとも一つのスレーブデバイスと、
クロック信号に同期してマスタスレーブ形式で通信を行うインタフェース手段とを有する情報処理装置であって、
前記インタフェース手段に接続されたデバイスがブリッジデバイスであることを検出する検出手段と、
前記検出手段が検出した結果に基づいて、前記マスタデバイスを、前記クロック信号の出力を停止しないモードに設定する設定手段と、
を有することを特徴とする情報処理装置。
Master device,
At least one slave device in communication with the master device;
An information processing device having interface means for performing communication in a master-slave format in synchronization with a clock signal,
Detecting means for detecting that the device connected to the interface means is a bridge device;
Setting means for setting the master device to a mode in which the output of the clock signal is not stopped based on the result detected by the detecting means;
An information processing device comprising:
前記検出手段は、接続されているデバイスのIDコードに基づいて前記ブリッジデバイスであることを検出することを特徴とする請求項1に記載の情報処理装置。   The information processing apparatus according to claim 1, wherein the detection unit detects the bridge device based on an ID code of a connected device. 前記マスタデバイスは、
レジスタと、
前記レジスタの設定値に応じて、発振している第1クロック信号と、その出力が制御される第2クロック信号のいずれかを選択して前記クロック信号として出力するマルチプレクサと、を有することを特徴とする請求項1又は2に記載の情報処理装置。
The master device is
Register and
A multiplexer for selecting one of a oscillating first clock signal and a second clock signal whose output is controlled according to a set value of the register and outputting the selected second clock signal as the clock signal. The information processing device according to claim 1 or 2.
前記ブリッジデバイスは、複数のスレーブデバイスを接続し、
前記ブリッジデバイスは、
前記マスタデバイスから受け取ったアドレスに応じて、前記複数のスレーブデバイスのうちのアクセス対象のスレーブデバイスを判定する判定手段と、
前記判定手段によりアクセス対象と判定されたスレーブデバイスに前記クロック信号を供給し、前記アクセス対象と判定されなかったスレーブデバイスへの前記クロック信号の供給を停止する手段と、を有することを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
The bridge device connects a plurality of slave devices,
The bridge device is
In accordance with the address received from the master device, a determination means for determining the slave device of the access target of the plurality of slave devices,
Means for supplying the clock signal to a slave device determined to be an access target by the determination means, and stopping supply of the clock signal to a slave device not determined to be the access target. The information processing apparatus according to any one of claims 1 to 3.
前記マスタデバイスは、
前記クロック信号と同じ周波数で同じ位相の第2のクロック信号を出力するクロック手段を、更に有し、
前記マスタデバイスは、前記マスタデバイスと前記スレーブデバイスとの間にブリッジデバイスが介在しないことを検出すると、前記クロック手段による前記第2のクロック信号の出力を停止させることを特徴とする請求項1又は2に記載の情報処理装置。
The master device is
Further comprising clock means for outputting a second clock signal having the same frequency and the same phase as the clock signal,
The master device stops the output of the second clock signal by the clock means when detecting that no bridge device is interposed between the master device and the slave device. 2. The information processing device according to 2.
前記ブリッジデバイスは、複数のスレーブデバイスを接続し、
前記ブリッジデバイスは、
前記マスタデバイスから受け取ったアドレスに応じて、前記複数のスレーブデバイスのうちのアクセス対象のスレーブデバイスを判定する判定手段と、
前記判定手段によりアクセス対象と判定されたスレーブデバイスに前記第2のクロック信号を供給し、前記アクセス対象と判定されなかったスレーブデバイスへの前記第2のクロック信号の供給を停止する手段と、を有することを特徴とする請求項5に記載の情報処理装置。
The bridge device connects a plurality of slave devices,
The bridge device is
In accordance with the address received from the master device, a determination means for determining the slave device of the access target of the plurality of slave devices,
A means for supplying the second clock signal to the slave device determined to be the access target by the determination means, and stopping the supply of the second clock signal to the slave device not determined to be the access target. The information processing apparatus according to claim 5, comprising:
前記スレーブデバイスは、FRAMデバイスであることを特徴とする請求項1乃至6のいずれか1項に記載の情報処理装置。   The information processing apparatus according to claim 1, wherein the slave device is an FRAM device. クロック信号に同期してマスタスレーブ形式で通信を行うQSPIマスタデバイスであって、
前記QSPIマスタデバイスのスレーブとして接続されているデバイスがブリッジデバイスかどうか判定する判定手段と、
前記判定手段が、前記ブリッジデバイスが接続されていると判定すると、前記クロック信号の出力を停止しないモードに設定する設定手段と、
を有することを特徴とするQSPIマスタデバイス。
A QSPI master device that communicates in a master-slave format in synchronization with a clock signal,
Determining means for determining whether the device connected as a slave of the QSPI master device is a bridge device;
When the determining means determines that the bridge device is connected, setting means for setting a mode in which the output of the clock signal is not stopped,
A QSPI master device comprising:
前記判定手段は、接続されているデバイスのIDコードに基づいて前記ブリッジデバイスが接続されているかどうか判定することを特徴とする請求項8に記載のQSPIマスタデバイス。   9. The QSPI master device according to claim 8, wherein the determining unit determines whether or not the bridge device is connected based on an ID code of the connected device. レジスタと、
前記レジスタの設定値に応じて、発振している第1クロック信号と、その出力が制御される第2クロック信号のいずれかを選択して前記クロック信号として出力するマルチプレクサと、を更に有し、
前記設定手段は、前記レジスタの設定値を変更して前記クロック信号の出力を停止しないようにすることを特徴とする請求項8又は9に記載のQSPIマスタデバイス。
Register and
Further comprising a multiplexer that selects one of a oscillating first clock signal and a second clock signal whose output is controlled and outputs the selected clock signal as the clock signal in accordance with a setting value of the register,
10. The QSPI master device according to claim 8, wherein the setting unit changes the setting value of the register so as not to stop the output of the clock signal.
前記クロック信号と同じ周波数で同じ位相の第2のクロック信号を出力するクロック手段を、更に有し、
前記QSPIマスタデバイスは、前記判定手段が前記ブリッジデバイスが接続されていないと判定すると、前記クロック手段による前記第2のクロック信号の出力を停止させることを特徴とする請求項8又は9に記載のQSPIマスタデバイス。
Further comprising clock means for outputting a second clock signal having the same frequency and the same phase as the clock signal,
10. The QSPI master device according to claim 8, wherein when the determination unit determines that the bridge device is not connected, the QSPI master device stops the output of the second clock signal by the clock unit. QSPI master device.
前記スレーブとして接続されているデバイスは、FRAMデバイスであることを特徴とする請求項8乃至11のいずれか1項に記載のQSPIマスタデバイス。   12. The QSPI master device according to claim 8, wherein the device connected as the slave is an FRAM device. マスタデバイスと、前記マスタデバイスと通信する少なくとも一つのスレーブデバイスと、クロック信号に同期してマスタスレーブ形式で通信を行うインタフェース手段とを備えた情報処理装置を制御する制御方法であって、
前記インタフェース手段に接続されたデバイスがブリッジデバイスであることを検出する検出工程と、
前記検出工程において検出した結果に基づいて、前記マスタデバイスを、前記クロック信号の出力を停止しないモードに設定する設定工程と、
を有することを特徴とする制御方法。
A control method for controlling an information processing apparatus comprising: a master device; at least one slave device that communicates with the master device; and an interface unit that communicates in a master-slave format in synchronization with a clock signal,
A detection step of detecting that the device connected to the interface means is a bridge device;
A setting step of setting the master device in a mode in which the output of the clock signal is not stopped based on the result detected in the detecting step;
A control method comprising:
コンピュータに、請求項13に記載の制御方法の各工程を実行させるためのプログラム。   A program for causing a computer to execute each step of the control method according to claim 13.
JP2018195298A 2018-10-16 2018-10-16 Qspi master device, information processing device, control method thereof, and program Pending JP2020064413A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018195298A JP2020064413A (en) 2018-10-16 2018-10-16 Qspi master device, information processing device, control method thereof, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018195298A JP2020064413A (en) 2018-10-16 2018-10-16 Qspi master device, information processing device, control method thereof, and program

Publications (1)

Publication Number Publication Date
JP2020064413A true JP2020064413A (en) 2020-04-23

Family

ID=70387241

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018195298A Pending JP2020064413A (en) 2018-10-16 2018-10-16 Qspi master device, information processing device, control method thereof, and program

Country Status (1)

Country Link
JP (1) JP2020064413A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112445745A (en) * 2021-01-29 2021-03-05 武汉精测电子集团股份有限公司 Device and method for long-distance signal transmission

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112445745A (en) * 2021-01-29 2021-03-05 武汉精测电子集团股份有限公司 Device and method for long-distance signal transmission

Similar Documents

Publication Publication Date Title
US6771526B2 (en) Method and apparatus for data transfer
US7251188B2 (en) Memory access interface for a micro-controller system with address/data multiplexing bus
US9543996B2 (en) Method and system for initializing RF module through non-volatile control
JP2004502225A (en) Integrated circuit with flash memory
US8086767B2 (en) Pin multiplexing
EP2179364A2 (en) 12c-bus interface with parallel operational mode
US20050198418A1 (en) Multilayer system and clock control method
EP2102754B1 (en) Clock generation for memory access without a local oscillator
US20030046599A1 (en) Apparatus for controlling card device and clock control method
JP2020064413A (en) Qspi master device, information processing device, control method thereof, and program
WO2004061860A1 (en) Semiconductor memory device and method for controlling semiconductor memory device
JP4902640B2 (en) Integrated circuit and integrated circuit system
JP2001282704A (en) Device, method and system for processing data
US8291124B2 (en) Semiconductor device and data processing system having a reduced number of terminals allocated for externally accessed address
JP2022050018A (en) Electronic device and transfer method
JP2006277619A (en) Memory control system and image formation device
WO2023213224A1 (en) Method and apparatus for unifying clock frequencies
KR100436051B1 (en) Microcontroller Developement System
JP2005128989A (en) Input/output control device and function enhancement device
JP2001092804A (en) Microcomputer with built-in eeprom interface
KR100295683B1 (en) General call acknowledge apparatus and method for inter-integrated circuit
JP5166922B2 (en) Shared bus control device and control method thereof
JPH10320267A (en) Memory controller and its method
JP2021150732A (en) Master-slave communication system, electronic device, control method of master-slave communication system, and control method of electronic device
JP2002259148A (en) Method and device for rewriting data of programmable rom

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20210103

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210113