智能家居定时开关设计 - 图文 联系客服

发布时间 : 星期六 文章智能家居定时开关设计 - 图文更新完毕开始阅读8d9d4c0e5901020207409c8f

南京工程学院自动化学院本科毕业设计(论文)

图3.2 复位电路

通电前电容C1两端电压都为0,通电后C1正极电压为+5V,由于电容两端电压不能突变,所以RST端也为+5V为高电平,由公式(3-1)可算出RST端高电平持续时间为34.5ms远远大于单片机两个机器周期2.17us,因此单片机复位,这就是上电复位。 ?C?U0e1?t? (3-1)

其中,U0为初始电压,τ=RC。

通电一定时间后,当按下按键S1,RST端电压大约为4.2V为高电平,因为按键的时间肯定会超过了两个机器周期,所以单片机复位,这就是手动复位的过程。其中,电阻R1、R2起分压作用,电阻R2的作用是使RST端电压不超过单片机芯片的供电电压。 3.2.2 晶振电路

晶振电路是单片机的心脏,它控制着单片机的工作节奏。高频率的时钟有利于程序更快的运行,也有可以实现更高的信号采样率,从而实现更多的功能。但是高频率对系统要求较高,而且功耗大,运行环境苛刻。考虑到单片机本身用在控制,并非高速信号采样处理,所以选取合适的频率即可。AT89S系列单片机允许的时钟频率是33MHZ,典型值为12MHz,为了波特率是整数,本设计选取11.0592MHz的无源晶振,图3.3为时钟电路的内部结构图,由图可见时钟电路是一个反相放大器,XTAL1、XTAL2分别为反相放大器的输入和输出端,外接晶振(或陶瓷谐振器)和电容组成振荡器。振荡器产生的时钟频率主要由晶振的频率决定。电容C2和C3的作用有两个:其一是使振荡器起振,其二是对振荡器的频率f起微调作用(C2、C3减小,f变大),其典型值为30pF。振荡器在加电以后约10ms开始起振,XTAL2输出3V左右的正弦波。振荡器产生的时钟脉冲送至单片机内部的各个部件。

11

南京工程学院自动化学院本科毕业设计(论文)

图3.3 晶振电路

3.2.3 最小系统

单片机最小系统如图3.4所示:

图3.4 单片机最小系统

3.3 时钟电路模块设计

时钟电路是控制定时开关功能的重要电路,智能家居定时开关设计的时钟电路模块主要依赖DS1302和24C16。如图3.5。

图3.5 时钟电路

12

南京工程学院自动化学院本科毕业设计(论文)

3.3.1 时钟芯片DS1302模块

美国DALLAS公司的DS1302是一种高性能、低功耗、带RAM的实时时钟芯片,它采用SPI串行总线接口与单片机连接。

SPI是由MOTOROLA公司提出的一种同步串行外围接口,采用3根或4根信号线进行数据传输,所需要的信号包括使能信号、同步时钟、同步数据(输入和输出)。采用SPI接口可以方便地与许多厂家的各种标准外围器件直接连接。采用SPI总线可以简化系统结构,降低系统成本,使系统具有灵活的可扩展性。SPI串行总线有如下一些主要特点:

1、全双工,三线同步传输。 2、主机或从机操作。

3、1.05Mbit/s的最大主机数据传输速率。 4、4种可编程主机数据传输速率。 5、可编程串行时钟极性与相位。 6、发送结束中断标志。 7、定开发冲突保护。 8、总线竞争保护。

SPI从设备一般使用1根数据线(I/O)和2根控制线(RST、SCLK)。其中,数据线不仅用于从设备向系统主机返回数据,还可以用作多个从设备之间的级联,当前从设备的I/O输出端可以连接到下一级设备的I/O输入端。

SPI串行接口设备既可以工作在主设备模式下,也可以工作在从设备模式下。系统主设备为SPI总线通信过程提供同步时钟信号,并决定从设备片选信号的状态,使能将要进行通信的设备。SPI从器件则从系统主设备获取时钟及片选信号,因此从器件的控制信号RST、SCLK都是输入信号。

在系统主机与SPI从设备之间进行通信时,不论是命令还是数据都以串行方式传送,串行传送的数据被泵入到一个移位寄存器,并转换为并行数据格式。须指出的是,移位寄存器的位数并不是固定的,它根据不同的设备而各不相同。大多数设备的移位寄存器是8位或8位的整数倍。

如果一个SPI从设备没有被选中,它的数据输出端将处于高阻状态,从而与当前处于激活状态的器件隔离。当多个SPI从设备级联使用时,将它们的使能端连接到同一个片选信号上,当作一个从设备来处理。级联的SPI从设备被看作是一个大的设备并使用相同的片选信号,从设备的数据输出端分别被连接到下一个从设备的数据输入端,并将最后一个从设备的数据输出端连接到系统主机的数据输入端。当系统中所有的SPI从设备都需要独立地连接到系统主机时,所有的从设备仍然使用相同的时钟信号SCLK,并将所有SPI从设备的数据输入引脚连接

13

南京工程学院自动化学院本科毕业设计(论文)

到系统主机的数据输出引脚,从设备的数据输出引脚连接到主机的数据输入引脚,但每个SPI从设备采用相互独立的片选信号来控制芯片使能端,这样系统主机可以通过片选信号来选通其中一个从设备进行读写操作访问,而未被选中的其它所有器件处于高阻隔离状态。

在SPI串行总线通信过程中,RST用来控制外围设备的选通(低电平有效),未选通器件的数据输出端信号线将处于高阻状态。SCLK则用来为数据通信提供同步时钟,不论SPI从设备是否处于选通状态,系统主设备都会为所有SPI从设备提供SCLK信号。SPI串行数据通信接口可以配置为4种不同的工作模式,它们如表3-1所示。

表3-1 SPI串行通信接口模式 SPI模式 0 1 2 3 CPOL 0 1 1 CPHA 0 1 0 1 CPHA用来表示同步时钟信号的相位,CPOL用来表示同步时钟信号的极性。当同步时钟信号的相位为0、极性也为0时,通信过程中的数据位在同步信号的上升沿锁存;当相位为0,极性为1时,数据位在同步时钟信号的下降沿锁存。在同步时钟信号相位为1的情况下,同步时钟信号的相位会翻转180°。

采用DS1302作为主要计时芯片,可做到计时准确。更重要的是,DS1302可以在很小电流的后备电源(2.5~5.5V电源,在2.5V时功耗小于300nA)下继续计时,并可编程选择多种充电电流来对后备电源进行慢速充电,可以保证后备电源基本不耗电。它具有以下性能特性:

1、实时时钟,可对秒、分、时、日、周、月以及带闰年补偿的年进行计数; 2、用于高速数据暂存的31x8位RAM; 3、最少引脚的串行I/O; 4、2.5~5.5V电压工作范围;

5、用于时钟或RAM数据读/写的单字节或多字节(脉冲方式)数据传输方式;

6、简单的3线接口;

7、可选的慢速充电(至Vcc1)的能力。

DS1302与单片机之间能简单地采用SPI同步串行的方式进行通信,仅需用到3根信号线:RST(复位)、I/O(数据线)、SCLK(同步串行时钟)。单片机通过串行口实现对DS1302的控制和从DS1302中读取时钟信息。时钟/RAM的

14