基于SPI转USB芯片的数据读取、写入方法及SPI转USB芯片技术

技术编号:35445628 阅读:14 留言:0更新日期:2022-11-03 11:58
本发明专利技术实施例涉及数据传输领域,公开了基于SPI转USB芯片的数据读取、写入方法及SPI转USB芯片。其中芯片的缓冲器被预先划分为第一缓冲子区域和第二缓冲子区域,CPU在每次接收到电子设备的数据读取请求后,向DMA发送请求触发DMA从接口设备中读取第一数据并交替写入两个子区域,CPU从对应的子区域读取第一数据并发送给电子设备。CPU在每一次接收到电子设备的数据写入请求后,从电子设备获取对应的第二数据并交替写入两个子区域,CPU向DMA发送请求触发DMA从对应的子区域读取第二数据并发送给接口设备。上述方法中CPU的操作与DMA的操作并行执行。由于CPU与DMA并行工作,可以提高芯片的数据传输速率。片的数据传输速率。片的数据传输速率。

【技术实现步骤摘要】
基于SPI转USB芯片的数据读取、写入方法及SPI转USB芯片


[0001]本专利技术实施例涉及数据传输领域,特别涉及基于SPI转USB芯片的数据读取、写入方法及SPI转USB芯片。

技术介绍

[0002]生活中电子设备经常需通过外接设备来获得信息,或者将信息存储至外接设备中。USB通用串行总线是一种标准化数据传输方式。当电子设备上没有USB接口或者USB接口不够用时,我们需将其他接口比如SPI转换为USB接口使用。
[0003]然而,专利技术人发现,相关技术中设备基于SPI转USB芯片进行数据传输的过程中,需要等待SPI转USB芯片传输完成后,再进行下一次传输。一般SPI转USB芯片的缓冲器只有64到128个字节,即一次传输只能传64到128个字节,数据传输耗时长,数据传输效率低下。如果通过提高SPI总线时钟频率或增加SPI转USB芯片的缓冲器大小来提高数据传输效率,则又会增加生产成本。

技术实现思路

