JP2012064021A - 通信システム、マスター装置、及びスレーブ装置、並びに通信方法 - Google Patents

通信システム、マスター装置、及びスレーブ装置、並びに通信方法 Download PDF

Info

Publication number
JP2012064021A
JP2012064021A JP2010208209A JP2010208209A JP2012064021A JP 2012064021 A JP2012064021 A JP 2012064021A JP 2010208209 A JP2010208209 A JP 2010208209A JP 2010208209 A JP2010208209 A JP 2010208209A JP 2012064021 A JP2012064021 A JP 2012064021A
Authority
JP
Japan
Prior art keywords
slave device
request signal
data
master device
slave
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
JP2010208209A
Other languages
English (en)
Inventor
Masashi Tokuda
正志 徳田
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2010208209A priority Critical patent/JP2012064021A/ja
Priority to US13/231,128 priority patent/US8719476B2/en
Publication of JP2012064021A publication Critical patent/JP2012064021A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/364Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)

Abstract

【課題】マスター側デバイスの負担を低減すること。
【解決手段】通信システムは、マスター装置とスレーブ装置とを有する。スレーブ装置は、送信すべきデータが発生した場合に、マスター装置に送信要求を表すリクエスト信号を生成するリクエスト信号生成部と、マスター装置に、前記リクエスト信号を送信する送信部とを有する。マスター装置は、スレーブ装置からのリクエスト信号を受信するリクエスト信号受信部と、該リクエスト信号に応じて、送信させるべきスレーブ装置を選択する選択部と、該選択スレーブ装置に、データ送信が許可されたことを表す信号を送信する送信部と、選択スレーブ装置からのデータを受信するデータ受信部とを有する。
【選択図】図1

Description

