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 PDFInfo
- 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
Links
Images
Landscapes
- Information Transfer Systems (AREA)
Abstract
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,
またこの技術では、各スレーブデバイスに対して、オペコードやアドレスについても時分割で送信するために、分割されたスレーブは同一デバイスに入力されることが前提となっている。このため、例えば、物理的に分割された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.
物理的に分割された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.
添付図面は明細書に含まれ、その一部を構成し、本発明の実施形態を示し、その記述と共に本発明の原理を説明するために用いられる。
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでするものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。 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
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
図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
ダミーサイクル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
以上が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
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
サブPCB401上のQSPIブリッジデバイス411は、メインPCB400側の構成を変更することなく、QSPIスレーブデバイスの数、つまり、メモリ容量を増やすことができるようにするための回路である。実施形態1では、サブPCB401上に搭載されるQSPIスレーブデバイスの数は2つであるが、本発明はこれに限定されるものではなく、更に多くのQSPIスレーブデバイスを接続することも可能である。
The
サブPCB402上に搭載されるQSPIスレーブデバイス414は、QSPI423を介してQSPIマスタデバイス410と接続される。実施形態1において、QSPIスレーブデバイス412,413,414は、SRAMやFRAMといったメモリデバイスを想定しているが、本発明はこれに限定されるものではない。
The
メインPCB400と、サブPCB401及びサブPCB402の接続パターンは、メインPCB400にサブPCB401、サブPCB402のどちらか一つが接続されるか、どちらも接続されないパターンである。サブPCB401は、大量のデータをQSPIスレーブデバイス412,413に保存する必要がある場合に接続される。一例としては、CPU431の処理のログ情報を保存することを想定しており、製品構成によって長い期間のログ情報を取得する必要がある場合にサブPCB401が接続される。一方、サブPCB402は、サブPCB401よりもメモリ容量が少なくて済む製品構成の場合に接続される。サブPCB402は、サブPCB401に比べてコストが低いので、コストの最適化を図るために2つのサブPCBの接続が使い分けられる。
The connection pattern of the
次にQSPIマスタデバイス410の内部構成を説明する。
Next, the internal configuration of the
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
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
図5は、実施形態1に係るQSPIブリッジデバイス411の内部構成を説明するブロック図である。
FIG. 5 is a block diagram illustrating an internal configuration of the
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
アドレス解析部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
タイミング調整部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
図6は、実施形態1に係るアドレス解析部504がQSPIスレーブデバイス412、413へのCS信号を制御する処理を説明するフローチャートである。
FIG. 6 is a flowchart illustrating a process in which the
アドレス解析部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
次にS602でアドレス解析部504は、QSPIマスタデバイス410からQSPIスレーブ501を介してQSPI信号が入力されたことを信号522により検知するまで、即ち、QSPIプロトコルが開始されるまで待機する。ここでのQSPIプロトコルの開始とは、CS信号103がアサートされることと同義である。
Next, in step S602, the
こうして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
一方、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
この判定方法を図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
実施形態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
図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
一方、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
次に、図4〜図7を参照して説明したQSPIブリッジデバイス411のライトアクセス時の入出力信号の動作を、図8を参照して詳しく説明する。
Next, the operation of the input / output signal at the time of write access of the
図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
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
タイミングT1において、QSPIマスタデバイス410は、QSPIブリッジデバイス411に対してライト動作を開始するため、CS信号103をロウレベルにアサートする。尚、SCK信号104は、タイミングT1の以前からトグル動作している。
At timing T1, the
次にタイミングT2で、QSPIマスタデバイス410は、QSPIブリッジデバイス411に対してSCK信号104及びIO_0信号105〜IO_3信号108を出力する。これ以降のQSPIマスタデバイス410の動作は、前述の図2のタイミングチャートを参照して説明した通りであるため、その詳しい説明を省略する。
Next, at timing T2, the
またタイミング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
次にタイミング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
次にタイミング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
次にタイミングT5でQSPIマスタデバイス410は、QSPIブリッジデバイス411に対するライトアクセスを終了するため、CS信号103をハイレベルにネゲートする。
Next, at timing T5, the
これによりタイミングT6でQSPIブリッジデバイス411は、タイミングT5でのCS信号103のネゲートを受け、QSPIスレーブデバイス412に対するCS信号801をネゲートする。これによりアクセス対象のQSPIスレーブデバイス412に対するアクセスを終了する。
As a result, at timing T6, the
尚、サブPCB402が接続された場合のQSPI423の動作タイミングチャートは、図2で示したタイミングチャートと基本的に同じである。
The operation timing chart of the
次に、図4〜図7を参照して説明したQSPIブリッジデバイス411のリードアクセス時の入出力信号の動作を、図9を参照して詳しく説明する。
Next, the operation of the input / output signal at the time of read access of the
図9は、実施形態に1係るQSPIブリッジデバイス411におけるリードアクセス時の動作を説明するタイミングチャートである。尚、図9において、図8と同じ信号には同じ参照番号を付している。
FIG. 9 is a timing chart for explaining the operation at the time of read access in the
タイミング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
またタイミング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
次にタイミング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
タイミングT4でQSPIブリッジデバイス411は、アドレスフェーズの2サイクル目を出力する。この時、QSPIブリッジデバイス411は、アクセス対象のスレーブデバイスがどのデバイスであるか確定することができる。ここではQSPIマスタデバイスのアクセス対象が、QSPIスレーブデバイス412である場合を想定して説明する。タイミングT4でQSPIブリッジデバイス411は、アクセス対象外のスレーブデバイス413に対するCS信号807をハイレベルにしてネゲートする。これにより、QSPIスレーブデバイス413へのアクセスが中止される。
At timing T4, the
次にタイミングT5で、QSPIスレーブデバイス412からリードデータが出力される。ここではQSPIスレーブデバイス412のダミーサイクルが3サイクルの場合を想定している。これは説明の簡略化のために3サイクルにしているだけであり、3サイクルに限定されるものではない。
Next, at timing T5, the read data is output from the
次にタイミングT6でQSPIブリッジデバイス411は、QSPIスレーブデバイス412から受信したリードデータを、QSPIマスタデバイス410に対して出力する処理を開始する。そしてタイミングT7でQSPIマスタデバイス410は、QSPIブリッジデバイス411に対するリード動作を終了するため、CS信号103をハイレベルにネゲートする。
Next, at timing T6, the
これによりタイミングT8でQSPIブリッジデバイス411は、タイミングT7でCS信号103がネゲートされたことを受けて、QSPIスレーブデバイス412に対するCS信号801をハイレベルにしてネゲートする。これによりアクセス対象のQSPIスレーブデバイス412に対するアクセスを終了する。
As a result, at timing T8, the
尚、サブPCB402が接続された場合のQSPI423のリードアクセス時のタイミングチャートは、図3で示したタイミングチャートと基本的に同じである。
The timing chart for the read access of the
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
まず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
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
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
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
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
次にS1005へ進みCPU431は、S1002で読み取ったデバイスIDコードからそれぞれのデバイスに対応したアクセス設定を行う。具体的なアクセス設定とは、QSPIスレーブのリード時のダミーサイクル等をQSPIマスタデバイス410のレジスタに設定する処理である。また、S1005において、CPU431は図14で後述するレジスタ部1402に動作モードを示す値を設定する。こうしてS1005の設定処理を終了すると、この処理を終了する。
Next, the processing proceeds to step S1005, and the
図14は、実施形態1に係るQSPIマスタデバイス410のQSPIコントローラ434の構成を説明するブロック図である。
FIG. 14 is a block diagram illustrating the configuration of the
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ブリッジデバイス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ブリッジデバイスを有するサブPCB401が接続された場合はSCK信号104を停止しないモードに設定し、サブPCB402が接続された場合は、QSPI準拠であるSCK信号104を停止するモードにすることができる。
As a result of the above processing, when the
これにより、サブPCB401が接続された場合、QSPIブリッジデバイス411はSCK信号104を動作クロックとして動作することが可能となる。またサブPCB402が接続された場合は、SCK信号104はQSPIに準拠した動作を行うので、QSPIマスタデバイス410は、正常にQSPIスレーブデバイス414へアクセスすることが可能となる。
Accordingly, when the
以上説明したように実施形態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
図11は、実施形態2に係るQSPIマスタデバイス410が搭載されるメインPCB400と、このメインPCB400に接続されるサブPCB401との構成を説明するブロック図である。前述の図4と共通する部分は同じ参照番号で示し、それらの説明を省略する。前述の実施形態1との違いは、QSPIマスタデバイス410内にCLKコントローラ1100が追加されている点である。
FIG. 11 is a block diagram illustrating a configuration of a
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コントローラ1100は、QSPIブリッジデバイス411に接続され、QSPIブリッジデバイス411内の回路の動作クロックとなるSCK_dummy信号1110の停止及び発振制御を行う。CLKコントローラ1100は、SCK_dummy信号1110の制御を行うためのレジスタを備えており、このレジスタは、CPU431からアクセス可能である。
The
図12は、実施形態2に係るQSPIブリッジデバイス411の内部構成を説明するブロック図である。前述の図5と共通する部分は同じ参照番号で示し、それらの説明を省略する。
FIG. 12 is a block diagram illustrating an internal configuration of the
前述の実施形態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
図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
S1301でCPU431は、SCK_dummy信号1110を発振する処理を行う。具体的には、CPU431がCLKコントローラ1100にアクセスし、レジスタに所定の値を設定することで発振させる。SCK_dummy信号1110は、初期設定は停止させる設定値となっている。この処理により、接続されているQSPIブリッジデバイス411にクロック信号が供給される。
In step S1301, the
そして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
以上説明したように実施形態2によれば、QSPIとは別のSCK_dummy信号1110をQSPIマスタデバイス410から出力させることで、QSPI規格に準拠した信号を出力することができる。これにより、QSPIコントローラ434をQSPIの規格から変更できない場合でも、QSPIブリッジデバイス411を接続することが可能となる。
As described above, according to the second embodiment, by causing the
(その他の実施形態)
本発明は、上述の実施形態の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 ...
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:
レジスタと、
前記レジスタの設定値に応じて、発振している第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:
前記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:
前記レジスタの設定値に応じて、発振している第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.
前記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.
前記インタフェース手段に接続されたデバイスがブリッジデバイスであることを検出する検出工程と、
前記検出工程において検出した結果に基づいて、前記マスタデバイスを、前記クロック信号の出力を停止しないモードに設定する設定工程と、
を有することを特徴とする制御方法。 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:
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112445745A (en) * | 2021-01-29 | 2021-03-05 | 武汉精测电子集团股份有限公司 | Device and method for long-distance signal transmission |
-
2018
- 2018-10-16 JP JP2018195298A patent/JP2020064413A/en active Pending
Cited By (1)
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 |