1 引 言
车载导航监控终端可广泛用于交警巡逻车、消防用车、公安用车、运钞车、长途客车及一些特殊车辆上, 监控中心通过无线通信网络与车载导航监控终端进行信息交流, 从而实现监控中心对车辆的集中、高效、可视化管理以及车辆之间的相互协作。
本设计系统分析了车载导航监控终端的各种功能需求, 借助 ltera StratixTM 系列FPGA EP1S10丰富的逻辑资源, 应用SOPC Builder开发工具实现了车载导航监控终端硬件结构的高度集成。同时,利用N ios嵌入式处理器强大的处理能力, 配合使用 C /OS- II实时操作系统, 实现了终端对多种传感信息的实时、高效处理。
2 功能描述
车载导航监控终端主要实现对各种传感信息的检测、处理、显示及数据的无线发送和接收。具体包括:
无线数据通信模块——实现监控中心与车载导航监控终端之间指令的交换和数据的传输; 文本信息合成模块 将文字信息转换为语音信息, 方便终端获取监控中心的各种命令和指示;GPS定位模块—— 获取终端所在处的经度和纬度信息, 监控中心可以在电子地图上准确了解终端的地理位置;视频图像采集模块——获取车内和车外的具体情况, 可以通过无线网络把图像信息传输到监控中心;人机交互模块——在本地显示电子地图、各种状态信息、协同作业的对方状态信息以及接收按键输入信息;信息存储模块——用于保存状态和设置信息;状态检测和控制模块——实现对车载其它设备状态的检测以及根据控制中心的命令对相关设备进行控制;电源管理模块——实现电源的充电以及备用电源的切换。
3 Nios软核及外围模块接口设计
Altera公司推出的高性能、大容量StratixTM FPGA以及Nios嵌入式软核处理器, 实现了处理器和外围接口的灵活配置, 大大推进了SOPC (可编程片上系统) 设计的进程。同时A ltera 公司提供的SOPCBuilder可视化开发工具, 能够根据客户需求, 实现对硬件系统的高效配置。基于N ios嵌入式软核处理器, 应用SOPC 技术设计车载导航监控终端, 将能够大大简化硬件设计的复杂度, 实现终端系统的高度集成, 满足对各种接口的适配要求。基于EP1S10的多功能车载终端系统框图如图1所示。
图1 多功能车载终端系统框图
在本终端系统设计中, 采用了模块化的设计理念, 通过对车载终端功能的分析, 确定了该系统所需的关键功能模块, 并对功能模块与EP1S10之间的接口进行了规范。系统框图中, CDMA 无线通信模块、GPS定位模块通过串口和EP1S10相连接;WTS701文本合成模块通过SPI- master 总线和EP1S10相连接; FRAM信息存储模块通过I2C 总线和EP1S10相连接, 这些接口在SOPC Bu ilder的通信工具目录下以免费IP核的形式提供。另外, 人机接口模块涉及显示和键盘, 需要通过I /O 定义时序控制总线来处理; 视频图像采集模块需要更复杂的逻辑控制接口来实现, 下面对该模块设计进行介绍。
视频图像采集模块由SAA7111 和ZR36060组成, StratixTMFPGA通过相应的接口来控制SAA7111的工作状态, 并获取经过ZR36060压缩后的数字视频数据。SAA7111是功能强大的可编程视频输入处理芯片, 它可将摄像机输出的PAL、NTSC 等不同制式的模拟复合全电视信号解码成亮度、色度信号。
输出的数字视频信号格式有411YUV ( 16)、422YUV( 12位)、422YUV或CCIR- 656( 8位)、565RGB( 16位)、888RGB( 24位)等可供选择。此外还提供了象素、时钟信号、行场等多种同步信号。其所有的可编程功能是通过I2C 总线对内部的32个寄存器相应的控制位置相应的数值来完成的, 而StratixTM FPGA的I2C 接口可以很方便地对其进行编程和控制。
ZR36060主要完成对数字视频图像的压缩, 输出标准JPEG格式的文件。压缩数据可以主方式从压缩数据端口或以从方式从控制端口输出, 两种方式都有握手功能以便进行数据流控制, 它可以和SAA7113实现无缝结合。StratixTM FPGA 与视频图像采集模块之间的接口如图2所示。
图2 StratixTM FPGA 与视频图像采集模块之间的接口。
视频图像压缩模块ZR36060工作于16b it代码宽度的从模式, Stra tixTM FPGA 通过使用不同的片选线和启动转换线, 可以控制四路视频图像压缩模块的工作。两路I2C总线和SAA7113的IICSA管角配合, 可以设置四路图像采集模块的工作状态。通过S trat ixTM FPGA 要实现对图像采集和压缩模块的正常操作, 就是要根据ZR36060的接口时序图, 应用SOPC Bu ilder设计合理的接口控制逻辑, ZR36060的接口时序如图3所示。
在SOPC 开发工具中, 调用并行输入输出模块( PIO ), 就可以构造操作该图像压缩模块的逻辑接口, N ios嵌入式软核利用该逻辑接口, 就可以将压缩后的图像数据保存在SDRAM 中, 同时可以实现对SAA7113和ZR36060模块工作状态的正确设置。 ZR36060被动模式的接口时序
图3 ZR36060被动模式的接口时序
4 软件系统设计
完成系统设计后, 可以使用SOPC Bu ilder的System Generation页或使用命令行生成系统。SOPCBuilder软件自动生成所有必要逻辑, 用以将处理器、外围设备、内存、总线、仲裁器、IP内核及到达系统外逻辑和存储器的接口集成在一起, 并建立将组件捆绑在一起的HDL源代码。
SOPC Builder 还可以建立软件开发工具包( SDK )软件组件, 该组件包括INC、LIB、SRC 三个目录, 这些目录包含了标题文件、一般外围设备驱动程序、自定义软件库和实时操作系统( RTOS内核) , 以便在生成系统时提供完整的设计环境。
有了SDK软件开发工具包, 就可以根据需要调用外围设备的驱动程序, 开发系统软件。系统软件的编辑可以采用目前的多种编辑工具, 编辑完成后,启动N ios SDK She l,l 在[ SOPC Bu ilder]$ 命令字符后输入nios- bu ild命令和相应的源文件名, 就可以进行编译, 如有错误, 可以重新修改后再编译。对于多个源文件, 可以使用makefile命令编译, 这时候需要建立一个专门的包含整个项目源文件( . c、. h、.
s)的目录, 并要修改makefile文件的有关选项。
车载导航监控终端软件包含多个功能模块, 这些模块以任务的形式与嵌入式实时操作系统相联系, 具体功能模块如下图4所示。
图4 车载导航监控终端软件功能模块
各模块在使用到底层驱动程序时, 先要设置一些变量以及安装相应的中断函数。如使用串口1来控制CDMA 模块时, 初始化过程包括:
串口1的中断函数实现方法:
5 结束语
基于StratixTM FPGA 丰富的逻辑资源, 采用Nios嵌入式软核, 应用SOPC设计技术开发车载导航监控终端, 大大提高了设计的灵活性, 优化了系统结构。