[go: up one dir, main page]

CN116991649A - 数据通信校验方法、系统、设备及计算机可读存储介质 - Google Patents

数据通信校验方法、系统、设备及计算机可读存储介质 Download PDF

Info

Publication number
CN116991649A
CN116991649A CN202310927333.8A CN202310927333A CN116991649A CN 116991649 A CN116991649 A CN 116991649A CN 202310927333 A CN202310927333 A CN 202310927333A CN 116991649 A CN116991649 A CN 116991649A
Authority
CN
China
Prior art keywords
communication
verification
data
result
check
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310927333.8A
Other languages
English (en)
Inventor
张良华
陈定文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Xingweifan Electronic Technology Co ltd
Original Assignee
Shenzhen Xingweifan Electronic Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Xingweifan Electronic Technology Co ltd filed Critical Shenzhen Xingweifan Electronic Technology Co ltd
Priority to CN202310927333.8A priority Critical patent/CN116991649A/zh
Publication of CN116991649A publication Critical patent/CN116991649A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/221Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test buses, lines or interfaces, e.g. stuck-at or open line faults
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0016Inter-integrated circuit (I2C)

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

本申请公开了一种数据通信校验方法、系统、设备及计算机可读存储介质,涉及芯片通信技术领域,所述数据通信校验方法包括:基于主机发送的开始信号依次接收通信数据,并根据所述通信数据和预设的校验方式更新通信校验结果;若接收到所述主机发送的所述通信数据为结束信号,则将所述通信校验结果作为目标校验结果;获取所述通信数据对应的校验结果集,基于所述校验结果集和所述目标校验结果进行数据通信校验。本申请提高了数据通信校验的可靠性。

Description

