Profile - CN114


CN114

基于Nios II的多用途无线防盗监控系统

重庆大学
通信工程学院


Finals


[print]


Project

Name of Project:基于Nios II的多用途无线防盗监控系统

Contact Information

Name:刘平净
E-Mail:cqulpj@gmail.com
Telephone:02366998669
Mobile Phone:13594118300
Mailing Address:重庆市沙坪坝区重庆大学A区主教2401

Contest Advisor

Name:何伟
E-Mail:hewei007@cqu.edu.cn
Telephone:13908381077

Members

No.NameE-MailEnglish Name
1刘平净cqulpj@gmail.comliupingjing
2李锋nhlcorp@163.comlifeng
3秦江云qjy288@163.comqinjiangyun

Project Paper - view as Preliminary(2009/06/15), Final(2009/09/14), Draft, Latest

1. 设计概述 (Preliminary Paper)

1.1 设计意图 

        安全问题始终是人类最为关注的问题之一。室内无人时被盗和车辆被窃的事时有发生,而一旦这种情况发生,物主将蒙受很大的经济损失,并面临不小的精神压力。传统的室内防盗措施是安装防盗门,但是生活中时常发生的被盗案件说明防盗门不足以良好的完成防盗任务。当车辆被盗之后,车主就更为无奈了。这些传统的防盗方式是被动的,不能主动监视室内正在发生的事,也不能在车辆被窃后主动跟踪。很多高科技的防盗视频监控需要有专人随时观看视频,人工监视视线可及范围内的状况,而这项技术多用在高级办公场所,耗资昂贵,普通单位和个人无法承受。基于上述原因,一种价格能被一般单位和个人接受,能主动监控室内和车辆内部情况的防盗监控设备是很有发展前景的。
本系统就是应以上需要而开发的。目的在于建立一个室内和车辆等处多用的防盗监控报警系统。当一个房屋内应该没有人,却偏又有人出现的时候,监控系统会根据图像传感器采集的图像内容和人体感应器的感应信息判断有异常情况产生,然后通过发短信、彩信或电话的方式将室内发生的情况主动报告给房屋主人,使其不仅能够知道室内发生了情况,而且能够通过手机看到摄像头采集到的图像,甚至还可以通过打电话的方式监听室内动静。这样能够保证房主主动掌握自己房屋内的情况,选择报警或通过电话驱赶非法入侵者。当一辆车被非法打开或移动,系统将向车主发送短信、彩信,并通过GPS定位把当前所在的位置告知车主,使车主能主动跟踪车辆而不是被动等待外界援助。在某些特殊情况发生时,例如室内发生紧急状况(火灾、抢劫等)或车辆被劫持等,可以采用按键的方式手动报警。
 
1.2 适用范围及针对用户群
 
1) 室内防盗监控:室内无人时的防盗监控、遇到非法入侵情况及时通知主人,并以短信、彩信、语音和电子邮件的方式让主人监控室内情况。可用于家庭、企事业单位、仓库等。
2) 室内主动监视:通过主动请求(请求监视或请求监听)的方式来获得室内的图像和声音信息。
3) 各种车辆的防盗监控和被盗跟踪。
 
1.3 选用Altera 器件的优势
 
1) DE1开发板上的FPGA逻辑资源与本系统需要相当
DE1开发板上的FPGA器件是EP2C20,该器件提供的逻辑资源比设计时预测的使用资源量稍大,可合理利用资源。
    2) DE1开发板提供了丰富的外设接口
         DE1开发板上有丰富的外设接口,例如SD卡接口,通用I/O扩展口等。通用I/O口可以实现系统需要的GPSGPRS、人体传感和摄像头等外设的扩展。此外,DE1开发板还提供了SRAMSDRAMFLASHEPCS等丰富的存储资源。
    3) 可剪裁的Nios II软核处理器
        Nios II软核处理器可以根据用户的需求定制,并且可以灵活的加入自定义指令和自定义模块。同时Nios II开发环境提供了HAL系统库和ANSIC标准库,使设计和调试周期大大缩短。Nios II软核灵活、高性能、低成本的特点使得系统开发容易很多。
    4) Nios II IDE开发环境集成了可移植到Nios II处理器的uC/OS-II操作系统,方便利用操作系统完成功能扩展和任务调度。
    5) 灵活定制的SOPC系统
        SOPCNios II处理器、存储器、I/O等系统所需的功能模块集成为一个片上可编程系统。
    6) C2H对设计的有力支持
        C2H可以把某些耗时的C语言函数用硬件实现,使系统的速度提高几十倍到几百倍。

 

(Revision: 20 / 2009-09-12 16:41:17)

2. 功能描述 (Final Project Paper)

2.1 功能描述     

