当前位置:首页 > 消费电子 > 消费电子
[导读]本文依据智能家居发展现状,提出了一种基于 8位单片机的以太网智能家居控制器的设计方案。该方案集本地红外控制和以精简 TCP/IP协议为核心的以太网远程控制于一体,使用户可以通过该控制器对家居中的设备和环境进行实时控制和监测。

1引言
随着现代 4C技术(计算机技术、控制技术、通信技术和图形显示技术)的迅速发展以及人们生活水平的不断提高,智能家居已经成为智能建筑的一个重要分支。本文旨在设计一种成本低廉、面向普通家庭的、集本地控制和远程控制于一体的智能家居控制器,用于控制室内家电的运行状态和环境参数的采集。设计中本地控制采用红外技术,远程控制通过开发精简的 TCP/IP协议并结合 HTTP协议,实现嵌入式 Web服务器,从而使用户通过任意的浏览器便可对家居中的设备和环境进行控制和监测。 2 以太网智能家居控制器的硬件设计
智能家居控制器采用 8位单片机 W78E58B作为系统的核心处理单元,系统硬件框图如图 1所示。
500)this.style.width=500;" border="0" />


本地端以红外通信技术为基础,发射端采用 NB9148红外编码模块,接收端采用 SJ1838进行接收解调,并将控制信号传送给 W78E58B。外部扩展 RAM 62256以提高单片机的数据传输速度和复杂的 TCP/IP协议的处理。 RS232串口通讯主要用于程序的下载和调试,以及通讯转换接口。GAL器件 ATF16V8B用于片选,以节约系统空间资源。

DS18B20用于环境温度采集。
远程控制的硬件平台由 W78E58B和以太网控制器 RTL8019AS等器件组成。RTL8019AS是针对 ISA总线设计的,用于实现网络的物理层协议的专用以太网控制芯片。RTL8019AS内置了 10BASE-T收发器,使用跳线方式,通过可提高网络通信的抗干扰能力的网络滤波器 20F-01,再与 RJ-45相连。 E2PROM AT24C512用于实现嵌入式 Web服务器访问的网页文件存储,同时也用于存储用户的一些设置,如 IP地址、网关以及网卡芯片 MAC地址等参数。

3 以太网智能家居控制器的软件设计
以太网智能家居控制器的软件实现是在单片机上完成的,主要包括虚拟 I2C总线读写程序、红外接收和控制程序、温度采集程序、网卡芯片 RTL8019AS驱动程序、嵌入式 Web服务器的实现以及其他处理程序。本文中只讨论网卡芯片的驱动程序和嵌入式 Web服务器的实现。
3.1 以太网控制器 RTL8019AS的驱动程序
RTL8019AS的驱动程序是 TCP/IP协议与底层物理设备的程序接口,它屏蔽了底层硬件处理的细节,并向上层软件提供与硬件无关的接口。 TCP/IP协议只要调用以太网驱动程序即可完成以太网数据的接收和发送。网卡芯片 RTL8019AS的驱动程序包括 RTL8019AS初始化程序、数据包接收程序和数据包发送程序。
3.1.1 RTL8019AS初始化
RTL8019AS通过 RSTDRV管脚进行复位操作。复位后,先对 RTL8019AS初始化。初始化操作包含设置 PSTART=0x4c,PSTOP=0x80,使 0x40~0x4b为网卡的发送缓冲区,0x4c~ 0x7f为网卡的接收缓冲区;设置 RCR=0xcc,仅接收目标物理地址和设置物理地址一致的数据包、广播地址数据包和多点播送地址包;设置 TCR=0xe0,工作在正常模式;设置 DCR=0xc8,使用 FIFO缓存及 8位数据 DMA;设置 IMR=0x00,屏蔽所有中断;组播地址寄存器 MAR0~MAR7,均设置为 0x00;设置网卡物理地址寄存器 PAR0~PAR5;设置 CR=0x22,选择页 0的寄存器,进入正常工作状态;设置 ISR=0xff,清除所有中断标志位。
3.1.2 RTL8019AS数据发送

首先将待发送的数据按以太网数据帧格式封装后,再置 CR寄存器为 12H,启动远程写 DMA,RTL8019AS会自动将这帧数据送至 RTL8019AS的数据发送缓冲区,并将结果写入状态寄存器。最后将 CR置为 3EH,启动本地写 DMA后将数据送入 FIFO寄存器,并发送到以太网上。程序流程图见图 2所示。
 
接收数据时,接收缓冲区构成一个循环 FIFO队列。 PSTART、PSTOP两个寄存器限定了循环队列的开始和结束页;CURR为写入指针,受芯片控制; BNRY为读出指针,由主机程序控制。程序通过查询 CURR和 BNRY两个寄存器的值来判断是否收到一帧数据。程序流程见图 3所示。
500)this.style.width=500;" border="0" />


