STC89C52单片机云窗自动控制系统硬件设计(3)

(4)无线通信及与云端的连接接口。 本文将对上述技术展开研究,并形成初步的产品样品模块。本文主要在硬件层面进行研究及说明。 1.4 系统整体设计 在


(4) 无线通信及与云端的连接接口。

本文将对上述技术展开研究,并形成初步的产品样品模块。本文主要在硬件层面进行研究及说明。

1.4 系统整体设计

在设计中,要求系统能够实现以下功能:

(1) 控制信息断电保存功能;

(2) 供用户查看的显示功能;

(3) 供用户输入的按键功能;

(4) 系统根据预设控制信息自动控制设备的功能;

(5) 环境数据采集及处理功能;

(6) 系统根据环境检测结果自行判断对设备的控制的功能;

(7) 保留与云端服务器连接的通信方式及接口。

由于本系统要求在保证系统的功能完整的前提下,将系统打散并形成数个模块。在这样的设计要求下,这里把系统分为主控模块、外围设备和云端三部分组成,连接三部分的为通用的自定义设备接口。系统整体架构如图1-1所示。

图1-1: 系统整体架构

其中,主控模块为整个系统的核心部分,其内部包括了显示模块、时钟模块、存储模块、按键输入及设备接口;外围设备包括输入设备和输出设备两大类,输入设备例如环境检测模块、键盘模块等,输出设备则指的是具体的执行器件,即执行打开或关闭窗户的具体硬件;云端指的是云端的服务器,其用于对数据进行更高级更复杂的处理和计算,使整个系统的自控能力增强。

自定义设备接口为各部分间提供稳定的数据连接,主要为主控模块与设备间的连接和主控模块与云端间的连接。主控模块与设备间的连接有两种方式,即有线连接和无线连接;主控模块和云端的连接方式可通过无线连接完成,也可通过主控模块上保留的串行通信口完成。

本文将对主控模块、外围设备、设备接口以及所涉及到的技术进行研究及叙述,而云端服务器部分由于已不属于硬件范围,故在此不作介绍。

第二章  技术准备

2.1 引言

完成上述功能,所需要的一些技术包括89C51系列单片机的使用、I2C总线技术、socket通信技术等,本章将对上述技术进行简单介绍。

2.2 89C51系列单片机

89C51是一种自带可编程可擦除只读存储器的低电压、高性能CMOS8位微处理器,俗称单片机,其为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

本设计中选用的是宏晶科技有限公司生产的STC89C51RC/RD+系列单片机和STC12C2052AD系列单片机。上述两个系列的单片机的指令代码均完全兼容传统8051,工作在5V的电压下,分别拥有32个/15个通用I/O口[11][12],用户应用程序空间因型号而异,可按需选择,足以满足设计需求。

2.3 I2C总线技术

I2C总线是由Philips公司开发的一种简单、双向二线制同步串行总线,只需要两根线即可在连接于总线上的器件之间传送信息。I2C总线是由数据线SDA和时钟线SCL两条线构成的通信线路,该总线既可发送数据,也可接收数据,为半双工通信总线。各种被控器件均并联在一条总线上,但每个器件都有唯一的地址,以此区分不同的设备。CPU发出的控制信号分为地址码以及数据码两部分:地址码用来选址,即接通需要控制的器件;数据码是通信的内容[1]。

本设计中所使用的存储芯片和时钟芯片均为I2C总线器件,设备间通信使用的自定义总线也是通过模拟I2C总线技术实现的。

2.4 socket通信技术

socket又称为“套接字”,它是网络终端之间进行通信的一种约定或一种方式。通过 socket 这种约定,一个终端可以接收其他计算机的数据,也可以向其他终端发送数据。socket需要有一个服务端(server)和至少一个客户端(server)。服务端需要监听网络状态,其一直处于等待状态;客户端需要向服务端提出连接请求,其套接字需要描述服务器的套接字,指出服务器端套接字的地址和端口号,然后就向服务器端套接字提出连接请求。服务端收到连接请求后响应该请求,此时连接建立,而服务器端继续监听其他客户端套接字的连接请求[2]。