CN1236631C - Vocoder unit for mobile communication system and its phonetic frame displayching method - Google Patents

Vocoder unit for mobile communication system and its phonetic frame displayching method Download PDF

Info

Publication number
CN1236631C
CN1236631C CN 03134818 CN03134818A CN1236631C CN 1236631 C CN1236631 C CN 1236631C CN 03134818 CN03134818 CN 03134818 CN 03134818 A CN03134818 A CN 03134818A CN 1236631 C CN1236631 C CN 1236631C
Authority
CN
China
Prior art keywords
buffer
pointer
vocoder
main control
operation pointer
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.)
Expired - Fee Related
Application number
CN 03134818
Other languages
Chinese (zh)
Other versions
CN1527624A (en
Inventor
李灿伟
陈诗军
徐德军
吴筱苏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN 03134818 priority Critical patent/CN1236631C/en
Priority to PCT/CN2003/001119 priority patent/WO2005029879A1/en
Priority to AU2003296208A priority patent/AU2003296208A1/en
Publication of CN1527624A publication Critical patent/CN1527624A/en
Application granted granted Critical
Publication of CN1236631C publication Critical patent/CN1236631C/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/18Service support devices; Network management devices
    • H04W88/181Transcoding devices; Rate adaptation devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Telephonic Communication Services (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

The present invention relates to a vocoder device in a mobile communication system and a phonetic frame dispatching method of the vocoder device. The device comprises a main control CPU, n digital signal processors DSP, a time division multiplexing TDM interface and an interruption generating logical unit, wherein the main control CPU is used for receiving encoded phonetic frames, writing the received phonetic frames into vocoder units of corresponding digital signal processors DSP for decoding and simultaneously reading the encoded phonetic frames of the vocoder units of the corresponding digital signal processors DSP; each of the n digital signal processors DSP, can realize m vocoder units and simultaneously complete the function of coding and decoding m paths of phonemes; the time division multiplexing TDM interface is arranged in DSP for receiving and transmitting phonetic PCM code streams; the interruption generating logical unit is used for generating timer interruption signals which are transmitted to the main control CPU and the digital signal processors DSP. The method mainly processes the phonetic frames of all vocoder units in one interruption to make the main control CPU not frequently respond to interrupt processing any longer, and the performance of the main control CPU is increased.

Description

移动通信系统中的声码器装置及其语音帧调度方法Vocoder device and voice frame scheduling method in mobile communication system

技术领域technical field

本发明涉及声码器装置,尤其涉及移动通讯领域中的声码器装置及其语音帧调度方法。The invention relates to a vocoder device, in particular to a vocoder device in the field of mobile communication and a voice frame scheduling method thereof.

背景技术Background technique

在移动通讯系统中,为了有效利用空中接口的频谱资源,在移动台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接收业务帧,发送给基站。In the mobile communication system, in order to effectively utilize the spectrum resources of the air interface, the speech transmitted between the mobile station MS (Mobile Station) and the base station is a speech frame compressed by speech coding. The vocoder is a device that realizes conversion between speech frames compressed by speech coding and standard PCM codes. General speech coding algorithms have the characteristics of large amount of calculation and strong real-time performance. Digital Signal Processor (DSP, Digital Signal Processor) has a very fast computing speed and flexible implementation, which is very suitable for application in the vocoder system. In the vocoder system, a main control CPU (Central Processing Unit) is required to manage the DSP at the same time, and the main control CPU needs to take out the encoded speech frames from the DSP or store the speech frames that need to be decoded into the DSP. In the Chinese patent document with publication number CN1409575A (publication date: April 9, 2003), a vocoder system using multi-port routing communication and a service frame exchange method thereof are provided. Its system composition includes: a main control CPU, used to receive the business frame sent by the base station, write into the multi-port routing communication unit, and send the business frame of the multi-port routing communication unit to the base station; the multi-port routing communication unit is used to store The business frame is divided into n main control CPU sending/DSP receiving queues and n main control CPU receiving/DSP sending queues; n digital signal processors receive and send services according to the interrupt signal of the multi-port routing communication unit frame; an E1 interface connected to the mobile switching center; a clock receiving unit 1; and a clock receiving unit 2 for extracting the clock of the E1 interface. The business frame exchange method of the system is as follows: the main control CPU receives the business frame through the interface with the base station, writes the business frame into the multi-port routing communication unit, accesses the interrupt generation unit, interrupts the corresponding digital signal processor, and the digital signal processor reads Fetch the business frame and give it to the digital signal processor to process the corresponding one of the vocoder units realized by time division multiplexing. The business frame of the vocoder unit is written into the multi-port routing communication unit by the digital signal processor, and access The interrupt generation unit interrupts the main control CPU, and the main control CPU receives the service frame and sends it to the base station.

在该现有专利文献中,系统采用多端口路由通信单元做为主控CPU和数字信号处理器之间语音帧的缓存单元,造成系统结构复杂,语音帧需要经过多端口路由通信单元存储转发,增大了语音帧的时延;同时系统采用中断的方式存取语音帧,每个语音帧都会触发一次中断,当系统中的声码器单元较多时,主控CPU会被频繁地中断,造成主控CPU的性能下降。当主控CPU控制的声码器单元较多时,如果主控CPU采用每次中断处理一个声码器单元的语音帧的方法,主控CPU会有相当多的时间浪费在保存中断处理的环境上,降低主控CPU的效率。例如在码分多址系统中,一个语音帧的时长是20毫秒,如果一个主控CPU控制480路声码器单元,则每42微秒就会产生一次中断,频繁的中断会大大降低主控CPU的运行效率。In this existing patent document, the system uses a multi-port routing communication unit as a buffer unit for voice frames between the main control CPU and the digital signal processor, resulting in a complex system structure, and the voice frames need to be stored and forwarded through the multi-port routing communication unit. The time delay of the voice frame is increased; at the same time, the system uses the interrupt method to access the voice frame, and each voice frame will trigger an interrupt. When there are many vocoder units in the system, the main control CPU will be frequently interrupted, resulting in The performance of the master CPU is degraded. When there are many vocoder units controlled by the main control CPU, if the main control CPU adopts the method of processing the voice frame of one vocoder unit each time interrupted, the main control CPU will waste a considerable amount of time in saving the environment for interrupt processing , reducing the efficiency of the master CPU. For example, in a code division multiple access system, the duration of a speech frame is 20 milliseconds. If a main control CPU controls 480 vocoder units, an interruption will be generated every 42 microseconds. Frequent interruptions will greatly reduce the performance of the main control unit. The operating efficiency of the CPU.

发明内容Contents of the invention

本发明所要解决的技术问题是:为了克服了现有技术中的硬件结构复杂,系统中声码器单元增加困难等缺点,本发明的目的在于提供一种移动通信系统中的声码器装置,硬件结构简单,系统声码器单元集成度高。The technical problem to be solved by the present invention is: in order to overcome the disadvantages of complex hardware structure in the prior art and difficulty in adding vocoder units in the system, the purpose of the present invention is to provide a vocoder device in a mobile communication system, The hardware structure is simple, and the system vocoder unit is highly integrated.

本发明的另一目的在于提供了一种基于DSP内部RAM组成的缓冲区的语音帧调度方法,在一个中断中对所有的声码器单元的语音帧进行处理,使主控CPU不再频繁响应中断处理,提高了主控CPU的性能。Another object of the present invention is to provide a kind of voice frame scheduling method based on the buffer zone that DSP internal RAM forms, in an interrupt, the voice frames of all vocoder units are processed, so that the main control CPU no longer frequently responds Interrupt handling improves the performance of the master CPU.

本发明所述的声码器装置包括以下组成部分:The vocoder device of the present invention comprises the following components:

主控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完成编码的语音帧;指针缓冲区,用来存放发送缓冲区和接收缓冲区的操作指针。Main control CPU is used to receive the coded speech frame, and writes the received speech frame into the vocoder unit in the corresponding DSP to decode, and reads the coded speech frame of the vocoder unit in the corresponding DSP at the same time; n There are m vocoder units in each DSP, which can simultaneously complete the encoding and decoding functions of m channels of voice frames; a time division multiplexing (TDM, Time Division Multiplexing) interface is also included in the DSP for receiving and sending Voice PCM code stream; interrupt generating logic unit, used to generate timing interrupt signal and send it to main control CPU and DSP. The shared RAM composed of DSP internal RAM, that is, this part of RAM can be accessed not only by DSP, but also by the main control CPU through the interface with DSP. The shared RAM is further divided into sending buffers for storing voice frames to be decoded; receiving buffers for storing voice frames encoded by DSP; pointer buffers for storing operation pointers of sending buffers and receiving buffers.

本发明所述声码器装置的语音帧调度方法:The voice frame scheduling method of the vocoder device of the present invention:

中断产生逻辑单元定时产生中断送给主控CPU和DSP,定时中断的间隔等于一个语音帧的时长。The interrupt generation logic unit regularly generates interrupts and sends them to the main control CPU and DSP, and the interval of regular interrupts is equal to the duration of a voice frame.

主控CPU响应中断后,对所有的声码器单元执行如下的处理流程:After the main control CPU responds to the interrupt, it executes the following processing flow for all vocoder units:

201.从指针缓冲区读取发送缓冲区的读操作指针和写操作指针,由此计算出发送缓冲区中的空闲队列。201. Read the read operation pointer and the write operation pointer of the sending buffer from the pointer buffer, thereby calculating the free queue in the sending buffer.

202.把待解码的语音帧写入发送缓冲区的相应队列中。202. Write the speech frame to be decoded into the corresponding queue of the sending buffer.

203.把发送缓冲区的写操作指针重新设置后,写回指针缓冲区。203. After resetting the write operation pointer of the send buffer, write back to the pointer buffer.

204.从指针缓冲区读取接收缓冲区的读操作指针和写操作指针,由此计算出接收缓冲区中的语音帧的位置。204. Read the read operation pointer and write operation pointer of the receiving buffer from the pointer buffer, thereby calculating the position of the voice frame in the receiving buffer.

205.把编码的语音帧从接收缓冲区的相应队列中读出。205. Read the encoded speech frame from the corresponding queue in the receive buffer.

206.把接收缓冲区的读操作指针重新设置后,写回指针缓冲区。206. After resetting the read operation pointer of the receiving buffer, write back to the pointer buffer.

DSP响应中断后,对所有的声码器单元执行如下的处理流程:After the DSP responds to the interruption, perform the following processing flow for all vocoder units:

207.从指针缓冲区读取发送缓冲区的读操作指针和写操作指针,由此计算出发送缓冲区中的语音帧的位置。207. Read the read operation pointer and write operation pointer of the sending buffer from the pointer buffer, thereby calculating the position of the voice frame in the sending buffer.

208.把待解码的语音帧从发送缓冲区的相应队列中读出,送相应声码器单元解码输出。208. Read out the speech frame to be decoded from the corresponding queue in the sending buffer, and send it to the corresponding vocoder unit for decoding and output.

209.把发送缓冲区的读操作指针重新设置后,写回指针缓冲区。209. After resetting the read operation pointer of the send buffer, write back to the pointer buffer.

210.从指针缓冲区读取接收缓冲区的读操作指针和写操作指针,由此计算出接收缓冲区中的空闲队列。210. Read the read operation pointer and the write operation pointer of the receiving buffer from the pointer buffer, thereby calculating the free queue in the receiving buffer.

211.把声码器单元完成编码的语音帧写入接收缓冲区的空闲队列中。211. Write the speech frame encoded by the vocoder unit into the idle queue of the receiving buffer.

212.把接收缓冲区的写操作指针重新设置后,写回指针缓冲区。212. After resetting the write operation pointer of the receiving buffer, write back to the pointer buffer.

采用本发明所述方法和装置,与现有技术相比,去掉了缓存语音帧的多端口路由通信单元,硬件结构简单,在中断产生上,定时中断的间隔是一个语音帧的时长,在一个中断中对所有的声码器单元的语音帧进行处理,而不是每个声码器单元的语音帧都产生一次中断,使主控CPU不再频繁响应中断处理,提高了主控CPU的性能。Using the method and device of the present invention, compared with the prior art, the multi-port routing communication unit for buffering voice frames is removed, and the hardware structure is simple. In terms of interruption generation, the interval of timing interruption is the duration of a voice frame. The speech frames of all vocoder units are processed in the interrupt, instead of the speech frames of each vocoder unit being interrupted once, so that the main control CPU no longer frequently responds to interrupt processing, and the performance of the main control CPU is improved.

附图说明Description of drawings

图1是本发明提出的一种声码器装置示意图;Fig. 1 is a kind of vocoder device schematic diagram that the present invention proposes;

图2是本发明提出的一种语音帧调度方法示意图;Fig. 2 is a schematic diagram of a voice frame scheduling method proposed by the present invention;

图3是图1中的共享RAM的第一种具体实施的发送缓冲区结构图;Fig. 3 is the sending buffer structural diagram of the first kind of specific implementation of the shared RAM in Fig. 1;

图4是图1中的共享RAM的第一种具体实施的接收缓冲区结构图;Fig. 4 is the receive buffer structural diagram of the first kind of specific implementation of the shared RAM in Fig. 1;

图5是图1中的共享RAM的第一种具体实施的指针缓冲区结构图;Fig. 5 is the pointer buffer structural diagram of the first kind of specific implementation of the shared RAM in Fig. 1;

图6是图1中的共享RAM的第二种具体实施的发送缓冲区结构图;Fig. 6 is the sending buffer structural diagram of the second kind of concrete implementation of the shared RAM in Fig. 1;

图7是图1中的共享RAM的第二种具体实施的接收缓冲区结构图;Fig. 7 is the receiving buffer structural diagram of the second kind of specific implementation of the shared RAM in Fig. 1;

图8是图1中的共享RAM的第二种具体实施的指针缓冲区结构图。FIG. 8 is a pointer buffer structure diagram of the second implementation of the shared RAM in FIG. 1 .

具体实施方式Detailed ways

下面结合附图对技术方案的实施作进一步的详细描述:Below in conjunction with accompanying drawing, the implementation of technical scheme is described in further detail:

如图1所示,本发明的硬件部分由主控CPU101、DSP102和中断产生逻辑单元103组成。DSP102包括一个TDM接口和主控CPU101可以访问的内部RAM。As shown in FIG. 1 , the hardware part of the present invention is composed of a main control CPU 101 , a DSP 102 and an interrupt generation logic unit 103 . DSP 102 includes a TDM interface and internal RAM accessible by master CPU 101 .

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个语音帧。The shared RAM inside the DSP102 is divided into three parts, which are the sending buffer queue 301 , the receiving buffer queue 302 and the pointer buffer queue 303 . Fig. 3 is the sending buffer structural diagram of the shared RAM in Fig. 1; Fig. 4 is the receiving buffer structural diagram of the shared RAM in Fig. 1; Fig. 5 is the pointer buffer structural diagram of the shared RAM in Fig. 1; What the district queue 301 deposits is that main control CPU101 writes in DSP102, waits for the voice frame that the vocoder unit decodes; What the receiving buffer queue 302 stores is that the vocoder unit of DSP completes encoding, waits for the voice frame that main control CPU101 takes out; Pointer buffer queue 303 deposits the pointer that master control CPU and DSP102 operate sending buffer queue 301 and receiving buffer queue 302, including: master control CPU101 to the write operation pointer (TxWrite Ptr) of sending buffer queue 301, master control CPU101 to the read operation pointer (Rx Read Ptr) of receiving buffer queue 302, DSP102 to the read operation pointer (Tx Read Ptr) of sending buffer queue 301, DSP102 to the write operation pointer (Rx Write Ptr) of receiving buffer queue 302 . In FIGS. 3, 4, and 5, CHANNEL refers to a queue of buffered speech frames corresponding to a vocoder unit, and each CHANNEL corresponds to a vocoder unit. Each DSP102 can implement M vocoder units to perform speech codec simultaneously. Each CHANNEL can buffer K speech frames for the vocoder unit.

主控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。After main control CPU101 receives voice frame, store in the buffer zone of main control CPU101 temporarily, wait for interrupt logic generation unit 103 to produce timing interrupt, the interval of timing interruption is equal to the time length of a voice frame, after interrupt generation, trigger main control CPU101 will temporarily The speech frame that saves is written in the sending buffer queue 301 corresponding to the corresponding vocoder unit of DSP102, contains control information in the speech frame, indicates the serial number of the destination DSP102 of this speech frame and the unit number of the vocoder unit to which it belongs. Control CPU101 and voice frame is written into the process of sending buffer formation 301 as follows: main control CPU101 visits pointer buffer formation 303 at first, reads the write operation pointer (Tx Write Ptr) of main control CPU101 of corresponding CHANNEL and the read operation pointer of DSP102 (Tx ReadPtr), the main control CPU 101 compares these two pointers, checks whether the corresponding CHANNEL of the sending buffer queue 301 is free, if not idle, then reports to the police and exits, if the corresponding CHANNEL of the sending buffer queue is idle, then writes Voice frame, then main control CPU101 is written back pointer buffer 303 again to the write operation pointer (Tx Write Ptr) of sending buffer queue 301 and adds 1. Master control CPU101 reads the process of voice frame from receiving buffer queue 302 as follows: master control CPU101 visits pointer buffer queue 303 at first, reads the write operation pointer (Rx Read Ptr) of master control CPU101 of corresponding CHANNEL and DSP102 Operation pointer (Rx Write Ptr), main control CPU101 compares these two pointers, check whether the corresponding CHANNEL of receiving buffer formation 302 has voice frame, if there is voice frame, then read from the corresponding CHANNEL of receiving buffer formation 302 Get the voice frame, then add 1 to the read operation pointer (RxRead Ptr) of the main control CPU101 and write back to the pointer buffer 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。After the interrupt generation logic unit 103 triggers the DSP102 to generate an interrupt, the DSP102 first polls the sending buffer queue 301, and sends the speech frame to be decoded to the vocoder unit for decoding, and the decoded PCM code stream is output from the TDM interface, and simultaneously the output from the TDM The PCM code stream input by the interface is encoded into a voice frame and written into the receiving buffer queue 302 . DSP102 reads the process of voice frame from sending buffer queue 301 as follows: DSP102 visits pointer buffer queue 303 at first, reads the write operation pointer (TxWrite Ptr) of the main control CPU101 of corresponding CHANNEL and the read operation pointer (Tx Read Ptr) of DSP102 Ptr), DSP102 compares these two pointers, check whether the corresponding CHANNEL of sending buffer queue 301 has a voice frame, if there is a voice frame, then read the voice frame from the corresponding CHANNEL of sending buffer queue 301, then DSP102 The read operation pointer (Tx Read Ptr) plus 1 is written back to the pointer buffer 303. DSP102 writes the process of speech frame in receiving buffer queue 302 as follows: DSP102 visits pointer buffer queue 303 at first, reads the read operation pointer (Rx Read Ptr) of the main control CPU101 of corresponding CHANNEL and the write operation pointer (RxWrite) of DSP102 Ptr), DSP102 compares these two pointers, checks whether the corresponding CHANNEL of receiving buffer queue 302 is idle, if idle, then voice frame is written in the corresponding CHANNEL of receiving buffer queue 302, writes DSP102 then Operation pointer (Rx Write Ptr) adds 1 and writes back pointer buffer 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在读到一个语音帧时不能确定该语音帧的归属,必须对语音帧中包含的控制信息解析后才能确定该语音帧所属的声码器单元。The main difference between Fig. 6, 7, 8 and Fig. 3, 4, 5 is that all vocoder units in DSP102 share a sending buffer formation 301 ' and a receiving buffer formation 302 ', and in Fig. 3, 4, 5 Each vocoder unit has a separate queue in transmit buffer queue 301 and receive buffer queue 302 . Generally, the structures shown in Figures 3, 4, and 5 require more RAM space than the structures shown in Figures 6, 7, and 8. Using the structures shown in Figures 3, 4, and 5, each CHANNEL corresponds to a vocoder unit, and CHANNEL is the private queue of the vocoder unit, and it is impossible for other vocoder units to access the voice of the vocoder unit Frame data, the main control CPU101 and DSP102 can determine that this speech frame belongs to a certain vocoder unit when reading a speech frame. And adopt the structure shown in Fig. 6, 7, 8, all vocoder units share the same queue, the speech frame stored in the queue must include control information, indicate the vocoder unit that this speech frame belongs to, the main control When CPU101 and DSP102 read a voice frame, they cannot determine the ownership of the voice frame. Only after analyzing the control information contained in the voice frame can they determine the vocoder unit to which the voice frame belongs.

