[发明专利]一种传输音频数据的方法及装置有效
申请号: | 201010209881.X | 申请日: | 2010-06-18 |
公开(公告)号: | CN102290050A | 公开(公告)日: | 2011-12-21 |
发明(设计)人: | 李志刚 | 申请(专利权)人: | 北京中星微电子有限公司 |
主分类号: | G10L19/00 | 分类号: | G10L19/00 |
代理公司: | 北京同达信恒知识产权代理有限公司 11291 | 代理人: | 黄志华 |
地址: | 100083 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 传输 音频 数据 方法 装置 | ||
技术领域
本发明涉及到计算机及嵌入式领域,特别涉及到传输音频数据的方法及装置。
背景技术
随着嵌入式系统和多媒体技术的迅速发展,结合两者所产生的基于嵌入式系统的多媒体播放系统逐渐兴起。而在嵌入式多媒体播放系统中,音频播放是一项最基本的功能。
音频播放过程中,音频数据的输出都是采用DMA(Direct Memory Access,存储器直接访问)的方式输出到DAC(Digital-to-Analog Converter,数模转换器),由DAC将音频数据由数字信号转换为模拟信号后按照采样率来输出,采样率如48K、44.1K等。其中,DMA是指在专门的硬件控制下,实现高速外设和主存储器之间自动成批交换数据,尽量减少CPU干预的输入/输出操作方式。
但是在嵌入式系统中,由于某些无法预知的突发事件的发生,如文件系统的性能由于SD(Secure Digital Memory Card)卡或NAND存储器的物理特性,在某一时刻会突然下降,此时会出现音频数据不连续的情况。在这种情况下,现有的方法是继续通过DMA向DAC传送静音数据,当存储器中存储的静音数据传送完毕时,会产生一个DMA中断,该DMA中断判断是否有准备好的音频数据,如果没有准备好,则继续传送静音数据,当静音数据传输完毕时,再次产生一个DMA中断,该DMA中断判断是否有准备好的音频数据,如此直到音频数据准备好时启动DMA传输音频数据。这样可以保证DMA传输结束的中断可以继续到来。但这种方法的缺陷在于需要存储器来保存静音数据,占用较多的存储资源。而且这个存储器的存储空间还不能太小,因为如果太小,可能在保存的静音数据传送完之后音频数据还未准备好,无法启动DMA传输,达不到改善音频播放不连续的目的。并且由于是由DMA中断判断是否有准备好的音频数据,每传输完毕一次静音数据都要进行一次判断,因此在DMA传输中断至下一轮DMA传输开始之前,会频繁发生DMA中断。该频繁到来的DMA中断给CPU增加更多负担,进而加重声音的不连续,严重影响用户的收听效果。而如果不传送静音数据,则DMA传输结束的中断无法继续到来,也就无法再次启动DMA传输,导致不能继续播放音频数据。
发明内容
本发明实施例提供一种传输音频数据的方法,用于实现在不占用额外存储器来存储静音数据的情况下的传输音频数据,从而节约存储空间,并且减轻CPU的负担。
一种传输音频数据的方法,包括以下步骤:
解码器向缓存单元写入音频数据;
在写满缓存单元时,解码器判断是否有中断标志;其中,发生音频传输中断后,解码器接收中断模块发送的中断标志;
当判断结果为是时解码器触发DMA传输。
一种传输音频数据的方法,应用于解码器侧,包括以下步骤:
解码器将音频数据写入缓存单元;
当写满缓存单元时,解码器判断是否有中断标志;其中,发生音频传输中断后,解码器接收中断模块发送的中断标志;
当判断结果为是时,解码器向DMA模块发送用于启动DMA传输的启动命令。
一种传输音频数据的方法,应用于中断芯片侧,包括以下步骤:
中断模块在DMA传输完毕一个缓存单元时产生DMA中断;
中断模块判断DMA传输完毕的缓存单元的下一个缓存单元中是否有写满的音频数据;
当判断结果为否时,中断模块确定发生音频传输中断,将中断标志发送给解码器。
一种传输音频数据的方法,应用于DMA芯片侧,包括以下步骤:
DMA模块接收解码器发送的包含缓存地址的启动命令;
DMA模块根据启动命令启动DMA传输,并传输所述缓存地址指向的缓存单元中的音频数据。
一种传输音频数据的装置,包括:
解码器,用于向缓存单元写入音频数据,直至写满,并在写满缓存单元时判断是否有中断标志,其中,发生音频传输中断后,解码器接收中断模块发送的中断标志;当判断结果为是时触发DMA传输;
缓存单元,用于存储解码器写入的音频数据;
中断模块,用于当发生音频传输中断时向解码器发送中断标志。
一种解码器,包括:
接收单元,用于在发生音频传输中断后,接收中断模块发送的中断标志;
写单元,用于将音频数据写入缓存单元;
判断单元,用于当写单元写满缓存单元时,判断是否有中断标志;
第一发送单元,用于当判断结果为是时,向DMA模块发送启动DMA传输的启动命令。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京中星微电子有限公司,未经北京中星微电子有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010209881.X/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置