[发明专利]一种基于AXI协议的DMA控制器及数据上传方法在审
申请号: | 201710146171.9 | 申请日: | 2017-03-13 |
公开(公告)号: | CN106933760A | 公开(公告)日: | 2017-07-07 |
发明(设计)人: | 石广;唐涛;王硕 | 申请(专利权)人: | 郑州云海信息技术有限公司 |
主分类号: | G06F13/28 | 分类号: | G06F13/28;G06F13/38;G06F13/40 |
代理公司: | 济南信达专利事务所有限公司37100 | 代理人: | 孟峣 |
地址: | 450000 河南省郑州市*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 axi 协议 dma 控制器 数据 上传 方法 | ||
技术领域
本发明涉及计算机应用技术领域,具体地说是一种实用性强、基于AXI协议的DMA控制器及数据上传方法。
背景技术
在SOC设计中,随着CPU处理能力的不断提升,提高总线的带宽和各设备的工作效率成为提高系统性能的关键。由于AXI总线本身的高性能以及ARM微处理器的广泛应用,使得AXI成为SOC设计中应用广泛的总线标准。一个高性能的总线必然要有与其兼容的外围设备接口,才能构造一个具有完整功能的片上系统。ARM公司每推出新的总线标准,都会相继提供各个外设接口的IP,但这些IP往往都是价格不菲。那么为了更好的满足具体的项目需求,同时节约成本,降低项目预算,对一些外围设备进行自主研发,同样可以满足性能需求。
DMA操作方式下数据的读写无需CPU执行指令,由外设(DMA控制器)直接进行数据的读写。为此,提出一种基于AXI协议的DMA控制器及数据上传方法,在基于AXI协议的SOC中,设计符合AXI协议的DMA控制器,实现外围设备和存储器之间的高速数据传递,提高整个系统的工作效率。本发明主要目的是设计出与AXI协议兼容的DMA控制器,用于在基于AXI协议的SOC系统中负责某些子系统的数据上报。
发明内容
本发明的技术任务是针对以上不足之处,提供一种实用性强、基于AXI协议的DMA控制器及数据上传方法。
一种基于AXI协议的DMA控制器,包括以下模块:
通道模块,为整个控制器提供信息传输的通道;
仲裁模块,对通道中的信息进行仲裁选择可通过的传输命令并发送给控制模块;
控制模块,用于处理接收到的读写命令,转换成符合AXI协议的读、写信号,并将其传出;
数据缓存模块,用于接收来自控制模块将要上传的数据及来自通道模块的传输命令;
中断模块,接收来自控制模块的信号并向外部发送信息传输状态;
配置接口模块,是配置上述各模块内部寄存器参数的接口。
所述通道模块内部包括若干通道,用于接收和处理数据上传请求,产生上传信息的命令,然后发送给仲裁模块;以及接收已经读取的上传信息并对其进行处理,产生传输数据的命令,然后发送给数据缓存模块。
所述仲裁模块接收来自通道的仲裁请求后进行仲裁,并将仲裁结果再发送到通道模块,通道模块依据仲裁结果发送被选中通道内的传输命令到仲裁模块;仲裁模块收到传输命令后,再将传输命令转变成读、写命令,发送给控制模块,由控制模块完成总线上的数据传输。
所述控制模块进行物理通道上的数据传输,通过读取命令队列中命令字节,发出相应操作,并根据AXI协议的时序要求将相应数据发送到目的地址,从而发挥AXI总线读写并行的特点。
所述中断模块用于接收来自控制模块的通道号和传输响应,向外部发送状态信号,即信息传输是否中断的信号,通知外部当前的传输状态,所述中断信号包括完成中断和错误中断。
配置接口模块是配置DMA控制器的内部寄存器的接口,其接收外部发来的数据和控制信号,配置指定的寄存器,或读取寄存器的内容。
一种基于AXI协议的DMA控制器的数据上传方法,其实现过程为:
首先向DMA控制器发出数据上传请求;
DMA控制器内部的通道模块接收并处理该上传请求,产生上传信息的命令;
传输数据的命令进入仲裁模块仲裁,以确定是否被选中;
将选中的传输命经仲裁模块转发给控制模块,该控制模块将数据转换成符合AXI协议的信号;这时通道模块接收已经读取的上传信息并对其进行处理,产生传输数据的命令;
根据传输数据的命令,对已经转换的符合AXI协议的信号进行数据传输。
所述控制模块处理的数据从AXI总线读取,该从AXI总线读取的数据分为两类,一类是直接进入数据缓存模块的表示将要上传的数据,一类是进入通道模块的数据上传请求命令,在通道模块内经过处理产生数据传输命令,发送到数据缓存模块,两类数据结合后再进行数据传输。
当传输数据的命令进入仲裁模块后,仲裁模块首先进行仲裁,并将仲裁结果发送到通道模块,通道模块再依据仲裁结果发送被选中通道内的传输命令到仲裁模块;仲裁模块收到传输命令后,再将传输命令转变成读、写命令,发送给控制模块,由控制模块完成总线上的数据传输;
控制模块将接收到的读写命令转换成符合AXI协议的读、写信号,从而完成总线上的数据传输。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州云海信息技术有限公司,未经郑州云海信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710146171.9/2.html,转载请声明来源钻瓜专利网。