梅申合,廖曉緯,沈曉波
(1.安徽大學(xué)電子信息工程學(xué)院,合肥230601;2.淮南師范學(xué)院電氣信息工程學(xué)院,安徽淮南232038)
煤炭產(chǎn)業(yè)是我國(guó)的基礎(chǔ)產(chǎn)業(yè),煤礦安全是煤炭企業(yè)健康穩(wěn)定發(fā)展的重要保障。如何保持調(diào)度室與井下通信實(shí)時(shí)是保證煤礦安全生產(chǎn)的關(guān)鍵環(huán)節(jié)。現(xiàn)在許多煤礦的井下廣播仍使用著傳統(tǒng)的調(diào)度通信系統(tǒng),調(diào)度電話(huà)分布數(shù)量有限,且通信電纜長(zhǎng)度有限,數(shù)量過(guò)多的通信電纜也容易遭到破壞。為了確保井下人員的人身安全,讓他們隨時(shí)了解到井下的情況和聽(tīng)到地面指揮調(diào)度中心的廣播,礦井內(nèi)需要全覆蓋的語(yǔ)音廣播系統(tǒng)來(lái)實(shí)現(xiàn)上述目標(biāo)。因此,提出一種基于TMS320F2812的CAN總線[1,2]技術(shù)的煤礦井下語(yǔ)音通信系統(tǒng),既能完美實(shí)現(xiàn)廣播對(duì)講功能,又具有遠(yuǎn)距離傳輸、低成本和施工方便等優(yōu)點(diǎn)。
系統(tǒng)為礦用廣播對(duì)講系統(tǒng),可以做到全礦井的覆蓋,用于礦井下人行道、停車(chē)場(chǎng)、休息室、工作面等場(chǎng)所,是日常安全生產(chǎn)指揮的有效工具,并在需要時(shí)雙向?qū)υ?huà)實(shí)現(xiàn)對(duì)講。系統(tǒng)總體結(jié)構(gòu)如圖1所示,主要包括廣播主站、CAN總線和廣播分站3個(gè)部分。廣播主站可監(jiān)聽(tīng)任意一個(gè)廣播分站周?chē)穆曇?,可?duì)一個(gè)、一組或所有廣播分站進(jìn)行廣播。廣播主站和分站都采用TI的DSP芯片TMS320F2812作為信號(hào)采集和控制單元[3],輸入的模擬聲音信號(hào)經(jīng)過(guò)模擬放大電路,送入TMS320F2812的A/D采集口,轉(zhuǎn)換完成后,把數(shù)據(jù)暫時(shí)存儲(chǔ)在片內(nèi)的存儲(chǔ)器中,通過(guò)CAN收發(fā)器傳輸?shù)紺AN總線上,等待其他廣播響應(yīng),當(dāng)有廣播響應(yīng)后,通過(guò)CAN收發(fā)器將數(shù)據(jù)暫時(shí)存儲(chǔ)在廣播分站片內(nèi)存儲(chǔ)器中,通過(guò)外部D/A轉(zhuǎn)換,再經(jīng)過(guò)模擬放大電路,將聲音輸出。
圖1 系統(tǒng)總體框圖
系統(tǒng)的控制核心TMS320F2812芯片的片內(nèi)A/D模塊包括12位A/D核,內(nèi)置雙采樣保持器,16個(gè)通道,完全可以滿(mǎn)足礦用語(yǔ)音系統(tǒng)的采樣精度和速度的要求,因此不必外擴(kuò)A/D轉(zhuǎn)換器[4,5]。由于聲音是通過(guò)話(huà)筒轉(zhuǎn)化為電信號(hào)之后才供A/D采集的,考慮到電信號(hào)的微弱性,輸入的電信號(hào)要經(jīng)過(guò)模擬放大電路才進(jìn)入A/D轉(zhuǎn)化器,模擬放大電路如圖2所示。C2為電源濾波電容,IC1是功放集成電路,C4是輸入耦合電容,C3是輸出耦合電容,此模擬放大電路也適用于D/A輸出電路。
圖2 模擬放大電路
由于礦井工作環(huán)境較為復(fù)雜,所以選用了抗干擾能力強(qiáng)的CAN總線作為礦用廣播系統(tǒng)的通信方式。TMS320F2812是通過(guò)內(nèi)置增強(qiáng)型CAN控制器ECAN模塊進(jìn)行通信的,支持標(biāo)準(zhǔn)的CAN2.0協(xié)議[6]和遠(yuǎn)距離傳輸,總線通信速率最高可以達(dá)到1Mbps,擁有32個(gè)郵箱,每個(gè)郵箱都可以配置為發(fā)送或接收郵箱,且都有一個(gè)可編程的接收過(guò)濾器屏蔽寄存器,現(xiàn)已被廣泛地應(yīng)用與眾多領(lǐng)域。TMS320F2812芯片的CAN總線控制器與CAN物理總線的接口選用SN65HVD232芯片,提供對(duì)總線的差動(dòng)發(fā)送和接受功能,硬件原理如圖3所示。此芯片與傳統(tǒng)CAN收發(fā)器PCA82C250兼容,且支持+3.3V電壓,可直接與TMS320F2812連接,簡(jiǎn)化了電路,為了提高CAN通信的穩(wěn)定性,CAN總線網(wǎng)絡(luò)的兩個(gè)端點(diǎn)之間要加入終端匹配電阻。
圖3 CAN接口電路
D/A輸出電路選用的是BURR-BROWN公司的D/A芯片DAC7724,它是12位串行數(shù)模轉(zhuǎn)換器,4路獨(dú)立模擬輸出,內(nèi)部包括4組R-2R權(quán)電阻網(wǎng)絡(luò),4組雙極緩沖輸入寄存器和運(yùn)算放大器,具有片選,輸出使能等控制引腳,其與主控單元TMS320F2812的連接通過(guò)由ALTERA公司MAX7000AE系列的EPM7064AE來(lái)完成。其與主控單元的連接電路如圖4所示,譯碼程序在QUARTUSП環(huán)境下用VHDL語(yǔ)言編寫(xiě),編譯修改,生成目標(biāo)文件,最后通過(guò)JTAG接口下載完成。
圖4 DAC7724與主控單元連接電路圖
ADC模塊共有16個(gè)結(jié)果寄存器,每個(gè)結(jié)果寄存器都是16位,而TMS320F2812的ADC是12位,也就是說(shuō)轉(zhuǎn)換后的數(shù)值最高只有12位。ADC轉(zhuǎn)換的數(shù)值在結(jié)果寄存器中是左對(duì)齊,結(jié)果寄存器的高12位用于存放轉(zhuǎn)換結(jié)果,低4位被忽略,可以將ADResult中的值先右移4位再計(jì)算,輸入的模擬量和轉(zhuǎn)換后的數(shù)字量之間的關(guān)系如下所示
ADResult是結(jié)果寄存器中的數(shù)字量,VoltInput是模擬電壓輸入值,ADCLO是ADC轉(zhuǎn)換的參考電平,一般取值為0。
ADC模塊進(jìn)行數(shù)據(jù)采集時(shí)必須有一個(gè)啟動(dòng)信號(hào)。設(shè)計(jì)采用EVA下的通用定時(shí)器T1,T1的周期中斷標(biāo)志位被置1時(shí)向ADC模塊發(fā)出一個(gè)ADC啟動(dòng)信號(hào)。當(dāng)轉(zhuǎn)換結(jié)束時(shí),轉(zhuǎn)換數(shù)值寫(xiě)入相應(yīng)的結(jié)果寄存器中,中斷標(biāo)志位置位,進(jìn)入ADC中斷服務(wù)子程序中,將轉(zhuǎn)換結(jié)果讀入數(shù)組Ad_data中,然后調(diào)用CAN通信子程序,將數(shù)據(jù)發(fā)送出去,清除ADC中斷標(biāo)志位,響應(yīng)中斷后返回主函數(shù)。
CAN網(wǎng)絡(luò)中交換與傳輸?shù)臄?shù)據(jù)單元稱(chēng)為報(bào)文,報(bào)文傳送由4種幀類(lèi)型組成:數(shù)據(jù)幀、遠(yuǎn)程幀、錯(cuò)誤幀、過(guò)載幀。數(shù)據(jù)幀的格式,由7種不同的位場(chǎng)組成。網(wǎng)絡(luò)中的CAN節(jié)點(diǎn)只能在總線空閑時(shí)才允許開(kāi)始發(fā)送信號(hào),所有的節(jié)點(diǎn)必須同步于首先開(kāi)始發(fā)送報(bào)文的節(jié)點(diǎn)的幀起始前沿。若同時(shí)有兩個(gè)或兩個(gè)以上的節(jié)點(diǎn)開(kāi)始發(fā)送報(bào)文,總線會(huì)對(duì)標(biāo)識(shí)符逐位進(jìn)行仲裁,仲裁期間,每個(gè)節(jié)點(diǎn)都將總線電平與自己發(fā)送位電平相比較,如果發(fā)送電平和接受電平相同,則該節(jié)點(diǎn)繼續(xù)發(fā)送報(bào)文。若該節(jié)點(diǎn)發(fā)送的一個(gè)隱性位被顯性位改寫(xiě),說(shuō)明有較高優(yōu)先權(quán)在發(fā)送,則節(jié)點(diǎn)自動(dòng)轉(zhuǎn)變?yōu)榻邮掌鳌?/p>
CAN模塊的主要任務(wù)是將A/D采集的語(yǔ)音數(shù)據(jù)發(fā)送到CAN總線上以便其他廣播站接受,是構(gòu)成語(yǔ)音系統(tǒng)的關(guān)鍵。CAN模塊的軟件設(shè)計(jì)主要由3部分組成:CAN模塊的初始化、發(fā)送程序和接受中斷程序。在使用CAN模塊之前必須進(jìn)行初始化。初始化包括引腳的定義、清除標(biāo)志位、時(shí)鐘使能、收發(fā)郵箱的配置和波特率的配置等。發(fā)送程序在DSP主程序的循環(huán)部分進(jìn)行調(diào)用,接受中斷程序在ECAN1INT產(chǎn)生中斷時(shí)進(jìn)行調(diào)用。CAN模塊發(fā)送消息時(shí),首先CPU將A/D采集的數(shù)據(jù)存放在發(fā)送郵箱中,將數(shù)據(jù)和標(biāo)識(shí)符存放在相應(yīng)RAM空間中,當(dāng)發(fā)送請(qǐng)求位TRSn被置位后,數(shù)據(jù)就會(huì)發(fā)送出去。CAN模塊接受消息時(shí),首先將比較接受消息的標(biāo)示符和接受郵箱的標(biāo)識(shí)符,如果消息的標(biāo)識(shí)符和郵箱的標(biāo)識(shí)符匹配,則接受標(biāo)識(shí)符、控制位和數(shù)據(jù)字節(jié)就會(huì)寫(xiě)入該郵箱的RAM存儲(chǔ)區(qū)域中,相應(yīng)的接收消息掛起位RMPn被置位[7,8]。發(fā)送和接受流程圖如圖5所示。
DAC7724芯片輸入的數(shù)據(jù)是二進(jìn)制格式,理想的輸入數(shù)字量與輸出模擬量之間的關(guān)系如下:
其中N是數(shù)字輸入代碼。
前面已經(jīng)設(shè)計(jì)D/A的硬件部分,所以軟件部分就變得簡(jiǎn)單,只要對(duì)D/A初始化,將CAN接受到的數(shù)字語(yǔ)音信號(hào),直接送入D/A的轉(zhuǎn)換通道即可。
為了驗(yàn)證通信系統(tǒng)的性能,選取兩個(gè)語(yǔ)音節(jié)點(diǎn)對(duì)其進(jìn)行了實(shí)驗(yàn)測(cè)試。實(shí)驗(yàn)方法是用分壓電路5V穩(wěn)壓
源電壓接入一號(hào)語(yǔ)音節(jié)點(diǎn)A/D采集口的通道0,通過(guò)CAN總線傳輸?shù)?號(hào)語(yǔ)音節(jié)點(diǎn),調(diào)節(jié)滑動(dòng)變阻器,在2號(hào)語(yǔ)音節(jié)點(diǎn)D/A輸出通道0處測(cè)量輸出電壓并計(jì)算。其測(cè)試結(jié)果如表1所示。
圖5 CAN發(fā)送和接受程序流程圖
表1 測(cè)試數(shù)據(jù)
測(cè)試結(jié)果表明,誤差值隨著電壓的變化而變化,但是誤差率始終不超過(guò)1%,該系統(tǒng)可實(shí)現(xiàn)高效穩(wěn)定的數(shù)據(jù)傳輸,完全符合礦用語(yǔ)音系統(tǒng)的設(shè)計(jì)要求。
[1]鄔寬明.CAN總線原理和應(yīng)用系統(tǒng)設(shè)計(jì)[M].北京:北京航空航天出版社,1996
[2]丁恩杰,苗曙光,朱微維,等.一種基于CAN總線的煤礦數(shù)字化擴(kuò)音電話(huà)系統(tǒng)的設(shè)計(jì)[J].工況自動(dòng)化,2010,1(1):66-69
[3]徐科軍.TMS320×281×DSP原理與應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2006
[4]張風(fēng)江,王興松.基于TMS320F2812和USB的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)[J].機(jī)械工程與自動(dòng)化,2007,141(2):71-72
[5]曹軍軍.基于TMS320F2812的電力暫態(tài)信號(hào)采集與錄波單元的研制[D].成都:西南交通大學(xué),2006
[6]孫兵,何瑾,陳廣夏.基于DSP的CAN總線與以太網(wǎng)互聯(lián)系統(tǒng)研制[J].儀器儀表學(xué)報(bào),2008,29(2):377-388
[7]陽(yáng)憲惠.現(xiàn)場(chǎng)總線技術(shù)及其應(yīng)用[M].北京:清華大學(xué)出版社,1997
[8]史久根.CAN現(xiàn)場(chǎng)總線設(shè)計(jì)技術(shù)[M].北京:國(guó)防工業(yè)出版社,2004