基于GPRS的无线图像监控系统软件设计.doc

上传人:精*** 文档编号:863906 上传时间:2023-09-28 格式:DOC 页数:21 大小:128.34KB
下载 相关 举报
基于GPRS的无线图像监控系统软件设计.doc_第1页
第1页 / 共21页
基于GPRS的无线图像监控系统软件设计.doc_第2页
第2页 / 共21页
基于GPRS的无线图像监控系统软件设计.doc_第3页
第3页 / 共21页
基于GPRS的无线图像监控系统软件设计.doc_第4页
第4页 / 共21页
基于GPRS的无线图像监控系统软件设计.doc_第5页
第5页 / 共21页
点击查看更多>>
资源描述

1、摘要当代随着科技的发展,图像监控以其直观、方便、信息内容丰富而被广泛应用于许多重要场合,成为安全监控的主要手段;再加上通信行业的不断完善,无线监控系统也随之发展起来。本课题主要研究的就是基于GPRS的无线远程监控系统,简单讲就是图像的采集、存储和发送的过程,在这个系统中硬件选用到了C328-7640数字摄像头、ATmega16单片机和GPRS通信模块,其中ATmega16单片机是其它两个模块之间的桥梁。该系统是利用ATmega16单片机控制C328-7640数字摄像头采集图片,同时将采集到的图片暂存于ATmega16单片机内部,然后再通过GPRS通信模块把存储器中的图片发送出去。本系统所用的软

2、件开发环境是在EW23环境下进行编程,C语言,连接,在CSPY环境下进行调试,下载是在连接之后,调试之前,通过计算机的串口下载的。关键字:GPRS C328-7640数字摄像头 ATmega16单片机 AbstractContemporary with the development of science and technology, image monitoring with its intuitive, convenient, the information content is rich and has been widely used in many important occasi

3、ons, as the main means of safety monitoring; coupled with the communications industry, and constantly improve, wireless monitoring system is also developing.The main research topic is the wireless remote monitor system based on GPRS, simply speaking is the image acquisition, storage and transmission

4、 process, in this system hardware selection to the C328-7640 digital camera, ATmega16 SCM and GPRS communication module, wherein ATmega16 SCM is the other two modules to bridge the gap between. The system is to use ATmega16 SCM control C328-7640 digital camera picture collection, at the same time th

5、e collected image stored in a ATmega16 chip, and then through the GPRS communication module to send out the picture memory. The system used in the software development environment is the environment in EW23 programming, C language, connected, in C - SPY environment for debugging, download is in conn

6、ection with, before commissioning, through the computer serial port to download.Keyword: GPRS C328-7640 ATmega16 single-chip digital camera.目录绪论11.主要技术和设备简介21.1 GPRS技术简介21.2 ATmega16 单片机的介绍21.3 C328-7640摄像头简介42.系统介绍43.软件开发平台53.1图像的采集53.1.1系统初始化53.1.2 ATmega16单片机对摄像头的控制工作63.2图像的处理:93.2.1图像处理内容及步骤93.3

7、图像的发送:103.3.1系统初始化103.3.2 ATmega16单片机对GPRS模块的控制工作114系统调试134.1调试环境134.2 调试步骤14结论15参考资料及文献17 绪论随着人们安全意识的提高,各种监控被广泛用于日常生活,工业生产,公共场合中,图像监控以其直观,方便,信息丰富等优势受到越来越多人的欢迎!在很多的监控场合有线网络可能到达不了,或者成本太高,或者由于环境的恶劣不方便采用有线网络,对于这些场合,最好的选择就是通过无线网络来达到监控的目的,而利用分布广泛的GPRS网络,可以很容易的实现无线远程监控,采用GPRS技术来实现无线图像监控,成本十分低廉,必将收到用户的青睐。本