本系统旨在结合SOPC技术和无线通信技术(GPRS),实现一个具有监控和报警功能的能应用于多种场合(室内、仓库、车内等)的无线防盗监控系统,根据项目组成员对监控系统的市场需求调研、分析和实际设计的软硬件设施条件,本系统主要具有以下实用功能:
1)现场查看
使用者通过手机向监控系统发送短信息(现场查看请求短信),系统收到短信息后,向使用者回复带有当前时刻现场图片与信息的彩信(MMS);
2)现场监听
使用者通过手机或电话座机拨打监控系统号码,监控系统判断来电号码权限并自动接听,通过这种方式使用者可以听到现场声音;
3)实时存储
监控系统开始工作后,不断采集现场图片并压缩数据,如果系统处于监控状态则只监控不存储图像;系统处于报警状态但没有发现异常状况时,每三分钟存储一幅图像到SD卡,发生异常时以最快速度存储图像。SD卡容量大、价格低,可以连续存储很长时间,而且由于我们在系统中实现了文件系统(FAT32)协议,所以SD卡取下后,可以方便地在PC机、PSP、手机、PDA等智能终端上查看图片;
4)侦测报警
监控系统中集成了GPS和人体感应器件,可以在监控的同时实现智能侦测报警,当监控系统处于室内(住宅、仓库等)模式时,系统会根据图片间差异和人体感应信息进行判断,一旦出现意外情况则根据设置通过电话、短信、彩信、电子邮件等方式进行报警;当系统处于车内模式时,主要根据GPS信息(速度、位置等信息)和GPRS信息(基站信息)进行侦测,一旦判断出车被非法移动,则通过上述方式进行报警并不断报告GPS信息和基站信息以便实现跟踪;
5)手动报警
如果出现紧急情况,如室内煤气泄露、户主在家被盗窃者威胁、车主在车上被挟持等情况,户主或车主可以通过一个隐蔽的按键进行手动报警;
6)短信设置
为方便使用,系统的所有参数都可以通过短消息的方式进行设置,这些参数包括:用户管理(设置管理员,添加用户,删除用户,密码设置等),报警方式的切换以及监控模式的切换等;
7)多监控模式
监控系统支持室内(静止)模式和车内(运动)模式,可以通过拨键或短信方便切换模式。
 
2.2 功能模块设计
     
       为了实现2.1中所描述的功能,本系统的软硬件设计按功能主要划分为图像采集、图像压缩、数据存储、显示模块、GPRS模块、GPS模块和人体感应模块,各部分的基本设计原理如下:
1)图像采集
图像传感器采用130万像素CMOS数字传感器MT9M011,传感器配置和图像采集模块采用VHDL来设计,以自定义模块的方式集成到SOPC
2)图像压缩
考虑到图片压缩格式的通用性,在本系统中图片的压缩格式为JPGYUV分量的抽样比例为4:1:1,量化因子可调;JPG压缩算法中的FDCT耗时较大(FDCT部分采用最快速的ANN算法后,速度仍不能满足实时性要求),在设计中拟采用自定义模块的方式进行加速处理;
3)数据存储
本设计综合考虑成本、存储容量、通用性、使用方便性等因素,决定采用SD卡作为非易失存储设备要将压缩后的文件数据存至SD卡并在其他终端(PC机、PDAMP3等)上方便地浏览查看,需要实现SD卡读写和文件系统两部分内容,其中SD卡读写通过VHDL设计SD卡控制器控制,可以实现SD卡数据的按扇区读写,文件系统(FAT32)在SD卡读写的基础上采用软件实现;
4)显示模块
为了方便地在本地看到监控画面,系统采用320×240分辨率的真彩液晶屏作为显示设备,显示模块用硬件描述语言(VHDL)进行设计,不需要CPU参与控制,值得一提的是:液晶屏是可选设备,断开与整个系统连接不影响监控系统的正常工作;
5GPRS模块
GPRS无线通信模块通过通用RS232接口与开发板相连主要完成短信息的收/发、彩信的发送、语音电话的接/打等;
6GPS模块和人体感应模块
GPS模块和人体感应器使用都比较简单,为了更好地贯彻SOPC的设计理念,在系统设计中采用自定义模块的方式驱动使用GPS模块和人体感应器,在软件中只需要读指定的寄存器,就可以得到期望的信息。
为了使系统美观并便于携带,设计时将GPRS芯片、GPS芯片、摄像头和人体感应器集成到一块扩展板上扩展板通过GPIO插槽与DE1开发板相连,使用简单,外形美观大方
 
2.3 系统工作状态设计
 
本系统涉及五种工作状态,分别介绍如下:
室内监控状态:系统对室内环境进行监控,用户可以通过短信息请求彩信或短信,从而得知室内情况。
室内报警状态:系统对室内环境进行监控,如果发生异常情况,则向用户发送彩信、短信以通知用户室内情况异常。
车内监控状态:系统检测车的地理位置,用户可以通过短信息请求彩信或短信,从而得知车所在的地理位置。
车内报警状态:系统检测车的地理位置,如果车被非法移动,系统向用户发送彩信、短信以通知用户目前车所在的具体的地理位置。
紧急按键报警:紧急情况下,用户只需要按紧急报警键就可以实现紧急报警。
 
