当前位置:首页 > 单片机 > 单片机
[导读]本文详细描述了在TI (Texas Instruments) C55x系列DSP平台上集成实时实现0.3kbps至16kbps多种速率语音编解码算法的方法,及在现有C语言源代码基础上优化汇编指令的技巧。

文摘:本文详细描述了在TI (Texas Instruments) C55x系列DSP平台上集成实时实现0.3kbps至16kbps多种速率语音编解码算法的方法,及在现有C语言源代码基础上优化汇编指令的技巧。介绍了在编写C55x系列DSP汇编程序中的关键技术,诸如函数调用中的参数传递,指令优化,标志位设置,宏使用等。文章同时给出了一种采用TI C55x系列DSP设计实现的能运行多种语音编解码算法硬件系统平台。最后介绍了该硬件平台的动态调整功耗设计,使系统的功耗在休眠状态下最低仅为155.1mW。

Abstract:This paper detailed describes how to implement the real time multi-rate speech encoding and decoding algorithms between 0.3kbps to 16kbps on TI (Texas Instruments) C55x series DSP platform, and introduces methods of optimizing assembly language instructions based on the original C language source code. We introduce the key techniques during writing assembly programs like parameter transferring during function calling; instruction optimizing; status bits setting and macro application. The paper also design a hardware platform for general speech encoding and decoding based on C55x series DSP of TI Company. At last, the adaptive power design of the platform is presented, which reduce power of the system down to 155.1mW when in sleep running mode.

Keyword: Speech Coding; C55x; Assembly language

近二十年来,全球半导体产业的飞速发展带动相关的软件、硬件设计水平迅速提高,这些发展使得一大批性能优良的复杂的数字信号处理算法可以实时实现并在日常通信系统中得到广泛应用,极大地提高了现有通信系统的可靠性和效率。因此,研究语音处理技术并将其用基于DSP芯片硬件系统实现有着非常重要的现实意义和广阔的市场前景。本文介绍了语音编解码硬件平台的设计思路和编解码算法在硬件平台上的实现和优化过程,同时给出了硬件平台结构和低功耗设计思路。

1        平台中语音编解码算法简述

本文在TI C55x系列DSP上实现了0.3kbps至16kbps的多种不同速率的语音编解码算法。其中16kps速率采用连续可变增量调制(CVSD)的波形编码算法,8kps速率采用了ITU-T公布的G.729a标准算法。而低速率编解码采用了正弦激励线性预测(SELP)算法。SELP算法是建立在传统的线性预测模型的基础上,其中清音成分用白噪声拟合,浊音成分在每个谐波处用一个频率变化的正弦信号合成,整个激励的浊音部分由一组不同幅度的正弦叠加而成,这也是SELP模型不同于传统的线性预测的一个非常的重要方面,即激励信号采用分带混合正弦激励。

2        语音编解码算法在DSP数字处理芯片上的实现和优化

由于在DSP上运行的声码器必须要达到实时化的要求,而直接编译的C程序远无法达到。因此需要编写和优化C55x的汇编代码来提高声码器的运行效率。下面介绍几点在算法硬件实现过程中的关键技术:

2.1 C程序和汇编程序的混编,函数的调用和参数传递

把一个模块改写为汇编函数,然后在C程序或者汇编程序中调用它。在C55x的开发中,函数的调用机制是这样的:首先记录下函数传递来的参数,和返回地址SP向低位移。然后再在堆栈中开出本地变量常量所需要的空间,SP再次向低位移。

(1)汇编函数的声明:在汇编函数中定义的函数如果要想在C代码中被调用,必须用.global语句加以声明,这样,对象或函数被定义为外部的(external)。比如:

    .global _Rem_Dc

_Rem_Dc:

    ……

(2)参数传递:在函数调用的过程中,C代码传来的参数按照以下规则存放在特定的寄存器中:即16或23位的数据指针,先后存放在(X)AR0-(X)AR4中。16位的数据,先后存放在T0,T1,AR0-AR4中,32位的数据,先后存放在AC0,AC1和AC2中。如果参数个数超过寄存器个数,则存放在堆栈中。同时,函数的返回值如果是短整型(short)则存放在T0中,如果是长整型(long)则存放在AC0中,如果是指针则存放在(X)AR0中。

例如:

①int fn(int i1, long l2, int *p3);

则fn->T0; il->T0, l2->AC0, p3->AR0

②long fn(int *p1, int i2, int i3, int i4);

则fn->AC0, p1->AR0, i2->T0, i3->T1, i4->AR1

③void fn(long l1, long l2, long l3, long l4, int i5);

则l1->AC0, l2->AC1, l3->AC2, l4->堆栈, i5->T0

④void fn(long l1, long l2, long l3, int *p4, int *p5, int *p6, int *p7, int *p8, int i9, int i10);

则l1->AC0,l2->AC1,l3->AC2,p4->AR0,p5->AR1, p6->AR2, p7->AR3, p8->AR4, i9->T0,i10->T1

