JP7557285B2 - バススイッチ、シミュレーション装置及び信号中継方法 - Google Patents
バススイッチ、シミュレーション装置及び信号中継方法 Download PDFInfo
- Publication number
- JP7557285B2 JP7557285B2 JP2020097830A JP2020097830A JP7557285B2 JP 7557285 B2 JP7557285 B2 JP 7557285B2 JP 2020097830 A JP2020097830 A JP 2020097830A JP 2020097830 A JP2020097830 A JP 2020097830A JP 7557285 B2 JP7557285 B2 JP 7557285B2
- Authority
- JP
- Japan
- Prior art keywords
- clock
- bus
- signal
- data
- value
- 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.)
- Active
Links
- 238000012545 processing Methods 0.000 claims description 93
- 230000006854 communication Effects 0.000 claims description 58
- 238000004891 communication Methods 0.000 claims description 58
- 238000000034 method Methods 0.000 claims description 49
- 230000008569 process Effects 0.000 claims description 28
- 238000004088 simulation Methods 0.000 claims description 9
- 238000012544 monitoring process Methods 0.000 claims description 5
- 239000000872 buffer Substances 0.000 description 61
- 230000032258 transport Effects 0.000 description 29
- 230000008859 change Effects 0.000 description 7
- 230000007175 bidirectional communication Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 6
- 238000012356 Product development Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000003111 delayed effect Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000004904 shortening Methods 0.000 description 3
- 230000001934 delay Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002250 progressing effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Images
Landscapes
- Information Transfer Systems (AREA)
Description
<1-1.概要>
本開示に係る技術の第1の実施形態では、1つの基盤上で双方向通信を行う2つのデバイスの間に、シリアルバススイッチがFPGAとして実装される。一例として、双方向通信は、I2C(Inter-Integrated Circuit)通信方式に従って行われるものとする。I2C通信方式では、1つのマスタデバイスに1つ以上のスレーブデバイスを接続することができるが、説明の簡明さのために、本実施形態ではスレーブデバイスは1つであるものとする。マスタデバイスとスレーブデバイスとの間の接続は2本のバスにより構成される。それらバスのうちの1本は、シリアルクロックバスであり、以下ではSCLとも表記する。他の1本は、シリアルデータバスであり、以下ではSDAとも表記する。マスタデバイスは、スレーブデバイスに向けてSCL上にクロック信号を供給する。SDA上を流れるデータ信号は、クロック信号の立ち上がり(LowからHighへの変化)の際に読み取られる。スレーブデバイスは、自身に割当てられたアドレスをSDAから読取った場合に通信を開始し、アドレスに続く制御ビットの値に応じて、ライトモードではマスタデバイスからデータ信号を受信し、リードモードではマスタデバイスへデータ信号を送信する。スレーブデバイスは、データ信号を処理する時間を確保するために、SCL上のクロック信号の論理値を強制的にLowに維持してクロックの進行を遅延させることができ、これをクロックストレッチという。
・スタートコンディション
・スレーブアドレス
・リード/ライト(R/W)要求
・情報ビット
・確認応答(ACK)
・ストップコンディション
・リピーテッドスタートコンディション
図1は、本実施形態に係るバススイッチの構成の一例を示すブロック図である。図1には、FPGA101、マスタデバイス102及びスレーブデバイス103が示されている。FPGA101は、再プログラム可能な論理デバイスとしてのバススイッチである。FPGA101は、マスタデバイス102とスレーブデバイス103との間で、クロックバス(SCL)上のクロック信号及びデータバス(SDA)上のデータ信号を中継する。マスタデバイス102は、I2C通信のマスタとして動作するデバイスである。マスタデバイス102は、スレーブデバイス103との通信のためにクロック信号をクロックバスへ出力する。スレーブデバイス103は、I2C通信のスレーブとして動作するデバイスである。スレーブデバイス103は、クロックバスから入力されるクロック信号に従って、データバスから入力されるデータ信号を取得し又はデータバスへデータ信号を出力する。マスタデバイス102及びスレーブデバイス103は、例えば、CPU(Central Processing Unit)又はその他のIC(Integrated Circuit)であってよい。マスタデバイス102及びスレーブデバイス103は、同じ種類のデバイスであってもよく、又は異なる種類のデバイスであってもよい。
図2は、本実施形態に係るSDA処理部143により行われるデータ信号中継処理の流れの一例を示すフローチャートである。このデータ信号中継処理は、例えば、何らかのハードウェア記述言語(HDL)を用いて記述され、FPGA101の論理的な機能として構成され得る。図3は、図2に示したデータ信号中継処理に従って生じ得るデータ信号の論理値の変化を時系列で示すタイミングチャートである。なお、以下の説明では、処理ステップをS(ステップ)と略記する。
図4は、本実施形態に係るSCL処理部133により行われるクロック信号中継処理の流れの一例を示すフローチャートである。このクロック信号中継処理は、例えば、何らかのハードウェア記述言語(HDL)を用いて記述され、FPGA101の論理的な機能として構成され得る。図5は、図4に示したクロック信号中継処理に従って生じ得るクロック信号の論理値の変化を時系列で示すタイミングチャートである。
T > max(Tm,Ts) (1)
第1の実施形態では、マスタデバイス102から出力されるクロック信号の論理値がLowに変化する都度、即ち全てのビットで、FPGA101が時間長Tにわたってクロックバス上の論理値をLowに維持する。この場合、本来は例えば10ビットの信号が送受信された後に1回だけクロックストレッチを行うことで十分だと仮定すると、{T-max(Tm,Ts)}の9倍に達する通信時間の遅延が生じることになる。概して、I2C通信を行うデバイスのほとんどは、確認応答が送信されるタイミングでのみクロックストレッチを行う。そして、I2C通信では、確認応答(ACK)ビットは、スタートコンディション1ビットの後、情報ビット(又は、スレーブアドレス+R/W要求)8ビットが送受信されるごとに1度送信される。そこで、本節で説明する第2の実施形態では、全てのクロックではなく、計測されるクロック数が所定の値に達した場合にのみ、クロックバス上の論理値をLowに維持するものとする。それにより、通信時間の遅延を短縮することが可能である。
上述した制約条件の式(1)は、時間長Tの下限を規定する一方で、時間長Tの上限を規定しない。しかし、時間長Tが長ければ通信時間の遅延が増大することから、時間長Tが長過ぎることも実用面で不利である。そこで、本節では、上述したバススイッチの1つの応用例として、通信時間に制約を有する用途を扱う。そうした用途の一例は、画像形成装置(例えば、複合機、コピー機又はプリンタ)における用紙の搬送である。一般的な画像形成装置は、搬送路に沿って用紙を搬送するための複数のモータ(搬送手段)を有し、それらモータを適切なタイミングで駆動することで複数の用紙を順に搬送しながら、各用紙に画像を形成する。モータの制御が適切なタイミングから遅れると、用紙の搬送が滞り、いわゆるジャムが発生する。モータの制御タイミングを適切に設計するためには、用紙搬送シミュレータによって用紙の搬送をシミュレートして制御タイミングの妥当性を検証することが効果的である。そこで、本開示に係る技術の一応用例として、用紙搬送シミュレータを上述したバススイッチを用いて構成することとする。
Tdelay>{T-max(Tm,Ts)}×Cnum (2)
ここまで、図1~図9を用いて、本開示のいくつかの実施形態及び応用例について詳細に説明した。上述した実施形態では、2つのデバイス間でクロック信号及びデータ信号を中継するバススイッチにおいて、第1デバイスと接続される第1クロックバス上のクロック信号の論理値が第2デバイスと接続される第2クロックバス上のクロック信号に反映される。また、上記第1デバイスと接続される第1データバス上のデータ信号及び上記第2デバイスと接続される第2データバス上のデータ信号のうち先に論理値が変化した一方のデータバス上のデータ信号の論理値が他方のデータバス上のデータ信号に反映される。そして、上記第1クロックバス上のクロック信号の論理値が第1の値から第2の値へ変化した場合に、上記第1クロックバス上のクロック信号及び上記第2クロックバス上のクロック信号の双方の論理値が、ある時間長Tにわたり上記第2の値に維持される。したがって、これら2つのデバイスの間で双方向でデータ信号を通信することを可能にしつつ、クロックの進行を遅延させて各デバイスにおける十分な信号処理時間を確保することができる。また、2つのデバイス間に介在する上記バススイッチが信号処理によってクロック信号及びデータ信号を中継するため、上記バススイッチを例えばFPGAのような再プログラム可能な論理デバイスとして実装することができる。したがって、上記第1デバイスおよび上記第2デバイスを搭載した基盤を製造した後でさえも、各デバイスにおける端子の割当て及びデバイス間の接続関係を柔軟に変更することが可能となる。このことは、製品開発の期間の短縮や、設計、開発及び試験に伴うコストの低減といった利点をももたらす。また、上記時間長Tは、上記第1デバイスがクロック信号の論理値を上記第2の値に維持する最大時間長Tm及び上記第2デバイスがクロック信号の論理値を上記第2の値に維持する最大時間長Tsのいずれよりも長い時間長として予め設定され得る。この場合、上記第1デバイス及び上記第2デバイスが信号処理に費やす時間の経過よりも早くクロックが進行することが確実に防止され得る。
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
Claims (10)
- マスタデバイスである第1デバイスとクロックストレッチを行うことが可能なスレーブデバイスである第2デバイスとの間で、クロックバス上のクロック信号及びデータバス上のデータ信号を中継するバススイッチであって、
前記第1デバイスと接続される第1データバス上のデータ信号、及び前記第2デバイスと接続される第2データバス上のデータ信号を監視し、前記第1データバス上のデータ信号及び前記第2データバス上のデータ信号のうち先に論理値が変化した一方のデータバス上のデータ信号の論理値を、他方のデータバス上のデータ信号に反映させる第1信号処理手段と、
前記第1デバイスと接続される第1クロックバス上へ前記第1デバイスから出力されるクロック信号の論理値を、前記第2デバイスと接続される第2クロックバス上のクロック信号に反映させる第2信号処理手段と、
を備え、
前記第2信号処理手段は、少なくとも前記第2デバイスが前記クロックストレッチを行うタイミングで、前記第1クロックバス上のクロック信号の論理値が第1の値から第2の値へ変化した場合に、前記第1クロックバス上のクロック信号及び前記第2クロックバス上のクロック信号の双方の論理値をある時間長Tにわたり前記第2の値に維持し、
前記時間長Tは、前記第1デバイスから出力されるクロック信号の周期の半分及び前記第2デバイスによる前記クロックストレッチのあり得る最大時間長のいずれよりも長い時間長として予め設定される、
バススイッチ。 - 請求項1に記載のバススイッチであって、
前記第2デバイスは、前記第2クロックバスから入力されるクロック信号に従って、前記第2データバスから入力されるデータ信号を取得し又は前記第2データバスへデータ信号を出力する、
バススイッチ。 - 請求項2に記載のバススイッチであって、前記第2デバイスは、クロックの進行を遅延させてデータ信号を処理する時間を確保するために、前記第2クロックバス上のクロック信号の論理値を前記第2の値に維持する、バススイッチ。
- 請求項3に記載のバススイッチであって、
前記第1データバス及び前記第2データバスは、I2C通信方式におけるシリアルデータバスであり、
前記第1クロックバス及び前記第2クロックバスは、I2C通信方式におけるシリアルクロックバスである、
バススイッチ。 - 請求項3又は4に記載のバススイッチであって、前記第2信号処理手段は、前記第1クロックバス上のクロック数を計測し、計測した前記クロック数が所定の値に達した場合に、前記第1クロックバス上のクロック信号及び前記第2クロックバス上のクロック信号の双方の論理値を前記時間長Tにわたり前記第2の値に維持し、前記所定の値は、前記第2デバイスが前記クロックストレッチを行うタイミングに基づいて決定される基準値である、バススイッチ。
- 請求項1乃至5のいずれか1項に記載のバススイッチであって、
前記第1デバイス及び前記第2デバイスは、データ通信機会ごとの通信時間に制約を有し、
前記時間長Tは、データ通信機会ごとの前記通信時間が前記制約を超えない程度に短い時間長として予め設定される、
バススイッチ。 - 請求項1乃至6のいずれか1項に記載のバススイッチであって、再プログラム可能な論理デバイスとして実装される、バススイッチ。
- 請求項7に記載のバススイッチであって、前記再プログラム可能な論理デバイスは、フィールドプログラマブルゲートアレイである、バススイッチ。
- 搬送路に沿って用紙を搬送する第1搬送手段の制御をシミュレートする第1プロセッサと、
前記第1搬送手段の下流に位置する第2搬送手段であって、前記搬送路に沿って前記用紙を搬送する当該第2搬送手段、の制御をシミュレートする第2プロセッサと、
前記第1プロセッサと前記第2プロセッサとの間で信号を中継する、請求項1乃至8のいずれか1項に記載のバススイッチと、
を含むシミュレーション装置。 - マスタデバイスである第1デバイスとクロックストレッチを行うことが可能なスレーブデバイスである第2デバイスとの間でクロックバス上のクロック信号及びデータバス上のデータ信号を中継するための、バススイッチにより行われる信号中継方法であって、
前記バススイッチの第1の信号処理手段により、前記第1デバイスと接続される第1クロックバス上へ前記第1デバイスから出力されるクロック信号の論理値を、前記第2デバイスと接続される第2クロックバス上のクロック信号に反映させることと、
前記バススイッチの第2の信号処理手段により、前記第1デバイスと接続される第1データバス上のデータ信号、及び前記第2デバイスと接続される第2データバス上のデータ信号を監視することと、
前記第2の信号処理手段により、前記第1データバス上のデータ信号及び前記第2データバス上のデータ信号のうち先に論理値が変化した一方のデータバス上のデータ信号の論理値を、他方のデータバス上のデータ信号に反映させることと、
を含み、
前記第1の信号処理手段が前記第1デバイスから出力されるクロック信号の論理値を前記第2クロックバス上のクロック信号に反映させることは、少なくとも前記第2デバイスが前記クロックストレッチを行うタイミングで、前記第1クロックバス上のクロック信号の論理値が第1の値から第2の値へ変化した場合に、前記第1クロックバス上のクロック信号及び前記第2クロックバス上のクロック信号の双方の論理値をある時間長Tにわたり前記第2の値に維持すること、を含み、
前記時間長Tは、前記第1デバイスから出力されるクロック信号の周期の半分及び前記第2デバイスによる前記クロックストレッチのあり得る最大時間長のいずれよりも長い時間長として予め設定される、
信号中継方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020097830A JP7557285B2 (ja) | 2020-06-04 | 2020-06-04 | バススイッチ、シミュレーション装置及び信号中継方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020097830A JP7557285B2 (ja) | 2020-06-04 | 2020-06-04 | バススイッチ、シミュレーション装置及び信号中継方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021190021A JP2021190021A (ja) | 2021-12-13 |
JP7557285B2 true JP7557285B2 (ja) | 2024-09-27 |
Family
ID=78850012
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020097830A Active JP7557285B2 (ja) | 2020-06-04 | 2020-06-04 | バススイッチ、シミュレーション装置及び信号中継方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7557285B2 (ja) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005130358A (ja) | 2003-10-27 | 2005-05-19 | Pioneer Electronic Corp | 信号伝送装置及び伝送方法 |
JP2008066951A (ja) | 2006-09-06 | 2008-03-21 | Sony Corp | バス駆動回路、データ伝送制御デバイスおよびバス駆動方法 |
JP2008107937A (ja) | 2006-10-24 | 2008-05-08 | Oki Electric Ind Co Ltd | バスリピータ |
JP2008305152A (ja) | 2007-06-07 | 2008-12-18 | Canon Inc | 設計支援システム、設計支援方法、および設計支援プログラム |
JP2015018315A (ja) | 2013-07-09 | 2015-01-29 | 富士通株式会社 | ストレージ制御装置、制御装置および制御プログラム |
WO2016104369A1 (ja) | 2014-12-25 | 2016-06-30 | オリンパス株式会社 | 通信システム |
JP2016184280A (ja) | 2015-03-26 | 2016-10-20 | 三菱電機株式会社 | 双方向シリアルバススイッチ、ゲートアレイ |
-
2020
- 2020-06-04 JP JP2020097830A patent/JP7557285B2/ja active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005130358A (ja) | 2003-10-27 | 2005-05-19 | Pioneer Electronic Corp | 信号伝送装置及び伝送方法 |
JP2008066951A (ja) | 2006-09-06 | 2008-03-21 | Sony Corp | バス駆動回路、データ伝送制御デバイスおよびバス駆動方法 |
JP2008107937A (ja) | 2006-10-24 | 2008-05-08 | Oki Electric Ind Co Ltd | バスリピータ |
JP2008305152A (ja) | 2007-06-07 | 2008-12-18 | Canon Inc | 設計支援システム、設計支援方法、および設計支援プログラム |
JP2015018315A (ja) | 2013-07-09 | 2015-01-29 | 富士通株式会社 | ストレージ制御装置、制御装置および制御プログラム |
WO2016104369A1 (ja) | 2014-12-25 | 2016-06-30 | オリンパス株式会社 | 通信システム |
JP2016184280A (ja) | 2015-03-26 | 2016-10-20 | 三菱電機株式会社 | 双方向シリアルバススイッチ、ゲートアレイ |
Also Published As
Publication number | Publication date |
---|---|
JP2021190021A (ja) | 2021-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5505512B2 (ja) | 送受信装置および情報処理装置 | |
US20020116555A1 (en) | Method and apparatus for efficiently moving portions of a memory block | |
JP2009535677A (ja) | I2cクロックの生成方法及びシステム | |
US6504790B1 (en) | Configurable DDR write-channel phase advance and delay capability | |
US7752377B2 (en) | Structure compatible with I2C bus and system management bus and timing buffering apparatus thereof | |
JP7557285B2 (ja) | バススイッチ、シミュレーション装置及び信号中継方法 | |
US6018783A (en) | Register access controller which prevents simultaneous coupling of more than one register to a bus interface | |
WO2016189578A1 (ja) | 通信装置、及び電力変換装置 | |
JP2004252702A (ja) | Iicバスを備えた制御回路のiicデバイスアクセス方法 | |
KR100337059B1 (ko) | 탄성 버스 인터페이스 데이터 버퍼 | |
US11301414B1 (en) | Systems and methods for communicating with clients with non-deterministic response delay over a communication interface | |
JP3719865B2 (ja) | データ高速転送システム | |
JP6136754B2 (ja) | 通信制御装置及び画像形成装置 | |
JP2008198000A (ja) | カスタム集積回路及びカスタム集積回路を備えた画像形成装置 | |
JP7599313B2 (ja) | バス調停回路及びそれを備えたデータ転送システム | |
JP5472487B2 (ja) | 半導体装置、及び情報処理装置 | |
CN101430672B (zh) | 相容i2c与系统管理两种总线的架构及时序缓冲装置 | |
JP4768642B2 (ja) | トライステートバス回路 | |
US6172539B1 (en) | Synchronous buffer circuit and data transmission circuit having the synchronous buffer circuit | |
JP6375771B2 (ja) | 通信装置、通信方法および画像形成装置 | |
JP2018095428A (ja) | 画像形成装置およびその制御方法 | |
JP2018094816A (ja) | 画像形成装置およびその制御方法 | |
CN117728911A (zh) | 一种dTOF系统的时钟校准方法及dTOF系统 | |
JP2005010958A (ja) | 半導体装置 | |
JP3678656B2 (ja) | インタフェース回路、論理回路検証方法、論理装置、情報処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20210103 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210113 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230602 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20240229 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20240329 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240514 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20240816 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240913 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7557285 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |