Atmega128 相关资源
文档介绍:本设计利用ATMEL公司AVR系列ATmega128单片机的控制调频电路来调制系统的工作频率,实现对口腔CBCT系统X射线球管电压的精确控制和调节,同时还实现了系统的人机交互、数据存储和传输、数/模转换、串口通信等功能。该控制电路硬件设计简单可靠,易于实现;软件开发方便灵活,实现了预期的功能。
城市轨道交通乘客信息系统中信号处理单元设计
摘 要 : 城市轨道交通乘客信息系统中信号处理单元的设计主要是为了解决PIS(Passenger Information System)系统与列车计算机网络的通信问题,以及PIS系统中不同模块之间通信问题,在PIS系统中具有关键作用,并具有重要的研究价值。选取AVR单片机作为主控芯片,针对信号处理单元所要实现的功能,提出了针对RS485串行接口通信及并行接口通信的解决方案,并且实现了数据处理功能及对其他模块的信号控制。0 引言
本文研究背景选自上海轨道交通9号线车辆乘客信息系统(Passenger Information System,PIS)[1]国产化项目。PIS系统在城市轨道交通中为乘客提供语音和文字等列车广播信息,对于列车运营和服务起很重要作用[2]。实现PIS系统国产化对于地铁线路提高运营服务质量、降低设备维护成本也具有很重要的现实意义。
目前,上海地铁9号线的车辆采用国外某公司的列车控制系统,简称MITRAC[3],它由分散布置的输入/输出单元、高性能的计算机、相应的控制和诊断软件以及统一的通信设施组成。本文针对国产化PIS系统项目中信号处理单元进行研究设计,首先对MITRAC发给PIS系统的信号进行数据采集分析,然后设计信号处理单元,实现PIS系统与列车计算机网络MITRAC之间的通信,并且对信号进行处理,实现对其他模块的通信和信号控制。
1 信号处理单元功能介绍
列车计算机网络MITRAC发送给PIS系统的信号,由司机室激活信号、自动广播/可视信息激活信号、站台码以及车辆编码等信息组成[4]。其中站台码是一个16位的无符号整型数,具有唯一性,用于触发播放相应的语音广播信息和列车客室内LED文字信息。信号处理单元需要实现MITRAC与PIS系统之间的有效通信,并且处理相应的信号数据,提取出站台码,并把站台码作为控制信号发送给其他控制单元。
MITRAC与PIS的通信接口为RS485接口,信号处理单元需要设计与RS485接口相匹配的接口来实现与MITRAC的通信[5-6]。MITRAC使用列车控制专用通信协议WELNET,数据传输速度为19 200 b/s,数据形式为8个数据位、1个停止位、无奇偶校验[7]。MITRAC发送给PIS系统的实际信号数据由本文设计的专用数据采集工具采集分析获得。
如图1所示,信号处理单元的功能如下:
(1)通过RS485接口实现信号处理单元与MITRAC之间的通信,信号处理单元从MITRAC接收的数据中提取出站台码;
(2)信号处理单元以并口的信号形式把站台码发给数字语音报站器DIAS[8-9],控制播放相应音频信息;
(3)通过RS485接口信号处理单元把站台码发送至列车客室LED显示控制器,控制显示相应文字信息。
下面以上海地铁9号线杨高中路站→佘山站这个运营区间为例,对MITRAC发送给PIS系统的数据进行分析,当播报下一站是世纪大道站时,MITRAC发送的数据信息如图2所示,数据以16进制编码显示。
当MITRAC发送给PIS系统发送列车广播控制信息时,图2中第一行阴影部分编码值从十六进制数0X0000变成第二行数据0X01B3,其中0X01B3是世纪大道站的站台码,十进制数为435,此站台码作为控制相应音频信息和LED显示信息的信号,在播放世纪大道相应音频和文字信息时站台码值始终保持不变,当接收到下一站的站台码时,相应的音频信息和LED显示信息也随之改变。
2 信号处理单元硬件设计
首先为信号处理板设计相应的硬件接口实现硬件连接,其中包括两个RS485接口和一个多路的并行接口。
2.1 主控电路设计
本文采用的主控芯片ATmega128是ATMEL公司的一款高性能、低功耗的AVR 8位微处理器,具有128 KB的系统内可编程Flash,4 KB的EEPROM,4 KB的内部SRAM,具有两个可编程的同步和异步串行接收器和转发器USART,即USART0和USART1。其中,USART是一个高度灵活的串行通信设备,能够全双工操作,具有独立的串行接收和发送寄存器。
ATmega128单片机能够满足设计需求,设计中采用11.059 2 MHz的晶振,并且选取一个8位32 KB芯片61C256作为SRAM扩展以提高数据处理性能。其中USART0用于ATmega128单片机和MITRAC的RS485接口通信,USART1用于ATmega128单片机和LED显示器的RS485接口通信,端口PORTC、PORTF用于ATmega128和数字语音报站器DIAS的并口通信。
2.2 USART接口设计
本文采用芯片MAX491和MAX232分别实现RS485接口通信和RS232接口通信。
MAX491是用于RS485/422通信[10]的低功耗全双工收发器,具有一个驱动器和一个接收器。MAX491可以实现最高2.5 Mb/s的传输速率。
当ATmega128单片机与RS485接口通信时,采用光电隔离的方法予以实现,提高系统抗信号干扰能力,保障数据完整无误地传输[11]。在RS485接口电路的设计中,需要根据串行通信的波特率选择不同的光电耦合器。光电耦合器的传输速率必须大于通信的波特率,且光电耦合器的传输速率越高,通信的波特率就越高。本文选取的光电耦合器TLP521最高能达到38 400 b/s的传输速度,满足设计要求。
MAX232为EIA/TIA-232E通信接口设计,本文采用MAX232芯片用于RS232接口电路,实现USART串口与PC的通信,方便调试和数据监控。
本文所设计的USART接口电路原理图如图3所示。在接收数据时,RS485和RS232接口可以实现同步数据接收;在发送数据时,采用跳线的设计来控制RS485或RS232向单片机发送数据。
2.3 并口信号驱动电路设计
并口信号驱动电路主要实现从单片机端口的信号到并口输出端的信号转化,站台码以并口信号形式发送到数字语音报站器DIAS。同时也采用光电耦合器TLP521实现信号隔离和电压转化,把单片机侧3.3 V输出电压信号转化成并口输出端的24 V电压信号。并口信号驱动电路其中一路的原理图如图4所示。
3 信号处理单元软件设计
ATmega128通过RS485接口接收MITRAC发送过来的数据,经过数据处理后,提取出16 bit的无符号数站台码,用于对列车客室内LED显示器显示信息和数字语音报站器DIAS的信号控制,显示相应报站文字信息以及广播语音报站信息。信号处理单元软件设计的流程图如图5中所示。
3.1 USART串口程序设计
首先要对USART进行初始化,包括波特率和帧结构的设定,以及根据需要使能接收器或发送器。USART有三个独立的中断:发送结束中断、发送数据寄存器空中断以及接收结束中断。对于中断驱动的USART操作,在初始化时首先要清零全局中断标志位。
USART收发数据,若是采用轮循(Polling)方式,高速AVR单片机的效率将会很低。为了解决低速串口与高速AVR单片机之间的矛盾,本文中ATmega128串口控制程序采用中断的方式并且设计接收和发送数据缓冲器来提高ATmega128的效率。
数据缓冲器的数据结构设计为循环队列,它由读、写及一个队列计数器3个指针控制,用于判断当前写入数据、读出数据在队列中的位置,并判断队列是否为空和是否已满。
3.2 并口程序设计
并口控制程序主要是为了实现单片机发送控制命令给数字语音报站器DIAS,在单片机需要发送数据时,根据所要发送的数据把相应信号端口置位即可,控制音频信息播放。
4 结论
本文经过对前期采集数据的分析工作,针对乘客信息系统中信号处理单元所要实现的功能进行研究设计,并且完成相应的硬件和软件设计,实现了通信和数据处理功能。经过实际电路的测试和检验,实现了预期的功能。信号处理单元的设计在整个乘客信息系统国产化项目中处于极重要环节,为整个乘客信息系统的实现解决了关键的问题,具有重要的研究价值和实用价值。本文所设计的信号处理单元不仅仅是解决了上海地铁9号线PIS系统的数据通信问题,所设计的电路和软件解决的技术问题具有通用价值和普遍意义。
参考文献
[1] 阚庭明.城市轨道交通乘客信息系统技术发展趋势探讨[J].铁路计算机应用,2009,18(1):37-39.
[2] 于孝安,孙同庆,汪晓臣,等.城市轨道交通乘客信息系统路网控制中心设计的研究[J].铁路计算机应用,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系统的设计规格书[Z].2002:14-15.
[5] 许燕萍,杨代华.RS485串行总线可靠性的研究[J]电子科技,2009,22(2):8-10.
[6] 姚发闪,陈志军.基于AT89C52单片机的RS485-CAN智能转换器设计[J]微型机与应用,2012,31(3):34-36.
[7] 耿立中,王鹏,马骋,等.RS485高速数据传输协议的设计与实现[J]清华大学学报(自然科学版),2008,48(8):1311-1314.
[8] 张恒旭,郭秀清,霍勇.基于ATmega128数字化报站器的设计与实现[J].机电一体化,2011,17(10):66-70.
[9] 张恒旭.地铁列车报站系统的设计与实现[D].上海:同济大学,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单片机实现光电隔离RS-422-485智能接口研究[J]郑州大学学报(工学版),2004,25(1):85-88.
相关问答
如何用 atmega128 实现8M系统时钟50hz电机的pwm控制?采用atmega128单片机与SA828配合来生成SPWM信号,这样外围的硬件结构比较简洁。采用atmega128单片机与SA828配合来生成SPWM信号,这样外围的硬件结构比较简洁。
ATmega128单片机 ,用的USBISP下载,为什么无法烧进去程序?STC-ISP软件,通过COM串口232转TTL,及USB转TTL(模拟串口),可以对STC系列单片机进行编程下载程序。目前其它系列单片机还没有该功能,ATmega128及...
请问做低功耗产品CPU选STM32和 ATmega128 哪个更省电?STM32是32位芯片中同主频最省电的,耗电量不一定比128低,看你怎么用了,侧重性能+功耗选STM32,更侧重功耗选128或者功耗更低的其他产品,低功耗不止单片机,外...
ATMega单片机 的复位方式有哪几种?单片机复位就两种方式,一个是硬件复位,一个是软件复位。硬件复位就是靠外部的硬件强行把复位管教置为低电平,例如上电的时候,还有按键。上电之所以要复...
AVR ATmega 8 单片机 下载程序的过程-ZOL问答(2)STK500:ATMEL最推荐的编程方式,由于采用ATMEL官方的STK500固件,使得它可烧写全系列AVR(若对固件进行升级亦可支持未来的AVR型号),烧写速度非常快,支持AVRSt...
atmega 16 单片机 在keil C51中怎么找不到?atmega16单片机不是51系列单片机,在keilC里面是没有的。。。你可以用ICCV7或者其他软件编程用其他软件进行程序的烧写atmega16单片机不是51系列单片机,在ke...
atmega 328这个 单片机 怎么样?你是要了解这个芯片还是arduinouno?就这个芯片而言,比STC15要差一些。但是包装后的arduino使用方便,更适合初学者你是要了解这个芯片还是arduinouno?就这...
树莓派 芯片哪国的?树莓派由注册于英国的慈善组织“RaspberryPi基金会”开发,Eben·Upton/埃·厄普顿为项目带头人。2012年3月,英国剑桥大学埃本·阿普顿(EbenEpton)正式发售...
如何快速将两个 单片机 的程序合并,我是用 ATmega 16 单片机 ,程序是用c编的?你是指把两个单片机的程序合起来,最后烧录到一块单片机上么?如果是的话,C语言只要改下程序开始的引脚定义就好了。把重复的I/O口再重新定义一下就好了。你...
atmegal 128单片机 如何用avr isp 烧写程序?我们在conect时总...只要管脚正确,单片机型号选对了就没问题,还有就是芯片没有被锁定,即时钟配置正确。祝你好运!建议你使用第三方软件,编译环境中的那个不太好用!AT...