移动通信系统中的声码器装置及其语音帧调度方法

文档序号:7564734阅读:187来源:国知局
专利名称:移动通信系统中的声码器装置及其语音帧调度方法
技术领域
本发明涉及声码器装置,尤其涉及移动通讯领域中的声码器装置及其语音帧调度方法。
背景技术
在移动通讯系统中,为了有效利用空中接口的频谱资源,在移动台MS(Mobile Station)和基站之间传送的语音都是经过语音编码压缩的语音帧。声码器就是实现经过语音编码压缩的语音帧和标准的PCM码之间进行转换的装置。一般语音编码算法都具有运算量大,实时性强的特点。数字信号处理器(DSP,Digital Signal Processor)有非常快的运算速度,而且实现灵活,非常适合在声码器系统中应用。在声码器系统中同时需要一个主控CPU(Central Processing Unit)对DSP进行管理,并且主控CPU要把编码完成的语音帧从DSP中取出或者把需要解码的语音帧存入DSP。在公开号为CN1409575A(
公开日期2003年4月9日)的中国专利文献中,提供了一种采用多端口路由通信的声码器系统及其业务帧交换方法。其系统组成包括一个主控CPU,用来接收基站发送的业务帧,写入多端口路由通信单元,并把多端口路由通信单元的业务帧发送给基站;多端口路由通信单元,用于存储业务帧,其内部又分为n个主控CPU发送/DSP接收队列和n个主控CPU接收/DSP发送队列;n个数字信号处理器,根据多端口路由通信单元的中断信号接收和发送业务帧;与移动交换中心相连的E1接口;时钟接收单元1;以及提取E1接口时钟的时钟接收单元2。其系统的业务帧交换方法为主控CPU通过与基站的接口接收业务帧,把业务帧写入多端口路由通信单元,访问中断发生单元,中断相应的数字信号处理器,数字信号处理器读取业务帧,交给本数字信号处理器处理通过时分复用实现的声码器单元中所对应的一个,该声码器单元的业务帧由数字信号处理器写入多端口路由通信单元,访问中断发生单元,中断主控CPU,主控CPU接收业务帧,发送给基站。
在该现有专利文献中,系统采用多端口路由通信单元做为主控CPU和数字信号处理器之间语音帧的缓存单元,造成系统结构复杂,语音帧需要经过多端口路由通信单元存储转发,增大了语音帧的时延;同时系统采用中断的方式存取语音帧,每个语音帧都会触发一次中断,当系统中的声码器单元较多时,主控CPU会被频繁地中断,造成主控CPU的性能下降。当主控CPU控制的声码器单元较多时,如果主控CPU采用每次中断处理一个声码器单元的语音帧的方法,主控CPU会有相当多的时间浪费在保存中断处理的环境上,降低主控CPU的效率。例如在码分多址系统中,一个语音帧的时长是20毫秒,如果一个主控CPU控制480路声码器单元,则每42微秒就会产生一次中断,频繁的中断会大大降低主控CPU的运行效率。