2.2 标志位的设置

    标志位是DSP芯片在计算时设置一些位置。它们存放在ST0_55~ST3_55中,在运算中主要用到的几个有:

    FRCT,当其值等于1时,乘法运算的结果将左移一位。等于零时,运算结果不变。

SATD,当其值等于1时,运算发生溢出时作饱和处理

SXMD,当其值等于1时,输入操作数有符号扩展

SMUL,当其值等于1时,饱和模式开

他们分别存储在ST1_55和ST3_55寄存器的位置如图1所示:

图1 C55x DSP关键标志位在寄存器中的位置

    这几个操作位的设置不对的话,会出现运算结果的错误。所以要根据程序的需要正确设置操作位,同时要在程序的前后保护和还原其初值。

psh *(ST1_55)

psh *(ST3_55)

……

pop *(ST3_55)

pop *(ST1_55)

3        语音编解码硬件平台简述

本文设计的多模式语音编解码系统基于C55x系列DSP和MCU的双处理器设计,主芯片采用了TI公司的TMS320VC5510A数字信号处理器。其时钟周期最高为200MHz。拥有160KWord片上RAM(其中包括8块4KWord的DARAM和32块4KWord的SARAM)、16KWord片上ROM、8MWord的最大扩展寻址能力。微控制器(MCU)选用TI公司的MSP430F149,主要完成系统启动,电源管理,状态监控,DSP程序加载,声码器二进制码流位置重排等功能,并和DSP配合实现系统级加密机制。另外,硬件平台的音频编解码芯片选用TLV320AIC10,而程序存储部分采用的是SST39VF160 Flash,容量为1MWord,用来储存程序和数据。本硬件平台的框架结构图如图2所示。

图2  多速率语音编解码系统硬件平台框架结构图

4        低功耗设计

在数字集成电路设计中,CMOS电路的静态功耗很低,与其动态功耗相比基本可以忽略不计,故暂不考虑。其动态功耗计算公式为:

               (1)

式中Pd为CMOS芯片的动态功耗;CT为CMOS芯片的负载电容;V为CMOS芯片的工作电压;f为CMOS芯片的工作频率。本硬件平台的低功耗设计从选用有可变电压和多电压的器件、动态功耗管理、动态频率控制三个方面入手。

4.1 选用有可变电压和多电压的器件

    首先在文中的系统中,选用的单片机芯片TI公司的MSP430系列MCU是一款功耗相当低的器件,供电电压1.8V~3.6V,运行模式下功耗280μA/MHz,待机模式下功耗1.6μA/MHz,禁用模式下功耗0.1μA/MHz。其次选用的DSP芯片TI的C5510 DSP采用两种驱动电压,内核电压1.6V,I/O电压3.3V,根据(1)式,IC器件的功耗和供电电压的平方成正比,1.6V供电的器件比3.3V供电器件能降低一半以上的功耗。IC设计中通常都将降低电压作为控制功耗的最直接的手段,通过采用低电压供电的DSP,既能有效地降低内核动态功耗,还能兼顾I/O的电平兼容性。

4.2动态功耗管理

PCM编解码芯片TLV320AIC11可以单独将A/D或D/A部分禁用。当话筒PTT没有按下时,表示没有话音输入,此时可以将A/D部分置为IDLE状态。同样的,当MODEM的CD信号为高时,表示没有有效的数字码流输入声码器,故在此时可以将D/A部分设为IDLE状态。通过将该芯片配置成低功耗模式,降低了系统的功耗。另外,C5510 DSP芯片内部划出了五个独立的IDLE域,分别负责CPU、DMA、CACHE、外设、时钟生成器、EMIF接口的配置。每个域可以独立地将该域管辖的多个部件设置成活动模式或IDLE模式以此降低DSP的功耗。针对本文设计,由于没有使用到DMA、CACHE、时钟生成器三个域中的外设,故将这三个域设置成了IDLE模式。EMIF域在DSP和MSP交换数据(为了调整发送和接收的比特流)时才被置为活动,其他时候被置为IDLE。通过这样的设置,更加有效地控制了整个系统的运算功耗。

4.3动态频率控制

根据(1)式,IC器件的功耗和频率成正比,因此,将IC器件的频率控制在刚刚好满足运算处理要求的情况,可以大大减小系统功耗。这种方法的关键是算法运算量的大小,动态的调整芯片的运行频率,从而达到节省功耗的目的。在本文设计的平台上运行的六种速率的低速率语音编解码算法中,600bps、1200bps、2400bps、8000bps、16kbps的峰值运算量分别为37.4MIPS、59.2MIPS、44.8MIPS、18.6MIPS、<1MIPS,因此将DSP的工作频率分别设置在40.096MHz、65.536MHz、49.152MHz、24.576MHz。这样处理能够很有效地降低DSP的内核功耗,最大限度地有效利用运算资源。