本発明は、マスターデバイスと、スレーブデバイスとを有する通信システムに関する。
一つのマスターデバイスと複数のスレーブデバイスとの間でシリアル通信を行う例としては、データ線及びクロック線を全てのスレーブデバイス間で共有するものがある(例えば、特許文献1参照)。スレーブデバイス毎に通信のビット長が異なっても、ビット長設定レジスタを持つことで、通信ビット幅の異なる複数のスレーブデバイスに対してデータ線及びクロック線を共有化して通信ができる。
また、クロック生成回路を有することにより、通信すべきデバイスに適した速度で通信を行うことができるものもある(例えば、特許文献2参照)。
シリアル通信を行う場合、該シリアル通信の動作を開始するのはシステム制御を行うマスターデバイス側である。該シリアル通信には、一般的にSPI(Serial Peripheral Interface)や、IIC(Inter-Integrated Circuit)が想定される。例えば、プリンターなどの装置で複数のデバイスを制御する場合、マスター側は例えば数ミリ秒〜数十ミリ秒毎に定期的にスレーブ側に対し通信を行い、該スレーブ側の状態を示す情報を取得している。
マスター側からのみ通信を行う方式では、一般的に一定時間毎にマスター側からスレーブ側に対して定期的に通信を行い、スレーブ側の情報を入手する必要があった。
マスターデバイスに接続されるスレーブデバイスの数が多い場合、マスターデバイスからスレーブデバイスの状態をリードするのはマスターデバイスには負担となる場合がある。例えば、スレーブ側に接続されるのがセンサであり、該センサの状態が変化するときに限り、マスター側に情報を伝えればよいシステムも考えられる。しかし、シリアル接続されるとマスター側から読み出すことでしか状態変化を知る手段がない。このため読み出し間隔が長すぎると状態変化を即座に伝えることができないことが問題となり、間隔が短すぎると通信量が増大してマスター側のCPUの負荷が大きくなる。
そこで、本発明は、上述した問題点の少なくとも1つに鑑みてなされたものであり、マスター側の負担を低減することである。
本通信システムは、
マスター装置とスレーブ装置とを有する通信システムであって、
前記スレーブ装置は、
送信すべきデータが発生した場合に、前記マスター装置に送信要求を表すリクエスト信号を生成するリクエスト信号生成部と、
前記マスター装置に、前記リクエスト信号を送信する送信部と
を有し、
前記マスター装置は、
前記スレーブ装置からのリクエスト信号を受信するリクエスト信号受信部と、
該受信部により受信されたリクエスト信号に応じて、送信させるべきスレーブ装置を選択する選択部と、
該選択部により選択された選択スレーブ装置に、データ送信が許可されたことを表す信号を送信する送信部と、
前記選択スレーブ装置からのデータを受信するデータ受信部と
を有する。
本マスター装置は、
スレーブ装置と通信を行うマスター装置であって、
前記スレーブ装置により送信されるべきデータの送信要求を表すリクエスト信号を受信するリクエスト信号受信部と、
該受信部により受信されたリクエスト信号に応じて、送信させるべきスレーブ装置を選択する選択部と、
該選択部により選択された選択スレーブ装置に、データ送信が許可されたことを表す信号を送信する送信部と、
前記選択スレーブ装置からのデータを受信するデータ受信部と
を有する。
本スレーブ装置は、
マスター装置と通信を行うスレーブ装置であって、
送信すべきデータが発生した場合に、前記マスター装置に送信要求を表すリクエスト信号を生成するリクエスト信号生成部と、
前記マスター装置に、前記リクエスト信号を送信する送信部と
を有し、
前記マスター装置において、前記スレーブ装置からのリクエスト信号に応じて、送信させるべきスレーブ装置を選択し、該選択された選択スレーブ装置に、データ送信が許可されたことを表す信号を送信し、前記選択スレーブ装置からのデータを受信する。
本通信方法は、
マスター装置とスレーブ装置とを有する通信システムにおける通信方法であって、
前記スレーブ装置は、
送信すべきデータが発生した場合に、前記マスター装置に送信要求を表すリクエスト信号を生成するリクエスト信号生成ステップと、
前記マスター装置に、前記リクエスト信号を送信する送信ステップと
を有し、
前記マスター装置は、
前記スレーブ装置からのリクエスト信号を受信するリクエスト信号受信ステップと、
該受信ステップにより受信されたリクエスト信号に応じて、送信させるべきスレーブ装置を選択する選択ステップと、
該選択ステップにより選択された選択スレーブ装置に、データ送信が許可されたことを表す信号を送信する送信ステップと、
前記選択スレーブ装置からのデータを受信するデータ受信ステップと
を有する。
開示の通信システムによれば、マスター側の負担を低減することができる。
本実施例に従った通信システムの一例を示す図である。 本実施例に従ったマスターデバイスの一例を示すブロック図である。 本実施例に従った通信システムの動作の一例を示すタイミングチャート(その1)である。 本実施例に従った通信システムの動作の一例を示すタイミングチャート(その2)である。
次に、本発明を実施するための形態を、以下の実施例に基づき図面を参照しつつ説明する。
なお、実施例を説明するための全図において、同一機能を有するものは同一符号を用い、繰り返しの説明は省略する。
<通信システム>
図1は、本実施例に従った通信システムを示す。
本実施例では、一例としてシリアルインターフェースにSPIを適用した場合について示す。SPIに限らず他のシリアルインターフェースが適用されてもよい。例えば、I2Cが適用されてもよい。
本通信システムは、マスターデバイス100と、スレーブデバイス200(nは、0≦nの整数)とを有する。マスターデバイスは、ホストデバイスとも呼ばれる。例えば、マスターデバイス100は、CPU及びDMAコントローラを内蔵し、スレーブデバイス200との間でシリアル通信を行う。マスターデバイス100と、スレーブデバイス200との間は、シリアル接続される。
スレーブデバイス200の制御を行うコントローラとしてのマスターデバイス100は、プリンターに実装されてもよい。該マスターデバイス100に対してスレーブデバイス200には、各種センサ、モータ等が含まれてもよい。
図1に示される通信システムでは、1台のマスターデバイス100に対して、3台のスレーブデバイス200−200が接続されている。1台のマスターデバイス100に対して、1台のスレーブデバイスが接続されてもよいし、2台のスレーブデバイスが接続されてもよいし、4台以上のスレーブデバイスが接続されてもよい。
本通信システムは、スレーブデバイス200−200側でセンサの状態が変化した場合等に、スレーブバイス200−200は、マスターデバイス100に、転送開始要求としてリクエスト信号を発行(生成)し、送信する。スレーブデバイス200−200側でセンサの状態が変化した場合に限らす、マスターデバイス100に伝えるべきデータが発生した場合に、マスターデバイス100に、転送開始要求としてリクエスト信号を発行するようにしてもよい。マスターデバイス100は、該リクエスト信号を受信したことにより、該当するスレーブデバイスとの間の通信を開始する。
スレーブデバイス200−200に送信すべきデータが発生した場合に、データの送信を要求するためのリクエスト信号を送信できるようにし、さらに、マスターデバイス100に、該リクエスト信号を受信した場合に、通信を開始させることができることにより、必要なときに通信を開始することができる。これまでは、マスターデバイスが一定時間毎に、スレーブデバイス200−200をポーリングすることで、スレーブデバイスの状態を読み出していた。マスターデバイス側から読み出すことでしかスレーブデバイスの状態変化を知ることができなかった。しかし、本通信システムでは、必要なときに通信を行うようにできるため、必要十分な通信量でシステムを構築できる。
具体的には、スレーブデバイス200−200は、リクエスト信号を生成するリクエスト信号生成部202を有する。
スレーブデバイス200−200は、該リクエスト信号生成部202において、マスターデバイス100に送信すべき情報を有する場合にリクエスト信号をアサートする。スレーブデバイス200−200からマスターデバイス100にリクエスト信号をアサートすることにより、マスターデバイス100からスレーブデバイス200−200の状態を読み出す際の通信量を減少させることができるため、マスターデバイス100におけるCPUの負担を低減できる。
さらに、マスターデバイス100は、シリアル通信で、スレーブデバイス200−200のいずれかから受信されるデータ及びスレーブデバイス200−200に送信すべきデータの少なくとも一方をシリアルIF回路110とRAM106との間でDMA転送を利用することにより、CPU102の介在なしに転送を行う。シリアルIF回路110とRAM106との間で、DMA転送を行うことにより、CPU102の負荷をさらに削減することができる。
<マスターデバイス>
マスターデバイス100は、中央演算処理装置(CPU: Central Processing Unit)102を有する。CPU102は、当該マスターデバイス100の制御を行う。具体的には、DMAC104、RAM106、通信調停回路108、シリアルIF回路110、チップセレクト(CS)切替回路112を制御する。CPU102はメモリ(図示無し)に格納されたプログラムに従って動作する。例えば、CPU102は、送信データの準備、受信データの処理、DMACのレジスタ設定、通信調停回路108のレジスタ設定等の制御を行う。
マスターデバイス100は、ダイレクトメモリアクセスコントローラ(DMAC: Direct Memory Access controller)104を有する。DMAC104は、CPU102を介することなく、シリアルIF回路110がRAM106にデータ転送を行う際の制御を行う。例えば、スレーブデバイス200−200からのデータの受信を行う際は、CPU102により起動されたDMAC104は、スレーブデバイス200−200に対して通信開始を通知するデータを送出する。該通信開始を通知するデータは、チップセレクト信号とも呼ばれる。該送信開始を通知するデータに呼応して該当するスレーブデバイスから送出されてくる受信データをシリアルIF回路110からの転送要求に応じて、RAM106に転送する。
マスターデバイス100は、RAM106を有する。RAM106は、所定の情報を記憶する。例えば、シリアルIF回路110からのデータを一時的に記憶する。シリアルIF回路110からのデータがRAM106に転送される際に、DMA転送されてもよい。
マスターデバイス100は、通信調停回路108を有する。通信調停回路108には、スレーブデバイス200−200からのリクエスト信号が入力される。通信調停回路108は、各スレーブデバイス200−200からのリクエスト信号(req0、req1、req2)を受付け、当該マスターデバイス100と、スレーブデバイス200−200との間の通信の調停を行う。
リクエスト信号が伝送される通信線(以下、「リクエスト通信線」と呼ぶ)(req0,req1,req2)は、スレーブデバイス200−200毎に構成される。換言すれば、マスターデバイス100と各スレーブデバイス200−200との間を1対1で接続するように構成される。
通信調停回路108は、CPU102により設定可能な各スレーブデバイス200−200からの受信データを格納するためのRAMの先頭アドレスを指定するレジスタを有する。通信調停回路108には、各スレーブデバイス200−200からのリクエスト信号が入力される。通信調停回路108には、リクエスト信号の論理を認識し、スレーブデバイス200−200から発行されるリクエスト信号を保持する。
例えば、リクエスト通信線は通常「H」レベルである。スレーブデバイスは、マスターデバイス100に読み出させたいデータがある場合に、リクエスト通信線を「H」レベルから「L」レベルに変更する。マスターデバイス100の通信調停回路108はリクエスト信号が「H」レベルから「L」レベルに変化したことにより、スレーブデバイス側に転送要求が発生したことを認識する。通信調停回路108は、スレーブデバイス200−200の個数分だけこの情報を保持する。例えば、通信調停回路108は、リクエスト信号を、例えば、ファイフォ(FIFO: First-In First-Out)の方式で格納する。
スレーブデバイス200−200からリクエスト信号が同時に複数発生する場合、もしくは1つのリクエスト信号に応じて転送実施中に他のスレーブデバイスのうち複数のスレーブデバイスから複数の転送要求が入力される場合も想定される。このような場合に、転送を開始する際には、予め決められた所定の優先順位に従って通信すべきスレーブデバイスを決定するようにしてもよい。例えば、要求発生の先着順に通信すべきスレーブデバイスを決定するようにしてもよい。
通信対象のスレーブデバイスが決定すると、通信調停回路108は、チップセレクト切替回路112に、チップセレクト信号が通信対象のスレーブデバイスに対してのみ供給され、通信対象のスレーブデバイス以外のスレーブデバイスに対応するリクエストはデアサート状態とするための選択信号を入力する。
マスターデバイス100は、シリアルIF(インターフェース)回路110を有する。シリアルIF回路110は、スレーブデバイス200−200に、クロック信号(sck)と、送信データ(sout)とを出力する。各スレーブデバイス200−200へのクロック信号(sck)と、送信データ(sout)は、共通線により構成される。マスターデバイス100と、スレーブデバイス200−200との間では、シリアル通信が行われるためである。
また、シリアルIF回路110には、スレーブデバイス200−200からの送信データ(sin)が入力される。各スレーブデバイス200−200からの送信データは、共通線により構成される。シリアルIF回路110は、チップセレクト切替回路112に、チップセレクト信号の送信タイミングを表すタイミング信号を入力する。
マスターデバイス100は、チップセレクト(CS: Chip Select)切替回路112を有する。CS切替回路112は、シリアルIF回路110により入力されたタイミング信号に従って、通信調停回路108により入力された選択信号に従って、通信対象のスレーブデバイスに、チップセレクト信号を送信する。チップセレクト切替回路112は、通信対象のスレーブデバイス以外のスレーブデバイスに対するリクエスト信号は、デアサート状態とする。チップセレクト通信線はマスターデバイス100と各スレーブ200−200との間を1対1で接続する構成である。該通信対象のスレーブデバイスを示す選択信号により、マスターデバイス100は通信を行うべきスレーブデバイスを認識できる。
CPU102と、DMAC104と、RAM106と、通信調停回路108と、シリアルIF回路110と、CS切替回路112の間は、バス150により接続される。
<DMA転送処理>
CPU102、DMAC104、シリアルIF回路110には、一般的なものを使用してかまわない。
例えば、CPU102としてARM系CPUが使用されてもよい。DMAC104としてARM PrimeCell PL080(以下、「PL080」という)が使用されてもよい。シリアルIF回路110として同期シリアルポートARM PrimeCell PL022が使用されてもよい。本実施例ではそれらを利用した回路を想定して記載している。
例えば、DMAC104として使用されるPL080ではリンクリストアイテム(LLI: Link List Item)レジスタを用いて、メモリ領域の連続するアドレスに配置されるデータと、周辺回路との間で所定ワード数だけDMA転送し、該DMA転送完了後、別のメモリ領域と周辺回路との間で同じようにDMA転送を行うことが可能である。
LLI情報には、転送元アドレスと、転送先アドレスと、次のLLIアドレスと、コントロール情報とが含まれる。コントロール情報には、指定された転送ワード数が含まれてもよい。以上の情報がメモリに配置される。PL080は、所定ワードの転送が終わると次のLLIアドレスに基づいて、次のLLI情報をロードして、同様の処理を行う。以上の処理が繰り返されることにより、メモリに、転送される。
ただし、PL080では、一連の転送が完了すると、次のLLI情報がロードされるが、本マスターデバイス100により実行されるシリアル通信では、リクエスト信号が受信された際に対象となるスレーブデバイスとの間で送受信される情報を格納するメモリを転送先又は転送元に指定する。
図2は、本マスターデバイス100におけるDMA転送処理の一例を示す。
本マスターデバイス100では、次に発生するリクエスト信号は予測できない。スレーブデバイスに、何時送信すべきデータが発生するかは予測できないためである。リクエスト信号の発生が予測できないため、ダミーのLLI情報を用意し、DMAC104による転送要求がアサートされてから、該ダミーのLLI情報を1回転送する。転送誤りを防止するためである。
例えば、LLI情報には、転送元アドレスが含まれる。例えば、転送元アドレスとしてシリアル受信データに含まれる転送元アドレスが含まれる。LLI情報には、転送先アドレスが含まれる。例えば、転送先アドレスとしてスレーブデバイスのアドレスが含まれる。また、LLI情報には、次LLIアドレスが含まれる。また、LLI情報には、コントロール情報が含まれる。例えば、コントロール情報として、転送数が含まれる。
例えば、ダミーのLLI情報の転送の後に、本来転送すべきLLI情報をリクエストに応じて読み出しさせる。
これを繰り返すことで、所定領域にスレーブと通信するデータを格納しておくことができる。
<通信システムの動作(その1)>
図3は、本マスターデバイス100により実行されるシリアル通信のタイミングチャートの一例を示す。図3には、リクエスト信号の受信と、該リクエスト信号が受信されたことにより実行される通信との間の関係が主に示される。図3において、送信は実線により表され、送信は破線により表される。
図3に示される例では、スレーブデバイスからのリクエスト信号同士は先着順に処理され、スレーブデバイス200−200からのリクエスト信号に応じて受信する処理よりも、CPU102により発生したマスターデバイス100からスレーブデバイス200−200への転送要求が優先される場合の例を示す。該優先順位に限らず、優先順位を適宜設定してもよい。
図3では、スレーブデバイス200、200、200からのリクエスト信号と、CPU102によるスレーブデバイス200への送信要求が処理されている。
スレーブデバイス200からのリクエスト信号、 スレーブデバイス200からのリクエスト信号、 スレーブデバイス200からのリクエスト信号、 CPU102のスレーブデバイス200への送信リクエスト、 スレーブデバイス200からのリクエスト信号の順に発生している。
スレーブデバイス200、200、200からのリクエスト信号はそれぞれ、「REQ_0」、「REQ_1」、「REQ_2」により表され、CPU102によるスレーブデバイス200への送信要求は、「CPU送信コマンド」により表される。
スレーブデバイス200に、マスターデバイス100へ送信すべきデータが発生する(1)。スレーブデバイス200は、マスターデバイス100へリクエスト信号を送信する(2)。
マスターデバイス100では、スレーブデバイス200からのリクエスト信号が受信され、信号調停回路108に入力される(3)。信号調停回路108からスレーブデバイス200を示す選択信号がCS切替回路に入力される。CS切替回路112は、シリアルIF回路110からのタイミング信号に従って、スレーブデバイス200に、チップセレクト信号を送信する(4)。
スレーブデバイス200は、マスターデバイス100からチップセレクト信号が入力されたことにより送信すべきデータをマスターデバイスに送信できる。
次に、スレーブデバイス200に、マスターデバイス100へ送信すべきデータが発生する(5)。スレーブデバイス200は、マスターデバイス100へリクエスト信号を送信する(6)。
マスターデバイス100では、スレーブデバイス200からのリクエスト信号が受信され、信号調停回路108に入力される(7)。信号調停回路108からスレーブデバイス200を示す選択信号がCS切替回路112に入力される。CS切替回路112は、シリアルIF回路110からのタイミング信号に従って、スレーブデバイス200に、チップセレクト信号を送信する(8)。
スレーブデバイス200は、マスターデバイス100からチップセレクト信号が入力されたことにより送信すべきデータをマスターデバイスに送信できる。
次に、スレーブデバイス200に、マスターデバイス100へ送信すべきデータが発生する(9)。その後、マスターデバイス100に、スレーブデバイス200へ送信すべきデータが発生する(10)。
スレーブデバイス200−200からのリクエスト信号に応じて受信する処理よりも、CPU102により発生した転送要求が優先されるため、スレーブデバイス200にデータを送信することが優先される。
マスターデバイス100では、CPU送信コマンドが通信調停回路108に入力される(11)。信号調停回路108からスレーブデバイス200を示す選択信号がCS切替回路112に入力される。CS切替回路112は、シリアルIF回路110からのタイミング信号に従って、スレーブデバイス200に、チップセレクト信号を送信する(13)。
マスターデバイス100からスレーブデバイス200に、チップセレクト信号が送信されたことにより、マスターデバイス100は、スレーブデバイス200に、送信すべきデータを送信できる。
スレーブデバイス200に発生した、マスターデバイス100へ送信すべきデータの処理が行われる。
スレーブデバイス200は、マスターデバイス100へリクエスト信号を送信する(14)。
マスターデバイス100では、スレーブデバイス200らのリクエスト信号が受信され、信号調停回路108に入力される(14)信号調停回路108からスレーブデバイス200示す選択信号がCS切替回路112に入力される(15)。CS切替回路112は、シリアルIF回路110からのタイミング信号に従って、スレーブデバイス200に、チップセレクト信号を送信する(16)。
スレーブデバイス200は、マスターデバイス100からチップセレクト信号が入力されたことにより送信すべきデータをマスターデバイスに送信できる。
次に、スレーブデバイス200に、マスターデバイス100へ送信すべきデータが発生する(17)。スレーブデバイス200は、マスターデバイス100へリクエスト信号を送信する(18)。
マスターデバイス100では、スレーブデバイス200からのリクエスト信号が受信され、信号調停回路108に入力される(19)。信号調停回路108からスレーブデバイス200を示す選択信号がCS切替回路に入力される。CS切替回路112は、シリアルIF回路110からのタイミング信号に従って、スレーブデバイス200に、チップセレクト信号を送信する(20)。
スレーブデバイス200は、マスターデバイス100からチップセレクト信号が入力されたことにより送信すべきデータをマスターデバイスに送信できる。
図3に示される例では、スレーブデバイス200からのリクエスト(5)に従って、データ転送中にスレーブデバイス200からのリクエスト、CPU102による送信要求コマンドが順に発生している。この場合、CPU102による送信要求コマンドを優先する。CPU102による送信要求コマンドが優先されるため、スレーブデバイス200のデータ転送完了後、CPU102による送信要求が実施される。
<通信システムの動作(その2)>
図4は、本通信システムのタイミングチャートを示す。図4には、マスターデバイス100と、スレーブデバイス200、200、200との間で実行されるシリアル通信におけるタイミングが主に示される。
図4に示されるタイミングチャートでは、シリアルIF回路110から出力されるクロック信号(sck)が「SSPCLKOUT」により表され、シリアルIF回路110から出力されるタイミング信号が「SSPFSSOUT」により表され、シリアルIF回路110に入力される受信データ(sin)が「SSPRXD」により表され、シリアルIF回路110から出力される送信データ(sout)が「SSPTXD」により表され、スレーブデバイス200、200、及び200に対するチップセレクト信号がそれぞれ、「CS0_N」、「CS1_N」、及び「CS2_N」により表される。
シリアルIF回路110からのタイミング信号に従って(1)、CS切替回路112から、スレーブデバイス200に、チップセレクト信号が送信される(2)。
マスターデバイス100は、スレーブデバイス200からのデータを受信する(3)。
スレーブデバイス200は、マスターデバイス100からのデータを受信する(4)。マスターデバイス100とスレーブデバイス200との間で双方向通信が実行される。
所定の周期で、シリアルIF回路110から、CS切替回路112にタイミング信号が入力される(5)。該タイミング信号に従って、CS切替回路112から、スレーブデバイス200に、チップセレクト信号が送信される(6)。マスターデバイス100とスレーブデバイス200との間の通信が継続されるためである。
マスターデバイス100は、スレーブデバイス200からのデータを受信する(7)。
スレーブデバイス200は、マスターデバイス100からのデータを受信する(8)。
以下、同様の動作が継続する。
本実施例によれば、スレーブ側から通信を開始したいときにリクエスト信号をアサートすることにより、必要なときだけシリアル通信を行うようにできる。必要なときだけシリアル通信を行うことにより通信量を削減できる。さらに、シリアル通信により受信されたデータをメモリに転送する際に、DMAで行うことによりマスター側の負担をさらに低減できる。
また、マスターデバイスに、複数のスレーブデバイスが接続される場合や、CPUからスレーブデバイスに送信すべきデータが発生した場合に、スレーブデバイスからの複数のリクエスト及び、CPUから複数のスレーブデバイスに対する送信要求を先着順等の所定の優先順位に従って受付けることもできる。所定の優先順位に従って受付けることにより、複数のスレーブデバイスと、マスターデバイスとの間でシリアル通信を行うことができる。複数のスレーブデバイスと、マスターデバイスとの間でシリアル通信が行われる場合でも、シリアル通信回路と、メモリとの間はDMAで転送されるよう制御できる。その結果、シリアル通信回路が1つで複数のスレーブデバイスとの間で通信できる。シリアル通信回路が1つでよいため回路規模を小さくできる。また、マスターデバイスの負荷も低減できる。
本通信システムは、
マスターデバイスとしての、マスター装置とスレーブデバイスとしての、スレーブ装置とを有する通信システムであって、
前記スレーブ装置は、
送信すべきデータが発生した場合に、前記マスター装置に送信要求を表すリクエスト信号を生成するリクエスト信号生成部と、
前記マスター装置に、前記リクエスト信号を送信する送信部と
を有し、
前記マスター装置は、
前記スレーブ装置からのリクエスト信号を受信する通信調停回路としての、リクエスト信号受信部と、
該受信部により受信されたリクエスト信号に応じて、送信させるべきスレーブ装置を選択する通信調停回路としての、選択部と、
該選択部により選択された選択スレーブ装置に、データ送信が許可されたことを表す信号を送信するCS切替回路としての、送信部と
前記選択スレーブ装置からのデータを受信するシリアルIF回路としての、データ受信部と
を有する。
スレーブからの転送要求に応じて転送を開始するため、CPUで一定時間毎に、スレーブ装置に、ポーリングする方式に比較して、通信量を削減することが可能となる。
さらに、
前記データ受信部により受信されたデータを記憶するRAMとしての、記憶部と、
前記データ受信部により受信されたデータを前記記憶部にダイレクトメモリアクセスにより転送するダイレクトメモリアクセスコントローラと
を有する。
スレーブ装置から受信したデータをDMACを経由して転送するため、マスター装置のCPUの負荷を削減することができる。
さらに、
前記リクエスト信号受信部により複数のスレーブ装置からのリクエスト信号が受信された場合に、前記選択部は、所定の優先順位に従って、送信させるべきスレーブ装置を選択する。
1つのマスター装置に複数のスレーブ装置が接続されるシリアル通信システムであっても、スレーブ装置からの転送要求に応じて転送を開始することができるため、CPUで一定時間毎に、スレーブ装置に、ポーリングする方式に比較して、通信量を削減することが可能となる。
複数のスレーブ装置にデータ線、クロック線を共通で使用し、また、マスター装置のシリアル通信回路は1個で構成できるため、マスター側の回路規模を大きくせずに複数のスレーブデバイスを管理できる。
さらに、
スレーブ装置に送信すべきデータが発生した場合に、前記選択部は、所定の優先順位に従って、通信させるべきスレーブ装置を選択する。
マスター装置からスレーブ側への送信すべきデータが発生した場合でも対応できる。また、マスター装置からスレーブ装置に送信すべきデータが発生した際に、送信することを表すコマンドを発行するようにしてもよい。コマンドを発行することにより、CPUが介在することなく転送させることができる。このため、マスター装置のCPUの負荷が削減される。
本マスター装置は、
スレーブ装置と通信を行うマスター装置であって、
前記スレーブ装置により送信されるべきデータの送信要求を表すリクエスト信号を受信するリクエスト信号受信部と、
該受信部により受信されたリクエスト信号に応じて、送信させるべきスレーブ装置を選択する選択部と、
該選択部により選択された選択スレーブ装置に、データ送信が許可されたことを表す信号を送信する送信部と、
前記選択スレーブ装置からのデータを受信するデータ受信部と
を有する。
本スレーブ装置は、
マスター装置と通信を行うスレーブ装置であって、
送信すべきデータが発生した場合に、前記マスター装置に送信要求を表すリクエスト信号を生成するリクエスト信号生成部と、
前記マスター装置に、前記リクエスト信号を送信する送信部と
を有し、
前記マスター装置において、前記スレーブ装置からのリクエスト信号に応じて、送信させるべきスレーブ装置を選択し、該選択された選択スレーブ装置に、データ送信が許可されたことを表す信号を送信し、前記選択スレーブ装置からのデータを受信する。
本通信方法は、
マスター装置とスレーブ装置とを有する通信システムにおける通信方法であって、
前記スレーブ装置は、
送信すべきデータが発生した場合に、前記マスター装置に送信要求を表すリクエスト信号を生成するリクエスト信号生成ステップと、
前記マスター装置に、前記リクエスト信号を送信する送信ステップと
を有し、
前記マスター装置は、
前記スレーブ装置からのリクエスト信号を受信するリクエスト信号受信ステップと、
該受信ステップにより受信されたリクエスト信号に応じて、送信させるべきスレーブ装置を選択する選択ステップと、
該選択ステップにより選択された選択スレーブ装置に、データ送信が許可されたことを表す信号を送信する送信ステップと、
前記選択スレーブ装置からのデータを受信するデータ受信ステップと
を有する。
以上、本発明は特定の実施例を参照しながら説明されてきたが、各実施例は単なる例示に過ぎず、当業者は様々な変形例、修正例、代替例、置換例等を理解するであろう。説明の便宜上、本発明の実施例に従った装置は機能的なブロック図を用いて説明されたが、そのような装置はハードウェアで、ソフトウエアで又はそれらの組み合わせで実現されてもよい。本発明は上記実施例に限定されず、本発明の精神から逸脱することなく、様々な変形例、修正例、代替例、置換例等が包含される。
100 マスターデバイス
102 中央演算処理装置(CPU: Central Processing Unit)
104 DMAC(Direct Memory Access controller)
106 RAM
108 通信調停回路
110 シリアルIF回路
112 チップスイッチ(CS)切替回路
150 バス
200(nは、n>0の整数) スレーブデバイス
202 リクエスト信号生成部
特開平5−292148号公報 特開2006−304011号公報

