微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 硬件工程师文库 > 基于深联华单片机的无线智能插座

基于深联华单片机的无线智能插座

时间:02-18 来源:电子发烧友网 点击:

离的作用。三极管采用8050,最大可以提供1A的驱动电流,完全可以满足设计要。

  控制单元设计原理:

  该系统的主控芯片选用深联华SC89F5162单片机,SC89F5162是一种高速高效率8051兼容单片机。在同样的震荡频率之下,较之传统的8051单片机它具有更快的速度,性能更优越。

  该系统的设计使用了单片机的定时器0、SPI、ADC、EUART1、IO资源。定时器是为串口接收数据提供定时时间,用来判断一帧数据是否接收完毕;SPI控制93C46,保存和读出插座的状态数据;ADC用来采集电流采集单元的输出电压,为检测是否过流提供数据;EUART1是和WIFI模块进行通信的,接收来自手机客户端的数据,并向客户端返回数据。IO用来控制时钟单元和功率单元等。

  控制单元是系统的核心,也是知识产权保护的核心,保护好单片机不被破解是重要方面,深联华单片机采用了多种防破解技术,高达32位的密码生成器,白噪声密码没有规律可循等等这些特点决定了代码的安全性很高,这就能很好的保护开发者的利益。

  电流采集单元设计原理:

  对交流电流进行采集需要用到交流互感器,该系统采用DL-CT03C1.0精密电流互感器,变比为1:1000,最大可测电流为10A,输出端最大可接电阻为50欧姆,这里选择47欧姆电阻。由于电阻上电压很低,所以不可以直接对电阻上的交流电压进行整流,因此在整流之前使用LM358对交流电压信号进行7.8倍放大。运放所放大的信号为交流信号,需要一个双极性电源进行供电,正好使用电源模块提供的正负5V电源。将放大的电压信号通过桥整流电路进行整流,然后使用电容滤波,再通过一个低通滤波电路将信号送入单片机AD引脚。

  存储单元设计原理:

  存储芯片选用93C46芯片,该芯片使用SPI通信方式,具有128个字节的容量。系统需要保存的数据量小,该芯片可以满足需求。

  实时时钟单元设计原理:

  实时时钟单元采用DS1302芯片,该芯片在掉电时可以使用备用电源,数据通信使用串行方式,占用IO较少,芯片价格低廉计时精确,完全能满足系统设计需求。

  WIFI模块单元:

  WIFI模块使用的是成品模块,通过串口与单片机通信。该模块可通过电脑设置参数,使用方便。

  3、软件设计原理

  在单片机软件设计时采用模块化编程的方法以及分层设计的思想。首先设计使用到的单片机资源的驱动程序,然后设计使用到的芯片的驱动程序,最后设计应用层的程序。

  下面介绍各个.c文件的主要内容:

  Initial.c文件主要是单片机系统时钟、定时0、串口1的初始化函数,以及串口发送数据的函数。

  SPI.c文件包括单片机SPI资源的初始化,以及93C46芯片的驱动程序。

  DS1302.c文件包括DS1302芯片的驱动程序,主要是对芯片的初始化,读写函数等。

  ADC.c文件主要包括对单片机ADC资源的初始化函数,以及对采集到的数据进行处理的函数,文件使用的是官网提供的,但是有些地方有问题,进修改后可以正常使用。

  OutletStatuePro.c文件主要是对插孔的结构体数据进行处理的函数,包括设置插孔的状态,得到插孔的状态,设置插到打开或者关闭的定时时间等等。

  Main.c文件是项目的主文件,这里首先是调用各个模块的初始化函数,以及调用相应的驱动函数完成对应的功能。

  下面具体介绍程序执行流程:

  程序开始运行后首先调用各个模块的初始化函数,完成对单片机以及其他芯片的初始化工作。下一步就是读取93C46中数据,然后就是就如主循环。在主循环中首先判断串口是否正在接收数据,如果正在接收数据则不执行解析,如果接收完毕则开始解析接收到的数据。根据不同的指令执行相应的操作,具体操作可看代码注释。解析工作完成后读取一次DS1302的数据,然后开始根据各个插孔的当前状态执行相应的操作,在这个处理过程中使用了状态机的概念,根据插孔的状态执行相应的操作,并且判断是否有插座处于开启状态,如果有的话就启动AD,判断当前功率是否超过设定功率,如果超过了设定功率则关闭所有插孔。

  4、通信数据帧设计原理

  手机客户端与智能插座的通信是通过互联网实现的,在这个系统的设计中我们采用UDP协议,在这个基础上设计了简单的通信协议,下面就具体说明一下数据格式的定义。

  帧头指令数据

  表2.41 帧结构

  表2.41表示的是基本的帧结构,一帧数据由三部分构成,帧头为0xFF占用一个字节。指令占用一个字节,用来表示该帧数据的作用。数据部分表示传输的数据,占用的字节数不固定。


表2.42 指令和数据说明

表2.42详细说明了各个指令的作用,以及指令后要跟的数据的作用,通过简单的协

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top