0 卖盘信息
BOM询价
您现在的位置: 首页 > 技术方案 >智能家居 > 基于STM32F103RBT6和时钟芯片DS1302的智能家居系统的设计与实现解决方案

基于STM32F103RBT6和时钟芯片DS1302的智能家居系统的设计与实现解决方案

2018-04-27
类别:智能家居
eye 436
文章创建人 拍明


基于stm32的智能家居系统的一些原理,实际方案与准备工作我们已经大致讲过。其目的是为了让我们更加了解智能家居系统的多样化开发。那么我们具体讲一下基于stm32的智能家居系统的设计与实现,其内容讲解怎么设计和怎么实现。

基于stm32的智能家居系统的设计步骤:

一、页面设计

1、 温湿度显示界面

2、 烟雾显示界面

二、原理图设计

原理图设计.png

本智能家居系统的设计分为温湿度数据采集模块、烟雾数据存采集模块、光照数据采集模块、灯光控制模块、报警模块和显示模块等6部分组成。每个模块的设计上均有其难点和特殊性,需要严格按照原理图设计规范来设计。

1、 数据采集模块

设备的数据采集,即ADC 数据转换模块,利用了MCU 自带的ADC 模块和外部设备ADC0809两种数据转换模式,将传感器的模拟信号转换为数字量存储起来。

2、 湿度传感器模块

为了测量的准确性和多通道数据采集,这里选择3片dht11 连接到stm32芯片上,由芯片上的IO引脚作为3片dht11 的器件数据及时钟选择端口。

 温湿度传感器模块.png

3、 烟雾传感模块

传感器采用两种数据采集方法,一种是数字量DO的采集判断有无气体,一种是模拟量输出AO检测气体的浓度状态情况,以及判断该浓度对人体是否有害。

4、 液晶显示电路设计

本系统液晶显示采用LCM12864液晶作为显示器。显示相关的提示信息和数据的输出。

5、 报警电路的设计

本系统主要以灯光提示为主。电路主要采用发光二极管以及保护电阻组成,达到对流过发光二极管进行限流保护。

6、 时钟模块

时钟模块利用了DALLAS 公司推出的涓流充电时钟芯片DS1302,另外设计了纽扣电池连接到DS1302 的VCC2 备用电源引脚上。

三、业务处理模块设计

1、界面显示任务

基于stm32的智能家居系统的设计与实现

3、 AD采样及数据处理

4、 温湿度传感器

DHT11温湿度传感器由数字采集模块和温湿度传感模块两部分组成,因其现有的结构稳定再带校准数字信号技术,从而使其具有极高的稳定性。

5、 灯光控制与光照检测

基于stm32的智能家居系统的实现

在实现的过程中,首先要完成的是工作电路的设计,接下来就是程序流程图的设计和任务分配的设计。再实现的是μC/OS-II操作系统的移植,在进行任务优先级分配和数据处理,最后进行调试。

产品推荐:

扬子智能家居智能室外监控100万像素、内置IRCUTYZ-JK01

图片.png

产品优势:

迷你无线室外防水变焦20米红外网络恒速球;内置IRCUT,白天不偏色,晚上更清晰,P2P技术,即插即用;

扬子智能家居智能室外监控100万像素、内置IRCUTYZ-JK01

产品说明:

扬子智能家居智能室外监控YZ-JK01产品介绍

迷你无线室外防水变焦20米红外网络恒速球;

H.264,100万像素,22颗Φ5红外灯,4-9mm镜头;

内置IRCUT,白天不偏色,晚上更清晰,P2P技术,即插即用;

水平转动355°,垂直转动80°。

额定电压:DC5V 2A

压缩方式:H.264

云 台:水平转动355°,垂直80°

扩 展:4-9mm镜头

分 别 率:100万像素

红 外:20米

温 度:0℃~55℃(14~122)


扬子智能家居智能室内监控H.264 CMOS 100万像素、内置IRCUTYZ-JK02A

图片.png

产品优势:

百万高清无线室内半球云台;白天不偏色,晚上更清晰,P2P技术,即插即用;H.264CMOS100万像素,最大支持32GTF卡,内置IRCUT;

扬子智能家居智能室内监控H.264 CMOS 100万像素、内置IRCUTYZ-JK02A

产品说明:

扬子智能家居智能室内监控YZ-JK02A产品介绍

百万高清无线室内半球云台;

H.264 CMOS 100万像素, 最大支持32GTF卡,内置IRCUT;

白天不偏色,晚上更清晰,P2P技术,即插即用;

水平转动355°,垂直120°,3.6mm镜头,红外10米。

额定电压:DC5V 2A

压缩方式:H.264

云 台:水平转动355°,垂直120°

扩 展:最大支持32GTF卡

