新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于ARM7和CPLD的数字公交站亭系统设计

基于ARM7和CPLD的数字公交站亭系统设计

作者: 时间:2010-11-08 来源:网络 收藏

  2 系统硬件设计

  2.1 站亭终端控制模块

  站亭终端控制模块的核心芯片 向上通过GPRS 模块连接控制中心,并完成对控制中心下发的数据帧(包括控制命令和显示信息) CA 验证;向下将需要显示的汉字点阵信息写入由两块SRAM 采用“乒乓逻辑”组成的高速数据缓存,控制 对缓存中的数据准确读取。GPRS 模块选用BenQ M22 GPRS 无线模块,该模块可以实现自动网络连接和协议处理,无需后台计算机支持,它与 之间采用RS-232 串口通信标准实现通信,波特率为57.6k。 选用NXP 公司生产的LPC2378,LPC2378 是ARM7TDMI-S 处理器,可在高达72MHz 的工作频率下运行,芯片内部具有UART、硬件I2C、SPI 和定时器外围部件[2],它丰富的片内外资源、快速的响应性和较高的性价比都很适合用于高速串口通信和CA 认证。此外,基于安全考虑,与ARM 相连的还有散热装置,包括温度传感器和散热风扇, ARM通过温度传感器实时监控站亭终端的温度,一旦发现温度超过设定值,立即启动散热风扇,保证系统能长时间不间断工作。站亭终端控制模块还包括Flash、JTAG 调试端口等。

  2.2 站亭终端显示模块

  站亭终端显示模块由 、LED 扫描驱动电路、LED 显示点阵组成。LED 显示屏的扫描驱动电路部分是由 来实现的。 CPLD 读取高速缓存中的数据,其内部固化的数字逻辑产生屏幕显示控制信号,包括串行数据移位信号、数据锁存信号、行扫描信号等,完成对LED 显示屏的扫描驱动过程。CPLD 功能用硬件描述语言VHDL 编程实现,从而可以大大缩短开发周期,使设计灵活、修改方便,同时CPLD 高集成度、高速高可靠性、开发周期短的特点,大大改善了电路性能。在此CPLD 选用ALTERA 公司MAXⅡ系列EPM1270 芯片,它有116 个I/O 口,1270 个逻辑单元,具有高性能,低功耗等性能特点,满足要求。

  3 系统软件设计

  3.1 CA 认证

  控制中心和站亭终端通过 GPRS 建立无线通信,为了保证数据在通信过程中的完整性,本设计采用基于hmac-sha1 算法的CA 消息认证确保信息不受非法攻击和篡改。hmac-sha1是一种基于密钥的报文完整性的验证方法,其安全性是建立在Hash 算法基础上的。它要求通信双方共享密钥、约定算法、对报文进行Hash 运算,形成固定长度的认证码(MAC)。通信双方通过认证码的校验来确定报文的合法性。这个算法广泛用作加密、数字签名、报文验证等,它能有效的抵抗穷举攻击,防止信息帧数据被任意地篡改和颠覆,最大限度地保证系统运行的安全性。

  基于 hmac-sha1 算法的CA 认证步骤如下:

  设 K、N 分别为控制中心和站亭终端约定的密钥和同步序列号,B 表示数据块的大小(位为单位),K0 为B 长度的密钥K。

  发送方

  Step1:利用密钥K,求出相应的B 长度的K0。

  Step2:利用hmac-sha1 算法,生成消息摘要MAC 码。

  Step3:N 加1,并同时更新本地的N。

  Step4:采用DES 数字签名技术,对消息和消息摘要MAC 码等进行加密,并发送给站亭终端。

  接收方

  Step5:先对接收到的数据运用对应的解密算法进行解密,再重复Step1 和Step2 的计算,生成一个MAC 码,如果和收到的消息摘要MAC 码相符,则表明数据合法。

  Step6:如果收到的N 小于本地存储的N,则属于重传,可以进行同步或丢弃,否则表示数据是新鲜的、合法的。

  3.2 ARM 的软件设计

  ARM是站亭终端的核心芯片,为了保证整个站亭终端系统运行的速度和稳定性,它的软件设计是基于嵌入式实时操作系统μC/OS-Ⅱ[5]进行的,这样可充分利用操作系统高效的任务调度算法,并且使得程序的开发和扩展变得更加方便。其任务结构如图2。

ARM 软件总体结构图


图 2 ARM 软件总体结构图



关键词: ARM DSP CPLD

评论


相关推荐

技术专区

关闭