摘 要: 為了提高語音識別的可靠性和高效率性,設計了以“MCU+DSP”的雙CPU結(jié)構(gòu)為核心的語音識別系統(tǒng),其中以DSP[1]芯片作為硬件平臺的主處理器,完成語音識別所需的計算。MCU用以完成對DSP運算的協(xié)助工作,控制機器人各部分動作,其性能達到了實時處理的要求。
關(guān)鍵詞: 擬人機器人; 雙CPU; 語音識別系統(tǒng); 硬件設計
中圖分類號:TP319 文獻標志碼:A 文章編號:1006-8228(2013)01-01-02
Design of hardware of speech recognition system in humanized robot
Liu Renping, Hou Ruizhen, Fang Yinglan, Han Xianfeng
(North China of Technology, Beijing 100144, China)
Abstract: In order to improve the reliability and efficiency of the speech recognition, a speech recognition system based on double CPU of the \"MCU+DSP\" is designed. The calculations are done by the main processor which takes the digital signal processor (DSP) as the hardware platform. DSP operation is assisted by Micro control unit(MCU), which controls all parts of the robot. Its performance can meet real-time processing's needs.
Key words: humanoid robot; double CPU; speech recognition system; hardware design
0 引言
隨著超大規(guī)模集成電路和數(shù)字信號處理器(DSP)的快速發(fā)展,DSP的應用越來越廣泛,涉及到各個領(lǐng)域如語音處理,圖像處理等方面?,F(xiàn)在語音識別中許多復雜算法已經(jīng)能夠在硬件上實現(xiàn)。最近十多年來,已研發(fā)出不少應用于不同領(lǐng)域的便攜式語音識別系統(tǒng)。DSP處理速度快、靈活、精確,滿足了對信號快速、實時、精確處理的要求,所以很適用于語音識別。
1 擬人機器人語音識別方法概述
語音信號分析是語音識別的前提和基礎,只有分析出可表示語音信號本質(zhì)特征的參數(shù),才可能利用這些參數(shù)進行高效的語音通信,才能建立用于識別的模板或知識庫。語音識別率的高低取決于對語音信號分析的準確性和精確性,雖然語音信號具有時變特性,但在一個短時間范圍內(nèi)其特性相對穩(wěn)定,因而可以將其看作是一個短時平穩(wěn)過程。任何對語音的分析和處理均建立在“短時”的基礎上,一般認為語音信號在10-30ms的短時間內(nèi)是相對平穩(wěn)的。
擬人機器人語音識別方法如圖1所示,采集到的語音信號輸入后,首先對語音信號進行預處理,預處理主要包括:語音信號電壓放大采樣、反混疊失真濾波、預加重、自動增益控制、分幀、加窗、語音增強、端點檢測以及A/D轉(zhuǎn)換等環(huán)節(jié);然后是信號特征量的提?。ū疚膶π盘柕奶卣髁窟M行Mel頻率倒譜系數(shù)[2](Mel-Frequency Cestrum Coefficients)處理);最后對建立好的參數(shù)模板進行對比,測試的依據(jù)是失真度最小準則,如本文用到的動態(tài)時間規(guī)整DTW[3](Dynamic Time Warping)。
2 系統(tǒng)硬件設計
通過針對擬人機器人的特點,對系統(tǒng)進行分析和方案設計,最終確定本系統(tǒng)的框圖如圖2所示。本系統(tǒng)的硬件基于一個以DSP(TMS320VC5416)為主處理器的硬件平臺,硬件平臺主要包括:語音輸入輸出模塊、主處理器DSP模塊、存儲器模塊、單片機MCU模塊、485串口通信模塊。其中語音輸入輸出模塊實現(xiàn)了語音信號的采集和輸出;主處理器DSP模塊(TMS320VC5416)主要完成語音識別所需的計算,其性能能夠達到實時處理的要求;存儲器模塊包括一片F(xiàn)LASH和兩片SRAM,用FLASH作為DSP的可編程存儲器,SRAM分別作為DSP的數(shù)據(jù)和程序存儲器;單片機MCU模塊完成對擬人機器人的運動控制;485串口通信模塊實現(xiàn)單片機MCU和PC機之間的通信。
2.1 主處理器DSP模塊介紹
TMS320VC5416(簡稱VC5416)是TI公司的C54X家族的成員之一,它是基于先進的改進哈佛結(jié)構(gòu)的16位定點DSP。它具有C54X的共同特點,高性能低功耗,具有高達160MHz的主頻,核心電壓1.5V,運行于此頻率時功耗僅為90mW;擁有一條程序總線和三條數(shù)據(jù)總線,片內(nèi)集成有高度并行性的算術(shù)邏輯單元(ALU)、專有硬件邏輯、片內(nèi)存儲器和片內(nèi)外設等。
片內(nèi)可屏蔽ROM中固化有啟動裝載程序(BOOTLOADER)和中斷向量表等。系統(tǒng)上電時,BOOTLOADER自動把用戶代碼從外部存儲器搬移到程序空間。復位以后,中斷向量表可被重新映射到程序空間的任何(128Word)的開始處。為了與慢速的外設通信,VC5416提供了等待狀態(tài)發(fā)生器,通過軟件設置等待周期的個數(shù),不僅降低了系統(tǒng)硬件設計的復雜性,而且為系統(tǒng)帶來了很大的靈活性。VC5416片內(nèi)集成了軟件可編程的鎖相環(huán)時鐘電路,它只需要一個參考時鐘輸入就可以得到31種不同頻率的輸出時鐘,最大的乘率因子(在寄存器CLKMD中設置)為15,最小的為0.25。這樣,一方面可利用較低頻率的外部時鐘源產(chǎn)生較高頻率的CPU時鐘,另一方面在不工作時可降低CPU時鐘頻率至外部頻率的四分之一,從而降低了CPU的功耗。
2.2 語音輸入輸出模塊介紹
語音輸入輸出模塊采用TI公司推出的一款高性能立體聲音頻Codec芯片TLV320AIC23B,內(nèi)置耳機輸出放大器,支持MIC和LINE IN兩種輸入方式,且對輸入和輸出都具有可編程增益調(diào)節(jié)。其最主要的優(yōu)點是和TI公司的DSP芯片的McBSP接口完全兼容,與本設計中使用的DSP芯片能夠?qū)崿F(xiàn)無縫接口。
AIC23的模數(shù)轉(zhuǎn)換((ADCs)和數(shù)模轉(zhuǎn)換(DACs)部件高度集成在芯片內(nèi)部,采用了先進的Sigma-delta過采樣技術(shù),可以在8K到96K的頻率范圍內(nèi)提供16bit,20bit,24bit和32bit的采樣,ADC和DAC的輸出信噪比分別可以達到90dB和100dB。與此同時,AIC23還具有很低的能耗,回放模式下功率僅為23mW,省電模式下更是小于15uW。由于具有這些優(yōu)點,使得AIC23是一款非常理想的音頻模擬I/0器件,可以很好地適用于隨聲聽(如CD,MP3),錄音機等數(shù)字音頻領(lǐng)域。由TLV320AIC23組成的語音輸入與輸出模塊不僅采樣率高(最高可達96KHz),而且外圍電路簡單,性價比高。最方便之處是能與McBSP無縫接口(它是TI原廠制造)。
2.3 存儲器模塊介紹
VC5416 DSP片內(nèi)提供了16K×16bit的ROM和128K×16bit的SRAM。其中ROM內(nèi)部包含的Boot loader程序在系統(tǒng)上電時能把外部存儲器中的源程序調(diào)到內(nèi)部存儲器中,允許源程序存放在速度較慢的外部存儲器中,降低了硬件資源的成本,片內(nèi)ROM由廠家定制,位于程序空間OxF000-OxFFFFo。On-Chip RAM分為兩個大小都為64K的塊,其中DARAM和SARAM各有8塊,每塊容量為8K×16bit。在DARAM中,有4塊定位在數(shù)據(jù)空間0x0080-Ox7FFF(當OVLY=1時,可以被映射到程序/數(shù)據(jù)空間),剩下的4塊DARAM被定位到程序空間0x18000-Ox1FFFF。通過設置DROM=1可使定位在程序空間的0x18000-Ox1FFFF的RAM映射到數(shù)據(jù)空間。在一個周期內(nèi)它支持兩次讀操作,或者一次讀操作和一次寫操作。SARAM被定位到程序空間0x28000-Ox2FFFF和0x38000-Ox3FFFF。
除了內(nèi)部16K的ROM和128K的SRAM之外,系統(tǒng)還可以擴展外部存儲器。本系統(tǒng)擴展了兩塊64K×16bit的SRAM(IS61LV12816)和一塊256K×16bit的FLASH(AM29LV800B)來增加系統(tǒng)存儲空間。
2.4 MCU模塊介紹
單片機是一種集成電路芯片,采用超大規(guī)模集成電路技術(shù)把具有數(shù)據(jù)處理能力的中央處理器CPU、隨機存儲器RAM、只讀存儲器ROM、多種I/O和終端系統(tǒng)、定時器、計時器等(有些還包括顯示驅(qū)動電路、脈寬調(diào)制電路、模擬多路轉(zhuǎn)換器、A/D轉(zhuǎn)換器等電路)集成到一塊硅片上,構(gòu)成一個小而完善的計算機系統(tǒng)。
本文采用89C52單片機完成機器人的運動控制。89C52是INTEL公司MCS-51系列單片機中基本的產(chǎn)品,它結(jié)合了CMOS的高速和高密度技術(shù)及CMOS的低功耗特征,基于標準的MCS-51單片機體系結(jié)構(gòu)和指令系統(tǒng),集成了時鐘輸出和向上或向下計數(shù)器等更多的功能。89C52內(nèi)置8位中央處理單元、256字節(jié)內(nèi)部數(shù)據(jù)存儲器RAM、8K片內(nèi)程序存儲器(ROM)、32個雙向輸入/輸出(I/O)口、3個16位定時/計數(shù)器和5個兩級中斷結(jié)構(gòu),一個全雙工串行通信口,片內(nèi)時鐘振蕩電路。此外,89C52還可工作于低功耗模式,可通過兩種軟件選擇空閑和掉電模式。在空閑模式下凍結(jié)CPU和RAM定時器,而串行口和中斷系統(tǒng)維持其功能。掉電模式下,保存RAM數(shù)據(jù),時鐘振蕩停止,同時停止芯片內(nèi)其他功能。該單片機最大的優(yōu)勢就是可以跟TI公司提供的這款DSP兼容,達到最佳的效果。
2.5 RS-485串口通信模塊介紹
RS-485是RS-422的改進,它增加了設備的個數(shù),從10個增加到32個,同時定義了在最大設備個數(shù)情況下的電氣特性,以保證足夠的信號電壓。RS-485模塊具有出色抗噪和多設備能力,在擬人機器人上可以建立連向PC機的分布式設備網(wǎng)絡、其他數(shù)據(jù)收集控制器、HMI等,RS-485可以用超過4000英尺的線進行串行通信,實時性能高,更加便于我們操作控制機器人。
3 結(jié)束語
通過采用雙CPU對語音識別系統(tǒng)進行控制,有效地提高了語音識別的可靠性和實時性,特別適合應用于語音識別的場合。語音識別算法采用的是隱馬爾科夫模型,對識別算法進行測試,在正常發(fā)音情況下(“短時”時看作平穩(wěn)過程),系統(tǒng)的實時性和識別率都可以得到很好的結(jié)果,但是如果說話人有明顯的停頓時,系統(tǒng)比較容易出現(xiàn)錯誤識別,這也是接下來需要改進的地方。
參考文獻:
[1] 周霖.DSP信號處理技術(shù)應用[M].國防工業(yè)出版社,2004.
[2] 蔡蓮紅,黃德智,蔡銳.現(xiàn)代語音技術(shù)基礎與應用[M].清華大學出版社,2003.
[3] 程啟明.語音信號端點檢測的實驗研究[J].聲學與電子工程,1997.34(3):33-36
[4] 劉玄和,宋庭新.語音識別與控制應用技術(shù)[M].科技出版社,2008.
[5] Speech recognition in noise for cochlear implant listeners:Benefits of residual acoustic hearing[J].The Journal of the Acoustical Society of America,2004.115(5):1729-1735
[6] 項勇.基于DSP和HMM的語音識別系統(tǒng)設計和實現(xiàn)[D]. 武漢科技大學,2008.