一种USBDMA数据传输装置和方法制造方法及图纸

技术编号:34142332 阅读:13 留言:0更新日期:2022-07-14 18:07
本申请提供了一种USB DMA数据传输装置和方法,该装置包括存储器、DMA控制模块、USB控制器和接口转换选择模块;USB控制器包括端点0、端点1、端点2和DMA模块,端点0用于枚举过程中与USB主机的数据交互,端点1和端点2用于批量传输过程中与主机的数据交互;DMA控制模块用于在与主机进行的批量传输过程中对DMA模块进行配置,以用于DMA模块实现存储器与端点1、端点2之间的数据交互;存储器与USB控制器连接,DMA控制模块通过接口转换选择模块与DMA模块连接。该装置能够大大提高数据传输效率,节省MCU资源,并简化了批量传输的传输过程。并简化了批量传输的传输过程。并简化了批量传输的传输过程。

A usbdma data transmission device and method

【技术实现步骤摘要】
一种USB DMA数据传输装置和方法


[0001]本申请涉及数据处理领域,尤其涉及一种USB DMA数据传输装置和方法。

技术介绍

[0002]USB是目前在打印机,数字存储设备,输入/输出设备,等其他周边设备中得到广泛应用的连接方式。USB设备具有使用方便,速度快,连接灵活,即插即用,总线供电等优点。基于USB接口的大容量存储设备(USB Mass Stor

age)应运而生,目前市场上的这类设备主要有:USB移动硬盘,USB外置光驱,USB外置软驱,USB闪存盘(闪盘)等。针对大容量移动存储设备的软件设计,USB组织定义了大容量存储设备的类规范,这个类规范包括四个独立的子类规范,即:1.USB Mass Storage Class Control/Bulk/Interrupt(CBI)Transport 2.USB Mass Storage Class Bulk

Only Transport 3.USB Mass Storage Class ATA Command Block 4.USB Mass Storage Class UFI Command Speeification。其中Bulk

Only传输规范仅仅使用Bulk端点传送数据/命令/状态。
[0003]目前,类似USB网卡的Usb设备(device)中利用Bulk

Only协议传输直接内存访问(direct memory access,DMA)数据,其中DMA方式能够不受CPU的任何干涉而传输数据。使用该Bulk

Only协议传输DMA数据时,在枚举阶段(即初始化Usb device阶段),以及枚举后进行的批量(Bulk)传输阶段都需要微控制单元(Microcontroller Unit,MCU)进行相应的配置等操作。由于在该方式中,每次的Bulk传输都需要MCU的参与,占用了宝贵的MCU资源;另外,由于每次都要配置读写多个寄存器,MCU配置速度很慢,严重影响了USB的传输效率。因此,亟需一种优化且高效的USB DMA数据传输装置和方法。

技术实现思路

