JP2016066191A - バス制御回路 - Google Patents

バス制御回路 Download PDF

Info

Publication number
JP2016066191A
JP2016066191A JP2014194020A JP2014194020A JP2016066191A JP 2016066191 A JP2016066191 A JP 2016066191A JP 2014194020 A JP2014194020 A JP 2014194020A JP 2014194020 A JP2014194020 A JP 2014194020A JP 2016066191 A JP2016066191 A JP 2016066191A
Authority
JP
Japan
Prior art keywords
slave
data
master device
data line
slave devices
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
JP2014194020A
Other languages
English (en)
Inventor
孝一 田中
Koichi Tanaka
孝一 田中
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.)
Kyocera Document Solutions Inc
Original Assignee
Kyocera Document Solutions Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kyocera Document Solutions Inc filed Critical Kyocera Document Solutions Inc
Priority to JP2014194020A priority Critical patent/JP2016066191A/ja
Publication of JP2016066191A publication Critical patent/JP2016066191A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)
  • Information Transfer Systems (AREA)
  • Small-Scale Networks (AREA)

Abstract

【課題】I2C通信の通信速度を向上させることを課題とする。【解決手段】データ線であるSDA20にそれぞれ値の異なる抵抗R1、R2及びR3を互いに並列になるよう挿入する。マスターデバイス10はSDA20の電位レベルをアナログ入力で取り込んでA/D変換を行う。そして、変換後の電位レベルからデータテーブル11を参照して、各スレーブデバイスDEVの出力レベルを判別することで多ビットでのデータ送受信を行う。【選択図】図1

Description