分 别 率:100万像素

红 外:红外10米

温 度:0℃~55℃(14~122)

STM32F103RB

Mainstream Performance line, ARM Cortex-M3 MCU with 128 Kbytes Flash, 72 MHz CPU, motor control, USB and CAN

The STM32F103xx medium-density performance line family incorporates the high-performance ARM®Cortex®-M3 32-bit RISC core operating at a 72 MHz frequency, high-speed embedded memories (Flash memory up to 128 Kbytes and SRAM up to 20 Kbytes), and an extensive range of enhanced I/Os and peripherals connected to two APB buses. All devices offer two 12-bit ADCs, three general purpose 16-bit timers plus one PWM timer, as well as standard and advanced communication interfaces: up to two I2Cs and SPIs, three USARTs, an USB and a CAN.

The devices operate from a 2.0 to 3.6 V power supply. They are available in both the –40 to +85 °C temperature range and the –40 to +105 °C extended temperature range. A comprehensive set of power-saving mode allows the design of low-power applications.

The STM32F103xx medium-density performance line family includes devices in six different package types: from 36 pins to 100 pins. Depending on the device chosen, different sets of peripherals are included, the description below gives an overview of the complete range of peripherals proposed in this family.

These features make the STM32F103xx medium-density performance line microcontroller family suitable for a wide range of applications such as motor drives, application control, medical and handheld equipment, PC and gaming peripherals, GPS platforms, industrial applications, PLCs, inverters, printers, scanners, alarm systems, video intercoms, and HVACs.

Key Features

ARM® 32-bit Cortex® -M3 CPU Core

72 MHz maximum frequency,1.25 DMIPS/MHz (Dhrystone 2.1) performance at 0 wait state memory access

Single-cycle multiplication and hardware division

Memories

64 or 128 Kbytes of Flash memory

20 Kbytes of SRAM

Clock, reset and supply management

2.0 to 3.6 V application supply and I/Os

POR, PDR, and programmable voltage detector (PVD)

4-to-16 MHz crystal oscillator

Internal 8 MHz factory-trimmed RC

Internal 40 kHz RC

PLL for CPU clock

32 kHz oscillator for RTC with calibration

Low-power

Sleep, Stop and Standby modes

VBAT supply for RTC and backup registers

2 x 12-bit, 1 μs A/D converters (up to 16 channels)

Conversion range: 0 to 3.6 V

Dual-sample and hold capability

Temperature sensor

DMA

7-channel DMA controller

Peripherals supported: timers, ADC, SPIs, I2 Cs and USARTs

Up to 80 fast I/O ports

26/37/51/80 I/Os, all mappable on 16 external interrupt vectors and almost all 5 V-tolerant

Debug mode

Serial wire debug (SWD) & JTAG interfaces

7 timers

Three 16-bit timers, each with up to 4 IC/OC/PWM or pulse counter and quadrature (incremental) encoder input

16-bit, motor control PWM timer with dead-time generation and emergency stop

2 watchdog timers (Independent and Window)

SysTick timer 24-bit downcounter

Up to 9 communication interfaces

Up to 2 x I2 C interfaces (SMBus/PMBus)

Up to 3 USARTs (ISO 7816 interface, LIN, IrDA capability, modem control)

Up to 2 SPIs (18 Mbit/s)

CAN interface (2.0B Active)

USB 2.0 full-speed interface

CRC calculation unit, 96-bit unique ID

Packages are ECOPACK®

电路原理图

STM32F103RB电路原理图.png

DS1302

DS1302是由美国DALLAS公司推出的具有涓细电流充电能力的低功耗实时时钟芯片。它可以对年、月、日、周、时、分、秒进行计时,且具有闰年补偿等多种功能。

工作原理编辑

DS1302 是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.0V~5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个31×8的用于临时性存放数据的RAM寄存器。DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后备电源双电源引脚,同时提供了对后备电源进行涓细电流充电的能力。

结构

DS1302的引脚排列,其中Vcc2为主电源,VCC1为后备电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或Vcc2两者中的较大者供电。当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。当Vcc2小于Vcc1时,DS1302由Vcc1供电。X1和X2是振荡源,外接32.768kHz晶振。RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据传送的方法。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。上电运行时,在Vcc>2.0V之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。I/O为串行数据输入输出端(双向),后面有详细说明。SCLK为时钟输入端。 下图为DS1302的引脚功能图:

DS1302封装图

DS1302封装图

控制字节

DS1302 的控制字如图2所示。控制字节的最高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入DS1302中,位6如果为0,则表示存取日历时钟数据,为1表示存取RAM数据;位5至位1指示操作单元的地址;最低有效位(位0)如为0表示要进行写操作,为1表示进行读操作,控制字节总是从最低位开始输出。

