控制I2C器件的方法及装置转让专利

申请号 : CN200710075865.4

文献号 : CN101344874B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 金永进

申请人 : 深圳创维-RGB电子有限公司

摘要 :

本发明公开了一种控制I2C器件的方法及装置,该控制I2C器件的方法是用计算机的RS232串口模拟I2C总线。该控制I2C器件的装置包括具有RS232串口的计算机及具有I2C总线接口的I2C器件,计算机的RS232串口、电平转换电路、电平反向电路及I2C总线接口顺次连接,电平转换电路将RS232串口的电平逻辑转换成TTL电平逻辑,电平反向电路将TTL电平逻辑反向而使反向后的电平逻辑与I2C总线的电平逻辑对应。利用RS232串口直接模拟I2C总线,实现计算机对I2C器件的控制,不需要专用的转换芯片,降低了整个转换装置的价格,而且减小了转换装置的体积。

权利要求 :

1.一种控制I2C器件的方法,其特征在于:用计算机的RS232串口模拟I2C总线,通过控制RS232串口的DTR、CTS、RTS、DSR握手信号的电平高低来模拟I2C总线操作,其中所述的DTR握手信号与I2C总线的数据线SDA的输出对应,DSR握手信号与I2C总线的数据线SDA的输入对应,RTS握手信号与I2C总线的时钟线SCL的输出对应,CTS握手信号与I2C总线的时钟线SCL的输入对应,通过电平转换电路将RS232串口的电平逻辑转换成TTL电平逻辑,并通过电平反向电路将TTL电平逻辑反向而使反向后的电平逻辑与I2C总线的电平逻辑对应。

2.根据权利要求1所述的控制I2C器件的方法,其特征在于:当计算机的CPU往I2C器件的寄存器中写入数据时,其包括如下步骤:a)发送起始信号;

b)写该I2C器件的地址;

c)CPU读取该I2C器件的应答信息,判断是否为收到数据的低电平,若是则写寄存器地址并进入步骤d),若不是则停止操作;

d)CPU读取该I2C器件的应答信息,判断是否为收到数据的低电平,若是则向寄存器写入数据并进入步骤e),若不是则停止操作;

e)CPU读取该I2C器件的应答信息,判断是否为收到数据的低电平,若是则表示写入数据成功而继续写入数据,若不是则停止操作。

3.根据权利要求2所述的控制I2C器件的方法,其特征在于:当计算机CPU读取I2C器件的寄存器中的数据时,其包括如下步骤:a)发送起始信号;

b)写入需读取的I2C器件的地址;

c)CPU读取该I2C器件的应答信息,判断是否为收到数据的低电平,若是则写入寄存器地址并进入步骤d),若不是则停止操作;

d)CPU读取该I2C器件的应答信息,判断是否为收到数据的低电平,若是则再次发送起始信号并进入步骤e),若不是则停止操作;

e)将I2C器件的地址加1;

f)CPU读取该I2C器件的应答信息,判断是否为收到数据的低电平,若是则读取寄存器数据并在读取完毕后停止操作,若不是则停止操作。

4.一种控制I2C器件的装置,其特征在于:包括具有RS232串口的计算机及具有I2C总线接口的I2C器件,计算机的RS232串口、电平转换电路、电平反向电路及I2C总线接口顺次连接,电平转换电路将RS232串口的电平逻辑转换成TTL电平逻辑,电平反向电路将TTL电平逻辑反向而使反向后的电平逻辑与I2C总线的电平逻辑对应,通过控制RS232串口的DTR、CTS、RTS、DSR握手信号的电平高低来模拟I2C总线操作,所述的DTR握手信号与I2C总线的数据线SDA的输出对应,DSR握手信号与I2C总线的数据线SDA的输入对应,RTS握手信号与I2C总线的时钟线SCL的输出对应,CTS握手信号与I2C总线的时钟线SCL的输入对应。

5.根据权利要求4所述的控制I2C器件的装置,其特征在于:所述的电平转换电路选自:SP3232芯片、MAX232芯片,电平反向电路为74HC05芯片。

6.根据权利要求5所述的控制I2C器件的装置,其特征在于:所述的电平转换电路为SP3232芯片,RS232串口的引脚DTR、CTS、RTS、DSR分别与SP3232芯片的四个引脚连接,SP3232的引脚SDAO与74HC05的引脚2A相连,SP3232的引脚SDAI与74HC05的引脚5Y相连,SP3232的引脚SCLO与74HC05的引脚3A相连,SP3232的引脚SCLI与74HC05的引脚4Y相连,74HC05芯片的时钟引脚与I2C总线接口的时钟SCL线连接,74HC05芯片的数据引脚与I2C总线接口的数据SDA线连接。

7.根据权利要求6所述的控制I2C器件的装置,其特征在于:所述RS232串口的引脚DTR、RTS的输出电平经过整流电路和稳压电路后得到5V电压,该5V电压给SP3232芯片和74HC05芯片供电。