在图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’。In Fig. 6, 7, 8, the process that main control CPU101 writes voice frame into sending buffer formation 301 ' is as follows: main control CPU101 visits pointer buffer formation 303 ' at first, reads the writing operation pointer (Tx of main control CPU101 Write Ptr) and the read operation pointer (Tx Read Ptr) of DSP102, the main control CPU101 compares these two pointers, checks whether the sending buffer queue 301' is free, if not idle, then gives an alarm and exits, if the sending buffer queue has Idle, then write voice frame, then main control CPU101 adds the number of writing voice frame to the write operation pointer (Tx Write Ptr) of sending buffer queue 301 and writes back pointer buffer 303 ' again. Master control CPU101 reads the process of voice frame from receiving buffer queue 302 ' as follows: master control CPU101 visits pointer buffer queue 303 ' at first, reads the write operation of the read operation pointer (Rx Read Ptr) of master control CPU101 and DSP102 Pointer (Rx Write Ptr), main control CPU101 compares these two pointers, checks whether receiving buffer formation 302 ' has voice frame, if there is voice frame, then reads voice frame from receiving buffer formation 302 ', then The reading operation pointer (Rx Read Ptr) of main control CPU101 adds the number of read voice frame and writes back pointer buffer 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的写操作指针(RxWri te Ptr)加上写入语音帧的个数写回指针缓冲区303’。DSP102 reads the process of voice frame from sending buffer queue 301 ' as follows: DSP102 visits pointer buffer queue 303 ' at first, reads the write operation pointer (Tx Write Ptr) of main control CPU101 and the read operation pointer (Tx Read Ptr) of DSP102 Ptr), DSP102 compares these two pointers, checks whether there is a voice frame in the sending buffer queue 301 ', if there is a voice frame, then reads the voice frame from the sending buffer queue 301 ', and then sets the read operation pointer of DSP102 (Tx Read Ptr) adds the number of voice frames read and writes back the pointer buffer 303'. DSP102 writes voice frame into the process of receiving buffer queue 302 ' as follows: DSP102 at first visits pointer buffer queue 303 ', reads the read operation pointer (Rx Read Ptr) of main control CPU101 and the write operation pointer (Rx Write Ptr) of DSP102 Ptr), DSP102 compares these two pointers, checks whether the receive buffer queue 302' is free, if idle, then writes the voice frame into the receive buffer queue 302', and then writes the write operation pointer (RxWri te Ptr) plus the number of voice frames written into the pointer buffer 303 '.

