CN1831797A - 音频处理器及其控制方法 - Google Patents
音频处理器及其控制方法 Download PDFInfo
- Publication number
- CN1831797A CN1831797A CN 200510132223 CN200510132223A CN1831797A CN 1831797 A CN1831797 A CN 1831797A CN 200510132223 CN200510132223 CN 200510132223 CN 200510132223 A CN200510132223 A CN 200510132223A CN 1831797 A CN1831797 A CN 1831797A
- Authority
- CN
- China
- Prior art keywords
- sheet
- master controller
- data
- bunch
- audio
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims description 82
- 239000000872 buffer Substances 0.000 claims abstract description 99
- 230000000694 effects Effects 0.000 claims abstract description 14
- 230000006835 compression Effects 0.000 claims abstract description 10
- 238000007906 compression Methods 0.000 claims abstract description 10
- 238000004891 communication Methods 0.000 claims abstract description 8
- 230000008569 process Effects 0.000 claims description 44
- 230000015654 memory Effects 0.000 claims description 29
- 238000012545 processing Methods 0.000 claims description 14
- 230000005236 sound signal Effects 0.000 claims description 12
- 238000006243 chemical reaction Methods 0.000 claims description 2
- 230000005540 biological transmission Effects 0.000 description 35
- MHABMANUFPZXEB-UHFFFAOYSA-N O-demethyl-aloesaponarin I Natural products O=C1C2=CC=CC(O)=C2C(=O)C2=C1C=C(O)C(C(O)=O)=C2C MHABMANUFPZXEB-UHFFFAOYSA-N 0.000 description 22
- 230000006870 function Effects 0.000 description 17
- 238000010586 diagram Methods 0.000 description 10
- 238000013500 data storage Methods 0.000 description 5
- 238000012217 deletion Methods 0.000 description 4
- 230000037430 deletion Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 2
- 239000012467 final product Substances 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 229910001385 heavy metal Inorganic materials 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
Images
Landscapes
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
本发明提供一种音频处理器,在片外主控制器***的控制下进行音频处理,包括:片外主控制器总线接口模块,片内主控制器***,处理器通信模块,存储介质控制器接口,文件分配表加速器,逻辑地址暂存器,直接存储访问控制器及其总线,音乐播放器,数模转换器,模数转换器,数字混音器,音效处理器,音频压缩模块,片外主控制器缓冲区,USB接口,I2S接口,二选一模块。本发明使用片内主控制器降低了片外主控制器的负担,使用文件分配表加速器提高了对文件分配表的访问速度,通过使用直接存储访问控制器以时分复用的方式服务各通道,使得片内各种格式的音乐播放器、USB接口和音频压缩单元能够随时访问存储介质,实现了多种功能的综合。
Description
技术领域
本发明涉及一种音频处理器及其控制方法,尤其涉及一种适用于多种音频格式的、具有多功能的音频处理器及其控制方法。
背景技术
目前的音频处理器大都可以通过某种支持特定数据格式的音乐播放器来实现对应格式的音频数据的音乐回放。尽管目前流行的音频格式大体包括MP3(Moving Picture Experts Group Audio Layer III)、WMA(Windows MediaAudio)、MIDI(Musical Instrument Digital Interface)、WAVE等多种,但如果要在一个音频处理器上支持众多音乐格式的回放,则还有困难,特别是在移动手持设备上则更难实现。
现有的音频处理器,一般是通过片外主控制器的命令,将存储在片外控制器***,或片外存储介质上的某种特定格式的音频数据送到音频处理器内的对应格式的播放器中播放,但这种播放方式,片外控制器与音频处理器之间交换的数据量很大,造成片外主控制器很大的负担,整体性能不高。
此外,现有的音频处理器对各种接口及各种音乐格式的支持不够,如果要实现不同格式的音乐同时播放、录音和USB主机和片外主机控制器访问片外存储器等业务的同时进行,则必需要有功能强大的CPU以及比目前常用的缓冲区大的多的缓冲区的支持。
因此,在实现多种格式的音乐播放、录音、USB主机和片外主控制器访问片外存储介质,以及USB主机和片外主控制器通信等综合功能时,现有的音频处理器很难支持。
发明内容
本发明所要解决的技术问题在于提供一种多功能音频处理器,实现对多种不同来源的不同音频格式文件的播放、录音的支持,同时,还可满足片外主控制器、USB主机、片外存储介质之间的数据同时进行互不干扰的交换。
本发明提供一种音频处理器,在片外主控制器***的控制下进行音频处理,包括:
片外主控制器总线接口模块,用于为所述片外主控制器提供与位于片内的片外控制总线的接口;
片内主控制器***,包括:片内主控制器、片内主控制器数据缓冲区、连接于片内控制总线的片内控制总线控制器,用于根据片外主控制器的命令执行相应的音频处理;
处理器通信模块,用于提供片内主控制器***与片外主控制器***之间的数据通信;
存储介质控制器接口,用于提供对存储有音频数据的片外存储介质的访问;
文件分配表加速器,用于根据片内主控制器的命令,通过所述存储介质控制器接口,对存储在片外存储介质上的数据文件的文件分配表进行访问,以确定数据文件在存储介质中的簇链结构;
逻辑地址暂存器,用于暂存由文件分配表加速器读取的数据文件的逻辑地址;
直接存储访问控制器及其总线,用于在片内主控制器的控制下建立直接存储访问通道,根据文件分配表加速器所确定的簇链结构信息,通过所述存储介质控制器接口,控制对片外存储介质的数据交换;
音乐播放器,用于在所述片外主控制器与片内主控制器的控制下,根据经由直接存储访问控制器读取的音频数据,提供至少一种音频格式的音乐回放;
数模转换器,用于将回放的数字音频信号转换为模拟信号输出。
所述音频处理器,可以进一步包括位于片内的片外中断请求总线,通过所述片外主控制器总线接口模块与片外主控制器相连;
所述片内主控制器***还包括连接于片内中断请求总线的片内中断请求控制器。
其中,所述音乐播放器可以包括:MIDI播放器、MP3播放器、WMA播放器、Wave播放器,或所述各类型播放器的组合。
其中,所述直接存储访问控制器可以是以按块时分复用的方式服务于各通道,并根据业务的优先级按需分配带宽。
其中,所述的音频处理器,还可以包括:
模数转换器,用于将模拟音频信号转换为数字信号输入。
其中,所述的音频处理器,还可以包括:
数字混音器,用于以数字的方式将回放的音乐与数字化后的信号进行混合;
音效处理器,用于对音频信号进行特效处理;
音频压缩模块,用于将输入到该模块的音频信号转换为特定的压缩格式。
其中,所述的音频处理器,还可以包括:
片外主控制器缓冲区,用于临时缓存片外主控制器写入到片外存储介质,或从片外存储介质读出的数据。
其中,所述的音频处理器,还可以包括:
USB接口,包括数据缓冲区,用于提供与USB主机的数据交换,从而通过片内主控制器的控制,使USB主机和片外存储介质交换数据,也可以通过片外主控制器的控制,使USB主机和片外主控制器交换数据。
其中,所述的音频处理器,还可以包括:
I2S接口,用于提供符合I2S协议的音频输入信号;
二选一模块,用于数模转换的输入源是来自于I2S接口,还是来自于片内。
本发明还一种利用所述的音频处理器进行音乐播放的方法,用于播放存储在片外存储介质中的音乐数据,包括如下步骤:
(1)片外主控制器发送一个要求播放音乐的消息给片内主控制器,该消息中包含音频数据文件的格式与存储在片外存储介质中的位置信息;
(2)片内主控制器根据接收到的消息中的位置信息,发送一个文件分配表读取命令给文件分配表加速器,该命令中包含:起始簇链结构信息、簇链结构存储于逻辑地址暂存器中的首地址和大小;
(3)文件分配表加速器根据所述文件分配表读取命令,读取存储介质中的音频数据文件的簇链结构,读出数据的大小在所述逻辑地址暂存器的大小范围之内,并将读出的簇链结构信息存储到逻辑地址暂存器中指定的位置;
(4)片内主控制器根据所述读出的簇链结构确定音频数据文件的簇链信息参数;
(5)片内主控制器根据确定的音频数据文件的簇链信息参数,发送一个文件读取命令给所述直接存储访问控制器,要求将存储在存储介质中的与读出的簇链结构相对应的音频数据读到片内主控制器***的缓冲区中;
(6)直接存储访问控制器根据接收到的命令建立一个直接存储访问通道,参考逻辑地址暂存器中的簇链结构信息,计算出将要读出的音频数据的逻辑地址和长度,发送给存储介质控制器接口,将音频数据送到片内主控制器***缓冲区中;
(7)片内主控制器***将音频数据转换成消息发送到对应格式的音乐播放器的消息缓冲区中,由该播放器回放音乐,并经数模转换器转换成模拟信号输出。
其中,还可以进一步包括如下步骤:
(8)当音乐播放器消息缓冲区中的数据消耗到一定阈值时,请求向片内主控制器请求发送新的消息;
(9)片内主控制器***根据该请求,判断需要继续发送的新数据的位置是否仍然在逻辑地址暂存器中簇链结构对应的簇内,如果是,则从所述步骤(5)开始重新执行,否则,从所述步骤(2)开始执行。
其中,在所述步骤(6)后,进一步包括如下步骤:
由片内主控制器分析该音频数据格式对应的播放参数,并通过消息将该参数信息发送给对应格式的音乐播放器。
其中,所述音乐播放器包括:MIDI播放器、MP3播放器、WMA播放器、Wave播放器,或所述各类型播放器的组合。
本发明还提供一种利用所述的音频处理器进行音乐播放的方法,用于播放存储在片外主控制器中的音乐数据,包括如下步骤:
片外控制器将音频数据转换成消息发送至对应格式的音乐播放器的消息缓冲区中,由该播放器回放音乐,并经数模转换器转换成模拟信号输出;
当播放器消息缓冲区中的数据消耗到一定阈值时,产生中断向片外主控制器请求发送新的消息给播放器回放,直至播放完成。
本发明还提供一种利用所述的音频处理器进行音乐录制的方法,包括如下步骤:
片外主控制器发送一个音频录制消息给片内主控制器要求录音;
片内主控制器根据接收到的消息,发送一个搜索空白簇命令给所述文件分配表加速器,该命令包含:起始簇链结构信息、簇链结构存储于逻辑地址暂存器中的首地址和大小;
文件分配表加速器根据该命令在存储介质中寻找空白簇,并将寻找到的空白簇的簇链结构信息存储到逻辑地址暂存器中指定的位置;
片内主控制器根据所述读出的空白簇簇链结构确定空白簇数量;
片内主控制器发送一个命令给直接存储访问控制器建立一个直接存储访问通道,通过直接存储访问控制器参考逻辑地址暂存器中的空白簇簇链信息,将播放器回放的音乐或经模数转换器输入的音频数据写入存储介质中。
其中,上述方法还可以包括如下步骤:
片内主控制器发出文件分配表更新命令给文件分配表加速器,将已经消耗完的簇的簇链结构更新到存储介质中对应的文件分配表区,然后重新向文件分配表加速器发出搜索空白簇命令,并控制向空白簇中继续写入数据。
本发明还提供一种音频播放器控制片外主控制器访问存储介质的方法,,包括如下步骤:
片外主控制器发送一个文件访问消息通知给片内主控制器,该消息包括读文件命令或写文件命令,以及文件的位置信息;
片内主控制器根据该消息命令文件分配表加速器将该文件的簇链结构读入到逻辑地址暂存器中;
片内主控制器发出消息给直接存储访问控制器为片外主控制器访问存储介质建立一个直接存储访问通道;
如果是读文件,存储介质上的数据被直接存储访问控制器参考簇链结构从存储介质中读出,并送到片外主控制器缓冲区中,然后被片外主控制器读走;
如果是写文件,片外主控制器将数据写入片外主控制器缓冲区中,然后由直接存储访问控制器参考簇链结构,将数据送到存储介质中。
本发明还提供一种音频播放器控制USB主机访问存储介质的方法,包括如下步骤:
USB主机通过所述USB接口发送一个消息给片内主控制器,该消息包括读文件命令或写文件命令,以及直接存储访问控制器即将要传输的数据在存储介质中的簇链信息;
片内主控制器分析该命令,并将簇链信息写入逻辑地址暂存器中;
片内主控制器发出消息给直接存储访问控制器,要求为USB主机访问存储介质建立一个直接存储访问通道;
如果是读文件,存储介质上的数据被直接存储访问控制器参考簇链结构从存储介质中读出,并送到USB接口缓冲区中,然后由USB主机从接口缓冲区中将数据读走;
如果是写,USB主机将数据写入接口缓冲区中,然后由直接存储访问控制器参考簇链结构,将数据送到存储介质中。
本发明还提供一种音频播放器控制USB主机与片外主控制器交换数据的方法,包括如下步骤:
如果数据交换方向是从USB主机到片外主控制器,则USB主机先将数据送到USB接口缓冲区中,然后USB接口通知片外主控制器将数据读走;
如果数据交换方向是从片外主控制器到USB主机,则片外主控制器先将数据送到USB接口缓冲区中,然后USB主机从USB接口中将数据读走。
本发明由于使用了片内主控制器,由此降低了片外主控制器与音频处理器之间交换的数据量,减少了片外主控制器的负担,提高了整体性能,而且,使用了文件分配表加速器提高了对文件分配表的访问速度,减小了片内主控制器的负担,而通过使用直接存储访问控制器以时分复用的方式服务各通道,使得片内各种格式的音乐播放器、USB接口和音频压缩单元能够随时访问存储介质,并进一步实现了支持不同格式、不同来源的音乐文件播放、录音、USB主机和片外主控制器访问片外存储介质,以及USB主机和片外主控制器通信等综合功能。
附图说明
图1为本发明的一个实施例结构示意图;
图2为根据本发明的一个实施例的DMAC控制器结构示意图;
图3为根据本发明的一个实施例的FAT加速器工作原理图;
图4为根据本发明的一个实施例的FAT加速器对文件分配表进行读取访问的加速方法流程图;
图5为根据本发明的一个实施例的FAT加速器对文件分配表进行搜索空白簇访问的加速方法流程图;
图6为根据本发明的一个实施例的FAT加速器对文件分配表进行写入访问的加速方法流程图;
图7为根据本发明的一个实施例的FAT加速器对文件分配表进行删除访问的加速方法流程图;
图8为根据本发明的一个实施例的片外主控制器直接控制存储于片外主控制器***内的MIDI格式的数字音频文件播放流程图;
图9为根据本发明的一个实施例的片外主控制器直接控制存储于片外主控制器***内的非MIDI格式的数字音频文件播放流程图;
图10为根据本发明的一个实施例的片内主控制器直接控制存储在片外存储介质中的MIDI格式的数字音频文件播放流程图;
图11为根据本发明的一个实施例的片内主控制器直接控制存储在片外存储介质中的非MIDI格式的数字音频文件播放流程图;
图12为根据本发明的一个实施例的录音控制方法流程图;
图13为根据本发明的一个实施例的片外主控制器访问片外存储介质的控制方法流程图;
图14为根据本发明的一个实施例的USB主机访问片外存储介质的控制方法流程图;
图15为根据本发明的一个实施例的USB主机访问片外主控制器的方法流程图。
具体实施方式
现结合附图对本发明的结构和工作原理做进一步说明:
如说明书附图1所示,本发明的一个实施例结构示意图。其中,片外主控制器***包括片外主控制器4、片外主控制器***总线接口401、片外主控制器***总线402、片外主控制器***中断请求总线403、片外主控制器缓冲区16和数据存储介质(未图示);所述片外主控制器4用于控制本发明内部各模块工作;所述片外主控制器***总线接口401用于提供片外主控制器4与片外主控制器***总线402及与片外主控制器***中断请求总线403之间的接口;所述片外主控制器缓冲区16用于临时缓存片外主控制器4写入到片外存储介质5或从片外存储介质5读出的数据;所述数据存储介质用于存储各类数据;
片内主控制器***20,包括:片内主控制器(图中未示)、片内主控制器数据缓冲区(图中未示)、连接于片内控制器中断请求总线202的片内中断总线控制器(图中未示)以及连接于片内控制总线201的片内控制总线控制器(图中未示),用于根据片外主控制器的命令执行相应的音频处理。
处理器通信模块7,用于提供片内主控制器***与片外主控制器***交换数据和命令的通道,通过该模块使片内主控制器***总线201与片外主控制器***总线402实现数据与命令传送,并且该模块可分别向片外主控制器***中断请求总线403和片内主控制器***中断请求总线202发送中断请求;
模数转换器8,用于将输入到本发明内的片外模拟音频信号转换成数字音频信号,其信号输出端与数字混音器13输入端相连,同时该模数转换器8还与片外主控制器***总线402、片内主控制器***总线201及片外主控制器中断请求总线403、片内主控制器中断请求总线202相连;
数模转换器9,用于将本发明内的数字音频信号转换成模拟音频信号2输出至片外,其输入端接二选一模块10,同时与片外主控制器***总线402相连;
二选一模块10,用于选择输出至数模转换器的数字音频信号来源于I2S接口11还是来自于本发明内其它模块,如来源于音效处理器12,或是来源于片内的通过片外主控制器***总线402传送的其它数字音频信号;
I2S接口模块11,用于接收来自于本发明外部的满足I2S协议的音频信号3,并将信号输出至二选一模块10;
MIDI播放器14,内部包括处理单元与数据缓冲区,该模块与片外主控制器***总线402及片内主控制器***总线201相连,并且该模块可分别向片外主控制器***中断请求总线403和片内主控制器***中断请求总线202发送中断请求,其输出端接入数字混音器13,用于播放MIDI格式的数字音频文件;
非MIDI播放器,内部包括处理单元与数据缓冲区,该模块与片外主控制器***总线402及片内主控制器***总线201相连,并且该模块可分别向片外主控制器***中断请求总线403和片内主控制器***中断请求总线202发送中断请求,其输出端接入数字混音器13,用于播放非MIDI格式的数字音频文件;
所述非MIDI播放器,包括MP3播放器21或WMA播放器22或WAVE播放器23或其中几种的任意组合;
MP3播放器21,内部包括处理单元与数据缓冲区,该模块与片外主控制器***总线402及片内主控制器***总线201相连,并且该模块可分别向片外主控制器***中断请求总线403和片内主控制器***中断请求总线202发送中断请求,其输出端接入数字混音器13,用于播放MP3格式的数字音频文件;
WMA播放器22,内部包括处理单元与数据缓冲区,该模块与片外主控制器***总线402及片内主控制器***总线201相连,并且该模块可分别向片外主控制器***中断请求总线403和片内主控制器***中断请求总线202发送中断请求,其输出端接入数字混音器13,用于播放WM格式的数字音频文件;
WAVE播放器23,内部包括处理单元与数据缓冲区,该模块与片外主控制器***总线402及片内主控制器***总线201相连,并且该模块可分别向片外主控制器***中断请求总线403和片内主控制器***中断请求总线202发送中断请求,其输出端接入数字混音器13,用于播放WAVE格式的数字音频文件;
数字混音器13,用于将模数转换器8输出的数字音频信号与上述各个音频播放器播放的音乐信号进行混合,而且也可以实现不同播放模块输出的数字音频信号之间的混音,其结果可输出至音频压缩模块15,也可输出至音效处理器12,同时本模块还与片外主控制器***总线402相连;
音效处理器12,用于将来自于数字混音器13的音频信号进行特效处理,使最终播放的声音具有特殊的效果,如爵士、古典、重金属或用户自己定义的效果;所述经处理后具有特殊效果的音频信号输出至音频压缩模块15或二选一模块10,同时本模块还与片外主控制器***总线402相连;
音频压缩模块15,用于将来自于音效处理器12和数字混音器13的音频信号转换成便于储存的格式,如MP3、ADPCM等,同时本模块还与片外主控制器***总线402和片内主控制器***总线201相连;
USB接口模块6011,包括USB接口缓冲区,用于提供USB主机与本发明交换数据的接口,同时本模块还与DMA总线191、片外主控制器***总线402、片外主控制器***中断请求总线403、片内主控制器***总线201、片内主控制器***中断请求总线202相连;
存储介质控制器接口501,用于提供本发明外部各种类型存储介质与本发明交换数据的接口,同时本模块还与片内主控制器***总线201、片内主控制器***中断请求总线202相连,外部存储介质可以为硬盘、微硬盘、安全数字卡、小型多媒体卡及各种快闪存储器等;
逻辑地址暂存器18,用于暂存由文件分配表加速器17读取的数据文件的逻辑地址,即簇链结构信息,其可以被片内主控制器***20、FAT加速器17、DMAC控制器19访问,所述簇链结构由FAT加速器17或片内主控制器***20写入;
DMAC控制器19,即直接存贮器存取通道控制器(Direct Memory AccessChannel,以下简称DMAC),是指在没有主处理器干预的情况下在设备间交换数据的通道,在本发明中用于使内部的模块直接与片外存储介质5交换数据,并按时分复用的方式共享DMA总线191;
所述DMAC控制器19,既可以使用现有的DMAC控制器,也可以使用一种带优先权带宽分配策略的DMAC控制器,以共享存储器读写带宽,对那些实时性要求高的业务模块,如音乐播放器,优先分配带宽;对那些实时性要求不高的业务模块,如USB接口模块,分配剩余带宽。
如图2所示,上述带优先权带宽分配策略的DMAC控制器19,可以包括主控制单元1908、中断控制器1906、寄存器组1912、A类型节点接口1902、B类型节点接口1900、分割单元1910、逻辑地址暂存器接口1904和非易失型存储器接口1914构成。
其中,对应本发明上述实施例,FAT加速器属于A类节点,其它设备,例如各种音频播放器都属于B类节点。若节点需要进行DMA传输,该节点提出DMA请求给主处理器或DMAC控制器。
其中,逻辑地址暂存器接口1904对应的逻辑地址暂存器,可以是本发明上述实施例中所述的逻辑地址暂存器18。
其中,中断控制器1906的主要功能是根据通道提出的带优先级的传输中断请求和中断响应策略来确定哪个通道被服务,并决定何时向主控制器提出中断请求。其中断策略是:
1)不同优先级同时请求高优先级先服务;
2)同一优先级的中断请求采用轮询的方法复用,轮询的方法分为两种,一种是每一块传输结束开始服务下一个同优先级的DMA通道传输,另一种是DMA通道传输任务结束后,服务下一个同优先级的DMA通道传输。
3)低优先级的服务被高优先级的服务中断。
其中各中断的优先级由主处理器在在该DMA传输初始化时配置。中断源可以是来之于节点的硬中断,也可以是来之于主处理器的软中断。每个DMA的中断是否允许响应既该各中断的使能信号也是在DMA传输初始化时配置。
分割单元1910的主要功能是将长的DMA传输分割成多个短DMA传输。分割的原则是非易失型存储器接口每次访问非易失型存储器时地址空间必须连续、块对齐且最大的块数受限制。
每次分割由以下条件决定:该DMA通道需要传输的长度、每次传输的最大允许的块数、分割后的每次DMA传输的逻辑地址必须连续。每个DMA通道最大允许的传输块数可以在该DMA传输初始化时配置。
对于A类节点的DMA传输分割方法如下:
如果A类节点提出要求传输的数据跨过的块数大于最大允许传输块数,则将这次的DMA传输长度设为最大允许传输块数。
如果A类节点提出要求传输的数据跨过的块数不大于最大允许传输块数,则将这次的DMA传输长度设为数据跨过的块数。
对于B类节点的DMA传输分割方法如下:
主控制器给出该DMA通道的这次DMA传输的传输长度、逻辑地址暂存器的地址以及这次DMA传输的首逻辑块地址相对于该地址暂存器的地址的内容的偏移量。
该分割后得到两个参数,一个是这次DMA传输的首逻辑块地址和传输块数。
首逻辑块地址按以下原则得到:
1)根据地址暂存器的地址从地址暂存器中将对应项(“项”是指簇链结构中储存连续的段)读出,该项包括首逻辑块地址以及数据存储连续长度。
2)若数据存储的连续长度大于偏移量,则首逻辑块地址就是首地址所在的逻辑块的地址。若数据存储的连续长度小于偏移量,则将地址偏移量减去连续长度,地址暂存器地址跳到下一项重复。
其中,本发明实施例中所述偏移量的概念,是因为在实际的应用中,如MP3播放,可能需要从某一个字节开始到另一个以字节为单位的地址结束。因此,有时需要引入第一个簇的偏移量和传输长度的参数。例如地址指示缓冲区内的数据表示为,起始扇区:2,结束扇区为3,如果按照512字节/扇区的计算,那么就是1024个字节。但是所需的数据位于2和3扇区之间的第500-700字节,那么就需要在第一簇的偏移量设置为500,传输长度为200,获得这之间的数据,而非扇区2和3的全部数据。
当找到首逻辑块地址后,按以下原则确定传输块数:
1)如果DMA要求传输的数据跨过的块数大于最大传输块数,且最大传输块的地址在当前项的所表示的地址空间内,则传输块数就是当前DMA的最大传输块数。
2)如果DMA要求传输的数据跨过的块数大于最大传输块数,且最大传输块的地址超出当前项的所表示的地址空间内,则传输块数就是首逻辑块当前项的所表示的地址空间内最大的块所跨越的块数。
3)如果DMA要求传输的数据跨过的块数不大于最大传输块数,且最大传输块的地址在当前项的所表示的地址空间内,则传输块数就是当前DMA要求传输的数据跨过的块数。
4)如果DMA要求传输的数据跨过的块数不大于最大传输块数,且最大传输块的地址超出当前项的所表示的地址空间内,则传输块数就是首逻辑块当前项的所表示的地址空间内最大的块所跨越的块数。
寄存器组1912的主要功能是提供一个与主处理器通信的软件接口。寄存器组可以分为命令寄存器、状态寄存器、参数寄存器。命令寄存器的主要功能是存储住处理器发出的命令。状态寄存器的主要是存储一些状态变量,主处理器通过读出这些变量可以知道DMA控制状态。参数寄存器主要存储DMA通道一些参数,如地址暂存器中起始地址、首字节偏移量、传输长度和传输方向等。
逻辑地址暂存器接口1904的主要功能是在分割单元1910的控制下从逻辑地址暂存器中读出该DMA通道的簇链结构。
A类节点接口1902的主要功能是处理与A类节点间通信的协议,包括接收某一节点的DMA通道请求、逻辑地址和传输长度。在主控制器的控制下给出该DMA通道被服务信号,并从该设备读出或向该设备写入数据。
B类节点接口1900的主要功能是处理与B类节点间通信的协议,包括接收某一节点的DMA通道请求,在主控制器的控制下给出该DMA通道被服务信号,并从该设备读出或向该设备写入数据。
非易失型存储器接口1914的主要功能是处理与非易失型存储器进行通信的协议,包括向非易失型存储器发出读或写请求,并从非易失型存储器读出或向非易失型存储器接口写入数据。
主控制单元1908的主要功能是控制和协调各模块工作,并产生中断或指示信号。
其中,主控制单元1908的状态机如图3所示,由IDLE、LOAD、Pr_RD、RD、RD_J、RD_WT、RD_E、Pr_WR、WR1、WR2、WR_J、WR_WT和WR_E状态构成:
IDLE:该状态表示处于空闲状态。当从中断控制器接收一个中断时,进行LOAD状态。
LOAD:在LOAD状态,对给DMA进行分割,在分割的过程中可能修改偏移量。如果是读,下一状态是Pr_RD,如果是写,则下一个状态是Pr_WR。
Pr_RD:向非易失型存储器接口提出读请求。当非易失型存储器接口给出读请求响应信号是进入RD。
RD:主要的功能从控制非易失型存储器接口向节点设备接口传输数据。但该块传输结束,进入RD_J。
RD_J:主要功能是判断下一个这次DMA请求是否结束。如果是,则进入RD_E,否则进入RD_WT。
RD_WT:主要功能是等待非易失型存储器接口数据有效信号和节点设备缓冲区有效信号。当这两各设备同时有效时,进入RD。
RD_E:完成一些结束操作,如更新状态寄存器。
Pr_WR:向非易失型存储器接口提出写请求。当非易失型存储器接口给出写请求响应信号是进入WR1。
WR1:主要的功能控制非易失型存储器接口接收节点设备接口传输来的数据。但该块传输结束,进入WR2。
WR2:在该状态时非易失型存储器接口将刚接收的数据写入存储介质,当数据写完时,进行WR_J。
WR_J:主要功能是判断下一个这次DMA请求是否结束。如果是,则进入WR_E,否则进入WR_WT。
WR_WT:主要功能是等待非易失型存储器接口缓冲区有效信号和节点设备数据有效信号。当这两各设备同时有效时,进入WR1。
WR_E:完成一些结束操作,如更新状态寄存器
其中,关于中断响应的时序为:
对较高优先级的中断,需立即执行的,当状态机处于读操作的任意一个状态时,则下一状态是RD_E,当状态机处于写操作的任意一个状态时,则下一状态是WR_E。
对与同优先级的中断,需按块时分共享总线带宽时,当状态机处于读操作,当RD_J时,下一状态是RD_E,当状态机处于写操作,当WR_J时,下一状态是WR_E。
对于低优先级的中断,只能在IDLE状态下仲裁决定。
FAT加速器17,即文件分配表(file allocation table,以下简称FAT)加速器,用于根据片内主控制器***20发出的命令对片外存储介质5的FAT表进行操作,包括寻找一个文件的簇链结构,并将其存储到逻辑地址暂存器18,以及寻找一些空的簇,并将簇构造成一个簇链结构存储到逻辑地址暂存器18中;所谓簇,是在物理上连续的一段存储空间,也是FAT文件***中基本的储存单位,每个文件由一个或多个簇组成,这些簇在物理上是连续的或不连续的,FAT是一种链接列表,链接列表中相关记录之间互相指向对方。
所述FAT加速器17,可以使用现有的用于读取FAT表的加速器,也可以使用一种如附图3所示的加速器来读取FAT表,包括主控模块301、FAT表扇区计算模块302、FAT表扇区读写模块303、簇链结构缓冲区304、缓冲区数据读写模块305和结果保存模块306;
所述的主控模块301,用于根据对文件分配表的访问类型,获取需要访问的簇索引号,并进而根据所述簇索引号控制完成访问操作;
所述的FAT表扇区计算模块302,用于根据所述主控模块301获取的簇索引号,计算在FAT表中包含与该簇对应的单元的FAT表扇区号;
所述的FAT表扇区读写模块303,用于根据所述FAT表扇区计算模块302计算的FAT表扇区号,从片外存储介质5中读取指定的扇区数据,并将其保存到缓冲区中,或将缓冲区中扇区数据写入指定的扇区中;
簇链结构缓冲区304,与所述FAT表扇区数据读写模块303相连,用于临时存储读出或需要写入的扇区数据;
所述的缓冲区数据读写模块305,用于从所述簇链结构缓冲区304中依次读出扇区数据,或者向所述簇链结构缓冲区304依次写入扇区数据;
所述的结果保存模块306,用于根据所述主控模块301执行的操作类型,保存从所述缓冲区数据读写模块305读取的,或者需要向所述缓冲区数据读写模块305写入的数据;
结合本发明的实施例,可以由所述结果保存模块306将数据写入逻辑地址暂存器18中。
所述的主控模块301又可以仅包括读取子模块3011,或仅包括新建子模块3012、或仅包括修改子模块3013,或仅包括删除子模块3014,或者是上述这些子模块的任意组合;
所述的读取子模块3011,用于根据读取访问操作,获取需要访问的簇索引号,进而控制对文件分配表的读取访问;
所述的新建子模块3012,用于根据新建访问操作,获取需要访问的簇索引号,进而控制对文件分配表的新建访问;
所述的修改子模块3013,用于根据修改访问操作,获取需要访问的簇索引号,进而控制对文件分配表的修改访问;
所述的删除子模块3014,用于根据删除访问操作,获取需要访问的簇索引号,进而控制对文件分配表的删除访问。
利用上述FAT加速器对文件分配表进行读取访问时,如图4所示,包括步骤如下:
主控模块301从片内主控制器获取需要读取的第一个簇索引号,并将其发送至FAT表扇区计算模块302(步骤601);
所述FAT表扇区计算模块302根据所述簇索引号,计算出包含与该簇对应的FAT表单元的FAT表扇区号,并将其发送至FAT表扇区读写模块303(步骤602);
所述FAT表扇区读写模块303根据所述FAT表扇区号,从存片外储介质5中读取指定扇区的记录,并将其发送至簇链结构缓冲区304(步骤603);
缓冲区数据读写模块305从所述簇链结构缓冲区304中依次读出每簇对应的数据内容(步骤604);
所述主控模块301根据该读出的数据内容,判断出与所述第一个簇索引号形成簇链关系的数据,并将其经过结果保存模块306进行保存(步骤605);
所述主控模块301将所述判断出的与第一个簇形成簇链关系的数据作为下一个簇索引号,重复上述步骤,直至判断出该簇链结束(步骤606)。
利用上述FAT加速器对文件分配表进行搜索空白簇访问时,如图5所示,包括步骤如下:
主控模块301从片内主控制器获取需要读取的第一个簇索引号,或随机确定所述第一个簇索引号,并将其发送至FAT表扇区计算模块302(步骤701);
所述FAT表扇区计算模块302根据所述簇索引号,计算出包含与该簇对应的FAT表单元的FAT表扇区号,并将其发送至FAT表扇区读写模块303(步骤702);
所述FAT表扇区读写模块303根据所述FAT表扇区号,从片外存储介质5中读取指定扇区的记录,并将其发送至簇链结构缓冲区304(步骤703);
缓冲区数据读写模块305从所述簇链结构缓冲区304中依次读出每簇对应的数据内容(步骤704);
所述主控模块301根据该读出的数据内容,判断该对应簇是否为空白簇,如果是空白簇,则将该数据经过结果保存模块306进行保存(步骤705);
所述主控模块301将所述第一个簇索引号以一定间隔递增,作为下一个簇索引号,重复上述步骤,直至保存的空白簇个数达到要求(步骤706)。
利用上述FAT加速器对文件分配表进行写入访问时,如图6所示,包括步骤如下:
主控模块301根据要写入的簇链结构关系获取要写入的第一个簇索引号,并将其发送至FAT表扇区计算模块302以及缓冲区数据读写模块305(步骤801);
所述FAT表扇区计算模块302根据所述簇索引号,计算出包含与该簇对应的FAT表单元的FAT表扇区号,并将其发送至FAT表扇区读写模块303(步骤802);
所述FAT表扇区读写模块303根据给定的扇区号,从片外存储介质5中读取指定扇区记录,并将其发送至簇链结构缓冲区304(步骤803);
所述缓冲区数据读写模块305根据接收到的扇区数据对所述簇链结构缓冲区304内的数据进行修改(步骤804);
所述簇链结构缓冲区304内的数据经过修改后,经所述FAT表扇区读写模块303,写回所述片外存储介质5(步骤805);
所述主控模块301根据所述要写入的簇链关系获取要写入的下一个簇索引号,重复上述步骤,直至写入簇链结束(步骤806)。
利用上述FAT加速器对文件分配表进行删除访问时,如图7所示,包括步骤如下:
主控模块301从片内主控制器获取需要读取的第一个簇索引号,并将其发送至FAT表扇区计算模块302(步骤901);
所述FAT表扇区计算模块302根据所述簇索引号,计算出包含与该簇对应的FAT表单元的FAT表扇区号,并将其发送至FAT表扇区读写模块303(步骤902);
所述FAT表扇区读写模块303根据所述FAT表扇区号,从片外存储介质5中读取指定扇区的记录,并将其发送至簇链结构缓冲区304(步骤903);
缓冲区数据读写模块305从所述簇链结构缓冲区304中依次读出每簇对应的数据内容(步骤904);
所述主控模块301根据该读出的数据内容,判断出与所述第一个簇索引号形成簇链关系的数据,并将其修改为空白簇标识,并经过簇链结构缓冲区304,由所述FAT表扇区读写模块303写回所述片外存储介质5(步骤905);
所述主控模块301将所述判断出的与第一个簇形成簇链关系的数据作为下一个簇索引号,重复上述步骤,直至判断出该簇链结束(步骤906)。
利用本发明的实施例,进行播放控制的过程如下:
片外主控制器4直接控制存储于片外主控制器***内的MIDI格式的数字音频文件播放,如说明书附图8所示,步骤包括:
片外主控制器4将MIDI音乐数据转换成消息发送至MIDI播放器14消息缓冲区(步骤1101);
MIDI播放器14读取消息缓冲区内的数据消息,回送音乐经过数字混音器13、音效处理器12、二选一模块10,输出到数模转换器9转换成模拟信号,从而通过喇叭播放出来(步骤1102);
当MIDI播放器14消息缓冲区内的数据信息消耗到一阈值时,即产生中断,并向片外主控制器4请求发送新的消息(步骤1103);
重复如上步骤1101、1102、1103,直至MIDI音乐数据播放完毕为止(步骤1104)。
片外主控制器4直接控制存储于片外主控制器***内的非MIDI格式的数字音频文件播放,如说明书附图9所示,步骤包括:
片外主控制器4首先分析该音乐的格式信息,然后通过消息将该格式信息发送至相应的音乐播放器,例如属于MP3格式的音频文件,则将该格式信息发送至MP3播放器21(步骤1201);
片外主控制器4将音乐数据发送到相应的音乐播放器的缓冲区内,例如仍属于上述MP3格式的音频文件,则将音乐数据发送到MP3播放器21的缓冲区中(步骤1202);
相应的音乐播放器播放音乐数据,例如仍属于上述的MP3格式的音频文件,则由MP3播放器21进行播放(步骤1202);
当音乐播放器缓冲区内的音乐数据消耗到一阈值时,即产生中断,并向片外主控制器4请求发送新的数据(步骤1204);
重复如上步骤1202、1202、1204,直至非MIDI音乐数据播放完毕为止(步骤1205)。
综上可以得出,片外主控制器4直接控制存储于片外主控制器***内的非MIDI格式的数字音频文件播放,非MIDI格式的数字音频文件也可以为WMA、WAVE或其他,只需在本发明内加入与之相应的播放器即可,其连接方式及播放方法均相同。
而当MIDI音乐数据存储于片外存储介质时,片内主控制器控制存储在片外存储介质5中的MIDI格式的数字音频文件播放,如说明书附图10所示,步骤包括:
片外主控制器4发送一个消息给片内主控制器要求播放MIDI音乐,该消息包含该MIDI音频数据在片外存储介质5中的位置信息,之后片内主控制器准备播放MIDI音乐(步骤1301);
片内主控制器根据接收到的片外主控制器4的消息中的位置信息,发一个FAT表读命令给FAT加速器17,该命令包括:起始簇链结构信息、簇链结构存储于逻辑地址暂存器18中的首地址和大小(步骤1302);
FAT加速器17根据FAT读命令,将该文件的簇链结构读出,按特定的格式存储到逻辑地址暂存器18中指定的位置,然后发送一个中断通知片内主控制器(步骤1303);
片内主控制器接收到FAT加速器17的中断后,执行一个中断程序,该中断程序从FAT加速器17中的一些寄存器读出一些参数,该参数包括刚才寻找了多少个簇,逻辑地址暂存器18中最后一个簇是否是该文件最后一个簇,以及逻辑地址暂存器18中最后一个簇的内容(步骤1304);
片内主控制器发送一个命令给DMAC控制器19,要求将存储在片外存储介质5上的某一段MIDI数据读到片内主控***缓冲区中(步骤1305);
DMAC控制器19根据接收到的命令,参考逻辑地址暂存器18中簇链结构,计算出将要读出MIDI数据的逻辑地址和长度发送给存储介质控制器接口501,MIDI音频数据被放置于片内主控制器缓冲区中(步骤1306);
片内主控制器将片内主控制器缓冲区中音频数据转换成消息发送至MIDI播放器(步骤1307);
MIDI播放器读取消息缓冲区内消息并播放(步骤1308);
当MIDI播放器消息缓冲区内的数据信息消耗到一阈值时,即产生中断,并向片内主控制器请求发送新的消息(步骤1309);
片内主控制器需要从片外存储介质5中重新读MIDI数据,如新数据的位置仍在逻辑地址暂存器18中簇链结构对应的簇内,则执行步骤1305,反之,则执行步骤1302(步骤1310);
当音乐播放结束时,片内主控制器发送结束消息给MIDI播放器(步骤1311)。
片内主控制器直接控制存储在片外存储介质5中的非MIDI格式的数字音频文件播放,如说明书附图11所示,步骤包括:
片外主控制器4发送一个消息给片内主控制器要求播放非MIDI音乐,该消息包含该非MIDI音频数据在片外存储介质5中的位置信息,之后片内主控制器准备播放非MIDI音乐(步骤1401);
片内主控制器根据接收到的片外主控制器4的消息中的位置信息,发一个FAT表读命令给FAT加速器17,该命令包括:起始簇链结构信息、簇链结构存储于逻辑地址暂存器中的首地址和大小(步骤1402);
FAT加速器17根据FAT读命令,将该文件的簇链结构读出,按特定的格式存储到逻辑地址暂存器18中指定的位置,然后发送一个中断通知片内主控制器(步骤1403);
片内主控制器接收到FAT加速器17的中断后,执行一个中断程序,该中断程序从FAT加速器17中的一些寄存器读出一些参数,该参数包括刚才寻找了多少个簇,逻辑地址暂存器18中最后一个簇是否是该文件最后一个簇,以及逻辑地址暂存器18中最后一个簇的内容(步骤1404);
片内主控制器发送一个命令给DMAC控制器19,要求将存储在片外存储介质5上的某一段非MIDI音乐数据的播放参数消息读到片内主控***缓冲区中(步骤1405);
DMAC控制器19根据接收到的命令,参考逻辑地址暂存器18中簇链结构,计算出将要读出播放参数的数据的逻辑地址和长度发送给存储介质控制器接口501,播放参数被送到片内主控***缓冲区中(步骤1406);
片内主控制器首先分析该音乐的播放参数,然后通过消息将该参数发送给对应格式的音乐播放器,例如属于MP3格式的音频文件,则将该格式信息发送至MP3播放器21(步骤1407);
片内主控制器发送一个命令给DMAC控制器19,要求将存储在片外存储介质5上的某一段非MIDI音乐数据读到对应的音乐播放器的缓冲区内,例如仍属于上述MP3格式的音频文件,则将音乐数据发送到MP3播放器21的缓冲区中(步骤1408);
相应的音乐播放器播放音乐数据,例如仍属于上述的MP3格式的音频文件,则由MP3播放器21进行播放(步骤1409);
当音乐播放器缓冲区内的音乐数据消耗到一阈值时,即产生中断,并向片内主控制器请求发送新的数据(步骤1410);
片内主控制器***需要从片外存储介质5中重新读非MIDI数据,如新数据的位置仍在逻辑地址暂存器18中簇链结构对应的簇内,则执行步骤1408,反之,则执行步骤1402,但应跳过步骤1405、1406、1407(步骤1411);
当音乐播放结束时,片内主控制器发送结束消息给对应的播放器(步骤1412)。
综上可以得出,片内主控制器直接控制存储在片外存储介质5中的非MIDI格式的数字音频文件播放,非MIDI格式的数字音频文件也可以为WMA、WAVE或其他,只需在本发明内加入与之相应的播放器即可,其连接方式及播放方法均相同。
录音控制方法,如说明书附图12所示,步骤包括:
片外主控制器4发送一个消息给片内主控制器要求录音(步骤1501);
片内主控制器根据从片外主控制器4处的消息,发一个空簇读命令给FAT加速器17,该命令包括一个搜索起始簇的位置,用于存储该逻辑地址暂存器18的首地址和大小(步骤1502);
FAT加速器17根据该命令,按一定的原则寻找空簇,按特定的格式存储到逻辑地址暂存器18中指定的位置,然后发送一个中断通知片内主控制器(步骤1503);
片内主控制器接收到FAT加速器17的中断后,执行一个中断程序,该中断程序从FAT加速器17中的一些寄存器读出一些参数,该参数包括刚才寻找了多少个空簇(步骤1504);
片内主控制器发送一个命令给DMAC控制器19,要求录音DMAC初始化(步骤1505);
音频压缩模块15接收数字混音器13处理后音频信息,或接收音效处理器12处理后音频信息,或接收来自于片内主控制器***总线201及片外主控制器***总线402上的音频信息,经压缩后放置于其数据缓冲区中(步骤1506);
当音频压缩模块15的数据缓冲区中数据满时,则通过DMAC将所述信息写入片外存储介质5的空簇中(步骤1507);
如不需要寻找更多的空簇,则重复步骤1507,反之,则片内主控制器发出FAT表更新命令给FAT加速器17,将已经消耗完的簇的簇链结构更新到新的片外存储介质5的对应FAT区,然后执行步骤1502、1503、1504、1505、1507(步骤1508);
录音结束时,需执行录音结束程序(步骤1509)。
片外主控制器4访问片外存储介质5的控制方法,如说明书附图13所示,步骤包括:
片外主控制器4发送一个消息至片内主控制器,该消息包含是读文件还是写文件以及文件的位置信息(步骤1601);
片内主控制器根据片外主控制器4的通知发出消息给FAT加速器17,将目标文件的簇链结构写入到逻辑地址暂存器18中(步骤1602);
片内主控制器再发出消息给DMAC控制器19为片外主控制器4访问片外存储介质5建立一个DMAC(步骤1603);
片内主控制器根据消息的类型,如是读文件,则将片外存储介质5中的数据送到片外主控制器缓冲区中,再由片外主控制器4读取;如是写文件,则先将片外主控制器4内数据写入到片外主控制器缓冲区中,再由片内主控制器送到片外存储介质5中(步骤1604);
如不需要更新簇链结构,则执行步骤1604,反之,则执行步骤1602、1603、1604(步骤1605);
访问结束时,需执行结束程序(步骤1606)。
USB主机6访问片外存储介质5的控制方法,如说明书附图14所示,步骤包括:
USB主机6通过主机接口发送SCSI(small computer system intefface,即小型计算机***接口)命令给片内主控制器,该命令包括DMAC即将要传输的数据在片外存储介质5中的簇信息(步骤1701);
片内主控制器分析该命令,并将簇链结构写入逻辑地址暂存器18中(步骤1702);
片内主控制器发出消息给DMAC控制器为USB主机6访问片外存储介质5建立一个DMAC(步骤1703);
片内主控制器根据命令的类型,如是读文件,则将片外存储介质5中的数据送到USB接口缓冲区中,再由USB主机6读取;如是写文件,则先将USB主机6中文件送到USB接口缓冲区中,再写入片外存储介质5中(步骤1704);
重复步骤1704,直到该SCSI命令中要求的所有数据传输完成(步骤1705)。
USB主机6访问片外主控制器4的方法,如说明书附图15所示,步骤包括:
USB主机6通过USB接口向片外主控制器4发送访问命令(步骤1801);
片外主控制器4根据命令的类型,如果数据方向是从片外主控制器4到USB主机6,则将数据送到USB接口缓冲区中,再由USB主机6读取;如果数据方向是从USB主机6到片外主控制器4,则先将USB主机6中文件送到USB接口缓冲区中,再通知片外主控制器4读取数据(步骤1802);
访问完毕(步骤1803)。
尽管本发明的实施方案已公开如上,但其并不仅仅限于说明书和实施方式中所列运用,它完全可以被适用于各种适合本发明的领域,对于熟悉本领域的人员而言,可容易地实现另外的修改,例如,本发明的实施例是通过中断控制方式来实现命令的交互,本领域人员应当知道也可以通过其他方式进行,例如等待、轮询等方式。因此在不背离权利要求及等同范围所限定的一般概念下,本发明并不限于特定的细节和这里示出与描述的图例。
Claims (18)
1、一种音频处理器,在片外主控制器***的控制下进行音频处理,其特征在于,包括:
片外主控制器总线接口模块,用于为所述片外主控制器提供与位于片内的片外控制总线的接口;
片内主控制器***,包括:片内主控制器、片内主控制器数据缓冲区、连接于片内控制总线的片内控制总线控制器,用于根据片外主控制器的命令执行相应的音频处理;
处理器通信模块,用于提供片内主控制器***与片外主控制器***之间的数据通信;
存储介质控制器接口,用于提供对存储有音频数据的片外存储介质的访问;
文件分配表加速器,用于根据片内主控制器的命令,通过所述存储介质控制器接口,对存储在片外存储介质上的数据文件的文件分配表进行访问,以确定数据文件在存储介质中的簇链结构;
逻辑地址暂存器,用于暂存由文件分配表加速器读取的数据文件的逻辑地址;
直接存储访问控制器及其总线,用于在片内主控制器的控制下建立直接存储访问通道,根据文件分配表加速器所确定的簇链结构信息,通过所述存储介质控制器接口,控制对片外存储介质的数据交换;
音乐播放器,用于在所述片外主控制器与片内主控制器的控制下,根据经由直接存储访问控制器读取的音频数据,提供至少一种音频格式的音乐回放;
数模转换器,用于将回放的数字音频信号转换为模拟信号输出。
2、如权利要求1所述的音频处理器,其特征在于,进一步包括位于片内的片外中断请求总线,通过所述片外主控制器总线接口模块与片外主控制器相连;
所述片内主控制器***还包括连接于片内中断请求总线的片内中断请求控制器。
3、如权利要求1所述的音频处理器,其特征在于,所述音乐播放器包括:MIDI播放器、MP3播放器、WMA播放器、Wave播放器,或所述各类型播放器的组合。
4、如权利要求1所述的音频处理器,其特征在于,所述直接存储访问控制器是以按块时分复用的方式服务于各通道,并根据业务的优先级按需分配带宽。
5、如权利要求1所述的音频处理器,其特征在于,还包括:
模数转换器,用于将模拟音频信号转换为数字信号输入。
6、如权利要求1所述的音频处理器,其特征在于,还包括
数字混音器,用于以数字的方式将回放的音乐与数字化后的信号进行混合;
音效处理器,用于对音频信号进行特效处理;
音频压缩模块,用于将输入到该模块的音频信号转换为特定的压缩格式。
7、如权利要求1所述的音频处理器,其特征在于,还包括:
片外主控制器缓冲区,用于临时缓存片外主控制器写入到片外存储介质,或从片外存储介质读出的数据。
8、如权利要求1所述的音频处理器,其特征在于,还包括:
USB接口,包括数据缓冲区,用于提供与USB主机的数据交换,从而通过片内主控制器的控制,使USB主机和片外存储介质交换数据,也可以通过片外主控制器的控制,使USB主机和片外主控制器交换数据。
9、如权利要求1所述的音频处理器,其特征在于,还包括:
I2S接口,用于提供符合I2S协议的音频输入信号;
二选一模块,用于数模转换的输入源是来自于I2S接口,还是来自于片内。
10、一种利用如权利要求1所述的音频处理器进行音乐播放的方法,用于播放存储在片外存储介质中的音乐数据,其特征在于,包括如下步骤:
(1)片外主控制器发送一个要求播放音乐的消息给片内主控制器,该消息中包含音频数据文件的格式与存储在片外存储介质中的位置信息;
(2)片内主控制器根据接收到的消息中的位置信息,发送一个文件分配表读取命令给文件分配表加速器,该命令中包含:起始簇链结构信息、簇链结构存储于逻辑地址暂存器中的首地址和大小;
(3)文件分配表加速器根据所述文件分配表读取命令,读取存储介质中的音频数据文件的簇链结构,读出数据的大小在所述逻辑地址暂存器的大小范围之内,并将读出的簇链结构信息存储到逻辑地址暂存器中指定的位置;
(4)片内主控制器根据所述读出的簇链结构确定音频数据文件的簇链信息参数;
(5)片内主控制器根据确定的音频数据文件的簇链信息参数,发送一个文件读取命令给所述直接存储访问控制器,要求将存储在存储介质中的与读出的簇链结构相对应的音频数据读到片内主控制器***的缓冲区中;
(6)直接存储访问控制器根据接收到的命令建立一个直接存储访问通道,参考逻辑地址暂存器中的簇链结构信息,计算出将要读出的音频数据的逻辑地址和长度,发送给存储介质控制器接口,将音频数据送到片内主控制器***缓冲区中;
(7)片内主控制器***将音频数据转换成消息发送到对应格式的音乐播放器的消息缓冲区中,由该播放器回放音乐,并经数模转换器转换成模拟信号输出。
11、如权利要求10所述的方法,其特征在于,进一步包括如下步骤:
(8)当音乐播放器消息缓冲区中的数据消耗到一定阈值时,请求向片内主控制器请求发送新的消息;
(9)片内主控制器***根据该请求,判断需要继续发送的新数据的位置是否仍然在逻辑地址暂存器中簇链结构对应的簇内,如果是,则从所述步骤(5)开始重新执行,否则,从所述步骤(2)开始执行。
12、如权利要求10所述的方法,其特征在于,在所述步骤(6)后,进一步包括如下步骤:
由片内主控制器分析该音频数据格式对应的播放参数,并通过消息将该参数信息发送给对应格式的音乐播放器。
13、一种利用如权利要求1所述的音频处理器进行音乐播放的方法,用于播放存储在片外主控制器中的音乐数据,其特征在于,包括如下步骤:
片外控制器将音频数据转换成消息发送至对应格式的音乐播放器的消息缓冲区中,由该播放器回放音乐,并经数模转换器转换成模拟信号输出;
当播放器消息缓冲区中的数据消耗到一定阈值时,向片外主控制器请求发送新的消息给播放器回放,直至播放完成。
14、一种利用如权利要求4所述的音频处理器进行音乐录制的方法,其特征在于,包括如下步骤:
片外主控制器发送一个音频录制消息给片内主控制器要求录音;
片内主控制器根据接收到的消息,发送一个搜索空白簇命令给所述文件分配表加速器,该命令包含:起始簇链结构信息、簇链结构存储于逻辑地址暂存器中的首地址和大小;
文件分配表加速器根据该命令在存储介质中寻找空白簇,并将寻找到的空白簇的簇链结构信息存储到逻辑地址暂存器中指定的位置;
片内主控制器根据所述读出的空白簇簇链结构确定空白簇数量;
片内主控制器发送一个命令给直接存储访问控制器建立一个直接存储访问通道,通过直接存储访问控制器参考逻辑地址暂存器中的空白簇簇链信息,将播放器回放的音乐或经模数转换器输入的音频数据写入存储介质中。
15、如权利要求14所述的方法,其特征在于,还包括如下步骤:
片内主控制器发出文件分配表更新命令给文件分配表加速器,将已经消耗完的簇的簇链结构更新到存储介质中对应的文件分配表区,然后重新向文件分配表加速器发出搜索空白簇命令,并控制向空白簇中继续写入数据。
16、一种利用如权利要求7所述的音频播放器控制片外主控制器访问存储介质的方法,其特征在于,包括如下步骤:
片外主控制器发送一个文件访问消息通知给片内主控制器,该消息包括读文件命令或写文件命令,以及文件的位置信息;
片内主控制器根据该消息命令文件分配表加速器将该文件的簇链结构读入到逻辑地址暂存器中;
片内主控制器发出消息给直接存储访问控制器为片外主控制器访问存储介质建立一个直接存储访问通道;
如果是读文件,存储介质上的数据被直接存储访问控制器参考簇链结构从存储介质中读出,并送到片外主控制器缓冲区中,然后被片外主控制器读走;
如果是写文件,片外主控制器将数据写入片外主控制器缓冲区中,然后由直接存储访问控制器参考簇链结构,将数据送到存储介质中。
17、一种利用如权利要求8所述的音频播放器控制USB主机访问存储介质的方法,其特征在于,包括如下步骤:
USB主机通过所述USB接口发送一个消息给片内主控制器,该消息包括读文件命令或写文件命令,以及直接存储访问控制器即将要传输的数据在存储介质中的簇链信息;
片内主控制器分析该命令,并将簇链信息写入逻辑地址暂存器中;
片内主控制器发出消息给直接存储访问控制器,要求为USB主机访问存储介质建立一个直接存储访问通道;
如果是读文件,存储介质上的数据被直接存储访问控制器参考簇链结构从存储介质中读出,并送到USB接口缓冲区中,然后由USB主机从接口缓冲区中将数据读走;
如果是写,USB主机将数据写入接口缓冲区中,然后由直接存储访问控制器参考簇链结构,将数据送到存储介质中。
18、一种利用如权利要求8所述的音频播放器控制USB主机与片外主控制器交换数据的方法,其特征在于,包括如下步骤:
如果数据交换方向是从USB主机到片外主控制器,则USB主机先将数据送到USB接口缓冲区中,然后USB接口通知片外主控制器将数据读走;
如果数据交换方向是从片外主控制器到USB主机,则片外主控制器先将数据送到USB接口缓冲区中,然后USB主机从USB接口中将数据读走。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005101322234A CN100378696C (zh) | 2005-12-22 | 2005-12-22 | 音频处理器及其控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005101322234A CN100378696C (zh) | 2005-12-22 | 2005-12-22 | 音频处理器及其控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1831797A true CN1831797A (zh) | 2006-09-13 |
CN100378696C CN100378696C (zh) | 2008-04-02 |
Family
ID=36994106
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005101322234A Expired - Fee Related CN100378696C (zh) | 2005-12-22 | 2005-12-22 | 音频处理器及其控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100378696C (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101477822A (zh) * | 2009-01-15 | 2009-07-08 | 凯瑞德电子(深圳)有限公司 | 一种可相互转化文件格式的播放/录制组合音响装置 |
CN102036069A (zh) * | 2009-09-30 | 2011-04-27 | 夏普株式会社 | 图像处理装置 |
CN101227763B (zh) * | 2007-01-15 | 2013-01-23 | 昆山杰得微电子有限公司 | 音效处理装置及音效处理方法 |
CN108182930A (zh) * | 2017-12-18 | 2018-06-19 | 福建星网视易信息***有限公司 | 音效处理方法、设备及音视频点播*** |
CN108345430A (zh) * | 2017-12-27 | 2018-07-31 | 北京兆易创新科技股份有限公司 | 一种Nand flash元件及其运行控制方法和装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5519684A (en) * | 1990-05-14 | 1996-05-21 | Casio Computer Co., Ltd. | Digital recorder for processing in parallel data stored in multiple tracks |
JP3671120B2 (ja) * | 1999-06-16 | 2005-07-13 | 株式会社ソニー・コンピュータエンタテインメント | データ転送装置、データ転送システムおよびデータ転送方法 |
US8001289B2 (en) * | 2003-07-01 | 2011-08-16 | Samsung Electronics Co., Ltd. | Digital audio/video apparatus and method that can perform additional operations |
CN1595393A (zh) * | 2003-12-22 | 2005-03-16 | 上海广电信息产业股份有限公司 | 实时音频编码器接口预处理软硬件***及方法和用途 |
US20050266882A1 (en) * | 2004-05-25 | 2005-12-01 | Mahmut Ciftci | Apparatus and method for implementing file recording in a resource-constrained digital radio |
CN100349150C (zh) * | 2005-06-06 | 2007-11-14 | 北京中星微电子有限公司 | 通过直接存储器访问控制器传输数据的***及方法 |
-
2005
- 2005-12-22 CN CNB2005101322234A patent/CN100378696C/zh not_active Expired - Fee Related
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101227763B (zh) * | 2007-01-15 | 2013-01-23 | 昆山杰得微电子有限公司 | 音效处理装置及音效处理方法 |
CN101477822A (zh) * | 2009-01-15 | 2009-07-08 | 凯瑞德电子(深圳)有限公司 | 一种可相互转化文件格式的播放/录制组合音响装置 |
CN102036069A (zh) * | 2009-09-30 | 2011-04-27 | 夏普株式会社 | 图像处理装置 |
CN108182930A (zh) * | 2017-12-18 | 2018-06-19 | 福建星网视易信息***有限公司 | 音效处理方法、设备及音视频点播*** |
CN108182930B (zh) * | 2017-12-18 | 2021-12-10 | 福建星网视易信息***有限公司 | 音效处理方法、设备及音视频点播*** |
CN108345430A (zh) * | 2017-12-27 | 2018-07-31 | 北京兆易创新科技股份有限公司 | 一种Nand flash元件及其运行控制方法和装置 |
CN108345430B (zh) * | 2017-12-27 | 2021-08-10 | 北京兆易创新科技股份有限公司 | 一种Nand flash元件及其运行控制方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN100378696C (zh) | 2008-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1119804C (zh) | 数据记录和/或再现***及其方法 | |
CN1249590C (zh) | 计算机控制便携式个人设备的方法及其该设备的操作方法 | |
CN1242376C (zh) | 声音识别***、装置、声音识别方法 | |
CN1184805C (zh) | 数据记录重放装置及程序记录媒体 | |
CN1517869A (zh) | 处理器、运算处理方法和优先度决定方法 | |
CN100351750C (zh) | 信息处理设备,信息处理方法,记录介质,以及程序 | |
CN1658184A (zh) | 网络***、分布式处理方法和信息处理装置 | |
CN1752947A (zh) | 存储装置、存储控制方法,以及计算机产品 | |
CN1161532A (zh) | 多媒体数据再生方法和多媒体服务器*** | |
CN1734438A (zh) | 信息处理设备、信息处理方法和程序 | |
CN1241745A (zh) | 显示控制装置和显示控制方法 | |
CN1175034A (zh) | 存储器控制器和存储器控制*** | |
CN101064656A (zh) | 存储集群***、数据处理方法和程序 | |
CN1812548A (zh) | 记录器及其方法,播放器及其方法,程序和记录介质 | |
CN1658665A (zh) | 存储器管理方法、图像处理设备和存储器管理程序 | |
CN1942869A (zh) | 组合存储器装置、数据写入方法和程序 | |
CN1932783A (zh) | 存储器控制装置 | |
CN1831797A (zh) | 音频处理器及其控制方法 | |
CN1890624A (zh) | 电子装置及其控制方法、主机装置及其控制方法 | |
CN1731402A (zh) | 用协处理器加速文件***操作的方法及装置 | |
CN1167073C (zh) | 数据记录装置和方法 | |
CN101065725A (zh) | 命令供给装置 | |
CN1113347C (zh) | 信息数据记录和重放装置 | |
CN1282925A (zh) | 数据处理装置 | |
CN1408085A (zh) | 文件管理方法及使用它的数据记录装置、数据再生装置、数据记录再生装置、以及用该文件管理方法记录的盘 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20080402 Termination date: 20111222 |