目录第1章绪论1.1 课题研究背景1.2 智能家居的发展状况1.21 国内智能家居发展状况1.22国外智能家居发展状况1.23未来智能家居发展趋势1.3研究的目的和意义1.4课题研究的内容第二章智能家居控制系统总体设计方案2.1智能家居网络的主要功能2.2智能家居网络结构2.2.1家居控制器的总体设计框图2.2.2家居控制器硬件设计2.2.3家居控制器软件设计第三章硬件平台设计3.1 硬件模块介绍3.2蓝牙系统前端构成3.3蓝牙系统终端构成第四章软件平台的搭建4.1 蓝牙系统的无线通信数据帧格式4.2 系统软件设计4.2.1单片机端软件设计4.2.2 PC机端软件设计4.2.3 系统收发数据流程第五章系统测试与分析结论参考文献第一章绪论1.1课题研究背景智能家居是以住宅为平台兼备建筑、网络通讯、信息家电设备自动化,集系统、结构、服务、管理为一体的舒适、高效、安全、便利、环保的家居环境。
目前在国内家庭信息网络和智能家居网络的研究和实施中,存在的几个关键问题:1.2 智能家居的发展状况1.2.1国外智能家居的发展状况1.2.2国内智能家居的发展状况1.2.3智能家居的未来发展趋势1.3课题研究的目的和意义1.4课题研究的内容课题研究的主要内容具体如下<1)智能家居控制器硬件的设计。
首先根据对智能家居控制器的具体要求例如功耗、成本、体积等,为其选择性价比比较高的CPU,然后分别对其各个动能模块进行硬件电路的设计与调试。
<2)智能家居控制器的软件的设计。
对现在的嵌入式操作系统进行研究和分析,为智能家居控制器选定一个操作系统。
完成嵌入式软件开发平台的搭建。
开发实际的应用软件和图形界面。
<3)家庭控制网络的实现。
在研究蓝牙Core-v1.2协议的基础上,完成控制器与其他设备的基于蓝牙模块的通信。
调试病实现蓝牙的点对点、点对多通信,最贱模拟的家庭内部控制子网。
第二章.智能家居控制系统总体设计方案2.1智能家居网络实现的主要功能智能家居王所要是实现的主要功能有:对非智能家电的控制对现有家用电器和其他设备的控制、调节和检测,比如灯光、安防报警器、微波炉、洗衣机、自动门以及各种手动的开关和遥控器等。
2.2智能家居网络结构2.2.1家居控制系统总体设计框图图1.家居控制系统总体设计框图蓝牙系统在实现的时候,一般分成两部分实现,一是硬件部分,它包括蓝牙协议栈的下三个层次,即无线收发、基础和链路客理层(LMP>;二是软件部分,它包括蓝牙协议栈的上层,即L2CAP、RFCOMM 、SDP和TCS以及一些蓝牙技术应用。
由于每一个蓝牙设备都拥有一个全球唯一的地址码,因此可以利用该地址码方便的实现家居内电器设备的控制。
2.2.2 蓝牙系统的硬件设计目前,虽然家用电器并没有具有蓝牙功能,但一般采用微处理器的控制方式,所以在研究家居远程控制时,利用简单的微处理器控制系统代替家用电器设备,通过串口来实现与蓝牙模块之间的通信,从而模拟实现家用电器设备的蓝牙接入功能。
系统设计框图如图2所示,蓝牙模块采用ROK101007,微处理器采用AT89S52。
图二.蓝牙模块的系统设计框图2.2.3蓝牙系统的软件设计在设计时,定义电器设备为从设备;与PC机相连的模块为主设备。
处理器、PC 机与ROK101007之间通过HCI<主机控制接口)来实现对其硬件的访问和控制。
具体的工作过程如下:当处理器和主机控制器通信时,HCI 层以上的协议在处理器上运行,而HCI 层以下的协议由蓝牙主机控制器硬件来实现,它们通过HCI 传输层进行通信。
由微处理器充当主机的角色,其主机软件工作在HCI 之上,通过串口与HCI 进行交互,调用HCI 命令,处理HCI 事件和数据分组。
处理器和主机控制器中都有HCI,它们具有相同的接口标准。
主机控制器中的HCI 解释来自处理器的信息并将信息发向相应的硬件模块单元,同时还将模块中的信息(包括数据和硬件/固件信息>根据需要向上转发给处理器,从而完成蓝牙无线通信功能第三章.硬件平台的设计3.1硬件模块介绍3.1.1 爱立信ROK101007 蓝牙模块介绍爱立信ROK101008是爱立信(Ericsson>公司出品的适用于短距离通信的无线基带模块,它集成度高、功耗小、完全兼容蓝牙1.0B协议规范,可嵌入到任何需要蓝牙功能的设备中。
它同时支持数据和语音的传输,输出功率满足Class2的要求。
它提供有UART、PCM接口,可方便地实现与主机之间的通信。
它在UART接口上的最高传输速率为460Kb/s,缺省波特率是57.6Kb/s,可支持的波特率为300、600,900,1200、2400,4800,9600、19200,38400157600,115200、230400,460800bit/s,并有一个128字节的FIFO队列111。
ROK101008的系统结构图如图4.2所示。
处于模块底层的是无线层(Radio>和基带>县(Baseband>,以硬件的形式存在;处于模块中上层的,是链路管理器(LM>和HCI,以固件的形式存在。
图.爱立信ROK 101 008蓝牙模块系统结构图ROK 101008由基带控制器(Baseband>、快闪式存储器(Flash Memory>、无线电收发器(PBA 31301/2>、电压调节器(V oltage Regulation>、13MHz晶振(13MHzCrystal>共5部分组成【12J,其内部结构框图如图4.3所示。
①基带控$1J-器(Baseband>:是一个以ARM7一Thumb为基础的的芯片,通过接口控制无线电收发器的运行。
ROK 101 008的基带控制器提供UART和PCM两种接口。
②快闪式存储器r(Flash Memory>:闪存和基带控制器同时使用。
③无线电收发器(PBA 31301/2>:PBA313 01/2是短距离微波无线电收发器其天线滤波器、RX和TX不平衡变压器都集成在电路中,可作为嵌入式结构应用。
④电压调节器:(V oltageRegulation>:Vcc典型值是3.3V,产生两个可调电压。
⑤13MHz晶振(13MHz Crystal>:晶振提供频率为13MHz的内置时钟。
3.1.2 单片机C8051F120简介微控制器(MCu>是蓝牙应用系统的核心,它的选择将直接影响到系统的性能。
C8051F120是Cygnal公司的一种与8051兼容的高速SOC单片机,它具有高速CI P.51内核、灵活的I/O交叉开关、先进的时钟系统、JTAG系统调试接口以及多源复位系统。
它性能卓越,内核采用流水线结构,速度可达100MIPS,比普通的51快40倍,而且在资源丰富、体积小、功耗低、集成度高且调试方便。
下面列出了它的一些主要特性:●高速、流水线结构的8051兼容的CIP.51内核;●真正8位500ksps的ADC,带PGA和8通道模拟多路开关;●2周期的16×16的乘法和累加引擎;●8448(8K+256>字节的片内RAM;●可寻址64K字节地址空间的外部数据存储器接口;●硬件实现的SPI、SMBus/12C和两个UART串行接El[10l;●5个通用的16位定时器;●具有6个捕捉/比较模块的可编程计数器/定时器阵列;●FLASH存储器具有在系统中重新编程能力,可用于非易失性数据存储,并允许现场更新固件;●片内JTAG调试电路允许非侵入式(不占用片内资源>、全速、在系统测试;●可在工业温度范NI(.45"C一+85。
c>N用2.7V~3.6V的电压工作。
●C8051F120为100脚TQFP封装。
3.2系统蓝牙终端构成本课题采用单片机C805F120通过UART连接爱立信ROK101 008蓝牙模块。
简单的连接示意图如图所示,图中的①、②、③分别标出了连接中需要注意的3个地方。
图.单片机C8051F120通过UART连接蓝牙模块示意图3.3系统蓝牙前端构成图前端系统通过RS232将蓝牙模块与PC连接。
这里只需要MAX232电平转换简单连接即可,其硬件原理如图所示图.前端硬件构成图第四章.通信系统软件模块4.1蓝牙系统的无线数据通信帧格式为了避免同频干扰的问题,系统采用时分TDMA<Time Division Multiple Access)复用技术,把系统主机与任意一台从机之间的通信采用时分的方式分开,主机通过扫描的方式与各从机进行点对点通信。
<1)无线通信数据帧格式无线通信协议的首要任务就是能够识别噪声和有效数据。
本系统的通信方式主要是蓝牙模块之间的无线通信和主机与PC机之间的串行通信格式。
图2所示的是系统的无线通信数据格式。
其中图<a)是主机发送命令时的数据帧格式。
通常连接传感器的从机处于“待命”状态,当接收到引导字时,各从机都准备分析地址信息,若接收的地址信息与本机地址相符,则执行命令字,否则继续待命。
在系统调试中发现0xFF后跟0XAA在噪声中出现的概率很小,所以,我们在传输协议的数据包前加“0xFF+0xAA”的引导字。
接收协议约定只接收以0xFF后跟0xAA开始的数据包。
图.系统无线通信帧格式4.2 系统软件设计系统的软件设计分为单片机端软件设计和PC端软件设计两大块。
4.2.1单片机端软件设计单片机端软件采用嵌入式C语言的编程,开发环境为Keil,主要工作有两部分,分别是蓝牙基本数据传输模块的实现和蓝牙文件传输模块的实现。
(1>蓝牙基本数据传输模块的实现此部分软件包括初始化、蓝牙交互、处理数据三个部分。
初始化包括系统初始化和蓝牙初始化。
系统初始化包括系统时钟初始化、管脚分配、串口初始化、定时器初始化等,蓝牙初始化是通过UART给蓝牙模块发送一系列初始化指令,蓝牙模块返回事件,交互完成一系列的复位、鉴权、读地址等初始化操作。
蓝牙交互就是初始化完成后,若本地蓝牙作从设备,则等待远端蓝牙设备的建链请求,如果接受请求,则继续等待建链成功,获得一个连接句柄,从而即可进行数据交换;若本地蓝牙作主设备,则进行一系列主动查询、建链、发送数据、断链等操作。
处理数据就是将有效数据提取出来显示在液晶上或转存到相应位置等一系列后续操作。
需要注意的是,在程序的主循环中,需要实时判断串口接收缓冲区是否有数据,有数据则调用HCI状态机进行处理。
程序流程如图所示。
图.从机数据处理程序流程4.2.2PC端软件设计PC端采用面向对象的C++编程,在VC抖6.0开发平台下实现了基于蓝牙HCI层通信的基本数据传输和文件传输的控制程序。
PC端操作系统为XP,采用的蓝牙设备为蓝牙USB适配器,适配器内嵌蓝牙芯片为CSR(Cambridge SiliconRadio>公司的BlueCore04。