吳肇中,邢亞航
(1.中國鐵路北京局集團有限公司邯鄲機務(wù)段,河北 邯鄲 056000;2.中國鐵路北京局集團有限公司石家莊電力機務(wù)段,河北 石家莊 050000)
能源、環(huán)境是近些年普遍關(guān)注的兩大主題問題,鐵路作為長距離運輸?shù)墓?jié)能環(huán)保龍頭,受到了國民的青睞,隨著國家“路轉(zhuǎn)鐵”的實施,鐵路運輸行業(yè)的貨運量急劇增加,從而面臨著機車司機工作量的增加[1],機車司機需要對擔(dān)當區(qū)段的線路情況進行學(xué)習(xí),但凡在行車中任何一點細節(jié)漏記錯記都有可能導(dǎo)致機車運行的事故,損害到國家利益。為此設(shè)計了基于GPS自動提示的鐵路行車操作系統(tǒng),發(fā)揮與機車司機互控提示的作用,減少因司機錯記漏記而產(chǎn)生的事故。
本系統(tǒng)主要是設(shè)計一款基于STC89C52單片機[2]的GPS自動提示設(shè)備,根據(jù)目標需要,采用的硬件由GPS定位、語音播報、液晶顯示以及顯示燈與按鍵組成,主控芯片采用STC89C52單片機,選用VK2828U7G5LF作為GPS模塊,液晶顯示運用標準的LCD12864顯示屏,WT588D模塊用于音頻播放,以及其他的按鍵電路等組成。系統(tǒng)結(jié)構(gòu)如圖1。
圖1 系統(tǒng)結(jié)構(gòu)圖
利用GPS模塊實時獲取機車的經(jīng)緯度坐標,將獲取的數(shù)據(jù)傳輸給單片機,并與預(yù)先儲存的提示地點坐標進行對比,對比成功后進行互控提示。由WT588D模塊播放語音,顯示屏對互控提示信息進行顯示,機車離開當前互控地點后進行下一互控地點的預(yù)告。出現(xiàn)GPS信號弱時,切換至手動模式,保證此系統(tǒng)的安全可靠性。
STC89C52單片機、晶振電路和復(fù)位電路作為主控電路,兩個電容和一個晶振構(gòu)成晶振電路,XTAL1和XTAL2連接晶振,復(fù)位電路接至復(fù)位引腳“RESET”,該引腳將會在得電瞬間產(chǎn)生一個正脈沖,用來復(fù)位系統(tǒng)。
WT588D模塊,通過VoiceChip上位機將提前編輯好的提示語音下載到SPI-Flash存儲器,播放語音時調(diào)用語音地址[3]。其中WT588D模塊DATA數(shù)據(jù)端、CLK時鐘端和CS片選端與引腳P2.1至P2.3相接,通過這些引腳來控制語音模塊,揚聲器的播報通過PWM+和PWM-驅(qū)動,LED的亮滅可以反映出語音模塊是否正常,AMS1117穩(wěn)壓器將5V電壓降為3V電壓,為語音模塊供電。
GPS采用NEO-6M芯片設(shè)計,此模塊將位置信息傳輸?shù)絾纹瑱C[4-5],模塊引腳分別是:
(1)PPS,定位后又脈沖輸出,LED指示燈亮,脈沖周期1s。
(2)GND,接地。
(3)TXD,與主控電路引腳3.0相接,模塊的數(shù)據(jù)輸出。
(4)RXD,模塊的數(shù)據(jù)輸入,不進行時,懸空處理。
(5)VCC,接5V電源。
點陣式LCD功能強大,LCD12864是由128個8×16點陣字符組成,8192個16×16用中文表示的點陣,能顯示字符、數(shù)字、圖形和曲線等,每個屏幕可用32個漢字顯示,滿足互控提示的播報需求。LCD接口DB0至DB7接主控芯片P0.0至P0.7, P2.5、P2.6和P2.7分別由RS、RW和EN連接,其中PSB用于接高電平。
雖然本系統(tǒng)設(shè)計的互控提示是自動的,但是由于列車運行中會出現(xiàn)各種地理位置和天氣的變化,這就會導(dǎo)致GPS在某些情況下出現(xiàn)信號弱或者接收不到的情況,所以保留了手動提示模式[6],手動提示模式設(shè)計預(yù)留了4個按鍵,自動與手動切換鍵K1。上行與下行選擇按鍵K2。K3表示選擇上一互控提示地點,K4表示選擇下一互控提示地點,同時可以顯示相應(yīng)的提示信息。圖2為總體硬件電路。
圖2 總體硬件電路
Keil軟件作為當今較為流行的單片機軟件開發(fā)調(diào)試工具,采用C語言編程,具有通用性,此系統(tǒng)設(shè)置了自動語音提示和手動語音提示兩種模式,本文主要敘述自動語音提示系統(tǒng),此程序由GPS數(shù)據(jù)的采集和轉(zhuǎn)換、自動語音提示控制算法、互控提示的信息播報和互控提示的顯示等構(gòu)成。圖3為主程序流程圖。
圖3 主程序流程
GPS以NMEA-0183協(xié)議格式將數(shù)據(jù)串傳輸給STC89C52單片機,傳輸?shù)臄?shù)據(jù)將儲存到寄存器中,以其中一個緯度為例,其數(shù)據(jù)包格式為“$GPGGA,<1>,<2>,<3>....”其中<2>為緯度,格式為ddmm.mmmm,dd代表度,mm.mmmm代表分,<3>代表北緯或者南緯,緯度不可直接使用,需要將其值轉(zhuǎn)變?yōu)槎?、分、秒,分別用x、y、z表示,轉(zhuǎn)化過程如下:
x=int(ddmm/100);
y=int(ddmm/100);
z=int[(mm.mmmm-y)*60];
(1)
經(jīng)度操作與此類似,不再進行說明。
以京廣線邯鄲站至磁縣站為例,一次將上下行12個互控提示信息以單向循環(huán)列表方法存入至單片機中,如圖4所示。單片機接受來自GPS的定位信息,與互控提示地點的匹配中進行全局化搜索,從而精確地匹配[7],列車的當前位置與互控提示點的線性距離≤L時,進行互控提示點的語音播報與顯示,因列車運行速度較快,因此采樣周期采用T=1s,取L=500m。
圖4 互控提示地點示意圖
3.3.1 進入互控提示地點的判定
設(shè)列車當前位置與任意互控地點間的線性距離為Ld,列車當前位置與任意互控地點的上一個互控地點的線性距離為Ld+1。列車當前位置與任意互控提示地點間的線性距離Ld為[8]:
(2)
當上行和下行線路上互控提示點比較近時,1個周期T內(nèi)可能采取到兩個互控提示地點,因此,將互控提示地點的匹配分成下列4種情況。
(1)兩個連續(xù)周期T內(nèi)只能采集到1個互控提示地點的信息,并且互控提示地點相同的兩個周期內(nèi)Ld+1在逐次減小,則可以確定此時即將進入一個互控提示地點[9]。
(2)在前一個周期T內(nèi)采集到1個互控提示地點,而在下一個周期T內(nèi)采集到兩個互控提示地點[9]。
(3)在前一個周期T內(nèi)采集到兩個互控提示地點,而在下一個周期T內(nèi)采集到1個互控提示地點。
(4)在前一個周期T內(nèi)采集到兩個互控提示地點,而在下一個周期T內(nèi)采集到兩個互控提示地點。
因為(2)和(3)類似,所以本文重點敘述(3)和(4)的對比設(shè)計。設(shè)前一個周期T內(nèi)接收到的兩個可能到達的互控提示地點HD1.1和HD1.2,HL1.1和HL1.2分別為前一個周期T內(nèi)列車位置與這兩個可能到達的互控提示地點的前一個互控提示地點間的線性距離。當前周期T內(nèi)接收到的可能到達的兩個互控提示地點HD2.1和HD2.2,HL2.1和HL2.2分別為當前周期T內(nèi)列車位置與這兩個可能到達的互控提示地點的前一個互控提示地點間的線性距離。
當上述(3)情況發(fā)生時,在前一個周期T內(nèi)接收到的兩個互控提示地點肯定有一個與當前周期T內(nèi)采集的互控提示地點一致,在這一前提下,可以根據(jù)前后的兩個周期T內(nèi)Ld+1的數(shù)值來判斷,如果Ld+1逐次遞減,則表示該一致的互控提示點為即將進入一個互控提示地點,反之,則代表該那個不一致的互控提示點為當前的互控提示地點,其流程圖如圖5所示。
圖5 第(3)種情況控制算法設(shè)計步驟
上述(4)情況發(fā)生時,前后兩個周期T內(nèi)采集到的四個互控提示地點應(yīng)該是點點對應(yīng)的,所以,對其中一對對應(yīng)的互控提示地點進行對比,若Ld+1呈遞減模式,則可以將此點當作即將進入的一個互控提示地點,反之,則可以認為另一對互控提示地點為當前即將進入的點,其流程圖如圖6所示。
充填工作完成后,根據(jù)設(shè)計要求鉆探取心驗證工作共鉆孔2眼,總進尺78.6m。鉆孔布設(shè)充分考慮到兩充填孔銜接處充填效果,鉆探過程未發(fā)生掉鉆現(xiàn)象,巖心采取率91.4%(取心區(qū)域平均值),RQD指標80%(取心區(qū)域平均值),填充物高度2.6m和2.8m,巖層與充填物銜接處較好,充填率可達75%以上,說明治理采空區(qū)采取中粗砂處理的方法工藝可行,空洞基本被填充物充填,充填治理效果良好,達到了設(shè)計要求。項目實施后地面穩(wěn)定得到保證,消除了采空塌陷地質(zhì)災(zāi)害隱患,保障了當?shù)厝嗣袢罕姷纳敭a(chǎn)安全。
圖6 第(4)種情況控制算法設(shè)計步驟
3.3.2 離開互控提示地點的判定
根據(jù)3.3.1確定出當前進入的互控提示地點后,再次以周期T內(nèi)接收到的GPS數(shù)據(jù)為依據(jù),計算列車與當前進入的互控提示地點的距離,當L大于500m時,及時對下一個互控提示地點進行預(yù)報。
語音提示程序是在GPS模塊接收到互控提示地點信息后,經(jīng)單片機處理匹配到相對應(yīng)的地址,然后將此地址數(shù)據(jù)串傳輸給語音模塊,語音模塊根據(jù)傳輸?shù)幕タ氐刂沸畔⑦M行語音提示。
時鐘線、數(shù)據(jù)線和片選線三線串口控制模式來控制語音模塊。片選信號置5ms后語音芯片工作,將200μs定義為時鐘周期,接收數(shù)據(jù)由低位到高位變化,接收數(shù)據(jù)成功后使片選信號置高。當語音播放20ms以后,播放忙信號轉(zhuǎn)為下一段語音播放。該互控提示地點相應(yīng)的語音信息在數(shù)據(jù)完成匹配時進行播報。
在即將進入的互控提示地點信息被顯示子程序接收后,第一步要對LCD子函數(shù)進行初始處理,第二步對定位子函數(shù)以及字符子函數(shù)進行調(diào)用[10],對互控提示地點信息進行設(shè)置和調(diào)用,使互控提示信息顯示在LCD屏上。
在列車高速中對GPS芯片進行測試,測試所得GPS定位精度范圍基本在10m左右,滿足此系統(tǒng)對定位精度的要求,對列車運行做了如下測試:
以1號互控地點為起始點,在沒有設(shè)定上下行線路的前提下,當列車在1號起始點時,接收到GPS數(shù)據(jù)經(jīng)處理可能會認為此點為結(jié)束點,這樣常用的方法在此點會出現(xiàn)混淆,利用單向循環(huán)列表方式將互控提示點存入,換言之就是將上下行的互控地點信息以序號的方式區(qū)別開。測試列車從1號互控提示地點到2號互控提示地點,由于2號互控提示地點與11號互控提示地點距離較近,所以在連續(xù)兩個周期內(nèi)匹配到2號互控提示地點與11號互控提示地點,利用情況4進行處理,結(jié)果說明該系統(tǒng)可以解決上下行問題并可將2號互控提示地點的提示進行實現(xiàn)。
列車運行時任意兩個互控提示點分為以下兩個方面:
(1)進入一個互控提示地點,接近互控提示地點500m內(nèi),進行接近的互控提示地點的播報,LCD顯示當前互控提示地點信息。
(2)離開一個互控提示地點,離開互控提示地點500m外,進行下一個互控提示地點的播報,LCD顯示下一個互控提示地點信息。
對M次列車進行測試,圖7為進入互控提示地點的顯示,測試結(jié)果表明,該系統(tǒng)能夠準確實現(xiàn)定位并對互控提示地點進行判定。
圖7 進入互控地點提示顯示
設(shè)計了基于STC89C52單片機的鐵路行車操作的GPS自動提示系統(tǒng),設(shè)計了單向循環(huán)列表和全局互控提示地點匹配的控制算法,經(jīng)過實測,無需人工確認上下行線路,即可實現(xiàn)互控提示地點的判定,該系統(tǒng)功能完善,定位準確,智能化程度較高,具有實用性。