

摘 要: 為了提高語音識別的可靠性和高效率性,設計了以“MCU+DSP”的雙CPU結構為核心的語音識別系統,其中以DSP[1]芯片作為硬件平臺的主處理器,完成語音識別所需的計算。MCU用以完成對DSP運算的協助工作,控制機器人各部分動作,其性能達到了實時處理的要求。
關鍵詞: 擬人機器人; 雙CPU; 語音識別系統; 硬件設計
中圖分類號: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 引言
隨著超大規模集成電路和數字信號處理器(DSP)的快速發展,DSP的應用越來越廣泛,涉及到各個領域如語音處理,圖像處理等方面。現在語音識別中許多復雜算法已經能夠在硬件上實現。最近十多年來,已研發出不少應用于不同領域的便攜式語音識別系統。DSP處理速度快、靈活、精確,滿足了對信號快速、實時、精確處理的要求,所以很適用于語音識別。
1 擬人機器人語音識別方法概述
語音信號分析是語音識別的前提和基礎,只有分析出可表示語音信號本質特征的參數,才可能利用這些參數進行高效的語音通信,才能建立用于識別的模板或知識庫。語音識別率的高低取決于對語音信號分析的準確性和精確性,雖然語音信號具有時變特性,但在一個短時間范圍內其特性相對穩定,因而可以將其看作是一個短時平穩過程。任何對語音的分析和處理均建立在“短時”的基礎上,一般認為語音信號在10-30ms的短時間內是相對平穩的。
擬人機器人語音識別方法如圖1所示,采集到的語音信號輸入后,首先對語音信號進行預處理,預處理主要包括:語音信號電壓放大采樣、反混疊失真濾波、預加重、自動增益控制、分幀、加窗、語音增強、端點檢測以及A/D轉換等環節;然后是信號特征量的提取(本文對信號的特征量進行Mel頻率倒譜系數[2](Mel-Frequency Cestrum Coefficients)處理);最后對建立好的參數模板進行對比,測試的依據是失真度最小準則,如本文用到的動態時間規整DTW[3](Dynamic Time Warping)。
2 系統硬件設計
通過針對擬人機器人的特點,對系統進行分析和方案設計,最終確定本系統的框圖如圖2所示。本系統的硬件基于一個以DSP(TMS320VC5416)為主處理器的硬件平臺,硬件平臺主要包括:語音輸入輸出模塊、主處理器DSP模塊、存儲器模塊、單片機MCU模塊、485串口通信模塊。其中語音輸入輸出模塊實現了語音信號的采集和輸出;主處理器DSP模塊(TMS320VC5416)主要完成語音識別所需的計算,其性能能夠達到實時處理的要求;存儲器模塊包括一片FLASH和兩片SRAM,用FLASH作為DSP的可編程存儲器,SRAM分別作為DSP的數據和程序存儲器;單片機MCU模塊完成對擬人機器人的運動控制;485串口通信模塊實現單片機MCU和PC機之間的通信。
2.1 主處理器DSP模塊介紹
TMS320VC5416(簡稱VC5416)是TI公司的C54X家族的成員之一,它是基于先進的改進哈佛結構的16位定點DSP。它具有C54X的共同特點,高性能低功耗,具有高達160MHz的主頻,核心電壓1.5V,運行于此頻率時功耗僅為90mW;擁有一條程序總線和三條數據總線,片內集成有高度并行性的算術邏輯單元(ALU)、專有硬件邏輯、片內存儲器和片內外設等。
片內可屏蔽ROM中固化有啟動裝載程序(BOOTLOADER)和中斷向量表等。系統上電時,BOOTLOADER自動把用戶代碼從外部存儲器搬移到程序空間。復位以后,中斷向量表可被重新映射到程序空間的任何(128Word)的開始處。為了與慢速的外設通信,VC5416提供了等待狀態發生器,通過軟件設置等待周期的個數,不僅降低了系統硬件設計的復雜性,而且為系統帶來了很大的靈活性。VC5416片內集成了軟件可編程的鎖相環時鐘電路,它只需要一個參考時鐘輸入就可以得到31種不同頻率的輸出時鐘,最大的乘率因子(在寄存器CLKMD中設置)為15,最小的為0.25。這樣,一方面可利用較低頻率的外部時鐘源產生較高頻率的CPU時鐘,另一方面在不工作時可降低CPU時鐘頻率至外部頻率的四分之一,從而降低了CPU的功耗。
2.2 語音輸入輸出模塊介紹
語音輸入輸出模塊采用TI公司推出的一款高性能立體聲音頻Codec芯片TLV320AIC23B,內置耳機輸出放大器,支持MIC和LINE IN兩種輸入方式,且對輸入和輸出都具有可編程增益調節。其最主要的優點是和TI公司的DSP芯片的McBSP接口完全兼容,與本設計中使用的DSP芯片能夠實現無縫接口。
AIC23的模數轉換((ADCs)和數模轉換(DACs)部件高度集成在芯片內部,采用了先進的Sigma-delta過采樣技術,可以在8K到96K的頻率范圍內提供16bit,20bit,24bit和32bit的采樣,ADC和DAC的輸出信噪比分別可以達到90dB和100dB。與此同時,AIC23還具有很低的能耗,回放模式下功率僅為23mW,省電模式下更是小于15uW。由于具有這些優點,使得AIC23是一款非常理想的音頻模擬I/0器件,可以很好地適用于隨聲聽(如CD,MP3),錄音機等數字音頻領域。由TLV320AIC23組成的語音輸入與輸出模塊不僅采樣率高(最高可達96KHz),而且外圍電路簡單,性價比高。最方便之處是能與McBSP無縫接口(它是TI原廠制造)。
2.3 存儲器模塊介紹
VC5416 DSP片內提供了16K×16bit的ROM和128K×16bit的SRAM。其中ROM內部包含的Boot loader程序在系統上電時能把外部存儲器中的源程序調到內部存儲器中,允許源程序存放在速度較慢的外部存儲器中,降低了硬件資源的成本,片內ROM由廠家定制,位于程序空間OxF000-OxFFFFo。On-Chip RAM分為兩個大小都為64K的塊,其中DARAM和SARAM各有8塊,每塊容量為8K×16bit。在DARAM中,有4塊定位在數據空間0x0080-Ox7FFF(當OVLY=1時,可以被映射到程序/數據空間),剩下的4塊DARAM被定位到程序空間0x18000-Ox1FFFF。通過設置DROM=1可使定位在程序空間的0x18000-Ox1FFFF的RAM映射到數據空間。在一個周期內它支持兩次讀操作,或者一次讀操作和一次寫操作。SARAM被定位到程序空間0x28000-Ox2FFFF和0x38000-Ox3FFFF。
除了內部16K的ROM和128K的SRAM之外,系統還可以擴展外部存儲器。本系統擴展了兩塊64K×16bit的SRAM(IS61LV12816)和一塊256K×16bit的FLASH(AM29LV800B)來增加系統存儲空間。
2.4 MCU模塊介紹
單片機是一種集成電路芯片,采用超大規模集成電路技術把具有數據處理能力的中央處理器CPU、隨機存儲器RAM、只讀存儲器ROM、多種I/O和終端系統、定時器、計時器等(有些還包括顯示驅動電路、脈寬調制電路、模擬多路轉換器、A/D轉換器等電路)集成到一塊硅片上,構成一個小而完善的計算機系統。
本文采用89C52單片機完成機器人的運動控制。89C52是INTEL公司MCS-51系列單片機中基本的產品,它結合了CMOS的高速和高密度技術及CMOS的低功耗特征,基于標準的MCS-51單片機體系結構和指令系統,集成了時鐘輸出和向上或向下計數器等更多的功能。89C52內置8位中央處理單元、256字節內部數據存儲器RAM、8K片內程序存儲器(ROM)、32個雙向輸入/輸出(I/O)口、3個16位定時/計數器和5個兩級中斷結構,一個全雙工串行通信口,片內時鐘振蕩電路。此外,89C52還可工作于低功耗模式,可通過兩種軟件選擇空閑和掉電模式。在空閑模式下凍結CPU和RAM定時器,而串行口和中斷系統維持其功能。掉電模式下,保存RAM數據,時鐘振蕩停止,同時停止芯片內其他功能。該單片機最大的優勢就是可以跟TI公司提供的這款DSP兼容,達到最佳的效果。
2.5 RS-485串口通信模塊介紹
RS-485是RS-422的改進,它增加了設備的個數,從10個增加到32個,同時定義了在最大設備個數情況下的電氣特性,以保證足夠的信號電壓。RS-485模塊具有出色抗噪和多設備能力,在擬人機器人上可以建立連向PC機的分布式設備網絡、其他數據收集控制器、HMI等,RS-485可以用超過4000英尺的線進行串行通信,實時性能高,更加便于我們操作控制機器人。
3 結束語
通過采用雙CPU對語音識別系統進行控制,有效地提高了語音識別的可靠性和實時性,特別適合應用于語音識別的場合。語音識別算法采用的是隱馬爾科夫模型,對識別算法進行測試,在正常發音情況下(“短時”時看作平穩過程),系統的實時性和識別率都可以得到很好的結果,但是如果說話人有明顯的停頓時,系統比較容易出現錯誤識別,這也是接下來需要改進的地方。
參考文獻:
[1] 周霖.DSP信號處理技術應用[M].國防工業出版社,2004.
[2] 蔡蓮紅,黃德智,蔡銳.現代語音技術基礎與應用[M].清華大學出版社,2003.
[3] 程啟明.語音信號端點檢測的實驗研究[J].聲學與電子工程,1997.34(3):33-36
[4] 劉玄和,宋庭新.語音識別與控制應用技術[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的語音識別系統設計和實現[D]. 武漢科技大學,2008.