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