通过以上几个方面的优化设计,我们达到了应用场合对功耗的要求。表1是本系统在不同运行模式下的功耗统计。

表1  不同模式下DSP功耗

工作方式

功耗

全速运行(80MHz)

521.4mW

低速运行(2MHz)

264mW

低速运行/DSP外设休眠

214.5mW

低速运行/DSP外设休眠/外围芯片休眠

155.1mW

5        小结

本文中介绍了针对语音编解码算法在TI C55x系列DSP上的实现方法。结合作者在实际开发过程中的经验与体会总结了编写汇编程序中的主要技巧。目前C55x的高性能低功耗特点能大幅度提高便携式设备的处理能力和电池的使用寿命,将会广泛应用于语音处理的各个领域。本文介绍的方法和经验具有广阔的推广价值。

本文的创新点:1.指出了多种在TI C55x系列DSP平台上汇编语言的开发经验与技巧。2.实现了一个可同时加载多种速率制式语音编解码的嵌入式硬件平台。 3.采用多种方案实现了对该硬件平台的低功耗设计,很大程度上节约了系统的运行功耗。

 

参考文献 (References)
[1]    田秋玲,崔慧娟,唐昆. 高质量0.6Kb/s声码器的TMS320VC55x实现[J]. 电声技术,2005,8:50-53
[2]    詹杰,唐昆,崔慧娟. 基于TMS320VC5510的低功耗加密型语音硬件平台的设计与实现[J],微计算机信息,2005/25:63-65
[3]    TMS320C55x DSP Programmer’s Guide (spru376a) [R]. Texas Instruments, July 2001
[4]    TMS320C55x DSP Mnemonic Instruction Set Reference Guide (spru374g) [R]. Texas Instruments, October 2002
[5]    赵永刚,高攀峰,崔慧娟,等.声码器通用硬件平台的实现[J].电声技术,2004,7:24-26.
[6]    荆元利,樊晓桠,高德远,等.一种数字信号处理器的动态功耗管理方案[J]. 微电子学与计算机,2003,9:60-63.
[7]    TI. MSP430X1XX FAMILY USER GUIDE. [R]. Texas Instruments, January 2003

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

凭借深度学习技术和SmartBid产品,百度国际MediaGo获得美国商业奖认可 旧金山2024年5月6日 /美通社/ -- 第22届美国商业奖(American Business Award®)近日发布获奖名...

关键字: MEDIA GO SMART BSP

上海2024年4月17日 /美通社/ -- 在2024 F1中国站即将拉开帷幕之际,高端全合成润滑油品牌美孚1号今日举办了品牌50周年庆祝活动。三届F1年度车手总冠军马克斯•维斯塔潘也亲临现场,共同庆祝这一里程...

关键字: BSP 汽车制造 行业标准 产品系列

北京2024年4月17日 /美通社/ -- 2024年4月13日,由北京康盟慈善基金会主办的"县域诊疗,规范同行"——肿瘤诊疗学术巡讲项目首站在广州隆重召开。本次会议邀请全国多位肺癌领域专家和县域同道...

关键字: AI技术 医疗服务 BSP 互联网

海口2024年4月16日 /美通社/ -- 4月14日,在中法建交60周年之际,科学护肤先锋品牌Galenic法国科兰黎受邀入驻第四届中国国际消费品博览会(以下简称"消博会")法国馆。Galenic法...

关键字: NI IC BSP ACTIVE

上海2024年4月17日 /美通社/ -- 每年4月17日是世界血友病日。今年,世界血友病日以"认识出血性疾病,积极预防和治疗"为主题,呼吁关注所有出血性疾病,提升科学认知,提高规范化诊疗水平,让每一位出血性疾病患者享有...

关键字: VII 动力学 软件 BSP

伦敦2024年4月16日 /美通社/ -- ATFX宣布任命Siju Daniel为首席商务官。Siju在金融服务行业拥有丰富的经验和专业知识,曾在全球各地的高管职位上工作了19年以上。Siju之前担任FXCM首席商务官...

关键字: NI AN SI BSP

常州2023年9月25日 /美通社/ -- 9月23日,由江苏省商务厅指导,世界中餐业联合会、常州市人民政府主办的"第三届中华节气菜大会暨首届江南美食节"在江苏常州开幕。文化和旅游部国际交流与合作局一...

关键字: BSP 可持续发展 大赛 质量控制

北京2023年9月25日 /美通社/ -- 9月21日,由中国质量报刊社·中国质量新闻网主办的第六届食品高质量发展交流会在北京举行,会议主题为"高质量,新生活",旨在推动食品行...

关键字: 自动化 BSP ISO9001 NAS

北京2023年9月23日 /美通社/ -- 近日,主线科技正式获准在北京市智能网联汽车政策先行区道路开启常态化测试与示范,将与物流客户在真实开放的城区道路场景中,率先开启基于L4级别自动驾驶能力的智能卡车运输示范。 随...

关键字: 智能卡 测试 高速公路 BSP
关闭
关闭