发明内容
本发明所要解决的技术问题是为了克服了现有技术中的硬件结构复杂,系统中声码器单元增加困难等缺点,本发明的目的在于提供一种移动通信系统中的声码器装置,硬件结构简单,系统声码器单元集成度高。
本发明的另一目的在于提供了一种基于DSP内部RAM组成的缓冲区的语音帧调度方法,在一个中断中对所有的声码器单元的语音帧进行处理,使主控CPU不再频繁响应中断处理,提高了主控CPU的性能。
本发明所述的声码器装置如图1所示包括以下组成部分主控CPU,用于接收编码后的语音帧,并把接收的语音帧写入相应的DSP中的声码器单元进行解码,同时读取相应DSP中声码器单元编码后的语音帧;n个DSP,每个DSP可以实现m个声码器单元,可以同时完成m路语音的编解码功能;在DSP中还包括一个时分复用(TDM,Time Division Multiplexing)接口,用来接收和发送语音的PCM码流;中断产生逻辑单元,用来产生定时中断信号送给主控CPU和DSP。由DSP内部RAM的组成的共享RAM,即这部分RAM不仅DSP可以访问,主控CPU通过与DSP的接口也可以访问。共享RAM又划分为发送缓冲区,用来存放待解码的语音帧;接收缓冲区,用来存放DSP完成编码的语音帧;指针缓冲区,用来存放发送缓冲区和接收缓冲区的操作指针。
本发明所述声码器装置的语音帧调度方法如图2所示中断产生逻辑单元定时产生中断送给主控CPU和DSP,定时中断的间隔等于一个语音帧的时长。
主控CPU响应中断后,对所有的声码器单元执行如下的处理流程201.从指针缓冲区读取发送缓冲区的读操作指针和写操作指针,由此计算出发送缓冲区中的空闲队列。
202.把待解码的语音帧写入发送缓冲区的相应队列中。
203.把发送缓冲区的写操作指针重新设置后,写回指针缓冲区。
204.从指针缓冲区读取接收缓冲区的读操作指针和写操作指针,由此计算出接收缓冲区中的语音帧的位置。
205.把编码的语音帧从接收缓冲区的相应队列中读出。
206.把接收缓冲区的读操作指针重新设置后,写回指针缓冲区。
DSP响应中断后,对所有的声码器单元执行如下的处理流程207.从指针缓冲区读取发送缓冲区的读操作指针和写操作指针,由此计算出发送缓冲区中的语音帧的位置。
208.把待解码的语音帧从发送缓冲区的相应队列中读出,送相应声码器单元解码输出。
209.把发送缓冲区的读操作指针重新设置后,写回指针缓冲区。
210.从指针缓冲区读取接收缓冲区的读操作指针和写操作指针,由此计算出接收缓冲区中的空闲队列。
211.把声码器单元完成编码的语音帧写入接收缓冲区的空闲队列中。
212.把接收缓冲区的写操作指针重新设置后,写回指针缓冲区。
采用本发明所述方法和装置,与现有技术相比,去掉了缓存语音帧的多端口路由通信单元,硬件结构简单,在中断产生上,定时中断的间隔是一个语音帧的时长,在一个中断中对所有的声码器单元的语音帧进行处理,而不是每个声码器单元的语音帧都产生一次中断,使主控CPU不再频繁响应中断处理,提高了主控CPU的性能。