本発明は、I2Cバスを用いてデータを送受信するバス制御回路に関する。
デバイス間のデータ転送を行う手段として、I2C(Inter Integrated Circuit)通信が知られている。I2C通信は、特許文献1〜3に記載されているように、複数のスレーブデバイスとスレーブデバイスを制御するマスターデバイスで構成され、スレーブデバイスとマスターデバイスの間はデータ線とクロック線の2本のI2Cバスで接続され、データ転送が行われる。
特開2003−345732号公報 特開2006−267569号公報 特開2009−105731号公報
従来の通信方法の場合、I2C通信はシリアルでのデータ転送になるため、マスターデバイスが1つのスレーブデバイスとデータの送受信をしている間は、他のスレーブデバイスはデータの送受信ができない。従って、構造上、通信速度を向上させることは困難であった。
本発明は、上記の問題を解決するためになされたもので、I2C通信の通信速度の向上を目的とする。
本発明におけるバス制御回路は、複数のスレーブデバイスと、それぞれの一端が前記各スレーブデバイスのデータ端子に接続された抵抗値の異なる複数の抵抗と、前記スレーブデバイスを制御するマスターデバイスと、前記マスターデバイスのデータ端子と前記複数の抵抗の他端を接続するデータ線と、一端が前記データ線、他端が電源に接続されたプルアップ抵抗と、を備えたバス制御回路であって、前記マスターデバイスは、前記データ線の電位レベルを取り込んで、その電位レベルに応じて前記各スレーブデバイスがデータ線へ出力している信号レベルを判断する。
本発明では、各スレーブデバイスに対して抵抗値の異なる抵抗を互いに並列になるようにデータ線に挿入することで、例えばローレベルを出力したスレーブデバイスの種類に応じてデータ線の電位レベルを分圧の関係で異ならせるので、マスターデバイスはデータ線の電位レベルを判別することにより、複数のスレーブデバイスのうち何れのスレーブデバイスがローレベルを出力したかを判断することができる。すなわち、1本のデータ線で多ビットのデータ送受信を実現することができ、通信速度を向上させることができる。
第1実施形態に係るバス制御回路について示した回路図である。 スレーブデバイスの出力の組み合わせとデータ線の電位レベルの関係を示した図である。 第2実施形態に係るバス制御回路について示した回路図である。
以下、本発明の一実施形態に係るバス制御回路について図面を参照して説明する。図1は本発明の第1実施形態に係るバス制御回路1について示した回路図である。バス制御回路1はI2Cバスを用いてデータの送受信する回路である。図1に示すように、I2Cバスはシリアルデータ線(SDA)20とシリアルクロック線(SCL)21の2本で構成され、SDA20及びSCL21には、マスターデバイス10と複数のスレーブデバイスDEV1、DEV2及びDEV3(以下、適宜まとめて「スレーブデバイスDEV」という)が接続されている。尚、本実施の形態ではスレーブデバイスが3個の場合を例に挙げて説明する。
マスターデバイス10は、I2Cバスを制御し、データの送受信を管理するものであり、マスターデバイス10が指示を出すことでスレーブデバイスDEVの1つが選択され、選択されたスレーブデバイスDEVとデータの送受信を行う。データの送受信はマスターデバイス10がSCL21に出力するクロック信号を基準に行われる。
それぞれのスレーブデバイスDEVは、予め個別のアドレスが割り当てられている。まず、マスターデバイス10はデータ送受信を行いたいスレーブデバイスDEVに割り当てられたアドレスを出力する。スレーブデバイスDEVは、取り込んだデータの内容が自身のアドレスと一致している場合のみデータを継続して受信する。そして、データを受信していたスレーブデバイスDEVは、受信終了後にマスターデバイス10に対してACK信号を返信する。
SDA20とSCL21は、抵抗Raを介して電源レベルにプルアップされている。そして、SCL21のクロック信号がローレベルのときにSDA20の状態がハイからロー、又はローからハイに変更可能であり、全ての動作は、SCL21がハイの期間のSDA20のハイからローへの変化から始まる。そして、SCL21がハイの期間のSDA20のローからハイへの変化で動作が終了する。
従来のI2Cバスを使った回路の場合、1つのスレーブデバイスがSDA20にデータを出力している間は、他のスレーブデバイスはデータを出力できない、又は割り込みをかけてデータ出力をする必要があった。例えば、スレーブデバイスDEV1及びDEV2がマスターデバイス10にデータ送信しようとしても、データ線であるSDA20は1本しかないため、どちらかのスレーブデバイスしかデータ送信ができない。つまり、構造上、通信速度を向上させることは困難であった。
そこで、マスターデバイス10とスレーブデバイスDEV1の間となるSDA20に抵抗R1を接続し、マスターデバイス10とスレーブデバイスDEV2の間となるSDA20に抵抗R1とは抵抗値が異なる抵抗R2を接続し、マスターデバイス10とスレーブデバイスDEV3の間となるSDA20に抵抗R1及び抵抗R2のいずれとも抵抗値が異なる抵抗R3を接続する。すなわち、SDA20にそれぞれ値の異なる抵抗R1、R2及びR3を互いに並列になるよう挿入する。これにより、SDA20にローレベルを出力したスレーブデバイスDEVの種類によって、抵抗Raと抵抗R1〜R3の分圧によりSDA20の電位レベルが異なってくる。マスターデバイス10はこのときのSDA20の電位レベルを、例えば内蔵するA/D変換回路にアナログ入力で取り込んでディジタル値に変換することで、SDA20の電位レベルから各スレーブデバイスDEVの出力レベルを知ることができる。
具体的に説明する。図2は、各スレーブデバイスDEVの出力レベルとSDA20の電位レベルの関係を示した図である。尚、本実施の形態では、Ra=2.2kΩ、R1=1kΩ、R2=2kΩ、R3=3kΩ、スレーブデバイスDEVの出力を5Vとして説明する。
マスターデバイス10は、図2に示したデータをデータテーブル11として予め記憶している。図2に示すように、例えば、全てのスレーブデバイスDEVがSDA20に対してハイレベルを出力しているとき、SDA20の電位レベルは5.0Vとなる。また、スレーブデバイスDEV3だけがローレベルを出力しているとき、SDA20の電位レベルは2.9Vとなる。以下、同様に、電位レベルに応じたスレーブデバイスDEV1〜DEV3についてのハイレベル又はローレベルの組み合わせがデータテーブル11に記憶されている。
マスターデバイス10は、SDA20の信号を取り込んでA/D変換し、変換後のディジタル値に基づいて、電位レベルが例えば2.9Vであることを認識したとき、データテーブル11を参照して、スレーブデバイスDEV1及びDEV2はハイレベル、スレーブデバイスDEV3がローレベルを出力していることを読み出す。すなわち、マスターデバイス10は、SDA20の信号の電位レベルに応じたスレーブデバイスDEV1〜DEV3についてのハイレベル又はローレベルの組み合わせを、データテーブル11を参照して判断する。
同様に、スレーブデバイスDEV1がハイレベル、スレーブデバイスDEV2とDEV3がローレベルを出力しているとき、SDA20の電位レベルは1.8Vとなる。マスターデバイス10は、SDA20の信号を取り込んでA/D変換し、変換後のディジタル値に基づいて、電位レベルが1.8Vであることを認識したとき、データテーブル11を参照して、スレーブデバイスDEV1がハイレベル、スレーブデバイスDEV2とDEV3がローレベルを出力していることを読み出す。
このように、本実施形態では、それぞれのスレーブデバイスDEVに対して抵抗値の異なる抵抗をSDA20に挿入することで、ローレベルを出力したスレーブデバイスDEVの種類に応じてSDA20の電位レベルを異ならせる。そしてマスターデバイス10はその電位レベルを判別することで、何れのスレーブデバイスDEVがローレベル(又はハイレベル)を出力したかを判断することができる。つまり、1本のSDA20で多ビットのデータ送受信を実現することができ、通信速度を向上させることができる。
次に、第2実施形態に係るバス制御回路を説明する。図3は、第2実施形態に係るバス制御回路について示した回路図である。例えば、複数のスレーブデバイスDEVにデータを出力させるためには、マスターデバイス10は所望のスレーブデバイスDEVに対してアドレスを送信しなければならない。スレーブデバイスDEVは、取り込んだデータの内容が自身のアドレスと一致している場合のみデータを送信するため、マスターデバイス10は所望のスレーブデバイスDEVを複数同時に選択するようなアドレスを出力する必要がある。
そこで、第2実施形態では、スレーブデバイスDEVはそれぞれアドレスデコーダ31〜33(以下、まとめて「アドレスデコーダ3」という)を有する。そして、マスタースレーブ10は、スレーブデバイスDEVに個別に割り当てられたアドレスに加えて、スレーブデバイスDEV1とDEV2を同時に選択するためのアドレス、DEV2とDEV3を同時に選択するためのアドレス、DEV1とDEV3を同時に選択するためのアドレス、DEV1〜DEV3を同時に選択するためのアドレスをそれぞれ予め記憶する。これらのアドレスは、アドレスデコーダ3がデコードすることによって、マスターデバイス10が選択したスレーブデバイスDEVの個別のアドレスとなる。
例えば、マスターデバイス10がスレーブデバイスDEV1とDEV2を同時に選択するためのアドレスを出力すると、スレーブデバイスDEVがアドレスを取り込み、各アドレスデコーダ3が取り込んだアドレスをデコードする。すなわち、スレーブデバイスDEV1〜DEV3のそれぞれがアドレスを取り込み、スレーブデバイスDEV1のアドレスデコーダ31、スレーブデバイスDEV2のアドレスデコーダ32、スレーブデバイスDEV3のアドレスデコーダ33がそれぞれ、取り込んだアドレスをデコードする。その結果、スレーブデバイスDEV1とDEV2を同時に選択するためのアドレスは、スレーブデバイスDEV1とDEV2の個別のアドレスに変換され、スレーブデバイスDEV1とDEV2は自身が選択されたと認識してデータ送信を開始する。これにより、マスターデバイス10は、SDA20のアナログ入力によって多ビット受信を実現する。このように、アドレスデコーダ3を用いることで、1つのアドレスで複数のスレーブデバイスDEVを指定して選択することが可能である。すなわち、この第2実施形態では、1つのアドレスによる複数のスレーブデバイスDEVの選択と、1本のSDA20による多ビットのデータ送受信とを実現できるため、通信速度を更に向上させることが可能になる。
本実施の形態における多ビットの通信方法は、マスターデバイス10がスレーブデバイスDEVからデータを受信する際に効果的である。また、マスターデバイス10が複数のスレーブデバイスDEVに対してデータを送信したい場合(スレーブデバイスDEVに対して同時にデータ書き込みを行いたい場合)には、上記した複数のスレーブデバイスDEVを選択するためのアドレスを用いることで、実現可能である。例えば、全てのスレーブデバイスDEVに同じデータを書き込みたい場合、マスターデバイス10は全てのスレーブデバイスDEVを選択するためのアドレスを送信し、その後書き込みたいデータを送信する。こうすることで、全てのスレーブデバイスDEVは自身が選択されたと認識し、マスターデバイス10からのデータを受け取ることができる。
尚、本実施の形態の通信方法は、マスターデバイス10のA/D変換の処理速度によっては、従来のシリアル通信方式に比べて通信速度の改善が見込めない場合がある。しかし、マスターデバイス10の処理能力が上がり、A/D変換を高速に行える場合は、複数のスレーブデバイスDEVからの多ビット通信をもって、通信速度を向上させることが可能である。
1 バス制御回路
10 マスターデバイス
11 データテーブル
20 SDA(データ線)
21 SCL(クロック線)
31〜32 アドレスデコーダ
R1、R2、R3、Ra、Rb 抵抗
DEV1、DEV2、DEV3 スレーブデバイス

