本发明涉及信息处理,尤其涉及一种数据传输方法、装置、系统及工程机械。
背景技术:
1、目前,基于串行外设接口(serial peripheral interface,spi)的数据传输通常是采用主机(master)和从机(slave)配套使用的模式,并且结合直接存储器存取(directmemory access,dma)通讯模块来实现。在数据的收发过程中,从机端会因为多种原因而存在数据错报或者数据错位等错误传输的问题。
2、为了提高spi数据传输时的可靠性,现有spi总线通讯的数据传输通常是通过对数据进行检测或校验来确认传输的数据是否正确,在检测出数据传输错误的情况下,会对错误数据进行复传或修正,以提高数据传输的可靠性。采用该方式进行数据传输时,若检测出数据频繁传错,则需要频繁复传数据或频繁修正数据,将导致数据传输的可靠性和效率均较低。
技术实现思路
1、本发明提供一种数据传输方法、装置、系统及工程机械,用以解决现有技术中数据传输的可靠性和效率均较低的缺陷,实现提高数据传输的可靠性和效率的目的。
2、本发明提供一种数据传输方法,应用于从机,所述方法包括:
3、在检测到用于表征前一次数据传输完成的预调信号的情况下,调整从机的数据传输状态为第一预设状态,所述第一预设状态为数据传输准确率在大于或等于第一预设准确率时所对应的从机状态;
4、调整寄存器的数据传输状态为第二预设状态,所述寄存器用于转发主机和所述从机的数据,所述第二预设状态为数据传输准确率在大于或等于第二预设准确率时所对应的寄存器状态;
5、接收所述主机发送的控制指令,并基于所述控制指令向所述主机发送第一目标数据和/或接收所述主机发送的第二目标数据,所述控制指令为所述从机在所述第一预设状态且所述寄存器为所述第二预设状态下接收的。
6、根据本发明提供的一种数据传输方法,所述预调信号包括片选信号由低电平转换为高电平的信号。
7、根据本发明提供的一种数据传输方法,所述调整从机的数据传输状态为第一预设状态,包括:
8、调用所述从机中的中断服务函数,执行以下至少一项操作,以调整从机的数据传输状态为第一预设状态:
9、将所述从机中存储的已发送数据和/或已接收数据进行清空;
10、在所述从机中确定待发送数据和/或待接收数据所需要的存储空间;
11、获取向所述主机发送的所述第一目标数据。
12、根据本发明提供的一种数据传输方法,将所述从机中已接收数据进行清空之前,所述方法还包括:
13、对所述已接收数据进行备份。
14、根据本发明提供的一种数据传输方法,所述调整寄存器的数据传输状态为第二预设状态,包括:
15、调用所述从机中的中断服务函数,读取所述寄存器的状态参数值;
16、在所述状态参数值为非第二预设状态对应的参数值的情况下,将所述状态参数值更新为所述第二预设状态对应的参数值。
17、根据本发明提供的一种数据传输方法,所述方法还包括:
18、在所述从机上电时,调整所述从机的数据传输状态为所述第一预设状态,并调整所述寄存器的数据传输状态为所述第二预设状态。
19、根据本发明提供的一种数据传输方法,所述基于所述控制指令向所述主机发送第一目标数据和/或接收所述主机发送的第二目标数据之后,所述方法还包括:
20、存储传输后的所述第一目标数据和/或所述第二目标数据,并对传输后的所述第一目标数据和/或所述第二目标数据进行校验;
21、获取传输后的所述第一目标数据和/或所述第二目标数据的校验结果,所述校验结果包括所述第一目标数据和/或所述第二目标数据校验通过,或,所述第一目标数据和/或所述第二目标数据校验不通过;
22、在所述校验结果包括所述第一目标数据和/或所述第二目标数据校验不通过的情况下,丢弃所述第一目标数据和/或所述第二目标数据。
23、本发明还提供一种数据传输装置,包括:
24、调整模块,用于在检测到用于表征前一次数据传输完成的预调信号的情况下,调整数据传输装置的数据传输状态为第一预设状态,所述第一预设状态为数据传输准确率在大于或等于第一预设准确率时所对应的从机状态;
25、所述调整模块,还用于调整寄存器的数据传输状态为第二预设状态,所述寄存器用于转发主机和所述数据传输装置的数据,所述第二预设状态为数据传输准确率在大于或等于第二预设准确率时所对应的寄存器状态;
26、收发模块,用于接收所述主机发送的控制指令,并基于所述控制指令向所述主机发送第一目标数据和/或接收所述主机发送的第二目标数据,所述控制指令为所述数据传输装置在所述第一预设状态且所述寄存器为所述第二预设状态下接收的。
27、本发明还提供一种数据传输系统,包括主机和从机,所述从机包括寄存器,所述主机和所述从机通信连接;
28、所述从机,用于在检测到用于表征前一次数据传输完成的预调信号的情况下,调整所述从机的数据传输状态为第一预设状态,所述第一预设状态为数据传输准确率在大于或等于第一预设准确率时所对应的从机状态;
29、所述从机,还用于调整所述寄存器的数据传输状态为第二预设状态,所述寄存器用于转发所述主机和所述从机的数据,所述第二预设状态为数据传输准确率在大于或等于第二预设准确率时所对应的寄存器状态;
30、所述主机,用于向所述从机发送控制指令;
31、所述从机,还用于基于所述控制指令向所述主机发送第一目标数据和/或接收所述主机发送的第二目标数据,所述控制指令为所述从机在所述第一预设状态且所述寄存器为所述第二预设状态下接收的。
32、本发明还提供一种工程机械,所述工程机械使用了如上述任一种所述的数据传输方法,或者所述工程机械包括如上述的数据传输装置,或者所述工程机械包括如上述的数据传输系统。
33、本发明还提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述数据传输方法。
34、本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述数据传输方法。
35、本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述数据传输方法。
36、本发明提供一种数据传输方法、装置、系统及工程机械,该方法是在检测到用于表征前一次数据传输完成的预调信号的情况下,调整从机的数据传输状态为第一预设状态,第一预设状态为数据传输准确率在大于或等于第一预设准确率时所对应的从机状态;调整寄存器的数据传输状态为第二预设状态,寄存器用于转发主机和从机的数据,第二预设状态为数据传输准确率在大于或等于第二预设准确率时所对应的寄存器状态;接收主机发送的控制指令,并基于控制指令向主机发送第一目标数据和/或接收主机发送的第二目标数据,控制指令为从机在第一预设状态且寄存器为第二预设状态下接收的。这样,基于预调信号,从机可以主动对其数据传输状态进行调整,实现在下一次数据传输前达到较优的第一预设状态,同时,从机也可以对寄存器的数据传输状态进行调整,使寄存器达到较优的第二预设状态。调整从机和寄存器的数据传输状态,能提前预防数据传输时可能出现的错误传输风险,在从机和寄存器的数据传输状态均调整至较优时,可以提升从机和寄存器的抗干扰能力,有效降低因干扰因素而导致数据错误传输的概率,能提高数据传输的可靠性;同时,因避免了频繁复传数据或频繁修正数据,从而可以提高数据传输的效率。