2.4 系统工作截图
 
手机作为本系统一个重要的终端,能够显示用户管理,系统给用户发送的短信,彩信等。图2.1是系统反馈的短信。
 
2.1 系统反馈短信
 
2.2分别显示了室内模式报警时系统发送给用户的短信和彩信。
 
2.2 室内报警短信和彩信
 
2.3显示了车内模式报警时系统发送给用户的彩信。
 
2.3车内报警彩信

 

 

(Revision: 20 / 2009-09-13 11:08:28)

3. 性能参数 (Final Project Paper)

 1)系统硬件资源使用情况

 
2)摄像头参数
CMOS摄像头
130万像素
工作模式1280×1024,采用X2的模式读取数据
图像实际大小为320×240
3)液晶显示
320×240真彩液晶显示屏
4JPEG压缩编码参数
YUV分量的抽样比例:411
压缩倍数:约46倍(可调整)
5GPS
频段:L11575.42MHz
准确率:位置误差<10
时间误差与GPS同步时间相比最多相差1微秒
6GPRS
支持频段:GSM 850EGSM 900DCS 1800PCS 1900
支持业务:短信、彩信、语音
传输速率:GSM 14.4 kbps
              GPRS 85.6 kbps
7)人体感应器
感应范围:20         
8SD
支持类型:SD1.1
              SD2.0
读写速率:>= 1MB/s
9)文件系统
FAT32
(Revision: 3 / 2009-09-12 11:48:35)

4. 设计结构 (Preliminary Paper)

 

4.1 硬件设计
 
基于Nios II的多用途无线防盗监控系统主要通过图像信息、GPS信息、移动基站信息和人体感应信息实现多种场合的智能监控。系统设计中充分利用了DE1开发板上的资源如FPGASRAMSDRAMFLASHEPCSSD卡接口、按键、拨键、LEDGPIO等,另外图像传感器、GPRS模块、GPS模块和人体感应器分别采用Micro公司的MT9M011IWOWTR800DAGAMAS-87H和世达通的GH-718,为了设计的使用便捷和外观美观,我们将这些芯片集成到一块扩展板(如图4.1所示)上,扩展板通过GPIO口与开发板相连,整个监控系统的工作示意图和硬件结构图分别如图4.2和图4.3所示:
4.1 扩展板
 
 
4.2 无线防盗监控系统工作示意图
 
 
4.3 防盗监控系统硬件结构框图
 
系统实物图如图4.4所示。
 
4.4 系统实物图
 
 
4.2 软件设计
 
系统软件部分按功能可以划分(参考2.2节描述)图像采集、图像压缩、数据存储、监控模块、主动事件响应、音频处理、系统设置和彩信发送,功能模块及其联系如图4.5所示:
 
4.5 系统软件功能模块划分
 
出于简化系统设计和提高系统稳定性的考虑,设计中采用了uC/OS-II嵌入式实时操作系统,移植操作系统后,用uC/OS-II提供的接口函数OSTaskCreateExt来创建任务,根据系统要求,设计了个任务,任务间通过信号量、全局变量等方式进行通信。六个任务分别是:初始化任务(任务0,优先级5),短信彩信回复任务(任务1,优先级6),按键处理任务(任务2,优先级7),短信接收及处理任务(任务3,优先级8),GPS信息及人体传感器获取任务(任务4,优先级9),图像采集及存储任务(任务5,优先级10)。每个任务功能如下:
初始化任务:初始化硬件设备和全局变量,创建其它任务,创建其它任务完毕时,删除自身,不参与任务调度。
短信彩信回复任务:当系统发现异常情况,或者用户要求发送短信,彩信时,调用此任务发送短信或彩信给特定的用户。
按键处理任务:发生紧急情况时,用户通过按键可以紧急报警,发送彩信,短彩给管理员用户。
短信接收以及处理任务:当系统接收到短信息时,首先判断号码是否为有效的用户,再根据短信息内容,作相应的处理和响应。
GPS信息及人体传感器获取任务:每隔一段固定的时间,系统就读取GPS模块以及人体传感器模块的信息。如果没有GPS信息,就通过GPRS读取基站信息。
图像采集以及存储任务:通过摄像头对现场进行时实采集,根据系统监控情况,把图像压缩成JPEG格式并写入到SD卡中,方便在PC机上查看现场图像。
进入任务调度之后,任务之间的调度示意图如图4.6所示。
 

4.6 任务调度示意图

(Revision: 15 / 2009-09-13 11:01:40)

5. 设计方法 (Final Project Paper)

 

5.1 图像采集模块
 
图像采集是本系统通过图像判断是否有人非法进入的前提。本系统采用130万像素的CMOS摄像头。它可工作在多种模式下,本系统中配置成1280×1024模式,采用X2模式读取数据,进行一定的抽取之后读取到的数据为320×240×3。摄像头的RGB颜色分量分布是0GRGRGR……,第1BGBGBG……此后依次重复,如图5.1所示。读取数据时,取第0行的R分量和G分量,第一行的B分量,由此得到320×240的真彩图像。
 
