面向单片机的图像传输显示系统的设计与实现_第1页
面向单片机的图像传输显示系统的设计与实现_第2页
面向单片机的图像传输显示系统的设计与实现_第3页
面向单片机的图像传输显示系统的设计与实现_第4页
面向单片机的图像传输显示系统的设计与实现_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

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

文档简介

I 题目面向单片机的图像传输显示系统的设计与实现PAGEI摘要近年来,在科学技术快速发展的基础上,互联网已经融入人们的生活之中,一切的行为信息都可以通过数据存储和分享等,人们已经生活在以数据为中心的环境中,通过智能硬件收集并处理信息,将处理后的信息展示在人们眼前。智能技术的快速发展使我们的生活进入到智能时代。本设计面向单片机的图像传输系统设计与实现,通过蓝牙通信通道,使用单片机来控制和连接安卓手机相机系统,同时通过手机应用,实现拍照和传输图像并显示在单片机LCD屏幕上的目的。本设计采用的单片机是德州仪器(TI)推出的Cortex-M4单片机,型号为EK-TM4C1294XL。蓝牙异步串口模块采用CSR®BluetoothTM2.0核心芯片BC417设计。运用了按钮控制、蜂鸣器控制、TFTLCD液晶屏开发、图像二值化处理、图像缩放、蓝牙通信等技术,涉及到CCSM4开发,安卓SDK开发,安卓NDK开发等,使用opencv函数实现不同图像效果呈现。本设计充分利用单片机的性能好、体积小、价格优的特点,以及智能手机普及的现状,实现安卓系统和单片机之间的相机控制、拍照、图像处理、图像传输、图像显示的功能。本设计的开发,能够以低成本的方式,实现智能化硬件之间的相互控制,为智能化家居生活提供一个方面的解决方案,并且充分利用与生活相关的智能手机和智能硬件,实现智能化的交互动作,提升人们的生活品质。关键词:蓝牙,远程控制,单片机,安卓系统,图像传输,opencvAbstractInrecentyears,onthebasisoftherapiddevelopmentofscienceandtechnology,theInternethasintegratedintoourlife.Allthebehavioroftheinformationcanbethroughthedata-storageanddata-sharing.Peoplehavebeenlivinginadata-centricenvironment.Wecancollectandprocessinformationbytheintelligenthardware,andthenshowtheprocessedinformationtous.Therapiddevelopmentofsmarttechnologymakesourlifeintotheintelligentera.Thedevise,fortheimagetransmissionsystemdesignandimplementationofmicrocontrollers,viaBluetoothcommunicationchannel,usesmicrocontrollerstocontrolandconnecttheandroidmobilephonecamerasystem.weachievetheaimthatpicturesandimagesdisplayontheTFTLCDscreen.Thisdevise’smicrocontrolleristhelaunchedCortex-M4microcontrollerbyTexasinstruments(TI)andmodelnumberisEK-TM4C1294XL.BluetoothasynchronousserialportmoduleusesthedesignofCSRBluetoothTM2.0corechipBC417.Thedeviseappliestechniquesofthebuttoncontrol,buzzercontrol,TFTLCDscreenimagedevelopment,binarizationimageprocessingtechniques,imagescalingandbluetoothcommunication.ItinvolvesthedevelopmentofCCSM4,androidSDKdevelopment,andandroidtheNDKdevelopment,andusesopencvfunctiontopresentdifferentgraphics.Thisdevisemakesfulluseofthemicrocontrollers’advantagesofgoodperformance,smallvolumeandreasonableprice,andalsoutilizesthefactofthepopularizationofthesmartphonetoachievefunctionsofcameracontrolling,takingphotos,handlingimage,transmittingimage,anddisplayingimagebetweenandroidandmicrocontrollers.Thedevelopmentofthedevisecanrealizetheinteractingcontrolbetweentheintelligenthardwareinalowcostform.Inaddition,itmakesfulluseofsmartphonesandintelligenthardwarewhicharerelatedwithourlifetorealizetheintelligentinteractiveactionandimprovepeople'squalityoflife.Keywords:bluetooth,telecontrol,microcontrollers,android,imagetransmission,opencv目录TOC\o"1-3"\f\u摘要 IAbstract I第一章绪论 11.1 研究背景 11.2 研究意义 11.3 国内外研究现状及难点 21.4 本文的研究内容 41.5 本文的组织结构 61.6 本章小结 6第二章总体设计 72.1 面向单片机的图像传输显示系统总体设计 72.1.1 单片机概要设计 82.1.2 软件APP概要设计 92.2 开发环境 104.2.1 软件环境 104.2.2 硬件环境 102.3 主要开发语言 102.4 本章小结 11第三章单片机系统详细设计 123.1 单片机设计详细概述 123.1.1 单片机选择方案 123.1.2 电路控制方案 143.1.3 CCSM4底库开发 153.1.4 TFTLCD液晶屏开发 173.1.5 蜂鸣器 193.1.6 控制器 203.2 蓝牙通讯 213.3 安卓手机选择 243.4 本章小结 25第四章软件APP详细设计 264.1 APP设计概述 264.1.1 Android系统简介 264.1.2 Android系统架构 274.1.3 Android开发环境搭建与工程建立 284.2 APP软件主要功能实现 294.2.1 蓝牙功能 294.2.2 图像二值化处理 304.3 Opencv简介 314.4 本章小结 33第五章系统测试与实现 345.1 系统测试 345.1.1 功能原理 345.1.2 Android软件APP功能 385.2 系统功能实现 395.3 本章小结 42第六章总结 436.1完成的工作 436.2存在的问题及下一步工作 436.3前景展望 43参考文献 45致谢 47附录 48附录1毕业设计文献综述 48附件2毕业设计开题报告 48附件3毕业设计外文翻译(中文译文与外文原文) 48图目录TOC\c"图"图21系统框架示意 7图22实物系统展示图 8图23单片机系统实物照片 9图31Cortex-M4单片机 13图32管脚复用明细其一 13图33管脚复用明细其二 14图3412V升压电源模块系统图 14图35线性稳压模块图 15图36MOS管H桥驱动电路 15图37CCSV6主界面 16图38CCS-M4开发工程建立 16图39初始化单片机频率代码实现 17图31016位并口方式时序特征 18图31116位并口方式时序图 19图312TFTLCD液晶屏显示控制代码 19图313蜂鸣器控制-关 20图314蜂鸣器控制-开 20图315控制按钮范例 20图316控制按钮初始化代码 21图317按钮控制实现代码 21图318蓝牙串口模块 23图319单片机蓝牙初始化 24图320联想A790e智能手机 25图41Android系统架构图 27图42APP工程建立 29图43蓝牙控制工程其一 30图44蓝牙控制工程其二 30图45图像二值化处理函数代码 31图51单片机系统展示 34图52菜单栏效果 38图53蓝牙连接选项 38图54蓝牙扫描界面 39图55蓝牙连接成功提示 39图56单片机接通电源 40图57样片原图 41图58拍摄二值化图效果 41图59传输成功二值化图 42PAGE40第一章绪论研究背景近年来,在科学技术的快速发展的基础上,尤其是各大互联网公司的快速发展,互联网已经融入人们的生活之中,一切的行为信息都可以通过数据存储和分享等,人们已经生活在以数据为中心的环境中,通过智能硬件收集信息,通过智能化的移动设备处理信息,将处理后的信息展示在人们眼前,改变着人们的生活方式。由此,家居环境和设施的智能化也可以通过智能化的方式实现突破,人们对此有了更高的期望,无论何时都可以运用移动智能设备控制智能家居硬件,我们终会实现家居硬件与生活的互动,更加舒适、安全、人性、智能的居住环境是能够在现实中实现的。智能技术的快速发展使我们的生活进入到智能时代。家居生活的智能化是当今计算机网络与通讯技术最人性化的应用[1]。现代家居需要将一些静止的设备转变为具有能动性的智能化的硬件。使得家居硬件与外部环境保持有趣的信息的交流。实现了信息的全方位交互,智能家居系统致力于为用户营造一个更为安全、灵智、简便、时尚的数字化居家空间,带来全新的、高尚的、智能的生活体验[2]。智能家居硬件一直在改变着人们的生活方式和工作方式,人们的日常生活将更加智能化。研究意义“面向单片机的图像传输显示系统的设计与实现”是通过蓝牙通信通道连通手机和单片机,使用单片机的按钮来控制和连接安卓手机相机系统,同时通过手机应用,实现拍照和传输图像并显示在单片机LCD屏幕上的目的。这个充分利用单片机的性能好、体积小、价格优的特点,以及智能手机普及的现状,最终实现安卓系统和单片机之间的相机控制、拍照、图像处理、图像传输、图像显示的功能。本设计的开发,能够以低成本的方式,实现智能化硬件之间的相互控制,为智能化家居生活提供一个方面的解决方案,充分利用与生活相关的智能手机和智能硬件,实现智能化的交互动作,提升人们的生活品质。国内外研究现状及难点本众所周知,一个完整的家居环境组成有电梯、冰箱、灯光、空调、电磁炉、插座等各种设备,能够实现这些设备的电子控制是1984年在美国率先实现的,在这个家居建筑系统里面不仅能够控制家居,而且还能进行监控,收发邮件和语言控制等功能。这算是智能家居的开创时代。智能家居的各种方案相继出现在德国、日本、美国等经济比较发达的地区。美国电子工业协会于1988年编制了第1个适用于家庭住宅的电气设计标准,即《家庭自动化系统与通讯标准》,也有称之为家庭总线系标准(HBS)[3]。最近几年,随着人们生活水平的提高,智能家居技术不断成熟、三网融合的实现、物联网的发展,必然使智能家居迎来了新的阶段。随着移动智能手机的日益普及,尤其是安卓系统手机的高占有率,未来智能家居控制的方向是智能移动设备。2014年,依据第三方数据挖掘和整合营销机构艾媒咨询(iiMediaResearch)的数据,中国智能手机市场上半年的销量达到18556.3万部,全年有望突破4亿部大关,约占全球销量的三分之一以上,成为全球炙手可热的智能手机销售区域[4]。一款叫做Android@Home的应用程序在Google的年度的I/O开发者大会上被推出,家用电灯的开关可以通过该程序在Android智能手机或智能平板电脑上控制其开关,其他主要的功能是可以控制无线智能立体声音箱系统[5]。进入互联网时代,智能家居控制将成为国外流行的时尚文化,据不完全统计,在未来十年中,该市场的容量高达到600亿美元,是个十分巨大的市场机会。我们国家的智能家居开始于20世纪90年代末。1999年,国外智能家居产品开始进入中国市场标志是外商永泰峰公司带着其ApBus产品参展出现在深圳首届高交会上。中国电力科学研究院在1999年开始了对电力线高速数据通信技术的研究。2010年,它显然已成为中国智能家居行业的拐点:国家关于物联网与三网合一政策的大力支持,各个国内外优秀IT、家电、通讯、安防等行业领军企业开始全面涉足智能家居行业,无形中对中国智能家居行业做了一次最大的规模的市场宣传与美好未来展望,可以说,中国智能家居行业开始由成长正在走向成熟[6]。近年来,Android智能手机在中国占主导份额,Android智能手机成了智能家居控制终端的方向。2012年9月,乐得威全功能Android智能家居软件正式发布,乐得威智能家居终端软件集可方便的安装在Android智能手机上,手机与家中的智能主机相连。具统计资料显示,目前我国已有70%的安有网络宽带,在一线、二线城市化进程中,将有50%左右的住宅要实现智能化控制,由此看来我国智能家居控制系统前景还是可观[7]。蓝牙[8]技术是一种经济的无线解决方案,智能手机中都配备了蓝牙模块,蓝牙具有方便、可靠、容易使用的特点。在智能家居的控制方面,蓝牙技术是相当可靠的实现方式。我国将住宅小巧智能化定义为:利用4C技术,通过有效的传输网络,将多元信息服务与管理、物业管理与安防、住宅智能化系统集成,为住宅小区的服务与管理提供高技术的智能化手段,以期实现快捷高效的超值服务与管理,提供安全舒适的家居环境[9]。目前,该研究领域主要有以下几个难点:远程控制、图像处理、图像压缩、图像解码等。首先,远程控制的难点是通过单片机和安卓手机之间的通讯,同时能够保证信号的持续连接,通过单片机上面的按钮控制安卓手机拍照,达到远程控制的目的,由于蓝牙的有效距离相对较短,智能手机型号的不同,要达到稳定的控制是一个难点。其次就是图像处理,在本方案中可以通过安卓手机选择不同的图片效果,通过opencv和安卓手机结合是一个比较大的难点。再有就是图像压缩的难点,为了考虑图像传输的速度和效果,图像在从手机传输到单片机的过程中需要先对图片进行压缩处理。最后就是图像解码,图像在传输到单片机上面之后还要经过解码才能完整的显示在显示屏上,解码的效果直接影响了显示效果。本文的研究内容整个设计涉及到安卓系统和单片机,开发工作量大,不仅要实现单片机的开发,蓝牙模块的调用,还需要完成安卓SDK开发、安卓NDK开发等。本研究的具体容包括:(1)单片机开发单片机(Microcontrollers)[10]是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。在单片机上,要实现蓝牙模块的调用,通过蓝牙,讲图像传输到单片机上,同时在单片机LCD屏幕上显示出来,显示出来的同时会控制单片机上的蜂鸣器,发出蜂鸣声。在单品机开发中要用到CCSM4底库,在底库中完成针脚的调用,同时实现LCD主控芯片的控制。(2)蓝牙连接单片机蓝牙模块和安卓手机的蓝牙连接是本设计的关键。蓝牙是一种经济的无线解决方案[11],蓝牙是一种短距离无线通信技术,成本低、功耗小、传输速率较高、抗干扰能力强、组网灵活。蓝牙具有小型化无线电、低功率、低成本、内置安全性、稳固、易于使用、即时联网等功能特点,是市场上得到认可的主导短距离无线技术。蓝牙模块的开发模式分为2类:eq\o\ac(○,1)单微控制器模式eq\o\ac(○,2)双微控制器模式,即蓝牙低层协议与用户应用程序分别由主机控制器和主机来实现。蓝牙通信实现主要是以下步骤,第一步:初始化。第二步:搜索蓝牙设备。第三步:选定扫描到的设备并建立连接。第四步:数据传输。(3)图像处理随着多媒体技术的快速发展,对图像采集及处理技术系统的性能提出了更高的要求[12]。在本方案中不仅涉及蓝牙模块的调用,安卓系统APP开发,还涉及到图像处理相关技术实现,本方案中主要采用的是图像二值化处理的实现。为了提高图像处理的速度,工业上一般采用处理过程相对简单的二值化图像,因此如何合理选取二值化阈值,使之同时满足速度和精度的要求,就成了一个关键的问题。图像二值化是图像分析与处理中最常见最重要的处理手段,二值处理方法也非常多。越精准的方法计算量也越大。图像二值化是图像处理的一项基本技术[13]。在本方案中不仅涉及蓝牙模块的调用,安卓系统APP开发,还涉及到图像处理相关技术实现,本方案中主要采用的是图像二值化处理的实现。数字化的图像系统可以充分利用计算机快速处理能力,对齐进行压缩、分析、存储和显示[14]。(4)数据传输安卓手机采集图片,在手机内通过opencv二值化,数模转换,将数据打包分为2000个包分别通过蓝牙依次传输。(5)安卓开发Android是基于Linux的免费和开放源代码的操作系统,主要用于移动设备,如智能手机和平板电脑。第一款Android智能手机在2008年10月发布。Android逐渐扩展到平板电脑和其他领域。2011第一季度Android在全球市场份额首次超过Symbian,居世界第一位。在2013年第四季度,全球市场份额的Android手机平台已经达到78.1%[15]。Android智能手机在国内智能手机市场占据了较大的份额。此统由操作系统、中问件、用户界面和应用程序组成。Android程序可以利用其他应用程序的资源,所以应用开发Android系统已经风靡全球,各种高科技领域都在向Android进军。Android的优势决定了它的盛行,它有着开放性和灵活性,使用Java语言开发,高兼容,硬件选择丰富的特性。本设计中,需要开发简单界面的手机APP,通过改APP的操作,完成蓝牙连接、图像拍摄、图像特征选择等任务。本文的组织结构本文共分为六章,以“面向单片机的图像传输显示系统的设计与实现”为背景,研究讨论单片机开发,Android软件开发,蓝牙传输等问题,将这些技术运用到实际的生活场景做了理论和实际的研究。各章内容如下:第一章,介绍了课题研究的背景,国内外相关领域的研究及应用,课题研究的主要任务和本文的主要工作。第二章,详细介绍了系统开发的方法与技术和总体设计情况。第三章,重点介绍了单片机系统的详细开发过程和技术要求。第四章,具体介绍Android软件APP开发详解,以及关键技术分析,完成开发任务。第五章,系统的测试和实现。本章测试系统的正常工作,以及最终的实现效果。第六章,对对系统开发进行总结并提出下一步工作。本章小结本章简要介绍项目的研究背景、在国内外相关领域的开发和应用现状以及项目的研究的任务和意义。最后,给出了本文的主要工作及本文的组织结构。第二章总体设计面向单片机的图像传输显示系统总体设计本文设计了一种面向单片机的图像传输显示系统。该设计系统主要是由单片机、Android智能手机、软件APP系统组成。其中,单片机选择的是CCSM4单片机,它和手机共同组成该系统的硬件部分。软件APP部分,opencv和APP结合组成了软件控制系统。该设计主要实现的功能是:(1)可以通过蓝牙将单片机和安卓手机连接,实现单片机和安卓手机之间的通讯,从而为图像的传输打好基础。(2)可以通过单片机控制安卓手机相机系统,达到单片机控制拍照的功能。(3)APP可以实现图像不同模式的展示和选择,并将图像传输到单片机上面。图2-1是该系统的示意图,安卓手机上有安装开发好的APP,可以运行APP达到控制相机系统的功能,在单片机上面已经完成单片机的程序开发可以实现单片机的显示屏的驱动、按钮的控制、以及蓝牙模块的使用。图2SEQ图\*ARABIC\s11系统框架示意图2SEQ图\*ARABIC\s12实物系统展示图单片机概要设计单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。在本设计中主要用的是德州仪器(TI)推出的Cortex-M4单片机,核心板是TI公司制造的,型号为EK-TM4C1294XL。该单片机适合多层次的使用者,具有功耗低、兼容性强、速率快的特点。图2-3是单片机的实物照片。各模块主要实现的功能如下所述:LED灯:主要作用是通电之后亮起,显示通电正常。蜂鸣器:主要作用是当图像完成传输之后蜂鸣声响起,给予声音反馈。串口:不同的串口实现不同的功能,主要是实现蓝牙模块的连接。LCD显示屏:显示屏的主要作用是显示传输过来的图像。控制按钮:通过控制按钮的控制可以完成安卓手机相机系统的控制。USB电源接口:通过USB方式提供电力需求。主控芯片:主控芯片主要运行程序,达到效果。图2SEQ图\*ARABIC\s13单片机系统实物照片软件APP概要设计APP软件开发指的是手机应用软件的开发与服务,APP是英文Application的简称,由于智能手机的流行,APP指智能手机的第三方应用程序。该技术广泛运用于视频处理、软件开发、物理加速、科学研究等。本设计中的软件APP设计主要包括相机系统调用,蓝牙的搜索和连接,opencv植入等。实现蓝牙的连接,不同图像质量的选择。开发环境软件环境操作系统:Windows7单片机开发:CodeComposerStudioIDE6.0Android软件工具开发包Eclipse硬件环境Cortex-M4单片机,型号为EK-TM4C1294XLIntel(R)Core(TM)i5-4200MNVIDIAGeForceGT730M+IntelGMAHD4600主要开发语言本设计开发过程中不仅涉及到单片机的开发,而且还涉及到安卓APP的开发,用到开发语言广泛,涵盖了传统的Java、C语言、C++语言。JavaJava平台和语言是由SUN公司在1990开发完成。Java编程语言的风格十分接近C语言、C++语言。Java是一个纯粹的面向对象的程序设计语言,它继承了C++语言面向对象技术的核心。Java舍弃了C语言中容易引起错误的指针、运算符重载、多重继承等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。Java具有极强的兼容性和可使用性。在本设计中,Java语言的应用主要是安卓SDK的开发中使用以及opencv开发中使用。C语言C语言是一门通用计算机编程语言。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。C语言也很适合搭配汇编语言来使用,与汇编语言的子过程(routine/procedure)的ABI一定是完全兼容的。C语言是目前世界上流行、使用最广泛的高级程序设计语言。C语言对操作系统和系统使用程序以及需要对硬件进行操作的场合,用C语言明显优于其它高级语言,许多大型应用软件都是用C语言编写的。C语言具有绘图能力强,可移植性,并具备很强的数据处理能力。在本设计中,主要是用于单片机的开发和Opencv开发中使用。C++语言C++是一门计算机语言,其内涵和外延相当丰富,被称为杂种范式语言。同时C++是一门面向对象的程序设计语言,语法丰富,概念全面,兼顾易用和效率,在游戏开发、网络软件、分布式、移动设备、嵌入式系统等领域有着广泛的应用。C++是由C语言发展而来,保留了C语言原有的所有优点,增加了面向对象的机制。C++与C语言兼容,用C语言写的程序基本上可以不加修改地用于C++。本设计中,用到C++语言开发的地方有安卓NDK开发和opencv开发。本章小结本章以面向单片机的图像传输显示系统设计概述为突破口,介绍系统开发过程中需要了解和掌握的方法和技术。大概阐述了单片机开发需求、软件开发需求,同时介绍了开发的环境和语言。这一部分是对本设计的概述性介绍。第三章单片机系统详细设计单片机设计详细概述本节主要介绍选择的单片机,包括型号,特点,蓝牙模块,此外还有单片机开发的一些方案。单片机选择方案单片机以其性能好、体积小、价格优、功能齐全等突出优点被广泛应用于家用电器、计算机外设、通讯、工业控制、自动化生产、智能化设备以及仪器仪表等领域,成为科研、教学、工业技术改造最得力的工具[16]。单片机不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。单片机选择方案使用范围工业方面:数据采集、测控技术、远程通信。智能仪表:数字示波器、数字信号源、数字万用表、感应电表、智能传感器。在本设计中主要用的是德州仪器(TI)推出的Cortex-M4单片机。德州仪器(TI)是世界上最大的半导体公司之一。在创新半导体技术领域已经深耕多年,开发出性能卓越的先进电子产品帮助开发者。深入到多个研究领域,包括模拟、嵌入式处理以及无线技术等技术,在数字通信娱乐业务方面也有非常好的应用,此外还有医疗服务、汽车系统等。TICortex-M4的优势是首款用65nm流程制造的Cortex-MMCU,因此能够以合理的价格为终端应用或参考设计快速找到高性能精度和低功耗之间的平衡。这些器件也具有浮点性能、业界领先模拟集成和同类产品中最高的功率性能。在本设计中主要用的是德州仪器(TI)推出的Cortex-M4单片机,如图3-1。核心板是TI公司制造的,型号为EK-TM4C1294XL。该单片机适合多层次的使用者,具有功耗低、兼容性强、速率快的特点。图3SEQ图\*ARABIC\s11Cortex-M4单片机图3SEQ图\*ARABIC\s12管脚复用明细其一图3SEQ图\*ARABIC\s13管脚复用明细其二电路控制方案本设计中,主要用到三块电路控制方案,首先是升压电源模块。图3SEQ图\*ARABIC\s1412V升压电源模块系统图其次是线性稳压模块,线性稳压器一直得到业界的广泛采用。在开关模式电源于上世纪60年代后成为主流之前,线性稳压器曾经是电源行业的基础。线性稳压器(LinearRegulator)使用在其线性区域内运行的晶体管或FET,从应用的输入电压中减去超额的电压,产生经过调节的输出电压。其产品均采用小型封装,具有出色的性能,并且提供热过载保护、安全限流等增值特性,关断模式还能大幅降低功耗。设计方案如图3-5所示。图3SEQ图\*ARABIC\s15线性稳压模块图最后就是MOS管驱动电路,MOS管具有很低的导通电阻,消耗能量较低,在目前流行的高效DC-DC芯片中多采用MOS管作为功率开关。MOS管的寄生电容大,电容可达几十皮法。这对于设计高工作频率DC-DC转换器开关管驱动电路的设计提出了更高的要求。图3SEQ图\*ARABIC\s16MOS管H桥驱动电路CCSM4底库开发CCS软件简介CCS(Code

