无线智能车载监控系统设计与实现_第1页
无线智能车载监控系统设计与实现_第2页
无线智能车载监控系统设计与实现_第3页
无线智能车载监控系统设计与实现_第4页
无线智能车载监控系统设计与实现_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

国防科学技术大学国防科学技术大学研究生院工程硕十学位 现代车辆监控系统是集全球卫星定位技术(GPS)、地理信息技术(GIS)和现代通信技术于一体的综合高科技系统。随着社会的发展进步和人们生活水平的方面提出了更高的要求。本文充分利用GPRS技术无线通信的优点,结合GPS/GIS整个系统是基于$3C2440硬件平台上,在自定制剪裁的Linux系统上引入多线程编程技术,设计并实现了GPSGPRS本课题关键研究成果已成功应用于远程客车监控系统,目前己在湖南省长市汽车南站成功运营主题词:车载监控系统,GPS,GPRS,JPEG压缩第i国防科学技术大学研究生院T程硕士学位TheModemvehicleistheIntegratedhightechnologyiSthecommunicationofGPS.GISandofsocietyandgreatprogressinpeople’Sbigvehiclefunctionis国防科学技术大学研究生院T程硕士学位TheModemvehicleistheIntegratedhightechnologyiSthecommunicationofGPS.GISandofsocietyandgreatprogressinpeople’Sbigvehiclefunctionisnotonlyrequirementtotheabilityofreal.timingandsecurityareneededbadlyCombiningwithGPS/GIStechnoly,thistakesfulladvantageofthemerittheintroducesamethodofsttisticsbasedforwardofintegrated andsoftwareimplementionofthehardwareTlleonthethesisintroducessystemMulti—theGPSandthenumberofstatistics.Andthelasttwoacquisition.imageisthekeYtothereal-timingandThekeyproductionoftIlisusedinhaslong-takenbusinessatsouthstationmonitoringChangShainHunanWords:Vehicle第ii国防科学技术大学国防科学技术大学研究生院T程硕士学位表目录表31$GP墨UⅥC帧结构表1732议常用指令⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯21表3.3协议格式表⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯2表5.1异常向量地址表第lII图目录图2.1系统硬件结构图⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯6图2.2系统软件总体框架⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯12图3GPS数据的接收、提取及处理程序流程图图目录图2.1系统硬件结构图⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯6图2.2系统软件总体框架⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯12图3GPS数据的接收、提取及处理程序流程图⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..18图无线数据传输工作流程图⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..25图嵌入式Linux系统构示意图⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯27(一)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯-)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..内核配内核配置内核置置图.图4.图.图 程序流程图30图4JPEG压缩编码算法的系统结构 JPEG压缩算法实验效果图人数统计流程图图第1V独创性声本人声明所呈交的学位论文是我本人在导师指独创性声本人声明所呈交的学位论文是我本人在导师指导下进行的研究工作及取得究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他经发表和撰写过的研究成果,也不包含为获得国防科学技术大学或其它教育机构位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在学位论文题圣垒日期防科学技术大学可以保留并向国家有关部门或机构送交论文的复印件和电子文档,许论文被查阅和借阅;可以将学位论文的全部或部分内容编入有关数据库进行检可以采用影印、缩印或扫描等复制手段保存、汇编学位论(保密学位论文在解密后适用本授权书圣垒耋垒!日期:力州矿年fz月学位论文作者签瑚争年,2月,P日期1.1课题研究背1.1.1交通是一个城市的命脉。随着城市经济的发展、社会的进步、人民生活水1.1课题研究背1.1.1交通是一个城市的命脉。随着城市经济的发展、社会的进步、人民生活水的提高,汽车愈来愈成为人们不可缺少的交通工具。近年来我国城市车辆数量长迅速,然而在我国城市道路的增长率则仅为3%左右,交通拥挤状况依然严重城市道路的低效率利用与管理技术的落后并存的现象又加剧了因交通设施造成的困难。加上近年来汽车盗、抢及恐怖活动等案件显著增加,给驾驶员人安全和财产造成严重威胁【l】。为了适应城市交通的不断发展和社会治安的改善展智能交通系统的意义非常重大车辆的远程监控是一个系统而复杂的课题。现代车辆监控系统是一种将全卫星定位技术(GPS)、地理信息技术(GIS)和现代通信技术相结合的高科技系统IzJ进行控制和调度,实现对车辆的监控自20世纪60年代以来,许多国家开始对车辆导航及监控系统进行研究时的研究和应用开始主要用于军事目的,随着城市化和汽车的普及,以及计算机、去十年内有了很大的改进,使得安装了GPS定位系统的汽车可以及时得到车辆的位置、运行速度、运行方向等。嵌入式车载监控系统终端的设计与开发进入20关的研究并投入大量资金,展开了一系列研究。在美国,20世纪60年代就有出了新交通系统的构想。60年代末,美国公路局(现称联邦公路局)提出了一Road电子路径引导系统System.ERGS)。到1988年,美国成了称为Mobility2000的组织,着手制定智能交通系统研究开发计划,并在1991Vehicle开始了智能车辆道路系统HighwaySystem-IVHS)的研究,1994年改称ITS。1996年美国亚特兰市交通局运用己有的智能交通系统的技术果开发了奥林匹克交通控制管理系统,为第26届奥运会提供了有效服务。在欧洲智能交通系统始于20世纪70年代后期的路径诱导工程。到了80年代,欧洲推Information了车辆信息和导航系统Navigation.CrN)以及道路交通信息估体系(EvaluationforTransportInformatics.EPRTI)第1国防科学技术国防科学技术大学研究生院T程硕士学位我国车辆监控系统的应用是从20世纪90年代初期开始的。在1994年年期间,就有上百家公司研究GPS车辆监控系统,但由于技术途径尚不完善,大多数产品并没有被推广使用。1996"-,1997年期间,在对原有的不良系统进行改造的同时,新的系统相继出现,并有多个具有一定水平的集群系统出现。199000年,技术又有了较大的提高与发展,通信网络开始采用GSM公众网的短信息服务,但还不成熟。从0推出。并在北京、上海、广州等城市开始GPS车辆自导航产品的试验和推广【3J。我国在交通运输和管理中应用电子信息技术的尝试早在20世纪70已经开始,当时智能交通系统的概念还没有形成,只是把这些实践称为交通工程。从20世纪60年代开始,我国也逐步开展了智能交通系统的研究和开发,探讨如工作的研究和开发,在北京、上海、深圳等城市已经有一批ITS应用项目相继上约为55万台,市场价值约为27.6来看,市场规模将达到千亿【4J1.1.2传统车载监控系统的局限目前,市场上已有一些车载监控的产品,在这些车载终端市场产品中,有基于M技术车载监控产品,也有基于GRS技术车载监控产品,但由于GSM技术本身的局限性,使用GPRS技术进行通讯的无线终端已渐渐代替使用GSM进行通讯的无线终端,并占据了很大的市场份额【5】。M的这些局限性主要表现在:第2国防科学技术大学研究生院国防科学技术大学研究生院1二程硕士学位论虽然通过和无线运营商的谈判可以在一定程度上降低单条费用,但在通讯率较高的应用中运营费用仍居高(6)因而,随着互联网的普及,移动通信技术飞速发展,人们对无线数据通信的要求越来越高,原有的基于GM技术的通信方式已不适应当前应用对数据传输的要求。GPRS的出现克服了GSM网络在数据传输方面的缺点,可广泛应用于各种需要无线数据通信的应用场合,如数据采集、远程工业控制、无线接入Itemet及结合GPS、S技术的移动定位服务等。以上短消息终端系统所存在的问题在终端应用系统中将不复存在,在终端成本与短消息终端基本一样的情况下,利用无线互联网机制进行数据传输的GPRS网络在实时性、流量、资费方面都有很大6GRS太差,而且很难获得车辆全景图,图片的清晰度也不够。随着社会的发展进步,近年来汽车盗、抢及恐怖活动等案件的显著增加,新本文充分利用GPRS技术无线通信的优点,结合GPS全球定位技术和GIS理信息系统技术,设计了一个集车辆定位导航功能和车辆安全保证功能于一体的远程无线综合车载监控系统,使监控中心可以更有效的管理车辆。系统除了有定位及导航功能外,当有盗、抢或恐怖活动等突发事件发生时,驾驶员可通过本第3国防科学技术大学研究生国防科学技术大学研究生院工程硕十学位本系统最终所实现的是一款具有人数统计功能的智能车载监控终端,在课中主要进行的工作是基于嵌入式Linux操作系统进行车载监控终端软件计与实现,主要包括LinuxGPS定位数据接收与GPRS图像采集与压缩功能的设计与实现,包括基于V4L压缩技术的实现应第一章,绪论,介绍了课题研究的背景及研究意义;并简述了本课题的主工作第二章,总体方案及平台,先介绍了系统的需求及总体方案,工作第三章,介绍了SGPRS无线接入技术,包括GPRS网络结构特点、通信数据传输协议、协议栈的设计与实现。第四章,图像采集与压缩功能的设计与实现,包括Linux内核剪裁与编载,基于Vide04Linux的图像采集,图像压缩技术的设计与实现等AR第六章,总结与展望,总结了课题的主要工作和取得的成果,并对课题的第4系统总体方案及硬件系统总体方案及硬件实2.1系统总体方案设2.1.1前实时监控:能实时地在监控中心GIS够实时监控车内状态解决因超载而引起的交通问题片针对当前社会发展对车载监控系统的要求,本文设计了一个基于A和嵌入式Linux系统软件的平台,集GPRS/GPS它的主要功能有:通过解析GPSS上进行车辆运动轨迹的显示;同时,监控中心也可以向移动终端发出控制命令。时,终端向监控中心发送报警信息,并对车内的状况进行拍照,上传至监控中心。中心处理2.1.2系统总体第5数挠图2.1系统硬件结数挠图2.1系统硬件结构系统初始化时$3C2440A数据,再进行图像压缩、存储和图像传输等GPS模块和GPRS模块通过串口与$3C2440进行通信:ARM通过串口1接收GPS定位数据,然后经串口2通过GPRS无线网络发送GPS和其他状态数据到监车内状况拍照等指令,并执行相应的功能。红外接收器端的输出信号通过电平转换后与ARM的两个外部中断源相连:车门打开时,红外对射器开始工作;当有人经过车门时,先后遮挡两对红外对序不同而判断是此次行为为上车还是下车;当车门关闭时,红外对射器停止工作,控中心进行处理2.2系统硬件平台设根据上节所述需求所设计的硬件结构,本系统终端的硬件平台主要是由控制平台、USB摄像头、GPS模块和GPRS无线模块这四部分构成ARM控制在车载监控终端系统中,ARM作为中央处理单元,它的选择和设计对系整体性能有着至关重要的影响。为此,本系统选用了Samsung公司的AR_M9第6的$3C2440A作为中央处理器,$3C2440X是韩国三星公司的一款基于T内核的16/32位RISC嵌入式微处理器,主要面向手持设备以及高性价比、低功的$3C2440A作为中央处理器,$3C2440X是韩国三星公司的一款基于T内核的16/32位RISC嵌入式微处理器,主要面向手持设备以及高性价比、低功耗的应用,运行的频率可以达到50Hz。AM2T核由A9DI、存储管理单元(MⅦ7)和高速缓存三部分组成。其中MMU可以管理虚拟内存,高速缓存由独立的16KB地址和16KB数据高速Cache组成。ARM920T有两个协处理器:4和5。CPl4用于调试控制,5用于存储系统控制、以及测试控24>1个LCD控制器(支持STN和TFT带有触摸屏的液晶显示>4个具有PWM功能的计时器和一个内部时钟>2个USB主机接口,1个USB设备接口>2个SPI>SD接口和MMC卡接口>117位通用I/O口和24位外部中断源S3C2440X集成了一个具有日历功能的RTC和具有PLL(MPLL和的芯片时钟发生器。MPLL产生主时钟,能够使处理器工作频率最高达到533MHz用于ROM,SRAM或SDRAM,这两个组可编程且大小相同。Bank7的开始地是Bank6的结束地址,灵活可变,所有内存存储块的都可编程。$3C2440X采NGCS[7:0]8个通用片选信号选择这些组。$3C2440X支持从NANDFLASH具有容量大、比NORFlash价格低等SDRAM,采用了NANDFlash在本课题硬件设计中,ARM外接了SD舢组合,可以获得非常高的性价比。此外,系统引出了3个通道的其中两通道UART分别与GPS接收模块、GPRS无线模块连接,一通道UART于系统调试第7国防科学技术大学研究生院工程硕七学位2.2.2视频采集模国防科学技术大学研究生院工程硕七学位2.2.2视频采集模OmniVision公司的OV5lll8J是一款高性能摄像机到USB接口(ACUB)单片控制IC,用于由通用串行总线传输的视频应用场合。l1ACUB简化了单片S图像传感器(包括miiin公司的O700系列)和SB的接口。依靠增加的256KDRAM和一个USB收发器,使开发者可以很容易地完成基于USB的视频1ACUB片内高性能专用压缩引擎可以达到7:l的压缩比,保证了像传感器到PC的快速图像传输。对于CIF图像格式,OV51支持高达30帧/秒的传输速度,减少了低带宽应用中通常会出现的图像跳动现快速的准同步FIFO保证了压缩后视频图像从压缩引擎到USB的高速lACUB提供了选择CMoS单片摄像输入器件的灵活性。有两个端口持16位ⅥJV4:2:2/RGB原始数据。第三个端口支持8位YUv4:0:0/RGB始数据。控制线有VSYNC和HREF,同时提供了CMOS摄像芯片用的时钟作为高度集成的接口器件,OV511ACUB既降低了系统总成本,又提高了产品的可靠性。它还具有可以控制256K视频存储器的高性能DRAM接口、完整的USB设备控制器和系统控制器功能。片内寄存器通过12C输入/输出接口1ACUB芯片作为图像传感器的补充,有足够的灵活性,再结合系列的使用,适用于包括智能保安监控系统、视频会议、视频电子邮件、计算GPS在本系统中,(ZIPS接收模块采用M12接收模块,它与号的跟踪、锁定、测量,产生计算位置的数据信息(包括纬度、经度、第8度、日期、时间、航向、卫星状况等)[91度、日期、时间、航向、卫星状况等)[91本系统的GRSMtorolaM/GPRS/EDGE模块,支持四频850/900/1800/1900MHZ,它以先进的技术稳定地实现了2M的高速无缝连接【l。4内置UP/PG24与$3C2440A之间通过串口2进行通信,通过在ARM嵌入式系统中建立的UDP/IP以及PPP等网络协议栈实现与监控中心的信息交互2.3嵌入式操作系2.3.1嵌入式操作系统111和维护中解脱出来外,还需要具有以下特点由于嵌入式设备硬件平台的多样性,CPU>可装载与卸载,即可根据应用需要进行装卸,对嵌入式操作系统的各据项目需要进行优化或裁>操作系统的可靠性和稳定性也有更高的要求>目前存在的嵌入式操作系统很多,著名的有CE,PalmLinux等。其中,Linux作为一种可裁减的软件平台系统,是嵌入式产品开发的佳选择,再者,Linux更小、更稳定,而且是免费的,在价格上极具竞争力第9Linux是功能和稳定性Linux是功能和稳定性方面都毫不逊色于其他商业操作系统的一个免费的作系统,选择嵌入式Linux操作系统作为本监控系统的软件平台具有许多的优>使用成本低:它的许多组成部分的源代码是开放的,不需要付费使用,任何人都能通过Intemet或其他媒体得到它,并可以修改和重新发布,这点优势是其他商用操作系统无法比拟的;>强大的网络功能:支持大多数的网络协议,系统的网络吞吐性能非常>支持多种高级软件开发语言,如C,C++,Java等,并支持动>强大的开发支持:Linux最大的特色就是它的自由软件及开放源码精神,当开发遇到问题时,Intemet上有大量的开发资料可供查询,此外,还可通过大量的Linux开发论坛和社群一起探讨解决所遇到的问题。LinxlC够存放到容量较小的FLASH中2.3.3Linux多线程编程技与进程相比,多线程是一种非常“节俭”的多任务操作方式。在Linux它的代码段、堆栈段和数据段,这是一种“昂贵”的多任务工作方式。而运行于一个程的开销大约是一个线程开销的0能会有较大的区别。另外,在多线程中,线程间的通信机制相当方便。对不同进程来说第lO~程序中声明为static~程序中声明为static除了以上所说的优点外,多线程程序作为一种多任务、并发的工作然有以下的优点【14】作,而使用多线程技术,将耗时长的操作(timeconsuming)置于一个新的线程使多CPU系统更加有效。操作系统会保证当线程数不大于CPU不同的线程运行于不同的CPU上(3)个独立或半独立的运行部分,这样的程序会利于理解和2.3.4线程的同步与通信号分为可靠信号和不可靠信号。在Linux系统中,信号的可靠性是是否会丢失,或者说该信号是否支持排队,如SIGIO信号就是个不可靠SGINTsgpeding此信号保持为未决状态,直到该线程对信号解除阻塞或将对此信号的忽略killLinux多线程扩展函数中有三个函数用于处理异步信号:函数第11数sigwait用来阻塞线程,等待set中指定的信号之一到达,并将到达的*sig个未决信号,则对于同一个未决的实时信号,内核将按照发送的顺序来递送信号。如果存在多个未决的实时信号,则值(或者说编号)越小的越先被递送。如果既存在不可靠信号,又存在可靠信号(实时信号),虽然P数sigwait用来阻塞线程,等待set中指定的信号之一到达,并将到达的*sig个未决信号,则对于同一个未决的实时信号,内核将按照发送的顺序来递送信号。如果存在多个未决的实时信号,则值(或者说编号)越小的越先被递送。如果既存在不可靠信号,又存在可靠信号(实时信号),虽然POSIX对这一情况没有明确规定,但Linux系统和大多数遵循POSIX标准的操作系统一样,将有限递送不可靠信号。因此,本系统通过异步信号来实现各模块间的线程通信,保证了各事件实2.4系统主要模根据系统需求,为了利于各模块更好地开发以及功能更为清晰,本文的整个软件设计主要分为5个部分:GPS定位模块、图像压缩模块、车载人数统计模块、GPRS无线传输模块以及$3C2440控制平台。其总体框架图如下: I“~~”“一集觖E引僦Linux接口计模块l图像采 ————————】$3C2440黼lI下传控制命令图像采集制}s3c2440;模g㈣块IE常工GP作GPs定位数据GPS定位模图2.2系统软件总体框架各模块完成的主要功能如下1.GPS定位模大、滤波等一系列处理过程,实现对GPS卫星信号的跟踪、锁定、测量,运算第12定位数据(经度、纬度、时间、速度、方向)和状态数据等数据,经过计算然后打包处理,然后通过GPRS无线模块发送到远程监控中心,监控中心客户端即可GPRS定位数据(经度、纬度、时间、速度、方向)和状态数据等数据,经过计算然后打包处理,然后通过GPRS无线模块发送到远程监控中心,监控中心客户端即可GPRS无线通讯模S无线传输模块主要负责与监控中心建立P无线链路链接,定时上传GPS定位信息等数据,同时侦听服务器下行控制命令。终端若侦听到服务器下行命令包,就根据解析到的命令执行相应的回应程序。图像采集模Linux)和摄像头设备驱动程序来完成图像的采操作系统调度能图像压缩模对采集到的图像数据进行JPEG在本系统中,该模块设计了一种车载人数统计方法:基于中断技术和射装置的人数统计法红外中断统计法是将红外接收器端的输出信号通过电平转换后与ARM个外部中断源相连,然后在车门口并排安装两对红外对射器,在门一侧安装红外线发射器,门另一侧安装红外线接收器;当有人经过车门时,先后遮挡两对红外对射器,引起引脚电平变化,从而分别触发两个ARM中断,然后就可根据中断触发顺序不同而判断是此次行为为上车还是下车。当车门打开时,红外对射器开始工作,当车门关闭时,也关闭红外对射器。6.S3C2440控制平的模块所需的各种硬件接口支持,上面运行的嵌入式Linux操作系统采用多线程术控制和协调着各个模块的功能实现的第13国防科学技术大学研究生国防科学技术大学研究生院工程硕七学位第三章GPS定位系统与GPRS无线GPS定位所谓GPS又称全球定位系统(GlobalPositioningSystem)[”】,是近年来开发的度、定时、测速精确等特点,必然会在诸多领域中得到越来越广泛的应用。目前,GPS技术作为先进的测量手段和新的生产力,已经融入了国民经济建设、国防建设和社会发展的各个应用领域。GPS技术在中国道路工程和交通管理中的应用还刚刚起步,随着中国经济的发展,高等级公路的快速修建秆GPS技术的应用研究的逐步深入,其在道路工程中的应用也会更加广泛和深入,并发挥更大的作用。部分是指由覆盖全球24颗卫星组成的卫星系统。这个系统可以保证在任意时刻,地球上任意一点都可以至少同时观测到4颗卫星,以保证卫星可以采集到该观测点的经纬度和高度,以便实现导航、定位、授时等功能。地面支撑系统包括1个35GPPS陆地应海洋应航空航天应GPS系统的定位原第14p+c(4一露尸“嘲一电离层时p+c(4一露尸“嘲一电离层时延而产生的距离偏差“trop一对流层时延而产生的距离偏因此,测出每颗可视GPSGPS一般情况下,GPS接收机接收到一颗卫星的信号,便能确定出时间;若接收到了三颗卫星的信号,便能确定出准确的二维信息(经度和纬度);而接收到四颗GPS假设t时刻在地面待测点上安置GPS接收机,可以测定GPS信号到达接机的时间At,再加上接收机所接收到的卫星星历等其它数据可以确定以下四程式[(_一x)2+(乃一y)2+(ZI—z)2]j+c(K一圪[(吃一x)2+(儿一J,)2+(乞一z)2]i+c(%[(而一x)2+(乃一y)2+(zj—z)2]i+c(圪一圪[(毛一z)2+(儿一y)2+(乙一z)2]i+c(_一上述四个方程式中待测点坐标X,Y,z和7ro为未知参数的距第15C为GPS信号的传播速度(即光四个方程式C为GPS信号的传播速度(即光四个方程式中各个参数意义如下:X,Y,z为待测点坐标的空间直角坐·7,o为接收机的时钟差由以上四个方程即可解算出待测点的坐标x,Y,z和接收机的时钟差’岛GPS接收机的软件接口协议采用美国国家海洋电子协会ASCI码协议,该协议为NMEAAssociation)[161制定的2.0版(此协议是为了在不同GPS导航设备中建立统一的RTCM标准)。所有的NMEA语句格式都是以ASCII码“$"开始,以“<CI

