




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、西安电子科技大学国家大学生创新性实验计划中期检查报告 项目名称 基于ARM+DSP架构的无线红外监控系统 申请单位 机电工程学院 项目负责人 王震 指导教师 赵明英 起止年限 批准经费 12000元 检查日期 2010 年 3 月 (以下可根据需要另加页):一、 研究工作主要进展和结果1.S3C2440A(ARM9)硬件的了解 前期从SAMSUNG的S3C2440A(ARM9)的硬件进行学习,包括启动代码的分析,GPIO基础实验,定时器中断实验,串口发送和接受数据实验等。为以后Linux驱动程序的学习和编写打下了基础。 2.PC机上Linux开发环境的搭建对硬件有所了解后,开始了PC机上Lin
2、ux的学习。Linux的操作方法和windows有所不同,所以需要对命令行下常用命令和gcc有所熟悉。要编译出能在ARM板上能运行的程序,需要安装arm-linux-gcc交叉编译器。为了以后调试方便,需要搭建网络文件系统,在PC的Linux 上开启NFS服务。在移植完Linux内核和文件系统后,编写了一些简单的驱动和应用程序。 3.Video For Linux驱动和应用程序 (1)首先说明一下 Video For Linux(V4L) V4L是一些视频系统,视频软件,音频软件的基础,经常使用在需要采集图像的场合,如视频监控,webcam,可视电话,是Linux 嵌入式开发中经常使用的系统接
3、口。它是Linux 内核提供给用户空间的编程接口,各种的视频和音频设备开发相应的驱动程序后,就可以通过 V4L提供的系统 API 来控制视频和音频设备,也就是说 V4L 分为两层,底层为音视频设备在内核中的驱动,上层为系统提供的 API,而对于我们来说需要的就是使用这些系统的 API。(2)Linux系统中的文件操作 在Linux系统中的V4L相关系统调用的作用和使用方法包括open(),read(),close(),ioctl(),mmap()。系统中各种设备(当然包括视频设备)也都是用文件的形式来使用的。他们存在与 dev目录下,所以本质上说,在 Linux 中各种外设的使用(如果它们已经
4、正确的被驱动),与文件操作本质上是没有什么区别的。 (3)V4L中重要的结构体和相关函数 相关结构体和函数的定义我们就放到一个名为 v4l.h 的文件中,相关函数的编写就放在一个名为v4l.c 的文件中。相关结构体:#ifndef _V4L_H_ #define _V4L_H_ #include <sys/types.h> #include <linux/videodev.h>/使用v4l必须包含的头文件,可以在/usr/include/linux 下找到 struct _v4l_struct int fd;struct video_capability capabil
5、ity; struct video_picture picture; struct video_mmap mmap; struct video_mbuf mbuf; unsigned char *map; int frame_current; int frame_usingVIDEO_MAXFRAME; ; typedef struct _v4l_struct v4l_device; 相关函数及采集流程: a打开视频设备(通常是/dev/video0) int v4l_open(char *, v4l_device *); b获得设备信息。 int v4l_get_capability(v4l
6、_device *); int v4l_get_picture(v4l_device *); c根据需要更改设备的相关设置。 int v4l_set_picture(v4l_device*,int,int,int,int,int); d获得采集到的图像数据(在这里 v4l提供了两种方式,直接通过打开的设备读取数据,使用 mmap内存映射的方式获取数据)。 int v4l_get_mbuf(v4l_device *); int v4l_mmap_init(v4l_device *); int v4l_grab_init(v4l_device *, int, int); int v4l_grab_
7、frame(v4l_device *, int); int v4l_grab_sync(v4l_device *); e对采集到的数据进行操作(如显示到屏幕,图像处理,存储成图片文件)。 编写自己的处理函数 f关闭视频设备。 int v4l_close(v4l_device *); 4.图像的发送与接收(1).在linux下通过串口将图片文件发送出去 这里,首先用read函数将图片读入缓冲区buffer中,但我们 并不是读入整个图片,因为过大的数据是GPRS模块所不支持 的。这里,我们将数据分包发送,每包数据包括帧头,帧头数 据由两部分组成:一组特殊字符和本包有效数据大小size。特 殊字符用
8、于判断接收到的数据是否是图片文件中的数据,同时 告知上位机此时开始传输图片,size用上为机解析图片时写入 图片文件的字节数。 然后主要用write函数,将buffer中的数据发送给GPRS 模块,而我们所选择的GPRS模块能够将接受到的串口数据通 过网络自动传输到指定的服务器。所以,我们只须要编写好接 收软件,将传输过来的数据解析成图片文件。 (2).用VC+编写图片接受软件 a.主要使用MFC编写接受软件框架,包括串口选择框,波特率 设置框,显示框等常用框架。 b.串口响应函数是此软件的核心部分。我们选择使用windows API,编写这一部分。程序中使用了比较流行的一个类库 Serial
9、Port,该类中包含了串口初始化函数InitPort、串口 发送数据函数: WriteChar(CSerialPort* port), WriteToPort(LPCTSTR string), WriteToPort(LPCTSTR string,int n), WriteToPort(char* string,int n), WriteToPort(char* string) 最重要的是这个类中加入了多线程的处理,虽然现在我们并 没有用到多线程,但在后期的开发中肯定是会使用的。 同时,接受软件在接受到串口数据,并成功写入我们的图片文件后,还要负责告知发送端,发送下一帧数据,否则发送端一直处于
10、等待状态。这样能防止一帧数据还没写完,又接受到另一帧数据。2、 哪些研究内容作了必要调整和变动,说明原因主要变动: 前期计划采用红外摄像头采集图像,但由于价格昂贵,操作复杂, 不利于开发,我们舍弃了这个方案。后来,经过实验证明,普通USB摄 像头经过改装后也能达到不错的拍摄效果。 三、哪些研究内容未按计划完成,原因何在;是否能如期结题,如果不能,计划何时结题 在指导老师和学长的帮助下,项目均按计划完成,能如期结题。四、经费使用情况和下阶段经费安排计划5、 存在问题、建议及需要说明的情况GPRS传输速度较低,一般平均速率在20-30Kb,如果传输大量数据,需 要较长时间,影响了系统的时事性。如果后期时间允许,可以改用3G 网络传输。 项目负责人签字:王震 年 月 日 指导教师审查意见:本项目组进展良好,任务已完成60%,已实现ARM系统搭建,文件系统建立,数字图像采集,基于TCP/IP协议得图像数据GPRS传输基本实现。上位机图像接收及显
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 提高自我保护意识的安全教育计划
- 串串店店面转让合同样本
- 农资聘用合同标准文本
- 2025年的建筑工程承包合同
- 主管的职业发展路径规划计划
- 债权继承合同样本
- 2025广州企业员工标准劳动合同范本
- 入驻经营合同标准文本
- 班级工作计划完善技巧
- 农村安装果园合同样本
- 沪教版(五四学制)(2024)六年级下册单词表+默写单
- 计量经济学期末考试题库(完整版)及答案
- 安保工作“智能化、网格化”管理模式的建立及持续改进工作
- 履带底盘的组成介绍及各参数的计算
- 资产评估收费管理办法中评协[2009]199号
- 贾平凹《秦腔》
- 联轴器找中心PPT课件
- 加 工 贸 易 手 册
- CDP指标介绍及应用
- 浙江省建设工程施工取费定额(2003版)完整版
- 机动车查验工作规程GA801-2019
评论
0/150
提交评论