- 相關(guān)推薦
基于CANopen協(xié)議的礦用語(yǔ)音通信系統(tǒng)研究
1 引言
現(xiàn)場(chǎng)總線的研究與應(yīng)用早已成為工業(yè)數(shù)據(jù)總線領(lǐng)域的熱點(diǎn),CAN 總線作為一種技術(shù)先進(jìn)、可靠性高、功能完善、成本合理的遠(yuǎn)程網(wǎng)絡(luò)通訊控制方式,已被廣泛應(yīng)用到自動(dòng)化控制系統(tǒng)中。由于CAN 本身并非一個(gè)完整的協(xié)議,因而進(jìn)行高效率的通訊還需要進(jìn)一步開(kāi)發(fā)高層協(xié)議,而CANopen 協(xié)議就是建立在CAN 協(xié)議物理層和數(shù)據(jù)鏈路層基礎(chǔ)上的標(biāo)準(zhǔn)化應(yīng)用層協(xié)議,其采用面向?qū)ο蟮乃枷朐O(shè)計(jì),具有很好的模塊特性和很高的適應(yīng)性,且精練透明、易于開(kāi)發(fā)。本文圍繞由微控制器PIC18F458和語(yǔ)音處理芯片AMBE-1000 構(gòu)成的語(yǔ)音通信系統(tǒng)研究了CANopen 協(xié)議在基于CAN 總線的語(yǔ)音通信系統(tǒng)中的應(yīng)用情況。
2 語(yǔ)音通信系統(tǒng)的硬件設(shè)計(jì)
2.1 系統(tǒng)原理
系統(tǒng)由上位機(jī),網(wǎng)關(guān),節(jié)點(diǎn),中繼等組成,利用已有的CAN 總線實(shí)現(xiàn)實(shí)時(shí)語(yǔ)音和監(jiān)控?cái)?shù)據(jù)的傳輸。通信過(guò)程為:語(yǔ)音數(shù)據(jù)通過(guò)麥克采集輸入后經(jīng)A /D 轉(zhuǎn)換變成數(shù)字信號(hào),而語(yǔ)音處理模塊AMBE-1000 對(duì)數(shù)字信號(hào)壓縮編碼后傳送給本地微處理器PIC18F458, 然后微處理器通過(guò)CAN 收發(fā)器將收到的數(shù)據(jù)經(jīng)CAN 總線送給遠(yuǎn)方微處理器。相應(yīng)的,遠(yuǎn)方微處理器對(duì)收到的數(shù)據(jù)經(jīng)過(guò)上述步驟的反向處理最終還原為語(yǔ)音信號(hào)并由喇叭播放。當(dāng)沒(méi)有語(yǔ)音信號(hào)需要處理傳輸時(shí),系統(tǒng)自動(dòng)開(kāi)啟MP3 功能播放背景音樂(lè)。
2.2 信道接口設(shè)計(jì)
微控制器采用Microchip 公司的PIC18Fxxx 系列芯片,其內(nèi)含有A/D、內(nèi)部EEPROM 存儲(chǔ)器、CAN 控制器、SPI 接口、FLASH 程序存儲(chǔ)器讀/寫(xiě)等強(qiáng)大功能。
語(yǔ)音處理模塊采用Digital Voice Systems 公司推出的語(yǔ)音壓縮/ 解壓芯片AMBE-1000,其壓縮率可在2.4kbps-9.6kbps 范圍內(nèi)由軟件調(diào)節(jié),且具有FEC(前向糾錯(cuò))、VAD(語(yǔ)音激活檢測(cè))功能和DTMF 信號(hào)檢測(cè)功能。
AMBE-1000 與微控制器PIC18F458 進(jìn)行通信的信道接口為串行SPI 接口,有兩種工作模式:主動(dòng)模式和被動(dòng)模式。本系統(tǒng)定義AMBE-1000 的引腳CH_SEL1~CHSEL0 將AMBE-1000 設(shè)置為串行被動(dòng)模式,串口存在于幀格式下,通過(guò)模擬標(biāo)準(zhǔn)SPI 通信時(shí)序?qū)崿F(xiàn)數(shù)據(jù)包的傳輸。
3 CANopen 協(xié)議的實(shí)現(xiàn)
在系統(tǒng)中,選取網(wǎng)關(guān)為主節(jié)點(diǎn),其它節(jié)點(diǎn)為從節(jié)點(diǎn)。主節(jié)點(diǎn)除了具有啟動(dòng)/停止網(wǎng)絡(luò)、檢查網(wǎng)絡(luò)工作狀態(tài)等功能外,還定義了網(wǎng)絡(luò)設(shè)備的標(biāo)識(shí)符和訪問(wèn)對(duì)象字典入口。
3.1 標(biāo)識(shí)符的分配
主節(jié)點(diǎn)通過(guò)上位機(jī)發(fā)出的標(biāo)識(shí)符字來(lái)改變從節(jié)點(diǎn)的狀態(tài)。在CANopen 協(xié)議應(yīng)用層,設(shè)備之間交換的是通訊對(duì)象(COB),它們被映射到帶有標(biāo)識(shí)符(ID)的CAN 幀中,然后在數(shù)據(jù)鏈路層上傳輸。
在CAN 標(biāo)識(shí)符缺省的默認(rèn)值分配方案中,COB-ID 有11 位,由4 位Function Code 和7位Node-ID 組成,F(xiàn)unction Code 已經(jīng)確定,網(wǎng)絡(luò)中不同的Node-ID 就決定了COB-ID 編碼。
在本設(shè)計(jì)中,井下節(jié)點(diǎn)以分組形式存在,每小組節(jié)點(diǎn)數(shù)不超過(guò)14 個(gè)(0 不可用,1 為主節(jié)點(diǎn)的Node-ID)上位機(jī)與井下節(jié)點(diǎn)通話分為廣播、組播、點(diǎn)播,分組數(shù)不超過(guò)3 個(gè)。同時(shí)考慮到PIC18F458 的緩沖器結(jié)構(gòu),節(jié)點(diǎn)的號(hào)定義為:0x01-0x03,節(jié)點(diǎn)的組內(nèi)節(jié)點(diǎn)號(hào)0x02-0x0F,各節(jié)點(diǎn)Node-ID 分配如表1 所示。
11 位COB-ID 中,高四位為功能碼,語(yǔ)音模式時(shí)標(biāo)識(shí)id6 位為0 ,MP3 模式時(shí)標(biāo)識(shí)符id6位為1,id4-id5 位為小組號(hào),id0-id3 位為每一小組內(nèi)的節(jié)點(diǎn)號(hào)。通過(guò)對(duì)11 位中低4 位驗(yàn)收屏蔽濾波器進(jìn)行屏蔽,對(duì)高7 位進(jìn)行濾波實(shí)現(xiàn)廣播、組播、點(diǎn)播等功能。語(yǔ)音模式下,廣播時(shí)使用PIC18F458 的驗(yàn)收濾波寄存器2,組播和點(diǎn)播時(shí)使用驗(yàn)收濾波寄存器3;Mp3 模式下,廣播時(shí)使用PIC18F458 的驗(yàn)收濾波寄存器4,組播和點(diǎn)播時(shí)使用驗(yàn)收濾波寄存器5。
3.2 對(duì)象字典的建立和變量的傳輸
CANopen 協(xié)議網(wǎng)絡(luò)中每個(gè)節(jié)點(diǎn)都有一個(gè)對(duì)象字典,它包含了描述這個(gè)設(shè)備和網(wǎng)絡(luò)行為的所有參數(shù)。下面以主節(jié)點(diǎn)對(duì)象字典的建立為例說(shuō)明對(duì)象字典的建立方法。
每個(gè)PDO 都對(duì)應(yīng)一個(gè)通信對(duì)象和一個(gè)映射對(duì)象;本系統(tǒng)中存放第一個(gè)發(fā)送PDO 通信參數(shù)的對(duì)象為0X1800,存放該P(yáng)DO 影射參數(shù)的對(duì)象為0X1A00。其中對(duì)象0X2000子索引0x01 處存放語(yǔ)音模式下廣播變中的數(shù)據(jù)量,以下的變量類同;首先通過(guò)讀取1800H中的通訊模式,然后,讀取0X2000 中的數(shù)據(jù)幀的具體內(nèi)容,通訊時(shí),將確定通訊模式的相關(guān)信息和具體數(shù)據(jù)幀的地址信息按CANOpen 的映射規(guī)則寫(xiě)入1A00H 中,從而完成PDO 的發(fā)送與接收。
3.3 CANopen 軟件實(shí)現(xiàn)
在整個(gè)CANopen 網(wǎng)絡(luò)中,SYNC 報(bào)文的優(yōu)先級(jí)最高,因此用它來(lái)傳送同步信號(hào),保持各節(jié)點(diǎn)間的同步,并且用來(lái)觸發(fā)PDO 報(bào)文的發(fā)送。Time-Stamp 報(bào)文的優(yōu)先級(jí)比SYNC 稍低,它用來(lái)傳送時(shí)鐘信號(hào),當(dāng)主站需要各節(jié)點(diǎn)校時(shí)時(shí),主站通過(guò)串口發(fā)出校時(shí)報(bào)文給主節(jié)點(diǎn),然后主節(jié)點(diǎn)在全CAN網(wǎng)范圍內(nèi)轉(zhuǎn)發(fā)包含時(shí)鐘信息的Time-Stamp 報(bào)文,子節(jié)點(diǎn)收到后完成校時(shí)。
廣播、組播等數(shù)據(jù)用PDO 來(lái)傳送。本系統(tǒng)為了保證PDO 傳送數(shù)據(jù)的快速、實(shí)時(shí)性,采用事件觸發(fā)的方式。參數(shù)配置數(shù)據(jù)由于數(shù)據(jù)量比較大,而且對(duì)于實(shí)時(shí)性的要求不高,所以用優(yōu)先級(jí)比較低而且擁有可以傳送大量數(shù)據(jù)能力的SDO。由于其優(yōu)先級(jí)較低,保證了此類大量數(shù)據(jù)的傳送不搶占實(shí)時(shí)性要求較高的語(yǔ)音數(shù)據(jù)的傳送。由于節(jié)點(diǎn)保護(hù)數(shù)據(jù)只是用來(lái)監(jiān)測(cè)CAN節(jié)點(diǎn)是否在線正常工作,因此它的實(shí)時(shí)性要求更低,所以用發(fā)送優(yōu)先級(jí)更低的Heart_beat報(bào)文來(lái)傳送。子節(jié)點(diǎn)定時(shí)的發(fā)送Heart_beat 報(bào)文,主節(jié)點(diǎn)收到后就修改節(jié)點(diǎn)保護(hù)定時(shí)器,如果隔了一定的時(shí)間還沒(méi)有收到某個(gè)子節(jié)點(diǎn)的Heart_beat 報(bào)文則主節(jié)點(diǎn)就認(rèn)為此子節(jié)點(diǎn)的工作狀態(tài)產(chǎn)生了問(wèn)題。
本系統(tǒng)CAN 控制器初始化工作流程為:系統(tǒng)上電后,從ROM 中讀取配置參數(shù)將CAN控制器、各個(gè)從節(jié)點(diǎn)的ID 地址以及CANopen 通訊對(duì)象進(jìn)行配置,省略了CANopen 中常用的較復(fù)雜的使用主節(jié)點(diǎn)配置子節(jié)點(diǎn)的方式,而使用的是CANopen 協(xié)議的預(yù)定義連接集;啟動(dòng)后,子節(jié)點(diǎn)定時(shí)發(fā)送心跳報(bào)文,告知主節(jié)點(diǎn)本子節(jié)點(diǎn)已進(jìn)入工作狀態(tài);同時(shí)監(jiān)測(cè)主節(jié)點(diǎn)發(fā)送的同步報(bào)文,以確保主節(jié)點(diǎn)在工作狀態(tài),這樣主節(jié)點(diǎn)和子節(jié)點(diǎn)即可通訊連接。
1)主節(jié)點(diǎn)程序:初始化后,如果中斷標(biāo)志位置位,則轉(zhuǎn)入中斷程序,接收上位機(jī)發(fā)來(lái)的PDO 數(shù)據(jù)。然后,判斷上位機(jī)命令區(qū)分組播、廣播等命令類型,再修改存儲(chǔ)器中的標(biāo)識(shí)符判定與哪些節(jié)點(diǎn)通信,隨后讀取語(yǔ)音數(shù)據(jù)并經(jīng)CAN 總線發(fā)送給從節(jié)點(diǎn)。
2)從節(jié)點(diǎn)程序:在從節(jié)點(diǎn)處如果有通話需求,通過(guò)按通通話按鈕切換至語(yǔ)音模式,即可經(jīng)CAN 總線傳輸語(yǔ)音數(shù)據(jù),如無(wú)通話需求,則保持MP3 模式繼續(xù)播放音樂(lè)。
4 測(cè)試結(jié)果
測(cè)試界面如圖5,五個(gè)操作按鈕與一個(gè)grid 控件組成,按鈕分別為:語(yǔ)音測(cè)試、音樂(lè)測(cè)試、錄音測(cè)試、混合測(cè)試以及停止測(cè)試,grid 控件顯示測(cè)試結(jié)果。測(cè)試原理:1.選定測(cè)試模式(語(yǔ)音測(cè)試、音樂(lè)測(cè)試、錄音測(cè)試或者混合測(cè)試)2.啟動(dòng)定時(shí)器3.定時(shí)促發(fā)事件:a 根據(jù)數(shù)據(jù)庫(kù),利用地址指針自動(dòng)選擇地址b 根據(jù)地址類型,進(jìn)行可,操作的所有操作命令c 對(duì)地址指針進(jìn)行相應(yīng)的操作4.重復(fù)步驟3 直到停止測(cè)試為止。
經(jīng)以上語(yǔ)音測(cè)試, 本系統(tǒng)可以正確切換組播、廣播、點(diǎn)播等模式,語(yǔ)音通信及時(shí),且語(yǔ)音的主觀聽(tīng)覺(jué)效果良好,具有較高的可懂度,符合設(shè)計(jì)要求。同樣,在錄音播報(bào)模式、音樂(lè)模式、混合模式下測(cè)試成功。
5 結(jié)語(yǔ)
經(jīng)實(shí)踐證明,采用CANopen 協(xié)議的語(yǔ)音通信系統(tǒng)可以在CAN 總線上以極低的語(yǔ)音通信速率(2.4 kbit / s) 進(jìn)行語(yǔ)音數(shù)據(jù)傳輸,能夠?qū)崿F(xiàn)語(yǔ)音的廣播、組播、點(diǎn)播、MP3 播放功能,同時(shí)CANopen 協(xié)議使得節(jié)點(diǎn)具有較好的開(kāi)放性和通用性,可與其他設(shè)備組建分布式控制網(wǎng)絡(luò),在煤礦信息化系統(tǒng)中有著廣泛的應(yīng)用前景。
【基于CANopen協(xié)議的礦用語(yǔ)音通信系統(tǒng)研究】相關(guān)文章:
基于激光天線語(yǔ)音通信系統(tǒng)的研制03-18
基于AdHoc網(wǎng)絡(luò)的船舶通信終端顯示系統(tǒng)研究12-07
基于ISD語(yǔ)音芯片的報(bào)警系統(tǒng)03-07
基于DSP的語(yǔ)音處理系統(tǒng)的設(shè)計(jì)11-22
基于SIP(會(huì)話初始協(xié)議)的語(yǔ)音瀏覽器的研究與實(shí)現(xiàn)03-07
基于Asterisk多種接入方式的VoIP系統(tǒng)研究03-07
基于FPGA的HDLC通信模塊的實(shí)現(xiàn)05-14