- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
以太網智能家居控制器的设计
1 引言
随着现代 4C技术(计算机技术、控制技术、通信技术和图形显示技术)的迅速发展以及人们生活水平的不断提高,智能家居已经成为智能建筑的一个重要分支。本文旨在设计一种成本低廉、面向普通家庭的、集本地控制和远程控制于一体的智能家居控制器,用于控制室内家电的运行状态和环境参数的采集。设计中本地控制采用红外技术,远程控制通过开发精简的 TCP/IPHYPERLINK /List_11.html协议并结合 HTTPHYPERLINK /List_11.html协议,实现HYPERLINK /嵌入式 WebHYPERLINK /服务器,从而使用户通过任意的浏览器便可对家居中的设备和环境进行控制和监测。 2 以太网智能家居控制器的硬件设计
智能家居控制器采用 8位单片机 W78E58B作为系统的核心处理单元,系统硬件框图如图 1所示。
本地端以红外通信技术为基础,发射端采用 NB9148红外编码模块,接收端采用 SJ1838进行接收解调,并将控制信号传送给 W78E58B。外部扩展 RAM 62256以提高单片机的数据传输速度和复杂的 TCP/IPHYPERLINK /List_11.html协议的处理。 RS232串口通讯主要用于程序的HYPERLINK /下载和调试,以及通讯转换接口。GAL器件 ATF16V8B用于片选,以节约系统空间资源。
DS18B20用于环境温度采集。
远程控制的硬件平台由 W78E58B和以太网控制器 RTL8019AS等器件组成。RTL8019AS是针对 ISA总线设计的,用于实现网络的物理层协议的专用以太网控制芯片。RTL8019AS内置了 10BASE-T收发器,使用跳线方式,通过可提高网络通信的抗干扰能力的网络滤波器 20F-01,再与 RJ-45相连。 E2PROM AT24C512用于实现HYPERLINK /嵌入式 WebHYPERLINK /服务器访问的网页文件HYPERLINK /存储,同时也用于HYPERLINK /存储用户的一些设置,如 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所示。
3.2 嵌入式Web服务器的实现
设计中采用的是 W78E58B型 8位单片机,由于单片机存储空间有限、处理速度相对较慢,且在整个远程控制中不需要
原创力文档


文档评论(0)