《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > SPCE061A單片機(jī)在無(wú)線接收播放器中的應(yīng)用
SPCE061A單片機(jī)在無(wú)線接收播放器中的應(yīng)用
李月香1,尹 旭1,袁 濤2
摘要: 將具有語(yǔ)音處理功能的低成本的SPCE061A單片機(jī)作為無(wú)線語(yǔ)音播放器的核心器件,通過(guò)對(duì)語(yǔ)音資料的壓縮和解壓縮,采用信息容量較少的低頻段數(shù)據(jù)傳輸,實(shí)現(xiàn)了非廣播頻段的準(zhǔn)實(shí)時(shí)語(yǔ)音廣播。
Abstract:
Key words :

  摘 要: 將具有語(yǔ)音" title="語(yǔ)音">語(yǔ)音處理功能的低成本的SPCE061A單片機(jī)" title="單片機(jī)">單片機(jī)作為無(wú)線語(yǔ)音播放器的核心器件,通過(guò)對(duì)語(yǔ)音資料的壓縮和解壓縮,采用信息容量較少的低頻段數(shù)據(jù)傳輸,實(shí)現(xiàn)了非廣播頻段的準(zhǔn)實(shí)時(shí)語(yǔ)音廣播。
  關(guān)鍵詞: 單片機(jī)  無(wú)線傳輸" title="無(wú)線傳輸">無(wú)線傳輸  語(yǔ)音

 

  目前,電子監(jiān)控技術(shù)已經(jīng)成功地應(yīng)用于很多方面,取得了良好的效果,其推廣普及的規(guī)模也在進(jìn)一步擴(kuò)大。但是,由于被監(jiān)控點(diǎn)的環(huán)境及監(jiān)控的目的、要求各不相同,所需要的監(jiān)控技術(shù)也會(huì)有很大的差異。如一些要求保密性高、被監(jiān)控范圍大的場(chǎng)合,除了需要用視頻對(duì)現(xiàn)場(chǎng)進(jìn)行實(shí)時(shí)監(jiān)視外,還需要能夠?qū)χ蛋嗳藛T進(jìn)行現(xiàn)場(chǎng)語(yǔ)音指示。為了保密和防止非工作信息的干擾,此類應(yīng)用場(chǎng)合通常不允許如手機(jī)、收音機(jī)等常用的通訊設(shè)施介入。因此,系統(tǒng)除了采用成熟的視頻監(jiān)控技術(shù)外,還要加入具有保密功能的單向語(yǔ)音通話系統(tǒng)。本系統(tǒng)采用了具有語(yǔ)音處理功能的低成本的SPCE061A單片機(jī)芯片作為無(wú)線語(yǔ)音播放器的核心器件,選用信息容量較少的低頻段進(jìn)行無(wú)線數(shù)據(jù)傳輸,實(shí)現(xiàn)了非廣播頻段的準(zhǔn)實(shí)時(shí)、一對(duì)一或一對(duì)多的語(yǔ)音廣播。并且通過(guò)語(yǔ)音信息的編碼、解碼和加密、解密技術(shù),消除了系統(tǒng)以外語(yǔ)音信號(hào)的干擾。它非常適合一些對(duì)音色要求不是很高(僅作為通話用),又要求低成本的場(chǎng)合應(yīng)用。這項(xiàng)技術(shù)和視頻監(jiān)控結(jié)合使用,能夠?qū)崿F(xiàn)通過(guò)總監(jiān)控室進(jìn)行全局指揮的功能。
1 無(wú)線語(yǔ)音單向通話系統(tǒng)結(jié)構(gòu)原理
  無(wú)線語(yǔ)音單向通話系統(tǒng)結(jié)構(gòu)如圖1所示。在微型計(jì)算機(jī)上通過(guò)高級(jí)語(yǔ)言可視化編程,可以方便地實(shí)現(xiàn)對(duì)語(yǔ)音指令的采集、壓縮、編碼、指定位置傳輸?shù)炔僮?;通過(guò)連接在計(jì)算機(jī)串口上的無(wú)線發(fā)送模塊,將壓縮、加密后帶有地址碼的語(yǔ)音信息發(fā)送出去;無(wú)線接收模塊將接收到的射頻信號(hào)轉(zhuǎn)換成數(shù)字信號(hào)發(fā)送給語(yǔ)音播放器,語(yǔ)音播放器根據(jù)接收到的屬于自己的地址碼進(jìn)行數(shù)據(jù)解碼及播放。

圖1 系統(tǒng)結(jié)構(gòu)圖

2 語(yǔ)音壓縮編碼和播放方式[1]
  實(shí)時(shí)語(yǔ)音系統(tǒng)要在保證所需要語(yǔ)音質(zhì)量的前提下,盡可能地降低信息壓縮、傳輸、解碼難度。因此選擇一種合適的壓縮編碼方式非常重要。
