应用于电子设备的数据传输方法及装置制造方法及图纸

技术编号:38592292 阅读:13 留言:0更新日期:2023-08-26 23:30
本申请提供了一种应用于电子设备的数据传输方法及装置,该电子设备中包含主设备和从设备,主设备中部署有主DMA控制器、主SPI控制器和主存储器,从设备中部署有从DMA控制器、从SPI控制器和从存储器,主设备与从设备通过SPI接口连接,该方法包括:当主设备向从设备传输数据时,通过主DMA控制器从主存储器读取第一待传输数据,并将第一待传输数据写入到主设备的主缓冲区;通过主SPI控制器将主缓冲区的子数据通过SPI接口传输到从设备;通过从SPI控制器将接收到的子数据写入到从设备的从缓冲区;通过从DMA控制器读取从缓冲区的子数据,并将从缓冲区的子数据写到从存储器。本申请的技术方案可以提升主设备向从设备传输数据的效率。方案可以提升主设备向从设备传输数据的效率。方案可以提升主设备向从设备传输数据的效率。

【技术实现步骤摘要】
应用于电子设备的数据传输方法及装置


[0001]本申请涉及数据传输
,尤其涉及一种应用于电子设备的数据传输方法及装置。

技术介绍

[0002]SPI(Serial Peripheral Interface)是一种串行外设接口协议,用于在微控制器或数字信号处理器之间传输数据。SPI接口通常由一个主设备和一个或多个从设备组成,主设备负责发起数据传输请求并控制传输过程,而从设备则响应主设备的请求并提供数据。在SPI接口中,主设备向从设备传输数据时通常采用中断方式进行数据传输,然而,采用中断方式传输数据时由于数据传输的过程会受到软件的频繁干预,降低了数据传输的效率。

技术实现思路

[0003]有鉴于此,本申请实施例提供了一种应用于电子设备的数据传输方法、装置、电子设备及计算机可读存储介质,以解决相关技术中采用中断方式传输数据时由于数据传输的过程会受到软件的频繁干预,降低了数据传输的效率的技术问题。
[0004]本申请实施例的第一方面,提供了一种应用于电子设备的数据传输方法,该电子设备中包含主设备和从设备,主设备中部署有主DMA控制器、主SPI控制器和主存储器,从设备中部署有从DMA控制器、从SPI控制器和从存储器,主设备与从设备通过SPI接口连接,该方法包括:当主设备向从设备传输数据时,通过主DMA控制器从主存储器读取第一待传输数据,并将第一待传输数据写入到主设备的主缓冲区;通过主SPI控制器将主缓冲区的子数据通过SPI接口传输到从设备;通过从SPI控制器将接收到的子数据写入到从设备的从缓冲区;通过从DMA控制器读取从缓冲区的子数据,并将从缓冲区的子数据写到从存储器。
[0005]本申请实施例的第二方面,提供了一种应用于电子设备的数据传输装置,该电子设备中包含主设备和从设备,主设备中部署有主DMA控制器、主SPI控制器、和主存储器,从设备中部署有从DMA控制器、从SPI控制器、从存储器,主设备与从设备通过SPI接口连接,该装置包括:第一写入模块,用于当主设备向从设备传输数据时,通过主DMA控制器从主存储器读取第一待传输数据,并将第一待传输数据写入到主设备的主缓冲区;传输模块,用于通过主SPI控制器将主缓冲区的子数据通过SPI接口传输到从设备;第二写入模块,用于通过从SPI控制器将接收到的子数据写入到从设备的从缓冲区;第三写入模块,用于通过从DMA控制器读取从缓冲区的子数据,并将从缓冲区的子数据写到从存储器。
[0006]本申请实施例的第三方面,提供了一种电子设备,该电子设备包括主设备和从设备,主设备与从设备通过SPI接口连接;主设备中部署有主DMA控制器、主SPI控制器、主处理器、主存储器以及存储在主存储器中并且可在主处理器上运行的计算机程序,主处理器执行计算机程序时控制主DMA控制器和主SPI控制器实现上述方法的对应步骤;从设备中部署有从DMA控制器、从SPI控制器、从处理器、从存储器以及存储在从存储器中并且可在从处理器上运行的计算机程序,从处理器执行计算机程序时控制从DMA控制器和从SPI控制器实现
上述方法的对应步骤。
[0007]本申请实施例的第四方面,提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被主处理器执行时控制主DMA控制器和主SPI控制器实现上述方法的对应步骤;计算机程序被从处理器执行时控制从DMA控制器和从SPI控制器实现上述方法的对应步骤。
[0008]本申请实施例与现有技术相比存在的有益效果至少包括:本申请实施例通过当主设备向从设备传输数据时,通过主DMA控制器从主存储器读取第一待传输数据,并将第一待传输数据写入到主设备的主缓冲区,通过主SPI控制器将主缓冲区的子数据通过SPI接口传输到从设备,通过从SPI控制器将接收到的子数据写入到从设备的从缓冲区,以及通过从DMA控制器读取从缓冲区的子数据,并将从缓冲区的子数据写到从存储器,以此方式传输数据不受软件的干扰,从而提升主设备向从设备传输数据的效率。
附图说明
[0009]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
[0010]图1是本申请实施例的一种应用于电子设备的数据传输方法的流程图;
[0011]图2是本申请实施例的另一种应用于电子设备的数据传输方法的流程图;
[0012]图3是本申请实施例的主设备向从设备传输数据的时序图;
[0013]图4是本申请实施例的从设备向主设备传输数据的时序图;
[0014]图5是本申请实施例的数据帧队列的示意图;
[0015]图6是本申请实施例的一种应用于电子设备的数据传输装置的框图;
[0016]图7是本申请实施例的一种电子设备的结构示意图。
具体实施方式
[0017]以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
[0018]为了更好的理解本申请提供的应用于电子设备的数据传输方法,下面对该方法涉及的一些专业术语进行解释,具体如下:
[0019]SPI(Serial Peripheral Interface)是一种串行外设接口协议,SPI接口是串行外设接口,SPI控制器是串行外设接口控制器;
[0020]Master:主设备;
[0021]Slave:从设备;
[0022]DMA控制器:DMA(Direct Memory Access,直接内存访问)控制器是一种硬件设备,可用于管理计算机中的数据传输,DMA控制器可以直接访问系统内存,并在不需要CPU的干预下将数据从外部设备传输到内存或从内存传输到外部设备。这样,CPU可以专注于处理其
他任务,而不必等待数据传输完成,从而提高了计算机的整体性能。
[0023]MTI信号:是Master Transmit Interrupt的缩写,当主设备启动一个数据传输时,MTI信号会被拉高,表示主设备正在传输数据,并且从设备应该准备好接收数据。从设备可以使用MTI信号来进行中断控制。
[0024]STI信号:是Slave Transmit Interrupt的缩写,当从设备向主设备传输数据时,STI信号会被拉高,表示从设备正在传输数据。主设备可以使用STI信号来进行中断控制
[0025]CS信号:是Chip Select的缩写,表示芯片选择信号。它是通信接口中用于选择要与之通信的芯片的信号。
[0026]SCLK信号:是Source Clock的缩写,表示时钟信号。它是通信接口中用于同步数据传输的时钟信号。...

