基于CAN總線的語音節(jié)點(diǎn)設(shè)計(jì)方案
由于井下語音節(jié)點(diǎn)使用環(huán)境比較嘈雜,因此需要配備功放來驅(qū)動井下的喇叭,本系統(tǒng)采用的功放芯片為Maxim 的MAX9736,可以工作在8V 至28V,并具有高PSRR,無需穩(wěn)壓電源。MAX9736采用12V供電時效率可達(dá)88%。
語音數(shù)據(jù)經(jīng)過解碼、D/A 轉(zhuǎn)換等恢復(fù)為模擬信號。輸出的模擬信號要在經(jīng)過語音模塊進(jìn)行功率放大送到揚(yáng)聲器。該模塊電路設(shè)計(jì)如圖9所示。
圖9 功放模塊電路設(shè)計(jì)圖
3 語音節(jié)點(diǎn)軟件流程設(shè)計(jì)
語音節(jié)點(diǎn)可以與網(wǎng)關(guān)節(jié)點(diǎn)和組內(nèi)其他語音節(jié)點(diǎn)進(jìn)行通信。
當(dāng)與網(wǎng)關(guān)通話按鍵按下后(Button_Gate=0),打開本地MIC,關(guān)閉本地功放,讓AMBE-1000 工作,修改發(fā)送緩沖器標(biāo)識符,使僅網(wǎng)關(guān)節(jié)點(diǎn)能接收到該語音數(shù)據(jù),等待編碼器編碼完畢(EPR=1),從AMBE-1000 中讀取編碼后的數(shù)據(jù),然后將壓縮編碼后的語音數(shù)據(jù)發(fā)送到CAN 總線上。發(fā)送完畢后需要關(guān)閉本地MIC,使AMBE-1000 休眠。
當(dāng)與組內(nèi)其他節(jié)點(diǎn)通話按鍵按下后(Button_Group=0),工作過程和與網(wǎng)關(guān)節(jié)點(diǎn)通話過程基本相同,只是發(fā)送緩沖器標(biāo)識符不同。語音節(jié)點(diǎn)主程序流程如圖10 所示。
當(dāng)作為接收節(jié)點(diǎn)時,將產(chǎn)生CAN 接收中斷,然后判斷是否為本板數(shù)據(jù),若是,則等待解碼器空(DPE=1),將數(shù)據(jù)寫入AMBE-1000 解碼,并播放語音。語音節(jié)點(diǎn)中斷服務(wù)程序如圖11所示。
圖 10 語音節(jié)點(diǎn)主程序流程
圖11 語音節(jié)點(diǎn)中斷服務(wù)程序流程
系統(tǒng)初始化主要包括對I/ O 口初始化、串口初始化和CAN 控制器的初始化等。
4 結(jié)語
應(yīng)用該方法構(gòu)造的語音通信系統(tǒng)能夠在保持良好的語音通信質(zhì)量的前提下,簡化電路,降低功耗,節(jié)約成本。
評論