欢迎来到天天文库
浏览记录
ID:58978657
大小:159.00 KB
页数:5页
时间:2020-09-16
《以太网智能家居控制器的设计.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、1引言 随着现代4C技术(计算机技术、控制技术、通信技术和图形显示技术)的迅速发展以及人们生活水平的不断提高,智能家居已经成为智能建筑的一个重要分支。本文旨在设计一种成本低廉、面向普通家庭的、集本地控制和远程控制于一体的智能家居控制器,用于控制室内家电的运行状态和环境参数的采集。设计中本地控制采用红外技术,远程控制通过开发精简的TCP/IP协议并结合HTTP协议,实现嵌入式Web服务器,从而使用户通过任意的浏览器便可对家居中的设备和环境进行控制和监测。2以太网智能家居控制器的硬件设计 智能家居控制器采用8位单片机W78E58B作为系统的核心处理单元,
2、系统硬件框图如图1所示。 本地端以红外通信技术为基础,发射端采用NB9148红外编码模块,接收端采用SJ1838进行接收解调,并将控制信号传送给W78E58B。外部扩展RAM62256以提高单片机的数据传输速度和复杂的TCP/IP协议的处理。RS232串口通讯主要用于程序的下载和调试,以及通讯转换接口。GAL器件ATF16V8B用于片选,以节约系统空间资源。 DS18B20用于环境温度采集。 远程控制的硬件平台由W78E58B和以太网控制器RTL8019AS等器件组成。RTL8019AS是针对ISA总线设计的,用于实现网络的物理层协议的专用以太网控
3、制芯片。RTL8019AS内置了10BASE-T收发器,使用跳线方式,通过可提高网络通信的抗干扰能力的网络滤波器20F-01,再与RJ-45相连。E2PROMAT24C512用于实现嵌入式Web服务器访问的网页文件存储,同时也用于存储用户的一些设置,如IP地址、网关以及网卡芯片MAC地址等参数。 3以太网智能家居控制器的软件设计 以太网智能家居控制器的软件实现是在单片机上完成的,主要包括虚拟I2C总线读写程序、红外接收和控制程序、温度采集程序、网卡芯片RTL8019AS驱动程序、嵌入式Web服务器的实现以及其他处理程序。本文中只讨论网卡芯片的驱动程序
4、和嵌入式Web服务器的实现。 3.1以太网控制器RTL8019AS的驱动程序 RTL8019AS的驱动程序是TCP/IP协议与底层物理设备的程序接口,它屏蔽了底层硬件处理的细节,并向上层软件提供与硬件无关的接口。TCP/IP协议只要调用以太网驱动程序即可完成以太网数据的接收和发送。网卡芯片RTL8019AS的驱动程序包括RTL8019AS初始化程序、数据包接收程序和数据包发送程序。 3.1.1RTL8019AS初始化 RTL8019AS通过RSTDRV管脚进行复位操作。复位后,先对RTL8019AS初始化。初始化操作包含设置PSTART="0x4
5、c",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.
6、2RTL8019AS数据发送 首先将待发送的数据按以太网数据帧格式封装后,再置CR寄存器为12H,启动远程写DMA,RTL8019AS会自动将这帧数据送至RTL8019AS的数据发送缓冲区,并将结果写入状态寄存器。最后将CR置为3EH,启动本地写DMA后将数据送入FIFO寄存器,并发送到以太网上。程序流程图见图2所示。 接收数据时,接收缓冲区构成一个循环FIFO队列。PSTART、PSTOP两个寄存器限定了循环队列的开始和结束页;CURR为写入指针,受芯片控制;BNRY为读出指针,由主机程序控制。程序通过查询CURR和BNRY两个寄存器的值来判断是否收
7、到一帧数据。程序流程见图3所示。 3.2嵌入式Web服务器的实现 设计中采用的是W78E58B型8位单片机,由于单片机存储空间有限、处理速度相对较慢,且在整个远程控制中不需要实现完整的TCP/IP协议。因此,可以在远程控制的网络连接和访问技术中采用精简TCP/IP协议。要实现交互功能,就要在精简TCP/IP协议的基础上实现HTTP协议,构建嵌入式Web服务器。本设计中的精简TCP/IP协议具有同TCP/IP协议一样的四层结构,各层实现的功能如下: ①链路层。设计中通过以太网接入到Internet,因此物理层和数据链路层要符合以太网的IEEE80
8、2.3标准。然而,以太网控制器RTL8019AS的硬件组成部分已经实现了CSMA
此文档下载收益归作者所有