一种I2C总线数据的传输方法及系统技术方案

技术编号:13378492 阅读:41 留言:0更新日期:2016-07-21 07:31
一种I2C总线数据传输的方法及系统,包括:I2C主设备根据待传输数据生成第一校验码;I2C主设备发送所述待传输数据以及对应的第一校验码;I2C从设备接收所述待传输数据以及对应的第一校验码并进行缓存;I2C主设备读取I2C从设备的待读取数据以及第一校验码;I2C主设备根据读取的所述待读取数据生成第二校验码;比对所述第一校验码和所述第二校验码是否一致;当校验码一致时,发送所述待读取数据正确的提醒信息;当校验码不一致时,发送所述待所述待读取数据错误的提醒信息。

【技术实现步骤摘要】

本专利技术涉及数据通信领域,尤指一种I2C总线数据传输的方法及系统。
技术介绍
I2C总线是一种两线式高速的,全双工,同步的通信串行总线。用于连接微控制器及其外围设备。在标准的I2C总线协议中,物理链路分别是一条串行数据线(SDA)和一条串行时钟线(SCL)。由于其简单、灵活、硬件管脚资源少等优点,在器件与器件之间的通信中有着广泛的应用。I2C总线中的器件被分为主机和从机。主机是初始化总线的数据传输并产生允许传输的时钟信号的器件。此时,任何被寻址的器件都被认为是从机。每个从机均有一个唯一的地址,主机可以通过该地址,配置和管理相应的从机。由于I2C是串行通讯协议,也就是说数据是一位一位传输的。这就是SCL时钟线存在的原因,由SCL提供时钟脉冲,SDA则基于此脉冲完成数据传输。数据输出通过SDA线,数据在时钟上升沿或下降沿时改变,在紧接着的下降沿或上升沿被读取。完成一位数据传输,输入也使用同样原理。这样,在至少8次时钟信号的改变(上沿和下沿为一次),就可以完成8位数据的传输。现有的I2C在系统管理方面的缺点是缺乏流控机制,不知道主器件读取从器件中读到的数据是否正确,数据的传输的可靠性非常低。
技术实现思路
本专利技术的目的是提供一种I2C总线数据传输的方法及系统,可以有效提高I2C传输系统的可靠性。本专利技术提供的技术方案如下:一种I2C总线数据传输的方法,包括:步骤S10:I2C主设备根据待传输数据生成第一校验码;步骤S20:I2C主设备发送所述待传输数据以及对应的第一校验码;步骤S30:I2C从设备接收所述待传输数据以及对应的第一校验码并进行缓存;步骤S40:I2C主设备读取I2C从设备的待读取数据以及第一校验码;步骤S50:I2C主设备根据读取的所述待读取数据生成第二校验码;步骤S60:比对所述第一校验码和所述第二校验码是否一致;步骤S70:当校验码一致时,发送所述待读取数据正确的提醒信息;步骤S80:当校验码不一致时,发送所述待所述待读取数据错误的提醒信息。进一步优选的,在步骤S10中,所述第一校验码的所述生成包括:1个字节的所述待传输数据生成对应的1位校验码,且所述待传输数据以8字节的数据为单位生成1个字节的校验码。进一步优选的,在步骤S50中,所述第二校验码的所述生成包括:1个字节的所述待读取数据生成对应的1位校验码,且所述待读取数据以8字节的数据为单位生成1个字节的校验码。进一步优选的,在步骤S20中,I2C主设备的发送格式包括8个字节的所述待传输数据,和1个字节的所述待传输数据生成的第一校验码,即在一次数据发送程中发送8个字节的数据和1个字节第一校验码;在步骤S40中,I2C主设备读取格式包括8个字节的所述待读取数据,和1个字节的所述待传输数据生成的第一校验码,即在一次数据读取过程中读取8个字节的数据和1个字节第一校验码。进一步优选的,在步骤S30中,所述I2C从设备中设置数据区和校验码区,所述数据区用于缓存待传输数据,所述校验码区用于待传输数据的第一校验码。一种I2C总线数据传输的系统,包括:I2C主设备和I2C从设备,所述I2C主设备进一步包括第一校验码生成模块、数据发送模块、数据读取模块、第二校验码生成模块、判断模块、信息提醒模块;所述I2C从设备进一步包括数据缓存模块;所述第一校验码生成模块,用于I2C主设备根据待传输数据生成的第一校验码;所述数据发送模块,与所述第一校验码生成模块电连接,用于I2C主设备发送所述待传输数据以及对应的第一校验码;所述数据缓存模块,与所述数据发送模块电连接,用于I2C从设备接收所述待传输数据以及对应的第一校验码并进行缓存;所述数据读取模块,与所述数据缓存模块电连接,用于I2C主设备读取I2C从设备的待读取数据以及第一校验码;所述第二校验码生成模块,与所述数据读取模块电连接,用于I2C主设备根据读取的所述待读取数据生成第二校验码;所述判断模块,与所述第二校验码生成模块电连接,用于判断所述第一校验码和所述第二校验码是否一致;所述信息提醒模块,与所述判断模块电连接,用于发送所述待读取数据传送结果。进一步优选的,所述第一校验码生成模块进一步用于在所述第一效验码生成时,根据1个字节的所述待传输数据生成对应的1位校验码,且所述待传输数据以8字节的数据为单位生成1个字节的校验码。进一步优选的,所述第二校验码生成模块进一步用于在所述第二效验码生成时,用于根据1个字节的所述待读取数据生成对应的1位校验码,且所述待读取数据以8字节的数据为单位生成1个字节的校验码。进一步优选的,所述数据发送模块进一步用于在数据发送时,发送8个字节的所述待传输数据,和1个字节的所述待传输数据生成的第一校验码,即在一次数据发送程中发送8个字节的数据和1个字节第一校验码;所述数据读取模块进一步用于在数据读取时,读取8个字节的所述待读取数据,和1个字节的所述待传输数据生成的第一校验码,即在一次数据读取过程中读取8个字节的数据和1个字节第一校验码。进一步优选的,所述数据缓存模块还包括数据缓存子模块和校验码缓存子模块;数据缓存子模块,用于缓存所述数据发送模块发送的待传输的数据;校验码缓存子模块,用于缓存所述数据发送模块根据所述待传输数据生成的第一校验码。通过本专利技术提供一种I2C总线数据传输的方法及系统,能够带来以下至少一种有益效果:1.本专利技术提供了一种校验I2C主器件读到的数据的方法,通过I2C主设备根据待传输数据生成第一校验码与I2C主设备与读取的所述待读取数据生成第二校验码,可以校验I2C主设备读到的数据是否有误,及时有效的提醒专业人检测CPU数据通讯发生异常;2.通过待发送数据的生成的奇偶校验码和读取数据生成到的奇偶校验码进行判断是否一致,当不一致时,发送信息提醒专业人士发送数据有误,专业人员控制CPU根据接收的结果采取下一步动作,避免造成CPU的误动作;增加系统可靠性。附图说明下面将以明确易懂的方式,结合附图说明优选实施方式,对一种I2C总线数据传输的方法及系统的上述特性、技术特征、优点及其实现方式予以进一步说明。图1是本专利技术一种I2C总线数据传输的方法一种流程图;图2是本专利技术是I2C总线发送数据校验码生成的格式图;图3是本专利技术是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

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

1