Claims (7)

  1. マスター装置とスレーブ装置とを有する通信システムであって、
    前記スレーブ装置は、
    送信すべきデータが発生した場合に、前記マスター装置に送信要求を表すリクエスト信号を生成するリクエスト信号生成部と、
    前記マスター装置に、前記リクエスト信号を送信する送信部と
    を有し、
    前記マスター装置は、
    前記スレーブ装置からのリクエスト信号を受信するリクエスト信号受信部と、
    該受信部により受信されたリクエスト信号に応じて、送信させるべきスレーブ装置を選択する選択部と、
    該選択部により選択された選択スレーブ装置に、データ送信が許可されたことを表す信号を送信する送信部と、
    前記選択スレーブ装置からのデータを受信するデータ受信部と
    を有する通信システム。
  2. 請求項1に記載の通信システムにおいて、
    前記データ受信部により受信されたデータを記憶する記憶部と、
    前記データ受信部により受信されたデータを前記記憶部にダイレクトメモリアクセスにより転送するダイレクトメモリアクセスコントローラと
    を有する通信システム。
  3. 請求項1又は2に記載の通信システムにおいて、
    前記リクエスト信号受信部により複数のスレーブ装置からのリクエスト信号が受信された場合に、前記選択部は、所定の優先順位に従って、送信させるべきスレーブ装置を選択する通信システム。
  4. 請求項1ないし3のいずれか1項に記載の通信システムにおいて、
    スレーブ装置に送信すべきデータが発生した場合に、前記選択部は、所定の優先順位に従って、通信させるべきスレーブ装置を選択する通信システム。
  5. スレーブ装置と通信を行うマスター装置であって、
    前記スレーブ装置により送信されるべきデータの送信要求を表すリクエスト信号を受信するリクエスト信号受信部と、
    該受信部により受信されたリクエスト信号に応じて、送信させるべきスレーブ装置を選択する選択部と、
    該選択部により選択された選択スレーブ装置に、データ送信が許可されたことを表す信号を送信する送信部と、
    前記選択スレーブ装置からのデータを受信するデータ受信部と
    を有するマスター装置。
  6. マスター装置と通信を行うスレーブ装置であって、
    送信すべきデータが発生した場合に、前記マスター装置に送信要求を表すリクエスト信号を生成するリクエスト信号生成部と、
    前記マスター装置に、前記リクエスト信号を送信する送信部と
    を有し、
    前記マスター装置において、前記スレーブ装置からのリクエスト信号に応じて、送信させるべきスレーブ装置を選択し、該選択された選択スレーブ装置に、データ送信が許可されたことを表す信号を送信し、前記選択スレーブ装置からのデータを受信する、スレーブ装置。
  7. マスター装置とスレーブ装置とを有する通信システムにおける通信方法であって、
    前記スレーブ装置は、
    送信すべきデータが発生した場合に、前記マスター装置に送信要求を表すリクエスト信号を生成するリクエスト信号生成ステップと、
    前記マスター装置に、前記リクエスト信号を送信する送信ステップと
    を有し、
    前記マスター装置は、
    前記スレーブ装置からのリクエスト信号を受信するリクエスト信号受信ステップと、
    該受信ステップにより受信されたリクエスト信号に応じて、送信させるべきスレーブ装置を選択する選択ステップと、
    該選択ステップにより選択された選択スレーブ装置に、データ送信が許可されたことを表す信号を送信する送信ステップと、
    前記選択スレーブ装置からのデータを受信するデータ受信ステップと
    を有する通信方法。