5.1 摄像头RGB分量分布
 
图像采集模块采用了如图5.2所示的设计方案。当模块没有工作时,整个模块处于初始状态。当CPU向模块写采集数据命令时,模块开始采集数据。它首先检测FRAME帧信号的下降沿,保证采集过程从一帧的起始位置开始,采集到一帧完整的图像。帧有效期间,进行行计数和像素计数,使模块在偶数行(0行为偶数行,第一行为奇数行)采集RG分量,并把它们拼接成16比特的数据存入数据位宽为16位的双口RAM中,便于CPU读写。奇数行的时候采集B分量,并在采集B分量的过程中,把双口RAM中的RG分量写入到SRAM,实现乒乓操作。B分量写入另外一个16比特位宽的双口RAM,数据采集RG分量时把B分量写入SRAM。如此反复,直到一帧数据采集完毕,模块进入数据读取状态。在数据读取状态下,CPU只能对模块进行读操作,对模块的所有写命令都会被忽略。CPU把所有的数据读取到内存后,要把R, G, B分量重新组合起来合成对应的像素。读取数据结束后重新回到初始状态,为下一次数据采集做准备。
 
5.2 摄像头模块框图
 
5.2 人体传感模块
 
本系统在判断是否有人非法入侵时的一项重要判断标准就是人体传感器的感应信息。当室内或车内不应该有人出现,而人体传感器却感应到人的存在,系统就发送报警信息。系统所使用的人体传感器只有三根线,一根电源,一根地,一根信号线,控制极其简单检测到人的存在时,该传感器信号可设置成两种形式,即方波或者高电平,本系统中传感器设置成方波。传感器一旦检测到人类活动,就置状态寄存器为有效状态。通过查询状态寄存器可知道是否有人活动。
 
5.3 SD卡模块
 
5.3.1 SD卡概述
SD卡(Secure Digital Memory Card)中文翻译为安全数码卡,是一种基于半导体快闪记忆器的新一代记忆设备,它被广泛地于便携式装置上使用,例如数码相机、个人数码助理(PDA)和多媒体播放器等。一片大小犹如一张邮票的SD记忆卡,重量只有2,但却拥有高记忆容量、快速数据传输率、极大的移动灵活性以及很好的安全性。
SD卡按照存储容量大致可以分为普通SD卡和SDHC卡两种,其支持的协议分别为SD1.1SD2.0SD1.1协议中规定地址偏移为字节偏移,所以其支持的最大容量是2^324GBSD2.0将地址偏移改为扇区偏移(扇区固定大小为512字节),所以SD2.0支持的最大容量为2048GB,出于高性能和兼容性的考虑,本系统兼容两种SD协议,即系统会自动判断卡类型并选择不同的读写方式,无需手动指定卡类型。
5.3.2         SD卡工作时序和工作流程
SD卡的工作模式有SDSPI两种,前者时序复杂,数据传输速率快,后者时序通用简单,但速度较慢,本系统所用的实验平台DE1只为SD卡连了4根线(数据线只有1根),只能工作在SPI模式,所以本系统中SD卡控制器的设计采用SPI方式,SD卡的工作流程如图5.3所示。
 
5.3 SD卡工作状态转移图
 
初始化之后进行的SD卡读写操作时序如图5.4,图5.5所示
 
5.4 SD卡读时序
 
 
5.5 SD卡写时序
 
SD卡的控制由硬件实现。按照SD卡的基本工作时序和Avalon总线接口协议,用VHDL设计电路,使其能够兼容SD1.1SD2.0协议(支持普通SD卡和高容量SDHC卡),利用SOPC Builder工具集成到SOPC系统中,最终C语句实现对SD卡的基础读写操作
 
5.4 LCM显示模块
 
为便于观察摄像头采集到的数据,系统采用真彩液晶屏实时显示图像。本系统采用的真彩液晶屏分辨率为320X240,工作时钟为25MHz。数据在每个时钟的上升沿输出到液晶屏,组织方式为RGB。由此可得每行数据输出为960,一共240行。摄像头采集到的数据传送到液晶屏显示的过程如图5.6所示。
 
5.6 摄像头和液晶屏的数据传送
 
摄像头的行,场,像素时钟,直接与液晶的行,场,像时钟相连接,由于摄像头被配置成1280X1024skipX2模式,所以实际的像素点为320X256,当摄像头数据来到,而液晶的处于消隐期间,此时把摄像头的数据存入双口RAM中,在液晶需要数据时,再把对应的点的RGB数据送出到液晶。因为摄像头的帧频率为50Hz左右,而液晶的刷新频率要求为80Hz左右,所以把液晶的尾消隐延长,使液晶对数据的要求速率降低,这就意味着液晶一行的像素时钟要增加,下一行的摄像头数据来到时,液晶刚好需要数据。但在实际测试过程中,如果液晶一行的像素时钟大于2048时,液晶便不能正常显示,所以工程中一行的像素时钟设计1770左右。
 
