張銀河,王雪雷,謝海云,董 波
1.天津大學(xué),天津 300000
2.邯鄲卓立精細(xì)板材有限公司,河北邯鄲 056000
3.京鼎工程建設(shè)有限公司,北京 100000
在當(dāng)今現(xiàn)場總線中,工業(yè)監(jiān)控系統(tǒng)中普遍采用的是基于RS485 總線的半雙工通訊方式,只能構(gòu)成主從式結(jié)構(gòu)系統(tǒng),通信方式也只能以主站輪詢的方式進(jìn)行,系統(tǒng)的實時性、可靠性較差。這種通訊方式信息傳輸速度慢,很難滿足大規(guī)模工業(yè)自動化安全監(jiān)控系統(tǒng)對實時性的要求。針對普通通信協(xié)議的不足,本文提出了采用CAN 總線實現(xiàn)的無主式通訊方式。
系統(tǒng)從功能上分類,可分為:核心PLC 子系統(tǒng)、CAN 總線監(jiān)控子系統(tǒng)、語音仲裁等。PLC 子系統(tǒng)是CAN 總線監(jiān)控系統(tǒng)的上一級控制單位,也是系統(tǒng)的核心控制;語音仲裁是協(xié)助CAN總線監(jiān)控系統(tǒng)實現(xiàn)數(shù)字語音功能的部件。由此可見,CAN 總線監(jiān)控系統(tǒng)是整個系統(tǒng)的核心,也是聯(lián)絡(luò)其他各子系統(tǒng)的橋梁。
CAN 總線系統(tǒng)包括ARM 系統(tǒng)主控制板、ARM 系統(tǒng)電話板、ARM 系統(tǒng)閉鎖板、ARM 系統(tǒng)尾端板。系統(tǒng)的網(wǎng)絡(luò)結(jié)構(gòu)圖如圖1所示。
圖1 CAN 總線系統(tǒng)的網(wǎng)絡(luò)連接示意圖
CAN 總線監(jiān)控系統(tǒng)的所有電路板核心MCU 處理器是STM32F107VCT6,該處理器基于ARM V7 架構(gòu)的Cortex-M3 內(nèi)核,主頻72Mhz,內(nèi)部含有256K 字節(jié)的FLASH 和64K 字節(jié)的SRAM。鏈接與CAN 總線上的各種功能的電路板,通過STM32F107VCT6自帶的CAN 接口芯片,在電路板上設(shè)計以CAN 信號隔離器,就能掛接到CAN 總線上。通過這4 中電路板,系統(tǒng)實現(xiàn)工業(yè)現(xiàn)場各種信號的采集和外圍設(shè)備的控制。
系統(tǒng)的硬件電路包括AMBE-1000 電路設(shè)計、CSP1027-S 電路設(shè)計、音頻輸入輸出電路設(shè)計、DMA5601 語音芯片電路設(shè)計等部分功能電路。
圖2 STM32 系統(tǒng)語音功能設(shè)計結(jié)構(gòu)圖
數(shù)字語音系統(tǒng)的工作原理如圖2 所示。在系統(tǒng)中,模擬語音數(shù)據(jù)有2 個來源:一個是DMA5601 芯片輸出的模擬語音數(shù)據(jù)流,另一個是由外部麥克風(fēng)直接輸入的模擬語音數(shù)據(jù)流。在不同的STM32 電路板上,AMBE-1000 數(shù)字語音系統(tǒng)的模擬語音數(shù)據(jù)源不同。STM32 主控板的模擬語音數(shù)據(jù)源是DMA5601 芯片提供的,STM32 電話板的模擬語音數(shù)據(jù)源是麥克風(fēng)提供的。
STM32 數(shù)字語音系統(tǒng)的工作原理是:由麥克風(fēng)或DMA5601芯片提供的模擬語音數(shù)據(jù)經(jīng)過語音采集電路送到CSP1027 進(jìn)行A/D 轉(zhuǎn)換得到數(shù)字語音信號;CSP1027 將A/D 轉(zhuǎn)換后的數(shù)字語音信號傳送給AMBE-1000;AMBE-1000 通過其內(nèi)部的編碼器將數(shù)字語音信號進(jìn)行編碼,得到壓縮了的編碼語音數(shù)據(jù),然后將編碼語音數(shù)據(jù)傳送給STM32 微控制器;STM32 微控制器將編碼語音數(shù)據(jù)經(jīng)過程序邏輯處理后,得到CAN 協(xié)議的壓縮數(shù)字語音數(shù)據(jù),然后將其通過其內(nèi)置CAN 控制器傳送到CAN 收發(fā)器;CAN 收發(fā)器將CAN 協(xié)議的數(shù)字語音數(shù)據(jù)發(fā)送到CAN 總線上實現(xiàn)模擬語音數(shù)據(jù)的遠(yuǎn)傳。
當(dāng)CAN 總線上有了通訊數(shù)據(jù)后,CAN 收發(fā)器接收數(shù)據(jù)后傳送給STM32 芯片的內(nèi)置CAN 控制模塊,STM32 芯片CPU 從其CAN 控制器中提取所接收的數(shù)據(jù)進(jìn)行處理;當(dāng)所接收的數(shù)據(jù)為壓縮的數(shù)字語音數(shù)據(jù)時,STM32 控制器會將該語音數(shù)據(jù)以并口(或串口)的方式傳送給AMBE-1000 語音編碼/譯碼芯片;AMBE-1000 首先進(jìn)行數(shù)據(jù)譯碼得到數(shù)字語音數(shù)據(jù),然后將數(shù)字語音數(shù)據(jù)傳送給CSP1027 進(jìn)行D/A 轉(zhuǎn)換;CSP1027 將經(jīng)D/A 轉(zhuǎn)換得到的模擬語音數(shù)據(jù)流傳送給語音運放芯片LM386 進(jìn)行信號放大;LM386 輸出的放大功率的語音信號通過揚聲器得到聲學(xué)的語音。AMBE-1000 同STM32 的接口電路如圖3(B)所示。
CAN 總線可以以較低的成本、較高的實時處理能力,在惡劣的強電磁干擾環(huán)境下可靠地工作。CAN 總線具有較高的效率是因為總線僅僅被那些請求總線、但懸而未決的站利用,這些請求是根據(jù)報文在整個系統(tǒng)中的重要性按順序處理的。CAN 控制器工作于多主方式,網(wǎng)絡(luò)中的各節(jié)點都可根據(jù)總線訪問優(yōu)先權(quán) ,采用無損結(jié)構(gòu)的逐位仲裁的方式競爭向總線發(fā)送數(shù)據(jù)。CAN協(xié)議廢除了站地址的編碼,而代之以對通信數(shù)據(jù)進(jìn)行編碼,這可使CAN 總線上不同的節(jié)點同時接收到相同的數(shù)據(jù)。
本系統(tǒng)應(yīng)用CAN 總線技術(shù)、音頻信號處理技術(shù)、傳感信息智能感知處理技術(shù)和多種網(wǎng)絡(luò)的網(wǎng)絡(luò)接入技術(shù),解決監(jiān)測監(jiān)控系統(tǒng)在10Km 距離的信號傳輸問題、復(fù)雜環(huán)境下的語音信號高分貝、清晰傳輸和多傳感器信息采集、控制處理問題。
采用雙CAN 總線通信技術(shù),通過將傳感器信息采集及控制傳輸總線與數(shù)字語音傳輸總線在物理結(jié)構(gòu)上分開架設(shè),而核心處理中又合為一體的網(wǎng)絡(luò)構(gòu)建方法,使得雙CAN 總線傳輸網(wǎng)絡(luò)的通信更加安全可靠。在雙CAN 總線傳輸網(wǎng)絡(luò)沿線開發(fā)智能感知傳輸平臺,該平臺集數(shù)據(jù)檢測傳輸、語音播報、語音呼叫、綜合保護(hù)、網(wǎng)絡(luò)連接等功能為一體,同CAN 總線監(jiān)控系統(tǒng)協(xié)調(diào)工作,可以更快速、可靠地實現(xiàn)整個系統(tǒng)的綜合自動化控制。
系統(tǒng)CAN 總線的數(shù)據(jù)鏈路層和物理層直接繼承標(biāo)準(zhǔn)的CAN通訊技術(shù),但由于要滿足超長距離的通訊要求、隨機數(shù)據(jù)通訊的可靠性要求,使得系統(tǒng)無法直接使用CANopen、DeviceNet、CANaerospace 等典型的CAN 應(yīng)用協(xié)議。因此,本系統(tǒng)中,我們需要進(jìn)行CAN 通訊協(xié)議的開發(fā)與設(shè)計。主板同CAN 總線上其他設(shè)備的CAN 通訊協(xié)議設(shè)計如下表1 所示。
表2 主控板與電話板、閉鎖板及尾端板通訊協(xié)議
系統(tǒng)約定,同一個時間里,CAN 總線上的語音信息只能是一個語音設(shè)備發(fā)出的信息。所以,CAN 總線上的語音系統(tǒng)設(shè)計有一個仲裁機制來實現(xiàn)此語音仲裁功能。結(jié)合CAN 總線的自診斷防沖撞和自恢復(fù)的功能,使的系統(tǒng)的語音系統(tǒng)更加的可靠。
[1]李寧,基于MDK的STM32處理器開發(fā)應(yīng)用,北京航空航天大學(xué)出版社,2008.10.
[2]MCU技術(shù)支持,STM32F系列ARM內(nèi)核32位高性能微控制器參考手冊,意法半導(dǎo)體(中國) ,2010,1.