下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 基于ARMLinux的图像采集与蓝牙传输摘要:实现了一种全集成可变带宽中频宽带低通滤波器,讨论分析了跨导放大器-电容(OTAC)连续时间型滤波器的结构、设计和具体实现,使用外部可编程电路对所设计滤波器带宽进行控制,并利用ADS软件进行电路设计和仿真验证。仿真结果表明,该滤波器带宽的可调范围为126 MHz,阻带抑制率大于35 dB,带内波纹小于05 dB,采用18 V电源,TSMC 018m CMOS工艺库仿真,功耗小于21 mW,频响曲线接近理想状态。关键词:Butte嵌入式Linux系统具有可移植性好、网络功能强、优秀的GNU编译工具、免费的
2、开放源代码等优点。S3C2410处理器是一款采用ARM920T结构,内部资源非常丰富的32位嵌入式处理器。USB摄像头具有低廉的价格,良好的性能,加上Linux下有V4L支持对其编程,很容易集成到嵌入式系统中。蓝牙技术是目前被认可的短距离无线通信技术,广泛应用于手机、电脑以及汽车免提系统。本文介绍基于嵌入式Linux的USB图像采集系统,并通过构建好的嵌入式Linux下的蓝牙环境将采集到的图片传送到蓝牙手机上,实现监控功能。1 软硬件平台概述系统硬件平台如图1所示。该平台软件上采用嵌入式Linux操作系统;硬件上采用Samsung公司的S3C2410处理器,另外配置了64 MB的NAND Fl
3、ash存储器和64MB的SDRAM,通过以太网控制芯片CS8900扩展一个10M以太网接口。引出两个USB主口,一个接USB摄像头,一个接USB蓝牙适配器;将通过USB摄像头采集到的图像数据输出到缓冲区中,保存成文件,并通过蓝牙传输到蓝牙手机上。2 摄像头驱动在Linux下已经支持的摄像头驱动是采用ov511芯片的摄像头。使用这款芯片的摄像头有网眼20003000等系列,而现在市面上常见的摄像头芯片大多采用中芯微的zc0301、zc0302和zc0303等。Linux内核中并没有相关的驱动支持,但可以从网上下载到相关的spca5xx驱动。本系统就采用市面上最常用的zc0301p1芯片的摄像头。
4、由于是用于ARM开发板上,可以下载专用于嵌入式Linux的spca5xx-LE驱动,LE版的驱动最大限度地减少了内存的使用,符合嵌入式的需要。将下载的驱动加入到内核中,修改Makefile和Kconfig文件,在内核中选中USB_SPCA5XX,编译后就将摄像头的驱动加入到内核映像中了。3 Video4Linux简介Video4Linux(简称“V4L”)是Linux下用于获取视频和音频数据的API接口,配合适当的视频采集设备和相应的驱动程序,可以实现影像图片采集、AMFM广播、频道切换等功能,在远程会议、可视电话、视频监控系统中都有广泛的应用。在Linux下,所有外设都被看成是一种特殊文件,
5、称为“设备文件”,可以像访问普通文件一样对其进行读写。一般来说,采用V4L驱动的摄像头设备文件是devv4lvideo0。为了通用,可建立一个到devvideo0的连接。V4L支持两种方式来捕获图像:mmap(内存映射方式)和read(直接读取方式)。V4L在includelinuxvideodev.h文件中定义了一些重要的数据结构,在进行图像的采集过程中,就是通过对这些数据的操作来获得最终的图像数据。4 图像采集在图像采集过程中,采用V4L的read方式直接读取设备来获取JPEG格式的图像数据,具体流程如图2所示。4.1 初始化摄像头设备指定要操作的摄像头设备文件devvideo0,调用op
6、en()打开该设备文件,将自定义的数据结构vdIn中的成员初始化,包括设备名称(vd->videodevice)、要采集图像的宽度(vd->hdrwidth)和高度(vd->hdrheight)、像素位数(vd->bppIn)、帧大小(vd->framesizeIn),为帧数据分配存储空间(vd->pFramebuffer)。4.2 设定待采集图像的各种属性zc0301p1摄像头支持JPEG格式的图像采集,定义VIDEO_PALETTE_JPEG为21,将其赋值给图像帧的调色板palette,这是一个必须设置的重要的参数。其他参数(如图像色调、颜色、对比度等
7、)可以先将VIDIOCGPICT传递给ioctl()查看其默认值。如果发觉以上的参数不符合采集图像的规范,则可以将pict.brightness、pict.colour、pict.contrast、pict.white-ness、pict.depth等重新赋值,再将VIDIOCSPICT传递给ioctl()来重新设置这些参数。4.3 进行图像采集在图像采集过程中,采用read方法直接读取设备文件来获取一帧数据保存到缓冲区中,通过convertframe()函数将pFramebuffer中的数据转成完整的JPEG格式的数据保存到ptframe缓存中去,再调用fwrite()函数将pt-frame
8、缓存中的JPEG格式数据写入到指定的文件中去,即得到一幅JPEG格式的图像。5 蓝牙传输蓝牙协议规范遵循开放系统互连参考模型(OpenSystem InterconnectionReferenced Model,OSIRM),从低到高地定义了蓝牙协议堆栈的各个层次,如图3所示。在蓝牙协议体系中,OBEX位于RFCOMM之上。OBEX提供了对象的表示模型,并通过“Put”和“Get”操作传输对象。设备间的对话遵循客户和服务器间的请求响应模式。OBEX会话开始由客户端发出连接请求,连接建立成功后服务器发送成功的连接响应,否则发送连接不成功的连接响应。在连接之后,客户端可以通过Put请求向服务器“推
9、送(Push)”对象,如果对象较大,Put请求可以使用多个Put请求分组,每个请求分组需返回一个Put响应分组。本系统将采集到的图片保存到tmpcap.jpeg,现在要将图片通过蓝牙传输到蓝牙手机上。具体实现过程如下: 在内核中打上蓝牙补丁,加入蓝牙协议的支持,添加USB蓝牙适配器的驱动。 编译bluez的库和工具。从网上下载bluez-libs、bluez-utils和dbus库,用arm-linux-gcc完成交叉编译,得到了arm版的bluez库和bluez的工具以及dbus-daemon工具。这是蓝牙适配器在ARM Linux的环境下正常工作所必需的。 启动USB蓝牙适配器。要使USB
10、蓝牙适配器正常工作,需要用到步骤中编译得到的dbus-daemon工具和一些蓝牙工具(如hciconfig、hcid等)。dbus是一个消息传递系统,应用程序间可通过它来相互传递消息。dbus-daemon是一个守护进程,是运行hcid所必需的,hcid用来读入hcid.conf文件。该文件是蓝牙设备的一个配置文件,在该配置文件中设置好蓝牙设备的类型、classid、配对码、设备是否可被搜索等其他的属性。 实现文件传输。本系统采用OBEX协议的客户服务器模式来传递采集到的图片文件,需要用到蓝牙的Object PUSH服务。首先用sdptool工具搜索到蓝牙手机的MAC地址以及Object PUSH服务所占用的频道,然后用rfcomm工具将该频道绑定到虚拟串口,最后运行obex_test完成文件的传输。图4是采用
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年高职动画设计(动画设计理论)试题及答案
- 2025年中职(应用化工技术)化工环保技术阶段测试试题及答案
- 近八年福建中考化学试题及答案2025
- 养老院老人心理咨询师激励制度
- 养老院志愿者服务管理制度
- 公共交通停车场管理制度
- 2026年手工皮具制作进阶试题集含答案
- 2026年西安高端会计人才选拔试题及答案
- 2026年乡镇检验员笔试重点题库含答案
- 2026年南宁律协面试题库与备考核心要点含答案
- 市政项目EPC总承包项目方案投标文件(技术方案)
- 2026年常州工业职业技术学院单招职业适应性测试模拟测试卷附答案
- 马克思主义与当代课后习题答案
- 二十届四中全会测试题及参考答案(第三套)超难
- 2025年事业单位面试心理素质测试模拟试卷及答案
- 2025-2030疫苗冷链物流体系建设标准与第三方服务市场机会报告
- 2025年江苏省事业单位招聘考试教师招聘体育学科专业知识试卷(秋季篇)
- 2025年中国橡胶粉改性沥青(AR)行业市场分析及投资价值评估前景预测报告
- 【完整版】2025年自考《马克思基本原理概论》真题及答案
- 胸外科围手术期护理指南
- 大数据中心建设项目标准与工程造价指标分析
评论
0/150
提交评论