5.5 GPS模块
 
GPS一块集成模块,在系统中用作车载模式下的汽车地理位置反馈装置。上电后它大约每一秒钟发回一帧数据,每帧数据包含几个协议,本设计中只用到两个协议,它们分别是$GPRMC,$GPGGA.下面分别来对这两个协议进行说明
例如$GPRMC协议信息为:$GPRMC,161229.487,A,3723.2475,N,12158.3416,W,0.13,309.62,120598,,*10
该协议均以逗号为分隔,$GPRMC为信息头,161229.487为时间信息,161229487毫秒(在工程解析时,不需要毫秒),A标志此信息有效,如果为V则说明此信息为无效信息,3723.2475纬度,N标志为北纬,12158.3416为经度,W标志为西经,0.13为速度信息,309.62为航向,120598为日期98512
$GPGGA 中若协议信息为:$GPGGA,161229.487,3723.2475,N,12158.3416,W,1,07,1.0,9.0,M,,,0000*16
该协议同样以逗号为分隔, $GPGGA信息头,161229.487为时间信息,3723.2475,N,12158.3416,W为经纬度信息,1说明是有效数据,07为卫星的个数,后面的9.0为海拔,M标志海拔的单位是米。
系统中VHDL硬件描述语言解析GPS协议,分别解析了$GPRMC$GPGGA。系统每接收一次上面两个协议就对其进行解析,并且更新寄存器,CPU可随时读取GPS信息。
 
5.6 GPRS模块
 
本系统的GPRS模块采用了iWOW公司的TR800。通过向模块发送AT指令,TR800可以实现短信的收发,电话的自动接听,和彩信的收发。TR800通过串口芯片RS232FPGA进行通信。串口波特率为115200,数据位8位,无奇偶校验,1位停止位,无数据流控制。
TR800的语音,短信和彩信都是通过AT指令来设置的,下面对语音,短信和彩信的设置做简要介绍。
5.6.1语音设置
根据系统需求,当房屋主人或车主要求监听室内或车内发生的情况时,TR800的语音部分要能自动接听,并调节语音增益使声音尽可能清晰。通过发送指令ATS0=2可以实现两声后自动接听;发送AT+ARXG=6,使语音输出增益等级为6,增益为0DB;发送AT+ATXG=5设置语音输出音量为5,发送AT+ATXG=20使语音输入增益0DB
5.6.2短信设置
TR800有两种工作模式,TEXT模式和PDU模式。TEXT模式只支持缺省的英文字母和数字,不支持汉字;PDU模式在TEXT的基础上支持汉字。由于本系统使用过程中要用到中文,所以TR800工作在PDU模式下。设置PDU模式是通过发送命令AT+CMGF=0实现的,若发送AT+CMGF=1将使TR800工作在TEXT模式下。此外,还要对TR800接收短信进行一定的设置。本系统中发送AT+CNMI=2,2,0,0,0,第一个参数和第五个参数取默认值,第22的含义是接受到短信时无提示,直接通过串口传送,不存储短信;第三个参数0表示没有CBM指示到TE;第4个参数0表示无短信报告。
下面以一个简单的例子说明发送短信的过程。例如要发送短信短信“你好”给号码13635466526。发送的步骤是:
1)发送AT+CMGS=1919是要发送的信息的总长度(不含信息长度字节本身),算法是15+信息内容长度,单位为字节,一个汉字两个字节。其中15是一些参数设置的长度。
2)在“>”后输入0011000D91683136456625F6000801044F60597D(具体设置,BCD格式目标地址和要发送的短信的长度,内容等)
3)发送十六进制1A, Ctrl-Z
接收短信时,短息是有固定格式的,按照格式可以把短信的内容解析出来。例如接收到短信:+CMT: ,34
0891683108200305F0040D91683136456625F60008907091419511230E77ED4FE16
3A565366D4B8BD5002E
按照PDU格式的短信接收格式,短信的内容可以解析为:短信接收测试。短信中还含有短信来源地址,时间戳等内容。
5.6.3彩信设置
发送彩信时有几个必须设置的参数,例如接入点,代理网址,通讯模式等,这些参数的设置也是通过AT指令实现的。
1)基本配置
AT$MMSBEARER=1,"cmwap",, 设置接入点,1为默认值,"cmwap"是中国的接入点名称,后面两个参数是用户名和密码。其基本格式为AT$MMSBEARER=1,"",""," "
AT$MMSPROXY="10.0.0.172",80 设置代理或网址(IP),80为端口号;
AT$MMSCURL="http://mmsc.monternet.com" 设置MMS中心(MMSC)的网址(以上三条为固定内容);
AT$MMSCOMMMODE=2 设置MMS通讯模式为通过代理,若为 3 则直接通信
2)设置彩信编码方式
AT$MMSCS="UCS2" "DEF"ASCII编码,"UCS2"Unicode编码;
3)编辑彩信
AT$MMSW=0 复位发送彩信的各个参数;
AT$MMSW=1,1 设置目的号码或邮件地址,第二个一表示接下来要输入的号码有效,若为 0 则号码被忽略;
AT$MMSW=5,1,1设置彩信的内容。第二个参数是插入文本的页码,取 0 移除所有链接,1-10时把内容添加到对应的页码。第三个参数为 0 表示忽略所有内容,为 1 表示要设置彩信内容。
彩信收发过程中要用到Xmodem协议,所谓Xmodem协议指的是串口通信中广泛用到的一种异步文件传输协议。分为标准Xmodem1k-Xmodem两种,前者以128字节块的形式传输数据,后者字节块为1k1024字节,并且每个块都使用一个校验和过程来进行错误检测。在校验过程中如果接收方关于一个块的校验和与它在发送方的校验和相同时,接收方就向发送方发送一个确认字节 (ACK)。由于Xmodem需要对每个块都进行认可,这将导致性能有所下降,特别是延时比较长的场合,这种协议显得效率更低。
Xmodem协议的控制字符和帧结构如下图所示:
 