Composer

Studio)代码调试器是一种合成开发环境。它是一种针对标准TMS320调试器接口的交互式方法。CCS目前有CCS1.1,CCS1.2

和CCS2.0等三个不同时期的版本,又有CC2000

(

针对C2XX

),CCS5000

(

针对C54XX

)和CCS6000

(针对C6X

)三个不同的型号。我们所使用的是CCSV6的版本。图3SEQ图\*ARABIC\s17CCSV6主界面图3SEQ图\*ARABIC\s18CCS-M4开发工程建立图3SEQ图\*ARABIC\s19初始化单片机频率代码实现为了让开发者在最短时间内完成产品设计,LuminaryMicroStellaris外围驱动程序库是一系列用来访问Stellaris系列的基于Cortex-M4微处理器上的外设的驱动程序。对于许多应用来说,驱动程序直接使用就能满足一般应用的功能、内存或处理要求。外设驱动程序库提供两个编程模型:直接寄存器访问模型和软件驱动程序模型。根据应用的需要或者开发者所需要的编程环境,每个模型可以独立使用或组合使用。寄存器级编程直接、效率高,但不易编写与移植。一般情况下,不使用寄存器级编程。尽管从纯粹的操作系统的理解上它们不是驱动程序,但这些驱动程序确实提供了一种机制,使器件的外设使用起来很容易。单片机通用库函数,包含了内核操作、中断控制、GPIO控制、USB基本操作。能完成内核控制的全部操作,包器件的时钟、使能的外设、器件的配置、处理复位;能控制嵌套向量中断控制器(NVIC),使能和禁止中断、注册中断处理程序和设置中断的优先级;能进行寄存器级操作USB外设模块。TFTLCD液晶屏开发TFT(ThinFilmTransistor)LCD即薄膜场效应晶体管,是有源矩阵类型液晶显示器(AM-LCD)中的一种。和TN技术不同的是,TFT的显示采用“背透式”照射方式,光源路径不是像TN液晶那样从上至下,而是从下向上。这样的作法是在液晶的背部设置特殊光管,光源照射时通过下偏光板向上透出。由于上下夹层的电极改成FET电极和共通电极,在FET电极导通时,液晶分子的表现也会发生改变,可以通过遮光和透光来达到显示的目的,响应时间大大提高到80ms左右。OTM4001A是一款262144色,用于中小型TFTLCD显示屏的片上系统(S驱动芯片,通过指定用于图形数据的RAM能支持达240xRGBx432分辨率。OTM4001A内部的时序控制器能为不同的需求提供不同接口方式,OTM4001A提供了系统接口,包括8/9/16/18位并口和SPI串口方式;OTM4001A也提供了6/16/18位RGB接口,用于动态显示图片。OTM4001A的主要特性还有窗口地址功能能限制数据重写区域,并减少数据传输;内部6位D/A转换器输出的64γ颜色校准;内部233280字节的RAM;背光引脚输出控制的内置自适应背光控制功能(CABC);逻辑供电电压范围2.5~3.6V,IO接口支持操作电压1.65~3.6V,模拟供电电压范围2.5~3.6V;内置的内部晶振与硬件复位。对TFTLCD的常规写操作时序特征和时序图分别如下图3-10和图3-11所示。图3SEQ图\*ARABIC\s11016位并口方式时序特征图3SEQ图\*ARABIC\s11116位并口方式时序图图3SEQ图\*ARABIC\s112TFTLCD液晶屏显示控制代码蜂鸣器蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器等电子产品中作发声器件。单片机上面使用的蜂鸣器一般都是无源电磁式的蜂鸣器。它由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成。接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场,振动膜片在电磁线圈和磁铁的相互作用下,周期性地振动发声。蜂鸣器发声原理是电流通过电磁线圈,使电磁线圈产生磁场来驱动振动膜发声的,因此需要一定的电流才能驱动它,单片机IO引脚输出的电流较小,单片机输出的TTL电平基本上驱动不了蜂鸣器,因此需要增加一个电流放大的电路。图3SEQ图\*ARABIC\s113蜂鸣器控制-关图3SEQ图\*ARABIC\s114蜂鸣器控制-开控制器控制按钮是一种简单电器,不直接控制主电路,而在控制电路发出手动控制信号。由按钮帽、复位弹簧、桥式触头和外壳组成。同时由于结构简单,应用十分广泛的主令电器。在电气自动控制电路中,用于手动发出控制信号以控制接触器、继电器、电磁起动器等。按钮开关的结构种类很多,可分为普通按钮式、蘑菇头式、自锁式、自复位式、旋柄式、带指示灯式等常见的按钮主要用作急停按钮,启动按钮,停止按钮,组合按钮(键盘),点动按钮,复位按钮。按钮控件,又叫做Button控件,是一种基础控件。按钮控件根据其风格属性可派生出:命令按钮(Pushbutton)、复选框(CheckBox)、单选按钮(RadioButton)、组框(GroupBox)和自绘式按钮(Owner-drawButton)。图3SEQ图\*ARABIC\s115控制按钮范例图3SEQ图\*ARABIC\s116控制按钮初始化代码图3SEQ图\*ARABIC\s117按钮控制实现代码蓝牙通讯蓝牙是一种短距离无线通信技术,成本低、功耗小、传输速率较高、抗干扰能力强、组网灵活[17]。原本是用来取代红外的。与红外技术相比,蓝牙无需对准就能传输数据,一般情况下,传输距离小于10米。在信号放大器的帮助下,通讯距离可达100米左右。蓝牙技术非常适合耗电量低的数码设备相互分享数据,如手机、掌上电脑。而且蓝牙设备之间还能传送声音,如蓝牙耳机。蓝牙规范中广为应用的成熟版本为1.1,带宽约1Mbps,所以说,蓝牙非常适合于传送小文件(10MB以下的图片、铃声、电子书、文稿等等),方便、速度兼得。1998年,蓝牙是多家公司联合推出的一项无线网络技术,其中包括IBM、爱立信等。1999年蓝牙技术特殊兴趣组织推出了蓝牙技术规范1.0版本。底层硬件模块、中间协议层和高层应用组成了蓝牙技术的系统结构。底层硬件部分包括无线跳频、基带和链路管理。无线跳频层通过2.4GHz无需授权的ISM频段的微波,实现数据位流的过滤和传输,中间协议层主要定义了蓝牙收发器在此频带正常的条件。基带负责跳频以及蓝牙数据和信息帧的传输。链路管理负责连接、建立和拆除链路并进行安全控制。蓝牙内嵌模块采用蓝牙串口适配器,程序和设备的参数均已设置好,不需要另外编程,只需要直接从UART口收发数据即可[18]。蓝牙技术可进行异步数据通信和多台同步的语音信道,主要是因为结合了电路交换与分组交换。此外,还有一个非常强大的功能,就是用一个信道同时传送异步数据和同步语音。蓝牙每个话音信道支持64kb/秒的同步话音链路。异步信道可以支持一端最大速率为721kb/秒、另一端速率为57.6kb/秒的不对称连接。串口仿真协议层具有仿真9针RS232串口的功能。本方案中用到蓝牙异步串口模块采用CSR®BluetoothTM2.0核心芯片BC417设计,功耗低、速率高、距离适中,配置和使用简单轻松,非常适合单片机爱好者接触无线通信,有广阔的使用领域。蓝牙串口模块支持蓝牙串口协议,将复杂的蓝牙协议转换为简单易用的串口通信协议,使用户能够以串口的编程方式使用蓝牙[19]。由于近年来智能手机发展迅速,蓝牙技术在智能手机里使用的特别广泛。主流的Android和Windows智能手机操作系统支持通过蓝牙通信建立虚拟串口服务。利用本模块,上述系统的智能手机可以与使用本蓝牙串口模块的嵌入式设备进行通信,可以用于获得监控数据、获得图像以及配置参数等。蓝牙串口模块,可以接在单片机或其他嵌入式设备上进行通信,也可以插在E-Config底座上利用通用计算机(PC)配置蓝牙各项参数以及进行普通串口通信。图3SEQ图\*ARABIC\s118蓝牙串口模块图3SEQ图\*ARABIC\s119单片机蓝牙初始化安卓手机选择本设计选用的手机是联想A790e,联想A790e采用了4寸电容屏,屏幕分辨率为WVGA级别。该机配备了1GHz高通MSM7627A处理器,它还采用了512MROM+512MRAM的内存配置,可以满足日常的使用。采用的是Android2.3.5系统,500万像素的摄像头。支持蓝牙。图3SEQ图\*ARABIC\s120联想A790e智能手机本章小结本章对设计中用到的单片机、蓝牙模块、智能手机做了简要的分析,同时对电路方案和实现方式做了基础研究,明确了系统的硬件需求和软件实施方案。为后续工作铺平了道路。第四章软件APP详细设计APP设计概述本设计中APP软件可以调取相机系统,通过蓝牙和单片机连接。实现单片机和安卓手机的连接和控制。同时还要将opencv嵌入到APP中,实现不同图像效果的显示。在这个过程汇总需要解决Android开发环境的搭建,蓝天通讯实现,opencv植入等问题。Android系统简介Android是基于Linux开放性内核的操作系统,它采用了软件堆层的架构,主要分为三部分。底层Linux内核只提供基本功能,其他的应用软件则由各公司自行开发,部分程序以Java编写。主要有以下几点优势:第一是开放性。在优势方面,开放性是Android平台最大特性,不管是什么样的终端厂商都可以加入到Android联盟中来。这就使得它具有很有的开发者,开发者开发更多的应用,用户也积累起来,达到用户和应用的升级。一个崭新的平台也就慢慢的走向成熟。从Android的发展可以看出,开放性有利于聚集人气,包括用户和厂商的人气,用户受益的是丰富的软件资源,同时由于厂商的竞争,可以选择更多优质实惠的智能设备。第二是挣脱运营商的束缚。以往在欧美地区,手机应用往往受到运营商制约,使用什么功能接入什么网络,几乎都受到运营商的控制。从2007年iPhone上市,用户可以更加方便地连接网络,运营商的制约减少。互联网巨头Google推动的Android终端天生就有网络特色,将让用户离互联网更近。第三是丰富的硬件选择。Android平台的开放性为丰富的硬件选择提供了基础,由于Android的开放性,各种各样的产品不断的上市,不同的功能特色能够满足不同的需求。即使功能上有差异和特色,却不会影响到数据同步、甚至软件的兼容。第四是不受任何限制的开发商。Android程序可以利用其他应用程序的资源[20]。Android平台提供给第三方开发商一个十分宽泛、自由的环境,不会受到各种条条框框的阻扰。这样就会激发很多新颖别致的软件开发出来。虽然有这样的好处,但也有其两面性,血腥、暴力、情色方面的程序和游戏如何控制也是其急需解决的问题。第五是无缝结合的Google应用。Google已经游泳13年的互联网历史,从搜索巨人到全面的互联网渗透,Google服务如地图、邮件、搜索等已经成为连接用户和互联网的重要纽带,而Android平台手机将无缝结合这些优秀的Google服务。Android系统架构图4SEQ图\*ARABIC\s11Android系统架构图上图是Android系统架构图,Android大致可以分为四层架构,五块区域。Linux内核层(LinuxKernel)系统运行层应用框架层(ApplicationFramework)应用层(Applications)首先,Linux内核层。Android系统是基于Linux2.6内核的,这一层为Android设备的各种硬件提供了底层的驱动,如显示驱动、音频驱动、照相机驱动、蓝牙驱动、WiFi驱动、电源管理等。其次,系统运行层。这一层通过一些C/C++库来为Android系统提供了主要的特性支持,比如SQLite库提供了数据库的支持,OpenGL|ES库提供了3D绘图的支持,Webkit库提供浏览器内核的支持等。同时,在这一层还有Android运行时库,它提供了一些核心库,能允许开发者使用Java来编写Android应用。其中,关键是Dalvik虚拟机,它使得我们每一个Android应用都能运行在独立的进程当中,并且拥有一个自己的Dalvik虚拟机实例,相比Java虚拟机(JVM),Dalvik是专门为移动设备定制的,它对手机内存、CPU性能有限等情况做了优化处理。然后,应用框架层。这一层主要提供了构建应用时可能用到的API,Android自带的一些核心应用程序就是使用这些API完成的,开发者可以通过使用这些API构建自己的应用程序。比如有活动管理器、View系统。内容提供器、通知管理器等。最后,应用层。所有安装在手机上的应用程序都是属于这一层的,比如系统自带的联系人、短信等程序,或者我们从GooglePlay上下载的程序,包括我们自己开发的应用程序。Android开发环境搭建与工程建立本系统在Windows7环境下进行开发,在Windows环境下搭建Android开发环境需要的组件包括:包含Java运行环境、Java工具、Java基础库类的JDK,Android开发软件Eclipse、开发Android需要的插件ADT、Android软件开发包SDK。搭建Android开发环境的步骤如下:第一步、安装JDK,并在环境变量中设置JDK环境变量;第二步、在Eclipse中添加ADT插件,添加完成后在Eclipse的工具栏上会出现AVDManager(虚拟机管理器)选项;第三步、在Eclipse的Preference选项卡中选择SDK的路径,成功后便可创建开发Android程序。图4SEQ图\*ARABIC\s12APP工程建立APP软件主要功能实现蓝牙功能蓝牙连接[21]是本设计的主要功能。无线数据开放式标准之一就是蓝牙,通过蓝牙可以连接多种设备,手机、家居用品、电视等都可以。蓝牙的最小传输距离是10cm,通过增加功率和外加设备最高可达100m。蓝牙采用2.4GHzISM频段,使用权向纠错编码。基带复合速率为1Mb/s。蓝牙采用无线接口来代替电缆连接,拥有非常高的兼容性,在很多不同的场合都能使用,同时蓝牙功耗低、辐射低,对人体无害。蓝牙应用非常简单,很容易使用,推广该技术也变得容易。图4SEQ图\*ARABIC\s13蓝牙控制工程其一图4SEQ图\*ARABIC\s14蓝牙控制工程其二图像二值化处理为了提高图像处理的速度,工业上一般采用处理过程相对简单的二值化图像,因此如何合理选取二值化阈值,使之同时满足速度和精度的要求,就成了一个关键的问题[22]。图像二值化就是将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的黑白效果。图像二值化主要有三种方法,第一种、对RGB彩色图像灰度化以后,扫描图像的每个像素值,如:值小于127的将像素值设为0(黑色),值大于等于127的像素值设为255(白色)。第二种、是计算像素的平均值K,扫描图像的每个像素值如像素值大于K,像素值设为255(白色),值小于等于K像素值设为0(黑色)。第三种、使用直方图方法来寻找二值化阈值,直方图是图像的重要特质,直方图方法选择二值化阈值主要是发现图像的两个最高的峰,然后在阈值取值在两个峰之间的峰谷最低处。本设计是采用的固定阀值的方式。图4SEQ图\*ARABIC\s15图像二值化处理函数代码opencv简介opencv是开源的计算机视觉相关的函数库,其开放性是它的特点之一,也是其发展的主要因素。opencv的发展对软件的开发具有重要影响。opencv的主要特点有以下几点,第一是开放源代码。作为20世纪80年代才兴起的一种方式,得到了全世界开发人员的喜爱,源代码的开放意味着软件命令电脑执行指定动作核心已经开放;第二是计算机视觉。在数字图像处理的基础上,计算机视觉逐渐发展起来,研究范围包括图像特征提取,摄像机定标,立体视觉,运动视觉,由图像灰度恢复三维物体形状等;第三是Intel资助。Opencv之说以能够开放,主要的原因是在Intel公司的资助。作为今后软件的发展模式,也具有给企业带来巨大利益的潜力。开源已经成为成世界开放方式的发展潮流,只要开放,就会有更多的开放的和志愿者参与到开源项目中。能够促进产品和技术的发展,同时具有非常大的商业潜力。本章小结本章主要阐述了软件APP设计中的问题,包括Andorid系统简介、系统框架以及开发环境搭建等。对系统中需要实现的主要功能,图像二值化处理和蓝牙连接做了深入阐释。对需要用到的opencv也做了简要的了解,本章实现了软件APP的开发任务。第五章系统测试与实现系统测试本系统包含单片机和手机的测试。图5SEQ图\*ARABIC\s11单片机系统展示功能原理(1)一共分为100个包。(2)每个包分两次发送。(3)按下按键通过uart0发送。(4)读取数据。(5)防止数据错乱,检验后发送头帧给单片机检验。(6)分为2000个数据发送。(7)opencv压缩函数在c++里通过此函数连接到C++库由于Java库中没有指针概念,故在C++库中只能每次返回一个值,mm为标记。(8)做缩放,二值化,模数转换,返回一个char。(9)将char拆分为两个byte数据进行发送。(10)每发送一次停顿一下。(11)单片机接收并解码。Datepicturei全为全局变量以免停顿时间过长退出中断。(12)显示图像并在显示过程打开蜂鸣器。Android软件APP功能图5SEQ图\*ARABIC\s12菜单栏效果图5SEQ图\*ARABIC\s13蓝牙连接选项图5SEQ图\*ARABIC\s14蓝牙扫描界面图5SEQ图\*ARABIC\s15蓝牙连接成功提示系统功能实现(1)接通电源,指示灯亮起图5SEQ图\*ARABIC\s16单片机接通电源(2)安卓手机端打开APP,点击菜单,出现选择不同图像的菜单。选择不同的菜单有不同的呈现不同的图像效果。点击更多出来连接蓝牙的选项,如果没有打开蓝牙,即跳出打开蓝牙权限的选择框。连接好蓝牙之后就可以进行单片机控制拍照并传输图像的功能。图5SEQ图\*ARABIC\s17样片原图图5SEQ图\*ARABIC\s18拍摄二值化图效果图5SEQ图\*ARABIC\s19传输成功二值化图本章小结本章对整个系统做了测试和最终成果展示。通过本章的阐述,将测试的系统和主要的功能实现原理做了全面的讲解。最后硬件系统和软件系统结合,完成了单片机控制安卓智能手机拍照、图像处理、图像传输、图像显示的功能。用实际证明了系统的可实现性。展示了最终的研究成果。第六章总结完成的工作本设计完成了单片机的开发和安卓手机APP的开发工作,实现了面向单片机的图像传输问题,同时可以通过单片机控制安卓手机相机系统完成单片机控制拍照的功能,实现了安卓手机上不同格式的图像展示,实现了单片机和安卓手机的蓝牙连接功能,实现了图像从安卓手机传输到单片机上的功能,实现了将图像完整展示在单片机显示屏上的功能。存在的问题及下一步工作图像的传输所涉及到的领域很广,不仅包含技术方面,而且还有软件方面。由于本人研究时间、

温馨提示

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

评论

0/150

提交评论