[0004]本申请提供了一种USB DMA数据传输装置和方法,能够大大提高数据传输效率,节省MCU资源,并简化了批量传输的传输过程。
[0005]第一方面,提出了一种USB DMA数据传输装置,包括存储器、DMA控制模块、USB控制器和接口转换选择模块;
[0006]所述USB控制器包括端点0、端点1、端点2和DMA模块,所述端点0用于枚举过程中与USB主机的数据交互,所述端点1和所述端点2用于批量传输过程中与主机的数据交互;
[0007]所述DMA控制模块用于在与主机进行的批量传输过程中对所述DMA模块进行配置,以用于所述DMA模块实现所述存储器与所述端点1之间、所述存储器与所述端点2之间的数据交互;
[0008]所述存储器与所述USB控制器连接,所述DMA控制模块通过所述接口转换选择模块与所述DMA模块连接。
[0009]可选地,所述端点0包括FIFO存储器,所述端点1包括FIFO存储器,所述端点2包括FIFO存储器,在每次与主机进行批量传输过程中,所述DMA模块用于先传输第一类型的信息,后传输第二类型的信息,所述第一类型的信息用于指示下一次传输的第二类型的信息
的长度,所述第二类型的信息包括目标数据。
[0010]可选地,在每次与主机进行批量传输过程中所述装置的处理过程包括:
[0011]M1:所述装置中的所有硬件复位,所有寄存器被设置为默认值;
[0012]M2:硬件复位后,所述装置进入空闲态,所有寄存器清零;
[0013]M3:所述DMA控制模块监控是否有批量传输,若没有,则一直监控,若有,则判断批量传输的方向;
[0014]M4:所述DMA控制模块根据批量传输的方向设置所述DMA模块传输的目标FIFO存储器;
[0015]M5:所述DMA控制模块根据本次DMA模块传输的信息的类型设置本次DMA传输的起始地址,其中,所述类型包括所述第一类型和所述第二类型;
[0016]M6:所述DMA控制模块判断本次DMA传输是否是本次批量传输的第一次DMA传输,若是,则配置本次批量传输中DMA传输的总次数、本次DMA传输的信息的类型、本次DMA的传输类型以及本次DMA传输的信息的长度,若不是,则配置本次DMA传输的信息的类型以及本次DMA传输的信息的长度,其中,DMA的传输类型包括F2M(fifo to memory)和M2F(memory to fifo);
[0017]M7:所述DMA模块根据配置进行本次DMA传输;
[0018]M8:所述DMA控制模块读取本次DMA传输的完成标记;
[0019]M9:所述DMA控制模块清除本次DMA传输的完成标记,并记录DMA传输已经进行的次数;
[0020]M10:若所述DMA传输已经进行的次数小于或等于所述本次批量传输中DMA传输的总次数,所述DMA控制模块重复进行M4至M10,否则,所述装置进行M2。
[0021]需要理解的是,该装置计算本次批量传输中DMA传输的总次数后,进行保存并配置。
[0022]可选地,所述DMA控制模块判断本次DMA传输是否是本次批量传输的第一次DMA传输,若是,则配置本次批量传输中DMA传输的总次数、本次DMA传输的信息的类型、本次DMA的传输类型以及本次DMA传输的信息的长度,包括:
[0023]所述DMA控制模块判断本次DMA传输是否是本次批量传输的第一次DMA传输,若是,则根据本次批量传输中所有传输信息的长度以及所述存储器的地址范围计算并配置本次批量传输中DMA传输的总次数,配置本次DMA传输的信息的类型,并根据本次DMA传输的信息的类型配置本次DMA传输的信息的长度,根据本次批量传输的方向配置本次DMA的传输类型。
[0024]可选地,所述第一类型的信息的长度大小为32个字节,所述第二类型的信息的长度大小位于64个字节至64K个字节的范围之间。
[0025]可选地,所述DMA模块每次传输信息的长度最大为128K个字节。
[0026]可选地,所述DMA控制模块通过所述接口转换选择模块与所述DMA模块连接,包括:
[0027]所述DMA控制模块通过先进可拓展接口与所述接口转换选择模块连接,所述接口转换选择模块通过先进可拓展接口与所述DMA模块连接。
[0028]第二方面,提出了一种USB DMA数据传输方法,其特征在于,应用于USB DMA数据传输装置中,所述装置包括存储器、DMA控制模块、USB控制器和接口转换选择模块;
[0029]所述USB控制器包括端点0、端点1、端点2和DMA模块,所述端点0用于枚举过程中与USB主机的数据交互,所述端点1和所述端点2用于批量传输过程中与主机的数据交互,所述端点0包括FIFO存储器,所述端点1包括本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种USB DMA数据传输装置,其特征在于,包括存储器、DMA控制模块、USB控制器和接口转换选择模块;所述USB控制器包括端点0、端点1、端点2和DMA模块,所述端点0用于枚举过程中与USB主机的数据交互,所述端点1和所述端点2用于批量传输过程中与主机的数据交互;所述DMA控制模块用于在与主机进行的批量传输过程中对所述DMA模块进行配置,以用于所述DMA模块实现所述存储器与所述端点1之间、所述存储器与所述端点2之间的数据交互;所述存储器与所述USB控制器连接,所述DMA控制模块通过所述接口转换选择模块与所述DMA模块连接。2.根据权利要求1所述的一种USB DMA数据传输装置,其特征在于,所述端点0对应双向的FIFO存储器,所述端点1对应IN方向的FIFO存储器,所述端点2对应OUT方向的FIFO存储器,在每次与主机进行批量传输过程中,所述DMA模块用于先传输第一类型的信息,后传输第二类型的信息,所述第一类型的信息用于指示下一次传输的第二类型的信息的长度,所述第二类型的信息包括目标数据。3.根据权利要求2所述的一种USB DMA数据传输装置,其特征在于,在每次与主机进行批量传输过程中所述装置的处理过程包括:M1:所述装置中的所有硬件复位,所有寄存器被设置为默认值;M2:硬件复位后,所述装置进入空闲态,所有寄存器清零;M3:所述DMA控制模块监控是否有批量传输,若没有,则一直监控,若有,则判断批量传输的方向;M4:所述DMA控制模块根据批量传输的方向设置所述DMA模块传输的目标FIFO存储器;M5:所述DMA控制模块根据本次DMA模块传输的信息的类型设置本次DMA传输的起始地址,其中,所述类型包括所述第一类型和所述第二类型;M6:所述DMA控制模块判断本次DMA传输是否是本次批量传输的第一次DMA传输,若是,则配置本次批量传输中DMA传输的总次数、本次DMA传输的信息的类型、本次DMA的传输类型以及本次DMA传输的信息的长度,若不是,则配置本次DMA传输的信息的类型、本次DMA的传输类型以及本次DMA传输的信息的长度,其中,DMA的传输类型包括F2M和M2F;M7:所述DMA模块根据配置进行本次DMA传输;M8:所述DMA控制模块读取本次DMA传输的完成标记;M9:所述DMA控制模块清除本次DMA传输的完成标记,并记录DMA传输已经进行的次数;M10:若所述DMA传输已经进行的次数小于或等于所述本次批量传输中DMA传输的总次数,所述DMA控制模块重...

【专利技术属性】
技术研发人员:闫振林陈沫
申请(专利权)人:苏州雄立科技有限公司
类型:发明
国别省市:

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

1