5.7 Xmodem帧格式
 
按照Xmodem协议,如果传送的文件不是128的整数倍,那么最后一个数据包的有效内容肯定小于帧长,不足的部分用CTRL- Z(0x1A)来填充。
Xmodem传输由接收方启动,方法是向发送方发送"C"CRC校验或者NAK(累加和校验)。启动传输后,发送方以每次128字节的数据加上包头,包序号,包序号反码,末尾加上校验和,打包成帧格式传送。发送完一帧数据就等待对方的确认字节ACK。收到ACK表示数据已被正确接收,发送方可以进行下一帧传输;但如果收到了NAK,则表示接收方要求重传刚才发送的数据包;而收到CAN则表示接收方要求无条件停止传输。当所有数据发送完毕后,发送方要发送EOT字节通知接收方,接收方发送ACK确认。Xmodem传输的具体流程如图5.8所示。
 
5.8 Xmodem传输流程
 
 
5.7 FAT32文件系统的实现
 
FAT32文件系统的FAT表有32位,共232簇,如果一簇32KB的话,FAT32可以支持高达2048GB的分区。如果FAT表常驻内存,那么它占用的内存资源将很大,同时对处理器造成很大压力。因此本系统工作时只是不断的新增文件或目录,而不对文件进行删除或修改操作。创建文件的流程如图5.9所示:
 
5.9 FAT32系统中创建文件夹流程
 
FAT32文件系统采用浮动FDT,即没有专门的FDT区,FDT内容存在数据区。初始化为一簇,可存128个文件或目录当根目录下超过128个时,则在FAT表中寻找空簇,然后将原来的FDT簇与新簇相连形成簇链,这样根目录的文件或目录数目不受限制,只要磁盘分区还有空间,就可以继续新建文件或目录。
采用以上方法设计后的SD卡结构如图5.10所示:
 
5.10 SD卡结构
 
5.8 JPEG压缩编码的实现
 
5.8.1 JPEG压缩编码概述
JPEGJoint Photographic Experts Group标准有两种基本的压缩算法:以离散余弦变换(Discrete Cosine TransformDCT)为基础的有损压缩算法和以预测为基础的无损压缩算法,本系统采用的是有损压缩算法。压缩比为251的情况下,非图像专家难以找出压缩后的图像与原始图像的区别。这在保证图像质量的同时去除了冗余信息,为系统的图像存储和传输节省了很多资源。
5.8.2 JPEG压缩处理流程
JPEG压缩处理流程如图5.11所示。
 
5.11 JPEG压缩处理流程
 
根据压缩流程,首先要进行的是颜色空间的转换。颜色空间转换公式如式(1)所示。本系统中为加快运算速度,采用查表法设计,避免了大量的乘法运算,而用加法取而代之。
1
颜色空间转换完成后要进行抽样。根据人眼的视觉特性,可以降低UV分量的比例而不影响整个图像的视觉效果,因此系统设计时采用了Y: U: V =4: 1: 1的抽样比例。即每四组数据才抽样一次U分量和V分量。不压缩的时候,Y:U:V = 1: 1: 1,也就是YUV交替分布,压缩后每出现四个Y分量才取1U分量和1V分量。Y:U:V = 1: 1: 1Y: U: V =4: 1: 1的抽样示意图如图5.12所示。
 
5.12 YUV压缩比411与不压缩对比示意图
 
抽样后要进行DCT变换。如果直接按照离散余弦变换公式进行计算,程序的耗时会很大,难以满足系统实时性的要求。系统设计中的DCT采用了AAN算法,极大提高了运算速度。
本系统在变换后采用的量化为Z形扫描和量化,这样可以去除人眼不敏感的高频分量,保留低频分量。系统对直流系数和交流系数分别进行霍夫曼编码。至此,JPEG压缩算法全部完成。
 