8、文研究的是图像的采集、存储以及图像的发送过程,其中通过GPRS模块的图像发送过程是该课题研究的重点。作者主要承担前端软件的实现过程。1.主要技术和设备简介1.1 GPRS技术简介GPRS是通用分组无线服务技术的简称,它是在模拟技术和全球移动技术CSM基础上发展起来的, GPRS可说是GSM的延续。GPRS与现有的CSM语音系统最根本的区别是,CSM是一种电路交换系统,而GPRS是一种分组交换系统,因此,GPRS特别适用于间断的,突发性的或频繁的,少量的数据传输,也适用于偶尔的大数据量的传输,这一特点正适用于大多数移动互联网的应用。GPRS具有以下优点。永远在线:只要激活GPRS应用后,将永远在

9、线,不会掉线,类似于一种无线的专线网络。按流量计费:虽然保持永远在线,但不必担心费用问题,因为只有产生通信流量是才计费,它是一种面向使用的计费,计费方式更科学合理。快速登录:全新的分组服务,无需以往长时间的拨号建立连接过程。自如切换:话音和数据业务可以切换使用,电话上网两不误。高速传输:GPRS最高理论传输速度为171.2kbit/s目前使用GPRS可以支持40kbit/s左右的传输速率。 1.2 ATmega16 单片机的介绍 ATmega16 AVR 内核具有丰富的指令集和32 个通用工作寄存器。所有的寄存器都直接与算逻单元(ALU) 相连接,使得一条指令可以在一个时钟周期内同时访问两个独

10、立的寄存器。这种结构大大提高了代码效率,并且具有比普通的CISC 微控制器最高至10 倍的数据吞吐率。 ATmega16 有如下特点:16K字节的系统内可编程Flash(具有同时读写的能力,即RWW),512 字节EEPROM,1K 字节SRAM,32 个通用I/O 口线,32 个通用工作寄存器,用于边界扫描的JTAG 接口,支持片内调试与编程,三个具有比较模式的灵活的定时器/ 计数器(T/C),片内/外中断,可编程串行USART,有起始条件检测器的通用串行接口,8路10位具有可选差分输入级可编程增益(TQFP 封装) 的ADC ,具有片内振荡器的可编程看门狗定时器,一个SPI 串行端口,以及

11、六个可以通过软件进行选择的省电模式。 工作于空闲模式时CPU 停止工作,而USART、两线接口、A/D 转换器、SRAM、T/C、SPI 端口以及中断系统继续工作;掉电模式时晶体振荡器停止振荡,所有功能除了中断和硬件复位之外都停止工作;在省电模式下,异步定时器继续运行,允许用户保持一个时间基准,而其余功能模块处于休眠状态; ADC 噪声抑制模式时终止CPU 和除了异步定时器与ADC 以外所有I/O 模块的工作,以降低ADC 转换时的开关噪声; Standby 模式下只有晶体或谐振振荡器运行,其余功能模块处于休眠状态,使得器件只消耗极少的电流,同时具有快速启动能力;扩展Standby 模式下则允

12、许振荡器和异步定时器继续工作。ATmega16引脚名称及引脚功能简介VCC 电源正 ,GND 电源地端口A 做为A/D 转换器的模拟输入端。端口B 为8 位双向I/O 口,具有可编程的内部上拉电阻。端口C 为8 位双向I/O 口,具有可编程的内部上拉电阻端口D 为8 位双向I/O 口,具有可编程的内部上拉电阻RESET 复位输入引脚。持续时间超过最小门限时间的低电平将引起系统复位。XTAL1 反向振荡放大器与片内时钟操作电路的输入端。 XTAL2 反向振荡放大器的输出端。 AVCC AVCC是端口A与A/D转换器的电源。不使用ADC时,该引脚应直接与VCC连接。使用ADC时应通过一个低通滤波器

13、与VCC 连接。 AREF A/D 的模拟基准输入引脚。 本芯片是以Atmel 高密度非易失性存储器技术生产的。片内ISP Flash 允许程序存储器通过ISP 串行接口,或者通用编程器进行编程,也可以通过运行于AVR 内核之中的引导程序进行编程。引导程序可以使用任意接口将应用程序下载到应用Flash存储区(ApplicationFlash Memory)。在更新应用Flash存储区时引导Flash区(Boot Flash Memory)的程序继续运行,实现了RWW 操作。 通过将8 位RISC CPU 与系统内可编程的Flash 集成在一个芯片内, ATmega16 成为一个功能强大的单片机

