System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种多通道同步并行I2C通信方法、系统、电子设备技术方案_技高网

一种多通道同步并行I2C通信方法、系统、电子设备技术方案

技术编号:40670951 阅读:3 留言:0更新日期:2024-03-18 19:07
本申请公开了一种多通道同步并行I2C通信方法、系统、电子设备,方法包括在预设计数周期内,根据预选时钟信号进行计数,将当前计数值分别与预设的至少三个子目标数进行比较,产生的触发信号;利用GPIO接口模拟多路I2C总线通道,I2C通信的位周期包括至少三个相位点;根据第一个触发信号获取在第一个相位点预向GPIO接口写入的数据并将其存储到GPIO接口的输出数据存储器;根据第二个触发信号获取在第二个相位点预向GPIO接口写入的数据并将其存储到GPIO接口的输出数据存储器;根据第三个触发信号GPIO接口的输入数据存储器读取的数据。实现GPIO接口模拟的多路I2C总线通道同步通信,大大降低CPU资源占用。

【技术实现步骤摘要】

本申请属于数据通信,具体涉及一种多通道同步并行i2c通信方法、系统、电子设备。


技术介绍

1、i2c通信是最基础的设备间通信的通信方式之一,在电子系统中占有极其重要的地位。其广泛用于各种电子系统中如:工业自动化、医疗、消费、测试测量等。在这些系统中包含一个i2c主设备与单个或多个i2c从设备通讯的场景。例如一个cpu作为i2c主设备,连接着各种i2c从设备,包括各种i2c接口的传感器、adc、dac等。i2c作为主设备与从设备的沟通桥梁,发挥着不可替代的作用。

2、然而i2c通信在诸多应用中也有很多局限性。例如在一个mcu系统中挂载多个i2c接口的adc、dac及传感器。要想与所有i2c设备同步通信,使用通用的方案是很难做到的,而同步是测试测量、工业控制中一个典型的需求。常规的i2c操作方法是串行异步通讯来实现多通道数据测量,各i2c设备依次通讯。要解决同步问题往往需要进行额外相位补偿,相位补偿不仅困难,也不是在所有系统中都能使用的。i2c通信的另外一个局限性是,i2c设备是低速设备,在与高速设备通信有占用高速设备带宽的问题。例如,cpu运行实时操作系统,i2c通讯线程长期占用cpu,降低系统的运行效率。

3、在测试测量领域中,提高同时测量的dut数量是降低测量成的主要手段。对于i2c接口的待测设备提高测量通道数也是急需解决的问题。


技术实现思路

1、技术目的:本申请旨在提供一种多通道同步并行i2c通信方法,用于实现不长期占用高速设备的、多通道的、同步并行的i2c接口通信。

2、为实现上述技术目的,本申请采用以下技术方案。

3、第一方面,本申请实施例提供一种多通道同步并行i2c通信方法,包括:

4、在预设的计数周期内,根据预选时钟信号进行计数,获得当前计数值;

5、将所述当前计数值分别与预设的至少三个子目标数进行比较,获得比较结果,根据所述比较结果分别产生至少三个对应的触发信号;

6、利用gpio接口模拟多路i2c总线通道,所述i2c通信的位周期包括至少三个相位点,所述相位点与所述子目标数一一对应,其中第一个所述相位点位于所述位周期的起始处,第二个所述相位点位于所述位周期内i2c时钟线的信号上升沿处,第三个所述相位点位于所述位周期内i2c时钟线的信号高电平处;

7、根据第一个所述触发信号获取在第一个所述相位点预向gpio接口写入的数据,并将其存储到所述gpio接口的输出数据存储器;根据第二个所述触发信号获取在第二个所述相位点预向gpio接口写入的数据,并将其存储到所述gpio接口的输出数据存储器;根据第三个所述触发信号在第三个所述相位点从所述gpio接口的输入数据存储器读取的数据并存储到指定区域。

8、第二方面,本申请实施例提供一种多通道同步并行i2c通信系统,包括:

9、计数模块,所述计数模块在预设的计数周期内,根据预选时钟信号进行计数,获得当前计数值;

10、比较模块,所述比较模块将所述当前计数值分别与预设的至少三个子目标数进行比较,获得比较结果,根据所述比较结果分别产生至少三个对应的触发信号;