5.9 手机端跟踪软件设计
       
        跟踪软件是本系统的扩展部分,借助该设计,可以在Windows Mobile智能手机上将收到的短信中的GPS信息提取出来,并在Google静态地图上动态绘制标记点和路线,从而使监控或跟踪更加直观方便。该软件从功能上主要分为两部分,即拦截含有特定内容的短信(短信内容中包含GPS信息)和在Google静态地图上显示标记和行车路线,下面分别讲述。
5.9.1短信拦截
        在Window Mobile系统中,信息相关功能由tmail.exe来负责,WMSDK的例程中有一个拦截特定内容短信并删除的实例,本设计中的短信拦截部分基于这个例程,在修改拦截内容和短信处理代码后,生成新的dll,然后再软件中调用该dll并修改注册表使系统具有拦截含GPS短信的功能。
5.9.2 Google地图显示标记与路线
        Google地图按实现技术主要分三种:Google EarthGoogle MapsGoogle静态地图,其中Google Earth提供的接口为COM API接口,不能在WM系统中使用,而Google Maps提供的接口为JavaScriptWM系统中的IE浏览器对JavaScript支持很不完善,所以也不能使用,本设计中使用的方式是Google静态地图,拦截到GPS信息后,提取其中的经纬度信息,并根据经纬度在Google静态地图中显示路线,目前该部分已经实现,不过由于手机GPRS网络传输速度较慢,在实时跟踪时会出现延时。
 
5.10  Nios II系统构建
 
        根据系统设计需求,在Nios II系统中添加的必要外设有:充当内存的SDRAM,串行芯片EPCS,固化程序的FLASH,调试用的串口JTAG,系统时钟,辅助时钟,一些按键,拨键,LED灯,以及自定义模块:SD卡,人体传感器,GPS模块,摄像头等。在SOPC Builder中构建的系统如图5.13所示。
 
5.13 Nios II系统构建
 
 
5.11 系统任务设计与调度
 
本系统涉及到的模块较多,为简化设计,使用了uC/OS-II操作系统。根据系统工作需要,我们设计了六个任务:初始化任务,短信彩信回复任务,按键处理任务,短信接收及处理任务,GPS信息及人体传感器任务,图像采集及存储任务。
整个系统的运行以及各个任务的调度如下:
系统上电后,首先进行各个硬件模块的初始化,软件内各数据结构的初始化,如果初始化不成功,例如,SD卡没有插入,GPRS没有信号,摄像头没有安放到位等,则点亮对应的LED灯以提示系统初始化不成功,同时系统退出运行状态。初始化成功后也会点亮对应的LED以表示初始化成功。此后系统通过读取模式选择拨键是值获得用户要求的工作模式:室内模式或车内模式。初始化完毕,系统进入任务调度,任务5采集现场图像并压缩成JPEG格式。任务4隔一段特定时间,读取GPS模块信息,从而获得时间,日期,经度,纬度,海沷,速度等。如果GPS模块未能成功获得GPS信息,则通过GPRS读取基站信息。任务3对接收的短信进行处理,此时,用户可以通过发短信请求彩信或短信以获得现场情况,管理员用户还可以进行用户管理。任务1在用户要求彩信,短信时发送彩信,短信。对于合法用户的操作,系统都会发送短信以通知用户系统的响应情况,对于不合法用户的信息,系统将不做响应。监控状态下只进行监控,不报警。从监控状态到报警状态需要用户用短信启动。报警状态启动时,系统根据工作模式对现场进行监控。没有异常情况时,系统每3分钟存入一幅图片到SD卡中;当处于车内模式时,模块根据读取的GPS经度,纬度速度信息进行判断位置是否发生变化,如果变化,则说明异常情况发生,进行异常情况的报警,发送一条彩信,以后每30秒比较GPS信息,如果变化,则把当前的GPS经纬度速度信息以短信方式通知用户。这些信息在PC机上用Google Earth软件可以画出车辆移动的路线(如果没有GPS信息,则发送基站信息,提示用户当前车的大概位置),也可以在WM智能手机上利用我们设计的跟踪软件查看当前位置及行车路线。此时,任务5以最快的速度采集车内图像,压缩并将其存入到SD卡。用户可以在发生异常情况的时候,关闭报警,让其进入监控模式。当系统被设置于工作在室内报警状态时,系统不断监控环境。没有人出现时,系统以每3分钟的速度存储现场图像;当系统检测到人的存在,则表明发生了异常情况。此时系统首先发送一条包含现场图像的彩信,以后每30秒发送短信提示用户室内发生了异常情况,直到用户做出处理。任务5以最快速度采集压缩图像并存入SD卡中。同理,当用户做出处理后,可以发送短信息关闭报警,让其进入监控状态。
(Revision: 9 / 2009-09-13 11:31:05)

6. 设计特点 (Preliminary Paper)

 

