ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:808.34KB ,
资源ID:16703586      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/16703586.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基SPCE061A单片机的网络家电系统设计Word格式文档下载.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基SPCE061A单片机的网络家电系统设计Word格式文档下载.docx

1、该设计分为硬件和软件设计两部分。硬件设计主要有SPCE061A和DM9000A以太网模组电路。软件设计主要是实现一个能与 PC 端的浏览器通信,接受浏览器的页面请求并回传网页给浏览器显示的Web Server,同时,可以根据客户端发送的信息对家电进行控制。2.2网络家电系统的设计要求利用61板作为控制板,配合 DM9000 以太网模组,完成一个 Web 服务器,并具有控制功能,其功能主要为:1. SPCE061A 做为主控制器对 DM9000 以太网控制芯片进行控制,完成以太网数据包的收发;2. SPCE061A 与 DM9000 构成的网络终端可以做为 Web 服务器,对局域网提供网页浏览服

2、务;3. 用户可以通过网页上的按钮模拟实现对“空调”、“灯光”、“音乐”三个家电的控制;4. 对家电的控制通过播报语音或点亮 LED 模拟代替;3 总体设计本系统由SPCE061A精简开发板、以太网模组构成,结构如图1所示:图1 网络家电系统框图实现功能的方法为:系统通过交叉网线与 PC 机的网卡直接相连,或通过直通网线与局域网交换机或 Hub 相连。以太网模 组在 SPCE061A 的控制下进行以太网数据包的收发,完成与局域网内的其他网络设备的通讯。在运行于 SPCE061A平台的TCP/IP 协议的基础上,搭建应用层 HTTP 服务器协议,实现 Web 服务器的功能,并向局域网提供网络浏览

3、服务。同时,通过分析客户端提交的请求信息,实现对家电的控制。4 硬件设计说明4.1 61板最小系统61 板包括SPCE061A芯片及其外围的基本模块,外围模块包括:晶振输入模块(OSC)、锁相环外围电路(PLL)、复位电路(RESET)、指示灯(LED)等,如图2所示:图2SPCE061A最小系统4.2 以太网模组电路包括DM9000的工作电路、SPR4096电路、电源电路三部分在本系统中,没有用到SPR4096。DM9000的工作电路如图3所示。图3 DM9000工作电路4.3 太网模组的电源电路以太网模组的电源电路如图4所示由一颗LD1117将接入的5V电源变换为3.3V为整个模组供电。图

4、4 以太网模组电源电路5 软件设计5.1 软件设计思想此设计中用户需要做的是实现一个能与PC端的浏览器通信,接受浏览器的页面请求并回传网页给浏览器显示的Web Server,同时,可以根据客户端发送的信息对家电进行控制。其整体框图如图5所示:图 5 系统软件模块层次关系 其各部分实现的功能为:DM9000驱动需要实现与以太网链路的数据交换;TCP/IP协议实现与PC端应用程序的平等交互; HTTP协议处理经过TCP/IP协议传输的PC端浏览器发过来的HTTP请求,并将网页数据通过TCP/IP协议送至PC端的浏览器显示;客户端请求处理部分是根据客户端提交HTTP请求选择回传页面,并实现对SPCE

5、061A的控制。5.2 功能模块设计5.2.1 TCP/IP协议unI是运行在凌阳公司nS系列单片机上的一个精简TCP/IP协议栈。协议栈的初始版本由LwIP移植而来,之所以不沿用LwIP的名字是因为移植工作不仅仅只是LwIP说明的arch目录下的改动,core部分也做了不少的修改以适应nSP的16bit的特性(nSP并不具有8bit的数据类型,地址也是以16bit为单位),因此 unIP与LwIP并不兼容,此外,增加了DNS Clien域名解析客户端)到协议栈中,以及部分应用实例,例如WEB SERVER等等,综合以上原因,给本协议栈重新命名为unIP,特指是运行于nSP系列单片机之上的网络