11、gpio接口,所述gpio接口用于模拟多路i2c总线通道,所述i2c通信的位周期包括至少三个相位点,所述相位点与所述子目标数一一对应,其中第一个所述相位点位于所述位周期的起始处,第二个所述相位点位于所述位周期内i2c时钟线的信号上升沿处,第三个所述相位点位于所述位周期内i2c时钟线的信号高电平处;

12、直接访问存储模块,所述直接访问存储模块用于根据第一个所述触发信号获取在第一个所述相位点预向gpio接口写入的数据并将其存储到所述gpio接口的输出数据存储器;根据第二个所述触发信号获取在第二个所述相位点预向gpio接口写入的数据并将其存储到所述gpio接口的输出数据存储器;根据第三个所述触发信号在第三个所述相位点从所述gpio接口的输入数据存储器读取的数据并存储到指定区域。

13、第三方面,本申请实施例提供了一种电子设备,包括:如第二方面任意一种可能地实施例所提供的多通道同步并行i2c通信系统。

14、有益效果:与现有技术相比,本申请实施例提供的多通道同步并行i2c通信方法,通过预设与i2c总线的位周期相关的至少三个子目标数,三个子目标数分别与i2c通信的位周期上的三个相位点相关,根据预先确定的三个子目标数可确定i2c总线的时钟线和数据线的跳变。借助计数和将当前计数值与三个子目标数比较进而产生相应触发信号,触发在第一个相位点和第二个相位点将各路i2c总线通道的数据同步发送至gpio接口的数据输出寄存器,在第三个相位点,将各路i2c总线通道的数据线上的信号从gpio接口的数据输入寄存器读出,通过控制gpio接口的电平变化来模拟i2c总线的通信协议,不仅实现gpio接口模拟的多路i2c总线通道同步通信,还大大降低了cpu资源的占用。

本文档来自技高网...

【技术保护点】

1.一种多通道同步并行I2C通信方法,其特征在于,所述方法包括:

2.根据权利要求1所述的多通道同步并行I2C通信方法,其特征在于,所述方法包括:

3.根据权利要求1所述的多通道同步并行I2C通信方法,其特征在于,所述GPIO接口(14)包括多个GPIO引脚(143),多个所述GPIO引脚(143)中一个GPIO引脚(143)模拟所有I2C总线通道的所述I2C时钟线,选取全部剩余的所述GPIO引脚(143)或部分剩余的所述GPIO引脚(143)分别模拟各路I2C总线通道的I2C数据线。

4.根据权利要求1所述的多通道同步并行I2C通信方法,其特征在于,根据预选时钟信号进行计数,获得当前计数值,包括以下步骤:

5.根据权利要求4所述的多通道同步并行I2C通信方法,其特征在于,所述方法包括:

6.根据权利要求5所述的多通道同步并行I2C通信方法,其特征在于,第三个所述相位点位于所述I2C时钟线的信号跳变到高电平后,延时预设时间后的时刻。

7.多通道同步并行I2C通信系统(1),其特征在于,所述系统包括:

<p>8.根据权利要求7所述的多通道同步并行I2C通信系统,其特征在于,所述系统还包括写数据存储模块和读数据存储模块;

9.根据权利要求8所述的多通道同步并行I2C通信系统,其特征在于,所述比较模块(12)至少包括第一比较寄存器(121)、第二比较寄存器(122)和第三比较寄存器(123);

10.一种电子设备,其特征在于,包括:如权利要求7-9中任一项所述的多通道同步并行I2C通信系统。

...

【技术特征摘要】

1.一种多通道同步并行i2c通信方法,其特征在于,所述方法包括:

2.根据权利要求1所述的多通道同步并行i2c通信方法,其特征在于,所述方法包括:

3.根据权利要求1所述的多通道同步并行i2c通信方法,其特征在于,所述gpio接口(14)包括多个gpio引脚(143),多个所述gpio引脚(143)中一个gpio引脚(143)模拟所有i2c总线通道的所述i2c时钟线,选取全部剩余的所述gpio引脚(143)或部分剩余的所述gpio引脚(143)分别模拟各路i2c总线通道的i2c数据线。

4.根据权利要求1所述的多通道同步并行i2c通信方法,其特征在于,根据预选时钟信号进行计数,获得当前计数值,包括以下步骤:

5.根据权利要求4所述的多通道同步并行i...

【专利技术属性】
技术研发人员:贾飞刘金成叶志英
申请(专利权)人:苏州纳芯微电子股份有限公司
类型:发明
国别省市:

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

1