JP2010208209A 2010-09-16 2010-09-16 通信システム、マスター装置、及びスレーブ装置、並びに通信方法 Pending JP2012064021A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010208209A JP2012064021A (ja) 2010-09-16 2010-09-16 通信システム、マスター装置、及びスレーブ装置、並びに通信方法
US13/231,128 US8719476B2 (en) 2010-09-16 2011-09-13 Communication system, master device and slave device, and communication method, configured to handle plural concurrent requests

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010208209A JP2012064021A (ja) 2010-09-16 2010-09-16 通信システム、マスター装置、及びスレーブ装置、並びに通信方法

Publications (1)

Publication Number Publication Date
JP2012064021A true JP2012064021A (ja) 2012-03-29

Family

ID=45818752

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010208209A Pending JP2012064021A (ja) 2010-09-16 2010-09-16 通信システム、マスター装置、及びスレーブ装置、並びに通信方法

Country Status (2)

Country Link
US (1) US8719476B2 (ja)
JP (1) JP2012064021A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016143172A (ja) * 2015-01-30 2016-08-08 セイコーインスツル株式会社 プリンタ制御装置、印刷制御方法、及び印刷制御システム
JP2019016909A (ja) * 2017-07-06 2019-01-31 富士ゼロックス株式会社 スレーブ装置、通信装置及び画像形成装置

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2976541B1 (fr) * 2011-06-15 2013-06-14 Renault Sa Procede et systeme de commande de gestion de l'alimentation electrique d'un vehicule apres arret du groupe motopropulseur
US8898358B2 (en) * 2012-07-04 2014-11-25 International Business Machines Corporation Multi-protocol communication on an I2C bus
JP5570556B2 (ja) * 2012-07-23 2014-08-13 ファナック株式会社 Ioユニットと通信を行う数値制御装置
TWI492576B (zh) * 2013-03-11 2015-07-11 Realtek Semiconductor Corp 主從偵測方法以及主從偵測電路
CN104133792B (zh) * 2013-05-03 2017-02-15 珠海全志科技股份有限公司 精简串行总线通信方法及***
US10043480B2 (en) * 2014-08-29 2018-08-07 Lattice Semiconductor Corporation Inter-device conflict resolution on a multimedia link
JP6230757B2 (ja) * 2015-05-22 2017-11-15 三菱電機株式会社 通信装置、及び電力変換装置
US9838561B2 (en) 2015-07-10 2017-12-05 Kabushiki Kaisha Toshiba Serial data transfer using transfer type information to select a storage unit
TWI567561B (zh) * 2015-11-26 2017-01-21 新唐科技股份有限公司 匯流排系統
US10176129B2 (en) 2016-06-22 2019-01-08 Novatek Microelectronics Corp. Control method for I2C device of I2C system and I2C device using the same
CN108123862A (zh) * 2017-12-18 2018-06-05 合肥华凌股份有限公司 家用电器的通信***、通信方法以及家用电器
CN108123863B (zh) * 2017-12-18 2020-11-24 合肥华凌股份有限公司 家用电器的通信***、通信方法以及家用电器
TWI671638B (zh) * 2018-05-24 2019-09-11 新唐科技股份有限公司 匯流排系統
US11983127B2 (en) * 2019-12-18 2024-05-14 Sony Group Corporation Information processing system, information processing method, and information processing device to reduce load on an information processing unit

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5725027A (en) * 1980-07-21 1982-02-09 Hitachi Ltd Data transmission controlling system of plural controllers
JPS61237152A (ja) * 1985-04-12 1986-10-22 テクトロニツクス・インコーポレイテツド バス調停装置
JPH04236538A (ja) * 1991-01-18 1992-08-25 Japan Radio Co Ltd データ伝送システム
JPH0668024A (ja) * 1992-03-04 1994-03-11 Sun Microsyst Inc コンピュータ装置バス、マスタ装置とスレーブ装置の間で通信する方法およびデータ幅を調整する方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03143047A (ja) * 1989-10-27 1991-06-18 Fujitsu Ltd 通信制御方式
JP3280694B2 (ja) 1992-04-13 2002-05-13 富士通株式会社 シリアルインタフェース回路
AU4454993A (en) * 1992-08-10 1994-02-17 Lucent Technologies Inc. A radio communication system and a radio base station for use in such a system
US6047336A (en) * 1998-03-16 2000-04-04 International Business Machines Corporation Speculative direct memory access transfer between slave devices and memory
US6463494B1 (en) * 1998-12-30 2002-10-08 Intel Corporation Method and system for implementing control signals on a low pin count bus
US7089338B1 (en) * 2002-07-17 2006-08-08 Cypress Semiconductor Corp. Method and apparatus for interrupt signaling in a communication network
JP4222803B2 (ja) * 2002-09-11 2009-02-12 Necエレクトロニクス株式会社 データ処理装置およびデータ処理回路
JP2005202643A (ja) 2004-01-15 2005-07-28 Ricoh Co Ltd シリアルデータ通信装置および画像形成装置
JP2006304011A (ja) 2005-04-21 2006-11-02 Casio Electronics Co Ltd インタフェース回路
WO2006117748A1 (en) * 2005-04-29 2006-11-09 Koninklijke Philips Electronics, N.V. Slave device with latched request for service
GB2435939A (en) * 2006-01-23 2007-09-12 John Phillip Chevalier Electronic control system for safety or security critical devices or systems in a vehicle
US7752365B2 (en) * 2008-04-01 2010-07-06 Kyocera Corporation Bi-directional single conductor interrupt line for communication bus
JP5292148B2 (ja) 2009-03-25 2013-09-18 株式会社ソニー・コンピュータエンタテインメント 情報処理装置および情報処理方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5725027A (en) * 1980-07-21 1982-02-09 Hitachi Ltd Data transmission controlling system of plural controllers
JPS61237152A (ja) * 1985-04-12 1986-10-22 テクトロニツクス・インコーポレイテツド バス調停装置
JPH04236538A (ja) * 1991-01-18 1992-08-25 Japan Radio Co Ltd データ伝送システム
JPH0668024A (ja) * 1992-03-04 1994-03-11 Sun Microsyst Inc コンピュータ装置バス、マスタ装置とスレーブ装置の間で通信する方法およびデータ幅を調整する方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016143172A (ja) * 2015-01-30 2016-08-08 セイコーインスツル株式会社 プリンタ制御装置、印刷制御方法、及び印刷制御システム
JP2019016909A (ja) * 2017-07-06 2019-01-31 富士ゼロックス株式会社 スレーブ装置、通信装置及び画像形成装置
JP7003461B2 (ja) 2017-07-06 2022-02-10 富士フイルムビジネスイノベーション株式会社 スレーブ装置、通信装置及び画像形成装置

