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