基于ARM7TDMI內(nèi)核SEP3203處理器的語音信號的軟件實(shí)時編解碼的實(shí)現(xiàn)
但是,SEP3203的20K的資源是有限的,不可能也不必要將所有代碼都放在其中執(zhí)行。ARM集成開發(fā)工具提供了Profile功能,可以對整個程序進(jìn)行統(tǒng)計分析,得到各部分代碼(主要以標(biāo)準(zhǔn)C函數(shù)為單位)所耗時間占系統(tǒng)總時間的百分比。通過對軟件系統(tǒng)做Profile分析,得到各編解碼庫函數(shù)在總編解碼時間內(nèi)所占的百分比,其中主要部分如表3所列。
以上三個函數(shù)在總編解碼時間內(nèi)占用了近80 %的時間(Quan()、Fmult()、Update()的功能分別為量化表查找、定點(diǎn)化的浮點(diǎn)數(shù)乘法、狀態(tài)變量更新),對這些代碼優(yōu)化就會明顯提高編解碼速度。把這些函數(shù)代碼整合到文件rec_esram.c中,然后加載remap.scf文件進(jìn)行內(nèi)存映像(*.scf文件是ARM ADS集成開發(fā)工具提供的鏈接腳本文件)。
進(jìn)行內(nèi)存映像后,rec_esram.c的目標(biāo)代碼rec_esram.o(約為1.5KB)就加載到eSRAM(起始地址為0x1fff0000)中執(zhí)行了。表4是經(jīng)過eSRAM優(yōu)化后編解碼速度測試結(jié)果。
在有操作系統(tǒng)的情況下,也對語音系統(tǒng)性能進(jìn)行了測試,如表5所列。該操作系統(tǒng)為東南大學(xué)專用集成電路系統(tǒng)工程技術(shù)與研究中心自主研發(fā)的面向嵌入式應(yīng)用的ASIXOS,提供圖形用戶界面、網(wǎng)絡(luò)、時鐘、實(shí)時中斷管理等支持和清晰的應(yīng)用程序開發(fā)接口。語音系統(tǒng)為該OS環(huán)境中的一個應(yīng)用,有獨(dú)立的用戶界面和底層服務(wù)。限于篇幅,本文不再詳述。
從以上測試可以看出,在經(jīng)過eSRAM優(yōu)化后,無論是在裸機(jī)上還是在有操作系統(tǒng)的情況下,編解碼速度都能滿足語音實(shí)時性的需要,達(dá)到了設(shè)計要求。
結(jié)語
在設(shè)計一款面向多媒體應(yīng)用的嵌入式系統(tǒng)時,實(shí)時性能非常重要。本文提出了一種基于ARM7TDMI內(nèi)核的SoC中語音處理系統(tǒng)的設(shè)計方案,并根據(jù)該款SoC具有eSRAM的特點(diǎn),進(jìn)行了系統(tǒng)性能的優(yōu)化。對樣機(jī)的測試表明系統(tǒng)在主頻70 MHz、有操作系統(tǒng)的情況下編碼速率為19.88 KB/s,解碼速率為22.68 KB/s,達(dá)到了語音系統(tǒng)的實(shí)時性要求。而且,如果語音處理作為樣機(jī)的子系統(tǒng)應(yīng)用,其硬件設(shè)計也支持MP3播放和LCD觸摸屏的功能,實(shí)現(xiàn)了系統(tǒng)板面積減小、整機(jī)成本降低的目的,不失為一種高效價廉的設(shè)計方案。
評論