基于ARM7和CPLD的数字公交站亭系统设计
摘要:提出了一种基于ARM7 和CPLD 架构的数字公交站亭系统。系统通过GPRS 模块与公交控制中心实时通信,使用CA 认证保证通信的安全性,采用两块SRAM 组成具有“乒乓逻辑”的高速缓存确保显示数据的连续性,可实现同一站亭多条线路信息动态显示、实时车辆到站预报、公众信息发布、线路信息及时更新以及系统在线升级等功能,具有实时性好、安全性高,可扩展性强等特点。
针对现有印刷公交站亭提供信息少、无法提供车辆到站预报、增加线路或者修改线路信息麻烦等不足,本文提出了一种新数字公交站亭系统。该系统基于ARM7 和CPLD 架构,通过GPRS 与公交控制中心通信,采用CA 认证保证通信的安全性,能实现实时车辆到站预报、公众信息(如天气预报、重要新闻、交通路况、紧急状态信息)发布、线路信息及时更新以及系统在线升级等功能,具有实时性好、安全性高,可扩展性强等特点,有助于全面提升城市公交站的信息服务水平。
1 数字公交站亭系统总体结构及工作原理
该系统分为控制中心、站亭终端通信模块、站亭终端控制模块、站亭终端显示模块四个部分,总体结构框图如图1,各个部分组成和工作原理介绍如下:
(1) 控制中心:负责全市或者某区域公交车运行情况的监控,包括:信息采集、信息处理、公交实时调度、站台显示控制等功能。控制中心通过GPRS 与每个站亭终端建立无线通信,实现对站亭终端的相关控制。此外,控制中心还根据安装在公交车辆上的GPS 定位车辆位置,结合车辆速度和路况信息,实时更新车辆到站时间预报。
(2) 站亭终端控制模块:由核心芯片 ARM 和其外围器件组成,通过GPRS 模块接收控制中心下发的信息帧,执行由控制中心发出的控制命令,并根据控制中心发出的显示信息,完成字库查找,写入由两块SRAM 组成的高速数据缓存,两块SRAM 采用“乒乓逻辑”,即某一时刻ARM 芯片向一片SRAM 写入显示数据,另一片此时被CPLD 读取,二者轮流切换,保证数据的高速性和显示的连续性。为保证系统的安全性,每个站亭终端都有一个密钥,此密钥在设备初始化的时候写入,外部接口不能访问到此密钥信息,ARM 根据此密钥完成对接收信息帧的解密,如果遇到无法完成验证的信息帧,系统认为该信息帧被篡改,予以丢弃。此外,由于每个站亭终端需长时间连续工作,为了防止温度过高使系统工作不正常甚至导致火灾,每个站亭终端装有散热装置,包括温度传感器和散热风扇, ARM 通过温度传感器获取站亭终端内部的温度,一旦发现温度超过设定值,立即启动散热风扇,保证系统能长期工作。
(3) 站亭终端显示模块:由 CPLD、LED 扫描驱动电路、LED 点阵显示屏组成,CPLD读取由两块SRAM 组成的高速缓存中的数据,完成对LED 显示屏的扫描驱动过程,其内部固化的数字逻辑产生屏幕显示控制信号,包括串行数据移位信号、数据锁存信号、行扫描信号等,LED 显示屏行扫描电路和列数据电路根据这些信号驱动LED显示屏。
图 1 系统总体结构框图
2 系统硬件设计
2.1 站亭终端控制模块
站亭终端控制模块的核心芯片 ARM 向上通过GPRS 模块连接控制中心,并完成对控制中心下发的数据帧(包括控制命令和显示信息) CA 验证;向下将需要显示的汉字点阵信息写入由两块SRAM 采用“乒乓逻辑”组成的高速数据缓存,控制CPLD 对缓存中的数据准确读取。GPRS 模块选用BenQ M22 GPRS 无线模块,该模块可以实现自动网络连接和协议处理,无需后台计算机支持,它与ARM 之间采用RS-232 串口通信标准实现通信,波特率为57.6k。ARM 选用NXP 公司生产的LPC2378,LPC2378 是ARM7TDMI-S 处理器,可在高达72MHz 的工作频率下运行,芯片内部具有UART、硬件I2C、SPI 和定时器外围部件[2],它丰富的片内外资源、快速的响应性和较高的性价比都很适合用于高速串口通信和CA 认证。此外,基于安全考虑,与ARM 相连的还有散热装置,包括温度传感器和散热风扇, ARM通过温度传感器实时监控站亭终端的温度,一旦发现温度超过设定值,立即启动散热风扇,保证系统能长时间不间断工作。站亭终端控制模块还包括Flash、JTAG 调试端口等。
2.2 站亭终端显示模块
站亭终端显示模块由 CPLD、LED 扫描驱动电路、LED 显示点阵组成。LED 显示屏的扫描驱动电路部分是由CPLD 来实现的。 CPLD 读取高速缓存中的数据,其内部固化的数字逻辑产生屏幕显示控制信号,包括串行数据移位信号、数据锁存信号、行扫描信号等,完成对LED 显示屏的扫描驱动过程。CPLD 功能用硬件描述语言VHDL 编程实现,从而可以大大缩短开发周期,使设计
- Linux嵌入式系统开发平台选型探讨(11-09)
- 基于ARM体系的嵌入式系统BSP的程序设计方案(04-11)
- 在Ubuntu上建立Arm Linux 开发环境(04-23)
- 达芬奇数字媒体片上系统的架构和Linux启动过程(06-02)
- SQLite嵌入式数据库系统的研究与实现(02-20)
- 革新2410D开发板试用手记(04-21)