14、,为许多嵌入式控制应用提供了灵活而低成本的解决方案。ATmega16 具有一整套的编程与系统开发工具,包括:C 语言 编译器、宏汇编、 程序调试器/ 软件仿真器、仿真器及评估板.1.3 C328-7640摄像头简介C328 可以被用来与无线设备或是PDA主机连接,完成视频捕捉及JPEG格式的图像压缩功能。用户只需要从主机发出视频捕捉命令就可以得到一幅完整的被捕捉图像的信息在帧,然后JPEG引擎将这幅图片压缩并传送给主机。特性如下(1)是一种小型化,低成本,低功耗的应用在高分辨率串行总线安全系统或是PAD附件中的摄像模块。(2)提供EEPROM,存储外部主机经由RS232总线写入的命令。(3)异

15、步串行接口,提供静态图片115.2Kbps的传输速度,提供160x128大小影像每秒0.75帧的传输速度。(4)在有全景象OV740/8 VGA色彩传感器。(5)内置JPEG 多媒体数字信号编解码器,针对不同的图像分辨率的要求。(6)内置了一些特定的电路,使之具有VGA,CIF,SIF,QCIF,的图像分辨率。(7)内置色彩转换电路,可以形成2灰度,4灰度,8灰度,12位RGB或是标准JPEG格式的图像。(8)不需要外部DRAM的支持。UARTUART0特点:1) UART0是一个异步、全双工串口;2) UART0具有增强的波特率发生器电路,波特率由定时器1工作在8位自动重载方式产生;功能:使

16、用串口UART0接收上位机发送的数据,当接收到8个连续数据后,取反LED控制,并将数据原封不动地发送回上位机UART1:通用异步收发器.UART是用于控制计算机与串行设备的芯片。1就是指1号芯片。2.系统介绍整个系统选用了比较流行的单片机ATmega16、数字化摄像头C328-7640和GPRS通信模块。整个系统由图像的采集 、图像的处理和图像的发送三个过程组成。图像的采集过程是通过ATmega16单片机控制数字化摄像头C328-7640完成的,C328-7640自身已经封装好了一定的工作命令,当ATmega16单片机通过通信接口给C328-7640成功发送命令,且C328-7640也顺利接收

17、到了该命令,那么C328-7640便会依据该命的指示进行工作了。实现图像的采集,要通过好几条的命令字符才能实现。当摄像头采集到图片后,ATmega16单片机会继续控制摄像头将将采集到的图片数据压缩分包然后再传给单片机,单片机便会把这些数据信息存储FLASH存储器中。ATmega16单片机与GPRS网络模块相连是为了实现图片的发送过程,MSP430单片机是通过AT命令控制GPRS通信模块工作的,GPRS通信模块只要顺利接收到ATmega16单片机发来的AT命令,GPRS通信模块就会通过GPRS网络将图片发送出去。3.软件开发平台3.1图像的采集图像的采集过程,是采用ATmega16单片机和数字化

18、摄像头C328-7640这两个模块实现的。数字摄像头C328-7640自身已经封装好了一定的工作命令,当单片机通过串行接口给C328-7640成功发送命令,且C328-7640也顺利接收到该命令时,那么C328-7640便会依照该命的指示进行工作了。在实现图片采集时,单片机是通过UART0口和数字摄像头C328-7640连接,采用异步传输通信,来完成整个图片的采集过程。3.1.1系统初始化系统初始化子函数的程序:main() /主函数WDTCTL = WDTPW + WDTHOLD; /关闭看门狗 BCSCTL1 &= XT2OFF; /open 8 M do /判断晶振失效 FG1 &= O

19、FIFG; for (i = 0xff; i 0;i-); while (IFG1 & OFIFG) !=0); BCSCTL2 |=SELM1+SELS ; / MCLK=ACLk=8 M,ACLK32.768k Delay_4us(100); /延时437us,以便晶振启动。可以自己任选时长 UXD0(); / 串口主函数 _EINT(); /通用中断允许 UART0串口寄存器的初始化程序void UXD0(void) / 串口调用子函数 UCTL0 &=SWRST /SWRST复位,USART允许UCTL0=0x10 /8位数据位1位停止位,无校验 UTCTL0 = SSEL1; / U

20、CLK = SMCLK8M UBR00 = 0x2B; / 8Mhz/14400- 0x22B-波特率是14400;低八位UBR10 = 0x02; /高八位 UMCTL0 = 0xAA; /位调整,小数部分 ME1 |= URXE0+UTXE0; /使能接收数据 使能发送数据 IE1 |= URXIE0; P3SEL |= 0x30; /选用的是 UXD0口,而不是UXD1口 P3DIR |= 0x10; 3.1.2 ATmega16单片机对摄像头的控制工作(1) ATmega16单片机要控制摄像头工作,首先要与其建立同步,下图便是摄像头与主机建立同步的程序流程图和相应的程序: 注意:“主机

21、给摄像头建立同步”该命令系统最多只允许发送60次 图3.3 建立同步a.主机与摄像头建立同步 执行命令:Sync6=0xAA,0x0D,0x00,0x00,0x00,0x00; 回 复:Ack6=0xAA,0x0E,0x00,0x00,0x00,0x00; 该部分最多只允许循环60次,如果循环60次之后还未成功,那么就跳出程序,重新开始。b.摄像头与主机建立同步执行命令:Sync6=0xAA,0x0D,0x00,0x00,0x00,0x00; 回 复:Ack6=0xAA,0x0E,0x00,0x00,0x00,0x00; (2) ATmega16单片机控制摄像头拍摄照片,并将拍摄到的照片转存到

22、MSP430单片机内。其程序流程如下图所示:图3.4 拍摄图片a.设置图像为JPEG格式,分辨率为640480执行命令:Initial6=0xAA,0x01,0x00,0x07,0x07,0x07; 回 复:Ack6=0xAA,0x0E,0x00,0x00,0x00,0x00; b.设置数据包大小为512字节执行命令:Set_pack6=0xAA,0x06,0x08,0x00,0x02,0x00;回 复: Ack6=0xAA,0x0E,0x00,0x00,0x00,0x00;c.抓取一帧图像并保存在缓存中,图像压缩执行命令:Snapshot6=0xAA,0x05,0x00,0x00,0x00,

23、0x00; 回 复:Ack6=0xAA,0x0E,0x00,0x00,0x00,0x00; 3)从摄像头获取图像执行命令: Get_pic6=0xAA,0x04,0x01,0x00,0x00,0x00; 回 复: Ack6=0xAA,0x0E,0x00,0x00,0x00,0x00; 4)接收快照数据执行命令:Data6=0xAA,0x0A,0x01,0x00,0x00,0x00;回 复: AckID6=0xAA,0x0E,0x00,0x00,0x00,0x00;5)接收数据 图像数据将会以包的形式发送给单片机,每接收到一个数据包,便会返回一个ACKID,一直到接收完整个图像数据为止。3.2图

24、像的处理:3.2.1图像处理内容及步骤:1、图象几何变换:实现图像的平移、旋转操作,编写实现图像平移的函数。(1)、用imread命令读取一幅灰度图;(2)、将原图转变成256x256大小的灰度图;(3)、调用平移函数,将256256灰度图平移100行200列,并显示平移后的图像。(4)、分别用最近邻插值法、双线性插值法实现图像顺势针旋转50、90并显示变换后的图象。2、图象增强:(1)、将原图中060灰度级压缩到030范围内,压缩比1/2;60180的灰度级扩大到30240,比率为190/120;将180255灰度级压缩到240255范围内,压缩比为15/75,显示结果图。(2)、熟悉命令h

