【技术实现步骤摘要】
本专利技术涉及数据通信领域,尤指一种I2C总线数据传输的方法及系统。
技术介绍
I2C总线是一种两线式高速的,全双工,同步的通信串行总线。用于连接微控制器及其外围设备。在标准的I2C总线协议中,物理链路分别是一条串行数据线(SDA)和一条串行时钟线(SCL)。由于其简单、灵活、硬件管脚资源少等优点,在器件与器件之间的通信中有着广泛的应用。I2C总线中的器件被分为主机和从机。主机是初始化总线的数据传输并产生允许传输的时钟信号的器件。此时,任何被寻址的器件都被认为是从机。每个从机均有一个唯一的地址,主机可以通过该地址,配置和管理相应的从机。由于I2C是串行通讯协议,也就是说数据是一位一位传输的。这就是SCL时钟线存在的原因,由SCL提供时钟脉冲,SDA则基于此脉冲完成数据传输。数据输出通过SDA线,数据在时钟上升沿或下降沿时改变,在紧接着的下降沿或上升沿被读取。完成一位数据传输,输入也使用同样原理。这样,在至少8次时钟信号的改变(上沿和下沿为一次),就可以完成8位数据的传输。现有的I2C在系统管理方面的缺点是缺乏流控机制,不知道主器件读取从器件中读到的数据是否正确,数据的传输的可靠性非常低。
技术实现思路
本专利技术的目的是提供一种I2C总线数据传输的方法及系统,可以有效提高I2C传输系统的可靠性。本专利技术提供的技术方案如下:一种I2C总线数据传输的方法,包括:步骤S10:I2C主设备根 ...
【技术保护点】
一种I2C总线数据传输的方法,其特征在于,包括:步骤S10:I2C主设备根据待传输数据生成第一校验码;步骤S20:I2C主设备发送所述待传输数据以及对应的第一校验码;步骤S30:I2C从设备接收所述待传输数据以及对应的第一校验码并进行缓存;步骤S40:I2C主设备读取I2C从设备的待读取数据以及第一校验码;步骤S50:I2C主设备根据读取的所述待读取数据生成第二校验码;步骤S60:比对所述第一校验码和所述第二校验码是否一致;步骤S70:当校验码一致时,发送所述待读取数据正确的提醒信息;步骤S80:当校验码不一致时,发送所述待所述待读取数据错误的提醒信息。
【技术特征摘要】
1.一种I2C总线数据传输的方法,其特征在于,包括:
步骤S10:I2C主设备根据待传输数据生成第一校验码;
步骤S20:I2C主设备发送所述待传输数据以及对应的第一校验码;
步骤S30:I2C从设备接收所述待传输数据以及对应的第一校验码并进
行缓存;
步骤S40:I2C主设备读取I2C从设备的待读取数据以及第一校验码;
步骤S50:I2C主设备根据读取的所述待读取数据生成第二校验码;
步骤S60:比对所述第一校验码和所述第二校验码是否一致;
步骤S70:当校验码一致时,发送所述待读取数据正确的提醒信息;
步骤S80:当校验码不一致时,发送所述待所述待读取数据错误的提醒
信息。
2.如权利要求1所述的一种I2C总线数据传输的方法,其特征在于:
在步骤S10中,所述“生成第一校验码”包括:1个字节的所述待传输
数据生成对应的1位校验码,且所述待传输数据以8字节的数据为单
位生成1个字节的校验码。
3.如权利要求1所述的一种I2C总线数据传输的方法,其特征在于:
在步骤S50中,所述“生成第二校验码”包括:1个字节的所述待读取
数据生成对应的1位校验码,且所述待读取数据以8字节的数据为单
位生成1个字节的校验码。
4.如权利要求1所述的一种I2C总线数据传输的方法,其特征在于:
在步骤S20中,I2C主设备的发送格式包括8个字节的所述待传输数据,
和1个字节的所述待传输数据生成的第一校验码,即在一次数据发送
程中发送8个字节的数据和1个字节第一校验码;
在步骤S40中,I2C主设备读取格式包括8个字节的所述待读取数据,
\t和1个字节的所述待传输数据生成的第一校验码,即在一次数据读取
过程中读取8个字节的数据和1个字节第一校验码。
5.如权利要求1-4任一所述的一种I2C总线数据传输的方法,其特征在于:
在所述I2C从设备中设置数据区和校验码区,所述数据区用于缓存待传
输数据,所述校验码区用于待传输数据的第一校验码。
6.一种I2C总线数据传输的系统,其特征在于,包括:
I2C主设备和I2C从设备,所述I2C主设备包括第一校验码生成模块、数
据发送模块、数据读取模块、第二校验码生成模块、判断模块、信息
提醒模块;所述I2C从设备包括数据缓存模块;
所述第一校验码生成模块...
【专利技术属性】
技术研发人员:王振,
申请(专利权)人:上海斐讯数据通信技术有限公司,
类型:发明
国别省市:上海;31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。