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