Claims (8)

1.一种移动通信系统中的声码器装置,其特征在于,包括以下组成部分:1. A vocoder device in a mobile communication system, comprising the following components: 主控CPU,用于接收编码后的语音帧,并把接收的语音帧写入相应的数字信号处理器DSP中的声码器单元进行解码,同时读取相应数字信号处理器DSP中声码器单元编码后的语音帧;The main control CPU is used to receive the encoded speech frame, and write the received speech frame into the vocoder unit in the corresponding digital signal processor DSP for decoding, and at the same time read the vocoder unit in the corresponding digital signal processor DSP Speech frame after unit encoding; n个数字信号处理器DSP,每个数字信号处理器DSP中有m个声码器单元,可以同时完成m路语音帧的编解码功能;在DSP中还包括一个时分复用TDM接口,用来接收和发送语音的PCM码流;There are n digital signal processors DSP, and there are m vocoder units in each digital signal processor DSP, which can simultaneously complete the encoding and decoding functions of m channels of speech frames; a time-division multiplexing TDM interface is also included in the DSP for Receive and send voice PCM code stream; 中断产生逻辑单元,用来产生定时中断信号送给主控CPU和数字信号处理器DSP。The interrupt generation logic unit is used to generate a timing interrupt signal and send it to the main control CPU and the digital signal processor DSP. 2.如权利要求1所述的移动通信系统中的声码器装置,其特征在于,所述数字信号处理器DSP内部的RAM组成共享RAM。2. The vocoder device in the mobile communication system according to claim 1, wherein the RAM inside the digital signal processor (DSP) constitutes a shared RAM. 3.如权利要求2所述的移动通信系统中的声码器装置,其特征在于,所述共享RAM划分为发送缓冲区、接收缓冲区、指针缓冲区;其中发送缓冲区,用来存放待解码的语音帧;接收缓冲区,用来存放数字信号处理器DSP完成编码的语音帧;指针缓冲区,用来存放发送缓冲区和接收缓冲区的操作指针。3. the vocoder device in the mobile communication system as claimed in claim 2, is characterized in that, described shared RAM is divided into send buffer, receive buffer, pointer buffer; Wherein send buffer, be used for depositing The decoded speech frame; the receiving buffer, used to store the speech frame encoded by the digital signal processor DSP; the pointer buffer, used to store the operation pointers of the sending buffer and the receiving buffer. 4.如权利要求3所述的移动通信系统中的声码器装置,其特征在于,所述操作指针包括主控CPU对发送缓冲区的写操作指针,主控CPU对接收缓冲区的读操作指针,DSP对发送缓冲区的读操作指针,DSP对接收缓冲区的写操作指针。4. the vocoder device in the mobile communication system as claimed in claim 3 is characterized in that, described operation pointer comprises main control CPU to the write operation pointer of sending buffer, and main control CPU is to the read operation of receiving buffer Pointer, DSP read operation pointer to send buffer, DSP write operation pointer to receive buffer. 5.一种如权利要求1所述的声码器装置的语音帧调度方法,其特征在于,该方法包括以下步骤:5. A voice frame scheduling method of the vocoder device as claimed in claim 1, characterized in that the method comprises the following steps: (1)主控CPU收到语音帧后,等待中断产生逻辑单元产生定时中断;(1) After the main control CPU receives the voice frame, it waits for an interrupt to generate a logic unit to generate a timing interrupt; (2)中断产生逻辑单元产生中断送给主控CPU和数字信号处理器DSP;(2) The interrupt generation logic unit generates an interrupt and sends it to the main control CPU and the digital signal processor DSP; (3)主控CPU响应中断后,将语音帧写入数字信号处理器DSP的相应声码器单元对应的发送缓冲区,同时主控CPU从接收缓冲区读取语音帧;(3) After the main control CPU responds to the interrupt, the voice frame is written into the corresponding sending buffer of the corresponding vocoder unit of the digital signal processor DSP, and the main control CPU reads the voice frame from the receiving buffer; (4)数字信号处理器DSP响应中断后,从发送缓冲区读取语音帧,将待解码的语音帧送给声码器单元解码,解码后的PCM码流从TDM接口输出,同时把从TDM接口输入的PCM码流编码成语音帧,写入接收缓冲区。(4) After the digital signal processor DSP responds to the interruption, it reads the speech frame from the sending buffer, sends the speech frame to be decoded to the vocoder unit for decoding, and outputs the decoded PCM code stream from the TDM interface, and at the same time sends the speech frame from the TDM The PCM code stream input by the interface is encoded into voice frames and written into the receiving buffer. 6.如权利要求5所述的声码器装置的语音帧调度方法,其特征在于,步骤(3)还包括:从指针缓冲区读取发送缓冲区的读操作指针和写操作指针,对发送缓冲区的读操作指针和写操作指针进行比较,以判断相应的CHANNEL是否有空闲写入语音帧,由此计算出发送缓冲区中的空闲队列,把发送缓冲区的写操作指针加1后,写回指针缓冲区;从指针缓冲区读取接收缓冲区的读操作指针和写操作指针,对接收缓冲区的读操作指针和写操作指针进行比较,以判断相应的CHANNEL中是否有需要读出的语音帧,由此计算出接收缓冲区中的语音帧的位置,把接收缓冲区的读操作指针加1后,写回指针缓冲区。6. the speech frame scheduling method of vocoder device as claimed in claim 5, it is characterized in that, step (3) also comprises: read the read operation pointer and the write operation pointer of sending buffer from pointer buffer, to sending The read operation pointer of the buffer zone is compared with the write operation pointer to determine whether the corresponding CHANNEL is free to write voice frames, thus calculating the idle queue in the send buffer, and adding 1 to the write pointer of the send buffer, Write back to the pointer buffer; read the read operation pointer and write operation pointer of the receiving buffer from the pointer buffer, and compare the read operation pointer and write operation pointer of the receiving buffer to determine whether there is a need to read in the corresponding CHANNEL voice frame, thus calculate the position of the voice frame in the receiving buffer, add 1 to the read operation pointer of the receiving buffer, and write it back to the pointer buffer. 7.如权利要求5所述的声码器装置的语音帧调度方法,其特征在于,步骤(4)还包括:从指针缓冲区读取发送缓冲区的读操作指针和写操作指针,对发送缓冲区的读操作指针和写操作指针进行比较,以判断相应的CHANNEL是否有语音帧,由此计算出发送缓冲区中的语音帧的位置,把发送缓冲区的读操作指针加1后,写回指针缓冲区;从指针缓冲区读取接收缓冲区的读操作指针和写操作指针,对接收缓冲区的读操作指针和写操作指针进行比较,以判断相应的CHANNEL中是否有需要读出的语音帧,由此计算出接收缓冲区中的空闲队列,把接收缓冲区的写操作指针加1后,写回指针缓冲区。7. the speech frame scheduling method of vocoder device as claimed in claim 5, it is characterized in that, step (4) also comprises: read the read operation pointer and the write operation pointer of sending buffer from pointer buffer, to sending The read operation pointer of the buffer zone is compared with the write operation pointer to determine whether the corresponding CHANNEL has a voice frame, thereby calculating the position of the voice frame in the sending buffer, adding 1 to the read operation pointer of the sending buffer, and then writing Back to the pointer buffer; read the read operation pointer and write operation pointer of the receiving buffer from the pointer buffer, and compare the read operation pointer and write operation pointer of the receiving buffer to determine whether there is any need to read in the corresponding CHANNEL Voice frame, thus calculate the idle queue in the receiving buffer, add 1 to the write operation pointer of the receiving buffer, and write back to the pointer buffer. 8.如权利要求5所述的声码器装置的语音帧调度方法,其特征在于,所述的定时中断的间隔是一个语音帧的时长,在一个中断期间对所有的声码器单元的语音帧进行处理。8. the speech frame scheduling method of vocoder device as claimed in claim 5 is characterized in that, the interval of described timing interruption is the duration of a speech frame, during an interruption, the speech of all vocoder units frame is processed.
CN 03134818 2003-09-25 2003-09-25 Vocoder unit for mobile communication system and its phonetic frame displayching method Expired - Fee Related CN1236631C (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN 03134818 CN1236631C (en) 2003-09-25 2003-09-25 Vocoder unit for mobile communication system and its phonetic frame displayching method
PCT/CN2003/001119 WO2005029879A1 (en) 2003-09-25 2003-12-25 A vocoder equipment in mobile communication system and a method of speech frame scheduling
AU2003296208A AU2003296208A1 (en) 2003-09-25 2003-12-25 A vocoder equipment in mobile communication system and a method of speech frame scheduling

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 03134818 CN1236631C (en) 2003-09-25 2003-09-25 Vocoder unit for mobile communication system and its phonetic frame displayching method

Publications (2)

Publication Number Publication Date
CN1527624A CN1527624A (en) 2004-09-08
CN1236631C true CN1236631C (en) 2006-01-11

Family

ID=34286195

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 03134818 Expired - Fee Related CN1236631C (en) 2003-09-25 2003-09-25 Vocoder unit for mobile communication system and its phonetic frame displayching method

Country Status (3)

Country Link
CN (1) CN1236631C (en)
AU (1) AU2003296208A1 (en)
WO (1) WO2005029879A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107301868B (en) * 2017-06-23 2020-07-14 杭州士兰微电子股份有限公司 Audio decoding system and audio decoding method
CN108882064B (en) * 2018-06-26 2021-02-02 潍坊学院 Port data packet sending method and system based on GPON system

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100417232C (en) * 2001-09-30 2008-09-03 中兴通讯股份有限公司 Vocoder system using multiple port routing to communicate and its business frame exchanging method
WO2003036621A1 (en) * 2001-10-22 2003-05-01 Motorola, Inc., A Corporation Of The State Of Delaware Method and apparatus for enhancing loudness of an audio signal

Also Published As

Publication number Publication date
WO2005029879A1 (en) 2005-03-31
AU2003296208A1 (en) 2005-04-11
CN1527624A (en) 2004-09-08

Similar Documents

Publication Publication Date Title
CN1153149C (en) A modem implemented in software that operates in a non-real-time environment on a general-purpose computer
CN112084136B (en) Queue cache management method, system, storage medium, computer equipment and application
EP1137226B1 (en) Improved packet scheduling of real time information over a packet network
US6874039B2 (en) Method and apparatus for distributed direct memory access for systems on chip
US7929518B2 (en) Method and system for a gigabit Ethernet IP telephone chip with integrated DDR interface
US8566828B2 (en) Accelerator for multi-processing system and method
CN1311333C (en) Method and device for serial exclusive body
EP1233336A2 (en) Apparatus and method to reduce memory footprints in processor architectures
WO2023193441A1 (en) Multi-core circuit, data exchange method, electronic device, and storage medium
CN1295633C (en) Method for multiple CPU communication
US6061411A (en) Method and apparatus for synchronizing a serial bus clock to a serial bus function clock
CN1529256A (en) Dual-ring quene-based, non-interrupt PCI communication method
CN104796768A (en) OMAP (open multimedia application platform) hardware decoding acceleration based embedded high-definition media player and operation method thereof
CN101470636B (en) Message read-write method and apparatus
CN1236631C (en) Vocoder unit for mobile communication system and its phonetic frame displayching method
CN118158088A (en) Control layer data core bypass system for RDMA network card
US20080147918A1 (en) Method and apparatus for maintaining synchronization of audio in a computing system
EP2568388A2 (en) Processor to message-based network interface using speculative techniques
CA2585295A1 (en) System and method for synchronous processing of media data on an asynchronous processor
CN1407768A (en) Device and method for group continuous transfer of multi-team data
US6629180B1 (en) Method of performing a task in real time by a digital signal processor
CN1186909C (en) Multichannel interconnected vocoder and its realizing method
WO2020135082A1 (en) Speech data processing method and device, and computer readable storage medium
JP2900719B2 (en) Audio codec processing method
CN1732439A (en) audio processing system

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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20060111

Termination date: 20190925