无线控制多功能电源设计方案.docx_第1页
无线控制多功能电源设计方案.docx_第2页
无线控制多功能电源设计方案.docx_第3页
无线控制多功能电源设计方案.docx_第4页
无线控制多功能电源设计方案.docx_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

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

文档简介

无线控制多功能电源设计方案1.1 电源国内外研究现状1) 国外研究现状自20世纪50年代,美国宇航局以小型化重量轻为目标而为搭载火箭开发首个开关电源以来,在半个多世纪的发展中,开关电源逐步取代了传统技术制造的相控稳压电源,并广泛应用于电子整机设备中。随着集成电路的发展,电源逐渐向集成化方向发展,趋于小型化和模块化。近20年来,集成电源沿两个方向发展。第一个方向是对电源的控制电路实现集成化。1977年国外首先研制成脉宽调制(PWM)控制器集成电路,美国Motorola公司、SiliconGeneral公司、Unitrode公司等相继推出一系列PWM芯片。近些年来,国外研制出开关频率达1MHz的高速PWM、PFM芯片。第二个方向是实现中、小功率开关电源单片集成化。1994年,美国电源集成公司(PowerIntegrations)在世界上率先研制成功三端隔离式PWM型单片开关电源,其属于AC/DC电源变换器。之后相继推出TOPSwitch、TOPSwitch-II、TOPSwitch-Fx、TOPSwitch-GX、PeakSwitch、LinkSwitch等系列产品。意-法半导体公司最近也开发出VIPer100、VIPer100A、VIPer100B等中、小功率单片电源系列产品,并得到广泛应用。目前,单片开关电源已形成了几十个系列、数百种产品。单片开关电源自问世以来便显示出强大的生命力,其作为一项颇具发展前景和影响力的新产品,引起了国内外电源界的普遍关注。单片开关电源具有高集成度、高性价比、最简外围电路、最佳性能指标等特点,现己成为开发中小功率开关电源、精密开关电源及开关电源模块的优选集成电路。2) 国内研究现状与国外开关电源技术相比,国内从1977年才开始进入初步发展期,起步较晚、技术相对落后。目前国内DC/DC模块电源市场主要被国外品牌所占据,它们覆盖了大功率模块电源的大部分以及中小功率模块电源一半的市场。但是,随着国内技术的进步和生产规模的扩大,进口中小功率模块电源正在快速被国产DC/DC产品所代替。开关电源的使用为国家节省了大量铜材、钢材和占地面积。由于变换效率提高,能耗减少,降低了电源周围环境的室温,改善了工作人员的环境。我国邮电通信部门广泛采用开关电源极大地推动了它在其它领域的广泛应用。值得指出的是,近两年来出现的电力系统直流操作电源,是针对国家投资4000亿元用于城网、农网的供电工程改造、提高输配电供电质量而推出的,它已开始采用开关电源以取代传统的相控电源。国内一些通信公司如中兴通讯等均已相继推出系列产品。 目前,国内开关电源自主研发及生产厂家有300多家,形成规模的有十多家。国产开关电源已占据了相当市场,一些大公司如中兴通讯自主开发的电源系列产品已获得广泛认同,在电源市场竞争中颇具优势,并有少量开始出口。1.2 课题研究的关键问题及解决的办法本课题研究的是集无线控制电源电压的切换和电流电压监控为一体多功能电源的设计。在进行了大量资料阅读,决定以单片机应用技术为核心进行开发,并配以电流电压采集、LCD显示、无线模块等硬件电路组成。通过软件编程实现多功能电源的设计。关键问题包括:(1) 多功能电源的无线通信的方式协议(2) 常用直流稳压切换和开关的控制方法(3) 电流电压采集的处理解决办法:在对上述问题进行了分析与理解后,制定了基本的解决方案。蓝牙和单片机可通过串口进行无线通信,从而实现对电源的控制,单片机对电压的切换和电源开关控制,可通过继电器的端口的闭合实现,运用AD转换芯片可实现电压电流的采集。经分析,课题可分为无线模块、稳压模块、电流电压采集模块、中央处理模块、显示模块、过载提醒模块、继电器模块。总体方案的设计将在第二章节介绍,第三、四章主要介绍系统的硬件和软件设计。2 总体方案设计与确定2.1 设计要求1. 无线控制电源开关;2. 稳压电源可选择常用电压12v、9v、5v、3.3v;3. 声光提醒;4. 显示电压电流;2.2 方案简述根据设计要求,整个多功能电源可分为:无线模块、稳压模块、电流电压采集模块、中央处理模块、显示模块、继电器模块,过载提醒模块。整体模块图:无线模块图2.1 整体模块图整体方案:单片机检测到串口通信的中断后,接收手机端通过蓝牙模块发送的控制命令,单片机通过串口接收到按键命令后,将按键命令进行数据处理,分析命令的要求。首先控制继电器的端口开关,达到接通相应的稳压芯片或断开电源目的,接着单片机利用总线开启PF8591芯片AD转换,最后单片机通过总线接收采集的电压电流的数据,先判断电流值是否过载,决定是否声光提醒,再以并行的方式发给LCD显示。UART图2.2系统整体框图2.3 方案论证本课题研究的是基于51单片机无线控制多功能电源,经分析主要有三种方案。 方案一:采用红外线进行无线通信。使用红外线遥控器发送控制命令,51单片机红外线模块接收命令并处理,能基本实现本课题功能,但是红外线传输存在一些缺陷。第一波长短衍射能力弱,所以传输时中间不能有障碍物;第二,传输距离较短最大1-2米;第三,红外线是点对点传输,角度在30度以内,导致使用时,必须对准,否则单片机不能接收按键信号。所以红外线遥控在稳定性和使用性方面效果,不是很理想。方案二:采用WiFi进行无线通信。手机端通过TCP网络调试助手,发送控制WIFI数据,WIFI模块接收数据经串口发送给单片机,单片机进行数据处理,能实现本课题功能。WIFI传输数据具有速度快,范围大等特点。但是使用较蓝牙复杂,操作过程得使用大量的AT指令进行串口调试。方案三:采用蓝牙进行无线通信。手机端APP发送控制命令,使用蓝牙模块进行手机端和单片机无线数据传输,最后单片机进行数据处理,能实现本课题功能。蓝牙传输方式是呈现球面,所以可以跨越障碍物。蓝牙能够在10米的变径内进行一点对多点数据传输,大大的提高了数据传输效果。此外传输速度较快,操所相对于WIFI简单,性价比高,较其他两种方案更为合适本课题。综上所述:考虑到本设计的距离在10米之类,性价比和稳定性,以及组建方便、操作简单等原因,本课题采用方案三,使用蓝牙作为手机端和单片机之间的无线数据传输方式。3 硬件系统设计无线控制的多用电源硬件系统由控制中心处理器STC89C52C单片机、变压器和稳压芯片LM2596构成稳压模块、芯片PCF8591构成电流电压采集模块、HC-05构成的无线蓝牙模块,由蜂鸣器和LED1构成过载提醒模块,以及由芯片PCF8591,电流传感器ACS712构成AD采集模块等组成。本章主要介绍硬件设计原理以及和各个芯片的硬件连接。3.1 中央处理模块STC89C52C特点中央处理处理器STC89C52C单片机主要是进行按键数据接收和分析,继电器控制,采集数据处理和显示。单片机和外围芯片的数据传输主要使用的是串口和。STC89C52RC是STC公司生产的一种低功耗、高性能CMOS8位微控制器。工作电压为5.5V3.3V,实际工作频率为48MHz。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,内置4KB E2PROM,全双工串行口。另外 STC89C52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35MHz,6T/12T可选。图3.1 STC89C52RC 芯片引脚图3.1.1 串行口结构及原理STC89C52RC单片机的串行口是一个可编程的全双工串行同行接口。它有两个数据缓冲寄存器SBUF和一个输入移位寄存器。接收和发送寄存器的地址都是99H,名称都为SBUF。有两个特殊功能寄存器,分别是SCON和PCON。表3.1 串行口控制寄存器SCON(98H)SM0SM1SM2RENTB8RB8TIRI方式选择多机控制接收允许/禁止欲发第9位收到第9位发送中断有/无接收中断有/无串行口有4种工作方式,方式0为移位寄存器模式,波特率固定为f晶振/12,。串行数据的发送和接收以8位为一帧,不设起始位和停止位;方式1为波特率可变的10位异步通信方式,10位串行数据,包括1位起始位,8位数据位和1位停止位;方式2为波特率固定的11位异步通信方式,即1位始位,9位数据位和1位停止位。其中第9位数据既可作奇偶校验位,也可作控制位使用;方式3为波特率可设置的11位异步通信方式,本设计使用的是方式1。表3.2 电源控制寄存器PCON(87H)SMODXXXGF1GF0PDIDL波特率加倍位通用标志位掉电方式位待机方式位电源控制寄存器PCON中SMOD位可影响串行口的波特率。SMOD是串行口波特率倍增位,当SMOD=1时,串行口波特率加倍。系统复位默认为SMOD=0。单片机和蓝牙模块进行串口通信时,单片机CPU先向SBUF写入数据,就启动发送过程,单片机中的并行数据送入SBUF,在发送控制器的控制下,按设定的波特率,每来一个移位时钟,数据移出一位,由高到低一位一位发送到电缆上,移出的数据通过电缆到达蓝牙模块。蓝牙模块按照设定的波特率,每来一个移位时钟移入一位,由低到高一位一位移入SBUF。图3.2 单片机和蓝牙模块串行示意图当单片机作为发送方时,一帧数据发送完毕,硬件自动置位发送中断标志位TI,该位可作为查询标志。当单片机接收方时,需预先置位REN即允许接收,对方的数据按照波特率由低到高的进入移位寄存器,当一帧数据接收完毕,硬件置位自动置位接收中断标志位RI,该位可作为查询标志。单片机将引起接收中断,CPU会读入SBUF,将这帧数据读入,从而完成一帧数据的传送。3.1.2 I2C总线I2C总线是Philips公司推出的芯片间串行传输总线。它有两根线,分别是串行时钟线SCL和串行数据线SDA。通过这两根线实现个器件的全双工数据传送。I2C总线规定,总线传输中所有状态都生成相对应的状态码,单片机能够依据这些状态码自动的进行总线管理,用户只需要根据数据操作完成I2C总线的初始化,启动I2C总线就能自动完成规定的数据传送操作。系统中所有外围器件都将SDA和SCL同名端连接在一起,总线上所有节点都由器件管脚的地址确定。本设计中PCF8591地址为0x90。3.2 稳压模块稳压模块是由变压器、整流桥、滤波电路以及稳压芯片LM2596构成,这部分电路主要作用是将220V交流电进行降压整流得到12V、9V、5V、3.3V直流稳压。图3.3LM2596芯片引脚图LM2596是一款可调的降压芯片,具有良好的线性和负载调节性,可通过旋转模块上的电位器调节输出小于37V的各种电压电压调节(顺时针旋转升压,逆时针旋转降压),输入电压范围是3.2V40V,直流电压在1.25V35V是连续可调的,该芯片的压差至少为1.5V,最大输出电流3A,长时间使用电流控制在2.5A。在本设计中该芯片输入端连接滤波后的直流电压,输出端连接继电器的常开端,即可实现稳压。稳压模块设计稳压部分是由变压器、滤波电容和稳压芯片LM2596构成。稳压模块主要工作原理:首先由市电接入220v,经过变压器隔离变压输出15v的交流电压,交流电压经过整流桥电路整流之后是半波电压,再经过滤波电容之后为21v的直流电压,再分别经四个LM2596稳压之后,分别输出直流稳压12V、9V、5V、3.3V。整流电路稳压电路滤波电路 图3.4 稳压总框图变压器:作用是将来自电网的220V交流电压变换为整流电路所需要的交流电压,这部分电路非常简单,常见的变压器的结构如图9所示,其中U1是输入信号的电压,U2是输出信号的电压,它们之间有一个比例关系,这个比例关系是根据变压器的主副线圈匝数的比值得到的,也即为主副线圈匝数之比等于主副电压之比。图3.5 变压器整流电路:利用二极管的单向导通性,将交流电压变为脉动的直流电压。常见的整流电路:半波、全波、桥式和倍压整流;单相和三相整流等本次设计采用单相桥式整流,桥式整流电路是使用最多的一种电路,桥式整流器是利用四个二极管,依次连接,构成桥式形状,当输入信号为正半周时,其中对称的两只二极管导通,得到正的输出;当输入信号为负半周时,另外两只二极管导通,这样就可以将输入信号的正负半周的信号全不输出。桥式整流器对输入正弦波的利用效率比半波整流高一倍。电路图如3.6、图3.7所示:图3.6 桥式整流电路图 图3.7波形图滤波电路:将脉动直流电压转变为平滑的直流电压。滤波原理:滤波电路利用储能元件电容两端的电压(或通过电感中的电流)不能突变的特性, 滤掉整流电路输出电压中的交流成份,保留其直流成份,达到平滑输出电压波形的目的。滤波电路主要有两种:电感滤波、电流滤波。经分析,本设计采用电感滤波。由于电容在电路中也是起到储存能量的作用,并联的电容器在电源供给的电压升高时,能够把部分能量储存起来,而当电源电压减低的时候,就能把能量释放出来,使负载电压比较平滑稳定,也就是电容也有平波的作用。电容滤波电路比较简单,而且负载直流电压比较高,纹波也比较少,适用于负载电压较高,负载变动不大的场合。图3.8 电感滤波电路 稳压电路:稳压电路(稳压器)是为电路或负载提供稳定的输出电压的一种电子设备。当电网电压波动及负载变化时,保持输出电压的稳定。稳压电路最大的作用就是能提供相对比较稳定的直流电,但是,和理想的直流电源相比,整流滤波电路的输出电压还是有很大差别的,其中,主要是差别有:一是当负载电流有变化的情况,由于整流滤波电路本身存在一定的内阻,因此,经过整流和滤波后输出的直流电压必然也会产生一定变化。二是因为我们平时用的电网电压并是特别稳定,当电网上的电压发生变化时,整流电路的输出很有可能会随着变压器副边电压的变化而变化,所以会导致输出直流电压会产生一定的变化。因此,在设计中,我们需要利用三端集成稳压器LM2596这款芯片来实现稳定电压的功能。图3.9 稳压部分总电路图3.3 继电器模块继电器的在本系统的功能控制稳压芯片LM2596的接入,从而达到控制稳压的作用。使用继电器的常开端连接LM2596,触发端连接单片机管脚P1.4P1.7。具体控制过程为:当信号触发端触发时,继电器吸合,相当于它的开关闭合,此时回路导通,设备将处于有电状态,并开始工作。继电器说明:图3.10 继电器接常开端继电器模块常开接口最大负载:交流250V/10A,直流30V/10A;触发电流5mA;模块工作电压有5V、9、12V、24V可供选择;模块可以通过跳线设置高电平或低电平触发;电源指示灯(绿色),继电器状态指示灯(红色)所有接口均可通过接线端子直接连线引出。跳线与LOW短接时为低电平触发选择端;跳线与high短接时为高电平触发选择端。表 3.3 继电器接口输入端输出端管脚功能管脚功能DC+接电源正极NO继电器常开接口,继电器吸合前悬空,吸合后与COM短接DC-接电源正极COM继电器公用接口IN可以高或低电平控制继电器吸合NC继电器常闭接口,继电器吸合前与COM短接,吸合后悬空3.4 显示模块本系统需要将电流电压提示字、本人基本信息、采集值等多个参数进行实时显示,因此需要使用LCD模块。3.4.1 液晶芯片的选择方案一:LCD 16021602是一种内置含128个字符的ASCII字符集字库的字符型液晶,可基本实现本课题的显示。但是它有三个局限的地方在本系统,第一是,只可显示字符,不能显示汉字,第二,最大显示32个字符,对于本课题空间较小,显示效果不佳,第三不能串行进行数据传输。方案二:LCD 1286412864为5v电压驱动,带背光,可显示4行16个汉字,内置8192个16X16点阵、128个字符(8X16点阵)及64X256点阵显示RAM(GDRAM)。与外部CPU接口采用并行或串行两种控制方式。它可以在液晶任意位置显示数字、符号、汉字和图形。综上所述:因为本课题不仅需要显示电流电压提示字、本人基本信息、采集值等多个参数,而且显示的内容使用32个字符空间有点小。所以选择方案二 LCD 12864,可以在液晶屏上选择任意位置显示数字、符号、汉字,并且可以显示128个字符,它具有更大的显示空间,可以使用户能清楚的了解参数显示值。3.4.2 显示原理 LCD液晶显示器的主要原理是采用电流方式刺激液晶分子产生点、线、面,同时配合背景灯光就会构成画面。本课题设计选用ST7920作为控制器的液晶12864具有20个引脚,每个引脚具有不同的功能,具体引脚功能说明如表3.4所示。表3.4 12864管脚说明编号符号引脚说明编号符号引脚说明1VSS电源地11D4数据口2VDD电源正极12D5数据口3VO液晶显示对比度调节13D6数据口4RS数据/命令选择端14D7数据口5R/W读/写选择端15PSB并/串选择6E使能信号16NC空脚7D0数据口17RST复位8D1数据口18NC空脚9D2数据口19BLA背光电源正极10D3数据口20BLK背景电源负极3.4.3 显示模块硬件设计液晶LCD12864具有体积小、显示字符多、功率低、价格实惠的优点,可以用它任意显示汉字、字符、图画等。此款液晶虽然具有串行操作方式,但是在本次课题设计,我采用并行操作方式传输需要显示的数据,运用的是液晶LCD12864的7引脚到14引脚的数据口端传输数据。液晶LCD12864引脚1和引脚2是电源端,15、16为背光电源,为了防止背光灯被烧坏,所以在15引脚串接一个用于限流的1K电阻;液晶3引脚是液晶的对比度调节端,通过一个2K电位器接地来调节液晶LCD12864的显示亮度。当液晶第一次上电的时候,要注意调节液晶显示亮度到液晶最上面的一行显示出黑色小格为止。液晶的4引脚是接单片机引脚,并通过这个引脚向液晶控制器发送写数据还是写命令的控制命令。液晶5引脚是读和写的选择端,因为本课题设计中不需要从液晶中读取任何数据,只需要向液晶里面写入命令和显示数据,所以这个端口始终是为写状态,即为低电平接地。液晶LCD12864的6引脚是使能信号端,是操作时必需的信号,它也是一个控制信号。图3.11液晶管脚图3.5 电流电压采集模块电流电压采集模块是由芯片PCF8591,以及电流传感器ACS712构成。其中PCF8591通道1采集电压,通道0采集电流,单片机和和PCF8591通过进行通信,AD的数据口SDA与单片机的P3.3相连,串行时钟线SCL与单片机管脚P3.2相连。AD采集芯片特点 PCF8591是一个单片集成、单独供电、低功耗、8-bit CMOS数据获取器件,它的工作电压范围2.5V6V,电压采集范围0V-5V,本设计中采集的电压范围是1.1V4V。具有4个模拟输入、1个模拟输出和1个双线双向串行I2C总线接口。PCF8591的3个地址引脚A0、A1和A2可用于硬件地址编程,本设计中它的地址是0x90。允许在同个I2C总线上接入8个PCF8591器件,而无需额外的硬件。模块上有两个指示灯,一个是电源指示灯,一个是DA输出指示灯,当模块DA输出接口电压达到一定值,会点亮板上DA输出指示灯,电压越大,指示灯亮度越明显。此外该芯片集成热敏、光敏电阻,可以通过AD采集环境光强精确数值,在本设计中没有涉及。图3.12 PCF8591管脚表3.5 PCF8951管脚说明AOUT芯片DA输出接口AINO芯片模拟输入接口0AIN1芯片模拟输入接口1AIN2芯片模拟输入接口2AIN3芯片模拟输入接口3SCL I2C时钟接口 接单片机IO口SDAI2C数字接口 接单片机IO口GND模块地 外接地VCC电源接口 外接3.3V5V单片机和PCF8591进行数据交换时,需先写入地址,和控制字,再接收采集数据。表3.6 PCF8591地址字1001A2A1A0R/固定可编程本设计中PCF8591地址设置为0x90。表3.7 PCF8591控制字0XXX0XXX模拟输出使能单一输入/差分输入自动增加标志模拟输入通道(03)所以启动电流通道0控制字为0x40,启动电压通道1控制字为0x41。图3.13 AD采集电路图3.5.1 电流采集设计ACS712是一款工作电压为5V,测量电压范围为+5A的电流传感器。ACS712是基于霍尔检测的原理,模拟量输出185mV/A,它带宽为80KHZ,总输出误差为1.5,1.2m内部电阻。图3.13 ACS712管脚图表3.8 ACS712管脚说明管脚名称功能描述1和2IP+被测电流输入/输出3和4IP-被测电流输入/输出5GND信号地6FILTER外接电容7VIOUT模拟电压输出8VCC电源电压本设计中ACS712输入端连接稳压后的电路中,输出端连入PCF8591通道0,实现电流的采集。图3.14 ACS712原理图3.5.2 电压采集设计因为PCF8591能采集的电压最大为5V,而稳出的直流电源电压12V3.3V,所以大于5V电压将无法采集。考虑到这种情况,所以设计了用3个150K的电阻进行分压,这样只需将单片机采集的电压X3,就能得到原有的电压。图 3.15 电流电压采集总框图3.5.3 AD转换原理1) 取样和取样定理将连续变化的模拟信号用多个时间点上的信号值来表示称为取样,取样点上的信号值称为样点值,样点值的全体称为原信号的取样信号。只要取样频率fS大于等于模拟信号中的最高频率fmax的2倍,利用理想滤波器即可无失真地将取样信号恢复为原来的模拟信号。2) 取样保持取样后的样点值必须保存下来,并在取样脉冲结束之后到下1个取样脉冲到来之前保持不变,以便ADC电路在此期间内将该样点值转换成数字量,这就是所谓取样-保持。3) 量化与编码取样保持后的样点值仍是连续的模拟信号,为了用数字量表示,必须将其化成某个最小数量单位的整数倍。3.6 无线模块无线部分主要是由蓝牙模块HC-05构成。工作范围在空旷的地方有效距离为10米,输入电压为3V6V,不能超过7V,因此本设计采用3.3V。可当全双工串口使用,支持8位数据位、1位停止位、可设置奇偶校验的通信格式。它的主要功能是通过蓝牙和串口通信,利用射频信号使单片机和手机蓝牙APP进行数据交换。参数设置如下:通讯标准:串口、TTL电平方式:异步全双工串口波特率:9600bps数据位:8停止位:1校验位:noneHC-05特点HC-05蓝牙模块是英国CSR公司生产的Blue Core4-Ext芯片,遵循V2.0+EDR蓝牙规范。支持UART、USB、SPI、PCM、SPDIF等多种接口;并支持SPP蓝牙串口协议,具有成本低、体积小、功耗低、收发灵敏性高等优点,可以直接连接各种单片机;它内置PCB射频天线和8Mbit Flash,工作电压为3.3V;预留LED状态输出脚,单片机可通过该脚状态判断蓝牙是否已经连接,led指示蓝牙连接状态,闪烁表示没有蓝牙连接,常亮表示蓝牙已连接并打开了端口;蓝牙连接以后自动切换到透传模式,该链接为从机,从机能与各种带蓝牙功能的电脑、蓝牙主机、大部分带蓝牙的手机、PDA、PSP等智能终端配对,从机之间不能配对。图3.16 HC-05结构图HC-05使用前需要通过AT指令设置波特率、名称、配对密码。手机通过蓝牙模块与单片机通信的步骤:1) 编写好串口程序,设定好波特率等 2) 正确使用蓝牙串口助手蓝牙串口助手有3种工作模式第一种直接填写好数据就按 SEND,同时在HEX上打钩表示是十六进制第二种就是按键发送,这步你要对相应的键设置好值第三种是发送文件的本设计选择第二种3) 通过STC把程序下载进去4) 模块连接配对5) 进行调试表3.9 HC-05管脚名称功能名称功能TXD串口输出PIO(11)状态切换管脚RXD串口输入PIO(8-9)状态指示灯1、2蓝牙模块TXD连接单片机管脚P3.1,RXD连接单片机管脚P3.2,GND和VCC分别接地和3.3V。图3.17 无线部分电路图3.6.1 通信方式单片机和蓝牙模块是利用串口进行通信的,通信方式为:异步通信。异步通信传输方式是一种面向字符的传输技术,它是利用字符的再同步方式实现数据的发送和接收。在异步传输方式下,最基本的数据传输单位是一个字符帧。基本的字符数据帧是由713位组成。其格式如图3.17所示,方括号 中的位表示为可选位。图3.18异步传输的字符数据帧格式表3.10 图中符号含义符号含义IDLE线路空闲,线路空闲时,线路保持逻辑“1”St起始位,逻辑“0”n数据位(08),最少5位,最多9位,低位在前P奇偶校验位Spn停止位,逻辑“1”从图中可知,异步传输的字符数据帧是由1个数据位加上同步位(开始和结束位)以及作为检错的检验位3部分构成:串口进行异步数据传输时,不仅需要制定数据帧的格式外,还需要有波特率。当异步通信的波特率和数据帧的格式确定以后,发送方就按照规定的数据帧格式、规定位宽度发送数据帧。接收方则以传输线的空闲状态(逻辑“1”)作为起点,不停地检测和扫描传输线,当检测到第一个逻辑“0”出现时(起始位到达),知道一个数据帧开始了(实现数据同步)。接下来以规定的位宽度,对已知格式数据帧进行测试,获得数据帧中各个位的逻辑值。测试到最后的停止位时,如果为规定的逻辑“1”,则说明该数据帧已经结束。3.6.2 通信协议蓝牙模块和手机之间要实现真正数据的正确传送和信息的交换,不仅需要相同的波特率,还需要制定统一的上层通信协议。通信协议制定主要体现在上下行数据包的定义和双方通信过程的规定。通信数据包是以字节为最小的单位,通常一个典型的数据包格式和内容如表3.11所示:表3.11数据包格式 起始字从机地址 包长度 命令字 数据 校验字结束字 (BBH)一字节一字节一字节一字节 N字节(EEH)1 起始字1字节,标示一个数据包的开始。2 从机地址1字节,多机通信时使用,指明数据的接受者。3 包长度1字节,当前数据包所含有效字节数。4 命令字1字节,标示本数据包的用途与意义。5 数据N字节,用户数据,数据长度根据需要制定。6 校验字1字节,应用于数据包的校验,可定义为项所有字节的逻辑和。7 结束字1字节,标示一个数据包的结束。通信协议的制定:它的主要内容为对通信双方通信过程和规则的定义及错误处理等,通常包括以下几点:1) 规定和定义一次通信过程。例如一次典型、完整的通信过程为:每次由上位机开始下发数据包,而下位机收到数据后必须在限定时间内应答。2) 通信语义。即数据包各个项的具体含义,完成的动作,以及如何应答等。3) 错误处理。数据包交换过程中,尤其是接收端数据发生错误时的处理方法。3.7 过载提醒模块采集完的电流,如果超过700mA,单片机会将管脚P1.4、P1.5置一,达到控制LED1灯闪烁,蜂鸣器鸣叫的作用。图3.19 声光提醒电路图4 软件系统设计无线控制多用电源的功能实现不仅需要硬件,还需要与硬件相匹配软件的驱动。本课题软件系统设计采用的是模块化设计,即将要实现的一个个小功能模化块,分别对这些模块进行设计、编程和调试,最后通过主程序和中断服务程序将各子程序模块串连起来。图4.1程序整体模块图4.1 软件总体设计根据第三章设计的硬件系统,编写C语言代码来实现各个模块之间的通信。首先初始化系统显示和串口控制字,显示大约30S本人的基本信息,接着单片机通过串口检测手机端的按键信息,接收并处理数据后,确定键值和手机端的控制命令,然后控制通过管脚P1.4-P1.7控制继电器的开关,再通过总线启动AD转换,最后将转换完的数据通过P0.0-P0.7并行传给LCD12864。图4.2 程序流程图4.2 无线发送接收部分手机端的蓝牙串口助手APP和单片机蓝牙模块是通过TCP服务器传输数据,当TCP服务器有数据时,程序会把数据传给蓝牙模块,蓝牙模块有数据来时,也会被发送给服务器。手机端蓝牙串口助手APP和单片机蓝牙模块进行通信的时候,使用的是异步通信的方式,要实现数据的同步,不仅需要接收方正确的检测到发送端所发送的数据帧,而且需要相同的串行波特率。异步通信中所采用的数据帧格式只是一个基本面向字符的数据传送规范,它除了对数据帧格式定义外,并没有涉及其他内容。换句话说,仅仅规定和实现如何正确的接收和发送一个字符。这并不能满足真正应用系统的需求,从网络和通信的观点出发,还需要制定和建立应用层的协议,才能真正实现数据的正确传送和信息交换,因此上层应用通信协议需要我们自己去定制和实现。通信协议的制定主要体现在上下行数据包的定义和双方通信过程的规定。上下行数据包是以字节为最小单位。在协议的制定上要全面考虑,要保证通信过程的可靠,以保证整个系统的稳定。本设计的通信协议制定如下: 按键发送发送触发:当按键被按下并释放后,将触发程序发送数据帧(默认6个字节)。表4.1 按键发送数据帧说明Byte0ByteByte2Byte3Byte4Byte5A55A04(B1-B12)(Byte2+Byte3)AA帧起始字1帧起始字2总字节数除起始字按键n校验码(除起始字外数据累加取低位)帧结束表4.2 按键数据包键值功能数据帧按键112vA5 5A 04 B1 B5 AA按键29vA5 5A 04 B2 B6 AA按键3接通电源A5 5A 04 B3 B7 AA按键45vA5 5A 04 B4 B8 AA按键53.3vA5 5A 04 B5 B9 AA按键6关闭电源A5 5A 04 B6 BA AA按键7A5 5A 04 B7 BB AA按键8A5 5A 04 B8 BC AA按键9A5 5A 04 B9 BD AA按键10电子12-2A5 5A 04 BA BE AA按键1111号A5 5A 04 BB BF AA按键12胡敏A5 5A 04 BC B0 AA LED控制接收触发:当接收到相应的帧时,程序会将目标LED点亮或者是熄灯(7个字节)。表4.3 LED 接收数据帧格式Byte0Byte1Byte2Byte3Byte4Byte5Byte6A55A05(E1-E4)01(Byte2+Byte3+Byte4)AA帧起始字1帧起始字2总字节数(除起始字)设置LEDnLED状态(01点亮)(00熄灭)校验码(除起始字外累加取低位)帧结束本设计只用了LED1,其的数据包为下表。表4.4 LED1数据包LED值状态数据帧LED1点亮A5 5A 05 E1 01 E7 AA LED1熄灯A5 5A 05 E1 00 E6 AA单片机控制LED1开关代码如下:void LED1_Light(char Y_N) /1:开 0: 关 if(Y_N) UART_PutChar(0xA5); UART_PutChar(0x5A); UART_PutChar(0x05); UART_PutChar(0xE1); UART_PutChar(0x01); UART_PutChar(0xE7); UART_PutChar(0xAA); else UART_PutChar(0xA5); UART_PutChar(0x5A); UART_PutChar(0x05); UART_PutChar(0xE1); UART_PutChar(0x00); UART_PutChar(0xE6); UART_PutChar(0xAA); 参数接收触发:当接收到相应的返回参数帧时,程序会更新面板显示(8个字节)。程序收到目标参数值后,再乘以倍数显示出来。如果倍数为1则说明不使用倍数。表4.5 参数接收数据包Byte0Byte1Byte2Byte3Byte4Byte5Byte6Byte7A55A06(C1-C6)0B31(Byte2+Byte3+Byte4)AA帧起始字1帧起始字2总字节数(除起始字)更新返回参数n返回参数值高字节返回参数值低字节校验码(除起始字外累加取低位)帧结束本设计需要返回参数有参数1电压。表4.6 返回参数 数据帧参数功能数据包参数1电压 A5 5A 06 C0+N 00 (0x06+0xc0+n+Parameters)&0xff) AA单片机发送参数代码如下:void Parameters_send(uchar n,uchar Parameters)uchar a=0; a=(0x06+0xc0+n+Parameters)&0xff; UART_PutChar(0xA5); /BYE0 UART_PutChar(0x5A); /BYE1 UART_PutChar(0x06); /BYE2 UART_PutChar(0xc0+n); /BYE3 UART_PutChar(0x00); /BYE4 UART_PutChar(Parameters); /BYE5 UART_PutChar(a); /BYE6 UART_PutChar(0xAA); /BYE74.3 按键检测及键值确定部分 手机发送的数据包发送到蓝牙模块,蓝牙模块管脚TXD利用串口通信将收到的控制指令通过单片机管脚P3.1传给单片机。单片机接收数据包后,分析数据包第三、四字节的数确定键值。确定键值的部分程序: if(flag=1)/中断标志 if(table23=0xB1)if(table24=0xB5)flag_display=1;if(table23=0xB2)if(table24=0xB6)flag_display=2;if(table23=0xB3)if(table24=0xB7)flag_display=3;if(table23=0xB4)if(table24=0xB8)flag_display=4;if(table23=0xB5)if(table24=0xB9)flag_display=5;if(table23=0xB6)if(table24=0xBA)flag_display=6;if(table23=0xB7)if(table24=0xBB)flag_display=7;if(table23=0xB8)if(table24=0xBC)flag_display=8;if(table23=0xB9)if(table24=0xBD)flag_display=9;if(table23=0xBA)if(table24=0xBE)flag_display=10;if(table23=0xBB)if(table24=0xBF)flag_display=11;if(table23=0xBC)if(table24=0xB0)flag_display=12;/确定table23=0;table24=0;Key_Control(flag_display);flag=0; 蓝牙模块和单片机之间是通过串口通信的。本设计串口时钟为单片机定时器1,工作方式2,8位自动重装载模式,定时初值为253。串口方式方式1,波特率可变10BIT的异步通信方式。串口通信方式有两种,一种是查询方式和中断方式。本设计按键检测采用的是中断的串口通信方式,采集电压值的发送使用的是查询方式。图4.3 中断方式接收中断接收代码:void ser() interrupt 4 RI=0;/接收前置零,接收完自动置零 table2dataflag=SBUF;/SBUF串口缓冲寄存器,=接收的数据 dataflag+; if(dataflag=5)flag=1;dataflag=0;图4.4 查询方式发送查询方式发送:void UART_PutChar(uchar a)SBUF=a; while(!TI);/TI串口发送中断标志 TI=1发送完毕 TI=0;4.4 继电器控制部分继电器接入单片机的管脚P1.4-P1.7,P1.4控制的是直流稳压5V,P1.5控制的是直流稳压9V,P1.6控制的是直流稳压3.3V,P1.7控制的是直流稳压12V。单片机根据键值,分析得到按键控制命令,确定继电器的控制那路电压开关,选择那个稳压芯片接入电路,因为继电器和稳压芯片连接的是常开端,所以单片机只需给稳压芯片对应的继电器管脚置1,继电器将会吸合,最终达到选压的目的。设置默认接通电源,电压值为5v。当所有继电器不吸合,将会达到关闭电源的目的。图4.5 继电器软件流程图4.5 AD采集模块软件设计AD芯片PF8591采集电压电流。因为PF8591采集电压最大值为5V,所以我们设置采集电压的3分压,然后X3得到原有的电压值,电压采集利用是PF8591的AN1通道。电流传感器转换完的数据接入PF8591通道AN0。PF8591和单片机之间是通过进行全双工同步通信。具有串行接口引脚少、占有PCB少、接口简单、节省宝贵I/O口线等优点。PF8591的时钟管脚SCL连入单片机管脚P3.2,数据管脚SDA连入单片机管脚P3.3。PF8591的器件地址为0x90,电压设置模拟输入为单输入,选择通道0,所以控制字为0x40。电压设置模拟输入为单输入,选择通道1,所以控制字为0x41。进行总线传送时,开始位以后,单片机发送8位控制字,以选择PF8591并控制总线传送的方向,其后传送数据。总线上传送的每一个数据都是8位的,数据传送字节数没有限制,但每传送一个字节后,接收那方都必须发送一位应答信号(低电平为应答信号ASK,高电平为非应答信号),表示此字节已经收妥。发送方确认以后,再发下一个数据。每个数据都是由高到低的发送,在全部数据传送结束后单片机发送终止信号。单片机发送控制字的时序为:启动总线,发送器件地址,发送控制字,等待PF8591应答信号,结束总线。单片机读入数据时序为:启动总线,发送器件地址,等待PF8591应答信号,读取数据,发送非应答信号,结束总线。图4.6 AD采集流程图4.6 采集结果显示部分单片机和12864采用并行传送数据方式。单片机的P0口连接12864的8为数据口,P2.0连接12864的数据命令端RS,P2.1连接12864的读写端RW,P2.2连接12864的使能端E,P2.3连接12864的串并端PSB。12864可以显示4行汉字,第二行显示的首地址为0x90,第一行显示的首地址为0x88,第一行显示的首地址为0x80,第一行显示的首地址为0x98。参数显示采用LCD12864液晶的并行控制方式,8个数据口同时进行数据传输,可以快速的进行数据传送。液晶显示程序设计首先要初始化液晶显示屏,然后设置PSB为并行传输方式并设置打开显示、显示清屏和指针清零以及写一个字符后地址指针加1等。然后通过控制液晶的数据与命令选择端以及使能端,按照一定的时序分别向LCD写数据和写命令。最后把要显示的内容,通过写数据的方式就可以完成显示。具体软件流程为,首先将要显示的数据基本信息等,装入数组。随后确定显示地址,最后将数组循环通过并口写入12864中。将电流电压可能显示的数据字符定义在一个数组1中,采集的电流电压暂存在数组2,将数组二分离各个位后,通过查询的方式,显示出采集数据的各个位。并行操作时序读状态: 输入:RS=L,R/W=H,E=H输出:D0-D7=状态字。读数据: 输入:RS=H,R/W=H,E=

温馨提示

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

评论

0/150

提交评论