数据通信校验方法、系统、设备及计算机可读存储介质
技术领域
本申请涉及芯片通信技术领域,尤其涉及一种数据通信校验方法、系统、设备及计算机可读存储介质。
背景技术
随着芯片的发展,用户对于芯片的通信要求也越来越高,在希望满足芯片正常数据通信的同时进一步提高芯片通信的可靠性,这也对芯片通信提出了更高的要求。
传统的芯片数据通信方式,如实时时钟芯片的数据通信校验方式是通过直接通过IIC(Inter Integrated Circuit,集成电路总线)实现针对指定地址的寄存器读写操作,进而实现与指定地址的寄存器的通信。这种数据通信方式存在很大的缺陷,存在IIC通信未对数据进行校验的问题。即,这种数据通信方式会由于IIC通信未对数据进行校验,进而造成数据通信的可靠性不高。
发明内容
本申请的主要目的在于提供一种数据通信校验方法、系统、设备和存储介质,旨在解决数据通信的可靠性不高的技术问题。
为实现上述目的,本申请提供一种数据通信校验方法,所述数据通信校验方法的步骤包括:
基于主机发送的开始信号依次接收通信数据,并根据所述通信数据和预设的校验方式更新通信校验结果;
若接收到所述主机发送的所述通信数据为结束信号,则将所述通信校验结果作为目标校验结果;
获取所述通信数据对应的校验结果集,基于所述校验结果集和所述目标校验结果进行数据通信校验。
可选地,预设的所述校验方式包括异或校验,所述基于主机发送的开始信号依次接收通信数据的步骤,包括:
基于主机发送的开始信号触发复位指令,并在执行所述复位指令之后依次接收通信数据;
所述根据所述通信数据和预设的校验方式更新通信校验结果的步骤,包括:
确定执行所述复位指令之后的通信校验结果,并将所述通信数据和所述通信校验结果进行所述异或校验得到当前校验结果;
基于所述当前校验结果更新所述通信校验结果。
可选地,预设的所述校验方式还包括循环冗余校验、纵向冗余校验和校验和,所述根据所述通信数据和预设的校验方式更新通信校验结果的步骤,包括:
若预设的校验方式为所述循环冗余校验,则将所述通信数据进行所述循环冗余校验得到循环冗余校验结果,并基于所述循环冗余校验结果更新通信校验结果;
若预设的校验方式为所述纵向冗余校验,则将所述通信数据进行所述纵向冗余校验得到纵向冗余校验结果,并基于所述纵向冗余校验结果更新通信校验结果;
若预设的校验方式为所述校验和,则将所述通信数据进行所述校验和得到校验和结果,并基于所述校验和结果更新通信校验结果。
可选地,所述通信数据包括待校验数据和结束信号,所述根据所述通信数据和预设的校验方式更新通信校验结果的步骤之后,包括:
检测所述通信数据是否为待校验数据;
若所述通信数据为待校验数据,则执行所述根据所述通信数据和预设的校验方式更新通信校验结果的步骤。
可选地,所述基于所述校验结果集和所述目标校验结果进行数据通信校验的步骤,包括:
确定所述目标校验结果对应的目标校验方式,并在所述校验结果集中确定所述目标校验方式对应的理论校验结果;
若所述理论校验结果与所述目标校验结果相同,则确定数据通信校验合格;
若所述理论校验结果与所述目标校验结果不同,则确定数据通信校验不合格。
此外,为实现上述目的,本发明还提供一种数据通信校验系统,所述数据通信校验系统包括数据通信校验控制器;
所述数据通信校验控制器与主机连接;
其中,所述数据通信校验控制器用于基于主机发送的开始信号依次接收通信数据,并根据所述通信数据和预设的校验方式更新通信校验结果;若接收到所述主机发送的所述通信数据为结束信号,则将所述通信校验结果作为目标校验结果;获取所述通信数据对应的校验结果集,基于所述校验结果集和所述目标校验结果进行数据通信校验。
可选地,在预设的所述校验方式为异或校验时,所述数据通信校验控制器包括判断器、触发器、异或器和锁存器,所述触发器的第一输入端与字节时钟连接,所述字节时钟为与接收字节同步的时钟,所述触发器的第二输入端与所述异或器的输出端连接,所述触发器的输出端分别与所述异或器的第二输入端和所述锁存器的第一输入端连接,所述主机分别与所述触发器的复位输入端、所述异或器的第一输入端和所述锁存器的第二输入端连接,所述锁存器的输出端与所述判断器连接。
可选地,在预设的所述校验方式为循环冗余校验时,所述数据通信校验控制器包括判断器、触发器、循环冗余校验器和锁存器;在预设的所述校验方式为纵向冗余校验时,所述数据通信校验控制器包括判断器、触发器、纵向冗余校验器和锁存器;在预设的所述校验方式为校验和时,所述数据通信校验控制器包括判断器、触发器、校验和校验器和锁存器。
本申请还提供一种数据通信校验设备,所述数据通信校验设备包括:存储器、处理器,所述存储器上存储有可在所述处理器上运行的所述数据通信校验方法的程序,所述数据通信校验方法的程序被处理器执行时可实现如上述的数据通信校验方法的步骤。
本申请还提供一种计算机可读存储介质所述计算机可读存储介质上存储有实现数据通信校验方法的程序,所述实现数据通信校验方法的程序被处理器执行以实现如上述数据通信校验方法的步骤。
本申请的技术方案提供了一种数据通信校验方法通过基于主机发送的开始信号依次接收通信数据,并根据所述通信数据和预设的校验方式更新通信校验结果;若接收到所述主机发送的所述通信数据为结束信号,则将所述通信校验结果作为目标校验结果;获取所述通信数据对应的校验结果集,基于所述校验结果集和所述目标校验结果进行数据通信校验。基于开始信号开始校验,通过根据通信数据和预设的校验方式更新通信校验结果,并在结束信号之后停止校验并输出目标校验结果与校验结果集进行比较输出,进而可以避免IIC通信未对数据进行校验的现象,本申请的数据通信校验方法可以基于开始信号和结束信号进行开始和结束控制,进而可以保证校验数据有效性,而且还根据通信数据和预设的校验方式更新通信校验结果进而可以保证数据通信的可靠性。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例方案涉及的硬件运行环境的数据通信校验设备结构示意图;
图2为本申请数据通信校验方法的流程示意图;
图3为本申请数据通信校验方法的一流程图;
图4为本申请数据通信校验系统模块示意图;
图5为本申请数据通信校验系统的一异或校验示意图;
图6为本申请数据通信校验系统的又一异或校验示意图;
图7为IIC写操作示意图;
图8为IIC读操作示意图;
图9为SPI通信示意图。
附图标号说明:
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的数据通信校验设备结构示意图。
如图1所示,该数据通信校验设备可以包括:处理器0003,例如中央处理器(Central Processing Unit,CPU),通信总线0001、获取接口0002,处理接口0004,存储器0005。其中,通信总线0001用于实现这些组件之间的连接通信。获取接口0002可以包括信息采集系统、获取单元比如计算机,可选获取接口0002还可以包括标准的有线接口、无线接口。处理接口0004可选的可以包括标准的有线接口、无线接口。存储器0005可以是高速的随机存取存储器(Random Access Memory,RAM)存储器,也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器0005可选的还可以是独立于前述处理器0003的存储系统。
本领域技术人员可以理解,图1中示出的结构并不构成对数据通信校验设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种存储介质的存储器0005中可以包括操作系统、获取接口模块、执行接口模块以及数据通信校验程序。
在图1所示的数据通信校验设备中,通信总线0001主要用于实现组件之间的连接通信;获取接口0002主要用于连接后台服务器,与后台服务器进行数据通信校验;处理接口0004主要用于连接部署端(用户端),与部署端进行数据通信校验;本发明数据通信校验设备中的处理器0003、存储器0005可以设置在数据通信校验设备中,所述数据通信校验设备通过处理器0003调用存储器0005中存储的数据通信校验程序,并执行本发明实施例提供的数据通信校验方法。示例性的,处理器0003为车灯控制器。
为了下述各实施例的描述清楚简洁,首先给出一种数据通信校验方法的实现的简要介绍:
在各种通讯协议中,通讯校验有着广泛的应用,也是保障通讯可靠性的必须的方式,这类校验可以用在应用层自定义,因此可以灵活使用。但是在IIC通讯中,由于其协议是底层协议,通讯校验极少应用,主要因为IIC通讯都是针对指定地址的寄存器读写操作,因此通讯校验很难应用。IIC是一种应用广泛的串行通信协议,它允许多个设备在同一总线上运行,IIC通讯协议由飞利浦(Philips)公司在上世纪80年代提出,广泛应用于各种数字系统,包括电子设备、微控制器、传感器、存储器等。而在实际的应用中,由于电磁干扰、线路不稳定性等因素的影响,IIC通信可能会出现传输错误。这些错误可能导致数据丢失、数据损坏或消息错误,从而影响整个系统的性能和稳定性。因此,对于IIC通信,确保数据的准确性和完整性至关重要。
本申请通过针对IIC通信进行校验的方法,以提高通信的可靠性和稳定性,并减少传输错误所带来的潜在问题。进而可以有效地减少数据传输错误,提高系统的性能和可靠性,从而满足当前数字系统对高质量通信的需求。
本申请通过一种数据通信校验方法通过基于主机发送的开始信号依次接收通信数据,并根据所述通信数据和预设的校验方式更新通信校验结果;若接收到所述主机发送的所述通信数据为结束信号,则将所述通信校验结果作为目标校验结果;获取所述通信数据对应的校验结果集,基于所述校验结果集和所述目标校验结果进行数据通信校验。基于开始信号开始校验,通过根据通信数据和预设的校验方式更新通信校验结果,并在结束信号之后停止校验并输出目标校验结果与校验结果集进行比较输出,进而可以避免IIC通信未对数据进行校验的现象,本申请的数据通信校验方法可以基于开始信号和结束信号进行开始和结束控制,进而可以保证校验数据有效性,而且还根据通信数据和预设的校验方式更新通信校验结果进而可以保证数据通信的可靠性。
基于上述硬件结构,提出本发明数据通信校验方法实施例。
本发明实施例提供了一种数据通信校验方法,参照图2,图2为本发明一种数据通信校验方法的流程示意图,所述数据通信校验方法的步骤包括:
步骤S10,基于主机发送的开始信号依次接收通信数据,并根据所述通信数据和预设的校验方式更新通信校验结果;
示例性的,IIC通信协议采用了两根线路,即SCL(Serial Data Line,串行时钟线)和SDA(Serial Clock Line,串行数据线)。其中,SDA线用于数据传输,而SCL线则用于同步数据传输的时钟信号,IIC分为读操作和写操作,以兴威帆实时时钟芯片SD3078为例,参照图7,图7为IIC写操作示意图。以图中的标号及位置进行说明:(1)主机产生一个start信号;(2)主机发送器件地址+写操作;(3)从机回应ACK信号;(4)主机发送寄存器地址;(5)从机回应ACK信号;(6)主机发送写入的数据;(7)从机回应ACK;(8)重复写入数据;(9)写入完成后,发送stop信号。进一步的,参照图8,图8为IIC写操作示意图。以图中的标号及位置进行说明:(1)主机产生一个start信号;(2)主机发送器件地址+写操作;(3)从机回应ACK信号;(4)主机发送寄存器地址;(5)从机回应ACK信号;(6)主机产生restart信号;(7)主机发送器件地址+读操作;(8)从机回应ACK信号;(9)从机发送数据;(10)主机回应ACK;(11)从机发送数据;(12)当最后一个字节读取完成,主机回应NACK;(13)主机发送stop信号。基于以上IIC读写操作示意图可知,实际IIC通信由于协议是底层协议,通讯校验极少应用进而出现实际IIC通信可靠性不高的问题。
示例性的,数据通信校验方法还可以适用于SPI(Serial Peripheral Interface,串行外设接口)通信,SPI是一种高速的,全双工,同步的通信总线,它以主从方式工作,这种模式通常有一个主设备和一个或多个从设备,分为3线和4线SPI:它们是MISO(主设备数据输入)、MOSI(主设备数据输出)、SCLK(时钟)、CS(片选),其中,三线SPI MISO和MOSI共用一根线。参照图9,图9为SPI通信示意图,CS片选信号高电平有效,即CS片选信号高电平数据进行通信有效,开始信号和结束信号分别在CS片选信号的上升沿和下降沿产生,进而可以在在开始信号和结束信号之间的通信数据进行校验,保证SPI通信的可靠性。
在本实施例中,通过在IIC通信中基于主机发送的开始信号依次接收通信数据,进而可以针对性处理协议是底层协议的IIC通信方式,开始信号是IIC通信中读写操作开始的信号,即上述的(1)主机产生一个start信号。进而基于接收到开始信号之后接收通信数据进行校验得到校验结果,通信数据包括各种地址值、写入/读出的数据,进而可以基于各种地址值、写入/读出的数据进行校验得到通信校验结果,通信校验结果是指针对开始信号至结束信号之间全部的通信数据对应的校验结果,每个基于前一通信数据校验结果与后一通信数据进行校验得到更新之后的校验结果,最终得到所有出结束信号之后的通信数据的校验结果。预设的校验方式可以为异或检验等校验方式,进而可以基于对通信数据进行校验提高了数据通信的可靠性。
步骤S20,若接收到所述主机发送的所述通信数据为结束信号,则将所述通信校验结果作为目标校验结果;
在本实施例中,当对通信数据进行校验时,通过确定通信数据不为结束信号,则持续执行根据所述通信数据和预设的校验方式更新通信校验结果的步骤;当通信数据为结束信号,就会将通信校验结果作为目标校验结果,即不继续进行更新直接输出检验结果,其中,结束信号是IIC通信中读写操作结束的信号,即上述的发送stop信号。如开始信号与结束信号之间的通信数据为A,B,C,以校验方式为异或校验进行说明,通过先在接收到开始信号之后接收通信数据A,并确定通信数据A与原始信号进行异或得到通信校验结果A1,原始信号可以为0或者1或者其他值(当为1bit是为0或1,当为8bit时可以为0或1或者256等)。当继续接收到通信数据B之后,就会基于通信数据B和通信校验结果A1更新通信校验结果得到更新之后的通信校验结果B1。当继续接收到通信数据C之后,就会基于通信数据C和通信校验结果B1更新通信校验结果得到更新之后的通信校验结果C1,此时就会接收到结束信号,就会将通信校验结果C1作为目标校验结果进行输出。通过校验方式对IIC通信进行校验,进而提高了数据通信的可靠性,同时针对性对IIC通信以开始信号与结束信号作为校验控制条件,进而可以保证数据通信的准确性和在使用IIC通信的针对性校验处理。
步骤S30,获取所述通信数据对应的校验结果集,基于所述校验结果集和所述目标校验结果进行数据通信校验。
在本实施例中,当确定目标校验结果之后,就会获取通信数据对应的校验结果集,进而基于校验结果集和目标校验结果进行数据通信校验。其中,校验结果集是指发送或接收的通信数据的校验值。也可以提前判断校验方式,进而确定校验方式对应的匹配校验结果,进而对匹配校验结果和目标校验结果进行匹配就可以得到数据通信校验的结果。如使用的是异或校验方式,而确定某一段通信数据的校验结果应该为M,而实际经由以上处理之后的校验结果为N,则可以确定此次校验不通过,即IIC读/写数据错误,进而可以及时进行处理,如重读/写,进而可以保证IIC通信的可靠性。当校验方式为异或校验时,通过异或校验对IIC通讯进行校验,使用start信号(开始信号)作为校验开始,stop信号(结束信号)作为校验结束信号对校验结果进行保存,可以对一次通讯数据进行校验,保证通讯的可靠性;同时校验值的有效范围为:start-stop信号之间总线上的数据,包括器件地址、寄存器地址,数据。进而可以针对性对IIC通信的数据进行校验,保证了IIC通信的可靠性。
进一步,本实施例还提供了一种数据通信校验方法的一流程图,参照图3,在本实施例中,整个校验以是否接收到开始信号为依据,当未接收到开始信号时,则继续进行检测是否接收到开始信号;当接收到开始信号之后,就会开始接收通信数据,通信数据可以包括读出或写入的寄存器地址以及读出或写入的数据等,进而基于每次读出或者写入的通信数据进行校验得到校验结果,校验可以是异或,检验和等方式。每次校验之后的结果作为下一次校验的初值进行下一通信数据的校验。一直到检测到接收到结束信号之后,就会输出最终的校验结果,其中最终的校验结果是指每个通信数据进行依次校验之后得到的最终结果,最终可以将最终的校验结果与理论结果进行比较。相同则表示读出或写入数据准确无误,反之不同则表示读出或者写入数据存在误差,进而将开始信号到结束信号之间的通信数据重新读出或者写入,进而通过对IIC通信的校验,可以保证IIC数据通信的可靠性。
本实施例的数据通信校验方法通过基于主机发送的开始信号依次接收通信数据,并根据所述通信数据和预设的校验方式更新通信校验结果;若接收到所述主机发送的所述通信数据为结束信号,则将所述通信校验结果作为目标校验结果;获取所述通信数据对应的校验结果集,基于所述校验结果集和所述目标校验结果进行数据通信校验。基于开始信号开始校验,通过根据通信数据和预设的校验方式更新通信校验结果,并在结束信号之后停止校验并输出目标校验结果与校验结果集进行比较输出,进而可以避免IIC通信未对数据进行校验的现象,本申请的数据通信校验方法可以基于开始信号和结束信号进行开始和结束控制,进而可以保证校验数据有效性,而且还根据通信数据和预设的校验方式更新通信校验结果进而可以保证数据通信的可靠性。
进一步地,基于本发明数据通信校验方法第一实施例,提出本发明数据通信校验方法第二实施例,预设的所述校验方式包括异或校验,所述基于主机发送的开始信号依次接收通信数据的步骤,包括:
步骤S11,基于主机发送的开始信号触发复位指令,并在执行所述复位指令之后依次接收通信数据。
在本实施例中,当预设的校验方式为异或校验时,因为异或校验存在初始值的设定,就会在基于主机发送的开始信号触发复位指令,进而在执行复位指令之后依次接收通信数据。复位指令是指复位异或的初始值的指令,因为异或校验需要有初始值的设定,进而就会在每次接收到开始信号之后对初始值进行复位,进而可以保证后续校验值确定的准确性。而对于其他的校验方式可以存在其他设定,进而可以根据校验方式的不同在主机发送的开始信号之后触发不同的处理信号对校验的初始值进行处理。进而通过复位指令对异或校验的初始值进行处理,可以保证后续校验的准确性。
进一步的,所述根据所述通信数据和预设的校验方式更新通信校验结果的步骤,包括:
步骤S22,确定执行所述复位指令之后的通信校验结果,并将所述通信数据和所述通信校验结果进行所述异或校验得到当前校验结果;
步骤S23,基于所述当前校验结果更新所述通信校验结果。
在本实施例中,在预设的校验方式为异或校验时,通过确定执行复位指令之后的通信校验结果,进而将通信数据和通信校验结果进行异或校验得到当前校验结果,也就是将通信数据和通信校验结果进行异或得到当前校验结果,当前校验结果是指通信数据和通信校验结果进行异或得到的数据。如通信数据为01H,而通信校验结果为00H,则01H和00H异或的当前校验结果为01H,进而将当前校验结果更新为通信校验结果,也就是此时通信校验结果不在为00H,而是为当前校验结果01H。也就是说通过不断更新通信校验结果,进而在最终得到的通信校验结果为整个开始信号至结束信号之间全部通信数据的异或结果,保证了整个数据校验的唯一性,进而可以针对性对IIC通信的可靠性的保障。
进一步地,基于本发明数据通信校验方法第一实施例和/或第二实施例,提出本发明数据通信校验方法第三实施例,预设的所述校验方式还包括循环冗余校验、纵向冗余校验和校验和,所述根据所述通信数据和预设的校验方式更新通信校验结果的步骤,包括:
步骤S24,若预设的校验方式为所述循环冗余校验,则将所述通信数据进行所述循环冗余校验得到循环冗余校验结果,并基于所述循环冗余校验结果更新通信校验结果;
步骤S25,若预设的校验方式为所述纵向冗余校验,则将所述通信数据进行所述纵向冗余校验得到纵向冗余校验结果,并基于所述纵向冗余校验结果更新通信校验结果;
步骤S26,若预设的校验方式为所述校验和,则将所述通信数据进行所述校验和得到校验和结果,并基于所述校验和结果更新通信校验结果。
在本实施例中,预设的所述校验方式还可以为循环冗余校验、纵向冗余校验和校验和。当预设的校验方式为循环冗余校验时,则基于通信数据进行循环冗余校验得到循环冗余校验结果,并基于循环冗余校验结果更新通信校验结果。其中,循环冗余校验结果是指进行循环冗余校验之后得到的结果,如通信数据05H与初始的通信数据00H进行循环冗余校验之后得到循环冗余校验结果为06H,则会将06H作为通信校验结果,进而基于通信校验结果与通信数据05H之后的通信数据进行循环冗余校验得到新的循环冗余校验结果,并基于循环冗余校验结果更新通信校验结果进而进行下一次循环冗余校验,最终直到接收到结束信号之后输出最近一次更新的通信校验结果,即得到最终需要的校验结果。当预设的校验方式为纵向冗余校验时,则基于通信数据进行纵向冗余校验得到纵向冗余校验结果,并基于纵向冗余校验结果更新通信校验结果。其中,纵向冗余校验结果是指进行纵向冗余校验之后得到的结果,如通信数据05H与初始的通信数据00H进行纵向冗余校验之后得到纵向冗余校验结果为07H,则会将07H作为通信校验结果,进而基于通信校验结果与通信数据05H之后的通信数据进行纵向冗余校验得到新的纵向冗余校验结果,并基于纵向冗余校验结果更新通信校验结果进而进行下一次纵向冗余校验,最终直到接收到结束信号之后输出最近一次更新的通信校验结果,即得到最终需要的校验结果。当预设的校验方式为校验和时,则基于通信数据确定校验和得到校验和结果,并基于校验和结果更新通信校验结果。其中,校验和结果是指进行校验和校验之后得到的结果,如通信数据05H与初始的通信数据00H进行校验和校验之后得到校验和结果为05H,则会将05H作为通信校验结果,进而基于通信校验结果与通信数据05H之后的通信数据进行校验和校验得到新的校验和结果,并基于校验和结果更新通信校验结果进而进行下一次校验和校验,最终直到接收到结束信号之后输出最近一次更新的通信校验结果,即得到最终需要的校验结果。此处也可以使用其他不同的校验方式进行校验,在此不予限定,通过以上校验方式进而可以保证IIC通信数据传输的准确性,进而提高了数据通信的可靠性。
进一步地,基于本发明数据通信校验方法第一实施例、第二实施例和/或第三实施例,提出本发明数据通信校验方法第四实施例,所述通信数据包括待校验数据和结束信号,所述根据所述通信数据和预设的校验方式更新通信校验结果的步骤之后,包括:
步骤a,检测所述通信数据是否为待校验数据;
步骤b,若所述通信数据为待校验数据,则执行所述根据所述通信数据和预设的校验方式更新通信校验结果的步骤。
在本实施例中,在根据所述通信数据和预设的校验方式更新通信校验结果之后,会对通信数据进行判断,通过判断通信数据是否为结束信号或者待校验数据。当通信数据为结束信号时,则执行将所述通信校验结果作为目标校验结果的步骤;当通信数据不为结束信号时,即为待校验数据,则执行所述根据所述通信数据和预设的校验方式更新通信校验结果的步骤,进而可以保证对整个开始信号至结束信号之间全部通信数据进行校验,保证了校验值的唯一性,进而可以提高IIC通信的可靠性。
进一步的,基于所述校验结果集和所述目标校验结果进行数据通信校验的步骤,包括:
步骤c,确定所述目标校验结果对应的目标校验方式,并在所述校验结果集中确定所述目标校验方式对应的理论校验结果;
步骤d,若所述理论校验结果与所述目标校验结果相同,则确定数据通信校验合格;
步骤e,若所述理论校验结果与所述目标校验结果不同,则确定数据通信校验不合格。
在本实施例中,在基于开始信号、结束信号及开始信号至结束信号之间的通信数据确定的目标校验结果,就会确定目标校验结果对应的目标校验方式,并在校验结果集中确定目标校验方式对应的理论校验结果。目标校验方式是指对IIC通信进行校验的方式,理论校验结果是指IIC通信开始信号至结束信号之间的通信数据理论的校验结果。如理论校验结果与理论校验结果相同,则可以确定数据通信校验合格,反之,理论校验结果与理论校验结果不同,则确定数据通信校验不合格。如目标校验结果为05H,而目标校验结果对应的目标校验方式为异或校验,而对于此段通信的异或校验的理论校验结果为05H,则可以确定此次写/读数据合格;反之对于此段通信的异或校验的理论校验结果为06H,则可以确定此次写/读数据不合格,进而重新读/写此次的通信数据,进而可以保证针对IIC通信数据的可靠性。
进一步地,基于本发明数据通信校验方法第一实施例、第二实施例、第三实施例和/或第四实施例,提出本发明数据通信校验系统的第一实施例,所述数据通信校验系统包括数据通信校验控制器;
所述数据通信校验控制器与主机连接;
其中,所述数据通信校验控制器用于基于主机发送的开始信号依次接收通信数据,并根据所述通信数据和预设的校验方式更新通信校验结果;若接收到所述主机发送的所述通信数据为结束信号,则将所述通信校验结果作为目标校验结果;获取所述通信数据对应的校验结果集,基于所述校验结果集和所述目标校验结果进行数据通信校验。
在本实施例中,数据通信校验控制器可以为异或检验、校验和校验、循环冗余校验和纵向冗余校验等校验的控制器。进而通过控制确定IIC通信在开始信号至结束信号之间的通信数据的校验值,进而可以保证IIC通信数据校验的准确性。数据通信校验控制器可以与主机连接,并接收需要读/写的通信数据、开始信号及结束信号,也可以读取主机读/写的通信数据对应的理论校验结果,进而可以与理论校验结果进行比较,以确定IIC数据通信的准确性。
进一步的,参照图5,图5为数据通信校验系统的一异或校验示意图,在预设的所述校验方式为异或校验时,所述数据通信校验控制器包括判断器、触发器10、异或器20和锁存器30,所述触发器10的第一输入端与字节时钟CIK连接,所述字节时钟CIK为与接收字节同步的时钟,所述触发器10的第二输入端与所述异或器20的输出端连接,所述触发器10的输出端分别与所述异或器20的第二输入端和所述锁存器30的第一输入端连接,所述主机分别与所述触发器10的复位输入端、所述异或器20的第一输入端和所述锁存器30的第二输入端连接,所述锁存器30的输出端与所述判断器连接。
具体的,在预设的所述校验方式为循环冗余校验时,所述数据通信校验控制器包括判断器、触发器、循环冗余校验器和锁存器;在预设的所述校验方式为纵向冗余校验时,所述数据通信校验控制器包括判断器、触发器、纵向冗余校验器和锁存器;在预设的所述校验方式为校验和时,所述数据通信校验控制器包括判断器、触发器、校验和校验器和锁存器。
在本实施例中,采用异或校验的方式对通讯数据进行校验,校验的数据范围为start-stop信号之间所有的数据(即开始信号至结束信号之间),包括器件地址、寄存器地址,开始信号可以为IIC通信的开始信号或SPI通信允许通行时产生的脉冲信号,结束信号可以为IIC通信的结束信号或SPI通信禁止通行时产生的脉冲信号。通过设计一个专用的8位数据校验结果寄存器存放校验值Q2,此寄存器只读,锁存器30在接收到结束信号之后由触发器10此时的Q1写入。参照图6,图6为数据通信校验系统的又一异或校验示意图,与图5相同,当存在多个bit数据时,则选择图6的同时校验的方式,内部包括了触发器1 11-触发器n 1n、异或器1 21-异或器n 2n和锁存器1 31-锁存器n 3n,进而可以实现同时多个bit数据进行校验。值得说明的是,器件,如循环冗余校验器、纵向冗余校验器、校验和校验器和异或器20与主机的连接方式为通过IIC通讯线进行连接,故传输的数据是经由IIC通讯线进行处理的信号,并非直接与主机的发送的数据进行连接及校验处理,而是对主机发送的数据经由IIC通讯之后进行校验处理。以下以图5进行说明:
触发器10,用于缓存通讯校验数据,字节时钟CIK为接收一个字节完成后产生的时钟,Q1为校验结果缓存,在字节时钟CIK的边沿更新,即每接收到一个数据则触发一次字节时钟CIK,XOR为异或输出;
异或器20:两输入异或门,XL为IIC接收/发送的数据,即开始信号与结束信号之间的通信数据,XOR为触发器输出;
锁存器30:高电平有效,锁存器的数据端为校验缓存值Q1,使能端为IIC stop信号,即结束信号,输出端为最终的校验值Q2。以下以写数据的流程进行说明:
1、收到主机发送的start信号,即开始信号,对触发器10进行复位,此时Q1=0,即最初的通信校验结果为0,可以进行自定义。
2、当接收完成一个字节时,产生一个字节时钟CIK,触发器10的D端的值更新到Q端:Q=D,此时最初的通信校验结果更新。
3、当收到主机发送的stop信号,即结束信号,此时锁存器30锁存有效,把校验缓存值Q1锁存到最终的校验值Q2,最终的校验值Q2即为本次通讯的校验值,用户可以通过IIC对本次通讯的校验值进行读取,进而确定发送的数据的理论的校验值进行对比,如果相等,说明通讯成功。反之则通信不成功,进而继续进行本次段的数据通信,以保证IIC通信的可靠性。
循环冗余校验、纵向冗余校验和校验和与异或校验的原理一样,只是存在电路组成不同的问题。如循环冗余校验时,电路中的异或器被循环冗余校验器替代,如实现循环冗余校验计算的器件。以校验和为例,电路中的异或器被校验和校验替代,如累加器等器件。进而可以基于不同的校验方式实现通信数据校验,保证了IIC通信中数据读写的可靠性。
示例性的,如器件地址为64H,对00-06寄存器写入数据:10H 11H 12H13H 14H 15H16H,那么总线上的数据为:64H 10H 11H 12H 13H 14H 15H16H,若为异或校验,则先确定64H与00H的异或结果为64H,进而确定64H与10H的异或结果为74H,进而最终确定校验结果为73H,与理论校验结果进行对比即可知道通信是否准确,如总线上的数据为:64H 10H 11H12H 13H14H 16H 16H,则最终的校验结果就不会为73H,进而判断IIC通信不准确,进而通过校验可以提高IIC通信的可靠性。
本发明还提供一种数据通信校验系统模块示意图,参照图4,所述数据通信校验系统包括:
校验开始模块A01,用于基于主机发送的开始信号依次接收通信数据,并根据所述通信数据和预设的校验方式更新通信校验结果;
结束判断模块A02,用于若接收到所述主机发送的所述通信数据为结束信号,则将所述通信校验结果作为目标校验结果;
结果判断模块A03,用于获取所述通信数据对应的校验结果集,基于所述校验结果集和所述目标校验结果进行数据通信校验。
可选地,所述校验开始模块A01,还用于:
基于主机发送的开始信号触发复位指令,并在执行所述复位指令之后依次接收通信数据。
可选地,所述校验开始模块A01,还用于:
确定执行所述复位指令之后的通信校验结果,并将所述通信数据和所述通信校验结果进行所述异或校验得到当前校验结果;
基于所述当前校验结果更新所述通信校验结果。
可选地,所述校验开始模块A01,还用于:
若预设的校验方式为所述循环冗余校验,则将所述通信数据进行所述循环冗余校验得到循环冗余校验结果,并基于所述循环冗余校验结果更新通信校验结果;
若预设的校验方式为所述纵向冗余校验,则将所述通信数据进行所述纵向冗余校验得到纵向冗余校验结果,并基于所述纵向冗余校验结果更新通信校验结果;
若预设的校验方式为所述校验和,则将所述通信数据进行所述校验和得到校验和结果,并基于所述校验和结果更新通信校验结果。
可选地,所述校验开始模块A01,还用于:
检测所述通信数据是否为结束信号;
若所述通信数据不为结束信号,则执行所述根据所述通信数据和预设的校验方式更新通信校验结果的步骤。
可选地,所述结果判断模块A03,还用于:
确定所述目标校验结果对应的目标校验方式,并在所述校验结果集中确定所述目标校验方式对应的理论校验结果;
若所述理论校验结果与所述目标校验结果相同,则确定数据通信校验合格;
若所述理论校验结果与所述目标校验结果不同,则确定数据通信校验不合格。
上述各程序模块所执行的方法可参照本发明数据通信校验方法各个实施例,此处不再赘述。
本发明还提供一种数据通信校验设备。
本发明设备包括:存储器、处理器,所述存储器上存储有可在所述处理器上运行的数据通信校验程序,所述数据通信校验程序被处理器执行时实现如上所述的数据通信校验方法的步骤。
本发明还提供一种计算机可读存储介质,计算机可读存储介质为计算机可读存储介质,本发明存储介质上存储有数据通信校验程序,所述数据通信校验程序被处理器执行时实现如上所述的数据通信校验方法的步骤。
其中,在所述处理器上运行的数据通信校验程序被执行时所实现的方法可参照本发明数据通信校验方法各个实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种数据通信校验方法,其特征在于,所述数据通信校验方法的步骤包括:
基于主机发送的开始信号依次接收通信数据,并根据所述通信数据和预设的校验方式更新通信校验结果;
若接收到所述主机发送的所述通信数据为结束信号,则将所述通信校验结果作为目标校验结果;
获取所述通信数据对应的校验结果集,基于所述校验结果集和所述目标校验结果进行数据通信校验。
2.如权利要求1所述的数据通信校验方法,其特征在于,预设的所述校验方式包括异或校验,所述基于主机发送的开始信号依次接收通信数据的步骤,包括:
基于主机发送的开始信号触发复位指令,并在执行所述复位指令之后依次接收通信数据;
所述根据所述通信数据和预设的校验方式更新通信校验结果的步骤,包括:
确定执行所述复位指令之后的通信校验结果,并将所述通信数据和所述通信校验结果进行所述异或校验得到当前校验结果;
基于所述当前校验结果更新所述通信校验结果。
3.如权利要求1所述的数据通信校验方法,其特征在于,预设的所述校验方式还包括循环冗余校验、纵向冗余校验和校验和,所述根据所述通信数据和预设的校验方式更新通信校验结果的步骤,包括:
若预设的校验方式为所述循环冗余校验,则将所述通信数据进行所述循环冗余校验得到循环冗余校验结果,并基于所述循环冗余校验结果更新通信校验结果;
若预设的校验方式为所述纵向冗余校验,则将所述通信数据进行所述纵向冗余校验得到纵向冗余校验结果,并基于所述纵向冗余校验结果更新通信校验结果;
若预设的校验方式为所述校验和,则将所述通信数据进行所述校验和得到校验和结果,并基于所述校验和结果更新通信校验结果。
4.如权利要求1所述的数据通信校验方法,其特征在于,所述通信数据包括待校验数据和结束信号,所述根据所述通信数据和预设的校验方式更新通信校验结果的步骤之后,包括:
检测所述通信数据是否为待校验数据;
若所述通信数据为待校验数据,则执行所述根据所述通信数据和预设的校验方式更新通信校验结果的步骤。
5.如权利要求1所述的数据通信校验方法,其特征在于,所述基于所述校验结果集和所述目标校验结果进行数据通信校验的步骤,包括:
确定所述目标校验结果对应的目标校验方式,并在所述校验结果集中确定所述目标校验方式对应的理论校验结果;
若所述理论校验结果与所述目标校验结果相同,则确定数据通信校验合格;
若所述理论校验结果与所述目标校验结果不同,则确定数据通信校验不合格。
6.一种数据通信校验系统,其特征在于,所述数据通信校验系统执行权利要求1-5任一项所述的数据通信校验方法,所述数据通信校验系统包括数据通信校验控制器;
所述数据通信校验控制器与主机连接;
其中,所述数据通信校验控制器用于基于主机发送的开始信号依次接收通信数据,并根据所述通信数据和预设的校验方式更新通信校验结果;若接收到所述主机发送的所述通信数据为结束信号,则将所述通信校验结果作为目标校验结果;获取所述通信数据对应的校验结果集,基于所述校验结果集和所述目标校验结果进行数据通信校验。
7.如权利要求6所述的数据通信校验系统,其特征在于,在预设的所述校验方式为异或校验时,所述数据通信校验控制器包括判断器、触发器、异或器和锁存器,所述触发器的第一输入端与字节时钟连接,所述字节时钟为与接收字节同步的时钟,所述触发器的第二输入端与所述异或器的输出端连接,所述触发器的输出端分别与所述异或器的第二输入端和所述锁存器的第一输入端连接,所述主机分别与所述触发器的复位输入端、所述异或器的第一输入端和所述锁存器的第二输入端连接,所述锁存器的输出端与所述判断器连接。
8.如权利要求7所述的数据通信校验系统,其特征在于,在预设的所述校验方式为循环冗余校验时,所述数据通信校验控制器包括判断器、触发器、循环冗余校验器和锁存器;在预设的所述校验方式为纵向冗余校验时,所述数据通信校验控制器包括判断器、触发器、纵向冗余校验器和锁存器;在预设的所述校验方式为校验和时,所述数据通信校验控制器包括判断器、触发器、校验和校验器和锁存器。
9.一种数据通信校验设备,其特征在于,所述数据通信校验设备包括:存储器、处理器,所述存储器上存储有可在所述处理器上运行的数据通信校验程序,所述数据通信校验程序被所述处理器执行时实现如权利要求1至5中任一项所述数据通信校验方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有实现数据通信校验方法的程序,所述实现数据通信校验方法的程序被处理器执行以实现如权利要求1至5中任一项所述数据通信校验方法的步骤。
CN202310927333.8A 2023-07-26 2023-07-26 数据通信校验方法、系统、设备及计算机可读存储介质 Pending CN116991649A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310927333.8A CN116991649A (zh) 2023-07-26 2023-07-26 数据通信校验方法、系统、设备及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310927333.8A CN116991649A (zh) 2023-07-26 2023-07-26 数据通信校验方法、系统、设备及计算机可读存储介质

