JP2016115154A - Master device and electric apparatus for performing synchronous serial data communication - Google Patents
Master device and electric apparatus for performing synchronous serial data communication Download PDFInfo
- Publication number
- JP2016115154A JP2016115154A JP2014253476A JP2014253476A JP2016115154A JP 2016115154 A JP2016115154 A JP 2016115154A JP 2014253476 A JP2014253476 A JP 2014253476A JP 2014253476 A JP2014253476 A JP 2014253476A JP 2016115154 A JP2016115154 A JP 2016115154A
- Authority
- JP
- Japan
- Prior art keywords
- master device
- clock
- spi
- data
- slave device
- 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)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
Description
本発明は、マスタデバイスとスレーブデバイス間でデータ転送を行う同期式シリアルデータ通信で用いるマスタデバイス、及び前記マスタデバイスと前記スレーブデバイスを備えた電気機器に関する。 The present invention relates to a master device used in synchronous serial data communication for transferring data between a master device and a slave device, and an electric apparatus including the master device and the slave device.
情報処理装置等の電気機器には、既に使用されていないプロセス(旧プロセスという)を用いて製造されたカスタム電子部品を実装したものがある。
これらのカスタム電子部品には、10年以上も継続して使用されているものもある。
しかしながら、旧プロセスを用いたカスタム電子部品の製造は採算性が良くないことから、部品メーカーは旧プロセスを用いたカスタム電子部品の製造を中止(ディスコン)する場合がある。
Some electrical devices such as information processing apparatuses are mounted with custom electronic parts manufactured using a process that has not been used (referred to as an old process).
Some of these custom electronic components have been in use for over 10 years.
However, since the manufacture of custom electronic parts using the old process is not profitable, the parts manufacturer may suspend (disconnect) the manufacture of custom electronic parts using the old process.
部品メーカーがカスタム電子部品の製造を中止すると、電気機器のメーカーは、通常、カスタム電子部品の代替となる電子部品を調達することで対応するが、代替となる電子部品を調達できないことも想定される。
その場合、電気機器のメーカーは、マイクロコンピュータ(以下、マイコン)を活用することで対応している。
When a parts manufacturer stops producing custom electronic components, electrical equipment manufacturers usually respond by procuring electronic parts that can replace custom electronic parts. The
In that case, manufacturers of electrical equipment respond by using a microcomputer (hereinafter referred to as a microcomputer).
但し、カスタム電子部品をマイコンに置き換えるだけでは、電気機器の処理にエラーが生じる場合がある。
電気機器におけるスレーブデバイスをマイコンに置き換え、マスタデバイスとスレーブデバイス間の同期式シリアルデータ通信で使用される、例えばSPI(Serial Peripheral Interface)に接続すると、マスタデバイスがスレーブデバイスに対してリード要求する時に、マイコンの処理速度が間に合わない場合がある。
However, simply replacing the custom electronic component with a microcomputer may cause an error in the processing of the electrical device.
When a slave device in an electric device is replaced with a microcomputer and connected to, for example, an SPI (Serial Peripheral Interface) used for synchronous serial data communication between the master device and the slave device, the master device makes a read request to the slave device. The processing speed of the microcomputer may not be in time.
本発明は、前記従来の問題に鑑みてなされたものであって、その目的は、マスタデバイスとスレーブデバイス間で同期式シリアルデータ通信を行う場合において、スレーブデバイスのマスタデバイスに対するデータの転送の遅延に起因するエラーをマスタデバイスにおいて回避することである。 The present invention has been made in view of the above-described conventional problems, and an object of the present invention is to delay data transfer to a master device of a slave device when performing synchronous serial data communication between a master device and a slave device. This is to avoid an error caused by the master device.
本発明は、スレーブデバイスとの間でクロックに基づきシリアルデータ通信を行うマスタデバイスであって、前記スレーブデバイスが前記マスタデバイスからのコマンドに対応したデータ送信のためのデータラインの準備ができているか否か判定する送信準備判定手段と、前記送信準備判定手段が前記データラインの準備が未完了と判定したとき前記クロックを停止し、前記データラインの準備が完了と判定したとき前記クロックの供給を再開するクロック停止制御手段と、を有することを特徴とする同期式シリアルデータ通信を行うマスタデバイスである。 The present invention is a master device that performs serial data communication with a slave device based on a clock, and whether the slave device is ready for a data line for data transmission corresponding to a command from the master device. Transmission preparation determining means for determining whether or not the transmission preparation determining means stops the clock when the data line preparation is determined to be incomplete, and supplies the clock when the data line preparation is determined to be complete. A master device for performing synchronous serial data communication, comprising: a clock stop control means for restarting.
本発明のマスタデバイスによれば、マスタデバイスとスレーブデバイス間で同期式シリアルデータ通信を行う場合において、スレーブデバイスのマスタデバイスに対するデータの転送の遅延に起因するエラーをマスタデバイスにおいて回避することができる。 According to the master device of the present invention, when synchronous serial data communication is performed between a master device and a slave device, errors due to a delay in data transfer to the master device of the slave device can be avoided in the master device. .
以下、本発明の実施形態について説明するが、ここでは、本発明の前提として、電気機器の制御部をマスタデバイスとしかつ操作部をスレーブデバイスとして、両デバイス間をSPIで接続して同期式シリアルデータ通信を行う場合において、操作部の操作制御部をASICで構成した場合における、データの書き込み、また読み込みに関する処理について図1ないし図6を参照して説明する。続いて、ASICが旧プロセスによる場合に、それをマイコンに代えた場合の問題とその解決策に関する本発明の実施形態のマスタデバイスなどについて、図7以下の図面を参照して説明する。 Hereinafter, an embodiment of the present invention will be described. Here, as a premise of the present invention, a control unit of an electric device is a master device and an operation unit is a slave device, and both devices are connected by SPI to synchronize serial. In the case of performing data communication, processing related to data writing and reading when the operation control unit of the operation unit is configured by an ASIC will be described with reference to FIGS. Subsequently, when the ASIC is based on an old process, a problem when the microcomputer is replaced with a microcomputer and a master device according to an embodiment of the present invention relating to a solution to the problem will be described with reference to FIG. 7 and subsequent drawings.
本発明は、マスタデバイスとスレーブデバイス間のデータ転送に関わるものであるが、同期式シリアル通信を行うマスタデバイスとスレーブデバイスを備えた電気機器は、例えば、情報処理装置、画像形成装置等であり、ここでは画像形成装置を例に採って説明する。
図1は、SPIに接続する操作部の操作制御部をASICで構成した画像形成装置のブロック図である。
画像形成装置100は、図示のようにスイッチ(SW)10、PSU(Power Supply Unit)14、プロッタ部12、スキャナ部16、コントローラ20、操作部30を有する。
The present invention relates to data transfer between a master device and a slave device. An electrical device including a master device and a slave device that performs synchronous serial communication is, for example, an information processing apparatus, an image forming apparatus, or the like. Here, the image forming apparatus will be described as an example.
FIG. 1 is a block diagram of an image forming apparatus in which an operation control unit of an operation unit connected to an SPI is configured by an ASIC.
The
また、ここで、コントローラ20と操作部30はSPIで接続している。
なお、SPIは、後述の図4に示すように、スレーブデバイスを選択するチップセレクト(CS;Chip Select)信号線、クロック(CLK;Clock)信号線、データ出力(SO;Signal Out)信号線、データ入力(SI;Signal Input)信号線の4本の信号線で構成されている。
Here, the
As shown in FIG. 4 described later, the SPI includes a chip select (CS) signal line, a clock (CLK) signal line, a data output (SO) signal line, It consists of four signal lines, data input (SI) signal lines.
スイッチ10は電源のスイッチであり、スイッチ10がONになると、電源がPSU14に供給される。
PSU14は画像形成装置100の電源ユニットであり、プロッタ部12、スキャナ部16、コントローラ20、及び操作部30に電源を供給する。
プロッタ部12は、画像形成装置100内部において形成した画像を出力する。
スキャナ部16は、例えば原稿画像をスキャンする。
コントローラ20は、画像形成装置100の制御部であり、操作部30、ネットワーク、USB(Universal Serial Bus)からの命令(操作)を受信し、その命令に応じた制御を実行する。
操作部30は、画像形成装置100に対して各種操作を設定(命令)するための手段である。
The
The PSU 14 is a power supply unit of the
The
The
The
The
図2は、SPIに接続するコントローラ20の構造を概略的に示すブロック図である。
コントローラ20は、クロック生成部201、CPU(Central Processing Unit)202、ROM(Read Only Memory)203、ASIC(Application Specific Integrated Circuit)204、DDR SDRAM(Double-Data-Rate Synchronous Dynamic Random Access Memory)205、PHY206、PHYクロック生成部207を有する。
FIG. 2 is a block diagram schematically showing the structure of the
The
クロック生成部201は、コントローラ20内部で用いるクロック信号を生成し、生成したクロック信号CLKをコントローラ20の各部に供給する。
CPU202は、コントローラ20全体を制御する演算処理装置である。
ROM203は、不揮発性のメモリであり、CPU202により実行されるプログラム及び各種データを格納する。
The
The
The
ASIC204は、画像データ処理用の集積回路である。
ASIC204は、図2に示すように、CPU I/F(インタフェース)204a、ROM I/F204b、USB I/F204c、SPIデバイス204d、PCI(Peripheral Component Interconnect) I/F204e、MEM (Memory Module)I/F204f、MAC(Media Access Control)204gを有する。
The ASIC 204 is an integrated circuit for image data processing.
As shown in FIG. 2, the ASIC 204 includes a CPU I / F (interface) 204a, ROM I /
CPU I/F204aは、CPU202とのインタフェースである。
ROM I/F204bは、ROM203とのインタフェースである。
USB I/F204cは、PC(Personal Computer)等とデータ通信を実行するためのインタフェースである。
The CPU I /
The ROM I /
The USB I / F 204c is an interface for executing data communication with a PC (Personal Computer) or the like.
SPIデバイス204dは、操作部30とのインタフェースであり、マスタデバイスとして機能する。以下、説明の便宜上、SPIデバイスをSPIマスタデバイス204dと呼ぶ。
CPU202は、SPIマスタデバイス204dからスレーブデバイスである操作部30のSPIスレーブデバイス301a(図3)に、操作部30のキー302aをスキャンするコマンドを定期的に転送するように制御する。CPU202は、SPIスレーブデバイス301aから転送されるリードデータを認識して、操作部30において押下されたキー302aの操作内容を判定する。
CPU202は、操作部30において押下されたキー302aの操作内容(操作情報)に基づき、画像形成装置100の制御を実行する。
The
The
The
例えば、操作部30において「COPY キー」がユーザにより押下された場合、CPU202は、SPIスレーブデバイス301aから転送されたデータより「COPY キー」が押下されたことを認識する。CPU202は、この認識に基づきスキャナ部16において原稿画像をスキャンし、プロッタ部12においてスキャナ部16から転送された画像データに基づき画像を出力するように制御する。
For example, when the “COPY key” is pressed by the user in the
PCI I/F204eは、プロッタ部12、スキャナ部16とのインタフェースである。
MEM I/F204fは、DDR SDRAM205とのメモリインタフェースである。
MAC204gは、ネットワークにおけるデータリンク層として機能し、PHY206に接続される。
The PCI I /
The MEM I /
The
DDR SDRAM205は、揮発性メモリであり、各種データを一時的に記憶する。
PHY206は、ネットワークにおける物理層として機能する。
PHYクロック生成部207は、クロック信号を生成し、PHY206にクロック信号を供給する。
The
The
The PHY
図3は、SPIに接続するスレーブデバイスである操作部30のブロック図である。
操作部30は、操作制御部301、キー302a、キー制御部302、LCD(Liquid Crystal Display)303a、LCDドライバ303b、LCD制御部303、LED(Light Emitting Diode)304a、LED制御部304を有する。
なお、図3では、前述のように、操作部30の操作制御部301をASICで構成している。
FIG. 3 is a block diagram of the
The
In FIG. 3, as described above, the
操作制御部301は、SPIデバイス301a及びコマンド制御部301bにより構成されている。
SPIデバイス301aは、コントローラ20とのインタフェースであり、スレーブデバイスとして機能する。以下、説明の便宜上、SPIデバイスをSPIスレーブデバイス301aと云う。
コマンド制御部301bは、SPIマスタデバイス204dから転送されたコマンドを認識し、そのコマンドに基づき操作部30における各種制御を実行する。
なお、コマンドには、LED ON/OFFコマンド(ライトコマンド)、LCD制御コマンド(ライトコマンド)、キーセンスコマンド(リードコマンド)等がある。
The
The
The
The commands include an LED ON / OFF command (write command), an LCD control command (write command), a key sense command (read command), and the like.
キー302aは、操作パネル上のキー入力を受け付けるキー入力受付手段である。
キー制御部302は、キーセンスコマンドを受け取り、キー入力の有無を検知し、キー302aの状態(内容)を操作制御部301に送信する。
LCD303aは、第1の表示手段であり、バックライト等を備えた液晶ディスプレイである。
LCDドライバ303bは、LCD303aに電源を供給し、LCD制御部303により指定されたデータをLCD303aに表示させる。
LCD制御部303は、表示対象として指定されたデータをLCD303aに表示可能なデータに変換し、LCD303aを制御する。LCD制御部303は、例えば、LCD303aのバックライト等を制御する。
LED304aは、第2の表示手段であり、発光ダイオードである。
LED制御部304は、LED304aに関するコマンド(LED ON/OFF)を受け取り、コマンドで指定されたLED304aを点灯又は消灯する。
The key 302a is a key input receiving unit that receives a key input on the operation panel.
The
The
The
The
The
The
図4は、SPIマスタデバイス204dのブロック図である。
SPIマスタデバイス204dは、SPI制御部204d(1)、CS生成部204d(2)、CLK生成部204d(3)、パラレル・シリアル変換部204d(4)、シリアル・パラレル変換部204d(5)を有する。
SPI制御部204d(1)は、SPIマスタデバイス204dを構成する各部(即ち、CS生成部204d(2)、CLK生成部204d(3)、パラレル・シリアル変換部204d(4)、シリアル・パラレル変換部204d(5))を制御する。
FIG. 4 is a block diagram of the
The
The
CS生成部204d(2)は、チップセレクト(CS)信号を生成し、出力する。
CLK生成部204d(3)は、内部クロック信号iCLKからクロック信号CLKを生成する。なお、内部クロック信号iCLKは、クロック生成部201で生成され、SPIマスタデバイス204dに供給される。
パラレル・シリアル変換部204d(4)は、SPIマスタデバイス204dから転送されるパラレルデータをシリアルデータに変換し、データ出力(SO)信号として出力する。
シリアル・パラレル変換部204d(5)は、SI(データ入力端子)から入力されるシリアルデータをパラレルデータに変換し、PCIバスに転送する。
The
The
The parallel /
The serial /
図5は、SPIマスタデバイス204dにおける、SPIスレーブデバイス301aへのデータの書き込み時のタイミング図である。
図5に示すタイミング図では、内部クロック信号iCLK、チップセレクト信号CS、クロック信号CLK、データ出力信号SO、データ入力信号SIを示している。
なお、クロック信号CLKは、SPIマスタデバイス204d及びSPIスレーブデバイス301aの処理において共通の同期信号である。また、後述の図6、図7、図12、図14、図15において、図示の信号も、図5と同様である。
FIG. 5 is a timing chart when the
In the timing chart shown in FIG. 5, the internal clock signal iCLK, the chip select signal CS, the clock signal CLK, the data output signal SO, and the data input signal SI are shown.
The clock signal CLK is a common synchronization signal in the processing of the
コントローラ20(マスタ)から操作部30(スレーブ)にデータを書き込む場合、コントローラ20のCPU202は、SPIマスタデバイス204dのパラレル・シリアル変換部204d(4)にライトコマンド、アドレス、ライトデータを転送する。
パラレル・シリアル変換部204d(4)は、CPU202から転送開始命令を受けると、転送されたライトコマンド、アドレス、ライトデータを、パラレルデータからシリアルデータに変換する。
When data is written from the controller 20 (master) to the operation unit 30 (slave), the
Upon receiving a transfer start command from the
SPIマスタデバイス204dのSPI制御部204d(1)は、変換したシリアルデータを出力するために、チップセレクト信号CSをHighレベルからLowレベルに制御し、クロック信号CLKを出力する。
即ち、SPI制御部204d(1)は、クロック信号CLKの立ち下がり(negative edge)に同期させて、ライトコマンド信号(8bit)とアドレス信号(8bit)をデータ出力信号SOとして、操作部30のSPIスレーブデバイス301aに転送する。
The
In other words, the
SPI制御部204d(1)は、さらに、SPIスレーブデバイス301aにデータを書き込む(ライトする)ため、図5に示すように、アドレス信号の転送に続いて15番目のクロックの立ち下がりからSPIスレーブデバイス301aにライトデータを転送する。
SPI制御部204d(1)は、ライトデータを出力するまでクロック信号CLKを出力するようCLK生成部204d(3)を制御し、ライトデータの出力が完了すると(22番目のクロックの立ち下がりのタイミング)、クロック信号CLKをHighレベルに制御(即ち停止)する。
SPI制御部204d(1)は、クロック信号CLKをHighレベルに制御すると同時に、シリアルデータの出力が停止したのでチップセレクト信号CSもHighレベルに制御する。
The
The
The
SPIスレーブデバイス301aは、ライトコマンド信号よりコマンドの内容、またアドレス信号よりデータの書き込み指定箇所を認識し、さらにSPIマスタデバイス204dから転送されるライトデータをその指定箇所に書き込む。
また、この場合、SPIマスタデバイス204dに入力されるデータ入力信号SIは、Highの状態で変化しない。
The
In this case, the data input signal SI input to the
図6は、SPIマスタデバイス204dにおける、SPIスレーブデバイス301aからのデータの読み込み時のタイミング図である。
コントローラ20(マスタ)が操作部30(スレーブ)からデータを読み込む場合、コントローラ20のCPU202は、SPIマスタデバイス204dのパラレル・シリアル変換部204d(4)にリードコマンド、アドレスを転送する。
パラレル・シリアル変換部204d(4)は、CPU202から転送開始命令を受けると、転送されたリードコマンド、アドレスを、パラレルデータからシリアルデータに変換する。
FIG. 6 is a timing chart at the time of reading data from the
When the controller 20 (master) reads data from the operation unit 30 (slave), the
When receiving a transfer start command from the
SPI制御部204d(1)は、変換したシリアルデータを出力するために、データの書き込み時と同様に、チップセレクト信号CSをHighレベルからLowレベルに制御し、さらにクロック信号CLKを出力するようにCLK生成部204d(3)を制御する。
SPI制御部204d(1)は、次に、クロック信号の立ち下がりに同期させて、リードコマンド信号(8bit)とアドレス信号(8bit)をデータ出力信号として、SPIスレーブデバイス301aに転送する。
In order to output the converted serial data, the
Next, the
この場合、SPIスレーブデバイス301aは、リードコマンド信号よりコマンドの内容、またアドレス信号よりデータの読み込み指定箇所を認識し、その指定箇所からデータを読み込む。
SPIスレーブデバイス301aは、図6におけるクロック信号CLKの15番目のクロックの立ち下がりで、読み込んだデータをSPIマスタデバイス204dに転送する。
In this case, the
The
SPI制御部204d(1)は、SPIスレーブデバイス301aから転送され、入力される入力データ信号SI(リードデータ(8bit))を、シリアル・パラレル変換部204d(5)により、クロック信号CLKのクロックの16番目の立ち上がりから23番目の各立ち上がりのタイミングでパラレルデータに変換するように制御する。
The
SPI制御部204d(1)は、シリアル・パラレル変換部204d(5)に8bitのリードデータが入力されると、クロック信号CLKをHighレベル(停止)に制御する。
また、SPI制御部204d(1)は、クロック信号CLKをHighレベルに制御すると同時に、リードデータの入力が完了したのでチップセレクト信号CSもHighレベルに制御する。
The
In addition, the
以上、SPIに接続する操作部30の操作制御部301をASICで構成した場合における、SPIマスタデバイス204dとSPIスレーブデバイス301a間におけるデータ転送について説明した。
次に、以上で説明した操作制御部301のASICが旧プロセスで製造したもので既に製造停止されていると仮定して、そのASICをマイコンに置き換えた場合に、SPIマスタデバイス204dとSPIスレーブデバイス301a間のデータの転送処理において発生するエラーについて説明する。
The data transfer between the
Next, assuming that the ASIC of the
ここで、マイコンは、一般に数千以上の命令を組み合わせて構成されるプログラム(即ち、ソフトウェア)で動作するコンピュータである。そのため、通常のマイコンでは、所定の周波数において、1クロック周期期間内に複数の命令の全てを判定することができない場合がある。
例えば、画像形成装置100の処理において、マイコンは、SPIマスタデバイス204dから転送されるLCD303a、LED304a、キー302a関連のコマンドを1クロックで判定することができない場合がある。また、マイコンは、キー302aの状態を検知する場合等、処理の内容によっては、数千ものクロックを必要とする場合もある。
したがって、電気機器、例えば画像形成装置におけるデータ処理部材の一部を、ASICからマイコンに置換しただけでは、マイコンの処理遅延が考慮されていないため、処理にエラーが生じることがある。
Here, the microcomputer is a computer that operates with a program (that is, software) that is generally configured by combining several thousand or more instructions. For this reason, an ordinary microcomputer may not be able to determine all of a plurality of instructions within one clock cycle period at a predetermined frequency.
For example, in the processing of the
Therefore, simply replacing a part of the data processing member in an electrical apparatus, for example, an image forming apparatus, from the ASIC to the microcomputer does not take into account the processing delay of the microcomputer, and an error may occur in the processing.
図7は、図3に示す操作部30の操作制御部301をASICからマイコンに置換した場合の、SPIマスタデバイス204dにおける、データの読み込み時のタイミング図である。信号の転送処理、ここではSPIマスタデバイス204dにおける読み込み処理にエラーが生じる場合を示している。
なお、図7は、マイコンがコマンドの内容を解釈する上で、1クロック周期を要する場合を示している。
FIG. 7 is a timing chart at the time of data reading in the
FIG. 7 shows a case where one clock cycle is required for the microcomputer to interpret the contents of the command.
コントローラ20から操作部30に対してデータの転送指示を行う場合、まず、コントローラ20のSPI制御部204d(1)は、SPIスレーブデバイス301aに対して、パラレル・シリアル変換部204d(4)において変換したシリアルデータを出力する。そのために、SPI制御部204d(1)は、図6で示したと同様に、CS生成部204d(2)で生成したチップセレクト信号CSをHighレベルからLowレベルに制御し、さらにCLK生成部204d(3)でクロック信号CLKを出力するように制御する。
SPI制御部204d(1)は、次に、クロック信号CLKの立ち下がりに同期させて、リードコマンド信号(8bit)とアドレス信号(8bit)をデータ出力信号として、SPIスレーブデバイス301aに転送する。
When the
Next, the
この場合、SPIスレーブデバイス301aを構成するマイコンは、アドレスデータの最後のビット、即ち、クロック信号CLKの15番目のクロックの立ち上がりの時点で、コマンドの内容に関する解釈を開始する。
マイコンは、コマンドの内容に関する解釈を開始してから1クロック周期期間経過後に、コマンドの内容がデータの読み込みであると解釈する。マイコンは、この解釈に基づきSPIマスタデバイス204dから転送されたアドレス信号よりデータの読み込み指定箇所を認識し、その指定された箇所からデータを読み込む。
マイコンは、データを読み込むと、クロック信号CLKの16番目のクロックの立ち下がりで、読み込んだデータ(リードデータ(8bit))をコントローラ20(SPIマスタデバイス204d)に転送する。
In this case, the microcomputer configuring the
The microcomputer interprets that the content of the command is data reading after the lapse of one clock period from the start of the interpretation regarding the content of the command. Based on this interpretation, the microcomputer recognizes the data reading designated portion from the address signal transferred from the
When reading the data, the microcomputer transfers the read data (read data (8 bits)) to the controller 20 (
他方、SPI制御部204d(1)は、SPIスレーブデバイス301aから転送され、データ入力端子に入力されるデータ入力信号SI(リードデータ(8bit))を、クロック信号CLKの16番目のクロックの立ち上がりからパラレルデータに変換するようにシリアル・パラレル変換部204d(5)を制御する。
そのため、SPI制御部204d(1)は、リードデータとして1クロックシフト(遅延)したデータを読み込むこととなり、正確なデータを読み込むことができない。即ち、リードデータの読み込み処理において、エラーが生じることとなる。
On the other hand, the
Therefore, the
このように、操作制御部301をマイコンで構成させると処理上の遅延が生じる。
そこで、本発明の実施形態に係るSPIマスタデバイスは、SPIスレーブデバイスをマイコンで構成することに起因して生じる処理上の遅延に応じて、SPIマスタデバイス204dの同期制御に用いるクロック信号CLKを制御することでこの問題を解決する。
以下、本発明の実施形態に係るSPIマスタデバイスを図8ないし図15を参照して説明する。
As described above, when the
Therefore, the SPI master device according to the embodiment of the present invention controls the clock signal CLK used for synchronization control of the
Hereinafter, an SPI master device according to an embodiment of the present invention will be described with reference to FIGS.
図8は、本発明の実施形態に係るSPIマスタデバイスを有する画像形成装置のブロック図である。
画像形成装置100は、操作部30の操作制御部301(図3)をマイコンで構成したこと以外は、図1に示したものと同様である。
即ち、画像形成装置100は、スイッチ10、PSU14、プロッタ部12、スキャナ部16、コントローラ20、操作部30を有する。
また、コントローラ20と操作部30がSPIで接続され、さらにSPIを構成する信号線が4本の信号線(チップセレクト信号CS、クロック信号CLK、データ出力信号SO、データ入力信号SIの各信号線)で構成されている。
FIG. 8 is a block diagram of an image forming apparatus having an SPI master device according to an embodiment of the present invention.
The
That is, the
In addition, the
図9は、本発明の実施形態に係るSPIマスタデバイスを備えたコントローラ20のブロック図である。
コントローラ20は、図2に示したものと同様に、クロック生成部201、CPU202、ROM203、ASIC204、DDR SDRAM205、PHY206、PHYクロック生成部207を有する。
コントローラ20を構成する各部に関して、ASIC204のSPIマスタデバイス204D以外は、図2に示したものと同様の機能となる。
なお、ここでもSPIデバイスをSPIマスタデバイス204Dとして説明する。また、SPIマスタデバイス204Dについては、図11、図13を参照して後述する。
FIG. 9 is a block diagram of the
The
With respect to each part constituting the
Here, the SPI device is described as the
図10は、操作部30Aのブロック図である。
操作部30Aは、図10に示すように、操作制御部301A、キー302a、LCDドライバ303b、LCD303a、LED304aを有する。
ここで、操作制御部301Aは、前述のようにマイコンで構成している。
なお、SPIデバイス301A(1)、コマンド制御部301A(2)だけではなく、キー制御部301A(3)、LCD制御部301A(4)、LED制御部301A(5)もマイコンで構成する。
また、ここでも図3に示したものと同様に、SPIデバイスをSPIスレーブデバイス301A(1)として説明する。
FIG. 10 is a block diagram of the
As illustrated in FIG. 10, the
Here, the
Not only the
Also here, as in the case shown in FIG. 3, the SPI device will be described as
図11は、コントローラ20のSPIマスタデバイス204Dのブロック図である。
SPIマスタデバイス204Dは、SPI制御部204D(1)、CS生成部204D(2)、CLK生成部204D(3)、パラレル・シリアル変換部204D(4)、シリアル・パラレル変換部204D(5)、CLK停止制御部204D(6)を有する。
なお、CLK停止制御部204D(6)以外のSPIマスタデバイス204Dを構成する各ブロックは、図4に示したものと同様の機能となる。
FIG. 11 is a block diagram of the
The
Each block constituting the
CLK停止制御部204D(6)は、マイコンにおける処理の遅延量を記憶(設定)する遅延レジスタを有する。
CLK停止制御部204D(6)は、データの読み込み動作における所定のタイミングで、遅延レジスタに記憶した遅延量(本発明における予め設定された期間に対応する)に従って、クロックCLKを停止(無効)するように制御する。
The CLK
The CLK
図12は、SPIマスタデバイス204Dにおける、SPIスレーブデバイス301aから転送されるリードデータの読み込み時のタイミング図である。
なお、図12では、SPIスレーブデバイス204Dからのリードデータの転送が、操作制御部301AをASIC204で構成した場合に比して、2クロック周期期間分の遅延が生じる場合を示している。
即ち、図12は、SPIスレーブデバイス301aからのデータ転送に関する遅延量が既知の場合を示している。
FIG. 12 is a timing chart at the time of reading the read data transferred from the
FIG. 12 shows a case where the transfer of the read data from the
That is, FIG. 12 shows a case where the delay amount related to data transfer from the
SPIスレーブデバイス301aとの交信を開始するに当たり、まず、SPIマスタデバイス204DのSPI制御部204D(1)は、チップセレクト信号CSをHighレベルからLowレベルに制御し、次に、CLK生成部204D(3)がクロック信号CLKを出力するよう制御する。
SPI制御部204D(1)は、クロック信号の立ち下がりに同期させて、リードコマンド信号(8bit)とアドレス信号(8bit)をデータ出力信号SOとして、SPIスレーブデバイス301aに転送する。
In starting communication with the
The
SPI制御部204D(1)は、CPU202から送信されたコマンドがリードコマンドと解釈すると、予め設定された期間つまり遅延量(2クロック周期期間分の遅延量)を、7番目のクロックの立ち下がりのタイミングでCLK停止制御部204D(6)の遅延レジスタに設定する。
SPI制御部204D(1)は、データ出力信号SOとしてアドレス信号の出力を完了すると、この場合は、本発明の送信準備判定手段に対応するCLK停止制御部204D(6)は、遅延レジスタに遅延量が設定されていることから、SPIスレーブデバイス301A(1)からシリアル・パラレル変換部204D(5)に接続されたデータライン(SI信号転送用ライン)の準備が完了しないと判定する。CLK停止制御部204D(6)がデータラインの準備が完了していない、つまり未完了と判定すると、図12のAの時点よりクロック信号を停止(Highに固定)するように制御する。また、その時点(図12のA)より、CLK停止制御部204D(6)の遅延レジスタの遅延量(2クロック周期期間分)のカウントダウンを開始させる。
When the command transmitted from the
When the
遅延レジスタのカウントダウンが終了した時点、即ち、2クロックが経過した時点(図12のB)で、CLK停止制御部204D(6)はデータラインの準備が完了したと判定して、クロック信号CLKの停止を解除する。
クロック信号CLKの停止を解除すると、クロック信号CLKは図12に示すようにHighからLowに遷移し、SPIスレーブデバイス301A(1)はSPIマスタデバイス204Dにリードデータを転送する。
When the delay register countdown ends, that is, when two clocks have elapsed (B in FIG. 12), the CLK
When the stop of the clock signal CLK is released, the clock signal CLK changes from High to Low as shown in FIG. 12, and the
SPI制御部204D(1)は、クロック信号CLKの停止解除に伴いクロック生成部201よりクロック信号CLKが供給されると、シリアル・パラレル変換部204D(5)を制御してクロック信号CLKの16番目のクロックの立ち上がりからシリアルデータをパラレルデータに変換する。
SPI制御部204D(1)は、クロック信号CLKの23番目のクロックの立ち上がりで最後のデータを認識すると、パラレルデータに変換したリードデータを、SPIバスを経由させて、CPU202に転送する。
When the clock signal CLK is supplied from the
When the
SPI制御部204D(1)は、図12に示すように、クロック信号CLKの23番目のクロックの立ち上がり後において、クロック信号CLKをHighレベルに制御する。
また、SPI制御部204D(1)は、クロック信号をHighレベルに制御すると、チップセレクト信号CSもHighレベルに制御する。
As shown in FIG. 12, the
Further, when the
以上説明したように、マイコンにおける処理の遅延量が既知である場合は、その遅延量をレジスタに設定し、その遅延量に応じてクロック信号CLKを停止制御することで、SPIマスタデバイス204Dでのデータの読み込み時のエラーを回避することができる。
このように、遅延量をクロックの周期に換算してSPIマスタデバイス204Dの遅延レジスタに設定しておけば、SPIマスタデバイス204Dでのデータの読み込み時のエラーを回避することができる。
また、図12では、データの読み込みに関する処理を説明したが、データの書き込みに関する処理は図5に示したものと同様であり、データの書き込み時には、CLK停止制御部204D(6)はクロック動作の停止制御を実行しない。
As described above, when the processing delay amount in the microcomputer is known, the delay amount is set in the register, and the clock signal CLK is controlled to stop according to the delay amount, so that the
As described above, if the delay amount is converted into the clock cycle and set in the delay register of the
In FIG. 12, the processing related to data reading has been described. However, the processing related to data writing is the same as that shown in FIG. 5. At the time of data writing, the CLK
次に、図13及び図14を参照して、マイコンにおける処理の遅延量が既知でない場合(不明の場合、また変動する場合)のエラー回避のためのクロックの制御について説明する。
図13は、本発明の別の実施形態に係るSPIマスタデバイス204Dのブロック図である。
SPIマスタデバイス204Dは、SPI制御部204D(1)、CS生成部204D(2)、CLK生成部204D(3)、パラレル・シリアル変換部204D(4)、シリアル・パラレル変換部204D(5)、CLK停止制御部204D(6a)を有する。
なお、CLK停止制御部204D(6a)以外のSPIマスタデバイス204Dを構成する各ブロックは、図4に示したものと同様の機能となる。
Next, with reference to FIG. 13 and FIG. 14, a description will be given of clock control for error avoidance when the processing delay amount in the microcomputer is not known (when it is unknown or when it fluctuates).
FIG. 13 is a block diagram of an
The
Each block constituting the
また、データ入力信号SIは、図13に示すように、シリアル・パラレル変換部204D(5)だけではなく、CLK停止制御部204D(6a)にも入力される。
即ち、CLK停止制御部204D(6a)は、データ入力信号SIを、SPIスレーブデバイス301A(1)の転送準備が完了したか否かを判定するレディ信号として利用し、レディ信号のレベル(High又はLow)に応じて、CLKを制御する。
以下、CLK停止制御部204D(6a)における制御に関して、図14のタイミング図を参照して説明する。
Further, as shown in FIG. 13, the data input signal SI is input not only to the serial /
That is, the CLK
Hereinafter, the control in the CLK
図14は、本発明の別の実施形態に係るSPIマスタデバイス204Dにおける、データの読み込み時のタイミング図である。
SPI制御部204D(1)は、図6に示したものと同様に、SPIスレーブデバイス301A(1)へリードコマンドデータ等を転送するため、チップセレクト信号CSをHighレベルからLowレベルに制御し、さらにクロック信号CLKを出力する。
SPI制御部204D(1)は、次に、クロック信号CLKの立ち下がりに同期させて、リードコマンド信号(8bit)をデータ出力信号SOとして、SPIスレーブデバイス301A(1)に転送する。
SPIスレーブデバイス301A(1)は、リードコマンド信号を受信した時点で(即ち、図14におけるクロック信号CLKの7番目のクロックの立ち上がりで)、リードデータを転送することができないと認識し、7番目のクロックの立ち下がりでSPIマスタデバイス204Dに転送するデータ入力信号SIをLowからHighに制御する。
FIG. 14 is a timing chart at the time of reading data in the
The
Next, the
When the
SPI制御部204D(1)は、リードコマンド信号(8bit)に続けて、アドレス信号(8bit)をデータ出力信号として、SPIスレーブデバイス301A(1)に転送する。
CLK停止制御部204D(6a)は、データ入力信号SIのレベルを監視し、15番目のクロックの立ち上がりでデータ入力信号SIのレベルがHighであることを確認すると、クロック信号CLKをHighレベルにして停止制御する。
CLK停止制御部204D(6a)は、クロック信号をHighに停止制御した後においても、内部クロック信号iCLKでデータ入力信号SIを監視する。
The
The CLK
The CLK
そして、SPIスレーブデバイス301A(1)は、リードデータの転送準備が完了すると、SPIマスタデバイス204Dに入力されるデータ入力信号SIをHighからLowに制御する。
CLK停止制御部204D(6a)は、データ入力信号がHighからLowに遷移したことを確認すると、クロック信号CLKの停止制御を解除する(即ち、クロックを有効にする)。
SPIスレーブデバイス301A(1)は、15番目のクロックの立ち下がりと同時に、リードデータをSPIマスタデバイス204Dに転送する。
Then, the
When the CLK
The
SPI制御部204D(1)は、16番目のクロックの立ち上がりから、SPIスレーブデバイス301A(1)より転送されるリードデータを読み込む。
なお、16番目のクロック以後の処理は、図6に示したものと同様の処理となる。
The
The processing after the 16th clock is the same as that shown in FIG.
以上説明したように、本実施形態によれば、SPI制御部204D(1)は、SPIスレーブデバイス301A(1)において転送準備が完了するまで、CLK停止制御部204D(6a)はクロック動作を停止するように制御する。そのため、SPIスレーブデバイス301A(1)からのデータ転送に関する遅延量が不明の場合、また変動する場合であっても、SPIマスタデバイス204Dにおけるデータの読み込み時のエラーを回避することができる。
As described above, according to the present embodiment, the
次に、データの読み込み処理時に、アドレス情報等の付加情報の転送準備ができず、SPIマスタデバイス204DからSPIスレーブデバイス301A(1)にデータが転送されない場合について、図15を参照して説明する。
この場合、SPI制御部204D(1)は、リードコマンド信号の最後のビットの転送時に(即ち、クロック信号CLKの7番目のクロックの立ち上がりで)、CLK停止制御部204D(6a)によりデータ入力信号SIを監視し、SPIスレーブデバイス301A(1)において転送準備が完了したか否かを確認する(即ち、データ入力信号SIがLowであるか否かを確認する)。
Next, a case in which additional information such as address information is not ready to be transferred during data reading processing, and data is not transferred from the
In this case, the
図15に示す例では、7番目のクロックの立ち上がり以後もアドレス情報等の付加情報の転送準備ができないため、データ入力信号SIがHighである。したがって、CLK停止制御部204D(6a)は、クロック信号CLKをHighに停止制御する。
CLK停止制御部204D(6a)は、その後において、内部クロック信号iCLKにより、データの転送準備ができてデータ入力信号SIがHighからLowに遷移したことを確認すると、クロック信号CLKの停止制御を解除する。
SPI制御部204D(1)は、8番目のクロックの立ち上がりよりリードデータを読み込む。
In the example shown in FIG. 15, the additional data such as address information is not ready for transfer even after the rising edge of the seventh clock, so the data input signal SI is High. Therefore, the CLK
After that, the CLK
The
なお、図5、図6、図7、図12、図14、図15では、データ出力信号として転送する、コマンド信号、アドレス信号、データ信号(即ち、ライトデータ、リードデータ)をいずれも8ビット長で構成させているが、8ビット長以外の長さでも、同様に対応(処理)することができる。 5, 6, 7, 12, 14, and 15, the command signal, the address signal, and the data signal (that is, write data and read data) to be transferred as data output signals are all 8 bits. Although it is configured with a length, a length other than the 8-bit length can be similarly handled (processed).
以上、説明したように、本発明の実施形態に係るSPIマスタデバイスとSPIスレーブデバイス間においてデータ転送を行うSPI通信システムでは、SPIスレーブデバイスからのデータの転送が遅延する場合に、SPIマスタデバイス側で、SPIスレーブデバイスからのデータ転送準備完了を示す入力データを監視する簡易な構成により、データの転送が遅延することによる信号読み取りエラーを未然に防止することができる。
そのため、例えば、SPIスレーブデバイスが旧プロセスで製造されたASICで構成されている場合に、それをマイコンで代替した場合に予想されるSPIスレーブデバイスからSPIマスタデバイスへのデータ転送時おける遅延の問題を解消することができる。
As described above, in the SPI communication system that performs data transfer between the SPI master device and the SPI slave device according to the embodiment of the present invention, when the data transfer from the SPI slave device is delayed, the SPI master device side Thus, with a simple configuration for monitoring input data indicating completion of data transfer preparation from the SPI slave device, it is possible to prevent a signal reading error due to a delay in data transfer.
Therefore, for example, when the SPI slave device is composed of an ASIC manufactured by an old process, there is a problem of delay in data transfer from the SPI slave device to the SPI master device, which is expected when the SPI slave device is replaced with a microcomputer. Can be eliminated.
204D…SPIマスタデバイス、204D(1)…SPI制御部、204D(2)…CS生成部、204D(3)…CLK生成部、204D(4)…パラレル・シリアル変換部、204D(5)…シリアル・パラレル変換部、204D(6)…CLK停止制御部。 204D ... SPI master device, 204D (1) ... SPI control unit, 204D (2) ... CS generation unit, 204D (3) ... CLK generation unit, 204D (4) ... parallel / serial conversion unit, 204D (5) ... serial Parallel conversion unit, 204D (6)... CLK stop control unit.
Claims (8)
前記スレーブデバイスが前記マスタデバイスからのコマンドに対応したデータ送信のためのデータラインの準備ができているか否か判定する送信準備判定手段と、
前記送信準備判定手段が前記データラインの準備が未完了と判定したとき前記クロックを停止し、前記データラインの準備が完了と判定したとき前記クロックの供給を再開するクロック停止制御手段と、
を有することを特徴とする同期式シリアルデータ通信を行うマスタデバイス。 A master device that performs serial data communication with a slave device based on a clock,
Transmission preparation determination means for determining whether the slave device is ready for a data line for data transmission corresponding to a command from the master device;
A clock stop control means for stopping the clock when the transmission preparation determination means determines that the preparation of the data line is incomplete, and restarting the supply of the clock when it is determined that the preparation of the data line is complete;
A master device for performing synchronous serial data communication.
前記送信準備判定手段は、前記クロックの停止後、予め設定された期間が経過したか判定し、
前記クロック停止制御手段は、前記送信準備判定手段が前記設定された期間が経過したと判定したとき、前記クロックの供給を再開することを特徴とする同期式シリアルデータ通信を行うマスタデバイス。 The master device according to claim 1,
The transmission preparation determination means determines whether a preset period has elapsed after the clock is stopped,
The master device for performing synchronous serial data communication, wherein the clock stop control means restarts the supply of the clock when the transmission preparation determination means determines that the set period has elapsed.
前記クロック停止制御手段は、マスタデバイスからスレーブデバイスへの前記コマンドを含むデータの転送が完了しかつ前記送信準備判定手段が前記スレーブデバイスのデータラインの準備が未完了と判定したことを条件に、クロック信号を停止し、前記スレーブデバイスのデータラインの準備が完了と判断したことを条件に、前記クロック停止を解除してクロック供給を再開することを特徴とする同期式シリアルデータ通信を行うマスタデバイス。 The master device according to claim 1,
The clock stop control means, on condition that the transfer of the data including the command from the master device to the slave device is completed and the transmission preparation determination means determines that the data line preparation of the slave device is incomplete. A master device for performing synchronous serial data communication, wherein the clock signal is stopped and the clock line is released and the clock supply is resumed on the condition that it is determined that the preparation of the data line of the slave device is completed .
前記送信準備判定手段は、前記データラインの準備の完了又は未完了を、前記スレーブデバイスから転送される前記データラインの準備の完了又は未完了を表す信号に基づき判定することを特徴とする同期式シリアルデータ通信を行うマスタデバイス。 The master device according to claim 3,
The transmission preparation determining means determines whether the preparation of the data line is completed or not based on a signal indicating completion or uncompleted preparation of the data line transferred from the slave device. Master device for serial data communication.
前記データラインの準備の完了又は未完了を表す信号は、前記データラインで転送される前記マスタデバイスのデータ入力信号であることを特徴とする同期式シリアルデータ通信を行うマスタデバイス。 The master device according to claim 4, wherein
A master device for performing synchronous serial data communication, wherein a signal indicating completion or incomplete of preparation of the data line is a data input signal of the master device transferred on the data line.
前記送信準備判定手段は、前記マスタデバイスから前記スレーブデバイスへの複数ビットで構成される前記データ転送要求の最終ビットの転送タイミングで、前記スレーブデバイスからの前記データラインの準備の完了又は未完了を判定することを特徴とする同期式シリアルデータ通信を行うマスタデバイス。 The master device according to any one of claims 3 to 5,
The transmission preparation determination means determines whether the preparation of the data line from the slave device is complete or incomplete at the transfer timing of the last bit of the data transfer request composed of a plurality of bits from the master device to the slave device. A master device for performing synchronous serial data communication characterized by determining.
クロック同期式シリアルデータ通信のコマンドは、スレーブデバイスからのデータをマスタデバイスが読み取るコマンドであることを特徴とする同期式シリアルデータ通信を行うマスタデバイス。 The master device according to any one of claims 1 to 6,
A master device for performing synchronous serial data communication, wherein the command for clock synchronous serial data communication is a command for the master device to read data from a slave device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014253476A JP2016115154A (en) | 2014-12-15 | 2014-12-15 | Master device and electric apparatus for performing synchronous serial data communication |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014253476A JP2016115154A (en) | 2014-12-15 | 2014-12-15 | Master device and electric apparatus for performing synchronous serial data communication |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016115154A true JP2016115154A (en) | 2016-06-23 |
Family
ID=56140057
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014253476A Pending JP2016115154A (en) | 2014-12-15 | 2014-12-15 | Master device and electric apparatus for performing synchronous serial data communication |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2016115154A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017063360A (en) * | 2015-09-25 | 2017-03-30 | Necプラットフォームズ株式会社 | Information processing system, device and interface control method |
-
2014
- 2014-12-15 JP JP2014253476A patent/JP2016115154A/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017063360A (en) * | 2015-09-25 | 2017-03-30 | Necプラットフォームズ株式会社 | Information processing system, device and interface control method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI733752B (en) | System and method for side band communication, and tangible, non-transitory, computer-readable medium | |
US20100095138A1 (en) | Computer start-up timing control device and method thereof | |
US8972754B2 (en) | Computer device and frequency adjusting method for central processing unit | |
US8018784B2 (en) | Semiconductor device and data processor | |
TW202004510A (en) | Bus system | |
CN109062618B (en) | Development method, system and medium for server single-node power consumption capping firmware | |
US8745428B2 (en) | Method for clock gating a DSP when not in use | |
JP2016115154A (en) | Master device and electric apparatus for performing synchronous serial data communication | |
JP6816765B2 (en) | Vehicle display device | |
TW201541239A (en) | Communication device | |
EA201100722A1 (en) | METHOD FOR SETTING THE TIME OF DELAYING THE INITIATING DEVICE AND METHOD OF MANAGING THE ELECTRON DETONATOR IN THE SYSTEM OF INITIALIZATION OF THE ELECTRON DETONATOR | |
JP6049781B2 (en) | Image forming apparatus, control method, and program | |
US10460772B2 (en) | Semiconductor device | |
US10146367B2 (en) | Synchronization method and touch signal processing system using the same | |
KR100734521B1 (en) | Intellectual Property Module for System on Chip | |
CN116126774B (en) | Device and method for multiplexing pins of clock and communication interface | |
JP2010166309A (en) | Optical data link | |
KR20130138472A (en) | Apparatus of universal inter-integrated circuit interface for controlling devices using fpga and communication method for using the same | |
CN110960259B (en) | Front-end hardware control method and system of ultrasonic equipment and ultrasonic equipment | |
TWI432967B (en) | Computer device and detecting method for external sub-board | |
KR20110083409A (en) | Timing controller, apparatus for controlling synchronization using timing controller | |
JP2011124876A (en) | Image processor and method of controlling the same | |
CN118885343A (en) | Bus verification method and device, electronic equipment and storage medium | |
JP2014022939A (en) | Electronic controller | |
CN118939138A (en) | Display device, control method thereof, electronic apparatus, storage medium, and program product |