摘 要: 城市軌道交通乘客信息系統(tǒng)中信號處理單元的設(shè)計主要是為了解決PIS(Passenger Information System)系統(tǒng)與列車計算機(jī)網(wǎng)絡(luò)的通信問題,以及PIS系統(tǒng)中不同模塊之間通信問題,在PIS系統(tǒng)中具有關(guān)鍵作用,并具有重要的研究價值。選取AVR單片機(jī)作為主控芯片,針對信號處理單元所要實(shí)現(xiàn)的功能,提出了針對RS485串行接口通信及并行接口通信的解決方案,并且實(shí)現(xiàn)了數(shù)據(jù)處理功能及對其他模塊的信號控制。
關(guān)鍵詞: 乘客信息系統(tǒng)(PIS);AVR;USART;RS485
0 引言
本文研究背景選自上海軌道交通9號線車輛乘客信息系統(tǒng)(Passenger Information System,PIS)[1]國產(chǎn)化項(xiàng)目。PIS系統(tǒng)在城市軌道交通中為乘客提供語音和文字等列車廣播信息,對于列車運(yùn)營和服務(wù)起很重要作用[2]。實(shí)現(xiàn)PIS系統(tǒng)國產(chǎn)化對于地鐵線路提高運(yùn)營服務(wù)質(zhì)量、降低設(shè)備維護(hù)成本也具有很重要的現(xiàn)實(shí)意義。
目前,上海地鐵9號線的車輛采用國外某公司的列車控制系統(tǒng),簡稱MITRAC[3],它由分散布置的輸入/輸出單元、高性能的計算機(jī)、相應(yīng)的控制和診斷軟件以及統(tǒng)一的通信設(shè)施組成。本文針對國產(chǎn)化PIS系統(tǒng)項(xiàng)目中信號處理單元進(jìn)行研究設(shè)計,首先對MITRAC發(fā)給PIS系統(tǒng)的信號進(jìn)行數(shù)據(jù)采集分析,然后設(shè)計信號處理單元,實(shí)現(xiàn)PIS系統(tǒng)與列車計算機(jī)網(wǎng)絡(luò)MITRAC之間的通信,并且對信號進(jìn)行處理,實(shí)現(xiàn)對其他模塊的通信和信號控制。
1 信號處理單元功能介紹
列車計算機(jī)網(wǎng)絡(luò)MITRAC發(fā)送給PIS系統(tǒng)的信號,由司機(jī)室激活信號、自動廣播/可視信息激活信號、站臺碼以及車輛編碼等信息組成[4]。其中站臺碼是一個16位的無符號整型數(shù),具有唯一性,用于觸發(fā)播放相應(yīng)的語音廣播信息和列車客室內(nèi)LED文字信息。信號處理單元需要實(shí)現(xiàn)MITRAC與PIS系統(tǒng)之間的有效通信,并且處理相應(yīng)的信號數(shù)據(jù),提取出站臺碼,并把站臺碼作為控制信號發(fā)送給其他控制單元。
MITRAC與PIS的通信接口為RS485接口,信號處理單元需要設(shè)計與RS485接口相匹配的接口來實(shí)現(xiàn)與MITRAC的通信[5-6]。MITRAC使用列車控制專用通信協(xié)議WELNET,數(shù)據(jù)傳輸速度為19 200 b/s,數(shù)據(jù)形式為8個數(shù)據(jù)位、1個停止位、無奇偶校驗(yàn)[7]。MITRAC發(fā)送給PIS系統(tǒng)的實(shí)際信號數(shù)據(jù)由本文設(shè)計的專用數(shù)據(jù)采集工具采集分析獲得。
如圖1所示,信號處理單元的功能如下:
?。?)通過RS485接口實(shí)現(xiàn)信號處理單元與MITRAC之間的通信,信號處理單元從MITRAC接收的數(shù)據(jù)中提取出站臺碼;
?。?)信號處理單元以并口的信號形式把站臺碼發(fā)給數(shù)字語音報站器DIAS[8-9],控制播放相應(yīng)音頻信息;
?。?)通過RS485接口信號處理單元把站臺碼發(fā)送至列車客室LED顯示控制器,控制顯示相應(yīng)文字信息。
下面以上海地鐵9號線楊高中路站→佘山站這個運(yùn)營區(qū)間為例,對MITRAC發(fā)送給PIS系統(tǒng)的數(shù)據(jù)進(jìn)行分析,當(dāng)播報下一站是世紀(jì)大道站時,MITRAC發(fā)送的數(shù)據(jù)信息如圖2所示,數(shù)據(jù)以16進(jìn)制編碼顯示。
當(dāng)MITRAC發(fā)送給PIS系統(tǒng)發(fā)送列車廣播控制信息時,圖2中第一行陰影部分編碼值從十六進(jìn)制數(shù)0X0000變成第二行數(shù)據(jù)0X01B3,其中0X01B3是世紀(jì)大道站的站臺碼,十進(jìn)制數(shù)為435,此站臺碼作為控制相應(yīng)音頻信息和LED顯示信息的信號,在播放世紀(jì)大道相應(yīng)音頻和文字信息時站臺碼值始終保持不變,當(dāng)接收到下一站的站臺碼時,相應(yīng)的音頻信息和LED顯示信息也隨之改變。
2 信號處理單元硬件設(shè)計
首先為信號處理板設(shè)計相應(yīng)的硬件接口實(shí)現(xiàn)硬件連接,其中包括兩個RS485接口和一個多路的并行接口。
2.1 主控電路設(shè)計
本文采用的主控芯片ATmega128是ATMEL公司的一款高性能、低功耗的AVR 8位微處理器,具有128 KB的系統(tǒng)內(nèi)可編程Flash,4 KB的EEPROM,4 KB的內(nèi)部SRAM,具有兩個可編程的同步和異步串行接收器和轉(zhuǎn)發(fā)器USART,即USART0和USART1。其中,USART是一個高度靈活的串行通信設(shè)備,能夠全雙工操作,具有獨(dú)立的串行接收和發(fā)送寄存器。
ATmega128單片機(jī)能夠滿足設(shè)計需求,設(shè)計中采用11.059 2 MHz的晶振,并且選取一個8位32 KB芯片61C256作為SRAM擴(kuò)展以提高數(shù)據(jù)處理性能。其中USART0用于ATmega128單片機(jī)和MITRAC的RS485接口通信,USART1用于ATmega128單片機(jī)和LED顯示器的RS485接口通信,端口PORTC、PORTF用于ATmega128和數(shù)字語音報站器DIAS的并口通信。
2.2 USART接口設(shè)計
本文采用芯片MAX491和MAX232分別實(shí)現(xiàn)RS485接口通信和RS232接口通信。
MAX491是用于RS485/422通信[10]的低功耗全雙工收發(fā)器,具有一個驅(qū)動器和一個接收器。MAX491可以實(shí)現(xiàn)最高2.5 Mb/s的傳輸速率。
當(dāng)ATmega128單片機(jī)與RS485接口通信時,采用光電隔離的方法予以實(shí)現(xiàn),提高系統(tǒng)抗信號干擾能力,保障數(shù)據(jù)完整無誤地傳輸[11]。在RS485接口電路的設(shè)計中,需要根據(jù)串行通信的波特率選擇不同的光電耦合器。光電耦合器的傳輸速率必須大于通信的波特率,且光電耦合器的傳輸速率越高,通信的波特率就越高。本文選取的光電耦合器TLP521最高能達(dá)到38 400 b/s的傳輸速度,滿足設(shè)計要求。
MAX232為EIA/TIA-232E通信接口設(shè)計,本文采用MAX232芯片用于RS232接口電路,實(shí)現(xiàn)USART串口與PC的通信,方便調(diào)試和數(shù)據(jù)監(jiān)控。
本文所設(shè)計的USART接口電路原理圖如圖3所示。在接收數(shù)據(jù)時,RS485和RS232接口可以實(shí)現(xiàn)同步數(shù)據(jù)接收;在發(fā)送數(shù)據(jù)時,采用跳線的設(shè)計來控制RS485或RS232向單片機(jī)發(fā)送數(shù)據(jù)。
2.3 并口信號驅(qū)動電路設(shè)計
并口信號驅(qū)動電路主要實(shí)現(xiàn)從單片機(jī)端口的信號到并口輸出端的信號轉(zhuǎn)化,站臺碼以并口信號形式發(fā)送到數(shù)字語音報站器DIAS。同時也采用光電耦合器TLP521實(shí)現(xiàn)信號隔離和電壓轉(zhuǎn)化,把單片機(jī)側(cè)3.3 V輸出電壓信號轉(zhuǎn)化成并口輸出端的24 V電壓信號。并口信號驅(qū)動電路其中一路的原理圖如圖4所示。
3 信號處理單元軟件設(shè)計
ATmega128通過RS485接口接收MITRAC發(fā)送過來的數(shù)據(jù),經(jīng)過數(shù)據(jù)處理后,提取出16 bit的無符號數(shù)站臺碼,用于對列車客室內(nèi)LED顯示器顯示信息和數(shù)字語音報站器DIAS的信號控制,顯示相應(yīng)報站文字信息以及廣播語音報站信息。信號處理單元軟件設(shè)計的流程圖如圖5中所示。
3.1 USART串口程序設(shè)計
首先要對USART進(jìn)行初始化,包括波特率和幀結(jié)構(gòu)的設(shè)定,以及根據(jù)需要使能接收器或發(fā)送器。USART有三個獨(dú)立的中斷:發(fā)送結(jié)束中斷、發(fā)送數(shù)據(jù)寄存器空中斷以及接收結(jié)束中斷。對于中斷驅(qū)動的USART操作,在初始化時首先要清零全局中斷標(biāo)志位。
USART收發(fā)數(shù)據(jù),若是采用輪循(Polling)方式,高速AVR單片機(jī)的效率將會很低。為了解決低速串口與高速AVR單片機(jī)之間的矛盾,本文中ATmega128串口控制程序采用中斷的方式并且設(shè)計接收和發(fā)送數(shù)據(jù)緩沖器來提高ATmega128的效率。
數(shù)據(jù)緩沖器的數(shù)據(jù)結(jié)構(gòu)設(shè)計為循環(huán)隊(duì)列,它由讀、寫及一個隊(duì)列計數(shù)器3個指針控制,用于判斷當(dāng)前寫入數(shù)據(jù)、讀出數(shù)據(jù)在隊(duì)列中的位置,并判斷隊(duì)列是否為空和是否已滿。
3.2 并口程序設(shè)計
并口控制程序主要是為了實(shí)現(xiàn)單片機(jī)發(fā)送控制命令給數(shù)字語音報站器DIAS,在單片機(jī)需要發(fā)送數(shù)據(jù)時,根據(jù)所要發(fā)送的數(shù)據(jù)把相應(yīng)信號端口置位即可,控制音頻信息播放。
4 結(jié)論
本文經(jīng)過對前期采集數(shù)據(jù)的分析工作,針對乘客信息系統(tǒng)中信號處理單元所要實(shí)現(xiàn)的功能進(jìn)行研究設(shè)計,并且完成相應(yīng)的硬件和軟件設(shè)計,實(shí)現(xiàn)了通信和數(shù)據(jù)處理功能。經(jīng)過實(shí)際電路的測試和檢驗(yàn),實(shí)現(xiàn)了預(yù)期的功能。信號處理單元的設(shè)計在整個乘客信息系統(tǒng)國產(chǎn)化項(xiàng)目中處于極重要環(huán)節(jié),為整個乘客信息系統(tǒng)的實(shí)現(xiàn)解決了關(guān)鍵的問題,具有重要的研究價值和實(shí)用價值。本文所設(shè)計的信號處理單元不僅僅是解決了上海地鐵9號線PIS系統(tǒng)的數(shù)據(jù)通信問題,所設(shè)計的電路和軟件解決的技術(shù)問題具有通用價值和普遍意義。
參考文獻(xiàn)
[1] 闞庭明.城市軌道交通乘客信息系統(tǒng)技術(shù)發(fā)展趨勢探討[J].鐵路計算機(jī)應(yīng)用,2009,18(1):37-39.
[2] 于孝安,孫同慶,汪曉臣,等.城市軌道交通乘客信息系統(tǒng)路網(wǎng)控制中心設(shè)計的研究[J].鐵路計算機(jī)應(yīng)用,2013,22(5):55-57.
[3] IEC61375-1 Ed.2 2005, Electric railway equipment-train bus-part1: train communication network[S].2005.
[4] 長春長客-龐巴迪軌道車輛有限公司.上海9號線車輛PIS系統(tǒng)的設(shè)計規(guī)格書[Z].2002:14-15.
[5] 許燕萍,楊代華.RS485串行總線可靠性的研究[J]電子科技,2009,22(2):8-10.
[6] 姚發(fā)閃,陳志軍.基于AT89C52單片機(jī)的RS485-CAN智能轉(zhuǎn)換器設(shè)計[J]微型機(jī)與應(yīng)用,2012,31(3):34-36.
[7] 耿立中,王鵬,馬騁,等.RS485高速數(shù)據(jù)傳輸協(xié)議的設(shè)計與實(shí)現(xiàn)[J]清華大學(xué)學(xué)報(自然科學(xué)版),2008,48(8):1311-1314.
[8] 張恒旭,郭秀清,霍勇.基于ATmega128數(shù)字化報站器的設(shè)計與實(shí)現(xiàn)[J].機(jī)電一體化,2011,17(10):66-70.
[9] 張恒旭.地鐵列車報站系統(tǒng)的設(shè)計與實(shí)現(xiàn)[D].上海:同濟(jì)大學(xué),2012.
[10] Ni Haiyan, Hu Chao, Ma Changwang. Research on a 485-serial network architecture in intelligent uptown management[C]. Proceedings of 2006 IEEE Conference on Mechatronics and Automation, Luoyang: IEEE Press, 2006: 400-405.
[11] 黃俊杰,黃云峰.AVR單片機(jī)實(shí)現(xiàn)光電隔離RS-422-485智能接口研究[J]鄭州大學(xué)學(xué)報(工學(xué)版),2004,25(1):85-88.