DS1302 的控制字

数据流

在控制指令字输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从低位即位0开始。同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位0位到高位7。

寄存器

DS1302有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式,其日历、时间寄存器及其控制字见表1。

此外,DS1302 还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。 DS1302与RAM相关的寄存器分为两类:一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为C0H~FDH,其中奇数为读操作,偶数为写操作;另一类为突发方式下的RAM寄存器,此方式下可一次性读写所有的RAM的31个字节,命令控制字为FEH(写)、FFH(读)。

软硬件

DS1302与CPU的连接需要三条线,即SCLK(7)、I/O(6)、RST(5)。

DS1302软硬件

CPU连接

实际上,在调试程序时可以不加电容器,只加一个32.768kHz 的晶振即可。只是选择晶振时,不同的晶振,误差也较大。

问题说明

DS1302 与微处理器进行数据交换时,首先由微处理器向电路发送命令字节,命令字节最高位Write Protect(D7)必须为逻辑1,如果D7=0,则禁止写DS1302,即写保护;D6=0,指定时钟数据,D6=1,指定RAM数据;D5~D1指定输入或输出的特定寄存器;最低位LSB(D0)为逻辑0,指定写操作(输入), D0=1,指定读操作(输出)。

在DS1302的时钟日历或RAM进行数据传送时,DS1302必须首先发送命令字节。若进行单字节传送,8位命令字节传送结束之后,在下2个SCLK周期的上升沿输入数据字节,或在下8个SCLK周期的下降沿输出数据字节。

DS1302与RAM相关的寄存器分为两类:一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为C0H~FDH,其中奇数为读操作,偶数为写操作;再一类为突发方式下的RAM寄存器,在此方式下可一次性读、写所有的RAM的31个字节。

要特别说明的是备用电源B1,可以用电池或者超级电容器(0.1F以上)。虽然DS1302在主电源掉电后的耗电很小,但是,如果要长时间保证时钟正常,最好选用小型充电电池。可以用老式电脑主板上的3.6V充电电池。如果断电时间较短(几小时或几天)时,就可以用漏电较小的普通电解电容器代替。100 μF就可以保证1小时的正常走时。DS1302在第一次加电后,必须进行初始化操作。初始化后就可以按正常方法调整时间。

结论

很多DS1302 存在时钟精度不高,是因为选用的晶振易受环境影响,出现时钟混乱等缺点。DS1302可以用于数据记录,特别是对某些具有特殊意义的数据点的记录,能实现数据与出现该数据的时间同时记录。这种记录对长时间的连续测控系统结果的分析及对异常数据出现的原因的查找具有重要意义。传统的数据记录方式是隔时采样或定时采样,没有具体的时间记录,因此,只能记录数据而无法准确记录其出现的时间;若采用单片机计时,一方面需要采用计数器,占用硬件资源,另一方面需要设置中断、查询等,同样耗费单片机的资源,而且,某些测控系统可能不允许。但是,如果在系统中采用时钟芯片DS1302,则能很好地解决这个问题。



责任编辑:Davia

【免责声明】

1、本文内容、数据、图表等来源于网络引用或其他公开资料,版权归属原作者、原发表出处。若版权所有方对本文的引用持有异议,请联系拍明芯城(marketing@iczoom.com),本方将及时处理。

2、本文的引用仅供读者交流学习使用,不涉及商业目的。

3、本文内容仅代表作者观点,拍明芯城不对内容的准确性、可靠性或完整性提供明示或暗示的保证。读者阅读本文后做出的决定或行为,是基于自主意愿和独立判断做出的,请读者明确相关结果。

4、如需转载本方拥有版权的文章,请联系拍明芯城(marketing@iczoom.com)注明“转载原因”。未经允许私自转载拍明芯城将保留追究其法律责任的权利。

拍明芯城拥有对此声明的最终解释权。

相关资讯

方案推荐
基于MC33771主控芯片的新能源锂电池管理系统解决方案

基于MC33771主控芯片的新能源锂电池管理系统解决方案

AMIC110 32位Sitara ARM MCU开发方案

AMIC110 32位Sitara ARM MCU开发方案

基于AMIC110多协议可编程工业通信处理器的32位Sitara ARM MCU开发方案

基于AMIC110多协议可编程工业通信处理器的32位Sitara ARM MCU开发方案

基于展讯SC9820超低成本LTE芯片平台的儿童智能手表解决方案

基于展讯SC9820超低成本LTE芯片平台的儿童智能手表解决方案

基于TI公司的AM437x双照相机参考设计

基于TI公司的AM437x双照相机参考设计

基于MTK6580芯片的W2智能手表解决方案

基于MTK6580芯片的W2智能手表解决方案