基于以太网智能家居控制器的设计

发布时间:2014-09-23 阅读量:754 来源: 我爱方案网 作者:

【导读】随着现代4C技术(计算机技术、控制技术、通信技术和图形显示技术)的迅速发展以及人们生活水平的不断提高,本文旨在设计一种成本低廉、面向普通家庭的、集本地控制和远程控制于一体的智能家居控制器,用于控制室内家电的运行状态和环境参数的采集。

 以太网智能家居控制器的硬件设计


智能家居控制器采用8位单片机W78E58B作为系统的核心处理单元,系统硬件框图如图1所示。


本地端以红外通信技术为基础,发射端采用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地址等参数。

以太网智能家居控制器的软件设计

以太网智能家居控制器的软件实现是在单片机上完成的,主要包括虚拟I2C总线读写程序、红外接收和控制程序、温度采集程序、网卡芯片RTL8019AS驱动程序、嵌入式Web服务器的实现以及其他处理程序。本文中只讨论网卡芯片的驱动程序和嵌入式Web服务器的实现。

以太网控制器RTL8019AS的驱动程序


RTL8019AS的驱动程序是TCP/IP协议与底层物理设备的程序接口,它屏蔽了底层硬件处理的细节,并向上层软件提供与硬件无关的接口。TCP/IP协议只要调用以太网驱动程序即可完成以太网数据的接收和发送。网卡芯片RTL8019AS的驱动程序包括RTL8019AS初始化程序、数据包接收程序和数据包发送程序。

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,清除所有中断标志位。

RTL8019AS数据发送


首先将待发送的数据按以太网数据帧格式封装后,再置CR寄存器为12H,启动远程写DMA,RTL8019AS会自动将这帧数据送至RTL8019AS的数据发送缓冲区,并将结果写入状态寄存器。最后将CR置为3EH,启动本地写DMA后将数据送入FIFO寄存器,并发送到以太网上。

接收数据时,接收缓冲区构成一个循环FIFO队列。PSTART、PSTOP两个寄存器限定了循环队列的开始和结束页;CURR为写入指针,受芯片控制;BNRY为读出指针,由主机程序控制。程序通过查询CURR和BNRY两个寄存器的值来判断是否收到一帧数据。程序流程见图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字节,需要分组发送。

以太网智能家居控制器远程控制运行结果


智能家居控制器接入以太网后,用户只需在浏览器中输入控制器的IP地址,便可登录远程控制界面。当正确输入用户名和密码后,便进入控制页面,用户可以访问并控制各子系统。

图3为智能家电的控制页面,系统使用GIF格式图片表示智能家电开关的状态。当单击控制页面中相应的开关后,智能家居Web服务器收到HTTP请求,执行CGI程序,将相反状态的图片嵌入到网页相应的位置中。与此同时,单片机会在相应家电的控制端口,输出一个与之前状态相反的电平,此时继电器动作,家电运行状态改变。最后智能家居Web服务器将新的HTML页面回送给用户端,浏览器更新页面,并显示改变后的家电状态。

智能家居Web服务器的软件系统还启用了定时机制,当用户在规定的时间内未执行任何操作,系统将退出控制页面,返回到登录页面。用户必须重新输入验证信息,并登录后才可再次进入控制页面执行操作,大大提高了整个智能家居控制系统的安全性。

相关文章

智能家居中四种技术的生存较量

基于WiFi智能插座的智能家居系统方案

适用于洗碗机的高效率电源和设计方案
相关资讯
RSA240电流检测芯片:突破-5V~100V宽压采集的国产解决方案

在工业自动化、新能源储能及多节电池管理系统中,高精度电流检测是保障系统安全与能效的核心环节。传统检测方案常受限于共模电压范围窄、抗浪涌能力弱、温漂误差大等痛点。国产RSA240系列电流检测芯片的推出,以**-5V~100V超宽共模输入范围和0.1%级增益精度**,为高压场景提供了突破性解决方案。

TMR134x磁开关芯片:高精度液位测量的工业级解决方案

在工业4.0浪潮推动下,液位测量作为过程控制的核心环节,其精度与可靠性直接影响化工、能源、汽车等关键领域的生产安全。传统霍尔传感器受限于功耗高、温漂大、响应慢等瓶颈,难以满足智能设备对实时性与稳定性的严苛要求。多维科技推出的TMR134x磁开关传感器芯片,通过隧道磁阻(TMR)技术突破传统局限,为高精度液位监测提供新一代解决方案。

英飞凌300mm GaN技术实现突破,2025年Q4交付客户样品

英飞凌科技股份公司近日宣布,其基于300mm(12英寸)晶圆的氮化镓(GaN)功率半导体量产技术已取得实质性突破,相关生产流程全面步入正轨。根据规划,首批工程样品将于2025年第四季度交付核心客户,标志着英飞凌成为全球首家在现有大规模制造体系内实现300mm GaN工艺集成的IDM(垂直整合制造)厂商。

AI浪潮推高日本芯片设备销量,2026年有望突破5万亿日元大关

日本半导体制造装置协会(SEAJ)7月3日发布修订报告,预计2025年度(2025年4月-2026年3月)日本半导体设备销售额将达48,634亿日元,同比增长2.0%,连续第二年刷新历史纪录。2024年度销售额同比暴涨29.0%至47,681亿日元,首次突破4万亿日元大关。更关键的是,2026年度销售额预计跃升至53,498亿日元(约合5.3万亿日元),年增10.0%,成为史上首个跨越5万亿日元大关的年度;2027年将进一步增长至55,103亿日元,实现连续第四年创新高。

2025年Q2中国智能手机市场:华为以12%增速重登榜首,补贴政策缩减或成下半年变数

市场研究机构Counterpoint Research最新报告显示,2025年第二季度中国智能手机市场同比小幅增长1.5%。这一温和回升主要由华为与苹果两大品牌驱动,其中华为以12%的同比增速领跑市场,时隔四年重回季度出货量第一宝座,而vivo则以9%的跌幅成为前五厂商中唯一下滑品牌。