[0004]本专利技术实施方式的目的在于提供基于SPI转USB芯片的数据读取、写入方法及SPI转USB芯片,在不增加生产成本的前提下使得SPI转USB芯片的数据传输效率提高。
[0005]为实现上述目的,本专利技术的实施方式提供了一种基于SPI转USB芯片的数据读取方法,应用于串行外设接口SPI转通用串行总线USB芯片,所述芯片包括中央处理器CPU、直接存储器访问DMA和缓冲器,所述缓冲器被预先划分为第一缓冲子区域和第二缓冲子区域,所述方法包括:
[0006]所述CPU在每一次接收到电子设备发送的数据读取请求后,向所述DMA发送所述数据读取请求,触发所述DMA从接口设备中读取与所述数据读取请求对应的第一数据;
[0007]所述DMA在每一次被触发后,根据所述数据读取请求从所述接口设备中读取所述第一数据,并将读取的所述第一数据交替写入所述第一缓冲子区域或所述第二缓冲子区域;
[0008]所述CPU在所述DMA将所述第一数据写入所述第一缓冲子区域或所述第二缓冲子区域后,从缓冲所述第一数据的子区域读取所述第一数据并发送给所述电子设备;
[0009]其中,所述CPU的操作与所述DMA的操作并行执行。
[0010]本专利技术的实施方式还提供了一种基于SPI转USB芯片的数据写入方法,应用于串行外设接口SPI转通用串行总线USB芯片,所述芯片包括中央处理器CPU、直接存储器访问DMA和缓冲器,所述缓冲器被预先划分为第一缓冲子区域和第二缓冲子区域,所述方法包括:
[0011]所述CPU在每一次接收到电子设备发送的数据写入请求后,根据所述数据写入请求从所述电子设备中获取与所述数据写入请求对应的第二数据,并将获取的所述第二数据交替写入所述第一缓冲子区域或所述第二缓冲子区域;
[0012]所述CPU向所述DMA发送所述数据写入请求,触发所述DMA从缓冲所述第二数据的
子区域读取所述第二数据;
[0013]所述DMA在每一次被触发后,从缓冲所述第二数据的子区域读取所述第二数据并发送给所述接口设备;
[0014]其中,所述CPU的操作与所述DMA的操作并行执行。
[0015]本专利技术的实施方式还提供了一种SPI转USB芯片,所述芯片包括中央处理器CPU、直接存储器访问DMA和缓冲器,其中,所述缓冲器被预先划分为第一缓冲子区域和第二缓冲子区域;
[0016]所述CPU用于在每一次接收到电子设备发送的数据读取请求后,向所述DMA发送所述数据读取请求,触发所述DMA从接口设备中读取与所述数据读取请求对应的第一数据;还用于在所述DMA将所述第一数据写入所述第一缓冲子区域或所述第二缓冲子区域后,从缓冲所述第一数据的子区域读取所述第一数据并发送给所述电子设备;
[0017]所述DMA用于在每一次被触发后,根据所述数据读取请求从所述接口设备中读取所述第一数据,并将读取的所述第一数据交替写入所述第一缓冲子区域或所述第二缓冲子区域;
[0018]其中,所述CPU和所述DMA可并行工作。
[0019]本专利技术的实施方式还提供了一种SPI转USB芯片,所述芯片包括中央处理器CPU、直接存储器访问DMA和缓冲器,其中,所述缓冲器被预先划分为第一缓冲子区域和第二缓冲子区域;
[0020]所述CPU用于在每一次接收到电子设备发送的数据写入请求后,根据所述数据写入请求从所述电子设备中获取与所述数据写入请求对应的第二数据,并将获取的所述第二数据交替写入所述第一缓冲子区域或所述第二缓冲子区域;还用于向所述DMA发送所述数据写入请求,触发所述DMA从缓冲所述第二数据的子区域读取所述第二数据;
[0021]所述DMA用于在每一次被触发后,从缓冲所述第二数据的子区域读取所述第二数据并发送给所述接口设备;
[0022]其中,所述CPU和所述DMA可并行工作。
[0023]本专利技术的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现上述的基于SPI转USB芯片的数据读取方法或上述的基于SPI转USB芯片的数据写入方法。
[0024]本专利技术实施方式相对于现有技术而言,通过将SPI转USB芯片的缓冲器预先划分为两个缓冲子区域,对SPI转USB芯片的数据读取与写入流程进行了改进,使得芯片的中央处理器CPU和直接存储器访问DMA可以并行工作,从而提高了SPI转USB芯片的数据传输效率。由于本专利技术实施方式从软件上进行优化,不需要提高SPI总线时钟频率,也不需要增加SPI转USB芯片的片内缓冲器大小,所以不会增加生产成本。
附图说明
[0025]一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
[0026]图1是根据本专利技术的实施例提供的基于SPI转USB芯片的数据读取方法的流程示意
图;
[0027]图2是根据本专利技术的实施例提供的基于SPI转USB芯片的数据读取方法的一种具体流程示意图;
[0028]图3是根据本专利技术的实施例提供的基于SPI转USB芯片的数据写入方法的流程示意图;
[0029]图4是根据本专利技术的实施例提供的基于SPI转USB芯片的数据写入方法的一种具体流程示意图;
[0030]图5是本专利技术的实施方式提供的用于实现数据读取方法的SPI转USB芯片的结构示意图;
[0031]图6是本专利技术的实施方式提供的用于实现数据写入方法的SPI转USB芯片的结构示意图。
具体实施方式
[0032]为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本专利技术各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。以下各本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于SPI转USB芯片的数据读取方法,其特征在于,应用于串行外设接口SPI转通用串行总线USB芯片,所述芯片包括中央处理器CPU、直接存储器访问DMA和缓冲器,所述缓冲器被预先划分为第一缓冲子区域和第二缓冲子区域,所述方法包括:所述CPU在每一次接收到电子设备发送的数据读取请求后,向所述DMA发送所述数据读取请求,触发所述DMA从接口设备中读取与所述数据读取请求对应的第一数据;所述DMA在每一次被触发后,根据所述数据读取请求从所述接口设备中读取所述第一数据,并将读取的所述第一数据交替写入所述第一缓冲子区域或所述第二缓冲子区域;所述CPU在所述DMA将所述第一数据写入所述第一缓冲子区域或所述第二缓冲子区域后,从缓冲所述第一数据的子区域读取所述第一数据并发送给所述电子设备;其中,所述CPU的操作与所述DMA的操作并行执行。2.根据权利要求1所述的基于SPI转USB芯片的数据读取方法,其特征在于,所述数据读取请求还用于指定所述第一数据写入的子区域;所述DMA将所述第一数据写入所述第一缓冲子区域或所述第二缓冲子区域,包括:所述DMA根据所述数据读取请求指定的子区域,将所述第一数据写入所述第一缓冲子区域或所述第二缓冲子区域;所述从缓冲所述第一数据的子区域读取所述第一数据并发送给所述电子设备,包括:根据所述数据读取请求指定的子区域,从缓冲所述第一数据的子区域获取所述第一数据并发送给所述电子设备。3.根据权利要求1所述的基于SPI转USB芯片的数据读取方法,其特征在于,在所述将读取的所述第一数据交替写入所述第一缓冲子区域或所述第二缓冲子区域后,还包括:所述DMA向所述CPU发送用于指示所述第一数据写入完成的数据缓冲完成通知;所述在所述DMA将所述第一数据写入所述第一缓冲子区域或所述第二缓冲子区域后,从缓冲所述第一数据的子区域读取所述第一数据并发送给所述电子设备,包括:所述CPU在接收到所述数据缓冲完成通知后,向所述电子设备发送所述数据缓冲完成通知,并从缓冲所述第一数据的子区域读取所述第一数据并发送给所述电子设备。4.一种基于SPI转USB芯片的数据写入方法,其特征在于,应用于串行外设接口SPI转通用串行总线USB芯片,所述芯片包括中央处理器CPU、直接存储器访问DMA和缓冲器,所述缓冲器被预先划分为第一缓冲子区域和第二缓冲子区域,所述方法包括:所述CPU在每一次接收到电子设备发送的数据写入请求后,根据所述数据写入请求从所述电子设备中获取与所述数据写入请求对应的第二数据,并将获取的所述第二数据交替写入所述第一缓冲子区域或所述第二缓冲子区域;所述CPU向所述DMA发送所述数据写入请求,触发所述DMA从缓冲所述第二数据的子区域读取所述第二数据;所述DMA在每一次被触发后,从缓冲所述第二数据的子区域读取所述第二数据...

【专利技术属性】
技术研发人员:邵将
申请(专利权)人:上海移远通信技术股份有限公司
类型:发明
国别省市:

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

1