3.2 嵌入式 Web服务器的实现
设计中采用的是 W78E58B型 8位单片机,由于单片机存储空间有限、处理速度相对较慢,且在整个远程控制中不需要实现完整的 TCP/IP协议。因此,可以在远程控制的网络连接和访问技术中采用精简 TCP/IP协议。要实现交互功能,就要在精简 TCP/IP协议的基础上实现 HTTP协议,构建嵌入式 Web服务器。本设计中的精简 TCP/IP协议具有同 TCP/IP协议一样的四层结构,各层实现的功能如下:
①链路层。设计中通过以太网接入到 Internet,因此物理层和数据链路层要符合以太网的 IEEE802.3标准。然而,以太网控制器 RTL8019AS的硬件组成部分已经实现了 CSMA/CD控制机制,屏蔽了底层硬件处理的细节,并向上层软件提供与硬件无关的接口,最终完成了数据在以太网中的接收和发送。因此,设计中物理层与数据链路层的设计是通过 RTL8019AS硬件和驱动程序共同实现的。
②网络层实现了 ARP协议、ICMP协议和 IP协议。ARP是地址解析协议,具体处理过程是当接收到 ARP数据包,处理器就查看 IP地址是请求还是响应。如果是响应,则将响应中的网卡地址存到 ARP高速缓存表中;如果是请求,处理器将返回自己的网卡物理地址给对方。ICMP是调试响应 PING的请求,检测网路是否通顺。依照系统实际应用的要求, IP协议只需实现对数据报传送和接收,无须实现路由选择算法和差错控制,同时也不需支持 IP数据报的分片和重组。
③传输层实现 TCP协议。 TCP协议是面向连接的、端对端的可靠通信协议。设计中采取了 TCP连接的建立与关闭机制、超时重传机制、数据包确认机制、流量控制机制来保证它的可靠性。在超时重传机制中,如果超时重传定时器溢出后还没有收到确认,则重传该数据包,并复位重传定时器。为简单起见,程序里每次只发送一个 TCP数据包,然后等待它的确认,只有收到确认后才会继续发送下面的 TCP数据包。在本设计,程序重传的间隔时间是固定的,没有采用 TCP协议中的标准算法,当达到一定的次数后,发送方还没有收到确认,则会放弃该包的发送并关闭 TCP连接。TCP的流量控制是为了协调通信双方的收发

速率不均衡而设计的。设计中考虑到系统在使用 TCP协议时,只设置了一个中等 IP包大小接收缓存,因此接收窗口恒定设为 1024。这样远端主机就会以较慢的传输速率与本端的 Web服务器进行通信,不会导致死机。
④应用层实现了 HTTP协议。HTTP是在 Web服务器和浏览器之间通信的协议。为了
简化,设计中采用固定的 HTTP报文头封装 HTTP应答数据报文。格式如下:
char code html_header[ ]    //客户端访问主页时候服务器的响应头部
= {"HTTP/1.1 200 OKn" //响应行( Respond Line),状态为 OK,表示文件可以读取
"Cache-control: no-cachen" //没有高速缓存控制
"Connection: Keep-Aliven"  //HTTP/1.1的可持续链接
"Content-Length: TAG:LEN1n"  //文件长度
"Content-Type: text/htmlrnrn" };//客户端 GET请求的文件格式
在响应 HTTP请求时,由于以太网数据包的数据部分不能超过 1500字节,因此当发送
数据超过 1500字节,需要分组发送。
3.3 以太网智能家居控制器远程控制运行结果
智能家居控制器接入以太网后,用户只需在浏览器中输入控制器的 IP地址,便可登录远程控制界面。当正确输入用户名和密码后,便进入控制页面,用户可以访问并控制各子系统。
图 4为智能家电的控制页面,系统使用 GIF格式图片表示智能家电开关的状态。当单击控制页面中相应的开关后,智能家居 Web服务器收到 HTTP请求,执行 CGI程序,将相反状态的图片嵌入到网页相应的位置中。与此同时,单片机会在相应家电的控制端口,输出一个与之前状态相反的电平,此时继电器动作,家电运行状态改变。最后智能家居 Web服务器将新的 HTML页面回送给用户端,浏览器更新页面,并显示改变后的家电状态。
 
500)this.style.width=500;" border="0" />
智能家居 Web服务器的软件系统还启用了定时机制,当用户在规定的时间内未执行任何操作,系统将退出控制页面,返回到登录页面。用户必须重新输入验证信息,并登录后才可再次进入控制页面执行操作,大大提高了整个智能家居控制系统的安全性。
本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