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