基于ATmega8-A的乘客紧急通信单元的设计与实现

2015-07-24 19:01郭秀清
网络安全与数据管理 2015年23期
关键词:接收数据通信协议乘客

陶 源,郭秀清

(同济大学 控制科学与工程系,上海 201804)

基于ATmega8-A的乘客紧急通信单元的设计与实现

陶 源,郭秀清

(同济大学 控制科学与工程系,上海 201804)

随着城市轨道交通的迅猛发展,地铁列车的安全性与舒适性越来越成为乘客关注的重大议题,其中保障通信顺畅是确保列车安全运行的重要环节之一。本文针对上海地铁三号线阿尔斯通轨道列车的乘客紧急通信单元不足之处,提出了一套以ATmega8-A为控制核心的解决方案,并给出了乘客紧急通信单元的硬件设计和软件实现方法,旨在为轨道列车技术国产化尽微薄之力。

乘客紧急单元;Atmega8-A;USART;通信接口

0 引言

乘客信息系统 (PassengerInformation System,PIS)被广泛应用在国内外各种有轨车辆、地铁、动车及高铁等交通工具上。PIS给乘客提供各种旅途信息,已经被广大乘客所接受,其已成为地铁列车设计的必需系统。 乘客紧急单元(PECU)是 PIS的重要外设。PECU是乘客或列车自身出现异常情况时,乘客与司机紧急联系的唯一通道,它的可靠性直接影响列车安全运行甚至乘客的生命安全。目前,我国的 PECU一般都采用国外技术,出现问题时,其维修难度高而且费用昂贵。另外随着地铁的运行,原有的 PECU装备也会出现老化等问题。因此必须对 PECU进行研究,尽快实现国产化设计,使其性能更加卓越,安全性能更高[1]。

1 乘客紧急通信单元硬件设计

本乘客紧急通信单元的设计以 ATmega8-A单片机为控制核心,主要由控制信号输入接口、通信接口、音频放大及电源等模块组成。设计结构框图如图1所示。

图1 硬件设计结构框图

当列车出现紧急情况,乘客按下客室内的呼叫按钮,在司机应答之后便可实现全双工通信。ATmega8-A接收从控制口发来的命令并解析,将音频数据通过硬件电路在车厢或者司机室内进行播放[2]。

1.1 微控制器Atmega8-A

AVR单片机是1997年Atmel公司推出的 RISC(精简指令系统计算机)单片机。RISC并非只是简单地去减少指令,而是通过使计算机的结构更加简单合理而提高运算速度。由于AVR单片机采用了 RISC的这种结构,使其具备了1 MIPS/MHz的高速处理能力。AVR单片机硬件结构采取 8位机与 16位机的折中策略,即采用局部寄存器存堆(32个寄存器文件)和单体高速输入/输出的方案[3]。它在软/硬件开销、速度、性能和成本诸多方面取得了优化平衡,是高性价比的单片机。Atmega8-A是AVR系列中的一员,它具有8 KB的系统内可编程 Flash、512 KB的 EEPROM、擦写寿命可达10 000次、1 KB的片内SRAM等特点,具有良好的抗干扰性和稳定性[4]。

1.2 通信串口模块

通信接口是指微型计算机系统与其他系统直接进行数字通信的接口电路。图2中MAX487CPA是MAXIM公司的差分平衡型收发器芯片,是用于TTL协议与RS-485通信协议的一种低功耗收发器。其每个器件中都具有一个驱动器和一个接收器,收发器在驱动器禁用的空载或满载状态下,吸取的电源电流在 120 μA~500 μA之间。另外,MAX487具有低电流关断模式,仅消耗0.1 μA,所有器件都工作在5 V单电源下。因此选取该芯片可以很好地符合本设计的要求[5]。

1.3 放大电路模块

图2 通信接口原理图

放大电路能够将一个微弱的交流小信号(叠加在直流工作点上),通过一个装置 (核心为三极管、场效应管)转变为一个波形相似(不失真),但幅值却大很多的交流大信号输出。实际的放大电路通常是由信号源、晶体三极管构成的放大器及负载组成[6]。本设计采用Tda2052单声道功率放大器芯片。它能够提供 4个高功率8 Ω负载阻抗,具有宽电压范围的高输出电流能力。Tda2052放大器的主要特点是:高输出功率、AC短路保护、热关闭掉电保护、ESD保护以及 Mute/Stand-By功能。Tda2052可以工作在正负 25 V的电压环境下,没有开关噪音。

2 乘客紧急通信单元软件设计与实现

乘客紧急通信单元的软件设计主要包括 USART通信协议和单片机主控制程序两大部分。

2.1 USART简介

AVR单片机的异步串行收发器 (UniversalSynchronous/ Asynchronous Receiver/Transmitter,USART)是一个全双工通用同步/异步串行收发模块。其主要特点包括全双工操作(相互独立地接收数据和发送数据)、异步或同步操作、主机或从机提供时钟的同步操作、高精度的波特率发生器、具有5/6/7/8/9个数据位和 1或 2个停止位、硬件支持奇偶校验操作、帧错误检测、噪声滤波、三个独立的中断、多处理器通信模式等特点[7]。

USART发送数据缓冲寄存器和USART接收数据缓冲寄存器共享相同的 I/O地址,称为USART数据寄存器或 UDR。将数据写入 UDR时实际操作的是发送数据到缓冲寄存器 (TXB),读UDR时实际返回的是接收数据缓冲寄存器(RXB)的内容[8]。

本设计采用查询方式的 USART通信方式,详细地介绍 USART初始化函数 usart_init()、发送数据函数 usart_SendByte()以及接收数据函数 usart_ReceiveByte()。