6、协议栈。unIP Stac从资源消耗来说是一个精简的协议栈,而协议栈的实现却是是非常的完整。表1所示就是本协议栈所具有的所有特性。表1 TCP/IP协议栈的特性特性unIP Stack多网络接口(ethernet,ship)支持ARPIP(不支持IP分片与重组)ICMP(包括 ECHO,和 destination unreach)UDP(包括 UDP Checksum 的计算)支持,可选 (已精简)TCP 选项(只支持最大报文段长度 MSS)TCP 滑动窗口TCP 慢启动、拥塞避免TCP 快速重传、快速恢复TCP 错序数据重组支持,可选TCP 紧急数据(urgent data)往返时间估计(R

7、TT)DHCP 客户端(可自动获取网络设置)支持,可选(已精简)DNS 客户端(可解析普通域名以及邮件地址 mx 记录)模式化以及非模式化缓冲区存管理动态内存管理原始 API(网络编程)目前,unIP是以库的形式提供给用户,通过对各个部分API的调用,即可编写自己的应用层协议。API总共7部分,包括网络接口层(netif 开头)、动态内存管理模块(mem开头)、缓冲区管理模块(pbuf)、UDP层(已精简)、TCP层、DHCP模块(已精简)和DNS模块。TCP/IP协议栈使得用户在设计嵌入式网络系统时无需处理以太网底层协议的数据包,而直接处理运输 层送给应用层的数据包即可。在本系统中,需要利用

8、unIP协议栈中提供的运输层TCP协议,建立应用层HTTP协议,以便完成Web服务器的功能。5.2.2基于TCP的服务器的实现HTTP协议是基于TCP协议的一个常见应用层协议。依靠unIP提供的TCP/IP协议的一些接口函数API,用户可以方便的实现这个应用层协议。使用unIP协议栈创建基于TCP协议的服务器的流程如下。 如图6所示是创建TCP服务器的主循环流程。首先初始化unIP协议栈,然后使用DM9000创建一个网络接口,添加至unIP协议栈内,并将其设置为unIP协议栈的默认网络接口。然后申请创建一个TCP协议控制块,并将其配置为监听本机80端口(Web服务的默认端口),同时设置好TCP

9、协议接受连接的回调函数。回调函数在这里是指用户将自己定义的函数的函数指针通过某种方式告诉协议栈,使得协议栈在适当的时候可以通过这个函数指针调用该函数,从而达到执行用户操作的目的。图6 主程序流程此后,程序在主循环中不断检测 DM9000是否有新的数据输入,并将接收到的数据包送至协议栈处理。处理过程是协议栈内部完成的,用户无需关心。当TCP的三次握手完成之后,协议栈会自动调用用户设置 好的接受连接回调函数,交由应用层处理连接建立后的事宜。协议栈对接收到的remote数据的处理流程如图7所示。这个流程的大部分是在unIP这个精简TCP/IP协议栈中实现的,只有红色的部分是用户直接接触的。图7 We

10、b Server协议栈处理流程用户需要注意的地方是其中几个关键的回调函数:http_accept():该函数执行客户端与服务器端三次握手之后服务器程序对该连接的确认工作。http_send():当服务器端发送的数据被 Remote 端确认,服务器收到确认信号之后就会调用该函数 以处理没有发送完毕的数据。即文件的续传发生在这里。http_recv():当服务器端接收到来自于 Remote 端的数据,会引发该函数的调用。http_poll():当某个连接长期处于空闲状态时,此函数将被协议栈调用。即所谓的超时处理。send_data():此函数用于服务器端向 remote 端发送数据。做为服务器,发

11、送数据一般都是在接收到客户端的请求之后根据需要才执行的。整个过程可以用图8所示的流程大致表示。图8 HTTP协议处理流程至此,一个基于TCP协议的服务器即被建立。它不断监听某个特定端口流入的数据,并对数据做出响应。在本系统中,以上回调函数均定义在 httpd.c文件中,用来处理客户端与Web服务器之间建立连接过程中发生的不同事件。5.2.3应用层处理HTTP协议是一个简单的应用层协议。客户进程建立一条同服务器进程的TCP连接,然后发出请求并读取服务器进程的响应。同时,HTTP协议是一种无状态的协议。即是说,当一个客户端向服务器端发出请求,然后Web服务器返回响应(response),连接就被关

12、闭了,在服务器端不保留连接的有关信息。HTTP 遵循请求(Request)/应答(Response)模型。Web浏览器向Web服务器发送请求,Web服务器处理请求并返回适当的应答。所有HTTP连接都被构造成一套请求和应答。在本系统中,当TCP层接收到客户端发送的请求数据,将自动调用http_recv函数,通知HTTP应用层处理。http_recv函数处理流程如图9所示。本系统中只对HTTP协议中的GET方法进行处理。其中,“客户端请求分析程序”主要完成对客户端发送的数据的分析,并获取网页数据用以回传给客户端。这部分也是实现家电控制的程序。程序从客户端的请求数据中的URL字符串中提取按钮信息,并