【技术保护点】

【技术特征摘要】
1.一种应用于电子设备的数据传输方法,其特征在于,所述电子设备中包含主设备和从设备,所述主设备中部署有主DMA控制器、主SPI控制器和主存储器,所述从设备中部署有从DMA控制器、从SPI控制器和从存储器,所述主设备与所述从设备通过SPI接口连接,所述方法包括:当所述主设备向所述从设备传输数据时,通过所述主DMA控制器从所述主存储器读取第一待传输数据,并将所述第一待传输数据写入到所述主设备的主缓冲区;通过所述主SPI控制器将所述主缓冲区的子数据通过所述SPI接口传输到所述从设备;通过所述从SPI控制器将接收到的子数据写入到所述从设备的从缓冲区;通过所述从DMA控制器读取所述从缓冲区的子数据,并将所述从缓冲区的子数据写到所述从存储器。2.根据权利要求1所述的方法,其特征在于,在所述主设备向所述从设备传输数据之前,所述方法还包括:通过所述主设备拉高MTI信号,向所述从设备发送第一中断信号;通过所述从设备接收所述第一中断信号,并根据所述第一中断信号,将所述从存储器分配的存储空间关联到所述从DMA控制器上;通过所述从设备拉高STI信号,并向所述主设备返回第二中断信号;通过所述主设备接收所述第二中断信号,并根据所述第二中断信号,拉低所述MTI信号和CS信号,并启动所述主DMA控制器。3.根据权利要求2所述的方法,其特征在于,当所述从设备向所述主设备传输数据时,所述方法还包括:通过所述从设备拉高所述STI信号,向所述主设备发送第三中断信号;通过所述主设备接收所述第三中断信号,并根据所述第三中断信号,拉低所述CS信号,并启动所述主DMA控制器;通过所述从DMA控制器从所述从存储器读取第二待传输数据,并将所述第二待传输数据写入到所述从设备的从缓冲区;通过所述从SPI控制器将所述从缓冲区的子数据通过所述SPI接口传输到所述主设备;通过所述主SPI控制器将接收到的子数据写入到所述主设备的主缓冲区;通过所述主DMA控制器读取所述主缓冲区的子数据,并将所述主缓冲区的子数据写到所述主存储器。4.根据权利要求1或3所述的方法,其特征在于,所述第一待传输数据是根据预设帧格式生成的第一数据帧,其中,所述第一数据帧包括一个第一有效载荷或多个第一有效载荷,一个所述第一有效载荷的长度小于所述第一数据帧的长度,多个所述第一有效载荷的长度和小于所述第一数据帧的长度;所述第二待传输数据是根据所述预设帧格式生成的第二数据帧,其中,所述第二数据帧包括一个第二有效载荷或多个第二有效载荷,一个所述第二有效载荷的长度小于所述第二数据帧的长度,多个所述第二有效载荷的长度和小于所述第二数据帧的长度。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:当所述主设备向所述从设备传输数据结束时,通过所述从设备拉低所述STI信号,并向所述主设备返回所述第一数据帧的确认信号,通过所述主设备接收所述第一数据帧的确认
信号,并根据所述第一数据帧的确认信号,拉高所述CS信号;当所述从设备向所述主设备传输数据结束时,通过所述主设备拉高所述CS信号,并向所述从设备返回所述第二数据帧的确认信号,通过所述从设备接收所述第二数据帧的确认信号,并根据所述第二数据帧的确认信号拉低所述STI信号。6.根据权利要求5所述的方法,其特征在于,所述方法还包括:当所述主设备有多个所述第一数据帧需要传输...

【专利技术属性】
技术研发人员:杨振华范海李昌泰
申请(专利权)人:成都赛力斯科技有限公司
类型:发明
国别省市:

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

1