8.根据权利要求7所述的控制I2C器件的装置,其特征在于:所述的SP3232芯片的两个时钟SCL引脚接双色发光二极管。

说明书 :

技术领域

本发明涉及计算机通信领域,尤其是关于一种在计算机通信设备中控制I2C器件的装置及方法。

背景技术

近年来,随着一些应用IC的功能增强,IC的控制越来越复杂,为使IC的功能更容易被使用,IC供应商一般都会做块DEMO板,并配合PC(计算机)软件界面控制其功能。一般说来,IC都是由I2C(即I2C)总线所控制,而PC本身不具备I2C协议的接口,因此这就会涉及到如何将PC的控制信号转换成I2C总线协议的控制信号。目前转换的方法有如下几种:
1)利用PC的并口直接模拟I2C总线,优点是价格便宜,缺点是接口器件体积较大;
2)利用USB转换芯片,优点是体积小,但价格较贵;
3)利用RS232串口与MCU通信,再由MCU模拟I2C总线,优点是DEMO板可在脱离PC的情况下还能进行控制,但软件工作量会比较大,除了PC语言的编程外还需要MCU的软件编程。

发明内容

本发明所要解决的技术问题是,克服现有技术的不足,提供一种价格便宜且体积小的控制I2C器件的装置及方法。
本发明解决其技术问题所采用的技术方案是:该控制I2C器件的方法是用计算机的RS232串口模拟I2C总线,通过控制RS232串口的DTR、CTS、RTS、DSR握手信号的电平高低来模拟I2C总线操作,其中所述的DTR握手信号与I2C总线的数据线SDA的输出对应,DSR握手信号与I2C总线的数据线SDA的输入对应,RTS握手信号与I2C总线的时钟线SCL的输出对应,CTS握手信号与I2C总线的时钟线SCL的输入对应,通过电平转换电路将RS232串口的电平逻辑转换成TTL电平逻辑,并通过电平反向电路将TTL电平逻辑反向而使反向后的电平逻辑与I2C总线的电平逻辑对应。
一种控制I2C器件的装置包括具有RS232串口的计算机及具有I2C总线接口的I2C器件,计算机的RS232串口、电平转换电路、电平反向电路及I2C总线接口顺次连接,电平转换电路将RS232串口的电平逻辑转换成TTL电平逻辑,电平反向电路将TTL电平逻辑反向而使反向后的电平逻辑与I2C总线的电平逻辑对应,通过控制RS232串口的DTR、CTS、RTS、DSR握手信号的电平高低来模拟I2C总线操作,所述的DTR握手信号与I2C总线的数据线SDA的输出对应,DSR握手信号与I2C总线的数据线SDA的输入对应,RTS握手信号与I2C总线的时钟线SCL的输出对应,CTS握手信号与I2C总线的时钟线SCL的输入对应。
所述的电平转换电路选自:SP3232芯片、MAX232芯片,电平反向电路为74HC05芯片。
所述的电平转换电路为SP3232芯片,RS232串口的引脚DTR、CTS、RTS、DSR分别与SP3232芯片的四个引脚连接,SP3232的引脚SDAO与74HC05的引脚2A相连,SP3232的引脚SDAI与74HC05的引脚5Y相连,SP3232的引脚SCLO与74HC05的引脚3A相连,SP3232的引脚SCLI与74HC05的引脚4Y相连,74HC05芯片的时钟引脚与I2C总线接口的时钟SCL线连接,74HC05芯片的数据引脚与I2C总线接口的数据SDA线连接。
所述RS232串口的引脚DTR、RTS的输出电平经过整流电路和稳压电路后得到5V电压,该5V电压给SP3232芯片和74HC05芯片供电。
所述的SP3232芯片的两个时钟SCL引脚接双色发光二极管。
本发明的有益效果是,利用RS232串口直接模拟I2C总线,实现计算机对I2C器件的控制,不需要专用的转换芯片,降低了整个转换装置的价格,而且减小了转换装置的体积。

附图说明

图1是本实施方式控制I2C器件的方法对I2C器件进行写操作时的流程图;
图2是本实施方式控制I2C器件的方法对I2C器件进行读操作时的流程图;
图3是本实施方式控制I2C器件的装置的电路原理图。

具体实施方式

本实施方式控制I2C器件的方法是用于实现计算机对I2C器件的控制,其是通过计算机的RS232串口来模拟I2C总线。
该RS232串口共有九个引脚,具体如表1所示:
表1 RS232串口引脚
  1   数据载波检测   输入   DCD   Carrier Detect   2   接收数据   输入   RXD   Receive Data   3   发送数据   输出   TXD   Transmit Data   4   数据终端准备   输出   DTR   Data Terminal Ready   5   信号地   地线   GND   System Ground   6   数据设备准备好   输入   DSR   Data Set Ready   7   请求发送   输出   RTS   Request to Send   8   清除发送   输入   CTS   Clear to Send   9   振铃指示   输入   DELL   Ring Indicator