Publications (1)

Publication Number Publication Date
CN116991649A true CN116991649A (zh) 2023-11-03

Family

ID=88522594

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310927333.8A Pending CN116991649A (zh) 2023-07-26 2023-07-26 数据通信校验方法、系统、设备及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN116991649A (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0918354A (ja) * 1995-07-04 1997-01-17 Oki Electric Ind Co Ltd 周期冗長検査方式の誤り検出符号生成装置及び誤り検出装置
CN202433889U (zh) * 2011-12-19 2012-09-12 中国航空工业集团公司洛阳电光设备研究所 一种串行通讯数据奇偶校验的装置
CN111555841A (zh) * 2020-04-24 2020-08-18 中国船舶重工集团海装风电股份有限公司 一种通信数据的校验方法、装置、设备及介质
CN112380157A (zh) * 2020-11-26 2021-02-19 北京工业大学 一种带fifo缓存和校验功能的iic总线的通信装置
CN114884609A (zh) * 2020-12-31 2022-08-09 美商新思科技有限公司 数据总线上的带时间戳的帧的基于硬件的循环冗余校验重新计算器
CN115587055A (zh) * 2022-12-12 2023-01-10 奉加微电子(昆山)有限公司 总线的传输方法、系统、设备及存储介质
CN115827307A (zh) * 2021-09-17 2023-03-21 美商新思科技有限公司 基于具有循环冗余校验的校验和校正的以太网硬件的验证

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0918354A (ja) * 1995-07-04 1997-01-17 Oki Electric Ind Co Ltd 周期冗長検査方式の誤り検出符号生成装置及び誤り検出装置
CN202433889U (zh) * 2011-12-19 2012-09-12 中国航空工业集团公司洛阳电光设备研究所 一种串行通讯数据奇偶校验的装置
CN111555841A (zh) * 2020-04-24 2020-08-18 中国船舶重工集团海装风电股份有限公司 一种通信数据的校验方法、装置、设备及介质
CN112380157A (zh) * 2020-11-26 2021-02-19 北京工业大学 一种带fifo缓存和校验功能的iic总线的通信装置
CN114884609A (zh) * 2020-12-31 2022-08-09 美商新思科技有限公司 数据总线上的带时间戳的帧的基于硬件的循环冗余校验重新计算器
CN115827307A (zh) * 2021-09-17 2023-03-21 美商新思科技有限公司 基于具有循环冗余校验的校验和校正的以太网硬件的验证
CN115587055A (zh) * 2022-12-12 2023-01-10 奉加微电子(昆山)有限公司 总线的传输方法、系统、设备及存储介质

Similar Documents

Publication Publication Date Title
JP4901334B2 (ja) メモリコントローラ
US20200034319A1 (en) Master-slave system, command execution method and data access method with use of serial peripheral interface(spi)
US8595428B2 (en) Memory controller functionalities to support data swizzling
US8175012B2 (en) Decoding/encoding method for booting from a NAND flash and system thereof
US7239547B2 (en) Memory device
US20190272252A1 (en) Method of processing deadlock of i2c bus, electronic device and communication system
JP4908083B2 (ja) メモリコントローラ
CN111209343B (zh) 节点数据同步方法、装置、设备以及存储介质
CN108279910A (zh) 程序代码烧写方法、装置、计算机设备和存储介质
CN107861832B (zh) 数据验证方法、装置及可读存储介质
CN111913668B (zh) 一种ip复用下检纠查存储器数据准确性的方法
US20060236204A1 (en) Memory device with serial transmission interface and error correction mehtod for serial transmission interface
CN116991649A (zh) 数据通信校验方法、系统、设备及计算机可读存储介质
US11450398B2 (en) Method of testing slave device of inter-integrated circuit bus
JP6673021B2 (ja) メモリおよび情報処理装置
CN109491951B (zh) 一种配置数据的方法以及计算设备
US8291270B2 (en) Request processing device, request processing system, and access testing method
CN105354107A (zh) NOR Flash的数据传输方法及系统
CN109800565B (zh) 软件升级方法及终端设备
TWI783707B (zh) 供電端裝置、供電系統以及非暫態電腦可讀取媒體
KR100949471B1 (ko) 소프트웨어(s/w) 에러정정코드(ecc)를 이용한낸드 플래시에서의 데이터 입출력 방법 및 그 방법을이용한 임베디드 시스템
CN110008059B (zh) 非易失性存储介质的数据更新方法、装置及存储介质
CN118394281B (zh) 数据读取方法、装置和芯片
CN108762975B (zh) 一种ecc数据存储方法、系统及存储介质
CN118092819B (zh) 数据读取方法、Flash存储器、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination