多功能电子保姆机的设计与实现项目可行性研究报告文档格式.docx
《多功能电子保姆机的设计与实现项目可行性研究报告文档格式.docx》由会员分享,可在线阅读,更多相关《多功能电子保姆机的设计与实现项目可行性研究报告文档格式.docx(82页珍藏版)》请在冰豆网上搜索。
(2)时间显示和手动校对功能,24小时制;
(3)年、月、日显示和手动校对功能;
(4)室内温度检测及显示功能;
(5)闹铃功能;
(6)温度越限报警功能;
(7)时间、日历、室内温度切换显示功能;
(8)掉电后无需重新设置时间和日期功能。
第二章多功能电子保姆机设计方案选择
为了实现多功能电子保姆机的主要功能——家用电器定时开关机控制,该电子保姆机必须具有能够提供时间的电子钟部分,电子钟既可以通过纯硬件电路实现,也可以通过软硬件相结合实现,根据电子钟的核心部分——秒信号的产生原理,通常有以下几种设计方案。
2.1555定时器方案
555定时器是美国Signetics公司1972年研制的用于取代机械式定时器的中规模集成电路,因输入端设计有三个5KΩ的电阻而得名。
目前生产的定时器有双极型和CMOS两种类型,其型号分别有NE555(或5G555)和C7555等多种。
它们的结构和工作原理基本相同。
通常,双极型定时器具有较大的驱动能力,而CMOS定时器具有低功耗、输入阻抗高等优点。
555定时器工作的电源电压很宽,并可承受较大的负载电流。
双极型定时器的电源电压范围为5~16V,最大负载电流可达200mA;
CMOS定时器电源电压范围为3~18V,最大负载电流在4mA以下[1]。
555定时器是一种多用途的数字-模拟混合集成电路,利用它能够方便地构成施密特触发器、单稳态触发器和多谐振荡器。
由于使用灵活、方便,所以555定时器在波形的产生与变换、测量与控制、家用电器、电子玩具、定时器、脉冲信号发生器等许多领域中得到了应用[2]。
采用555定时器产生秒脉冲信号,作为秒加法电路的时钟信号或微处理器的外部中断输入信号,可构成电子钟。
采用555定时器设计电子时钟,成本低,容易实现。
但是受芯片引脚数量和功能限制,不容易实现电子时钟的多功能性。
2.2FPGA方案
FPGA是英文FieldProgrammableGateArray(现场可编程门阵列)的缩写。
它属于半制定的ASIC产品。
是20世纪70年代发展起来的一种可编程逻辑器件,是目前数字系统设计的主要硬件基础。
FPGA的出现使传统的电子器件和传统的电路设计受到了巨大的挑战。
一片FPGA可以替代几十片,甚至上百片数字集成电路。
FPGA内部包括可编程逻辑模块CLB(ConfigurableLogicBlock)、输出输入模块IOB(InputOutputBlock)和互连资源(InterconnectResource)三个部分。
FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。
用户可以根据不同的配置模式,采用不同的编程方式。
加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。
掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。
FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。
当需要修改FPGA功能时,只需换一片EPROM即可。
这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。
因此,FPGA的使用非常灵活。
同一片FPGA通过不同的编程数据可以产生不同的电路功能。
FPGA在通信、数据处理、网络、仪器仪表、工业控制、军事和航空航天等众多领域得到了广泛应用。
随着功耗和成本的进一步降低,FPGA还将进入更多的应用领域。
通过一种标准化的硬件描述语言---VHDL语言编写代码,然后用仿真器验证其功能,再将设计代码综合成门级电路,最后下载到可编程逻辑器件FPGA中即可实现电子钟的设计。
2.3单片机设计方案
单片机是在通用微机中央处理器的基础上,将输入/输出接口电路、时钟电路以及一定容量的内存等部件集成在同一芯片上,再加上必要的外围器件,如晶体振荡器。
单片机主要面向工业控制,除了具有通用微机CPU的数值计算功能外,还必须具有较灵活、强大的控制功能,以便实时的检测系统的输入量,控制系统的输出量,从而实现自动控制功能。
其特点有:
(1)抗干扰性强,工作温度范围宽;
(2)可靠性高;
(3)电磁辐射量小;
(4)控制功能很强,但数值计算能力较差;
(5)指令系统比通用微机的指令系统简单;
(6)单片机芯片往往不是单一的数字电路芯片,而是数字、模拟混合电路系统,即单片机芯片内常常集成了一定数量的模拟比较器、A/D及D/A转换电路;
(7)采用嵌入式结构。
尽管同一系列的单片机品种、规格繁多,但彼此差异却不大。
随着人们对智能化设备的要求越来越高,各种智能设备发展越来越快,单片机作为当前应用广泛的嵌入式系统的核心部分之一,在工业、教育、日用生活等诸多领域得到了广泛的应用。
例如,在冰箱、微波炉、洗衣机等家用电器中使用单片机控制系统,使它们更加智能地工作;
电话、传真、打印机中可使用单片机系统控制拨号、打印;
单片机可以在工业控制和机电一体化系统中作为核心部件。
单片机均具有时钟振荡系统,利用系统时钟借助微处理器的定时器/计数器可方便地实现电子钟功能。
考虑到时钟的精度问题,还可以在单片机的基础上利用实时时钟芯片。
第三章多功能电子保姆机硬件设计
3.1主要芯片选择
3.1.1单片机
3.1.1.1单片机选择
自从1976年Intel公司推出MCS-48系列单片机以来,单片机技术得到了迅速的推广,已被广泛应用于自动测量、智能仪表、工业控制及家用电器各个方面。
AVR单片机是Atmel公司1997年推出的一种具有双总线结构的RISC(ReducedInstructionSetComputer的缩写,即精简指令系统计算机)单片机。
RISC优先选取使用频率最高的简单指令,避免复杂指令;
并固定指令宽度,减少指令格式和寻址方式的种类,从而缩短指令周期,提高运行速度。
由于AVR采用了RISC的这种结构,使AVR系列单片机都具备了1MIPS/MHz(百万条指令每秒/兆赫兹)的高速处理能力。
传统的MCS-51系列单片机所有的数据处理都是基于一个累加器的,因此累加器与程序内存、数据存储器之间的数据转换就成了单片机的瓶颈;
在AVR单片机中,寄存器由32个通用工作寄存器组成,并且任何一个寄存器都可以充当累加器,从而有效地避免了累加器的瓶颈效应,提高了系统的性能。
AVR单片机还支持Basic、C等高级语言编程。
采用高级语言对单片机系统进行开发是单片机应用的发展趋势。
对单片机用高级语言编程可很容易地实现系统移植,并加快软件的开发过程。
AVR单片机具有多个系列,包括ATtiny、AT90、ATmega。
每个系列又包括多个产品,它们在功能和内存容量等方面有很大的不同,但基本结构和原理都类似,而且编程方法也相同[3]。
仅仅为了完成多功能电子保姆机的主要功能——家用电器定时开关机控制,应用AVR任意一款单片机完全可以实现。
若要实现时间/日历、温度显示,温度检测和温度越限报警功能,就需要更多的I/O端口,故本设计采用具有53个可编程I/O端口的ATmega128。
3.1.1.2ATmega128特点
ATmega128是目前AVR中配置最全、功能最强的一款。
它的引脚数最多(64个引脚),在片内集成了4K的SRAM、128K的Flash、4K的E2PROM,支持64K空间的外部并行扩展,其具体特点如下:
(1)高性能、低功耗的AVR8位微处理器;
(2)先进的RISC精简指令结构;
(3)非易失性的程序和数据存储器;
(4)JTAG接口(与IEEE1149.1标准兼容);
(5)外设特点
–实时计数器(RTC),4个具有比较模式和PWM的定时器计数器(两个带预分频器和一种比较模式的8位定时/计数器、两个扩充的带预分频器和比较模式捕获模式的16位定时/计数器);
–两个USART、一个两线((I2C)串行接口、一个8通道10位具有可选增益差分输入的A/D转换器、一个SPI口、片内模拟比较器、一个带内部振荡器的可编程看门狗定时器;
(6)特殊的处理器特点
–上电复位和可编程的低电压检测,内部可校准的RC振荡器,外部和内部中断源,可软件选择时钟频率,全局上拉禁止;
–6种可通过软件选择的省电模式;
(7)I/O和封装
–53个可编程的I/O脚;
–64引脚TQFP封装与64引脚MLF封装;
(8)工作电压:
4.5~5.5V;
(9)速度等级:
0~16MHz[4]。
3.1.1.3ATmega128引脚配置
ATmega128的引脚图如图3.1所示。
图3.1ATmega128引脚图
其引脚功能如表3.1所示。
表3.1ATmega128引脚功能说明
VCC
电源
GND
地
端口A、B、C、D、E
端口A、B、C、D、E都为8位的双向I/O口,并具有可编程的内部上拉电阻。
其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。
作为输入使用时,若内部上拉电阻使能,则端口被外部电路拉低时将输出电流。
复位发生时端口A、B、C、D、E为三态。
端口F
端口F为ADC的模拟输入引脚。
如果不作为ADC的模拟输入,端口F可作为8位的双向I/O口,并具有可编程的内部上拉电阻。
复位发生时端口F为三态。
如果使能了JTAG接口,则复位发生时引脚PF7(TDI)、PF5(TMS)和PF4(TCK)的上拉电阻使能。
端口G
PG0~PG4
端口G为5位的双向I/O口,并具有可编程的内部上拉电阻。
作为输出使用时,若内部上拉电阻使能,则端口被外部电路拉低时将输出电流。
复位发生时端口G为三态。
RESET
复位输入引脚。
超过最小门限时间的低电平将引起系统复位,
XTAL1
反向振荡器放大器及片内时钟操作电路的输入。
XTAL2
反向振荡器放大器的输出。
AVCC
AVCC为端口F以及ADC转换器的电源,需要与Vcc相连接,即使没有使用ADC也应该如此。
使用ADC时应该通过一个低通滤波器与Vcc连接。
AREF
AREF为ADC的模拟基准输入引脚。
PEN
PEN是SPI串行下载的使能引脚。
在上电复位时保持PEN为低电平将使器件进入下载模式。
在正常工作过程中PEN引脚没有其它功能。
3.1.2实时时钟芯片
3.1.2.1实时时钟芯片选择
常用的实时时钟芯片有串行和并行两种类型,其中串行接口的时钟芯片包括I2C接口和三线接口。
常见的串行接口时钟芯片有Phlilps的PCF8563、PCF8583,EPSON的RX8025、MAXIM-DALLAS的DS1305、DS1302、DS1307,美国Xicor公司的X1203等;
并行接口的有MAXIM-DALLASDS12C887系列、DS12887等。
每种芯片的主要时钟功能基本相同,只是在引脚数量、备用电池的安装方式、计时精度和扩展功能等方面略有不同。
对时间精度要求很高的情况下,典型的时钟芯片有:
DS1302,DS12887,X1203等都可以满足高精度要求。
考虑到DS1302芯片读写靠时序控制且具有写保护位,抗干扰效果好,日历及RAM中的数据不再改变,同时体积小,联机少,外围只有一个32768Hz晶振[5]。
所以本设计选用实时时钟芯片DS1302。
3.1.2.2时钟芯片DS1302简介
DS1302是DALLAS公司推出的涓流充电时钟芯片,内含一个实时时钟/日历和31字节静态RAM。
实时时钟/日历电路提供秒、分、时、日、星期、月、年信息,每个月的天数和闰年的天数可自动调整,时钟操作可通过AM/PM标志位决定采用24或12小时格式。
DS1302与单片机之间能简单地采用同步串行的方式进行通信,仅需三根I/O线:
复位RST、I/O数据线、串行时钟SCLK。
时钟内部RAM的读/写数据以一字节或多达31字节的字符组方式通信。
DS1302工作时功耗很低,保持数据和时钟信息时,功耗小于1mw[6]。
3.1.2.3DS1302引脚功能
DS1302芯片引脚如图3.2所示:
图3.2DS1302芯片引脚图
其引脚功能如表3.2所示。
表3.2DS1302引脚功能说明
引脚号
名称
功能
1
VCC2
主电源
2、3
X1、X2
接32.768KHz晶振
4
GND
5
RST
复位
6
I/O
数据输入/输出
7
SCLK
串行时钟
8
VCC1
后备电源输入
3.1.2.4DS1302内部结构及工作原理
DS1302的内部结构如图3.3所示:
图3.3DS1302内部结构图
DS1302内部结构包括:
移位寄存器、命令和控制逻辑、振荡器、实时时钟和RAM。
为了初始化任何数据传送。
通过把RST输入驱至高电平来启动所有的数据传送。
RST有两种功能:
首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;
其次,RST提供了单字节或多字节数据传送的手段。
时钟SCLK是上升沿后继以下降沿的序列。
数据输入时,在时钟的上升沿前必须有效,而数据位在时钟的下降沿之后输出。
如果RST输入为低电平,则I/O引脚变为高阻状态,中止数据传送[7]。
3.1.2.5DS1302寄存器和控制命令及读写时序
对DS1302的操作就是对其内部寄存器的操作,DS1302内部共有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式。
此外,DS1302还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。
时钟突发寄存器可一次性顺序读写除充电寄存器以外的寄存器。
日历、时间寄存器及控制字如表3.3所示,内部寄存器列表如表3.4所示。
DS1302内部的RAM分为两类:
一类是单个RAM单元,共31个,每个单元为一个8位的字节,其命令控制字为C0H-FDH,其中奇数为读操作,偶数为写操作;
另一类为突发方式下的RAM,可一次性读写所有的RAM的31个字节。
命令控制字分别为FEH(写)、FFH(读)。
表3.3日历、时钟寄存器与控制字的对照表
寄存器名称
3
2
RAM/CK
A4
A3
A2
A1
A0
RD/W
秒寄存器
分寄存器
小时寄存器
日寄存器
月寄存器
星期寄存器
年寄存器
写保护寄存器
慢充电寄存器
时钟突发寄存器
注:
最后一位RD/W为“0”时表示进行写操作,为“1”时表示读操作。
表3.4DS1302内部主要寄存器分布表
命令字
取值
范围
各位内容
写
读
80H
81H
00-59
CH
10SEC
SEC
82H
83H
10MIN
MIN
84H
85H
01-12或00-23
12/
24
A
HR
日期寄存器
86H
87H
01-28,29,30,31
10DATE
DATE
月份寄存器
88H
89H
01-12
10M
MONTH
周寄存器
8AH
8BH
01-07
DAY
年份寄存器
8CH
8DH
00-99
10YEAR
YEAR
单片机是通过简单的同步串行接口与DS1302通讯的,每次通讯都必须由单片机发起,无论是读还是写操作,单片机都必须先向DS1302写入一个命令字。
这个命令字的格式如表3.3所示。
最高位BIT7固定为1,BIT6决定操作是针对RAM还是时钟寄存器,接着的5个BIT是RAM或时钟寄存器在DS1302的内部地址,最后一个BIT表示这次操作是读操作或是写操作。
图3.4DS1302数据读/写时序
物理上,DS1302的通讯接口由3个接口线组成,即RST、SCLK、I/0。
其中,RST从低电平变成高电平,启动一次数据传输过程,SCLK是时钟线,I/O是数据线。
具体的读写时序如图3.4所示。
3.1.3温度传感器
3.1.3.1温度传感器选择
温度测量在实际的生产、生活中具有十分重要的意义。
温度作为一种最基本的环境条件参数,与工业、农业、养殖业的生产以及医学乃至人们的日常生活都是紧密相关的。
大多单片机接口输入的信号是数字信号,或有带A/D转换的高端单片机也可以输入模拟信号。
由单片机获取非电信号的温度信息,必须通过温度传感器。
传统的温度测量多以热敏电阻作为温度传感器,但是,热敏电阻的可靠性较差、测量温度精度低,而且还需经A/D转换成数字信号后才能由单片机进行处理。
因此,使用数字温度传感器可简化硬件设计,方便单片机读取数据、节约成本。
本设计选用一种基于“一线式”技术的数字温度传感器DS18B20,此温度传感器集温度测量和A/D转换于一体,直接输出数字量,接口几乎不需要外围组件,硬件电路结构简单,传输距离远,可以很方便的实现多点测量。
3.1.3.2DS18B20简介
DS18B20是美国DALLAS半导体公司继DS1820之后最新推出的一种改进型智能温度传感器。
它具有以下8种特性:
(1)独特的单线接口方式:
DS18B20与微处理器连接时仅需要一条接口线即可实现微处理器与DS18B20的双向通讯;
(2)在使用中不需要任何外围组件;
(3)可用数据线供电,电压范围:
+3.0V~+5.5V;
(4)测温范围:
-550C~+1250C;
(5)通过编程可实现9~12位的数字符读数方式;
(6)用户可自设定非易失性的报警上下限值;
(7)支持多点组网功能,多个DS18B20可以并联在惟一的总线上,实现多点测温;
(8)负压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作[8]。
3.1.3.3DS18B20引脚功能
DS18B20的引脚分布如图3.5所示:
图3.5DS18B20引脚分布
引脚功能描述如表3.5所示。
表3.5DS18B20引脚功能
引脚功能描述
地信号
DQ
数据输入/输出引脚;
开漏单总线接口引脚;
当被用在寄生电源下,也可以向器件提供电源。
VDD
可选择的VDD引脚;
当工作于寄生电源时,此引脚必须接地。
3.1.3.4DS18B20内部结构
DS18B20的内部结构如图3.6示。
图3.6DS18B20内部结构图
DS18B20主要由4部分组成:
配置寄存器主要用于确定温度转换的分辨率、ROM中的64位序列号是出厂前被光刻好的,它是该DS18B20的地址识别码,每个DS18B20的64位识别码不相同。
这样就可以实现1根总线上挂接多个DS18B20的目的,温度传感器、非易失性温度报警触发器TH和TL,可通过软件写入用户报警上下限值。
高速缓存器内有八个字节,从低到高分别是温度低字节、温度高字节、上限报警温度TH、下限报警温度TL、结构寄存器、三个保留字节。
DS18B20的温度数据用高低两个字节的补码来表示如图3.7所示(以12位转换为例)。
S为符号位,S=1时表示温度为负,S=0时表示温度为正。
图3.7DS18B20温度数据字节表示
3.1.3.5DS18B20工作过程
由于DS18B20单总线通信功能是分时完成的,它有严格的时序概念,因此读写时序很重要。
主机对DS18B20的各种操作必须按协议进行。
由于DS18B20是一个典型的单总线传感器,其命令序列如下:
第一步:
初始化;
第一步