图1是本发明提出的一种声码器装置示意图;图2是本发明提出的一种语音帧调度方法示意图;图3是图1中的共享RAM的第一种具体实施的发送缓冲区结构图;图4是图1中的共享RAM的第一种具体实施的接收缓冲区结构图;
图5是图1中的共享RAM的第一种具体实施的指针缓冲区结构图;图6是图1中的共享RAM的第二种具体实施的发送缓冲区结构图;图7是图1中的共享RAM的第二种具体实施的接收缓冲区结构图;图8是图1中的共享RAM的第二种具体实施的指针缓冲区结构图。
具体实施例方式
下面结合附图对技术方案的实施作进一步的详细描述如图1所示,本发明的硬件部分由主控CPU101、DSP102和中断产生逻辑单元103组成。DSP102包括一个TDM接口和主控CPU101可以访问的内部RAM。
DSP102内部的共享RAM分为三个部分,分别是发送缓冲区队列301、接收缓冲区队列302和指针缓冲区队列303。图3是图1中的共享RAM的发送缓冲区结构图;图4是图1中的共享RAM的接收缓冲区结构图;图5是图1中的共享RAM的指针缓冲区结构图;发送缓冲区队列301存放的是主控CPU101写入DSP102,等待声码器单元进行解码的语音帧;接收缓冲区队列302存放的是DSP的声码器单元完成编码,等待主控CPU101取出的语音帧;指针缓冲区队列303存放主控CPU和DSP102对发送缓冲区队列301和接收缓冲区队列302进行操作的指针,包括主控CPU101对发送缓冲区队列301的写操作指针(TxWrite Ptr),主控CPU101对接收缓冲区队列302的读操作指针(Rx Read Ptr),DSP102对发送缓冲区队列301的读操作指针(Tx Read Ptr),DSP102对接收缓冲区队列302的写操作指针(Rx Write Ptr)。在图3、4、5中,CHANNEL是指声码器单元对应的缓存语音帧的队列,每个CHANNEL对应一个声码器单元。每个DSP102可以实现M个声码器单元同时进行语音编解码。每个CHANNEL可以为声码器单元缓存K个语音帧。
主控CPU101收到语音帧后,暂存在主控CPU101的缓冲区中,等待中断逻辑产生单元103产生定时中断,定时中断的间隔等于一个语音帧的时长,中断产生后,触发主控CPU101将暂存的语音帧写入DSP102的相应声码器单元对应的发送缓冲区队列301中,在语音帧中包含控制信息,指明该语音帧的目的DSP102的序号和所属声码器单元的单元号,主控CPU101将语音帧写入发送缓冲区队列301的过程如下主控CPU101首先访问指针缓冲区队列303,读取相应CHANNEL的主控CPU101的写操作指针(Tx Write Ptr)和DSP102的读操作指针(Tx ReadPtr),主控CPU101对这两个指针进行比较,检查发送缓冲区队列301的相应CHANNEL是否有空闲,如果没有空闲则告警退出,如果发送缓冲区队列的相应CHANNEL有空闲,则写入语音帧,然后把主控CPU101对发送缓冲区队列301的写操作指针(Tx Write Ptr)加1再写回指针缓冲区303。主控CPU101从接收缓冲区队列302中读取语音帧的过程如下主控CPU101首先访问指针缓冲区队列303,读取相应CHANNEL的主控CPU101的读操作指针(Rx Read Ptr)和DSP102的写操作指针(Rx Write Ptr),主控CPU101对这两个指针进行比较,检查接收缓冲区队列302的相应CHANNEL是否有语音帧,如果有语音帧,则从接收缓冲区队列302的相应CHANNEL中读取语音帧,然后把主控CPU101的读操作指针(RxRead Ptr)加1写回指针缓冲区303。
中断产生逻辑单元103触发DSP102产生中断后,DSP102首先轮询发送缓冲区队列301,将待解码的语音帧送给声码器单元解码,解码后的PCM码流从TDM接口输出,同时把从TDM接口输入的PCM码流编码成语音帧,写入接收缓冲区队列302中。DSP102从发送缓冲区队列301中读取语音帧的过程如下DSP102首先访问指针缓冲区队列303,读取相应CHANNEL的主控CPU101的写操作指针(TxWrite Ptr)和DSP102的读操作指针(Tx Read Ptr),DSP102对这两个指针进行比较,检查发送缓冲区队列301的相应CHANNEL是否有语音帧,如果有语音帧,则从发送缓冲区队列301的相应CHANNEL中读取语音帧,然后把DSP102的读操作指针(Tx Read Ptr)加1写回指针缓冲区303。DSP102将语音帧写入接收缓冲区队列302中的过程如下DSP102首先访问指针缓冲区队列303,读取相应CHANNEL的主控CPU101的读操作指针(Rx Read Ptr)和DSP102的写操作指针(RxWrite Ptr),DSP102对这两个指针进行比较,检查接收缓冲区队列302的相应CHANNEL是否有空闲,如果有空闲,则把语音帧写入接收缓冲区队列302的相应CHANNEL中,然后把DSP102的写操作指针(Rx Write Ptr)加1写回指针缓冲区303。
图6、7、8与图3、4、5的主要区别是DSP102中的全部声码器单元共享一个发送缓冲区队列301’和一个接收缓冲区队列302’,而图3、4、5中每个声码器单元在发送缓冲区队列301和接收缓冲区队列302中都有一个独立的队列。一般图3、4、5所示的结构比图6、7、8所示的结构需要更多的RAM空间。采用图3、4、5所示的结构,每个CHANNEL对应一个声码器单元,CHANNEL是该声码器单元的私有队列,其它的声码器单元不可能访问到该声码器单元的语音帧数据,主控CPU101和DSP102在读到一个语音帧时就可以确定该语音帧属于某一个声码器单元。而采用图6、7、8中所示的结构,所有的声码器单元共享同一个队列,存储在队列中的语音帧必须包括控制信息,指示该语音帧所属的声码器单元,主控CPU101和DSP102在读到一个语音帧时不能确定该语音帧的归属,必须对语音帧中包含的控制信息解析后才能确定该语音帧所属的声码器单元。
在图6、7、8中,主控CPU101将语音帧写入发送缓冲区队列301’的过程如下主控CPU101首先访问指针缓冲区队列303’,读取主控CPU101的写操作指针(Tx Write Ptr)和DSP102的读操作指针(Tx Read Ptr),主控CPU101对这两个指针进行比较,检查发送缓冲区队列301’是否有空闲,如果没有空闲则告警退出,如果发送缓冲区队列有空闲,则写入语音帧,然后把主控CPU101对发送缓冲区队列301的写操作指针(Tx Write Ptr)加上写入语音帧的个数再写回指针缓冲区303’。主控CPU101从接收缓冲区队列302’中读取语音帧的过程如下主控CPU101首先访问指针缓冲区队列303’,读取主控CPU101的读操作指针(Rx Read Ptr)和DSP102的写操作指针(Rx Write Ptr),主控CPU101对这两个指针进行比较,检查接收缓冲区队列302’是否有语音帧,如果有语音帧,则从接收缓冲区队列302’中读取语音帧,然后把主控CPU101的读操作指针(Rx Read Ptr)加上读出语音帧的个数写回指针缓冲区303’。
DSP102从发送缓冲区队列301’中读取语音帧的过程如下DSP102首先访问指针缓冲区队列303’,读取主控CPU101的写操作指针(Tx Write Ptr)和DSP102的读操作指针(Tx Read Ptr),DSP102对这两个指针进行比较,检查发送缓冲区队列301’是否有语音帧,如果有语音帧,则从发送缓冲区队列301’中读取语音帧,然后把DSP102的读操作指针(Tx Read Ptr)加上读出的语音帧个数写回指针缓冲区303’。DSP102将语音帧写入接收缓冲区队列302’中的过程如下DSP102首先访问指针缓冲区队列303’,读取主控CPU101的读操作指针(Rx Read Ptr)和DSP102的写操作指针(Rx Write Ptr),DSP102对这两个指针进行比较,检查接收缓冲区队列302’是否有空闲,如果有空闲,则把语音帧写入接收缓冲区队列302’中,然后把DSP102的写操作指针(RxWrite Ptr)加上写入语音帧的个数写回指针缓冲区303’。
权利要求
1.一种移动通信系统中的声码器装置,其特征在于,包括以下组成部分主控CPU,用于接收编码后的语音帧,并把接收的语音帧写入相应的数字信号处理器DSP中的声码器单元进行解码,同时读取相应数字信号处理器DSP中声码器单元编码后的语音帧;n个数字信号处理器DSP,每个数字信号处理器DSP可以实现m个声码器单元,可以同时完成m路语音的编解码功能;在DSP中还包括一个时分复用TDM接口,用来接收和发送语音的PCM码流;中断产生逻辑单元,用来产生定时中断信号送给主控CPU和数字信号处理器DSP。
2.如权利要求1所述的移动通信系统中的声码器装置,其特征在于,所述数字信号处理器DSP内部的RAM组成共享RAM。
3.如权利要求2所述的移动通信系统中的声码器装置,其特征在于,所述共享RAM划分为发送缓冲区、接收缓冲区、指针缓冲区;其中发送缓冲区,用来存放待解码的语音帧;接收缓冲区,用来存放数字信号处理器DSP完成编码的语音帧;指针缓冲区,用来存放发送缓冲区和接收缓冲区的操作指针。
4.如权利要求3所述的移动通信系统中的声码器装置,其特征在于,所述操作指针包括主控CPU对发送缓冲区的写操作指针,主控CPU对接收缓冲区的读操作指针,DSP对发送缓冲区的读操作指针,DSP对接收缓冲区的写操作指针。
5.一种如权利要求1所述的声码器装置的语音帧调度方法,其特征在于,该方法包括以下步骤(1)主控CPU收到语音帧后,等待中断产生逻辑单元产生定时中断;(2)中断产生逻辑单元产生中断送给主控CPU和数字信号处理器DSP;(3)主控CPU响应中断后,将语音帧写入数字信号处理器DSP的相应声码器单元对应的发送缓冲区,同时主控CPU从接收缓冲区读取语音帧;(4)数字信号处理器DSP响应中断后,从发送缓冲区读取语音帧,将待解码的语音帧送给声码器单元解码,解码后的PCM码流从TDM接口输出,同时把从TDM接口输入的PCM码流编码成语音帧,写入接收缓冲区。
6.如权利要求5所述的声码器装置的语音帧调度方法,其特征在于,步骤(3)还包括从指针缓冲区读取发送缓冲区的读操作指针和写操作指针,由此计算出发送缓冲区中的空闲队列,把发送缓冲区的写操作指针重新设置后,写回指针缓冲区;从指针缓冲区读取接收缓冲区的读操作指针和写操作指针,由此计算出接收缓冲区中的语音帧的位置,把接收缓冲区的读操作指针重新设置后,写回指针缓冲区。
7.如权利要求6所述的声码器装置的语音帧调度方法,其特征在于,还包括对发送缓冲区的读操作指针和写操作指针进行比较,以判断相应的CHANNEL是否有空闲写入语音帧;对接收缓冲区的读操作指针和写操作指针进行比较,以判断相应的CHANNEL中是否有需要读出的语音帧。
8.如权利要求5所述的声码器装置的语音帧调度方法,其特征在于,步骤(4)还包括从指针缓冲区读取发送缓冲区的读操作指针和写操作指针,由此计算出发送缓冲区中的语音帧的位置,把发送缓冲区的读操作指针重新设置后,写回指针缓冲区;从指针缓冲区读取接收缓冲区的读操作指针和写操作指针,由此计算出接收缓冲区中的空闲队列,把接收缓冲区的写操作指针重新设置后,写回指针缓冲区。
9.如权利要求8所述的声码器装置的语音帧调度方法,其特征在于,还包括对发送缓冲区的读操作指针和写操作指针进行比较,以判断相应的CHANNEL是否有语音帧;对接收缓冲区的读操作指针和写操作指针进行比较,以判断相应的CHANNEL是否有空闲队列写入语音帧。
10.如权利要求5所述的声码器装置的语音帧调度方法,其特征在于,所述的定时中断的间隔是一个语音帧的时长,在一个中断中对所有的声码器单元的语音帧进行处理。
11.如权利要求6或8所述的声码器装置的语音帧调度方法,其特征在于,所述重新设置是将指针加1或语音帧的个数。
全文摘要
本发明涉及一种移动通信系统中的声码器装置及其语音帧调度方法,装置包括主控CPU,用于接收编码后的语音帧,并把接收的语音帧写入相应的数字信号处理器DSP中的声码器单元进行解码,同时读取相应数字信号处理器DSP中声码器单元编码后的语音帧;n个数字信号处理器DSP,每个数字信号处理器DSP可以实现m个声码器单元,可以同时完成m路语音的编解码功能;在DSP中还包括一个时分复用TDM接口,用来接收和发送语音的PCM码流;中断产生逻辑单元,用来产生定时中断信号送给主控CPU和数字信号处理器DSP。本方法主要是在一个中断中对所有的声码器单元的语音帧进行处理,使主控CPU不再频繁响应中断处理,提高了主控CPU的性能。
文档编号H04W88/18GK1527624SQ03134818
公开日2004年9月8日 申请日期2003年9月25日 优先权日2003年9月25日
发明者李灿炜, 陈诗军, 徐德军, 吴筱苏 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1