CN118337552A - 数据传输方法和装置 - Google Patents
数据传输方法和装置 Download PDFInfo
- Publication number
- CN118337552A CN118337552A CN202410379929.3A CN202410379929A CN118337552A CN 118337552 A CN118337552 A CN 118337552A CN 202410379929 A CN202410379929 A CN 202410379929A CN 118337552 A CN118337552 A CN 118337552A
- Authority
- CN
- China
- Prior art keywords
- signal
- slave device
- data
- signal line
- slave
- 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
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 86
- 238000000034 method Methods 0.000 title claims abstract description 78
- 230000006854 communication Effects 0.000 claims abstract description 87
- 238000004891 communication Methods 0.000 claims abstract description 86
- 238000012545 processing Methods 0.000 claims description 28
- 238000005516 engineering process Methods 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 89
- 238000004590 computer program Methods 0.000 description 41
- 230000015654 memory Effects 0.000 description 32
- 238000013461 design Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 10
- 230000004044 response Effects 0.000 description 8
- 230000001360 synchronised effect Effects 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 6
- 230000000630 rising effect Effects 0.000 description 6
- 230000007175 bidirectional communication Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000012790 confirmation Methods 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000008054 signal transmission Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Landscapes
- Small-Scale Networks (AREA)
Abstract
本申请涉及数据通信技术领域,特别是涉及一种数据传输方法和装置。应用于主设备,主设备和从设备之间基于SPI进行通信,且主设备和从设备之间配置有第一信号线和第二信号线;该方法包括:通过第一信号线,向从设备发送第一信号;其中,第一信号用于指示从设备进入数据接收状态;在通过第二信号线接收到从设备反馈的第二信号的情况下,调用SPI接口函数,向从设备发送主设备数据;其中,第二信号用于表征从设备已进入数据接收状态。本申请能够保证SPI进行双方通信时的数据传输可靠性。
Description
技术领域
本申请涉及数据通信技术领域,特别是涉及一种数据传输方法和装置。
背景技术
TBOX(Telematics Box)通常用于车载通信,它集成了多种功能,包括远程车辆诊断、远程控制、信息娱乐服务以及紧急救援等。它由多个处理器组成,以处理不同的通信和数据处理任务。TBOX由微控制器(Microcontroller Unit,MCU)和系统级芯片(SOC,Systemon Chip)共同组成,它们各自承担不同的职责,并通过串行外围接口(Serial PeripheralInterface,SPI)进行通信以交互数据。
SPI是一种高速、全双工、同步的通信总线,它以主从方式工作,即有一个主设备和一个或多个从设备。这种通信方式在微控制器和外围设备之间非常常见,如闪存、数字信号处理器、传感器等。SPI总线的设计使得主设备可以与从设备进行双向通信,同时保持高速和同步性。
然而,上述四线制SPI通信方式存在以下问题:当MCU需要车辆以太网上的信号,若MCU的从设备还没准备好接收数据,则可以导致MCU未能成功接收数据,故亟需改进。
发明内容
基于此,有必要针对上述技术问题,提供一种能够保证SPI进行双方通信时的数据传输可靠性的数据传输方法和装置。
第一方面,本申请提供了一种数据传输方法,应用于主设备,主设备和从设备之间基于SPI进行通信,且主设备和从设备之间配置有第一信号线和第二信号线;该方法包括:
通过第一信号线,向从设备发送第一信号;其中,第一信号用于指示从设备进入数据接收状态;
在通过第二信号线接收到从设备反馈的第二信号的情况下,调用SPI接口函数,向从设备发送主设备数据;其中,第二信号用于表征从设备已进入数据接收状态。
在其中一个实施例中,通过第一信号线,向从设备发送第一信号,包括:
向第一信号线施加主工作电压信号,以使第一信号线产生第一信号,并传输至从设备。
在其中一个实施例中,所在通过第二信号线接收到从设备反馈的第二信号的情况下,方法还包括:
向第一信号线施加主复位电压信号,以使第一信号线进入复位状态。
在其中一个实施例中,所调用SPI接口函数,向从设备发送主设备数据,包括:
获取待发送数据节点和空闲接收数据节点;
根据待发送数据节点,对SPI接口函数中的发送接口进行赋值处理,以及根据空闲接收数据节点,对SPI接口函数中的接收接口进行赋值处理;
执行赋值处理后的SPI接口函数,以向从设备发送待发送数据节点中的主设备数据。
在其中一个实施例中,所方法还包括:
在通过第二信号线接收到从设备发送的从设备请求信号的情况下,调用SPI接口函数,接收从设备发送的从设备数据;其中,从设备请求信号用于表征从设备已进入数据发送状态。
第二方面,本申请提供了一种数据传输方法,应用于从设备,从设备和主设备之间基于SPI进行通信,且主设备和从设备之间配置有第一信号线和第二信号线;方法包括:
在通过第一信号线接收到主设备发送的第一信号的情况下,通过第二信号线向主设备反馈第二信号;
其中,第一信号用于指示从设备进入数据接收状态,第二信号用于表征从设备已进入数据接收状态,且用于触发主设备调用SPI接口函数,向从设备发送主设备数据;
接收主设备发送的主设备数据。
在其中一个实施例中,通过第二信号线向主设备反馈第二信号,包括:
向第二号线施加第一从工作电压信号,以使第二信号线产生第二信号,并传输至主设备。
在其中一个实施例中,在接收主设备发送的主设备数据之后,方法还包括:
向第二信号线施加第一从复位电压信号,以使第二信号线进入复位状态。
在其中一个实施例中,方法还包括:
通过第二信号线,向主设备发送的从设备请求信号;其中,从设备请求信号用于表征从设备已进入数据发送状态;
调用SPI接口函数,向主设备发送的从设备数据。
在其中一个实施例中,通过第二信号线,向主设备发送的从设备请求信号,包括:
向第二号线施加第二从工作电压信号,以使第二信号线产生从设备请求信号,并传输至主设备。
在其中一个实施例中,在调用SPI接口函数,向主设备发送的从设备数据之后,方法还包括:
向第二信号线施加第二从复位电压信号,以使第二信号线进入复位状态。
第三方面,本申请提供了一种数据传输装置,应用于主设备,主设备和从设备之间基于SPI进行通信,且主设备和从设备之间配置有第一信号线和第二信号线;其特征在于,装置包括:
请求模块,用于通过第一信号线,向从设备发送第一信号;其中,第一信号用于指示从设备进入数据接收状态;
发送模块,用于在通过第二信号线接收到从设备反馈的第二信号的情况下,调用SPI接口函数,向从设备发送主设备数据;其中,第二信号用于表征从设备已进入数据接收状态。
第四方面,本申请提供了一种数据传输装置,应用于从设备,从设备和主设备之间基于SPI进行通信,且主设备和从设备之间配置有第一信号线和第二信号线;该装置包括:
反馈模块,用于在通过第一信号线接收到主设备发送的第一信号的情况下,通过第二信号线反馈第二信号;
其中,第一信号用于指示从设备进入数据接收状态,第二信号用于表征从设备已进入数据接收状态,且用于触发主设备调用SPI接口函数,向从设备发送主设备数据;
接收模块,用于接收主设备发送的主设备数据。
第五方面,本申请还提供了一种计算机设备,该计算机设备包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述数据传输方法。
第六方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现数据传输方法。
第七方面,本申请还提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序被处理器执行时实现数据传输方法。
上述数据传输方法和装置,通过在主设备和从设备之间配置第一信号线和第二信号线,在主设备和从设备之间建立了一个双向的通信机制,主设备利用新增的第一信号线向从设备发送第一信号,第一信号用于指示从设备进入数据接收状态,目的是告知从设备主设备即将开始发送数据,并要求从设备进入数据接收状态,从设备生成的第二信号用于表征从设备已进入数据接收状态,当主设备通过第二信号线接收到这个第二信号时,它就可以确信从设备已经处于可以接收数据的状态。此时,主设备会执行下一步操作,即调用SPI接口函数来发起实际的数据传输,通过第一信号线和第二信号线确认从设备的数据接收状态,确保了数据传输的可靠性和效率。通过六线制SPI的设计,在保持SPI基本通信协议不变的基础上,通过增加两根信号线,实现了主从设备之间的异步通信和状态确认。
附图说明
图1为一个实施例中数据传输方法的应用环境图;
图2为一个实施例中数据传输方法的流程示意图;
图3为一个实施例中主设备发送第一信号的流程示意图;
图4为一个实施例中发送主机数据的流程示意图;
图5为一个实施例中发送从机请求信号的流程示意图;
图6为另一个实施例中数据传输方法的流程示意图;
图7为另一个实施例中数据传输方法的流程示意图;
图8为另一个实施例中数据传输方法的流程示意图;
图9为一个实施例中数据传输装置的结构框图;
图10另为一个实施例中数据传输装置的结构框图;
图11为一个实施例中计算机设备的内部结构图;
图12另为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在车载通信中,MCU通常接入车辆的CAN(Controller Area Network,控制器局域网)网络。CAN网络是汽车内部用于连接不同电子控制单元(Electronic Control Unit,ECU)的一种通信协议,它允许ECU之间交换信息,以实现车辆的各种功能。MCU作为SPI的的从设备,意味着它接收并响应来自SOC的数据请求或指令。
在车载通信中,SOC通常接入车辆的以太网网络。以太网在汽车中用于高速、大容量的数据传输,尤其是在需要处理多媒体内容或与其他车载系统(如导航系统、娱乐系统等)进行交互时。SOC作为SPI的的主设备,负责发起与MCU的通信,并可以控制数据的流动。SPI通信:SPI是一种同步串行通信协议,它允许两个设备之间进行全双工通信。在TBOX的构架中,MCU和SOC通过SPI进行通信以交互数据。SPI通信通常是高速的,并且由于它的同步特性,数据传输相对可靠。
可以理解的是,SPI是一种高速、全双工、同步的通信总线,它以主从方式工作,即有一个主设备和一个或多个从设备。这种通信方式在微控制器和外围设备之间非常常见,如闪存、数字信号处理器、传感器等。SPI总线的设计使得主设备可以与从设备进行双向通信,同时保持高速和同步性。四线制SPI是最常见的配置,这四根信号线各自扮演着不同的角色:
(1)SDO(Serial Data Output,串行数据输出):这是主设备的数据输出线,同时也是从设备的数据输入线。主设备通过这条线向从设备发送数据,而从设备则接收这些数据。(2)SDI(Serial Data Input,串行数据输入):这是主设备的数据输入线,也是从设备的数据输出线。从设备通过这条线向主设备发送数据,主设备则接收这些数据。这样,SPI就实现了全双工通信,即主从设备可以同时进行数据的发送和接收。(3)SCLK(Serial Clock,串行时钟):这条线负责提供时钟信号,这个信号由主设备产生。时钟信号的作用是同步主从设备之间的数据传输,确保数据的稳定传输和准确接收。(4)CS(Chip Select,片选):这是从设备的使能信号线,由主设备控制。当主设备需要与某个特定的从设备进行通信时,它会通过这条线发送一个使能信号来激活该从设备。在只有一个从设备的情况下,这条线可以省略。但如果存在多个从设备,CS线就非常重要了,它确保主设备与正确的从设备进行通信。通过这四根信号线,SPI总线实现了高速、稳定且同步的通信,使得主设备与从设备之间可以进行高效的数据交换。
这样的设计允许TBOX同时处理来自不同网络的数据,并通过内部通信实现数据的整合和传输。这种架构既提高了TBOX的通信能力,又确保了数据的准确性和实时性,对于实现车载通信的各种功能至关重要。
然而,上述四线制SPI通信方式存在以下问题:当MCU需要车辆以太网上的信号,那么就需要SOC接收到该信号发送给MCU,如果采用四线SPI,MCU与SOC间没有通知机制,会导致MCU的从设备还没准备好接收数据,SOC作为的主设备直接发起数据传输,导致MCU未能成功接收数据。
如图1所示,本实施例提供了一种数据传输方法,以应用于如图1所示的应用环境中,在图1中MCU和SOC之间在保持原来四线SPI硬件不变的基础上新增两根信号线,以实现SPI的从设备与SPI的主设备数据传输时的双向通知作用。这种设计能够增强SPI通信的灵活性和可靠性,特别是在需要异步数据传输或需要确保数据接收方准备好的场景中。这两根线可以被称为“通知线”,用于在SPI的主设备和SPI的从设备之间传递状态信息和控制信号。当一方准备好发送数据或准备好接收数据时,它可以通过通知线向另一方发送信号。
在一个实施例中,本申请实施例提供的数据传输方法,可以应用于图1中TBOX中的主设备,主设备和从设备之间基于SPI进行通信,且主设备和从设备之间配置有第一信号线和第二信号线,该方法具体包括以下步骤:
S201,通过第一信号线,向从设备发送第一信号。
其中,第一信号用于指示从设备进入数据接收状态。
可以理解的是,主设备利用新增的第一信号线向从设备发送一个特定的第一信号。这个第一信号起到了一个通知或请求的作用,目的是告知从设备主设备即将开始发送数据,并要求从设备进入数据接收状态。这一步骤确保了从设备在数据到达之前能够做好接收准备,从而避免了数据丢失或接收错误的情况,提高了数据传输的可靠性。
可选的,第一信号的具体形式可以是电平变化、脉冲信号或者其他双方约定的信号形式,确保这个信号能够被从设备准确识别和响应。
通过这一步骤,主设备和从设备之间建立了一个明确的通信起始信号,为后续的数据传输提供了可靠的同步机制,通过六线制SPI的设计增强了通信可靠性。
S202,在通过第二信号线接收到从设备反馈的第二信号的情况下,调用SPI接口函数,向从设备发送主设备数据。
其中,第二信号用于表征从设备已进入数据接收状态。
具体的,主设备在发送了第一信号后,会等待从设备的反馈。这一反馈是通过第二信号线传送的第二信号,该信号是从设备发送给主设备的确认信息,用于表明从设备已经准备好并进入了数据接收状态。
进一步的,当主设备通过第二信号线接收到这个第二信号时,它就可以确信从设备已经处于可以接收数据的状态。此时,主设备会执行下一步操作,即调用SPI接口函数来发起实际的数据传输。
可以理解的是,SPI接口函数是主设备用来控制SPI通信的软件接口。通过调用这些函数,主设备可以生成SPI协议所需的时钟信号,并将要发送的主设备数据通过SPI的数据线(Master Output Slave Input,MOSI)(即原有四线制)传输给从设备。上述步骤在于主设备对从设备状态的确认。只有在确认从设备已经准备好接收数据后,主设备才会开始发送数据,从而避免了数据冲突或丢失的情况,体现了六线制SPI设计在提升通信效率和准确性方面的优势。
上述数据传输方法,通过在主设备和从设备之间配置第一信号线和第二信号线,在主设备和从设备之间建立了一个双向的通信机制,主设备利用新增的第一信号线向从设备发送第一信号,第一信号用于指示从设备进入数据接收状态,目的是告知从设备主设备即将开始发送数据,并要求从设备进入数据接收状态,从设备生成的第二信号用于表征从设备已进入数据接收状态,当主设备通过第二信号线接收到这个第二信号时,它就可以确信从设备已经处于可以接收数据的状态。此时,主设备会执行下一步操作,即调用SPI接口函数来发起实际的数据传输,通过第一信号线和第二信号线确认从设备的数据接收状态,确保了数据传输的可靠性和效率。通过六线制SPI的设计,在保持SPI基本通信协议不变的基础上,通过增加两根信号线,实现了主从设备之间的异步通信和状态确认。
在一个实施例中,本实施例提供了一种通过第一信号线,向从设备发送第一信号的可选方式,具体包括:向第一信号线施加主工作电压信号,以使第一信号线产生第一信号,并传输至从设备。
上述方式具体包括以下过程:1)确定主工作电压信号:首先,根据系统的设计和通信协议的要求,确定一个合适的主工作电压信号。这个主工作电压信号应该能够被从设备准确识别,并且不会对系统其他部分造成干扰。2)施加主工作电压信号:主设备通过其控制电路或专门的信号发生装置,向第一信号线施加这个主工作电压信号。这个信号可以是一个恒定的电压值,也可以是一个具有特定波形或频率的电压信号,具体取决于通信协议和从设备的识别能力。3)信号产生与传输:当主工作电压信号施加到第一信号线上时,该信号线会产生相应的电信号,即第一信号。这个第一信号随后沿着信号线传输至从设备。4)从设备接收与识别:从设备在接收到这个第一信号后,会根据其内部的电路设计和通信协议,对这个信号进行解码和识别。一旦识别出这是一个请求进入数据接收状态的第一信号,从设备就会进行相应的准备工作,如初始化数据接收缓冲区、配置相关硬件接口等。
进一步的,在通过第二信号线接收到从设备反馈的第二信号的情况下,方法还包括:向第一信号线施加主复位电压信号,以使第一信号线进入复位状态。
相应的,与上述发送第一信号相对应,接收反馈的第二信号之后,主设备方的数据处理过程可以包括:1)接收第二信号:主设备通过第二信号线接收到从设备发送的第二信号,确认从设备已准备好接收数据。2)准备主复位电压信号:主设备根据通信协议和系统设计要求,准备一个合适的主复位电压信号。这个主复位电压信号的作用是将第一信号线恢复到初始状态或空闲状态,以确保后续通信的准确性和稳定性。3)施加主复位电压信号:主设备通过控制电路或信号发生装置,向第一信号线施加主复位电压信号。这个信号的具体形式可以是一个低电平信号,用于将信号线拉低到一个非激活状态,或者是一个特定的脉冲信号,用于清除信号线上的任何残留信号。4)第一信号线复位:当主复位电压信号施加到第一信号线上时,该信号线将进入复位状态。这意味着信号线上的电平或状态将恢复到默认或初始值,为下一次通信做好准备。5)继续数据传输:在确认第一信号线已复位并处于正确状态后,主设备可以继续调用SPI接口函数,通过SPI数据线向从设备发送数据。
示例性的,SPI的主设备主动发送主设备数据的过程如图3所示:其中GPIO1(第一信号线)、GPIO2(第二信号线)是在四线制SPI基础上新增的两根信号线,按照下述步骤执行:
1、SPI的主设备拉高GPIO1的电平(即向第一信号线施加主工作电压信号),产生上升沿(第一信号);
2、SPI的从设备监测到上升沿(第一信号)后拉高GPI02(产生第二信号);
3、SPI的主设备监测到GPI02上升沿(第二信号),拉低GPIO1(向第一信号线施加主复位电压信号);
4、SPI的主设备调用SPI接口函数,等待主设备数据传输完成。
本实施例中,主设备能够通过简单的电压信号控制,有效地通知从设备进入数据接收状态,从而实现了主从设备之间的异步通信和状态同步。这种方法简单、可靠,且易于实现,适用于各种基于SPI通信的嵌入式系统和智能设备中;通过引入复位这一步骤,有助于确保信号线的正确管理和通信的稳定性。通过及时复位第一信号线,可以避免信号线上的残留信号对后续通信造成干扰,从而提高整个通信系统的可靠性。
如图4所示,在一个实施例中,本实施例提供了一种调用SPI接口函数,向从设备发送主设备数据的可选方式,具体可以包括:
S401,获取待发送数据节点和空闲接收数据节点。
可选的,主设备首先需要确定要发送的数据内容(主设备数据)以及用于接收从设备响应的空闲数据节点。待发送数据节点通常包含了主设备需要发送给从设备的数据信息(主设备数据),这些数据可以是各种格式,如字节、字、数据包等。同时,主设备还需要确定一个空闲的接收数据节点,用于存储从设备返回的状态信息、确认信号或其他响应数据。
S402,根据待发送数据节点,对SPI接口函数中的发送接口进行赋值处理,以及根据空闲接收数据节点,对SPI接口函数中的接收接口进行赋值处理。
具体的,主设备将待发送数据节点的值设置为SPI接口函数中的发送接口参数。这意味着主设备需要将待发送的数据准备好,并按照通信协议的要求,将其赋值给用于发送数据的接口函数中的相应参数。这样,当接口函数被调用时,就能够正确地将数据发送出去。
进一步的,主设备还需要将之前确定的空闲接收数据节点的地址或引用赋值给SPI接口函数中的接收接口参数。这样,当从设备发送响应数据时,接口函数就能够知道将数据存放到哪个内存位置,从而确保主设备能够正确地接收到从设备的反馈。
S403,执行赋值处理后的SPI接口函数,以向从设备发送待发送数据节点中的主设备数据。
可以理解的是,在完成了发送和接收接口的赋值操作后,主设备就可以调用SPI接口函数了,SPI接口函数会负责按照SPI或其他串行通信协议的要求,将主设备数据从发送接口发送出去,并监听接收接口以捕获从设备的响应。这样,主设备就能够成功地将待发送数据节点中的主设备数据发送给从设备,并等待从设备的反馈。
本实施例中,通过上述步骤,主设备能够利用SPI接口函数,实现与从设备之间的双向通信。这不仅提高了通信的效率和可靠性,还使得主设备能够更灵活地处理从设备的响应和状态信息。
在一个实施例中,该方法还包括:在通过第二信号线接收到从设备发送的从设备请求信号的情况下,调用SPI接口函数,接收从设备发送的从设备数据;其中,从设备请求信号用于表征从设备已进入数据发送状态。
可选的,上述过程可以包括:
1)接收从设备请求信号:主设备通过第二信号线持续监听从设备的状态。当接收到从设备发送的请求信号时,主设备会识别该信号为从设备请求发送数据的指示。这个请求信号是从设备主动发送的,用于告知主设备其已准备好发送数据,并请求主设备进入数据接收状态。
2)调用SPI接口函数:一旦确认接收到从设备的请求信号,主设备会调用SPI接口函数,准备接收从设备发送的从设备数据。
3)接收从设备数据:在调用SPI接口函数后,主设备开始接收从设备通过SPI数据线(原有的四线制数据线)发送的数据。从设备数据可以是从设备的状态信息、传感器数据、响应指令等,具体取决于应用场景和系统设计。主设备会将接收到的数据存储在适当的内存位置中,以便后续处理和分析。
示例性的,如图5所示,SPI中的从设备主动发数据时,可以按照下述步骤执行:
1、SPI的从设备拉高GPI02电平,产生上升沿(从设备请求信号);
2、SPI的主设备监测到上升沿(从设备请求信号)后,产生中断,在中断回调函数中调用SPI接口函数,等待从设备数据传输完成;
3、当SPI的从设备将从设备数据传完后,SPI的从设备拉低GPI02电平。
本实施例中,主设备能够不仅向从设备发送数据,还能够接收从设备发送的数据。这种双向通信能力使得主从设备之间能够进行更复杂的交互和操作,提高了整个系统的功能性和响应速度。
示例性的,在一个实施例中,在TBOX中,MCU作为SPI的从设备,SOC作为SPI的主设备。当MCU从CAN总线上接收到整车工作模式信号时,通过六线制SPI发送给SOC,让TBOX中的MCU处理器和SOC处理器同步成相同的工作模式。在该应用场景中,SOC作为SPI的主设备,等待MCU的从设备发起数据交互流程,具体如下图6所示:
1、SOC开始;
2、初始化局部变量txNode(SPI接口函数的发送接口取值)=NULL,初始化局部变量rxNode(SPI接口函数的发送接口取值)=NULL
3、等待GPIO2上升沿(第二信号);
4、txNode=待发送数据节点的指针;
5、rxNode=空闲接收数据节点的指针;
6、调用ql_spi_write_read(SPI接口函数)进行SPI通信(用于发送主设备数据);
7、获取ql_spi_write_read执行结果ret(返回值);
8、若执行结果ret大于0,则调用RPC解析函数处理rxNode,解析处整车工作模式信号;
其中,若执行结果ret小于或等于0,则记录错误信息;
9、释放rxNode、释放txNode;
10、设置GPIO1电平为低(主电压复位信号);
11、记录GPIO1电平、GPIO2电平;
12、SPI通信置为空闲。
如图7所示,本实施例提供了一种数据传输方法,应用于从设备,从设备和主设备之间基于SPI进行通信,且主设备和从设备之间配置有第一信号线和第二信号线;该方法包括:
S601,在通过第一信号线接收到主设备发送的第一信号的情况下,通过第二信号线反馈第二信号。
其中,第一信号用于指示从设备进入数据接收状态,第二信号用于表征从设备已进入数据接收状态,且用于触发主设备调用SPI接口函数,向从设备发送主设备数据。
具体的,上述过程可以具体包括以下过程:
2)接收第一信号:从设备通过第一信号线持续监听来自主设备的信号。当从设备成功接收到主设备发送的第一信号时,它会识别这个信号为指示其进入数据接收状态的命令。
2)解析第一信号:从设备内部会对接收到的第一信号进行解析,确认该信号确实是指示其准备接收数据的命令。
3)准备进入数据接收状态:在从设备确认第一信号的有效性后,它会开始进行必要的准备工作,如初始化数据接收缓冲区、配置相关的硬件接口等,以确保能够准确、无误地接收主设备发送的数据。
4)反馈第二信号:一旦从设备准备好接收数据,它会通过第二信号线向主设备发送第二信号。这个第二信号的作用是告诉主设备,从设备已经准备好并进入了数据接收状态。
5)主设备的响应:主设备在接收到从设备发送的第二信号后,会根据这个信号调用SPI接口函数,开始发送主设备数据。这确保了数据传输的协调性和同步性,避免了数据传输过程中的冲突和错误。
S602,接收主设备发送的主设备数据。
其中,从设备等待并接收主设备发送过来的主设备数据。主设备数据可以包括指令、配置信息或其他需要传输给从设备的数据。
上述数据传输方法,通过在从设备和主设备之间配置第一信号线和第二信号线,在主设备和从设备之间建立了一个双向的通信机制,主设备利用新增的第一信号线向从设备发送第一信号,第一信号用于指示从设备进入数据接收状态,目的是告知从设备主设备即将开始发送数据,并要求从设备进入数据接收状态,从设备生成的第二信号用于表征从设备已进入数据接收状态,当主设备通过第二信号线接收到这个第二信号时,它就可以确信从设备已经处于可以接收数据的状态。此时,主设备会执行下一步操作,即调用SPI接口函数来发起实际的数据传输,通过第一信号线和第二信号线确认从设备的数据接收状态,确保了数据传输的可靠性和效率。通过六线制SPI的设计,在保持SPI基本通信协议不变的基础上,通过增加两根信号线,实现了主从设备之间的异步通信和状态确认。
在一个实施例中,通过第二信号线向主设备反馈第二信号,包括:向第二号线施加第一从工作电压信号,以使第二信号线产生第二信号,并传输至主设备。
具体的,上述过程具体可以包括:
1)向第二信号线施加第一从工作电压信号:从设备会向第二信号线施加一个特定的电压信号,这个电压信号被称为“第一从工作电压信号”。这个电压信号的选择是根据SPI通信协议以及主从设备之间的硬件接口设计来确定的,确保主设备能够准确识别这个信号。
2)第二信号线的信号产生与传输:当第一从工作电压信号施加到第二信号线上时,这条信号线会产生一个对应的电信号,即第二信号。这个第二信号会沿着信号线传输,最终到达主设备。
3)主设备接收并识别第二信号:主设备会时刻监测与其连接的信号线,一旦检测到第二信号线上有电信号的变化(即接收到了第二信号),主设备就会识别这个信号,并理解其含义——从设备已经准备好接收数据。
4)主设备调用SPI接口函数发送数据:在确认从设备已经准备好后,主设备会调用其内部的SPI接口函数,开始按照SPI通信协议,通过相应的信号线向从设备发送数据。
本实施例中,从设备通过改变信号线上的电压信号来与主设备进行通信,实现了数据的接收和发送过程的控制。这种直接通过硬件信号线进行通信的方式,提高了通信的效率和可靠性,减少了CPU的干预,使得数据传输过程更加高效和稳定。
在一个实施例中,在接收主设备发送的主设备数据之后,方法还包括:向第二信号线施加第一从复位电压信号,以使第二信号线进入复位状态。
具体的,在接收主设备发送的主设备数据之后,上述过程具体可以包括:
数据接收完成:从设备成功接收完主设备发送的所有数据(主设备数据),并且数据已经按照预定的方式进行了处理或存储。
向第二信号线施加第一从复位电压信号:在从设备完成数据接收后,它会向第二信号线施加一个特定的电压信号,这个电压信号被称为“第一从复位电压信号”。这个复位电压信号的选择同样是基于SPI通信协议和硬件接口设计,它的作用是使第二信号线恢复到初始状态或默认状态。
第二信号线复位:当第一从复位电压信号施加到第二信号线上时,这条信号线会回到一个预先定义的状态,通常是低电平状态或无信号状态。这样,第二信号线就准备好了进行下一次的通信操作。
准备下一次通信:
第二信号线复位后,从设备就处于了一个准备接收新的信号或进行新的通信操作的状态。此时,如果有新的通信需求,主设备可以再次发送信号给从设备,开始新的数据传输过程。
本实施例中,通过复位第二信号线,可以确保信号线的状态在每次通信结束后都能得到正确的清理和重置,从而避免因为信号线状态残留导致的通信错误或不稳定。通过这种方式,从设备和主设备之间的通信过程变得更加可靠和高效。
在一个实施例中,通过第二信号线,向主设备发送的从设备请求信号;其中,从设备请求信号用于表征从设备已进入数据发送状态;调用SPI接口函数,向主设备发送的从设备数据。
具体的,上述从设备主动发送从设备数据的过程如下:
准备发送数据:从设备完成数据的准备和整理工作,准备向主设备发送数据。
通过第二信号线发送从设备请求信号:为了通知主设备从设备即将发送数据,从设备会通过第二信号线发送一个从设备请求信号。这个请求信号的具体实现可能涉及向第二信号线施加一个特定的电压或电流信号,以产生能够被主设备检测到的电信号。
3)主设备接收并识别从设备请求信号:主设备会监测第二信号线的状态,一旦检测到从设备发送的请求信号,它会理解这是从设备准备发送数据的指示。
4)主设备准备接收数据:接收到从设备的请求信号后,主设备会进入数据接收状态,准备接收从设备发送的数据。
5)从设备调用SPI接口函数发送数据:在从设备发送请求信号并得到主设备的确认后,它会调用SPI接口函数,开始按照SPI通信协议通过相应的信号线向主设备发送数据。
6)主设备接收从设备数据:主设备通过SPI接口接收从设备发送的数据,并进行后续的处理或使用。
本实施例中,从设备通过发送请求信号来主动告知主设备其数据发送的意图,确保了主设备能够及时准备并接收数据。这种通信方式提高了数据传输的效率和可靠性,使得主从设备之间的通信更加灵活和可控。同时,通过调用SPI接口函数进行数据传输,也充分利用了SPI接口的高效性和稳定性,进一步提升了通信的性能。
在一个实施例中,通过第二信号线,向主设备发送的从设备请求信号,包括:向第二号线施加第二从工作电压信号,以使第二信号线产生从设备请求信号,并传输至主设备。
具体的,上述产生从设备请求信号的过程可以为:从设备会向第二信号线施加一个被称为“第二从工作电压信号”的电压。这个电压信号的选择是根据SPI通信协议以及主从设备之间的硬件接口设计来确定的,它能够在第二信号线上产生一个可以被主设备检测到的电信号。
本实施例中,从设备通过向第二信号线施加特定的电压信号来发送请求信号,从而主动告知主设备它即将开始发送数据。这种机制确保了主设备能够及时准备并接收数据,提高了数据传输的效率和可靠性。同时,它也充分利用了SPI接口和信号线的高效性,为数据的传输提供了一个稳定且可控的通信环境。
在一个实施例中,在调用SPI接口函数,向主设备发送的从设备数据之后,方法还包括:向第二信号线施加第二从复位电压信号,以使第二信号线进入复位状态。
可选的,在从设备通过调用SPI接口函数向主设备发送完数据后,为了确保通信的可靠性和稳定性,从设备会执行一个复位操作,将第二信号线恢复到初始状态或默认状态。
可以理解的是,第二信号线复位后,从设备就处于了一个准备接收新的信号或进行新的通信操作的状态。此时,如果有新的通信需求,主设备可以再次发送信号给从设备,开始新的数据传输过程。
示例性的,在一个实施例中,在TBOX中,MCU作为SPI的从设备,SOC作为SPI的主设备。当MCU从CAN总线上接收到整车工作模式信号时,通过六线制SPI发送给SOC,让TBOX中的MCU处理器和SOC处理器同步成相同的工作模式。在该应用场景中,MCU作为的从设备,在接收到整车工作模式信号时,主动发起数据通信流程,具体如下图8所示:
1、MCU开始;
2、有从设备数据发送给SOC;
其中,从设备数据可以为整车工作模式信号;
3、初始化局部变量txNode(SPI接口函数的发送接口取值)=NULL;
4、初始化局部变量rxNode(SPI接口函数的接收接口取值)=NULL;
5、等待SPI通信空闲;
6、初始化:txNode==NULL&&rxNode==NULL;
7、赋值:txNode=待发送数据节点的指针,rxNode=空闲接收地址数据节点的指针;
8、挂载txNode、rxNode到DMA(Direct Memory Access),数据长度1024,16bit模式;
9、MCU拉高GPIO2(从设备请求信号);
10、等待DMA中断信号量时间>3s;
11、MCU拉低GPIO2(第二复位电压信号);
12、rxNode节点收到主设备数据;
13、调用RPC解析函数处理rxNode中的主设备数据,解析出SOC发送的主设备数据;
14、复位:设置txNode=NULL,设置txNode=NULL;
15、设置SPI通信状态断开;
16、结束。
应该理解的是,虽然如上的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的数据传输方法的数据传输装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个数据传输装置实施例中的具体限定可以参见上文中对于数据传输方法的限定,在此不再赘述。
在一个实施例中,如图9所示,提供了一种数据传输装置1,应用于主设备,主设备和从设备之间基于SPI进行通信,且主设备和从设备之间配置有第一信号线和第二信号线;装置包括:请求模块11和发送模块12,其中:
请求模块11,用于通过第一信号线,向从设备发送第一信号;其中,第一信号用于指示从设备进入数据接收状态;
发送模块12,用于在通过第二信号线接收到从设备反馈的第二信号的情况下,调用SPI接口函数,向从设备发送主设备数据;其中,第二信号用于表征从设备已进入数据接收状态。
在其中一个实施例中,请求模块11,还用于:向第一信号线施加主工作电压信号,以使第一信号线产生第一信号,并传输至从设备。
在其中一个实施例中,该装置还包括复位模块,用于:向第一信号线施加主复位电压信号,以使第一信号线进入复位状态。
在其中一个实施例中,发送模块12,还用于:获取待发送数据节点和空闲接收数据节点;
根据待发送数据节点,对SPI接口函数中的发送接口进行赋值处理,以及根据空闲接收数据节点,对SPI接口函数中的接收接口进行赋值处理;
执行赋值处理后的SPI接口函数,以向从设备发送待发送数据节点中的主设备数据。
在其中一个实施例中,该装置还包括,接收模块,用于:在通过第二信号线接收到从设备发送的从设备请求信号的情况下,调用SPI接口函数,接收从设备发送的从设备数据;其中,从设备请求信号用于表征从设备已进入数据发送状态。
在一个实施例中,如图10所示,提供了一种数据传输装置2,应用于从设备,从设备和主设备之间基于SPI进行通信,且主设备和从设备之间配置有第一信号线和第二信号线;装置包括:反馈模块,其中:
反馈模块21,用于在通过第一信号线接收到主设备发送的第一信号的情况下,通过第二信号线向主设备反馈第二信号。
其中,第一信号用于指示从设备进入数据接收状态,第二信号用于表征从设备已进入数据接收状态,且用于触发主设备调用SPI接口函数,向从设备发送主设备数据;
接收模块22,用于接收主设备发送的主设备数据。
在其中一个实施例中,反馈模块21,还用于:向第二号线施加第一从工作电压信号,以使第二信号线产生第二信号,并传输至主设备。
在其中一个实施例中,该装置还包括第一复位模块,用于:向第二信号线施加第一从复位电压信号,以使第二信号线进入复位状态。
在其中一个实施例中,该装置还包括从设备发送模块,用于:通过第二信号线,向主设备发送的从设备请求信号;其中,从设备请求信号用于表征从设备已进入数据发送状态;
调用SPI接口函数,向主设备发送的从设备数据。
在其中一个实施例中,从设备发送模块,还用于:向第二号线施加第二从工作电压信号,以使第二信号线产生从设备请求信号,并传输至主设备。
在其中一个实施例中,该装置还包括第二复位模块,用于:向第二信号线施加第二从复位电压信号,以使第二信号线进入复位状态。
上述数据传输装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备为主设备,该计算机设备可以是服务器,其内部结构图可以如图11所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据传输方法的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据传输方法。
本领域技术人员可以理解,图11中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,该计算机设备为从设备,该计算机设备可以是服务器,其内部结构图可以如图12所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据传输方法的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据传输方法。
本领域技术人员可以理解,图12中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,应用于主设备,主设备和从设备之间基于SPI进行通信,且主设备和从设备之间配置有第一信号线和第二信号线;包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
通过第一信号线,向从设备发送第一信号;其中,第一信号用于指示从设备进入数据接收状态;
在通过第二信号线接收到从设备反馈的第二信号的情况下,调用SPI接口函数,向从设备发送主设备数据;其中,第二信号用于表征从设备已进入数据接收状态。
在一个实施例中,处理器执行计算机程序通过第一信号线,向从设备发送第一信号的逻辑时,具体实现以下步骤:向第一信号线施加主工作电压信号,以使第一信号线产生第一信号,并传输至从设备。
在一个实施例中,处理器执行计算机程序在通过第二信号线接收到从设备反馈的第二信号的情况下,的逻辑时,具体实现以下步骤:向第一信号线施加主复位电压信号,以使第一信号线进入复位状态。
在一个实施例中,处理器执行计算机程序调用SPI接口函数,向从设备发送主设备数据的逻辑时,具体实现以下步骤:获取待发送数据节点和空闲接收数据节点;根据待发送数据节点,对SPI接口函数中的发送接口进行赋值处理,以及根据空闲接收数据节点,对SPI接口函数中的接收接口进行赋值处理;执行赋值处理后的SPI接口函数,以向从设备发送待发送数据节点中的主设备数据。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:在通过第二信号线接收到从设备发送的从设备请求信号的情况下,调用SPI接口函数,接收从设备发送的从设备数据;其中,从设备请求信号用于表征从设备已进入数据发送状态。
在一个实施例中,提供了一种计算机可读存储介质,应用于主设备,主设备和从设备之间基于SPI进行通信,且主设备和从设备之间配置有第一信号线和第二信号线;其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
通过第一信号线,向从设备发送第一信号;其中,第一信号用于指示从设备进入数据接收状态;
在通过第二信号线接收到从设备反馈的第二信号的情况下,调用SPI接口函数,向从设备发送主设备数据;其中,第二信号用于表征从设备已进入数据接收状态。
在一个实施例中,计算机程序通过第一信号线,向从设备发送第一信号的逻辑被处理器执行时,具体实现以下步骤:向第一信号线施加主工作电压信号,以使第一信号线产生第一信号,并传输至从设备。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:向第一信号线施加主复位电压信号,以使第一信号线进入复位状态。
在一个实施例中,计算机程序调用SPI接口函数,向从设备发送主设备数据的逻辑被处理器执行时,具体实现以下步骤:获取待发送数据节点和空闲接收数据节点;根据待发送数据节点,对SPI接口函数中的发送接口进行赋值处理,以及根据空闲接收数据节点,对SPI接口函数中的接收接口进行赋值处理;执行赋值处理后的SPI接口函数,以向从设备发送待发送数据节点中的主设备数据。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:在通过第二信号线接收到从设备发送的从设备请求信号的情况下,调用SPI接口函数,接收从设备发送的从设备数据;其中,从设备请求信号用于表征从设备已进入数据发送状态。
在一个实施例中,提供了一种计算机程序产品,应用于主设备,主设备和从设备之间基于SPI进行通信,且主设备和从设备之间配置有第一信号线和第二信号线;其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
通过第一信号线,向从设备发送第一信号;其中,第一信号用于指示从设备进入数据接收状态;
在通过第二信号线接收到从设备反馈的第二信号的情况下,调用SPI接口函数,向从设备发送主设备数据;其中,第二信号用于表征从设备已进入数据接收状态。
在一个实施例中,计算机程序通过第一信号线,向从设备发送第一信号的逻辑被处理器执行时,具体实现以下步骤:向第一信号线施加主工作电压信号,以使第一信号线产生第一信号,并传输至从设备。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:向第一信号线施加主复位电压信号,以使第一信号线进入复位状态。
在一个实施例中,计算机程序调用SPI接口函数,向从设备发送主设备数据的逻辑被处理器执行时,具体实现以下步骤:获取待发送数据节点和空闲接收数据节点;根据待发送数据节点,对SPI接口函数中的发送接口进行赋值处理,以及根据空闲接收数据节点,对SPI接口函数中的接收接口进行赋值处理;执行赋值处理后的SPI接口函数,以向从设备发送待发送数据节点中的主设备数据。。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:在通过第二信号线接收到从设备发送的从设备请求信号的情况下,调用SPI接口函数,接收从设备发送的从设备数据;其中,从设备请求信号用于表征从设备已进入数据发送状态。
在一个实施例中,提供了一种计算机设备,应用于从设备,主设备和从设备之间基于SPI进行通信,且主设备和从设备之间配置有第一信号线和第二信号线;存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
在通过第一信号线接收到主设备发送的第一信号的情况下,通过第二信号线向主设备反馈第二信号;其中,第一信号用于指示从设备进入数据接收状态,第二信号用于表征从设备已进入数据接收状态,且用于触发主设备调用SPI接口函数,向从设备发送主设备数据;
接收主设备发送的主设备数据。
在其中一个实施例中,处理器执行计算机程序通过第二信号线向主设备反馈第二信号的逻辑时,具体实现以下步骤:向第二号线施加第一从工作电压信号,以使第二信号线产生第二信号,并传输至主设备。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:向第二信号线施加第一从复位电压信号,以使第二信号线进入复位状态。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:通过第二信号线,向主设备发送的从设备请求信号;其中,从设备请求信号用于表征从设备已进入数据发送状态;调用SPI接口函数,向主设备发送的从设备数据。
在其中一个实施例中,处理器执行计算机程序通过第二信号线,向主设备发送的从设备请求信号的逻辑时,具体实现以下步骤:向第二号线施加第二从工作电压信号,以使第二信号线产生从设备请求信号,并传输至主设备。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:向第二信号线施加第二从复位电压信号,以使第二信号线进入复位状态。
在一个实施例中,提供了一种计算机可读存储介质,应用于从设备,主设备和从设备之间基于SPI进行通信,且主设备和从设备之间配置有第一信号线和第二信号线;其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
在通过第一信号线接收到主设备发送的第一信号的情况下,通过第二信号线向主设备反馈第二信号;其中,第一信号用于指示从设备进入数据接收状态,第二信号用于表征从设备已进入数据接收状态,且用于触发主设备调用SPI接口函数,向从设备发送主设备数据;
接收主设备发送的主设备数据。
在一个实施例中,计算机程序通过第二信号线向主设备反馈第二信号的逻辑被处理器执行时,具体实现以下步骤:向第二号线施加第一从工作电压信号,以使第二信号线产生第二信号,并传输至主设备。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:向第二信号线施加第一从复位电压信号,以使第二信号线进入复位状态。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:通过第二信号线,向主设备发送的从设备请求信号;其中,从设备请求信号用于表征从设备已进入数据发送状态;调用SPI接口函数,向主设备发送的从设备数据。
在其中一个实施例中,通过第二信号线,向主设备发送的从设备请求信号的逻辑被处理器执行时,具体实现以下步骤:向第二号线施加第二从工作电压信号,以使第二信号线产生从设备请求信号,并传输至主设备。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:向第二信号线施加第二从复位电压信号,以使第二信号线进入复位状态。
在一个实施例中,提供了一种计算机程序产品,应用于从设备,主设备和从设备之间基于SPI进行通信,且主设备和从设备之间配置有第一信号线和第二信号线;其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
在通过第一信号线接收到主设备发送的第一信号的情况下,通过第二信号线向主设备反馈第二信号;其中,第一信号用于指示从设备进入数据接收状态,第二信号用于表征从设备已进入数据接收状态,且用于触发主设备调用SPI接口函数,向从设备发送主设备数据;
接收主设备发送的主设备数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可以的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种数据传输方法,其特征在于,应用于主设备,所述主设备和从设备之间基于SPI进行通信,且所述主设备和所述从设备之间配置有第一信号线和第二信号线;所述方法包括:
通过所述第一信号线,向所述从设备发送第一信号;其中,所述第一信号用于指示所述从设备进入数据接收状态;
在通过所述第二信号线接收到所述从设备反馈的第二信号的情况下,调用SPI接口函数,向所述从设备发送主设备数据;其中,所述第二信号用于表征所述从设备已进入数据接收状态。
2.根据权利要求1所述的方法,其特征在于,所述通过所述第一信号线,向所述从设备发送第一信号,包括:
向所述第一信号线施加主工作电压信号,以使所述第一信号线产生第一信号,并传输至所述从设备。
3.根据权利要求2所述的方法,其特征在于,所述在通过所述第二信号线接收到所述从设备反馈的第二信号的情况下,所述方法还包括:
向所述第一信号线施加主复位电压信号,以使所述第一信号线进入复位状态。
4.根据权利要求1所述的方法,其特征在于,所述调用SPI接口函数,向所述从设备发送主设备数据,包括:
获取待发送数据节点和空闲接收数据节点;
根据所述待发送数据节点,对SPI接口函数中的发送接口进行赋值处理,以及根据所述空闲接收数据节点,对所述SPI接口函数中的接收接口进行赋值处理;
执行赋值处理后的SPI接口函数,以向所述从设备发送所述待发送数据节点中的主设备数据。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在通过所述第二信号线接收到所述从设备发送的从设备请求信号的情况下,调用所述SPI接口函数,接收所述从设备发送的从设备数据;其中,所述从设备请求信号用于表征所述从设备已进入数据发送状态。
6.一种数据传输方法,其特征在于,应用于从设备,所述从设备和主设备之间基于SPI进行通信,且所述主设备和所述从设备之间配置有第一信号线和第二信号线;所述方法包括:
在通过所述第一信号线接收到所述主设备发送的第一信号的情况下,通过所述第二信号线向所述主设备反馈第二信号;其中,所述第一信号用于指示所述从设备进入数据接收状态,所述第二信号用于表征所述从设备已进入数据接收状态,且用于触发所述主设备调用SPI接口函数,向所述从设备发送主设备数据;
接收所述主设备发送的所述主设备数据。
7.根据权利要求6所述的方法,其特征在于,所述通过所述第二信号线向所述主设备反馈第二信号,包括:
向所述第二号线施加第一从工作电压信号,以使所述第二信号线产生第二信号,并传输至所述主设备。
8.根据权利要求6所述的方法,其特征在于,所述方法还包括:
通过所述第二信号线,向所述主设备发送的从设备请求信号;其中,所述从设备请求信号用于表征所述从设备已进入数据发送状态;
调用所述SPI接口函数,向所述主设备发送的从设备数据。
9.一种数据传输装置,应用于主设备,所述主设备和从设备之间基于SPI进行通信,且所述主设备和所述从设备之间配置有第一信号线和第二信号线;其特征在于,所述装置包括:
请求模块,用于通过所述第一信号线,向所述从设备发送第一信号;其中,所述第一信号用于指示所述从设备进入数据接收状态;
发送模块,用于在通过所述第二信号线接收到所述从设备反馈的第二信号的情况下,调用SPI接口函数,向所述从设备发送主设备数据;其中,所述第二信号用于表征所述从设备已进入数据接收状态。
10.一种数据传输装置,其特征在于,应用于从设备,所述从设备和主设备之间基于SPI进行通信,且所述主设备和所述从设备之间配置有第一信号线和第二信号线;所述装置包括:
反馈模块,用于在通过所述第一信号线接收到所述主设备发送的第一信号的情况下,通过所述第二信号线向所述主设备反馈第二信号;其中,所述第一信号用于指示所述从设备进入数据接收状态,所述第二信号用于表征所述从设备已进入数据接收状态,且用于触发所述主设备调用SPI接口函数,向所述从设备发送主设备数据;
接收模块,用于接收所述主设备发送的所述主设备数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410379929.3A CN118337552A (zh) | 2024-03-29 | 2024-03-29 | 数据传输方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410379929.3A CN118337552A (zh) | 2024-03-29 | 2024-03-29 | 数据传输方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118337552A true CN118337552A (zh) | 2024-07-12 |
Family
ID=91775203
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410379929.3A Pending CN118337552A (zh) | 2024-03-29 | 2024-03-29 | 数据传输方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118337552A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111984581A (zh) * | 2020-08-14 | 2020-11-24 | 广州邦讯信息系统有限公司 | 一种基于Linux的SPI总线主从设备通讯系统、方法及装置 |
CN112822002A (zh) * | 2021-01-04 | 2021-05-18 | 北京地平线信息技术有限公司 | 基于spi的通信方法及装置、电子设备和存储介质 |
CN114691578A (zh) * | 2022-04-01 | 2022-07-01 | 华中科技大学 | 一种高性能串行通信方法、系统、介质、设备及终端 |
CN116126768A (zh) * | 2022-12-05 | 2023-05-16 | 深圳市朗宇芯科技有限公司 | 高效的数据传输方法、系统及存储介质 |
CN117667813A (zh) * | 2023-10-31 | 2024-03-08 | 福思(杭州)智能科技有限公司 | 数据通信方法、装置、电子装置和存储介质 |
-
2024
- 2024-03-29 CN CN202410379929.3A patent/CN118337552A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111984581A (zh) * | 2020-08-14 | 2020-11-24 | 广州邦讯信息系统有限公司 | 一种基于Linux的SPI总线主从设备通讯系统、方法及装置 |
CN112822002A (zh) * | 2021-01-04 | 2021-05-18 | 北京地平线信息技术有限公司 | 基于spi的通信方法及装置、电子设备和存储介质 |
CN114691578A (zh) * | 2022-04-01 | 2022-07-01 | 华中科技大学 | 一种高性能串行通信方法、系统、介质、设备及终端 |
CN116126768A (zh) * | 2022-12-05 | 2023-05-16 | 深圳市朗宇芯科技有限公司 | 高效的数据传输方法、系统及存储介质 |
CN117667813A (zh) * | 2023-10-31 | 2024-03-08 | 福思(杭州)智能科技有限公司 | 数据通信方法、装置、电子装置和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108733604B (zh) | 一种基于modbus通讯协议的485总线智能扩展方法及装置 | |
JP2003124950A (ja) | バスシステム上での情報伝送方法と装置およびバスシステム | |
CN104854845B (zh) | 使用高效的原子操作的方法和装置 | |
US6449289B1 (en) | Multi-processor bus protocol system | |
EP4395277A1 (en) | Flashing method, apparatus and system for electronic control unit, and device and storage medium | |
CN109902046B (zh) | 一种用于串行外围总线系统的通信方法、相关设备及系统 | |
CN116594951B (zh) | 一种基于fpga的数据传输系统及方法 | |
CN118337552A (zh) | 数据传输方法和装置 | |
CN111506461B (zh) | 一种基于总线、用于测试的反压模块及其实现方法 | |
CN116319499A (zh) | 车辆的诊断方法、装置、电子设备及存储介质 | |
CN115994057A (zh) | 芯片总线的检测方法、装置、电子设备和存储介质 | |
CN113347115B (zh) | 消息处理方法、装置、电子设备及介质 | |
KR102273410B1 (ko) | Ecu를 리프로그래밍 하기 위한 장치, 시스템 및 방법 | |
CN111026690B (zh) | 星务数据处理设备及方法 | |
CN114003018A (zh) | 一种车辆诊断方法及相关装置 | |
CN111736578A (zh) | 一种基于双cpu控制器的uds诊断方法及装置 | |
CN111541597B (zh) | 一种并行连接自动编号方法及系统 | |
US9081743B2 (en) | Communication system and communicaton method | |
CN220775785U (zh) | 多频率信号解调器 | |
WO2023119720A1 (ja) | 転送装置 | |
EP0577431A2 (en) | Method of resetting coupled modules and a system using the method | |
EP4350511A1 (en) | Method and apparatus for co-simulation | |
WO2022178882A1 (zh) | 一种基于usb的通信方法和装置 | |
Seo et al. | A reliable gateway for in-vehicle networks | |
CN118535510A (zh) | 数据传输方法、装置、车载终端和存储介质 |
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 |