[发明专利]基于DMA的实时流数据传送系统及方法有效
申请号: | 201310751601.1 | 申请日: | 2013-12-30 |
公开(公告)号: | CN103678205B | 公开(公告)日: | 2017-01-04 |
发明(设计)人: | 张奇;董东升 | 申请(专利权)人: | 杭州士兰微电子股份有限公司 |
主分类号: | G06F13/28 | 分类号: | G06F13/28 |
代理公司: | 杭州华知专利事务所33235 | 代理人: | 张德宝 |
地址: | 310012*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 dma 实时 数据 传送 系统 方法 | ||
技术领域
本发明涉及DMA(直接存储器存取)技术领域,尤其涉及一种基于DMA的实时流数据传送系统及方法。
背景技术
目前,在SoC(System on Chip,称为片上系统)芯片设计中,为了提高效率、节省数据总线带宽,在数据传送时广泛采用DMA(直接存储器存取)技术和方法。而在实时流数据传送过程中,通常会面临两个问题:一个是从存储器向外围设备搬移流数据时,需要保持数据的实时性,即以均匀速率发送数据,且不可中断,这时如果存储器中的数据准备不足,将会导致实时流数据输出中断;另一个是从外设向存储器搬移流数据时,需要实时接收数据,如果存储器中没有足够的存储空间,将会导致实时流数据无处存放。
在第一种情况下,通常的做法是事先准备好一段零数据的内存空间,在存储器中的数据准备不足时,通知DMA控制器搬移该空间的数据来补充输出流数据的不足,视为填充内部输出的流数据。在第二种情况下,通常的做法是事先准备好一段内存空间,在发生内存空间不足时,通知DMA控制器把该数据搬移到该空间去,可以反复写入覆盖,视为丢弃外部输入的流数据。上述的处理方法,可以保证SoC芯片中流数据的实时搬运,也能满足DMA控制器的任务链表操作。但是,上述两种情况下,都是需要开辟额外的存储空间,即填充或丢弃缓存空间,并且需要通过SoC芯片中的总线对存储器进行存取访问,这样必然浪费了一定的存储空间和总线带宽。
发明内容
本发明所要解决的技术问题是针对现有DMA控制器在实时流数据传送过程中存在存储空间和总线带宽浪费的问题,提供了一种在满足实时流数据传送时填充和丢弃需求的同时,解决存储空间和总线带宽浪费的问题,用于实时流数据填充与丢弃的基于DMA的实时流数据传送系统和基于DMA的实时流数据传送方法。
为解决上述问题,本发明的一种技术方案是:
一种基于DMA的实时流数据传送系统,包括主控CPU、DMA控制器、存储器、系统总线和外设接口,DMA控制器通过系统总线控制存储器与外设接口之间的实时数据传送,所述传送系统还包括用于提供默认填充数据及丢弃写入数据的虚拟从属设备,虚拟从属设备占用总线地址空间,虚拟从属设备设有总线从设备接口,总线从设备接口与系统总线相连;DMA控制器通过系统总线读取虚拟从属设备中的默认填充数据到外设接口中,或者DMA控制器通过系统总线将外设接口中的数据写入虚拟从属设备中,写入虚拟从属设备中的数据由虚拟从属设备直接丢弃。
相比较于现有技术,本发明的基于DMA的实时流数据传送系统采用虚拟从属设备作为DMA控制器的附属设备,配合DMA控制器在流数据实时传送过程中实现对流数据的填充或丢弃功能;另一方面,虚拟从属设备实现了在系统总线上的单周期写入和读取,速度更快,节省了总线资源,再者,虚拟从属设备不占用存储资源,默认填充数据是可以配置的,也节省了存储器资源。
本发明的另一种技术方案是:
一种基于DMA的实时流数据传送系统,包括主控CPU、DMA控制器、存储器、系统总线和外设接口,DMA控制器通过系统总线控制存储器与外设接口之间的实时数据传送,所述DMA控制器内设有用于提供默认填充数据及丢弃写入数据的虚拟从属设备,虚拟从属设备占用总线地址空间,虚拟从属设备设有数据接口,数据接口与DMA控制器的内部总线相连;DMA控制器读取虚拟从属设备中的默认填充数据到外设接口中,或者DMA控制器将外设接口中的数据写入虚拟从属设备中,写入虚拟从属设备中的数据由虚拟从属设备直接丢弃。
相比较于现有技术,本发明的基于DMA的实时流数据传送系统采用虚拟从属设备作为DMA控制器的虚拟子模块,配合DMA控制器在流数据实时传送过程中实现对流数据的填充或丢弃功能,DMA控制器对虚拟从属设备进行读写访问时,不需要进行总线接口协议转换,可以进一步减少系统总线上的读写操作,更有利于节约总线资源和功耗;另一方面,虚拟从属设备不占用存储资源,默认填充数据是可以配置的,也节省了存储器资源。
本发明的再一种技术方案是:
一种基于DMA的实时流数据传送系统的数据传送方法,所述传送方法包括两种数据传送方式,第一种为存储器实时将流数据传送到外设接口,第二种为外设接口实时将流数据传送到存储器,所述传送方法基于上述的传送系统;
所述第一种数据传送方式包括如下步骤:
步骤a:主控CPU配置启动DMA控制器,总线控制权由主控CPU转移到DMA控制器;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州士兰微电子股份有限公司,未经杭州士兰微电子股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310751601.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种兼容多种USB接口类型的接口电路
- 下一篇:一种实现网卡零拷贝方法及装置
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置