<LF束,语句中的数据字段以逗号分隔;每条语句末端都有校验符(111),该校验符是“$"后的所有字节的8个比特“按位异或"生成的,用户可以通过校验符验证得到的结果。在GPS数据接收过程中,最有用的定位语句是“GPRMC’’语句。通常的况,可以从“$GPlwC’’帧中获取得到用户所需要的定位数据如经纬度、速度$GPRMC帧的结构‘17】及各字段释义如总共l1个逗号表3.1具体说明了$GPI洲C帧的结第16表SGPRMC帧结构格描是否显是1UTC2否a是纬度,北(纬)、南(纬)指示段5,表SGPRMC帧结构格描是否显是1UTC2否a是纬度,北(纬)、南(纬)指示段5,是经度,西(经)、东(经)指示段7地面速是8地面航是9是磁偏角角是为了预防因多个客户(线程)同时需要读取GPS数据而引起的串口资源冲突,系统程序设计更加灵活,本系统GPS定位数据的接收和处理采用C/S架构:Server端程序负责接收并解析串口数据,并把解析得到的数据储存到系统临时文件夹/tmpFgps;CientGPpFgpsServer端在GPS定位数据的接收和处理接收处理数据的过程中,必须先初需要的数据,主要是数据的有效性、时间、经度、纬度、速度以及偏移度等。把数据赋值给相应的结构,需要强调的是其中提取出的小时是UTC时间,必须转化为北京时间(UTC时间+8小第17国防科学技术大学研究生院_T_苎一CFgps图3。但是车载终端系统光依靠国防科学技术大学研究生院_T_苎一CFgps图3。但是车载终端系统光依靠S定位终端来定位是不够的,还要把这个定位信讯模块。本系统通过基于GPRS的网络通讯模块把卫星定位信息发送到监控中心上,并在监控中心的电子地图上显示车辆位置,这样才能实现系统的车载GPS定位功能GPRSPacketRadioService,通用分组无线业务)[isJ第二代移动通信技术Communications)向第移动通信(3G)过渡的一个桥梁。它由英国BTCeUnet公司早在1993年提出,Phase2+规范实现的内容之一。GPRS是在GSM系统基础上引入构成的无线数据传输系统,它的基本功能是在移动终端和Intemet网络的路间传输分组数据。GPRS经过96至Release99技术规范版本的善,得到世界各国的广泛认同,其核心网络部分也己经作为第三代移动通WCDMA规范中分组域的重要基础。与GSM电路交换相比,GPRS非常重要的第18目前全世界己有近百个运营商开通了S商用系统、实验系统。0年月2目前全世界己有近百个运营商开通了S商用系统、实验系统。0年月21日,中国移动通信集团公司在京宣布正式启动GPRS网络建设,到2002年5月17日,中国移动通信集团己经在我国东部发达地区和数据业务较大的沿海开放2GPRS商业化运作在中国的开始GPR8网络结构特GPRS是在GSM系统的基础上引入新部件而构成的无线数据传GSM向3G过渡的桥梁。GPRS使用分组交换技术,完全兼容GSM系统并上更加有效地传输高速数据,可以优化利用网络和无线资源广使原有的一G‘浦的性能得到增强。GPRS采用与M相同的频段、相同的频带宽度、相同的突发结构、相同的无线调制标准、相同的跳频规则以及相同的TDMA帧结构。在构建GPRS系统时,GSM系统中的绝大部分部件都不需要做硬件改动,只需做软件升级GPRS将GSGSMGSM的相关设备进行相应的软硬件升级构成GPRS网络。SGSN(GPRGSN(GPRSPCU制单元)就是三个新增组件【19】。GPRS的网络结构图如图3.2图3.2GPRS网络结构GPRS是区别于原有GSM电路交换方式的另一种数据传输方式,它利用存储转发原理,把不同终端的数据分割成等长标准数据格式,通过非专用的逻辑子信道进行数据快速交换,即将信息分成数据分组或信息包,再加上目的地址、分组装成原始信第19采用分组交换的GPRS,G采用分组交换的GPRS,GR172kb的P所以GPRS用于IP业务的接入将更为用户所接受。资源利用率高:GPR传输数据方式发生了根本性的变化,与电路交换模式相比,用户只大大的提高了资源的利用率。另外,如果GPRS用户的计费以通信的数据量为主要依据,体现了“得到多少、支付多少"的原则。这样,GPR用户的连接时间无论多长,却只是支付相对低廉的连接费用。传输速率高:GPRS可以提供171.2kbs的速率。这意味着通过便携式电脑,GPRS用户能和ISDN用户一样快速地上网浏览,同时也使一些对传输速率敏接入时间短:GPRS的接入时间缩短为小于1秒,能够提供快速的即时连接。可大幅度提高一些事务(如信用卡核对、远程监控等)的效率,并可使已有的IntemetE.mail、网页浏览等)操作更加便捷、流畅。支持X.5协议和P组数据网(DN),支持X.5协议可使已存在的X.5应用能在GSM网络上继续使用。由于GSM网络覆盖面广,所以S能提供Itmet和其它分组网络的全球性无线接入。可以认为,GPRS加强了这种趋势,即移动网络和数据网络的融合。3.2.2通信数据传输协第20国防科学技术大学研究生院T程硕士学位休H民指令等。协议常用指令如表3.1表3.2协议常用指响应指指令名传输方国防科学技术大学研究生院T程硕士学位休H民指令等。协议常用指令如表3.1表3.2协议常用指响应指指令名传输方无有上上传定位数据指链路维护指上有初始化终端参数指有查询指有拍照指有有到底目的地指下无终端休眠指协议格式如表3.3所示下表3.3协议格式功能类终端ID数据内幸2字≤80字11字ID1SI卡号,也示车辆m通过这个号码验证指令是否是发送给自己的。>指令响应:占用一个字节,标明该指令是否需要来自接收方的响应信息,如果为止>信息内容:占用从0到80之间的任意长度字节,不定长。根据各指令不同要求而不同。如CF上传定位信息指令中上传的定位与状态数据内容包括:时间(精确到秒)、纬度、经度、速度、偏移角方向、有效位(一位标示经纬半球(gp是否出错、车辆开关门、超速报警等)结束标志:占用3个字节,表示此帧信息的结束,以“·<CR><LF>"表示>第2l终端与控制中心之I’HJ的通讯遵循此协议,如果终端与控制中心之I’HJ的通讯遵循此协议,如果非此数据则不解如#GMCF000100000010l4275534120683l08550051700000003100401>功能类型:同该信息所相应的指令的功能类型1:指令执行正2:信息内容长度错误3:头尾错误4:非法指令(无法识别的协议号终端发送如0000001则说明指令执行正确3.2.3协议栈的设计与3.2.3.1基于GPRS网络的PPP协议应用分与固定有线网一样,在使用GPRS网络提供的基于IP数据分组传递服务目前GPRS网络采用的是动态用户管登陆通过PPP协议(Pint.to.PontProtocol点到点协议)【201完成。PPP等单元之间传输分组设计的链路层协议。协议提供全双工操作,并按照顺序传递分组。PPP协议还提供了一整套方案来解决链路建立、维护、拆除、上层协议协商、认证等问题,主要是用来通过拨号或专线方式建立点对点连接发送数据。PPP协议包含(1)链路控制协议LCP负责创建、维护或终止一次物理连接(2)网络控制协议ControlNCP是一族协议,负责解决物理连接上运行什么网络协议层网络协议发生的(3第22国防科学技术大学研究生院T国防科学技术大学研究生院T程硕士学位论最常用的包括口令验证协议Protoc01手验证协议CHAP(Challenge.HandshakeAuthenticationProtoc01)(1)创建PPP链LCP协议负责创建链路。在这个阶段,将对基本的通讯方式进行选择。MS与GPRS网络接入服务器通过LCP向对方发送配置信息报文(ConfigurePackets)。(2)用户验在这个阶段,MS会将自己的身份发送给GPRS的接入服务器。该阶段使用一种安全验证方式可避免第三方窃取数据或冒充接入服务器接管与MS的连接。在验证完成之前,禁止从验证阶段前进到网络层协议阶段。如果验证失败,SGPRS网络接入服务器终止链路连接。用户验证阶段,只有链路控制协议、验证协议和链路质量监视协议的数据帧是被处理的。在该阶段里接收到的其他的数据帧将在不做任何处理的情况下被丢弃。口令验证协议)是一种基本的验证协议,在验证协议中S将自己的用户名和密码发送给GPRS网络接入服务器。如果提供的用户名和密码不正确,GPRS网关将中断本次链路的建立。网络控制协议(NCP)。由于应用中将通过GPRS与Intemet连接,因此选定的网络控制协议为IPCP协议,ICP解决PPP链路之上的高层协议问题,通过IP控制协(IPPGPR3.2.3.2无线链路建立的具体建立,实现PPP点对点连接。在linux系统下PPP的连接由PPPD程序建立和护。通过重写脚本程序可以直接由PPPD程序自动完成对PPP协议的解析由于PPPD本身无法进行实际的拨号或登陆,要通过CHAT程序向无线模块发令并提供必要的登陆信息。在登陆过程建立之前,先要对无线模块进行相关第23配置,设置串口为ttySl,波特率为115200,以及其它的一些默认设置。其句如下/dev/ttySasyncmap设置完成后,就可以连接到拨号脚本,通过无线模块拨配置,设置串口为ttySl,波特率为115200,以及其它的一些默认设置。其句如下/dev/ttySasyncmap设置完成后,就可以连接到拨号脚本,通过无线模块拨¨99¨奉l#登陆到N上,并且由N动态的分配P地址。连接过程中的身份验证,把拨号脚本,核心语句如下ABoRT’NO”GPRStoPDP’ATD宰99幸木搴l”\ll+requesting第24这样,GPRS的无线链接就建立起来了,然后就可以通过IFCONFIG状态信息。这时可以看到多了一个0的路由,如果此时有两个路由这就需要我们把ppp这样,GPRS的无线链接就建立起来了,然后就可以通过IFCONFIG状态信息。这时可以看到多了一个0的路由,如果此时有两个路由这就需要我们把ppp0设成默认路由,语句为:routeadddefault设置完路由后,就可以使用GPRS发送数据包3.2.3.3UDP链路层的无线逻辑信道建立之后,就可以进行网络层的连接了。常用的网络层协议又UPD和TCP协议,考虑到UDP通信方式与TCP相比结构比较简单,系统冗余较小,在本车载监控系统中,我们采用UDP网络层传输使用。虽然是无确认的不可靠连接,但是根据上小节所述的自定义通信数据传输协议里的指令响应机制,系统设立了丢包重传机制:如果没接到信息包的响应指令信息则需要继续发送该包,直到接收到该响应指令。网络数据发送程序的流程就是把从应用层获得的信息按照自顶向下成UDP数据包,IP数据包和PPP数据包,然后把封装好的PPP数据包通过无@宣喜图 无线数据传输工图终端的轨迹。在发送UDP数据包前,需要确定服务器的固定IP第25送GPS送GPS、心跳等数据的同时,此终端需要绑定端口对此端口进行侦听。此时如果端的命令,就调用执行相应的程序。例如:控制中心会要求终端改其固定的P址及端口;要求终端发送此时的GP第26 图像采集与压缩功能的设计与实Linux内核 图像采集与压缩功能的设计与实Linux内核裁剪与编译嵌入式Linux功能的函数库,如:内存分配,延时,使用中断,获取系统时间等它与外设是的接口函数来控制外设。嵌入式Linux系统的构成示意图如图4.1所示图嵌入式Linux系统结构示意Linux操作系统具有内核可裁剪、移植性好、稳定性好、源代码完全开放等优点,并且包含完整的P/P、PPP.等完整的网络协议栈。用户通过配置内核,裁减shell和嵌入式C库对系统定制,使整个系统能够存放到容量较小的FLASH中,且Lnx的动态模块加载,使Lnx的裁减极为方便,高度模块化的部件使添加非常容易。用户可灵活根据自己的实际需求量身裁剪与定制内核,这样既可以精简因此,由于嵌入式Linux操作系统已包含众多完整的网络协议栈和设备驱动移植系统时不需要全部重新去开发协议和驱动。本课题为了支持基于lUSB摄像头的视频采集和S模块正常通讯,只需要在移植裁剪自定制内核时,选择V4L、OV51驱动以及P、TCP/IP等协议栈模块即可,这样也可以使内核最大程度地精简化,从而占用较少的硬件资源。下第27圆舫科学技术大学研究生院1秤硕十学位2#mkdir/110me/mykemel#tarzxvfmkerneltar圆舫科学技术大学研究生院1秤硕十学位2#mkdir/110me/mykemel#tarzxvfmkerneltarmenuconfig4)首先r】(⋯Y’键)选择device一>下的Linux。加Video供接口。如图4.2所示5)然后在calllerasuppofl一_>日录下[+】选拌support。这使得在内核中』Ju入了对采用OV5ll接叭甚片的USB数字摄火的骀动支持。虫¨圈4.3和图4.4所Ik卤釜葛蓝釜i§菩一。一。二mt一一幽43山梭第28国防科学拄术大学研究生院I样硕{一学位论国防科学拄术大学研究生院I样硕{一学位论6)在support一>目录下r】选择PPP(point-to-pointsuppoa,使内梭支持无线模块使用PPP协议进行拨号上网。如图4.5所示图4.5内孩配最后,在值为保存配置退出Type⋯>目录F修改内音|;时钟ExternalinputCLOCKdep生成依赖关系9)执行命令执行命令zlmage生成内核映像文件操作完成后,会生成一个zlmage文件,大小约800k左右,这就是我们所的可以下载到目标机运行的内核4.2基于Vide04Linux的图程序编程提供一系列编程接口函数【2“。在Linux下,视频采集设备的正常使用赖下对Vide04LintLx标准的支持。通过上节的自定制内核裁剪编译,在本系统第29动时,内核会在运行程序前先加载USB及OV5ll设备驱动模块,同Vide04Linux模块,使基于OV51l的USB动时,内核会在运行程序前先加载USB及OV5ll设备驱动模块,同Vide04Linux模块,使基于OV51l的USB摄像头能正常采集图像。核态程图4.6基于V4L的图像采集程序流程图像数据的处理可能要花费比较长的时间,不同的算法对于数据保留时间的要求也不一样。因此程序申请多帧图像缓冲,在处理一帧图像的同时,将URB带回的数据全部填充到另一帧缓冲中,这样可以免去时间冲突上的麻烦4.2.1V4L数据在Vide04LinuxAPI中定义了众多数据结构,首先定义一个描述设备的数据构,它包含了V4L中定义的所有数据结构,如下所示typedefv41—{fd;Hstructvideo_capabilitystructvideopicturestructvideo——windowvideo_mbufunsignedchar·map;//用于存储映射得到的图片的首framestat[2];//定义帧}v41第30国防科学技术大学研究生院丁程硕士学位其中包含的数据结构有国防科学技术大学研究生院丁程硕士学位其中包含的数据结构有picture:设备采集的图象大小、分辨率等各种属性window.-窗口信4.2.2V4L接口函videoO。当摄像头通过USB接口连接到视频采集终端后,在程序中调用1)打开设备文件读取设备基本信息:intv41获取图像基本信息:intv41_.get_picture(v41_device·Vd){>;4)更改当前的图像设置:hatv41_grab_init(v41_device毒vd){);5)开始帧的映射:intgrab_start(v41_device·vd,int获取帧的地址:unsignedchar·v41_getaddress(v4I_device·vd,int设备内存映射:v41mmap存地址初始mmap缓冲区:intv41_grab通过上述的接口函数,我们即可编程将摄像头视频数据采集到内存V4L为读取视频设备图像数据提供两种方法:read()直接读取和mmap()内映射方法。read()通过内核缓冲区来读取数据,这种方法是通过在驱动中调copy_touser()、copy_from_user()等函数在核态、用户态内存空间互相拷贝数据,但第314.3图像压缩技4.3图像压缩技图像压缩的理论基础是信息论【22l。从信息论的角度来看,压缩就是去掉信息中的冗余,即保留不确定的信息,丢掉确定的信息(可推知的),也就是用一种更接近信息本质的描述来代替原有冗余的描述。这个本质的东西就是信息量(即不确定因素)。图像压缩一般通过改变图像的表示方式来达到,因此压缩和编码是分不开的。图像数据文件的格式有很多,如GIF、PCX、TGA、BMP、JPG中,摄像头采集到的原始图像数据为BMP图像格式,BMP图像格式对图像数图像数据进行压缩4.3.1JPEGGroupt23),它是一个在国际标准组(SO)下从事静态影像压缩标准制定的委员会,它和国际电信同盟)下属的国际电话与电报顾问委员会)及国际电工委员会)合作,共同制定出了第一套国标静态影像压缩标准:ISO/IEC1091.1,就是俗称的JPEG,它被公布于192年9月份。JPEG是一个适用于彩色、单色多灰度、连续色调静止数字图像的压缩标准,是静态数字图像压缩的国际标准,不仅适用于静止图像压缩,而且适用于电视图像序列的帧内图像压缩。这种标准定义了三种不同的编码系统:>一种面向可逆压缩的无损独立编码本项目系统采用G压缩编码算法是基于有损基本编码系统,其主要压缩处理步骤为:首先进行色彩模型转换,再通过离散余弦变换(DCT)去除数据冗余;其次,使用量化表对DCT系数进行量化;最后,采用Huaffman系数进行编码,使其熵达到最小。解压缩过程刚好与压缩过程相反。第32国防科学技术大学研究生院IT程硕士学位图4.7国防科学技术大学研究生院IT程硕士学位图4.7JPEG压缩编码算法的系统结JPEG图像数据格SOl,APPO,Lp,‘'JFIF”+‘州LL'’!警;.£~DQD.DQT,DILl_,一JPEG图像的压缩结构【24>SOl:图像开始标记,用FFD8标识压缩数据的开>APPO:应用数据标记,用FFE0标识应用数据段的开始0x10,>Lp:应用数据段长度参数,该参数本身长度为两个字节,值为示应用数据段包含的字节数,但是不包括APP0的两个字节,这里长度为个字节>“JFIF”+‘'NULL”:文件标识符,值为0x4A0x46>0x01:X和Y的密度单位,值为O,无单位,值为1,单位为“点数/英寸值为2,单位为“点数,厘米>X轴方向密度和Y轴方向密度:各占两>表示缩略图水平和垂直像素数目,各占两字节,一般取值为0x00>DQT:定义量化表标记,标明量化表说明参数的开始,值为有多个,这里只说明一个>Lq:量化表长度参数,不包括前两个字节,占两字节0xDB,可>(Pq,ToO:l字节,前四位Pq表示量化表的数据精确度,0指量化表的值为>SOF0:帧开始标记,表明帧参数的开始,下标为0,表示编码过程的类本DCT,取值0xFF>Y:行数,指定源图像中的最大行数2字节>X:每行样本数,指定源图像中每行的最大采样数2字节第33>Cn:分量标记符,用来指明帧分量说明参数序列中>Cn:分量标记符,用来指明帧分量说明参数序列中的哪一个分量,Cn即第个分量>(Hn,Vn):1字节,前4位为水平采样因子,表示指定分量水平尺寸和最大图像尺寸x之间的关系;后4位为垂直采样因子,表示指定分量垂直尺寸和>Tqn:4C>Lh:Huffman表长度参数,该参数本身长度为两个字节,其值表示表包含的字节数>(Tc,Th):前4位为表类型,值为O代表DC表或无失真,值为1代表表;后4位是Huffman表的编》Li:1字节,表示长度为i的Huffman代码数目>SOS:扫描开始标记,表明扫描参数的开始位>Ls:>Ns:扫描行中图像分量数目,指定扫描行中源图像分量的>Csn:扫描分量选择器,这里编号n表示第n个分量>(Tdn,Tall):分量n对应的DC和AC编码表的编号>Ss:频谱或预测器选择开始参数,在DCT操作模式下,该参数指定“Z";>(Ah,A1):前4位为后续近似位位置高参数,后4位为后续近似位位置或点变换参数,一般都置为>EOh图像结束标记,标识压缩数据的结束,值为0xD9JPEG压缩编码的具体实4.3.3.1,I『PEG压缩编码的代码write—JPEG—file(charfilename[],缸quality,unsignedchar枣{第34国防科学技术大学研究生院-丁程硕士学位论structstructjpeg_errormgrJSAMPROWrow_pointer[I];/·pointerto国防科学技术大学研究生院-丁程硕士学位论structstructjpeg_errormgrJSAMPROWrow_pointer[I];/·pointertoJSAMPLEintrowwidthinimagebuffer宰产cinfo.err=jpeg_std_error(&jif((outfile=fopen(filename,”wb”))一)jpeg_stdio严imagewidthandheight.inP。拌ofcolorper/幸colorspaceofinputjpeg_set_qualityl(&cinfo,quality,.TRUE产cinfo.dct—perrowinimage_buffer幸row—stride=320·3;户row_pointer[0】scanline+row_stride];while(cinfo.next_scanline<cinfo.image-rowpointer[01l-(void)jpeg_write第35/+Afterfinishcompress.weCallsinceitwillreleasel4.3.3.2应用结果及性能分上述程/+Afterfinishcompress.weCallsinceitwillreleasel4.3.3.2应用结果及性能分上述程序中,quality参数的大小影响压缩效果与大小。本文在$3C2440上试上述的JPEG压缩编码效果,所取的原始图片为320*240的24位图。表1表i在不同quality值下的JPEG压320*240*24彩色压缩15压缩时I白0quality图21320*240*24彩色320*240*24彩色图0图图图像质根据实验的结果,本课题选定quality的值为2图4.8中用到了320*240的24位图的原始罔像以及不同压缩比下得到的图像如下所第36国防科学技术大学研究国防科学技术大学研究生院『{¥硕士学位图图quality值取75,压缩比为73的图JPEG压缩算法实验教第37国防科学技术大学研究国防科学技术大学研究生院工程硕十学位第五章人数统计功能的设计与实综合车载监控系统中,人数统计功能是系统的核心部分,它通过统计车载人数并配合终端控制实现了客车的超载检测,解决了近年来因超载而引起的众多交通安ARM中断技术的红外人数统计法ARM内核的中断技·。ARM920T具有常规中断(IRQ)、快中断(FIQ)和软件中断(Software三种中断方式【25J。常规中断和快中断都是硬件中快中断是为支持数据传输或快速数据通道而设计的,为快速处理快中断。快中断被设为最高中断优先级;在快中断模式增设了7个私有工作寄存器,从而避免了由于主工作寄存器数据的保存和恢复而带来了额外开销;快中断处理程序处于异常向量表的最后位置,因此可紧接异常向量表书写快中断处理程序,而不必软件中断是一种由用户设置的同步中断,由程序指令产生,不像硬件中断那样由外部事件触发。软件中断允许运行在用户模式的程序进入监督模式,并运行当CPUUCP就U如图5.1第38,,图 中断方,,图 中断方式的原理示意图5.2外部中断服务子程序处理流1、中断响2、中断服务子程CPU响应中断以后,就会中止当前的程序,转去执行一个中断服务子程序,’以完成为相应设备的服务。在本系统中,SC40的外部中断服务子程序的一般结构如图.所示。>保护现场(由一系列压栈指令完成)。当系统出现中断时,处理器首先要做的就是保存现场,这一过程包括保存当前的C值到R>模式切换。当处理器完成现场保护后,就进入中断模式,并将C固定的值Ox00000018,这也是IRQ模式的中断入口地址。在中断模式下,有3R1》获取中断源。所有的墩Q中断都从Ox00000018开始执行,通常在该地,并跳转到被中断的主》第395.1.2ARM数irq_no,void宰|聿Interruptinterrupt0产l幸.1.严#define2|★Externalinterruptinterruptinterrupt3|嚏#define7 产Externalinterruptforfuture6#define/*reserve毒BAT78|’RTCtimetick#defineIRQ5.1.2ARM数irq_no,void宰|聿Interruptinterrupt0产l幸.1.严#define2|★Externalinterruptinterruptinterrupt3|嚏#define7 产Externalinterruptforfuture6#define/*reserve毒BAT78|’RTCtimetick#defineIRQ#define#define#define4·Timerinterrupt掌11严112|ITimer13产Timer3interrupt枣14.1'Timer4interrupt囊#defineIRQ#defineIRQ1216净reservedforfuture#define17户DMAchannel群define#define8严DMA19|,DMAlinterrupt220净DMAchannel321|★SDInterface#define#defineinterrupt/·UARTlreceiveinterrupt枣#define#defineIRQ#defineIRQl’USBdeviceinterrupt囊争USB#define/宰interrupt净UART0#define一——————————————————————————————————_第40国防科学技术大学研究生院T程硕士学位#defineIRQSPI#defineIRQ/木ltransmitinterrupt木产RTCalarminterrupt3EOC国防科学技术大学研究生院T程硕士学位#defineIRQSPI#defineIRQ/木ltransmitinterrupt木产RTCalarminterrupt3EOC#define服务函数类型中断使能函数:该函数使能某中断,参数定义同IrqEnable(intirqIrqDisable(intirq(5)中断清除函数:该函数清除某中断请求,参数定义同参数IrqClear(intirqARM-Linux中断表5.1异常向量地地0x0000001Ox000000l速中断发生时,ARM肯定将到0x0000001C这个地址处取指令。这也是BOOTLOADER把操作系统引导以后,内存必须重映射的原因,否则操作系统不能真正接管整套系统。LINUX启动以后要初始化这些区域,初始化代码在start_kemel()中,具第41调用函数trap_ini()来实现的。这个函数仞始化了中断向量,实际上把相应的的调用函数trap_ini()来实现的。这个函数仞始化了中断向量,实际上把相应的的,最终都要调用do_IRQ(intnot产in事产IRQiscurrentlyunsignedintunsignedint严IRQhasinfora产串 产IRQcanbeusedforint产noautoenable:1;/·don’tunsigned产void(*maskack)(unsignedintvoid(·mask)(unslgnedintandacknowledgevoid(*unmask)(unsignedintirq);|啼Unmaskirqaction幸·IRQlockunsignedintunsignedintlck 在具体的ARM芯片中会有很多的中断类型,每一种类型的中断用以上结构irqdesc其中,NR_mQS根据不同的MCU所以我们做驱动程序时,只需要经过request_irq()来挂接自己编写的中断服务程即可5.2红外对射器工作原红外光线的波长在780nm~1000lam之间,位于无线电波与可见光之间第42用肉眼观测到。红外发射二极管由红外辐射效率高的材料(常用砷化镓OaAs成PN结,外加正向偏置用肉眼观测到。红外发射二极管由红外辐射效率高的材料(常用砷化镓OaAs成PN结,外加正向偏置电压向PN结注入电流激发红外光,运用于红外线光电术的光谱功率分布为中心波长830~950nm,半峰带宽约40nm左右【261信号通过电平转换后与ARM的两个外部中断源EINT3,EINT4装红外线接收器;在车门打开时,红外对射器开始工作,当有人经过车门时,先后遮挡两对红外对射器,引起引脚电平变化,从而分别触发两个ARM中断,然后就可根据中断触发顺序不同而判断是此次行为为上车还是下车。当车门关闭时,也关闭红外对射器5.3$3C2440A的中断控制寄存器能接收来自56个中断源的请求【271。内部的外围模块和外部管脚产生的多个中断请求通过中断控制器仲裁后,向ARM920T核发出体嵌入式系统中,需要用中断控制器管理多个外部中断源,选择其中一个通过nIRQ或nFIQ向ARM内核发出中断请求ARM20SC4ARMGFCOGPF为GPF4为E1NT4模式5.3.1安装中断处理程requestirq(unsignedint第43国防科学技术大学研究生院T程硕士学位void(宰handler)(int,void宰,structptregs宰国防科学技术大学研究生院T程硕士学位void(宰handler)(int,void宰,structptregs宰irq,void母devid);//释放中断程从q函数返回到调用函数的值,为0时,表示申请成功;负值表示错误码。函数返回一EBUY表示已经有另一个驱动程序占用了要申请的中断信号线。>unsignedint蛔:要申请的终端号>void(丰handler)(int,void幸,structp小gs毒):是要安装的中断处理函数指>unsignedlongflags:一个与中断管理有关的位掩码选项,可以在标识SA—INTERRUPT、SA.-SHIRQ、SA—SAMPLE—RANDOM5.3.2实现中断处理函中断处理函数irint—handler是本系统基于中断的人数统计法的核心部分,流代码如下staticinlineirint_handler(unsignedlong{{产根据keystate状态来判断 {产根据中断判断是否第一束光束触发,用来消抖木if(KEYINT—>第44if(!keyvalue)/宰如果没有检测到光束触发,退if(!keyvalue)/宰如果没有检测到光束触发,退出枣{)ring_timer.expires=jiffies+TIMEIadd_timer(&ring)caseGETKEY2:/.等待第二束光触发的定时器到了{严如果是第一束光声生的中断,那么检查第二束光if(KEYINT一)if(!keyvalue)/·如果没有光束触发{if(timer2coun户TIME20UT)产如果超时,那么{>产如果没有超时,继续启动定时器,等待下一次的判断ring塑垫迪竺丛垒盟呈星』!翌!立第45国防科学技术大学研究生院rT程硕士学位)国防科学技术大学研究生院rT程硕士学位){keystate=KEY2BOUNCING;产进入KEY2>caseKEY{eint—value=1;//来了中断,将其值置为,严判断上车还是下{eint_number-->if(KEYINT-一{eint_number=eint_number-)严直接退出定时器){>第46程序基本判断流程程序基本判断流程如下定图5.3基于中断技术的人数统计流程序就可以直接read读取计数器值,根据其变化得到此次上或下车的人5.4小本章介绍了智能车载监控系统人数统计模块的设计与实现,包括介绍ARM内核中断技术及

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论