1
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
引 言
基于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 其中,m为0时,输出一次响应信息(查询),m为1“255时,每1”255 s输出一次响应信息(连续); C为校验和(Eqm按字节“异或”); 为回车(十六进制0d); 为换行(十六进制0a); 命令长度为8字节。 命令的响应信息为: @@Eq,mm,dd,yy,hh,mm,ss,dd,mm.mmmm,n,ddd,mm.mmmm,w, shhhhh.h,sss.s,hhh.h,m,t,dd.d,nn,rrrr,aa,CCC 日期:mm是月(01“12),dd是日(01”31),yy是年(99“19)。 世界时间(UTC):hh是时(00”23),mm是分(00“59),ss是秒(00”59)。 纬度:dd是度(00“90),mm.mmmm是分(00”59.9999),n是方向(N是北,S是南)。 经度:ddd是度(000“180),mm.mmmm是分(00”59.9999),w是方向(W是西,E是东)。 信息长度是96字节。 对应的管理子程序为: int eq={‘@’,‘@’,‘E’,‘q’,1,‘C’,0x0d,0x0a}; void gps_txd(int data[], int n) { volatile int m,sum=0; for(m=0;mwhile(“na_uart_0->np_uartstatus & 0x40); //等待发送准备好 if(m!=n-3) { sum^=data[m];//计算校验和 na_uart_0->np_uarttxdata=data[m];//发送数据 }else na_uart_0->np_uarttxdata=sum; //发送校验和 } } int gps,gps_buf[46];//定义全局变量 void gps_rxd(int context) {//接收中断服务程序 gps_buf[gps]=na_uart_0->np_uartrxdata; //接收数据 if(gps_buf[gps++]==‘q’) gps=”0“; //数据定位 if(gps>46) gps=”46“;//忽略无用数据 } GSM管理 子程序主要负责GSM系统的数据收发管理。 GSM系统的数据收发以短信形式进行,选择短信格式的AT命令为AT+CMGF,收发短信的AT命令分别为AT+CMGR和AT+CMGS,对应的管理子程序为: cmgf[20]={‘A’,‘T’,‘+’,‘C’,‘M’,‘G’,‘F’,‘=’,‘1’,0x0d};//短信格式void gsm_txd(int data[], int n) { volatile int m; for(m=0;mwhile(”na_uart_1->np_uartstatus & 0x40); //等待发送准备好na_uart_1->np_uarttxdata=data[m]; //发送数据 } } int gs,gsm_buf[18]={‘A’,‘T’}; void gsm_rxd(int context) { //接收中断服务程序 gsm_buf[gsm]=na_uart_1->np_uartrxdata; //接收数据 if(gsm_buf[gsm]==‘T’) gs; //数据定位 if(++gsm==18) gs; } 3 设计调试方法和设计结果 在Quartus II中使用SignalTapII嵌入式逻辑分析仪可以实时观测系统中节点的信号数据。被观察的信号可以多进制数值显示也可以用波形显示,但它需要占用芯片更多的资源,因此在对某个模块的测试结束后,可以在设置中把SignalTapII嵌入式逻辑分析仪取消,并重新编译生成以减少LE资源占用量。 实际试用结果表明:基于SoPC的汽车安全监控系统运行正常,定位准确,数据传输可靠,操作管理方便。如果再配备上GIS(地理信息系统),整个系统将如虎添翼。 |
|
|
|
只有小组成员才能发言,加入小组>>
1983 浏览 0 评论
5160 浏览 2 评论
8383 浏览 1 评论
3367 浏览 1 评论
7332 浏览 0 评论
2184浏览 3评论
1106浏览 1评论
《新能源车维修技术自学,链接汇总AI智能分类》超4000案例
5936浏览 1评论
1341浏览 0评论
图解比亚迪BYD7005BEV1,168串,604.8V,100Ah电池包-充-放-充-电池数据分析
1210浏览 0评论
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-21 15:47 , Processed in 1.046507 second(s), Total 76, Slave 60 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号