来自美国波士顿
更专业的论文润色机构
400-110-1310

咨询学术顾问:400-110-1310

服务时间:周一至周日,9:00-23:00

建议反馈/客户投诉:Editsprings@163.com

微信扫码二维码,添加学术顾问企业微信

您还可以点击在线咨询按钮,与人工客服直接对话,无需等待,立马接入。

在线咨询
欢迎关注“艾德思EditSprings”微信公众号

关注微信获取最新优惠和写作干货,
随时手机询价或咨询人工客服,更可实时掌握稿件
进度,加速稿件发表。

微信扫描二维码关注服务号

基于SoPC的汽车安全监控系统设计,EditSprings,艾德思

网络 | 2018/12/27 15:31:29  | 321 次浏览



引 言:基于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,,n,ddd,,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),是分(00`),n是方向(N是北,S是南). 经度:ddd是度(000`180),是分(00`),w是方向(W是西,E是东). 信息长度是96字节. 对应的管理子程序为: int eq[8]={"@","@","E","q",1,"C",0x0d,0x0a}; void gps_txd(int data[], int n) { volatile int m,sum=0; for(m=0;m while(`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;m while(`na_uart_1->np_uartstatus & 0x40); /等待发送准备好na_uart_1->np_uarttxdata=data[m]; /发送数据 } } int gsm=2,gsm_buf[18]={"A","T"}; void gsm_rxd(int context) { /接收中断服务程序 gsm_buf[gsm]=na_uart_1->np_uartrxdata; /接收数据 if(gsm_buf[gsm]=="T") gsm=1; /数据定位 if(++gsm==18) gsm=2; }

 

3 设计调试方式和设计结果 在Quartus II中使用SignalTapII嵌入式逻辑分析仪可以实时观测系统中节点的信号数据.被观察的信号可以多进制数值显示也可以用波形显示,但它需要占用芯片更多的资源,因此在对某个模块的测试结束后,可以在设置中把SignalTapII嵌入式逻辑分析仪取消,并重新编译生成以减少LE资源占用量.

 

更多科研论文服务,动动手指,请戳 论文润色投稿期刊推荐论文翻译润色论文指导及修改论文预审

语言不过关被拒?美国EditSprings--专业英语论文润色翻译修改服务专家帮您!

上一篇:润色论文是什么意思?为什么需要润色论文?

下一篇:活动报名SELF讲坛广州站粤见未来,EditSprings,艾德思

特别声明:本文转载仅仅是出于传播信息的需要,并不意味着代表本网站观点或证实其内容的真实性;如其他媒体、网站或个人从本网站转载使用,须保留本网站注明的“来源”,并自负版权等法律责任;作者如果不希望被转载或者联系转载稿费等事宜,请与我们接洽。

凡注明来源为“EditSprings”的论文,如需转载,请注明来源EditSprings并附上论文链接。

最热论文