25、isteq,对原图做直方图均衡和直方图均衡处理,比较图像增强的效果,并用命令histem绘制增强后图像的直方图。3、图象滤波:将原图先通过高斯低通滤波器,观察并显示其结果图象,然后将该图通过高斯高通滤波器,观察并显示其由模糊变回清晰的结果图象。4、图象边缘检测:对实验图像用roberts算子、sobel算子、prewitt算子和log算子对原图进行边缘检测,显示结果图,观察其区别。下面是所用到的知识结构:3.3图像的发送:要将采集到的图片通过无线网络发送出去,该系统选用的是GPRS通信模块,通过ATmega16单片机对该模块的控制,完成图像的发送环节,ATmega16单片机与GPRS通信模块式

26、通过UART1口连接的。3.3.1系统初始化系统子函数初始化函数程序:main() /主函数WDTCTL = WDTPW + WDTHOLD; /关闭看门狗 BCSCTL1 &= XT2OFF; /open 8 M do /判断晶振失效 IFG1 &= OFIFG; for (i = 0xff; i 0;i-); while (IFG1 & OFIFG) !=0); BCSCTL2 |=SELM1+SELS ; / MCLK=AC32.768k Delay_4us(100); /延时437us,以便晶振启动。可以自己任选时长 UXD1(); / 串口主函数 _EINT(); /通用中断允许 U

27、ART1 串口寄存器初始化函数程序void UXD1(void) / 串口调用子函数 UCTL1 &=SWRST; / SWRST复位,USART允许 UCTL1=0x30; / 8位数据位,2位停止位,无效验 UTCTL1 = SSEL1; / UCLK =SMCLK8M UBR01 = 0x41; /8Mhz/9600-0x341-波特率是9600,低八位 UBR11 = 0x03; /高八位 UMCTL1 = 0x91; /位调整 ME2 |= 0x30; /使能接收数据使能发送数据 P3SEL |= 0xC0; /选用的是UXD1口,而不是UXD0口 P3DIR |= 0x40; /P

28、3.6为输出3.3.2 ATmega16单片机对GPRS模块的控制工作ATmega16单片机控制GPRS模块工作,其主要目的是控制GPRS通信模块将单片机内存储的图片数据发送出去, GPRS模块在启动后要经历如下几个阶段,如下图所示:1)附着到GPRS网络执行命令:AT+CGATT=l返 回:OK为了使用GPRS服务,SIM100必须连到GPRS网络。从那时起,PLMN(公用陆地移动网)知道SIM100是GPRS模块。这就是说,SIM100可以启动GPRS的数据集以及移动应用操作程序。 2)用户发起PDP上下文激活请求执行命令:AT+CGDCONT=l,“IP”,“CMNET”返 回:OK这里

29、指定通讯格式,IP地址类型和网络接入点APN(负责与因特网或者其它兼容网络的交互)。“CMNET”是中国移动为Internet服务的APN。3)进行PDP上下文激活执行命令:AT十CGACT=1,1返 回:OK在数据传输前先激活。如果GPRS还没连接它将由AT指令自动连接。其中第二个1标示特定的PDP上下文,这个参数只用于单片机与SIM100之间进行标示。4)建立GPRS网络连接执行命令:AT+CIPSTART=“TCP”,“SERVER IP ADDRESS”,“SERVER PORT”返 回:OK此AT命令是设置GPRS发送数据的配置参数,在传输数据之前必需被配置。目前支持“UDP”和“T

30、CP”数据传输,可以选择,要事先给定server的ip地址和server的port端口号,即可以与server相互连接。5)发送图像数据执行命令:AT+CIPSEND=“所发数据” 返 回:OK使用该命令,可以将采集到的图片数据通过GPRS模块发送出去,发送时是以512字节的数据包发送的。4系统调试4.1调试环境在调试串口时,我们用到的串口调试工具如下图所示:图5.1 串口调试环境在使用前要将程序下载到单片机里。先打开如上图所示的“串口调试工具”,在“初始化”一栏中确定好相应的参数后,接着点击“打开串口”,完成这些步骤后,就可以进行调试了。其“发送区”显示的是PC机给单片机所发送的内容,“接收