2.1 凌陽(yáng)語(yǔ)音壓縮編碼方式
  按照一定的頻率和量化位數(shù)對(duì)語(yǔ)音信息進(jìn)行采集即可得到數(shù)字音頻資料,但是這樣的音頻資料數(shù)據(jù)量非常大,直接對(duì)其進(jìn)行存儲(chǔ)和傳輸在實(shí)際應(yīng)用中不容易實(shí)現(xiàn)。所以要在滿足一定音質(zhì)要求的條件下對(duì)其進(jìn)行壓縮,實(shí)現(xiàn)以較少的數(shù)據(jù)量來(lái)表達(dá)實(shí)際的聲音信息。SPCE061A單片機(jī)支持以下三種語(yǔ)音壓縮編碼方式:
  (1)SACM-A2000屬于波形編碼方式,這種編碼方式是將時(shí)間域信號(hào)直接變換為數(shù)字信號(hào),解碼后的語(yǔ)音波形和原語(yǔ)音信號(hào)的波形基本相同。這種方式的優(yōu)點(diǎn)是能保持好的語(yǔ)音音質(zhì);缺點(diǎn)是只能達(dá)到8:1的壓縮比,壓縮后仍需要較大的數(shù)據(jù)存儲(chǔ)空間和較高的傳輸速率。
  (2)SACM-S240屬于參數(shù)編碼方式,這種編碼方式是將信源信號(hào)在頻率域或其他正交變換域提取特征參數(shù),并將其變化成數(shù)字信號(hào),主要目的是降低編碼比特率。這種方式的優(yōu)點(diǎn)是可達(dá)到80:1的壓縮比,缺點(diǎn)是解碼后的音頻信號(hào)和原信號(hào)的波形會(huì)有較大差別,導(dǎo)致音質(zhì)不高。
  (3)SACM-S480屬于參數(shù)編碼和波形編碼的混合編碼,這種編碼方式結(jié)合了以上兩種編碼方式的優(yōu)點(diǎn),壓縮比約為80:3,保持了波形編碼的高質(zhì)量和參數(shù)編碼的低速率。
  三種編碼方式中,S240的壓縮比高,語(yǔ)音音質(zhì)較差;A2000方式音質(zhì)最好,但壓縮比過(guò)低,壓縮后數(shù)據(jù)量大;S480既能滿足語(yǔ)音播放中的音質(zhì)要求,壓縮后的數(shù)據(jù)量也不太大,所以在無(wú)線語(yǔ)音單向通話系統(tǒng)中選擇這種壓縮編碼方式。
2.2 SACM-S480方式下的語(yǔ)音播放步驟
  SPCE061A單片機(jī)在SACM-S480方式下的語(yǔ)音解碼、播放的步驟是:在計(jì)算機(jī)上將語(yǔ)音錄制成wav文件,用專用壓縮工具將其壓縮成.48k文件;使用時(shí),將.48k文件作為語(yǔ)音資源和程序一起下載到SPCE061A內(nèi)置Flash存儲(chǔ)器中進(jìn)行讀取和解碼播放。播放流程如圖2所示。

圖2  SACM_S480方式放音流程圖


2.3 SACM-S480方式下進(jìn)行語(yǔ)音播放需注意的問(wèn)題
  (1)計(jì)算機(jī)壓縮生成的.48k文件與下載到SPCE061A的Flash存儲(chǔ)器中的數(shù)據(jù)對(duì)比發(fā)現(xiàn),.48k文件的前48個(gè)字節(jié)數(shù)據(jù)未被下載到Flash存儲(chǔ)器中,說(shuō)明這些字節(jié)是壓縮文件的描述性字節(jié)而不是語(yǔ)音資源;在.48k文件的末尾是三個(gè)連續(xù)的0xFF字節(jié),為規(guī)定的語(yǔ)音播放結(jié)束標(biāo)志。
  (2)SPCE061A是一款16位單片機(jī),數(shù)據(jù)按字存儲(chǔ)。兩字節(jié)數(shù)據(jù)下載后拼接成一個(gè)字存儲(chǔ),相鄰數(shù)據(jù)的順序發(fā)生了顛倒。例如,二個(gè)字節(jié)數(shù)據(jù)00010010、00110010下載到Flash存儲(chǔ)器中變成0011001000010010的格式。
  (3)S480方式是30毫秒采樣一次,采樣480字節(jié)語(yǔ)音資料,壓縮后變成18字節(jié),形成一個(gè)語(yǔ)音數(shù)據(jù)包。在傳輸、解壓和播放中,要保證一次采樣、壓縮形成的18字節(jié)數(shù)據(jù)包完整,否則會(huì)發(fā)生放音聲音不正常等現(xiàn)象。
