新闻中心

EEPW首页 > 消费电子 > 设计应用 > 基于ARM7TDMI内核SEP3203处理器的语音信号的软件实时编解码的实现

基于ARM7TDMI内核SEP3203处理器的语音信号的软件实时编解码的实现

作者:时间:2010-09-02来源:网络收藏

  但是,SEP3203的20K的资源是有限的,不可能也不必要将所有代码都放在其中执行。ARM集成开发工具提供了Profile功能,可以对整个程序进行统计分析,得到各部分代码(主要以标准C函数为单位)所耗时间占系统总时间的百分比。通过对软件系统做Profile分析,得到各编解码库函数在总编解码时间内所占的百分比,其中主要部分如表3所列。


  以上三个函数在总编解码时间内占用了近80 %的时间(Quan()、Fmult()、Update()的功能分别为量化表查找、定点化的浮点数乘法、状态变量更新),对这些代码优化就会明显提高编解码速度。把这些函数代码整合到文件rec_esram.c中,然后加载remap.scf文件进行内存映像(*.scf文件是ARM ADS集成开发工具提供的链接脚本文件)。

  进行内存映像后,rec_esram.c的目标代码rec_esram.o(约为1.5KB)就加载到eSRAM(起始地址为0x1fff0000)中执行了。表4是经过eSRAM优化后编解码速度测试结果。


  在有操作系统的情况下,也对系统性能进行了测试,如表5所列。该操作系统为东南大学专用集成电路系统工程技术与研究中心自主研发的面向应用的ASIXOS,提供图形用户界面、网络、时钟、实时中断管理等支持和清晰的应用程序开发接口。系统为该OS环境中的一个应用,有独立的用户界面和底层服务。限于篇幅,本文不再详述。


  从以上测试可以看出,在经过eSRAM优化后,无论是在裸机上还是在有操作系统的情况下,编解码速度都能满足实时性的需要,达到了设计要求。

  结语

  在设计一款面向应用的系统时,实时性能非常重要。本文提出了一种基于ARM7TDMI内核的SoC中语音处理系统的设计方案,并根据该款SoC具有eSRAM的特点,进行了系统性能的优化。对样机的测试表明系统在主频70 MHz、有操作系统的情况下编码速率为19.88 KB/s,解码速率为22.68 KB/s,达到了语音系统的实时性要求。而且,如果语音处理作为样机的子系统应用,其硬件设计也支持MP3播放和LCD触摸屏的功能,实现了系统板面积减小、整机成本降低的目的,不失为一种高效价廉的设计方案。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

上一页 1 2 3 4 下一页

关键词: 多媒体 嵌入式 语音

评论


相关推荐

技术专区

关闭