31、区”显示的是PC机接收到单片机所发的内容。4.2 调试步骤在整个程序的调试中,要经过以下的几个步骤: (1)PC机与单片机连接,调试串口通信程序。 (2)PC机与摄像头连接,发送字符串命令,测试摄像头是否可以正常工作。(3)利用Embedded Workbench将采集图片的程序下载到MSP430单片机内部,接着把单片机与摄像头相连,调试采集图片的程序。(4)PC机与GPRS模块相连,调试GPRS模块在AT指令的指示下是否可以正常工作。(5)将下载好程序的ATmega16单片机与GPRS模块相连,调试ATmega16单片机是否可以控制GPRS模块工作。 结论(1)收获与成果通过这次长达三个月的

32、学习研究,我不仅学习到了不少在课堂上不能学到的知识,在此之前,我对ATmega16单片机和C语言的使用只是局限在理论的层面上,所学知识也只局限在老师课上所讲的。这次毕业设计使我能够真正用所学知识完成实际的项目,将理论和实践结合。加深了我对理论的理解,增强了自己的实践能力。而且,由于使用的C430是以前从没有接触过的,在度过开始阶段的迷茫之后,逐渐了解了C430,并且较能熟练应用了。这加强了我对新事物的接受和学习的能力,相信在以后碰到新的技术时也能够很快的掌握。这次毕业设计是我在大学四年中进行的最正式的一次软件的开发活动,不仅丰富了自己的理论知识,而且提高了编程的水平。编程工作量之大,是以前从未

33、遇到过的,也有很多不尽如人意的地方。但看着系统在自己一天天的程序编写中逐渐成型,有很强的满足感和成就感。(2) 遗憾与不足尽管在毕业设计的过程中收获很多,但还是有许多让人不满意的地方,也显出了自己很多不足。1)设计与实现的矛盾由于对C328的设计经验缺乏,初期的设计往往过于理想化,想象不到实现阶段可能遇到的问题,而等到要真正实现时才发现以前的设计的不足,这时再去考虑就迟了一个好的设计是绝不应该出现这样问题的。在设计初期,自己只明白要设计两个串口通信程序,在通过模拟仿真后,还以为自己的工作完成了,可等到连接硬件调试时,整个程序怎么也不能正确地控制硬件工作,而自己对此问题没有办法克服,才真正的认识

34、到自己的不足,其实理论和实际操作还是差得很远的,在老师和同学的帮助下,虽然该问题得以解决,但还不是最理想的。(3)思索与展望毕业设计已经结束,有很多问题值得思考。在进行整个系统开发时,我认为如何抓住各个模块的功能特点,是做好软件设计的关键,同时也要对C328非常熟悉才行,这才能完成这个远程的监控系统。随着计算机通信技术和网络技术的快速发展,无线网络技术已成为计算机网络中一个至关重要的组成部分,远程的监控系统也将随之迅速的发展起来,它的应用领域也会飞速的扩大。参考资料及文献(1)刘海成 AVR单片机原理及测控工程应用 北航出版社 (2)韩斌杰 GPRS原理及其网络优化 机械工业出版社(3)谭浩强 C程序设计 清华大学出版社(4)吕捷 GPRS技术北京 北京邮电大学出版社,(5)钟章队 GPRS通用分组无线业务等 人民邮电出版社(6)胡伟,季晓衡 单片机C程序设计及应用实例 人民邮电出版社(7)赵亮,侯国锐 单片机C语言编程与实例 人民邮电出版社致 谢感谢 金香 老师的关心、指导和教诲。金香老师追求真理、献身科学、严以律己、宽以待人的崇高品质对学生将是永远的激励。我在长达三个多月的毕业设计期间自始自终都是在金香老师全面、具体的指导下进行的。金香老师渊博的知识、敏锐的思维、民主而严谨的作风,使我受益匪浅,终生难忘。感谢我的同学和朋友们对我的关心和帮助。21

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 学术论文 > 毕业设计

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922