微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > MCU和DSP > 基于ARM 微处理器的机载语音告警系统设计

基于ARM 微处理器的机载语音告警系统设计

时间:01-12 来源: 点击:

  图4 中MAX811 为电源.件,当监控到系统电源低于阈值3 V 时,产生复位信号以确保系统工作正常。

  3 软件设计

  3.1 U-Boot 的移植因1.1.4 版本U-Boot(Universal Boot Loader)并不支持本系统设计所使用的微处理器S3C2440,但对S3C2410 有完善的支持[5]。本文U-Boot 移植工作在微处理器S3C2410 的基础上展开,U-Boot 移植操作实际上就是根据系统硬件资源对相关的文件进行修改。本系统相关硬件由S3C2440 嵌入式微处理器、64 MB 的NAND Flash、64 MB 的SDRAM 及串口组成,这里关键介绍存储系统的初始化部分:

  1)Flash 驱动程序采用board/Cmi/Flash.c, 由于Cmi 中的flash.c 写入时要交换字节,因而删除了其write_short()和write_buff()函数,利用board/ep7312/Flash.c 中write_word()和write_buff()函数,并且把flash.c 中的FLASH_BASE_PRELIM 改为CFG_FLASH_BASE。把FLASH_BLOCK_SIZE 改为0x4000,(NAND Flash K9F1208 块的大小是16 KB。

  2)Board/ smdk2410/smdk2410.c 中函数dram_init( ) 定义了SDRAM 的真实地址和实际大小。由于本设计中,SDRAM的大小为64 MB, 所以修改Include/configs/Smdk2410.h 中的PHYS_SDRAM_1_SIZE,改为0x04000000。

  经过以上修改后生成目标代码, 通过JTAG 将二进制文件烧入NAND Flash。烧写成功后通过超级终端进行测试, 测试结果表明U-Boot 移植成功并且可以在系统板上稳定运行。

  3.2 系统软件流程

  系统的软件流程如图5 所示, 系统上电或复位后,从NAND Flash 启动,S3C2440 把NAND Flash 的前4 KB 加载到SDRAM 中, 并把SDRAM 的首地址设为0x00000000,CPU 从0x00000000 开始执行。NAND Flash 的前4 KB 程序中包含从NAND Flash 把BootLoader(引导加载程序)的其余部分装入SDRAM 的程序, 进行系统初始化; 系统接收到RS422 接口传来的告警命令后首先进行告警命令真伪及优先权判定,当判定当前告警命令为真并且为优先级最高后,系统从SDRAM 读取告警语音数据; 当检测到此时系统无新告警命令或高优先级命令时, 将语音数据输出给音频转换器进行解码、数模转换,功率放大后把告警语音送到飞行员耳机完成故告警语音播放。


3.3 告警命令优先级调度单元

  语音告警系统功能是以分布在飞机各处的主要传感器信号为触发,将飞机当前的工作状态、危险状况或通过数据链获取的作战任务命令, 根据信息的重要紧急程度的不同,在语音告警系统里将各系统的告警命令分成了不同的告警优先级。一般将告警命令分为3 级:危险级、警告级、注意级[6],这样按优先权将告警命令分成先后顺序。本系统采用的告警命令优先级调度流程如图6 所示。

  4 结论

  实践证明, 采用ARM 微处理器和数字音频转换器设计的机载语音告警系统工作稳定、可靠,告警语音的控制和播放更加灵活、快速,适应复杂多变战场环境,符合体积小、重量轻、功耗低的机载需求。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top