Claims (3)

  1. 複数のスレーブデバイスと、
    それぞれの一端が前記各スレーブデバイスのデータ端子に接続された抵抗値の異なる複数の抵抗と、
    前記スレーブデバイスを制御するマスターデバイスと、
    前記マスターデバイスのデータ端子と前記複数の抵抗の他端を接続するデータ線と、
    一端が前記データ線、他端が電源に接続されたプルアップ抵抗とを備え、
    前記マスターデバイスは、前記データ線の電位レベルを取り込んで、その電位レベルに応じて前記各スレーブデバイスがデータ線へ出力している信号レベルを判断するバス制御回路。
  2. 前記マスターデバイスは、前記各スレーブデバイスがデータ線へ出力するハイレベル又はローレベルの組み合わせに応じた前記データ線の電位レベルをデータテーブルとして予め記憶し、前記マスターデバイスは前記データ線の電位レベルを取り込むと、前記データテーブルを参照して、前記各スレーブデバイスがデータ線へ出力している前記ハイレベル又はローレベルからなる信号レベルを判断する請求項1に記載のバス制御回路。
  3. 前記各スレーブデバイスは個別に割り当てられたアドレスを有し、前記マスターデバイスはデータの送受信を行いたい前記スレーブデバイスが有するアドレスをデータ線へ出力することによって、任意の前記スレーブデバイスを選択してデータ送受信を開始するものであり、
    前記各スレーブデバイスは、アドレスデコーダを有し、
    前記マスターデバイスは、前記各スレーブデバイスに個別に割り当てられたアドレスに加え、前記スレーブデバイスを複数選択するためのアドレスを全ての組み合わせについて記憶し、
    前記スレーブデバイスを複数選択するためのアドレスは、前記アドレスデコーダがデコードすることによって、前記マスターデバイスが選択した複数の前記スレーブデバイスのそれぞれのアドレスとなる請求項1又は請求項2に記載のバス制御回路。