3 無(wú)線接收播放器設(shè)計(jì)
無(wú)線語(yǔ)音單向通話系統(tǒng)采用無(wú)線的數(shù)據(jù)傳輸方式和語(yǔ)音通話的實(shí)時(shí)性特點(diǎn),對(duì)SPCE061A中使用SACM-S480方式播放語(yǔ)音的方式進(jìn)行修改。
3.1 語(yǔ)音數(shù)據(jù)存儲(chǔ)區(qū)域選擇
  語(yǔ)音資源通常存儲(chǔ)在SPCE061A的片內(nèi)Flash存儲(chǔ)器中。本系統(tǒng)的語(yǔ)音資源是實(shí)時(shí)接收的,需要反復(fù)將數(shù)據(jù)寫(xiě)入存儲(chǔ)器,但Flash存儲(chǔ)器再編程次數(shù)有限[2],多次寫(xiě)入會(huì)影響系統(tǒng)使用壽命;另一方面,F(xiàn)lash存儲(chǔ)器寫(xiě)入速度較慢,對(duì)系統(tǒng)實(shí)時(shí)性造成影響。針對(duì)以上問(wèn)題,將接收的語(yǔ)音數(shù)據(jù)存儲(chǔ)在單片機(jī)片內(nèi)RAM中。因?yàn)镽AM基本不受寫(xiě)入次數(shù)的限制,且讀寫(xiě)速度高于Flash,其掉電易失性的缺點(diǎn)不會(huì)對(duì)系統(tǒng)造成影響。
3.2 數(shù)據(jù)緩沖區(qū)設(shè)置
  單片機(jī)內(nèi)的RAM空間較Flash更加緊缺,需要對(duì)空間進(jìn)行循環(huán)利用,且實(shí)時(shí)語(yǔ)音播放的同時(shí)需要完成數(shù)據(jù)接收及校驗(yàn)。因此要將數(shù)據(jù)在每一步處理之后先放置在一個(gè)緩沖區(qū)內(nèi),各項(xiàng)工作不需要相互等待。因此,在RAM中實(shí)現(xiàn)兩個(gè)環(huán)形數(shù)據(jù)緩沖區(qū)[3],即數(shù)據(jù)接收緩沖區(qū)和語(yǔ)音播放緩沖區(qū)。將通過(guò)無(wú)線接收到的數(shù)據(jù)放置在數(shù)據(jù)接收緩沖區(qū)中,當(dāng)緩沖區(qū)內(nèi)的數(shù)據(jù)量達(dá)到一個(gè)數(shù)據(jù)包后,將其取出進(jìn)行校驗(yàn)。校驗(yàn)正確的數(shù)據(jù)放入語(yǔ)音播放緩沖區(qū),在語(yǔ)音播放隊(duì)列不滿的情況下,從語(yǔ)音播放緩沖區(qū)中取出語(yǔ)音資源放入放音隊(duì)列。
3.3 軟件設(shè)計(jì)
  無(wú)線接收播放器軟件流程如圖3所示,其中最為重要的工作是數(shù)據(jù)的校驗(yàn)。數(shù)據(jù)檢測(cè)模塊從數(shù)據(jù)接收緩沖區(qū)讀取數(shù)據(jù)進(jìn)行檢查,當(dāng)收到本機(jī)地址碼后,將狀態(tài)轉(zhuǎn)為播放狀態(tài),將一個(gè)數(shù)據(jù)包的數(shù)據(jù)按照對(duì)接規(guī)則組成以字為單位的語(yǔ)音資源放入語(yǔ)音播放緩沖區(qū)。若在一個(gè)數(shù)據(jù)包的內(nèi)部發(fā)現(xiàn)下一個(gè)數(shù)據(jù)包的包頭信息,則說(shuō)明發(fā)生了數(shù)據(jù)丟失,將此包數(shù)據(jù)丟棄,直到收到本機(jī)停止工作指令后,停止語(yǔ)音播放。

圖3  無(wú)線接收播放器軟件流程圖


  以SPCE061A單片機(jī)為核心器件設(shè)計(jì)的無(wú)線語(yǔ)音接收播放器與計(jì)算機(jī)、無(wú)線發(fā)送模塊共同組成了無(wú)線語(yǔ)音單向通話系統(tǒng)。在不允許使用手機(jī)、無(wú)線電廣播等通訊設(shè)施的保密性應(yīng)用場(chǎng)合,有效地實(shí)現(xiàn)了實(shí)時(shí)語(yǔ)音指揮功能。無(wú)線語(yǔ)音接收播放器在整個(gè)系統(tǒng)中使用量大,它的低成本優(yōu)勢(shì)有利于無(wú)線語(yǔ)音單向通話系統(tǒng)的推廣使用。
參考文獻(xiàn)
[1] SPCE061A單片機(jī)教程.凌陽(yáng)大學(xué)計(jì)劃技術(shù)資料,2002.
[2] 吳東坡.Flash存儲(chǔ)器技術(shù)與應(yīng)用.微電子學(xué)與計(jì)算機(jī), 1998,(6):55-56.
[3] 孫衛(wèi)防,張華忠.實(shí)時(shí)語(yǔ)音傳輸中的語(yǔ)音緩沖區(qū)設(shè)計(jì).計(jì)算機(jī)工程與應(yīng)用,2004(6):99-100.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。