void usart_init(void) //USART初始化

UCSRB=0x00;

UCSRA=0x00;

UBRRH=(unsigned char)(UBRR_0>>8); //设置波特率

UBRRL=(unsigned char)UBRR_0;

UCSRB=(1<<RXCIE)|(1<<RXEN)|(1<<TXEN);//接收器和发送器使能

UCSRC=(1<<URSEL)|(1<<UPM1)|(1<<UCSZ1)|(1<<UCSZ0); //奇偶校验

void usart_SendByte(unsigned char data) //查询方式发送

while(!(UCSRA&(1<<UDRE)));//等待发送缓冲器为空

UDR=data; //将数据放入缓冲器,发送数据

unsigned char usart_ReceiveByte(void) //查询方式接收

while(!(UCSRA&(1<<RXC))); //等待接收数据

return UDR; //从缓冲器获取并返回数据

2.2 单片机主程序

2.2.1 单片机主程序流程图

图3是本设计的软件设计流程图,结合 AVR单片机的知识,介绍本设计单片机工作的流程。

图3 主程序流程

2.2.2 单片机主程序代码

主程序包括端口初始化函数 port_init()、定时器中断初始化函数 timer0_init()、timer1_init()以及设备初始化函数 device_init()。其中端口初始化函数将 PORTB、PORTC设置为输入,PORTD的高5位为输出,低 3位为输入[9]。由于这些函数很常见,本文就不列出具体的代码。MPU通信协议函数tx()是利用USART通信协议编写的串口通信函数,本函数通过判断 USART的接收缓存寄存器 rx_buffer0,判断 PECU是第一次上电还是已经处于正常工作,并发送对应的PECU上电码和 PECU工作码给主控单元。因为RS-485是地铁列车的通信方式,所以还需要通过 RS-485通信协议发送和接收代码[10]。

单片机主函数包括判断乘客是否按下客室内呼叫按钮,按下后在等待司机室的响应时呼叫按钮 LED会闪亮,显示等待状态。当接收到司机室的响应后,LED变为常亮,此时可与司机正常通话。

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))//第一次按下客室按钮

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 结论

本设计将解决PECU通信协议问题,完成PECU的设计,形成完整的紧急通信单元。经过对现有 PECU的研究,将可设计出功能齐全、性能优异的国产 PECU设备,使其可以替代现有产品。接下来将进一步测试硬件和优化代码,完善程序功能,并通过现场测试检验其稳定性和可靠性,争取尽快应用在轨道交通列车上。

[1]赵晓峰.地铁列车乘客紧急报警系统设计[J].单片机与嵌入式系统应用,2011,11(6):49-51,55.

[2]史利强,郭秀清.城市轨道交通乘客信息系统中信号处理单元设计[J].微型机与应用,2015,34(2):29-31,34.

[3]谢群.列车全数字紧急对讲单元硬件设计与实现[D].大连:大连理工大学,2011.

[4]严利明,胡立坤,王庆超.基于 UART的主从通信方式的主节点时序分析[J].电测与仪表,2006,43(7):51-54.

[5]张恒旭,郭秀清,霍勇.基于 Atmega128数字化报站器的设计与实现[J].机电一体化,2011,17(10):66-70.

[6]黄俊杰,黄云峰.AVR单片机实现光电隔离 RS-422-485智能接口研究[J].郑州大学学报(工学版),2004,25(1):85-88.

[7]IEC61375-1 Ed.2 2005.Electric railway equipment-train bus-part1:train communication network[S].2005.

[8]于孝安,孙同庆,汪晓臣,等.城市轨道交通乘客信息系统路网控制中心设计的研究 [J].铁路计算机应用,2013,22(5):55-57.

[9]徐强,郭秀清.地铁列车 PIS存储模块的设计[J].微型机与应用,2014,35(22):14-16.

[10]刘炜,毛建鑫,梁磊,等.一种基于 ARM的集中器的硬件实现[J].电子技术应用,2014,40(1):86-89.

Design and implementation of the passenger emergency communication unit based on ATmega8-A

Tao Yuan,Guo Xiuqing
(Department of Control Science and Engineering,Tongji University,Shanghai 201804,China)

With the rapid development of urban metro systems,safety issues of metro trains have gradually become a big concern among passengers.Securing smooth communications is one of the key components to ensure safe operation of trains.Focusing on the deficiencies of current PECU (Passenger Emergency Communication Unit)of Alstom metro trains running on Shanghai Metro Line 3,this paper proposes a series of solutions based on Atmega8-A as the control kernel and offers the hardware designs of PECU and the realization methods of software.

PECU;Atmega8-A;USART;communication port

U121

A

1674-7720(2015)23-0016-04

陶源,郭秀清.基于 ATmega8-A的乘客紧急通信单元的设计与实现[J].微型机与应用,2015,34(23):16-19.

2015-08-03)

陶源(1991-),男,硕士研究生,主要研究方向:轨道交通乘客信息系统。

郭秀清(1965-),女,教授,主要研究方向:过程控制与计算机控制。

猜你喜欢
接收数据通信协议乘客
嫦娥五号带回的“乘客”
汽车顶层上的乘客
低复杂度多输入多输出雷达目标角度估计方法
最牛乘客
基于LoRa的低能耗物联网技术研究
单片机模拟串口数据接收程序的实现及优化
基于DMX512通信协议的多路转发器设计与研究
高铁丢票乘客索退款被驳回
基于NS-3的PLC多频通信协议仿真平台设计与实现
基于风险分析的安全通信协议简化研究