收藏 分销(赏)

智能插头—硬件设计与开发.docx

上传人:胜**** 文档编号:1545745 上传时间:2024-05-01 格式:DOCX 页数:44 大小:4.02MB 下载积分:10 金币
下载 相关 举报
智能插头—硬件设计与开发.docx_第1页
第1页 / 共44页
智能插头—硬件设计与开发.docx_第2页
第2页 / 共44页


点击查看更多>>
资源描述
摘 要 随着互联网技术的发展,物联网概念的提出,以及智能家居的飞速发展,人们正处在传统家电向物联网智能家居过渡阶段,各大厂商都对自己的产品注入了智能芯片。但是,他们的标准不统一,不能很好的集成到一个平台上。SmartPlug(智能插头)正是这样一个绕过了家电厂商直接在家电外部实现物联网智能家居的远程监测与控制的设备,实现由传统家电向智能化家居过渡。 本文详细介绍了SmartPlug(智能插头)硬件电路的设计、电路的实现、代码编写以及相关实验的关键技术,最后介绍了详尽的系统测试过程。本系统采用51单片机作为微处理芯片,Wi-Fi作为物联网的RFID与通信模块, C语言编写51单片机的控制与通信代码。在实现电脑端软件与51单片机通信功能后进行了系统测试。系统测试结果证明SmartPlug(智能插头)能够稳定运行,达到了设计目的与需求。 关键词:物联网;射频识别技术;智能插头;片上系统;51单片机;无线模块 Abstract 目 录 第1章 概 述 1 1.1 选题目的 1 1.2 选题背景 1 1.3 选题意义 2 1.4国内外研究现状及发展趋势 2 1.5本章小结 3 第2章 硬件平台的组件选择 4 2.1 8051系列单片机简介 4 2.2 Wi-Fi简介 5 2.3 51单片机最小系统组件与实现 6 2.4 其他电路元器件的选择 7 2.5 本章小结 8 第3章 硬件平台的电路设计 9 3.1 计算机辅助设计软件Protel 99简介 9 3.2电路原理图的设计 9 3.3电路图的设计 12 3.4 电路板的制作 13 3.5 电子元器件的焊接 16 3.6 本章小结 17 第4章 单片机片内软件设计 18 4.1 Keil简介 18 4.2 智能插头通信数据分析 19 4.3智能插头工作流程分析 21 4.4智能插头通信函数的编写 22 4.5 智能插头片内程序主函数 31 4.6 本章小结 32 第5章 系统测试 33 5.1系统参数配置 33 5.1.1Wi-Fi模块参数设置 33 5.2系统测试 37 5.3本章小结 38 结 论 39 参考文献 40 致 谢 41 第1章 概 述 1.1 选题目的 物联网作为当前迅猛发展的新技术,已经成为当前的热点话题。物联网技术必将带来一场深刻的科技变革,带来人类科技文明的飞跃。但是,作为新兴的产业存在,发展物联网产业存在各个方面的问题。从物联网的概念和应用领域入手,认为发展物联网产业存在政策法规、技术方面以及商业模式方面的问题。借此分析,物联网的普及并不是一个短暂的时期,因此需要一个过渡型产品,来解决生活中的各种物联问题[1]。 1.2 选题背景 信息产业经过多年的高速发展,经历了计算机、互联网与移动通信网两次浪潮,2000年后开始步入疲软阶段,整个行业的下一桶金在哪里?在此背景下,物联网、智慧地球概念的提出立即得到全球的热捧,其最大的动因就在于政府、企业各方都从中远望到下桶金的影子。物联网被称为世界信息产业第三次浪潮,代表了下一代信息发展技术,被世界各国当作应对国际金融危机、振兴经济的重点技术领域。 实际上,物联网概念起源于比尔盖茨1995年《未来之路》一书,只是当时受限于无线网络、硬件及传感设备的发展,并未引起重视。随着技术不断进步,互联网、通信网发展到了较高的层次,国际电信联盟于2005年正式提出物联网概念,发布了《ITU2005互联网报告:物联网》,指出“永远在线”的通信及其中的一些新技术:如RFID、智能计算带来的网络化的世界、设备互联,从轮胎到牙刷,每个物体可能很快被纳人通信领域,从今天的互联网到未来的物联网预示着一个新时代的来临。但物联网的发展依然没有得到广泛关注。 直到2009年1月28日,在美国工商业领袖举行的“圆桌会议”上,IBM首席执行官彭明盛(SAMPALMISANO)首次提出“智慧地球”概念,希望通过加大对宽带网络等新兴技术的投入,振兴美国经济并确立美国的未来竞争优势。在获得美国总统奥巴马的积极回应后,这一计划随后上升为美国的国家战略,物联网再次引起广泛关注。物联网历经了10多年不被关注,如今得到欧洲联盟、日本、韩国等发达国家和地区的高度关注,并迅速上升为国家和地区发展战略,其背后有着深刻的国际背景和长远的战略意图 。 从这个过程来看,物联网的提出,既有人类对物品信息网络化的需求,也有当前技术发展的推动,如传感技术、身份识别技术、通信技术、网络技术、海量数据分析技术等,但最终还是振兴经济这个大旗使物联网得到广泛追捧。 1.3 选题意义 21世纪是信息化的世纪,各种电信和互联网新技术推动了人类文明的巨大进步。智能家居的出现使得人们可以通过手机或者互联网在任何时候、任意地点对家中的任意电器(空调、热水器、电饭煲、灯光、音响、DVD录像机)进行远程控制;也可以在下班途中,预先将家中的空调打开、让热水器提前烧好热水、电饭煲煮好香喷喷的米饭,而这一切的实现都仅仅是轻轻的点几下鼠标,或者打一个简单的电话或者发一个简单的短信。此外,该系统还可使家庭具有多途径报警、远程监听、数字留言等多种功能,如果不幸出现某种险情,您和110可以在第一时间获得通知以便进一步采取行动。舒适的家居生活是进步的标志,智能家居系统能够在不改变家中任何家电的情况下,对家里的电器、灯光、电源、家庭环境进行方便地控制,使人们尽享高新技术带来的简便、时尚的生活。 1.4国内外研究现状及发展趋势 进入21世纪以来,现代技术的发展带动了智能住宅的发展,使建筑电气、计算机技术与建筑融为一体,使人们的工作和生活更加舒适、便捷和安全。但是由于智能装饰的发展受技术和经济两个因素的制约,长期以来使家庭难以接受,国内仅在办公楼宇、宾馆、酒店和少数特殊场合中有些应用。 近几年随着科技的发展,人们的购买力不断提高,而产品成本不断降低,使智能产品走向家庭成为可能。例如近几年出现了一些智能化小区,一些高档住宅和别墅也安装了智能系统;一些家庭在进行家庭装饰中已经考虑预埋线路组建网络,有的已经安装可视门铃,有的安装了家庭影院等。 随着智能家居市场的迅速膨胀,国内外许多企业将大量的资金和人才投入到智能家居产品的研发和生产领域。但是智能家居毕竟是一个新的领域,缺乏统一的行业标准,市场上的产品普遍存在兼容性差、运行稳定性难以保证等弱点。 智能家居是住宅智能化的核心部分,目前我国的智能家居市场有三个特点:一是市场潜力大,现在的房地产业在全国的发展都很火爆,作为其下游产业,智能家居市场前景还是非常乐观的[2]。第二点就是产品多,厂家多,大部分集中在上海、北京、深圳、广州等地。但到目前为止还没有一家形成规模化。第三,就是目前国家对智能家居行业还没有实施统一的行业标准,使得很多中小企业各自为政,按自己对市场的理解来开发产品,相互间的产品不具备兼容性,这种局面有点春秋战国时代诸侯争霸的感觉。 因此,今后几年智能家居市场会进入一个行业整合阶段,最终可能会出现几家规模比较大,品牌影响力好的厂家。从产品角度来讲,以后的智能家居产品会朝着实用化、傻瓜化(操作简单)、模块化的方向发展,所谓模块化就是产品开发商把智能家居产品做成模块化的,可以根据用户的实际需求任意搭配。这样不仅可满足不同层次用户的需要,而且可以节约成本,也可以节约不必要的端口模块的浪费。 2009年10月,欧盟委员会以政策文件的形式对外发布了物联网战略,提出要让欧洲在基于互联网的智能基础设施发展上领先全球,除了通过ICT研发计划投资4亿欧元,启动90多个研发项目以提高网络智能化水平外,欧盟委员会还将于2011年~2013年间每年新增2亿欧元进一步加强研发力度,同时拿出3亿欧元专款,专门支持物联网相关公私合作短期项目建设。欧洲智能系统集成技术平台(EPoSS)在其报告Internet of Things in 2020中分析预测,未来物联网的发展将经历4个阶段,2010年之前RFID[3]被广泛应用于物流、零售和制药领域,2011年~2015年物体互联,2015年~2020年物体进入半智能化,2020年之后物体进入全智能化。就目前而言,许多物联网相关技术仍在开发测试阶段,离不同系统之间融合、物与物之间的普遍链接的远期目标还存在一定差距[4]。 日本政府自20世纪90年代中期以来相继制定了"e-Japan"、"u-Japan"、"i-Japan"等多项国家信息技术发展战略,从大规模开展信息基础设施建设入手,稳步推进,不断拓展和深化信息技术应用,以此带动本国社会、经济发展[5]。 韩国政府自1997年起出台了一系列推动国家信息化建设的产业政策,包括RFID先导计划、RFID全面推动计划、USN领域测试计划等。实现建设U化社会的愿景,韩国政府持续推动各项相关基础建设、核心产业技术发展,RFID/USN(传感器网)就是其中之一。继日本提出u-Japan战略后,韩国也在2006年确立了u-Korea战略,并制定了详尽的"IT839战略",重点支持泛在网建设。u-Korea旨在建立无所不在的社会(Ubiquitous Society),也就是在民众的生活环境里布建智能型网络(如IPv6、BcN、USN)、最新的技术应用[6]。 1.5本章小结 本章首先介绍了选题目的、选题背景及选题意义,然后介绍了智能家居系统的国内外研究现状及发展趋势,这样对整个选题就有了整体的了解与把握。为接下来的智能插头的设计与开发进行充分的市场调查与可行性分析,在此基础上进行的技术路线定位以及技术原理支持变得有理有据、条理清晰。 第2章 硬件平台的组件选择 本系统的硬件选择是整个课题的核心部分,决定着智能插头这套系统的工作原理、工作方式,同时也决定着软件开发中的结构与模块,因此极为重要。兼顾前一章节的市场调查与需求分析,决定本套系统应该本着低成本,高效率、高稳定率、可拓展性强、后期维护方便、代码更新简便的原则来进行设计与开发的。本智能插头系统采用的逻辑电子元器件主要为:51单片机(80C51)、WI-FI模块,辅助元器件有:固态继电器(SSD)、电源模块、稳压芯片、以及用做接口电路耦合的电阻电容等。接下来介绍有关本系统中应用的有关硬件的历史背景、技术参数、发展状况以及目前主要的应用领域。 2.1 8051系列单片机简介 MCS-51单片机是美国INTE公司于1980年推出的产品,典型产品有8031(内部没有程序存储器,实际使用方面已经被市场淘汰)、8051(芯片采用HMOS,功耗是630mW,是89C51的5倍,实际使用方面已经被市场淘汰)和8751等通用产品,一直到现在,MCS-51内核系列兼容的单片机仍是应用的主流产品(比如目前流行的89S51、已经停产的89C51等)[7],各高校及专业学校的培训教材仍以MCS-51单片机作为代表进行理论基础学习。 有些文献甚至也将8051泛指MCS-51系列单片机,8051是早期的最典型的代表作,由于MCS-51单片机影极其深远,许多公司都推出了兼容系列单片机,就是说MCS-51内核实际上已经成为一个8位单片机的标准。 STC89C52RC为中国宏晶科技研发生产的新一代51单片机(如图2-1),其中包含中央处理器(CPU)、程序存储器(Flash)、数据存储器(SRAM)、定时/计数器、UART 串口、I/O接口、EEPROM、看门狗等模块。该构架单片机具有PDIP、TQFP和PLCC三种封装形式,提供4组8位并行I/O端口,一个EA(访存控制)端口,一个VCC(电源正极)、一个GND(电源接地)、一对外部无源晶振端口,和一个RST(复位端口)。该单片机工作电压3.3V~5.5V,时钟频率范围0~80MHz,Flash程序存储器8K,SRAM为512字节,定时器3个,UART串口一个,EEPROM为4K。 目前,单片机的应用领域主要包括:办公自动化设备;单片机在机电一体化中的应用;在实时过程控制中的应用;单片机在日常生活及家用电器领域的应用;在各类仪器仪表中引入单片机,使仪器仪表智能化,提高测试的自动化程度和精度,简化仪器仪表的硬件结构,提高其性能价格比;在计算机网络和通信领域中的应用;商业营销设备;单片机在医用设备领域中的应用;汽车电子产品;航空航天系统和国防军事、尖端武器等领域。 图2-1 PDIP40封装标准的STC89C52单片机 2.2 Wi-Fi简介 所谓Wi-Fi,其实就是IEEE 802.11b的别称,是由一个名为“无线以太网相容联盟”(Wireless Ethernet Compatibility Alliance, WECA)的组织所发布的业界术语,中文译为“无线相容认证”。它是一种短程无线传输技术,能够在300英尺左右(约合90米)范围内支持互联网接入的无线电信号。办公室自不用说,就是在小一点的整栋大楼中也可使用。因此,Wi-Fi一直是企业或家庭实现自己无线局域网所青睐的技术[8]。 随著技术的发展,以及IEEE 802.11a 及IEEE 802.11g等标准的出现,现在IEEE 802.11 这个标准已被统称作Wi-Fi。IEEE 802.11 第一个版本发表于1997年,其中定义了介质访问接入控制层(MAC层)和物理层。物理层定义了工作在2.4GHz的ISM频段上的两种无线调频方式和一种红外传输的方式,总数据传输速率设计为2Mbit/s。两个设备之间的通信可以用自由直接(ad hoc)的方式进行,也可以在基站(Base Station,BS)或者访问点(Access Point,AP)的协调下进行。1999年加上了两个补充版本:802.11a定义了一个在5GHz的ISM频段上的数据传输速率可达54Mbit/s的物理层,802.11b定义了一个在2.4GHz的ISM频段上但数据传输速率高达11Mbit/s的物理层。2.4GHz的ISM频段被世界上绝大多数国家所使用,因此802.11b得到了最为广泛的应用。苹果公司把自己开发的802.11标准起名叫AirPort。 Wi-Fi联盟成立于1999年,当时的名称叫做Wireless Ethernet Compatibility Alliance (WECA)。在2002年10月,正式改名为Wi-Fi Alliance。致力解决符合802.11标准的产品的生产和设备兼容性问题。Wi-Fi为制定802.11无线网络的组织,并非代表无线网络。 从应用层面来说,要使用Wi-Fi,用户首先要有Wi-Fi 兼容的用户端装置。SmartPlug使用由Hi-Link公司生产的Wi-Fi模块(如图2-2),该模块基于Wi-Fi 802.11b技术,采用3.3V的 TTL电平,接口信号为:5V、GND(地)、RXD、TXD四线连接,性能稳定,内置Wi-Fi协议栈和串口传输协议,发射功率最大 100mW,接收灵敏度-90dBm。 图2-2 Hi-Link公司制造的TTL电平Wi-Fi模块 2.3 51单片机最小系统组件与实现 所谓单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统。对于51系列单片机来说,最小系统一般应该包括:51单片机、晶振电路、复位电路[9](如图2-3)。 复位电路:单片机复位电路就好比电脑的重启部分,当电脑在使用过程中出现死机情况,按下重启按钮,电脑内部的程序就从头开始执行。单片机也是一样的,当单片机系统在运行过程中,受到环境干扰出现程序跑飞的时候,按下复位按钮,内部的程序就会自动从头开始执行。复位电路由电容串联电阻构成,由图2-3并结合"电容电压不能突变"的性质,可以知道:当系统一上电,RST脚将会出现高电平,并且这个高电平持续的时间由电路的RC值来决定。典型的51单片机当RST脚的高电平持续两个机器周期以上就将复位。所以,适当组合RC的取值就可以保证可靠的复位。经查阅大量资料表明C取10uf,R取8.2K即可完成复位。当然也有其他取法的,原则就是要让RC组合可以在RST脚上产生不少于2个机器周期的高电平,这样51单片机才能复位。至于如何具体定量计算,须参考电路分析相关书籍。 晶振电路:典型的晶振取11.0592MHz(因为可以准确地得到9600波特率和19200波特率,用于有串口通讯的场合)/12MHz(产生精确的us级时歇,方便定时操作),本系统采用19200作为TTL[10]通信的波特率,固选择11.0592MHz的无源晶振。另外,单片机最小系统起振电容一般采用15~33pF,并且电容离晶振越近越好,晶振离单片机越近越好。因此,再配上两片30pf的瓷片电容或贴片电容。 单片机:一片AT89S51/52或其他51系列兼容单片机。 特别注意的是,对于31脚(EA/Vpp),当接高电平时,单片机在复位后从内部ROM开始执行;当接低电平时,复位后直接从外部ROM开始执行。 图2-3 51单片机最小系统 2.4 其他电路元器件的选择 Wi-Fi降压芯片:由于本实验采用Hi-Link公司3.3V的TTL电平Wi-Fi模块,为航天与军用级的低压低功耗CMOS电路,需要3.3V供电系统。因此采用AMS1117-3.3V三端稳压模块(如图2-4右上)将单片机使用的5V电源稳压至3.3V,并输送给Wi-Fi模块。其中加入两块标号为106的10uf电容,起到对电源的滤波作用。 控制继电器:由于考虑到SmartPlug将有可能控制电流过大的家用电器例如电热水器等家用电器,因此采用比较先进的固态继电器(如图2-4右下)。固态继电器(Solid State Relay,缩写SSR),是由微电子电路,分立电子器件,电力电子功率器件组成的无触点开关。用隔离器件实现了控制端与负载端的隔离。固态继电器的输入端用微小的控制信号,达到直接驱动大电流负载的目的。耐振耐机械冲击,安装位置无限制,具有良好的防潮防霉防腐蚀性能,在防爆和防止臭氧污染方面的性能也极佳。另外还有输入功率小,灵敏度高,控制功率小,电磁兼容性好,噪声低和工作频率高等特点。目前已广泛应用于计算机外围接口设备,调温、调速、调光、电机控制、电炉加温控制、电力石化、医疗器械、金融设备、煤炭、仪器仪表、交通信号等领域。 电源模块:由于是计算机专业出身,对电子电路知识并不熟知,虽然运用阻容降压电路可以实现将交流220V电源降压整流为直流5V,但稳定性欠佳。因此,本实验采用市售技术成熟的开关电源模块(如图2-4左下),保证系统的稳定性。 LED指示灯:采用耐高压无色玻璃封装的LED发光二极管作为系统状态指示灯(如图左上)。 图2-4 其他四种电路主要元器件 2.5 本章小结 本章先介绍了SmartPlug系统各主要模块的选择、性能参数与技术指标,以及51单片机最小系统的结构。最后列出电路主要元器件的选择原因与主要参数。为接下来即将要进行的SmartPlug电路的实验与设计做硬件准备理论分析与技术支持。 第3章 硬件平台的电路设计 硬件平台的电路设计,就是指由电气设备和元器件按一定方式联接起来,为电流流通提供了路径的总体。本系统采用Protel 99计算机辅助设计软件进行设计。其中包括:元器件的封装、元件库的调用、电路的布局、电路的铺设、以及电气化测试,经过这一些列的步骤才能完成一块电路板的基本设计。本章首先将要说明Protel 99计算机辅助设计软件的发展历程、应用领域、使用方法以及电路原理图的设计、电子元器件的封装、电路板的绘制方法。最后将介绍如何将电路图制作成电路板。下面将介绍具体的设计与制作步骤。 3.1 计算机辅助设计软件Protel 99简介 Protel99SE是Protel公司近10年来致力于Windows平台开发最新结晶,能实现从电学概念设计到输出物理生产数据,以及这之间所有分析、验证和设计数据管理。因而今天Protel最新产品已不是单纯PCB(印制电路板)设计工具,而是一个系统工具,覆盖以PCB为核心整个物理设计。Protel 设计系统是一套建立在IBM兼容PC环境下EDA电路集成设计系统,由于其高度集成性与扩展性,一经推出,立即为广大用户所接受,很快就成为世界PC平台上最流行电子设计自动化软件。 Protel99 SE共分5个模块,分别是原理图设计、PCB(印刷电路板)设计(包含信号完整性分析)、自动布线器、原理图混合信号仿真、PLD设计。 本系统的电路设计采用:原理图——PCB图的步骤设计[11]。 3.2电路原理图的设计 电路原理图主要是将电路原理表示在图上,用来生成后缀名为“.NET”的电路网络表,而并非是实际的电路图。电路网络表能表示每一个电子元器件的连接情况,每一条电流通路连接的起始元件与终止元件。每一条链路都是唯一的、不重复的(如图3-1)。电路网络表的生成为接下来的硬件电路设计及布局创造了先决条件。 SmartPlug的电路原理图设计分为两大部分,即应用电路设计与电源部分,由于自己设计的电源电路安全性与稳定性欠佳,故采用已经集成好的交流220V转直流5V稳压模块,简化硬件电路设计。 应用电路设计部分中,分为51单片机最小系统电路、继电器电路、指示灯电路、Wi-Fi模块接口电路、Wi-Fi模块稳压电路、3.3V Wi-Fi与5V单片机通信线电压适配电路,此外还预留了方便以后更新51单片机片内程序的程序烧写预留口电路。 51单片机最小系统在前面已经阐述了构成与原理,在此不再说明。 继电器电路即为控制单元,主要负责控制电路的接通与断开。由单片机向继电器的GND端发送低电平信号,继电器方可接通电路。 指示灯电路的使用,主要是因为单片机运行起来无法像微型计算机上的程序一样设立断点来监视与控制程序运行,只能由指示灯的亮灭来判断程序的正确执行,因此采用指示灯电路对日后的代码编写以及系统调试起到了至关重要的作用。 Wi-Fi模块的接口电路,主要是将已有的Wi-Fi模块接入电路,电源接口、发送与接收数据线要一一对应避免接错造成系统无法运行[12]51单片机程序烧写预留口电路的应用,主要目的是解决日后程序烧写的方便,由于电路平台搭建完成后,51单片机即将被焊接到电路中,若想取下来放到开发板上重新烧写、更改、调试程序,其过程及其复杂,因此设计了51单片机程序的程序烧写预留口[13]。 整套系统(除电源部分)的原理图如图3-2所示: 3.3电路图的设计 由于protel99软件的元件库并不能完整包含日益增长的众多电子元器件,因此部分电子元器件要自行封装。所谓封装,就是将电子元器件的物理尺寸以及针脚定义、针脚编号录入protel99的元件库中,然后再在PCB电路设计中使用。元器件的物理尺寸以及针脚距离用游标卡尺度量,在Protel 99设计中借助标尺将电子元器件的真实尺寸绘制进去,单位为毫米(mm)。 图3-3 电源模块封装图 电路图的设计是基于原理图产生的。首先创建PCB工程,然后将前面生成的后缀名为“.NET”的电路网络表文件导入到PCB工程中,这时即已产生带提示连接线的电路网络。接下来大致勾画出电路板的外型尺寸,采用手动布线的方式先将原件合理的分配到电路板上,最后手动将电路连线连接完毕并修改电路板尺寸以致适合电路大小。完成以上工作后,检查所有连接线是否全部正确,正负极是否有接反的情况发生,以及元器件是否有重叠现象、焊盘是否离得太近等。最后要进行地线的布置。 完成以上设计工作后,接下来要进行电气规则测试,原则是符合电子电路设计规则,并要人为考虑电路通信线路的干扰问题,绕线不可交叉问题等。最终产生PCB电路图[14],如图3-4所示: 图3-4 SmartPlug PCB电路图 3.4 电路板的制作 手工制作电路板的过程一般是:首先将protel 99产生的1:1的PCB电路图打印在热转印纸(光面纸,不干胶后面的那层黄色的纸)上,如图3-5。因为protel 99使用的尺寸单位为米尔(mil)或毫米(mm),因此打印时要严格打印1:1的电路图,以防止制作出来的PCB板尺寸不符合要求,造成元器件无法焊接的情况发生。 图3-5 打印PCB图 然后用热转印机或电熨斗将光面纸上的碳粉转印到覆铜电路板上,如图3-6所示。 图3-6 热转印PCB图 接下来将转印过的覆铜电路板放到硫酸亚铁溶液中进行腐蚀,由于二价的铁离子有还原性可与铜反应生成蓝色硫酸铜溶液并且有铁被置换出。因为被碳粉覆盖的铜被隔离,不参与化学反应,得以保留下来,形成最终的电路。如图3-7。 图3-7 覆铜板的蚀刻 然后,打印电路焊盘图。由于阻焊绿油具有曝光的特性,在焊盘图上黑色焊点覆盖的情况下,不被暴露在强光下,因此不被固化,可以轻易被擦拭掉。 接下来涂上阻焊漆(俗称绿油),将焊点图对齐电路板边缘覆盖电路板,并暴露在强光之下30分钟。完成后取下焊盘图,擦拭电路板,被强光照射固化的绿油对电路板起到阻焊、防止铜质电路板氧化的作用。被擦拭掉的部分用来完成接下来的焊接工作。 最后,用电烙铁将元件焊接到电路板的焊盘上完成整个PCB电路板的制作。但是局限于手工工艺问题,最终研究采用代工厂家制作的电路板,如图3-8所示。 图3-8 SmartPlug电路板空板 3.5 电子元器件的焊接 电气焊接本着焊点饱满、焊点结实、不虚焊、不缺焊、不让不该连接的焊盘连接的原则进行手工焊接操作,焊接工具为25W尖头电烙铁。焊接时使用松香助焊剂保证烙铁头无氧化物附着到焊点上,影响焊点质量。在完成焊接工作时用万用表测试每一条电路的导通性是否良好,每一个元器件的正负极连接是否正确。最后,由于电路涉及到220V不安全电压,因此将高电压裸露部分用热熔胶覆盖,避免实验人员面临触电危险。 图3-9 SmartPlug电路板焊接完成图 3.6 本章小结 本章通过protel99电路原理图、电路图的设计与电路板的制作、焊接对SmartPlug的硬件电路进行详细介绍,为后续的软件,也就是51单片机片内程序的编写与调试做好了硬件设备的平台构架。对SmartPlug整套系统的完成起到至关重要的作用。 第4章 单片机片内软件设计 单片机软件设计是比较重要的阶段,俗话说得好:“硬件搭台,软件唱戏”,一套系统的灵魂与精髓全在于软件稳定的运行与强大的功能。本章将详细介绍智能插头51单片机系统的软件设计,整个系统的总体设计,各功能函数、模块的设计思路、设计原理、设计过程、性能分析。从Wi-Fi模块加入网络、建立TCP链接到接收数据,从数据处理到发出控制命令完成控制功能。本系统软件开发环境采用单片机类专业设计软件Keil,编程语言采用硬件C语言,在某些高级函数应用上与普通C语言有些许差别[15]。 4.1 Keil简介 Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。 Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。下面详细介绍Keil C51开发系统各部分功能和使用。 C51工具包的整体结构,uVision与Ishell分别是C51 for Windows和for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及C51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经C51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器,如EPROM中[16]。 图4-1 Keil编程环境 4.2 智能插头通信数据分析 用户终端设备与WLAN模块之间传输的数据,其数据格式及传输机制由相应的接口协议 规定。我们的客户端设备51单片机与Wi-Fi通讯采用UART 接口协议,首先我们先了解一下这个通讯协议。通讯以SYN(0xAA)为第一个字节开始,最后以PADDING结束,数据采用十六进制表示。具体的数据格式解释如下: 图4-2 数据格式 SYN: 同步字段,表示一个数据帧的开始,值固定为‘0xAA’。 CTL: 控制字段,其含义如下。 图4-3 控制字段格式 TYPE:帧类型, 000b:表示DATA是控制数据 001b:表示DATA是普通数据 010b:表示对接收到的前一帧的Ack确认,LENGTH字段必须为0 其它:保留 A: 在数据帧中该位设为‘1’表示此帧中的DATA字段包含CRC,且接收方需返回Ack确认;在ACK确认 帧中无意义 SN:帧序号,取值范围0~15,在数据帧中,如果是重传前一帧则帧序号保持不变,否则帧序号每次递加1; 在ACK确认帧中,SN等于其接收到的前一帧的序号 LENGTH: 长度字段,表示后面的DATA字段长度,单位字节数,最大长度1400。 CHK: 帧头校验字段,其计算的为CTL和LENGTH两个字段的8位循环冗余校验和。 DATA: 实际传输的数据,如果A设为‘1’,则DATA最后一个字节为前面(LENGTH-1)个数据的8位循环冗余 校验和 PADDING: 帧结束填充字段,其值为6个连续的‘0x00’。 客户端51单片机与Wi-Fi模块本来是并不相关的硬件设配,t通过UART 接口协议搭建起来两者通讯的桥梁,两者有了仅属于他们的交流方式,这样大家以后都用同一门语言来交流也就只有他们才知道具体表达的含义,提高了通讯的安全性。我们可以灵活的控制通讯的整个流程,通过使用UART 接口协议我们可以规定具体的数据内容来传达我们的命令,每个人都可以规定自己的命令方式来控制客户端与Wi-Fi通讯。其他人根本不知道通讯的具体含义。 按照通讯协议我们在头文件中定义了自己的协议具体内容,具体命令如下: #define CTL_DATA 0X00 ////控制数据 #define NOA_DATA 0X10 ////普通数据 #define ACK_DATA 0X20 ////Ack #define SCANNETWORK_DATA 0x00 // 开始扫描网络命令 #define LINKNETWORK_DATA 0X01 // 开始连接网络命令 #define CLOSENETWORK_DATA 0x02 // 开始断开网络命令 #define SETNETPARA_DATA 0X03 // 设置参数命令 #define QUERYNETPARA_DATA 0X04 // 查询参数命令 #define RESTWIFI_DATA 0X05 // 复位命令 #define TCPLINK_DATA 0x06 // TCP连接命令 #define TCPSENDFAILED_DATA 0x07 // TCP发送失败 #define SCANNET_END 0X40 // 扫描网络结果消息 #define LINKNET_END 0X41 // 网络已连接消息 #define CLOSENET_END 0x42 // 网络已断开消息 #define SETNETPARA_END 0X43 // 设置参数结果消息 #define QUERYNETPARA_END 0X44 // 查询参数结果消息 #define RESTWIFI_END 0X45 // 初始化完成消息 #define TCPLINK_END 0x46 // TCP连接状态消息 4.3智能插头工作流程分析 完成了具体通讯命令的制定后通过编写51单片机里面的程序,下面我就具体介绍一下单片机中的程序。程序的整体框架由通过完成不同功能的函数组成,具体的功能模块完成后,在main函数中完成整个流程的调用。执行的流程主要分为: 1.硬件初始化 2.发送Wi-Fi加入网络命令 3.发送TCP连接命令 4.连接成功等待用户控制命令 执行流程图如下所示: 串口初始化 wifi加入网络 TCP连接PC端口 main开始 PC端用户 用户发送指令 返回执行结果 连接成功,等待处理用户指令 T关闭电源 T打开电源 T重置51 图4-4 智能插头工作流程图 4.4智能插头通信函数的编写 通过执行流程图初步了解执行流程后,我们来详细介绍一下程序中的功能函数,通过功能函数我最后再详细介绍一下调用流程。 硬件初始化函数HardWareInit()主要负责初始化51单片机串口通信前的参数配置,下面我们来介绍一下串口通信中比较重要的几个概念。 1、 波特率选择 波特率(Boud Rate)就是在串口通信中每秒能够发送的位数(bits/second)。MSC- 51串行端口在四种工作模式下有不同的波特率计算方法。其中,模式0和模式2波特率计算很简单,请同学们参看教科书;模式1和模式3的波特率选择相同,故在此仅以工作模式1为例来说明串口通信波特率的选择。 在串行端口工作于模式1,其波特率将由计时/计数器1来产生,通常设置定时器工作于模式2(自动再加模式)。在此模式下波特率计算公式为:波特率=(1+SMOD)*晶振频率/(384*(256-TH1)),其中,SMOD——寄存器PCON的第7位,称为波特率倍增位;TH1——定时器的重载值。 在选择波特率的时候需要考虑两点:首先,系统需要的通信速率。这要根据系统的运作特点,确定通信的频率范围。然后考虑通信时钟误差。使用同一晶振频率在选择不同的通信速率时通信时钟误差会有很大差别。为了通信的稳定,我们应该尽量选择时钟误差最小的频率进行通信。 假设系统要求的通信频率在20000bit/s以下,晶振频率为12MHz,设置SMOD=1(即波特率倍增)。则TH1=256-62500/波特率。 2、数据缓冲寄存器和串行口控制寄存器 SBUF 数据缓冲寄存器  这是一个可以直接寻址的串行口专用寄存器。有朋友这样问起过“为何在串行口收发中,都只是使用到同一个寄存器SBUF?而不是收发各用一个寄存器。”实际上SBUF包含了两个独立的寄存器,一个是发送寄存,另一个是接收寄存器,但它们都共同使用同一个寻址地址-99H。CPU在读SBUF时会指到接收寄存器,在写时会指到发送寄存器,而且接收寄存器是双缓冲寄存器,这样可以避免接收中断没有及时的被响应,数据没有被取走,下一帧数据已到来,而造成的数据重叠问题。发送器则不需要用到双缓冲,一般情况下我们在写发送程序时也不必用到发送中断去外理发送数据。操作SBUF寄存器的方法则很简单,只要把这个99H地址用关键字sfr定义为一个变量就可以对其进行读写操作了,如sfr SBUF = 0x99;当然你也可以用其它的名称。通常在标准的reg51.h或at89x51.h等头文件中已对其做了定义,只要用#include引用就可以了。 SCON 串行口控制寄存器  通常在芯片或设备中为了监视
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服