【技术实现步骤摘要】
一种基于DMA控制器的数据传输方法
[0001]本申请涉及集成电路领域,特别涉及一种控制器的数据传输方法。
技术介绍
[0002]在集成电路领域,CPU通过接收外设Buffer的中断请求来进行数据传输,将外设中的数据通过总线读取到内存,或者是将内存搬运到Buffer,但CPU响应中断时会停止正在运行的进程,在大量数据传输过程中的CPU需要频繁进行响应,影响CPU的执行效率。
[0003]相关技术中,通过设置DMA控制器来接管CPU的执行操作,在每次Buffer进行数据传输结束过程向CPU发送中断,因此CPU只需响应中断请求而无需传输数据,以此减小CPU的负担。但此种方式中的Buffer每次中断请求都需要CPU响应,无法进一步提高CPU的执行效率。
技术实现思路
[0004]本申请提供了一种基于DMA控制器的数据传输方法,解决相关技术CPU频繁响应中断请求,且执行效率低下的问题。具体的,所述方法包括:
[0005]CPU向外设和所述DMA控制器发送指令并设置传输任务;
[0006]响应于 ...
【技术保护点】
【技术特征摘要】
1.一种基于DMA控制器的数据传输方法,其特征在于,所述方法包括:CPU向外设和所述DMA控制器发送指令并设置传输任务;响应于所述DMA控制器接收到所述外设发起的数据传输请求,通过总线将外设缓存Buffer中的数据搬运到内存中,或将所述内存中的数据搬运到所述外设缓存中;所述数据传输请求在所述外设缓存满足数据传输条件时发起;响应于所述DMA控制器基于所述数据传输请求完成数据搬运,直接向所述外设发送应答信号,并等待下一轮数据传输请求;所述应答信号用于指示所述DMA控制器完成本轮数据传输;响应于所述DMA控制器完成n轮数据传输,完成所述CPU设定的传输任务后,向CPU发送DMA中断请求,便于所述CPU响应所述DMA中断请求并执行收尾工作;其中,n是完成所述外设与所述内存之间数据传输所需的轮数,且n是正整数。2.根据权利要求1所述的方法,其特征在于,所述DMA控制器接收到外设发起的数据传输请求前,所述方法还包括:设定所述DMA控制器与所述外设之间的握手信号,不同的握手信号用于表示不同的数据传输方向和数据传输类型;所述CPU向所述外设和所述DMA控制器发送指令并设置传输任务;所述外设在满足数据传输条件时,生成对应的握手信号并发送所述数据传输请求。3.根据权利要求2所述的方法,其特征在于,所述响应于所述DMA控制器接收到外设发起的数据传输请求后,所述方法还包括:确定所述数据传输请求对应的目标握手信号,匹配所述目标握手信号所属的数据传输方向和数据传输类型;响应于所述目标握手信号对应为读数据信号,所述DMA控制器通过总线从所述外设缓存中读取目标数据量的数据到内存中;响应于所述目标握手信号对应为写数据信号,所述DMA控制器通过总线将所述内存中目标数据量的数据写入到所述外设缓存中。4.根据权利要求3所述的方法,其特征在于,所述读数据信号至少包括第一读数据信号rx_single和第二读数据信号rx_burst;rx_single信号表示每次请求读入的数据量是单个数据,rx_burst信号表示每次请求读入的数据量是突发数据;突发数据的位宽burst width和长度burst length具体由CPU在DMA控制器的内部设置;所述响应于所述DMA控制器基于所述数据传输请求完成数据搬运,直接向所述外设发送应答信号,包括:响应于所述DMA控制器将单个数据从所述外设缓存中读入到所述内存中之后,直接向所述外设发送第一读应答信号r...
【专利技术属性】
技术研发人员:罗东,李庆凤,
申请(专利权)人:无锡华大国奇科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。