一种对同地址的多个I2C器件进行操作的方法技术

技术编号:12784707 阅读:73 留言:0更新日期:2016-01-28 09:38
本发明专利技术公开了一种对同地址的I2C器件进行操作的方法。本发明专利技术中首先需要实现一种总线接口模块。该模块将I2C的时钟SCL进行一对多的扩展,将I2C的数据信号SDA进行了一对一的驱动扩展。其次,在I2C的协议基础上,增加了全局模式的I2C控制和单点模式的I2C操作的协议。全局操作可同时对所有的I2C实现操作,包括其起始、停止及写操作,而单独的I2C操作的支持对指定I2C器件的起始、停止及读写操作。本发明专利技术特别适合于需要对多个相同I2C地址的设备同时发命令,然后顺序读取I2C器件的返回值的I2C操作模式,如传感器的同时数据采集。

【技术实现步骤摘要】

本专利技术涉及一种对同地址的多个I2C(Inter_Integrated Circuit,设备互联电路。由Philips公司首创,其他人有时候称为TWI总线)器件进行操作的方法,特别涉及多I2C器件的通信。
技术介绍
在电子技术中,I2C总线是经常使用的通信接口,广泛应用在音视频、存储器及各类配置芯片中。I2C通信由主设备、从设备及由时钟信号和数据信号组成的双总线构成。对于从设备,主设备通过区分从设备的地址实现I2C操作。I2C(英文为 Inter-1ntegrated Circuit,中文名称“设备互联电路”)由 Philips公司首创,有时候也称为TWI总线。在某些应用中,需要实现对同地址的多个I2C进行操作。此时,仅依靠地址无法实现对从设备的寻址及操作。因此,必须到其他的技术路径解决此类问题。目前主要的解决方法是利用FPGA等逻辑芯片实现一种I2C接口电路,其通常的做法是多路的I2C接口转换为主设备能够通信的一种接口。此方法的优点在于电路速度较快,缺点在于增加了 FPGA芯片和编程的工作量,尤其是I2C接口部分需要实现可靠的I2C协议,工作量较大。
技术实现思路
本专利技术从此出发,提出一种对同地址的多个I2C器件进行操作的方法,具有实现简单,灵活可靠的优点,可满足相关I2C通信的要求。根据本专利技术的一个方面,提供了一种对同地址的多个I2C器件进行操作的方法,其特征在于包括:利用总线接口模块,将I2C的时钟信号进行一对多的扩展,将I2C的数据信号进行了一对一的驱动扩展在I2C的协议基础上,进行全局模式操作和单点模式操作,其中全局模式操作可同时对所有的I2C器件实现包括起始、停止、读写的操作,单点模式操作支持对指定I2C器件的起始、停止及读写操作,而不影响其他I2C器件的工作。【附图说明】图1是根据本专利技术的一个实施例的对同地址的多个I2C器件进行操作的方法的接口模块的框图;图2是根据本专利技术的一个实施例的对同地址的多个I2C器件进行操作的方法的全局模式的读写时序图;图3是根据本专利技术的一个实施例的对同地址的多个I2C器件进行操作的方法的单点模式的读写时序图。【具体实施方式】针对需要实现对同地址的多个I2C进行操作的需求,本专利技术提供了一种对同地址的多个I2C器件进行操作的方法,其通过测量与计算得到接收机天线的灵敏度。该方法实现了一种总线接口模块。该模块将I2C的时钟信号进行一对多的扩展,将I2C的数据信号进行了一对一的驱动扩展。其次,在I2C的协议基础上,增加两种操作模式,分别是全局模式和单点模式。全局模式可同时对所有的I2C器件实现操作,包括其起始、停止及读写操作。单点模式支持对指定I2C器件的起始、停止及读写操作,而不影响其他I2C器件的工作。本专利技术中的总线接口模块将主设备的I2C时钟信号进行一对多的扩展,将I2C的数据信号进行了一对一的驱动扩展。通过此种总线接口模式,将主机的时钟信号扩展为多路,而将主机的数据信号与I2C器件一一对应,为后续的全局模块和单点模式做好准备。在总线接口模块实现的基础上,在I2C的协议基础上,增加了全局的I2C控制和单独的I2C操作的协议。全局操作可同时对所有的I2C器件实现操作,包括其起始、停止及写操作,而单独的I2C操作的支持对指定I2C器件的起始、停止及读写操作。全局模式的I2C操作是在同一个I2C时钟作用下的所有数据信号的同时作用,包括起始、停止及读写操作:a)全局起始操作:与基础I2C协议一对多的协议类似,差别在于I2C的地址是完全相同的,可实现对所有器件的同时起始操作。b)全局结束操作:与基础I2C协议一对多的协议类似,差别在于I2C的地址是完全相同的,可实现对所有器件的同时结束操作。c)全局读操作:与基础I2C协议一对多的协议类似,差别在于I2C的地址是完全相同的,可实现对所有器件的同时读操作,而不必采用轮训操作。注意,在微处理器的实现中,I2C总线中主设备的ACK信号响应会比一对一的模式慢一些,因微处理器需对不同的信号线驱动ACK,以响应所有从设备的数据传递。d)全局写操作:与基础I2C协议一对多的协议类似,差别在于I2C的地址是完全相同的,可实现对所有器件的同时写操作,而不必采用轮训操作。注意,在微处理器的实现中,I2C主设备的ACK信号响应会比一对一的模式慢一些,因微处理器需对从设备的ACK信号进行判断。单点模式的I2C操作特征在于时钟信号作用下的不同数据信号的动作不同,其基本原则在于对指定的I2C信号线进行正常输入和输出操作,而将不使用的I2C信号线设置为输入功能,从而无法实现对非指定的I2C器件的操作。单点模式的操作包括其起始、停止及读写操作:a)单点起始操作:与普通I2C协议的一对一协议一致,其差别在于将非指定的I2C器件的数据信号首先设置为输入功能,然后实现对指定I2C器件的起始操作。b)单点结束操作:与普通I2C协议的一对一协议一致,其差别在于将非指定的I2C器件的数据信号首先设置为输入功能,然后实现对指定I2C器件的结束操作。c)单点读写操作:与普通I2C协议的一对一协议一致,其差别在于将非指定的I2C器件的数据信号首先设置为输入功能,然后实现对指定I2C器件的读写操作。为了使本专利技术的目的、技术方案和优点更加清楚,下面结合具体实施例对本专利技术进行详细描述。总线接口模块根据本专利技术的总线接口模块实现主从设备的I2C信号线的接口。从主设备端看,信号线分为时钟线和数据线两种。其中,主设备驱动I2C的时钟信号信号线(英文缩写为SCL),其名称为主机时钟线,该信号线为单向的,只从主设备传输到从设备。I2C的数据信号线(英文缩写为SDA)A信号线,其名称为Master_SDAl主机信号线1到主机信号线Master_SDAn,该信号线为双向的,且如果有η个从设备,则个数为η个。从设备端看,信号线也包含时钟线和数据线两种,分别命名为对于η个从设备,则时钟线和数据线的个数都为η个。因此,总线接口模块具备两个功能,分别通过SCL信号和SDA信号模块实现。其中,SCL信号模块用于将主设备的时钟信号SC主机时钟线L线产生η个相同的从机SCL信号时钟线。SDA信号模块用于实现将主设备的η条SDA主机数据信号线和η个从设备的主机数据SDA信号线的直接对接或者进行处理。通过这种总线接口模块,实现了主设备与从设备的I2C信号线的对接。图1为根据本当前第1页1 2 本文档来自技高网...

【技术保护点】
一种对同地址的多个I2C器件进行操作的方法,其特征在于包括:利用总线接口模块,将I2C器件的时钟信号进行一对多的扩展,将I2C器件的数据信号进行了一对一的驱动扩展在I2C器件的协议基础上,进行全局模式操作和单点模式操作,其中全局模式操作可同时对所有的I2C器件实现包括起始、停止、读写的操作,单点模式操作支持对指定I2C器件的起始、停止及读写操作,而不影响其他I2C器件的工作。

【技术特征摘要】

【专利技术属性】
技术研发人员:蔡希昌马令芹李欣欢马鸿斌白扬帆
申请(专利权)人:北方工业大学
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1