引 言
基于sopc的汽车安全监控系统采用altera公司最新的sopc(可编程片上系统)解决方案——nios处理器软核为核心,配合gps和gsm系统,对汽车的停放和运行状态进行监控。系统监测、记录和储存汽车在行驶过程中的各种数据,一旦出现安全问题,立即采用gsm无线通信方式通知相关人员和单位,并随时发送通过gps获得的汽车位置等数据,为问题的解决提供及时、准确和可靠的信息,必要时通过gsm对汽车进行远程控制。
基于sopc的汽车安全监控系统可广泛应用于汽车的防盗、日常维护和交通事故的处理,为车辆故障提供有效的测试手段。
1 系统硬件组成
设计采用altera公司的sopc开发工具。系统的开发包括硬件和软件两大部分。使用sopc builder生成nios嵌入式处理器,nios嵌入式处理器开发工具允许用户配置一个或多个nios cpu,从标准库中添加外围设备,综合处理自定义系统,与quartus ii设计软件一起编译系统。软件开发的步骤是:利用sopc builder生成的软件文件,用文本编辑器编写汇编语言或c/c++源程序,用gnupro软件开发工具进行程序设计、连编和调试。gnupro将源程序连编(包括汇编/编译和连接)成可执行程序,通过下载电缆对可执行程序进行调试和运行。quartus ii设计软件提供全面有效的设计环境,将设计、综合、布局和验证以及第三方eda工具接口集成在一个无缝的环境中。利用集成在quartus ii 3.0中的sopcbuilder可以创建自己的nios cpu系统。nios是altera公司开发的16/32位嵌入式处理器软核。
* 校科研基金项目“基于sopc的汽车安全监控系统”资助。
altera公司推出了新一代多种系列fpga,本设计选用低成本的cyclone系列器件ep1c12,其具有12 060个逻辑单元,52个m4k ram块,239 616个ram位和2个锁相环,最大用户i/o引脚249。
系统硬件组成框图由nios系统和外部设备两部分组成,如图1所示。
nios系统包括cpu(nios)、存储器(memory)、定时器(timer)、总线和并/串行接口(key_pio、led_pio、lcd_pio、ccs_pio、uart_0和uart_1)等,并/串行接口分别实现与键盘、led和lcd显示器、汽车中控系统以及gps和gsm系统等外部设备的连接。nios系统设计和设计结果分别如图2和图3所示。
nios系统同键盘、led和lcd显示器、汽车中控系统以及gps系统等外部设备的连接比较简单,gsm系统的连接较为复杂,如图4所示。
整个系统的工作过程是:来自汽车中控系统和gps系统的信息可以显示在led和lcd显示器上,也可以通过gsm系统进行无线发送。用户可以通过键盘对系统进行控制,也可以通过gsm系统对汽车中控系统进行远程无线控制。
2 系统软件组成
系统软件主要由主程序、gps管理子程序和gsm管理子程序等部分组成。
主程序完成系统的初始化,以及键盘、led、lcd显示器和汽车中控系统的操作管理等。
gps管理子程序主要负责从gps系统接收时间和位置信息。
请求gps系统返回ascii时间位置信息的二进制命令为:
@@eqmc<cr><lf>
其中,m为0时,输出一次响应信息(查询),m为1~255时,每1~255 s输出一次响应信息(连续);