Also Published As

Publication number Publication date
US20120072629A1 (en) 2012-03-22
US8719476B2 (en) 2014-05-06

Similar Documents

Publication Publication Date Title
JP2012064021A (ja) 通信システム、マスター装置、及びスレーブ装置、並びに通信方法
US20120042105A1 (en) Bus arbitration apparatus
EP2975529B1 (en) Requests and data handling in a bus architecture
US7702841B2 (en) Semiconductor integrated circuit and image processing apparatus having the same
EP2423824A1 (en) Data transfer device, method of transferring data, and image forming apparatus
JP4902640B2 (ja) 集積回路、及び集積回路システム
US20070101032A1 (en) Bus arbitration circuit and bus arbitration method
KR102549085B1 (ko) 버스 제어회로
KR102360214B1 (ko) 실시간 공유 인터페이스를 포함하는 시스템 온 칩의 스케쥴링 방법
JP2005085079A (ja) データ転送制御装置
US10970244B2 (en) Smart interface circuit
US20090037615A1 (en) Data transfer device, request issuing unit, and request issue method
JP4151362B2 (ja) バス調停方式、データ転送装置、及びバス調停方法
JP6430710B2 (ja) データ転送制御装置及びデータ転送の制御方法
JP6171367B2 (ja) スイッチ装置、画像処理装置、及び排他制御方法
JP2008165463A (ja) バス制御装置
JP2017004092A (ja) 集積回路間のシリアル通信システム
JP2010033314A (ja) バスアクセス回路装置及びバスアクセス方法
JP2001265711A (ja) データ転送装置およびバスシステム
JP6034008B2 (ja) 送信権調停装置、送信権調停制御方法、及びそのためのプログラム
JP2012094081A (ja) バス調停回路及びバス調停方法
JP2003085125A (ja) メモリ制御器及びメモリ制御方法
JP3050131B2 (ja) アービトレーション方式
JP2009098778A (ja) ハブ装置
JP2006031227A (ja) Dma転送を用いたコンピュータシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130813

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140319

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140408

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140521

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141021

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141126

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20150407