CS模型的智能家居电源控制系统.docx
- 文档编号:12684394
- 上传时间:2023-04-21
- 格式:DOCX
- 页数:39
- 大小:986.01KB
CS模型的智能家居电源控制系统.docx
《CS模型的智能家居电源控制系统.docx》由会员分享,可在线阅读,更多相关《CS模型的智能家居电源控制系统.docx(39页珍藏版)》请在冰豆网上搜索。
CS模型的智能家居电源控制系统
CS模型的智能家居电源控制系统
摘要
几年前一些经济比较发达的国家提出了“智能住宅”的概念,住宅智能化是智能家居的先导,智能家居是住宅智能化的核心。
智能家居是利用运算机、通讯与网络、自动操纵、IC卡技术,通过有效的传输网络,将多元信息服务与治理、物业治理与安防、住宅智能化系统集成,为住宅小区的服务与治理提供高技术的智能化手段,以期实现快捷高效的超值服务与治理,提供安全舒服的家居环境”。
随着运算机技术,通信技术和嵌入式系统的进展,智能家居正逐步走进人们的生活。
一个典型的现代智能家居系统提供安防、家电操纵、远程抄表和信息服务等功能。
低功率和高性能CPU的进展,为开发智能家居提供了现实可能性。
其内部构成包括嵌入式处理器、有关支持硬件、嵌入式操作系统以及应用层的软件包等。
针对智能家居需求,本文设计并实现了智能家居中的操纵系统。
采纳运算机网络操纵方式,结合了基于ARM的嵌入式系统、单片机系统、运算机网络、WIN32编程等技术,实现了对开关型家电的操纵。
本文的智能家居操纵系统设计方案是:
以PhilipsLPC2103实验板为硬件平台,建立了嵌入式系统开发环境,移植了uc/os内核;开发的应用软件分为单片机子系统、PC客户端和PC服务端三个模块。
最终完成有关软硬件设计、调试,经测试,完全实现预期功能。
最后提出系统改进的方案和措施。
在硬件方面着手于PhilipsLPC2103芯片的数据手册,通过对其针脚的定义,进行有关电路的设计,实现了单片机串口的通讯、电脑数据的接收和处理、继电器电路的开关和复位电路的实现。
在软件方面,在Delphi2007中实现了PC服务端和客户端的数据收发和处理,并使服务端在接收到特定字符后发送相应的指令到串口。
基于LPC2103的智能家居远程操纵系统提供了一种对家庭一般家用电器进行远程操纵的新思路,是嵌入式的一项有效的尝试和应用。
关键词:
LPC2103,Indy10,智能家居,远程操纵
Abstract
名目
图名目
表名目
绪论
1.1课题背景
目前,一些经济比较发达的国家提出了“智能住宅”的概念,住宅智能化是智能家居先导,智能家居是住宅智能化的核心。
最近国家建设部住宅产业化办公室提出了关于住宅小区智能化的差不多概念,即:
“住宅小区智能化是利用4C(即运算机、通讯与网络、自控、IC卡)技术[1],通过有效的传输网络,将多元信息服务与治理、物业治理与安防、住宅智能化系统集成,为住宅小区的服务与治理提供高技术的智能化手段,以期实现快捷高效的超值服务与治理,提供安全舒服的家居环境”。
随着运算机技术,通信技术和嵌入式系统的进展,智能家居正逐步走进人们的生活。
一个典型的现代智能家居系统提供安防、家电操纵、远程抄表和信息服务等功能。
[2]低功率和高性能CPU的进展,为开发智能家居提供了现实可能性。
其内部构成包括嵌入式处理器、有关支持硬件、嵌入式操作系统以及应用层的软件包等。
国内的数码屋,在这方面走得比较领先,能够实现6项差不多功能,包括家庭安全防范、照明系统操纵、环境操纵、家电操纵、智能化操纵、多种途径操纵,能够通过手机短信或GPRS[3]功能实验对家用电器的远程操纵,智能家居以嵌入式系统的形式走入了我们的生活。
按照国内的智能家居的进展趋势,完成本课题的研究。
1.2本文研究的内容
本文设计并实现了其中的智能家电操纵系统。
采纳运算机网络操纵方式,结合了基于ARM的嵌入式系统、单片机系统、运算机网络、WIN32编程等技术,实现了对开关型家电的操纵。
系统以Philips2103实验板为硬件平台,建立了嵌入式系统开发环境,移植了uc/os内核;开发了应用软件,分为、单片机子系统、PC客户端和PC服务端三个模块。
最终完成有关软硬件设计、调试,经测试,完全实现预期功能。
最后提出系统改进的方案和措施。
[4]
1.3项目软硬件分析
本文通过客户端PC与服务端PC进行通讯,通过客户端PC发送指令,通过服务端PC的接收与处理,再用串口发送给单片机,单片机接收到指令进行相应的操作,如断电操作等。
针对智能家居,总结出一个简单易操作的智能家居模型,即把家庭里的一系列设备通过中央电脑来分不操纵,例如电源的开关,而中央电脑又能够通过远程运算机发送指令进行相应的操作,设计方案如图1.2所示,采纳C/S模型。
图1.2的C/S模型中[5],中央电脑通过容易实现的串口与单片机进行通讯,单片机接收到指令后进行电路的开关操作。
图1.1项目设计方案
1.3.1硬件分析
硬件要紧由服务端PC、客户端PC和Philips2103实验板构成。
选用LPC2103是因为LPC2103是基于一个支持实时仿确实ARM7TDMI-SCPU,并带有8kB和32kB嵌入的高速Flash储备器。
由于LPC2103专门小的尺寸和极低的功耗,它们专门适合于那些将小型化作为要紧要求的应用,多个UART、SPI到SSP和2个I2C总线组成的混合串行通信接口和片内2kB/4kB/8kB的SRAM一起作用,可使得LPC2103专门适合用来实现通信网关和协议转换器、数学协处理器以及足够大空间的缓冲区的强大处理功能。
[6]
1.3.2软件分析
PC端软件设计分为客户端PC软件和服务端PC软件两个模块,客户端PC发送指令,服务端PC接收指令并发送相应的开与关指令给单片机。
1.4本文组织结构
本文第一介绍总体的系统设计方案,然后分硬件系统的设计、软件系统的设计和单片机软件的设计这三个方面来具体讲明。
最后,对整个系统进行测试,并归纳总结全文。
1.5本章小结
本章简要地阐述了本论文的课题背景,包括国内外智能家居应用于生活的进展程度和趋势、智能家居阻碍生活的应用,提出本论文的写作目的和构成本论文提出的基于C/S模型的智能家居远程操纵系统的三个组成部分。
系统设计方案
智能家居系统总体结构如图2.1所示,其中LPC2103基于一个支持实时仿确实ARM7TDMI-SCPU,并带有8kB和32kB嵌入的高速Flash储备器。
128位宽度的储备器接口和专门的加速结构使32位代码能够在最大时钟速率下运行。
这能够使得中断服务程序和DSP算法中重要功能的性能较Thumb模式提升30%。
对代码规模有严格操纵的应用可使用16位Thumb模式将代码规模降低超过30%,而性能的缺失却专门小[7]。
由于LPC2103专门小的尺寸和极低的功耗,它们专门适合于那些将小型化作为要紧要求的应用,多个UART、SPI到SSP和2个I2C总线组成的混合串行通信接口和片内2kB/4kB/8kB的SRAM一起作用,可使得LPC2103专门适合用来实现通信网关和协议转换器、数学协处理器以及足够大空间的缓冲区的强大处理功能。
而多个32位和16位的定时器、一个经改良后的10位ADC、PWM特性(通过所有定时器上的一个输出匹配来实现)和32个快速GPIO(含有多达9个边沿或电平有效的外部中断管脚)使它们专门适用于工业操纵和医疗系统。
图2.1智能家居系统的总体结构
2.1设计流程
系统整体设计流程如图2.2所示,由硬件电路设计、PC端程序设计、单片机程序设计和测试四个部分组成。
其中,硬件电路设计分为CPU电路设计、继电器设计、串口设计、电源电路设计和复位电路五个部分构成;PC端程序设计由客户端PC程序和服务端PC程序构成;最后进行系统的整体测试。
图2.2系统整体设计流程
2.2硬件设计方案
硬件系统要紧由Philips2103实验板、PC电脑2台、串口数据线和用电器构成。
Philips2103实验板的硬件电路设计如图2.4所示,由CPU电路设计、继电器设计、串口设计、电源电路设计和复位电路设计五部分构成。
图2.3硬件电路设计
2.3软件设计方案
如图2.4所示,软件设计方案要紧由客户端PC软件和服务端PC软件两个部分构成。
图2.4软件设计方案
2.4单片机软件的设计
通过单片机的编码实验单片机对指令的接收与处理,以实现预期的功能目标。
2.5拟解决的关键咨询题
针对智能家居的特点,要合理地完善运算机客户端与服务端的通讯方式、出错操纵和中央电脑与单片机的通讯方式、人工校验,以保证系统能够可靠、稳固地运行。
2.6本章小结
本章要紧分析了目前智能家居的形势和提出硬、软件协同设计的思想以达到本项目设计的顺利实现。
按照自己的设计思想,作出硬件、软件分析并在此基础上进行硬件设计、软件设计和测试。
硬件系统的设计
C/S模型的智能家居模型,需要硬件系统对从PC客户端发来的数据有一个即时的分析和处理,对系统处理的可靠性和即时性专门高的要求。
Philips的LPC2103芯片被广泛地应用于各嵌入式系统的设计,能够满足本系统的要求。
基于本项目的软件系统的特点,硬件平台需要需要具备以下功能:
[8]
1.针对实时数据的处理需求,选用PhilipsLPC2103芯片作为中央处理器。
2.针对系统按照接收到的指令进行开关的开与断,要求一个继电器电路。
3.针对ARM实验板接收数据的需求,硬件平台必须具备2个串行接口。
4.为了能使软件系统连续稳固的工作,需要一个5V的直流电源。
5.任何的硬件系统必备的一个模块确实是复位电路。
复位电路的设计为硬件系统和软件系统在运行过程中显现的专门情形提供一个可靠、快捷的处理方式。
3.1CPU电路设计
图3.1中央处理器及各针脚定义
如图3.1所示,本硬件电路板采纳PhilipsLPC2103芯片为中央处理器。
要紧特性:
1.16/32位ARM7TDMI-S处理器,极小型LQFP48封装。
2.2kB/4kB/8kB的片内静态RAM,8kB/16kB/32kB的片内Flash程序储备器,128位宽的接口/加速器使事实上现了70MHz的高速操作。
3.通过片内Boot-loader软件实现在系统/在应用编程(ISP/IAP)。
Flash编程时刻:
1ms可编程256字节,单个Flash扇区擦除或整片擦除只需400ms。
4.EmbeddedICERT通过片内RealMonitor软件来提供实时调试。
5.10位的A/D转换器含有8个模拟输入,每个通道的转换时刻低至2.44μs,专用的结果寄存器使中断开销降到最低。
6.2个32位的定时器/外部事件计数器,具有7路捕捉和7路比较通道。
7.2个16位的定时器/外部事件计数器,具有3路捕捉和7路比较通道。
8.低功耗实时时钟(RTC),有独立的供电电源和专门的32kHz时钟输入。
9.多个串行接口,包括2个UART(16C550),2个快速I2C总线(400kbits/s)以及带缓冲和可变数据长度功能的SPI和SSP。
10.向量中断操纵器,可配置优先级和向量地址。
11.多达32个可承担5V的通用I/O口。
12.高达13个边沿或电平有效的外部中断管脚。
13.通过可编程的片内PLL[9](可能的输入频率范畴:
10MHz~25MHz)可实现最大为70MHz的CPU时钟频率,设置时刻为100us。
14.片内集成的振荡器,工作在1MHz~25MHz的外部晶体下。
15.节电模式包括闲暇模式、RTC有效的睡眠模式和掉电模式。
16.通过外设功能的单独使能/禁止和调剂外设时钟来实现功耗的最优化。
17.通过外部中断或RTC将处理器从掉电模式中唤醒。
LPC2103各针脚的功能如表1所示:
表3.1CPU各针脚定义
续表3.1
续表3.1
续表3.1
续表3.1
3.2继电器电路设计
图3.2继电器电路设计
继电器是一种电子操纵器件,它具有操纵系统(又称输入回路)和被操纵系统(又称输出回路),通常应用于自动操纵电路中,它实际上是用较小的电流去操纵较大电流的一种“自动开关”。
故在电路中起着自动调剂、安全爱护、转换电路等作用。
3.3串行接口设计
图3.3串口RS232电路设计[10]
如图3.3所示,串口接口电路采纳SP3222E/3232E芯片分不与串口1和串口2中的URXD0、UTXD0、RXD0、TXD0相连,以实现数据的发送与接收。
SP3222E/3232E系列是RS232收发器对便携式或手持式应用如笔记本或掌上型电脑的一种解决方案。
SP3222E/3232E系列有一个高效的电荷泵,工作电压为3.3V时只需0.1μF电容就可进行操作。
电荷泵承诺SP3222E/3232E系列在+3.3V到+5.0V内的某个电压下发送符合RS-232的信号。
SP3222E/3232E系列是一个2驱动器/2接收器的器件,适用于便携式或手持式设备(如笔记本或掌上型电脑)。
SP3222E/3232E器件的ESD爱护使得驱动器和接收器的管脚可承担±15kV人体放电模式和IEC1000-4-2气隙放电模式。
SP3222E器件包含一种低功耗关断模式,该模式下器件的驱动器输出和电荷泵被禁止。
关断状态下,电源电流低于1μA。
[11]
3.4电源电路设计
图3.4电源电路设计
如图3.4所示,电源电路使用一个AS11173.3V芯片和一个AS11171.8V芯片完成要紧功能。
AS1117是一款低功耗的稳压器件,能够满足2.85V的固定输出电压和800mA的输出电流,并符合支持SCSI-II规格。
该芯片是SCSI总线和便携式运算机中电池供电稳压的理想选择。
AS1117功能强大,工作时满负荷下具有专门低的的静态电流和专门低的压降。
AS1117可作为可满足的1.5V,2.5V,3.0V,3.3V和5.0V输出电压的稳压需求。
3.5复位电路设计
图3.5复位电路设计
如图3.5所示,复位电路由一个MAX811芯片与一个RESET重置键构成。
MAX811是低功率微处理器监控电路,用于5V或3V供电的微处理器或数字系统的电源监视,具有防抖动人工复位输入。
MAX811具有/RESET输出(VCC降至1V仍保持有效),采纳4脚SOT-143封装。
3.6本章小结
本章要紧介绍硬件平台的设计需求、外设接口电路,以及设计思路。
对系统硬件采纳的LPC2103CPU芯片、12V-5PIN光敏继电器、SP3222E/3232E串口芯片、AS1117的电源稳压芯片、MAX811的复位电路芯片分不作了特性讲明,并在此基础上完成电路设计。
整个电路设计可靠性高,通过CPU电路、继电器电路、串口电路、电源电路和复位电路,完成系统硬件实验版的五个要紧电路的设计。
软件系统的设计
4.1软件功能分析
服务端软件要紧完成接收从客户端PC发送来的指令,加以分析处理之后,发送相应的指令给单片机系统,以实现客户端PC要求的功能。
4.2软件设计流程
PC端软件设计分为客户端PC软件和服务端PC软件两个模块,如图4.1所示,客户端PC发送指令,服务端PC接收指令并发送相应的开与关指令给单片机。
图4.1软件功能模块图
4.3PC端远程操纵软件
在Delphi2007中的Indy10插件的功能专门强大,见图4.2,通过它们能够专门简单、快速、高效地开发网络应用程序。
[12]
图4.2Delphi2007中的Indy10插件
客户端运行指定的Client程序,服务端运行指定的Server程序,并在Client中指定Server端的IP地址,使Client发送的数据能够正确地被Server接收并处理。
[13]
图4.3PC机客户端操作界面
在客户端PC上发送特定的指令到服务端PC上,由服务端PC处理命令作出相应的操作。
通过TidTCPClient控件来实现指令的发送。
关键代码:
procedureTForm1.SendInf(inf:
string);
begin
try
except
ifMessageBox(Form1.Handle,PChar('服务端已断开,是否重连?
'),PChar('系统提示'),1)=1then
begin
IdTCPClient1.IOHandler.Close;//清除原先发送的命令,否则在发送命令失败后不能重新连接到服务端
IdTCPClient1.Disconnect;
FormCreate(Form1);
end
else
begin
Application.Terminate;
Exit;
end;
end;
end;
procedureTForm1.Button1Click(Sender:
TObject);
begin
Sendinf('opencom');//打开串口
end;
procedureTForm1.Button2Click(Sender:
TObject);
begin
Sendinf('closecom');//关闭串口
end;
procedureTForm1.Button3Click(Sender:
TObject);
begin
Sendinf('openno1');//发送指令:
打开1号开关
end;
procedureTForm1.Button4Click(Sender:
TObject);
begin
Sendinf('closeno1');//发送指令:
关闭1号开关
end;
procedureTForm1.Button5Click(Sender:
TObject);
begin
Sendinf('openno2');//发送指令:
打开2号开关
end;
procedureTForm1.Button6Click(Sender:
TObject);
begin
Sendinf('closeno2');//发送指令:
关闭2号开关
end;
procedureTForm1.Button11Click(Sender:
TObject);
begin
Sendinf('readstatus1');//读取1号开关状态
end;
procedureTForm1.Button13Click(Sender:
TObject);
begin
Sendinf('readstatus2');//读取2号开关状态
end;
procedureTForm1.Button12Click(Sender:
TObject);
begin
SendInf(edit1.Text);//发送16进制操纵命令
end;
end.
4.4PC机服务端接收软件
如图4.5所示,服务端PC数据接收、处理过程分为判定是否为6个指令中的一个并采取相应的操作。
图4.4服务端PC数据接收、处理过程
图4.5PC机服务端接收界面
如图4.5所示,本系统服务端PC机上采纳Text控件用来显示接收自客户端PC的指令。
服务端PC软件完成接收从客户端PC通过TidTCPClient控件发送的命令的功能。
服务端PC软件使用TidTCPServer控件来接收命令。
使用ListBox控件显示从客户端PC接收到的命令。
[15]
关键代码:
procedureReceiveCMD;
procedureWriteCom(Command:
DWORD);
var
Mode:
string;
AppDir:
string;
Cmd:
string;
implementation
{$R*.dfm}
procedurefillstruct(control:
PMixerControl;varCdetails:
tMIXERCONTROLDETAILS);
begin
Cdetails.cbStruct:
=SizeOf(cdetails);
cdetails.dwControlID:
=Control.dwControlID;
cdetails.cbDetails:
=SizeOf(Integer);
cdetails.hwndOwner:
=0;
end;
procedureReceiveCmd;
begin
while(StepInReceiveCmd)do//在TForm2.FormCloseQuery置False退出线程
begin
ifReceiveOrNot=truethen//在TForm2.IdTCPServer1Execute置True
begin//在创建线程和下面置False
text1.text:
=cmd;
接收到客户端的指令后,服务端PC使用MSComm控件通过串口与LPC2103实验版进行通讯。
关键代码:
caseCmdof
'opencom':
begin
Mscomm1.PortOpen:
=true;//打开串口
Mscomm1.InputMode:
=comInputModeText;
end;
‘closecom’:
begin
Mscomm1.PortOpen:
=false;//关闭串口
Mscomm1.DTREnable:
=false;
Mscomm1.RTSEnable:
=false;
end;
'openno1':
Mscomm1.Output:
='a';
‘closeno1’:
Mscomm1.Output:
='b';
‘openno2’:
Mscomm1.Output:
='c';
‘closeno2’:
Mscomm1.Output:
='d';
‘readstatus1’:
Mscomm1.Output:
='e';
‘readstatus2’:
Mscomm1.Output:
='f';
end;
Sleep(10);
end;
end;
4.5本章小结
本章要紧进行了服务端PC和客户端PC的软件编码。
由客户端PC通过TidTCPClient控件发送特定的指令到服务端PC,服务端PC用TidTCPCServer控件解析由客户端PC发送的指令,服务端PC按照接收到的指令对串口写入特定的字符,以达到操纵单片机继电器的目的。
[16]
单片机软件设计
5.1单片机软件功能分析
单片机软件完成对从服务端PC发送过来的指令的读取、分析并作相应的操作。
由按照串口指令并作出相应操作的主程序、初始化串口子程序、读取从串口发送来的数据子程序和发送字符到串口子程序组成。
5.2软件设计流程
图5.1单片机数据接收、处理流程
如图5.1所示,处理器软件要紧完成数据接收和处理的功能。
[17]从服务端PC机发送开和关的指令到串口,处理器软件触发中断,读取串口数据,如果指令是开,置CPU的SW_OUT0针脚为启用,使继电器实现通路,打开连接在实验版上的电器;如果指令是关,置CPU的SW_OUT0针脚为关闭,使继电器实现断路,关闭连接在实验板上的电器。
5.3单片机指令接收与处理
子程序:
初始化串口[18]
关键代码:
DWORDUARTInit(DWORDbaudrate)
{DWORDFdiv;
U0LCR=0x83;/*8bits,noParity,1Stopbit*/
Fdiv=(Fpclk/16)/baudrate;/*baudrate*/
U0DLM=Fdiv/256;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CS 模型 智能家居 电源 控制系统