根据实时监控系统设计需要,本系统具有如下特点:
1) 多用途,准确度高,使用方便
该监控系统可用于室内和车内防盗及被盗跟踪,能灵活适应静态和动态监控模式。室内监控使用人体感应器和摄像头采集到的图像作为判断是否有人非法入侵的依据;车内使用GPSGSM作为检测车辆被非法移动的依据,必要时也可以使用人体感应和图像监视车内情况。不论是室内还是车内,检测结果的准确度都是极高的。除此之外,整个防盗监控系统的终端是现在极为普遍的手机,手机携带方便,使用也简单,使整个监控系统的使用与现有的手机使用有机融合,非常方便。
2) 支持SDHCFAT32文件系统
系统可使用SDHC,支持SD2.0规范,使用的SD卡容量最大可达到2048G,满足系统存储大量数据的要求。同时,系统的文件系统采用的是FAT32,由于FAT32采用了比FAT16更小的簇,可以更有效的使用磁盘空间保存信息,有更高的稳定性和灵活性,磁盘容量也大大增加,最大可达到2048G
3) 系统可裁剪,灵活性高,成本低
系统设计中把GPSGPRS,摄像头,人体感应器、SD卡控制等功能模块都定制成SOPC系统中的用户自定义模块,添加到SOPC中。这使系统的可剪裁性很高,可根据用户需要灵活定制。同时,系统的CPU也可根据需要剪裁定制。灵活的按需定制使系统灵活,降低成本。使系统成本降低的另一要素是系统终端是现有的普遍性很高的手机,用户无需支付额外费用购买终端。
  4)  采用了RTOS系统
      系统采用了uC/OS-II操作系统,该操作系统可裁剪,可移植性强,支持多任务,并能提供各种各样的操作系统服务,如邮箱,队列,信号量等。操作系统的引入简化了设计,并提高系统的可管理性。
5) 直观方便地监控跟踪目标车辆
设计了可用于WM智能手机的跟踪定位软件,利用GPS信息及Google静态地图技术可以直观地查看车辆的当前位置及行车路线,方便车主跟踪。
6)  C2H,自定义指令,自定义模块使系统性能提升
       Nios II处理器的主频较低,而Jpeg压缩算法计算量比较大,导致压缩一幅图片需要的时间很长(用纯软件实现压缩320×240大小的图片需要41秒),监控系统难以满足实时性的要求,借助于Altera公司提供的自定义指令、自定义加速模块和C2H等硬件加速技术,可以将系统中耗时大的部分用硬件方式实现,从而大大提高了系统的性能。
7自主设计扩展电路
      系统的实现依赖于GPSGPRS,人体传感,摄像头等。设计中将这些硬件做成了一块扩展电路板,使系统外观简单,使用方便。
8易扩展,升级方便
       由于基于FPGA的嵌入式系统具有软硬件可编程的特点,通过Quartus IISOPC BuilderNios II IDEAltera提供的工具软件可以方便地对系统软硬件设计进行修改、调试和下载,使得系统的维护和升级方便易行。
(Revision: 8 / 2009-09-11 21:57:19)

7. 总结 (Final Project Paper)

 

本设计充分利用了SOPC的设计理念,在规定时间内完成了基于Nios II多用途无线防盗系统的实现。在室内模式下,系统能够正确检测到人的存在,并通过比较合理的机制发送彩信和短信通知房屋主人室内发生了异常情况。车内模式下,系统能够正确的将车辆非法移动后的经纬度信息以短信和彩信的形式发送给车主,把这些信息输入到地图上可以发现,系统的定位信息是非常准确的。
系统实现过程中,不可避免的碰到了很多问题。经过不懈的努力,一个个困难都被排除了,系统实现了预期功能。有些问题在设计的时候没有考虑到,后来成为了前进的绊脚石。解决这些问题的过程中,我们深刻体会到了经验的重要性。某些问题一开始真不知道该如何下手,但是有经验的人会在短时间内找到查找问题的方法。利用以前经验的同时,本次设计也为我们今后的设计积累下了不少经验。
本次设计完成后,我们深刻体会到一个系统的实现不是孤立的,它和很多外在因素相关。例如,因为移动和联通联合打击垃圾短信活动的展开,每张SIM卡每小时发送的短信条数是有限制的,所以系统报警时向用户发送短信的频率不能太高,否则SIM卡发送短信的功能将会被限制,影响系统的使用。还有在设计发送短信和彩信发送的频率时也要考虑到系统的经济开销。众所周知,彩信比短信的成本要高得多,所以设计时要在满足需求的情况下要尽可能减少彩信的发送。
这次设计给我们留下了很深的一点感触:团队分工合作很重要。团队中每个成员各有所长,合理的分工能让每个人充分展示自己的长处,加快系统的实现。但是分工的同时要注重彼此之间沟通,这样才能了解其他的环节需要什么。
末了,感谢Altera公司提供的这次让我们学以致用的机会,也感谢所有为我们提供了帮助的老师和同学,是大家的共同努力,造就了本设计的成功。
(Revision: 3 / 2009-09-13 10:39:09)