JP2014194020A 2014-09-24 2014-09-24 バス制御回路 Pending JP2016066191A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014194020A JP2016066191A (ja) 2014-09-24 2014-09-24 バス制御回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014194020A JP2016066191A (ja) 2014-09-24 2014-09-24 バス制御回路

Publications (1)

Publication Number Publication Date
JP2016066191A true JP2016066191A (ja) 2016-04-28

Family

ID=55804154

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014194020A Pending JP2016066191A (ja) 2014-09-24 2014-09-24 バス制御回路

Country Status (1)

Country Link
JP (1) JP2016066191A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107463130A (zh) * 2017-08-16 2017-12-12 深圳市联赢激光股份有限公司 一种具有精准错误判别功能的级联电路
WO2021088255A1 (zh) * 2019-11-07 2021-05-14 苏州浪潮智能科技有限公司 系统管理总线链路及其上拉电阻确定方法、装置和设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107463130A (zh) * 2017-08-16 2017-12-12 深圳市联赢激光股份有限公司 一种具有精准错误判别功能的级联电路
WO2021088255A1 (zh) * 2019-11-07 2021-05-14 苏州浪潮智能科技有限公司 系统管理总线链路及其上拉电阻确定方法、装置和设备

Similar Documents

Publication Publication Date Title
US9477634B2 (en) I2C address translation
US7584305B2 (en) Serial peripheral interface circuit
JP2017520053A (ja) マルチプロトコルデバイスによって共有される動的調整可能なマルチラインバス
US9094246B1 (en) Pure differential signal based MIPI DSI/CSI-2 receiver systems
TW200931269A (en) Control bus for connection of electronic devices
US20140281080A1 (en) Address translation in 12c data communications system
KR20180029347A (ko) 캘리브레이션 동작을 수행하는 반도체 장치 및 시스템
JP2005025767A (ja) バス接続を介してのランダムアクセスのための方法およびデータ構造
CN106793928A (zh) 通信系统
JP2016066191A (ja) バス制御回路
JP5332428B2 (ja) レベルシフト回路及びその方法
US10122553B2 (en) Transmitting device for high speed communication, interface circuit and system including the same
WO2016078357A1 (zh) 主机、主机管理从机的方法及系统
US9356581B2 (en) Data output circuit of a semiconductor apparatus
US20170116143A1 (en) Master electronic device and communication method of the same
US9454162B2 (en) Calibration circuit and semiconductor device including the same
CN108257630B (zh) 半导体器件及半导体系统
US9672881B2 (en) Memory device with variable strobe interface
JP2014119766A (ja) 通信システム
US10409759B2 (en) Interface circuit for high speed communication, and system including the same
US9704543B2 (en) Channel controlling device for improving data reading efficiency
US20180294821A1 (en) Data conversion apparatus
US20230205725A1 (en) Bus system
TWI539253B (zh) 數值控制裝置
US9864540B2 (en) Interface circuit for communication, and system including the same