其中,只需要RXD、TXD、GND三个引脚就可以完成RS232串口的通信工作。RXD、TXD引脚只能用作RS232串口通信而不能直接控制其输出电平。通过控制RS232串口的DTR、DSR、RTS、CTS握手信号(分别由引脚DTR、DSR、RTS、CTS输出)的电平高低即可模拟I2C总线操作,即模拟I2C总线的时钟线SCL和数据线SDA的电平高低变化。
各握手信号与I2C总线的对应关系如表2:
表2 RS231串口握手信号与I2C总线的对应关系
  DTR   I2C总线数据线SDA的输出   DSR   I2C总线数据线SDA的输入   RTS   I2C总线时钟线SCL的输出   CTS   I2C总线时钟线SCL的输入
DTR、RTS握手信号除作为I2C总线输出的同时还承担串口取电的工作,当不进行I2C总线操作时,使DTR、RTS握手信号处于高电平。
通过本实施方式的方法对I2C器件进行控制时,其包括读操作和写操作,写操作即计算机的CPU向I2C器件的寄存器中写入数据,读操作即计算机的CPU从I2C器件的寄存器中读取数据。
如图1所示,写操作包括如下步骤:a)发送起始信号,即操作开始;b)写I2C器件的地址;c)CPU读取I2C器件的应答信息,判断是否为收到数据的低电平,若是则写寄存器地址并进入步骤d),若不是则停止操作(即发出结束信号);d)CPU读取I2C器件的应答信息,判断是否为收到数据的低电平,若是则向寄存器写入数据并进入步骤e),若不是则停止操作;e)CPU读取I2C器件的应答信息,判断是否为收到数据的低电平,若是则表示写入数据成功而继续写入数据,若不是则停止操作。
如图2所示,读操作包括如下步骤:a)发送起始信号;b)写入需读取的I2C器件的地址;c)CPU读取该I2C器件的应答信息,判断是否为收到数据的低电平,若是则写入寄存器地址并进入步骤d),若不是则停止操作;d)CPU读取该I2C器件的应答信息,判断是否为收到数据的低电平,若是则再次发送起始信号并进入步骤e),若不是则停止操作;e)将I2C器件的地址加1;f)CPU读取该I2C器件的应答信息,判断是否为收到数据的低电平,若是则读取寄存器数据并在读取完毕后停止操作,若不是则停止操作。
本实施方式控制I2C器件的方法可以对挂在同一I2C总线上的多个I2C器件进行控制。
如图3所示,本实施方式控制I2C器件的装置包括具有RS232串口的计算机及具有I2C总线接口的I2C器件,该计算机的RS232串口、电平转换电路、电平反向电路及I2C总线接口顺次连接。电平转换电路将RS232串口的电平逻辑转换成TTL电平逻辑,电平反向电路将TTL电平逻辑反向而使反向后的电平逻辑与I2C总线的电平逻辑对应。
电平转换电路选自:SP3232芯片、MAX232芯片。电平反向电路为74HC05芯片。RS232串口JP1的引脚DTR、CTS、RTS、DSR分别通过连接线与SP3232芯片IC1的四个引脚(引脚R1IN、T2OUT、R2IN、T1OUT)连接,SP3232芯片的两个时钟SCL引脚(引脚T2IN、R2OUT)分别通过连接线与74HC05芯片IC2的两个引脚(引脚4Y、3A)连接,SP3232芯片的两个数据SDA引脚(引脚T1IN、R1OUT)分别通过连接线与74HC05芯片的两个引脚(引脚5Y、2A)连接,74HC05芯片的时钟引脚(引脚4A)和数据引脚(5A)分别通过连接线与I2C接口插头JP2的引脚SCL、SDA连接,该I2C接口插头JP2与I2C接口插座JP3插接。另外,RS232串口的引脚DTR、RTS通过二级管D2、D3整流后再经过5V的稳压二极管D4得到稳定的5V电压,该5V电压为SP3232芯片和74HC05芯片供电;SP3232芯片的两个时钟SCL引脚分别通过电阻R5、R6与双色发光二极管D1连接,从而通过该双色二极管D1指示I2C总线的相关电平。
本实施方式中,SP3232芯片(或MAX232芯片)完成电平转换,因RS232串口的电平逻辑采用的是负逻辑,取电时会造成I2C总线处于低电平而被拉死,因此用74HC05芯片将相关电平反向,既方便串口取电,又使握手信号的高低电平与I2C总线的高低电平相对应,方便PC控制软件的编写工作。另外,因RS232串口的握手信号为单向传输,而I2C总线的数据线是双向传输,因此74HC05也完成I2C总线输入输出的隔离工作。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。