摘 要: 隨著城市軌道交通的迅猛發(fā)展,地鐵列車的安全性與舒適性越來(lái)越成為乘客關(guān)注的重大議題,其中保障通信順暢是確保列車安全運(yùn)行的重要環(huán)節(jié)之一。本文針對(duì)上海地鐵三號(hào)線阿爾斯通軌道列車的乘客緊急通信單元不足之處,提出了一套以ATmega8-A為控制核心的解決方案,并給出了乘客緊急通信單元的硬件設(shè)計(jì)和軟件實(shí)現(xiàn)方法,旨在為軌道列車技術(shù)國(guó)產(chǎn)化盡微薄之力。
關(guān)鍵詞: 乘客緊急單元;Atmega8-A;USART;通信接口
0 引言
乘客信息系統(tǒng)(Passenger Information System,PIS)被廣泛應(yīng)用在國(guó)內(nèi)外各種有軌車輛、地鐵、動(dòng)車及高鐵等交通工具上。PIS給乘客提供各種旅途信息,已經(jīng)被廣大乘客所接受,其已成為地鐵列車設(shè)計(jì)的必需系統(tǒng)。乘客緊急單元(PECU)是PIS的重要外設(shè)。PECU是乘客或列車自身出現(xiàn)異常情況時(shí),乘客與司機(jī)緊急聯(lián)系的唯一通道,它的可靠性直接影響列車安全運(yùn)行甚至乘客的生命安全。目前,我國(guó)的PECU一般都采用國(guó)外技術(shù),出現(xiàn)問(wèn)題時(shí),其維修難度高而且費(fèi)用昂貴。另外隨著地鐵的運(yùn)行,原有的PECU裝備也會(huì)出現(xiàn)老化等問(wèn)題。因此必須對(duì)PECU進(jìn)行研究,盡快實(shí)現(xiàn)國(guó)產(chǎn)化設(shè)計(jì),使其性能更加卓越,安全性能更高[1]。
1 乘客緊急通信單元硬件設(shè)計(jì)
本乘客緊急通信單元的設(shè)計(jì)以ATmega8-A單片機(jī)為控制核心,主要由控制信號(hào)輸入接口、通信接口、音頻放大及電源等模塊組成。設(shè)計(jì)結(jié)構(gòu)框圖如圖1所示。
當(dāng)列車出現(xiàn)緊急情況,乘客按下客室內(nèi)的呼叫按鈕,在司機(jī)應(yīng)答之后便可實(shí)現(xiàn)全雙工通信。ATmega8-A接收從控制口發(fā)來(lái)的命令并解析,將音頻數(shù)據(jù)通過(guò)硬件電路在車廂或者司機(jī)室內(nèi)進(jìn)行播放[2]。
1.1 微控制器Atmega8-A
AVR單片機(jī)是1997年Atmel公司推出的RISC(精簡(jiǎn)指令系統(tǒng)計(jì)算機(jī))單片機(jī)。RISC并非只是簡(jiǎn)單地去減少指令,而是通過(guò)使計(jì)算機(jī)的結(jié)構(gòu)更加簡(jiǎn)單合理而提高運(yùn)算速度。由于AVR單片機(jī)采用了RISC的這種結(jié)構(gòu),使其具備了1 MIPS/MHz的高速處理能力。AVR單片機(jī)硬件結(jié)構(gòu)采取8位機(jī)與16位機(jī)的折中策略,即采用局部寄存器存堆(32個(gè)寄存器文件)和單體高速輸入/輸出的方案[3]。它在軟/硬件開(kāi)銷、速度、性能和成本諸多方面取得了優(yōu)化平衡,是高性價(jià)比的單片機(jī)。Atmega8-A是AVR系列中的一員,它具有8 KB的系統(tǒng)內(nèi)可編程Flash、512 KB的EEPROM、擦寫壽命可達(dá)10 000次、1 KB的片內(nèi)SRAM等特點(diǎn),具有良好的抗干擾性和穩(wěn)定性[4]。
1.2 通信串口模塊
通信接口是指微型計(jì)算機(jī)系統(tǒng)與其他系統(tǒng)直接進(jìn)行數(shù)字通信的接口電路。圖2中MAX487CPA是MAXIM公司的差分平衡型收發(fā)器芯片,是用于TTL協(xié)議與RS-485通信協(xié)議的一種低功耗收發(fā)器。其每個(gè)器件中都具有一個(gè)驅(qū)動(dòng)器和一個(gè)接收器,收發(fā)器在驅(qū)動(dòng)器禁用的空載或滿載狀態(tài)下,吸取的電源電流在120 A~500 A之間。另外,MAX487具有低電流關(guān)斷模式,僅消耗0.1 μA,所有器件都工作在5 V單電源下。因此選取該芯片可以很好地符合本設(shè)計(jì)的要求[5]。
1.3 放大電路模塊
放大電路能夠?qū)⒁粋€(gè)微弱的交流小信號(hào)(疊加在直流工作點(diǎn)上),通過(guò)一個(gè)裝置(核心為三極管、場(chǎng)效應(yīng)管)轉(zhuǎn)變?yōu)橐粋€(gè)波形相似(不失真),但幅值卻大很多的交流大信號(hào)輸出。實(shí)際的放大電路通常是由信號(hào)源、晶體三極管構(gòu)成的放大器及負(fù)載組成[6]。本設(shè)計(jì)采用Tda2052單聲道功率放大器芯片。它能夠提供4個(gè)高功率8 負(fù)載阻抗,具有寬電壓范圍的高輸出電流能力。Tda2052放大器的主要特點(diǎn)是:高輸出功率、AC短路保護(hù)、熱關(guān)閉掉電保護(hù)、ESD保護(hù)以及Mute/Stand-By功能。Tda2052可以工作在正負(fù)25 V的電壓環(huán)境下,沒(méi)有開(kāi)關(guān)噪音。
2 乘客緊急通信單元軟件設(shè)計(jì)與實(shí)現(xiàn)
乘客緊急通信單元的軟件設(shè)計(jì)主要包括USART通信協(xié)議和單片機(jī)主控制程序兩大部分。
2.1 USART簡(jiǎn)介
AVR單片機(jī)的異步串行收發(fā)器(UniversalSynchronous/Asynchronous Receiver/Transmitter,USART)是一個(gè)全雙工通用同步/異步串行收發(fā)模塊。其主要特點(diǎn)包括全雙工操作(相互獨(dú)立地接收數(shù)據(jù)和發(fā)送數(shù)據(jù))、異步或同步操作、主機(jī)或從機(jī)提供時(shí)鐘的同步操作、高精度的波特率發(fā)生器、具有5/6/7/8/9個(gè)數(shù)據(jù)位和1或2個(gè)停止位、硬件支持奇偶校驗(yàn)操作、幀錯(cuò)誤檢測(cè)、噪聲濾波、三個(gè)獨(dú)立的中斷、多處理器通信模式等特點(diǎn)[7]。
USART發(fā)送數(shù)據(jù)緩沖寄存器和USART接收數(shù)據(jù)緩沖寄存器共享相同的I/O地址,稱為USART數(shù)據(jù)寄存器或UDR。將數(shù)據(jù)寫入U(xiǎn)DR時(shí)實(shí)際操作的是發(fā)送數(shù)據(jù)到緩沖寄存器(TXB),讀UDR時(shí)實(shí)際返回的是接收數(shù)據(jù)緩沖寄存器(RXB)的內(nèi)容[8]。
本設(shè)計(jì)采用查詢方式的USART通信方式,詳細(xì)地介紹USART初始化函數(shù)usart_init()、發(fā)送數(shù)據(jù)函數(shù)usart_SendByte()以及接收數(shù)據(jù)函數(shù)usart_ReceiveByte()。
void usart_init(void)//USART初始化
{
UCSRB=0x00;
UCSRA=0x00;
UBRRH=(unsigned char)(UBRR_0>>8);//設(shè)置波特率
UBRRL=(unsigned char)UBRR_0;
UCSRB=(1<<RXCIE)|(1<<RXEN)|(1<<TXEN);
//接收器和發(fā)送器使能
UCSRC=(1<<URSEL)|(1<<UPM1)|(1<<UCSZ1)|(1<<UCSZ0);//奇偶校驗(yàn)
}
void usart_SendByte(unsigned char data)//查詢方式發(fā)送
{
while(!(UCSRA&(1<<UDRE)));
//等待發(fā)送緩沖器為空
UDR=data;//將數(shù)據(jù)放入緩沖器,發(fā)送數(shù)據(jù)
}
unsigned char usart_ReceiveByte(void)//查詢方式接收
{
while(!(UCSRA&(1<<RXC)));//等待接收數(shù)據(jù)
return UDR;//從緩沖器獲取并返回?cái)?shù)據(jù)
}
2.2 單片機(jī)主程序
2.2.1 單片機(jī)主程序流程圖
圖3是本設(shè)計(jì)的軟件設(shè)計(jì)流程圖,結(jié)合AVR單片機(jī)的知識(shí),介紹本設(shè)計(jì)單片機(jī)工作的流程。
2.2.2 單片機(jī)主程序代碼
主程序包括端口初始化函數(shù)port_init()、定時(shí)器中斷初始化函數(shù)timer0_init()、timer1_init()以及設(shè)備初始化函數(shù)device_init()。其中端口初始化函數(shù)將PORTB、PORTC設(shè)置為輸入,PORTD的高5位為輸出,低3位為輸入[9]。由于這些函數(shù)很常見(jiàn),本文就不列出具體的代碼。MPU通信協(xié)議函數(shù)tx()是利用USART通信協(xié)議編寫的串口通信函數(shù),本函數(shù)通過(guò)判斷USART的接收緩存寄存器rx_buffer0,判斷PECU是第一次上電還是已經(jīng)處于正常工作,并發(fā)送對(duì)應(yīng)的PECU上電碼和PECU工作碼給主控單元。因?yàn)镽S-485是地鐵列車的通信方式,所以還需要通過(guò)RS-485通信協(xié)議發(fā)送和接收代碼[10]。
單片機(jī)主函數(shù)包括判斷乘客是否按下客室內(nèi)呼叫按鈕,按下后在等待司機(jī)室的響應(yīng)時(shí)呼叫按鈕LED會(huì)閃亮,顯示等待狀態(tài)。當(dāng)接收到司機(jī)室的響應(yīng)后,LED變?yōu)槌A?,此時(shí)可與司機(jī)正常通話。
void main(void)
{
unsigned char i=0;
unsigned char j=0;
unsigned char pei=0,r=0;
delay_ms(1000);
init_devices();
while(1)
{
if((pei==0)&&(BPACTIV==0))
//第一次按下客室按鈕
?。?/p>
r=1;
TCCR1B=(TCCR1B & 0xF8)|0x05;
REQ_PEI_ON;
delay_ms(1000);
}
switch(r)
{
case 1:TCCR1B=(TCCR1B & 0xF8)|0x05;
//客室燈閃亮;
REQ_PEI_ON;
if(PEI_ACK==0)
{
r=2;
TCCR1B=0;
PEI_LED_ON;
delay_ms(1000);
}
break;
case 2:TCCR1B=0;
PEI_LED_ON;//客室燈常亮;
PEI_BUS_ON;
PEI_LINE_ON;
if(PEI_ACK==1)
{
r=0;
TCCR1B=0;
PEI_LED_OFF;
}
break;
default:TCCR1B=0;
PEI_LED_OFF;//客室燈常滅;
REQ_PEI_OFF;
PEI_BUS_OFF;
PEI_LINE_OFF;
break;
}
}
}
3 結(jié)論
本設(shè)計(jì)將解決PECU通信協(xié)議問(wèn)題,完成PECU的設(shè)計(jì),形成完整的緊急通信單元。經(jīng)過(guò)對(duì)現(xiàn)有PECU的研究,將可設(shè)計(jì)出功能齊全、性能優(yōu)異的國(guó)產(chǎn)PECU設(shè)備,使其可以替代現(xiàn)有產(chǎn)品。接下來(lái)將進(jìn)一步測(cè)試硬件和優(yōu)化代碼,完善程序功能,并通過(guò)現(xiàn)場(chǎng)測(cè)試檢驗(yàn)其穩(wěn)定性和可靠性,爭(zhēng)取盡快應(yīng)用在軌道交通列車上。
參考文獻(xiàn)
[1] 趙曉峰.地鐵列車乘客緊急報(bào)警系統(tǒng)設(shè)計(jì)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2011,11(6):49-51,55.
[2] 史利強(qiáng),郭秀清.城市軌道交通乘客信息系統(tǒng)中信號(hào)處理單元設(shè)計(jì)[J].微型機(jī)與應(yīng)用,2015,34(2):29-31,34.
[3] 謝群.列車全數(shù)字緊急對(duì)講單元硬件設(shè)計(jì)與實(shí)現(xiàn)[D].大連:大連理工大學(xué),2011.
[4] 嚴(yán)利明,胡立坤,王慶超.基于UART的主從通信方式的主節(jié)點(diǎn)時(shí)序分析[J].電測(cè)與儀表,2006,43(7):51-54.
[5] 張恒旭,郭秀清,霍勇.基于Atmega128數(shù)字化報(bào)站器的設(shè)計(jì)與實(shí)現(xiàn)[J].機(jī)電一體化,2011,17(10):66-70.
[6] 黃俊杰,黃云峰.AVR單片機(jī)實(shí)現(xiàn)光電隔離RS-422-485智能接口研究[J].鄭州大學(xué)學(xué)報(bào)(工學(xué)版),2004,25(1):85-88.
[7] IEC61375-1 Ed.2 2005. Electric railway equipment-train bus-part1: train communication network[S]. 2005.
[8] 于孝安,孫同慶,汪曉臣,等.城市軌道交通乘客信息系統(tǒng)路網(wǎng)控制中心設(shè)計(jì)的研究[J].鐵路計(jì)算機(jī)應(yīng)用,2013,22(5):55-57.
[9] 徐強(qiáng),郭秀清.地鐵列車PIS存儲(chǔ)模塊的設(shè)計(jì)[J].微型機(jī)與應(yīng)用,2014,35(22):14-16.
[10] 劉煒,毛建鑫,梁磊,等.一種基于ARM的集中器的硬件實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2014,40(1):86-89.