13、根据按钮的不同判断被控制的家电类型。代码如下:/上面省略URL分析程序 fs_open(/opt.html, &file); /打开网页文件,准备回传给客户端显示 retweb = Web_Init(&file,1); / tempstr += strlen(tempstr)+1;opt = StrToInt(tempstr); /将按钮名称转换为数字 switch (opt) case 10: /“空调打开”按钮 case 11: /“空调关闭”按钮 device = AIR; break;case 12: /“灯光打开”按钮 case 13: /“灯光关闭”按钮 device = LIGH

14、T;case 14: /“音乐打开”按钮 case 15: /“音乐关闭”按钮 device = MUSIC; PlaySnd(device, WAIT_OTHER_END); /播放家电名称 if (opt%2) oprate = (u16_t)s_close0; /“关闭”按钮 *P_IOB_Buffer &= (0x0001 device); /对应 IO 口输出低电平PlaySnd(CLOSE, WAIT_OTHER_END); /播放“已关闭” else oprate = (u16_t)s_open0; /“打开”按钮 *P_IOB_Buffer |= (0x0001 /对应 IO

15、口输出高电平 PlaySnd(OPEN, WAIT_OTHER_END); /播放“已打开” statusdevice = oprate;图9 HTTP应用层数据处理流程5.2.4 服务器端网页文件的制作对应于客户端向服务器发起的每一个请求,一般情况下服务器都会回传一个网页。这些网页是事先制作好,并转换为二进制形式存储在 SPCE061A 内部的 Flash 中的。制作方法如下: 首先使用Dreamweaver或者其他网页制作工具制作自己需要的首页index.html,以及控制页面opt.html, 如图10所示。图10 网页制作接着,打开以太网通讯模组网页转换工具(网络家电礼包CodeWeb

16、_ServerWebFile以太网通讯模组 网页转换工具.exe),点击“Add Files”按钮。如图11所示。图11 网页转换选择制作好的需要转换的网页文件(如果有图片,则一同选择),添加进转换列表,如图12所示。图12 添加网页到转换列表点击“Convert”按钮,为转换后的文件选择一个保存路径以及文件名(假设叫做 fsdata.c):图13 保存转换后的文件点击“保存”,程序将完成转换工作。关闭转换工具即可。将得到的 fsdata.c 文件拷贝至工程目录,然后修改 fs.c 文件中的代码:#include config.hfs.hfsdata.hAPP/fsdata_leejian.c

17、将这里修改为引用用户自行转换的文件将“#include “APP/fsdata_leejian.c”中的“APP/fsdata_leejian.c”修改为用户自己转换之后的文件名(如,fsdata.c)。重新Rebuild All工程,则网页文件被替换成用户自己制作的。需要注意的是,修改网页之后,用户还需要修改“客户端请求分析程序”,以配合网页实现对设备的控制。参 考 文 献1.张培仁,张志坚,高修峰,十六位单片机微处理器原理及应用(凌阳 SPCE061A)M ,北京,清华大学出版社,2005.42. The architecture and kernel technology of netw

18、ork household applianceM.2004.3. The Socket communication techenology and TCP/IP principle. M.2005. 4.周正,余萍.网页制作设计教程M ,北京:国防工业出版社,2002.5. Intelligent analyzing techenologyM,20086.张春峰,邹新杰,余张国.基于ATMEGA16 的智能控制器的开发研制J,微计算机信息,2007,23(8):123-124. 7.张震宇,王华.基于凌阳单片机的语音识别技术及应用J,微计算机信息,2007,8-2:23.8.李玉贤,欧阳斌林.

19、基于SPCE061A 单片机的语音识别系统的研究,优秀硕士学位论文库.9. 潘锋, 基于DM9000以太网控制器的网络家电控制系统J,微计算机信息,2007.910. 唐荣霞, 智能家居控制系统的设计与实现J,黑龙江信息,2009.The Design of Network Appliance System Based on SPCE061A MCU Wu XiaoYanAbstract:According to various advantages of the SPCE061,this paper chose SPCE061 as terrace of the design project to design internet appliance.Using a D9000 ethernet network to finish a Web server.This design has a controlled function.Key words: SPCE061A;ethernet network;Web server,;TCP/IP Agreement; DM9000 function module design

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1