基于以太网藏文信息家电平台的详细设计说明书.doc_第1页
基于以太网藏文信息家电平台的详细设计说明书.doc_第2页
基于以太网藏文信息家电平台的详细设计说明书.doc_第3页
基于以太网藏文信息家电平台的详细设计说明书.doc_第4页
基于以太网藏文信息家电平台的详细设计说明书.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

an_spmc75_0101 基于以太网藏文信息家电控制平台 详细设计说明书 detailed design specification 编号: 版本: 详细设计说明书 http:/www.sunplusmcu.com2 v1.0 2004/01/27 修订记录日期版本编写及修订者编写及修订说明2009-7-29v1.0范培锋、张西平 西藏大学信息技术实验教学示范中心-大学生创新实验室 目 录修订记录11 项目需求分析32 硬件电路设计42.1 硬件框图42.2 硬件电路原理图42.2.1 主控板介绍及电路图42.2.2 以太网模块介绍及电路62.2.3 外接电器控制电路72.2.4 电源和电压转换电路83 软件设计93.1 软件部分的需求分析93.2 unip协议栈简介103.3 基于tcp的服务器实现113.4 藏语网页文件的制作143.5 http应用层处理164测试部分184.1 灯泡的使用情况194.2 空调的使用情况204.3 音乐的使用情况204.4 所有设备一起使用的情况211 项目需求分析随着 it 技术,特别是网络技术的发展,使得数字化、网络化和信息化已经成为21 世纪的重要特征,一个以网络为核心的信息时代已悄然到来。网络带来的方便与快捷使得人们对生活环境提出了更高的要求,这也使得“智能住宅”、“家庭自动化”等技术人们的关注。尽管目前从事网络家电控制方面研究的人员比较多,但从商业利润出发很少有人在少数民族语言出发从事该方面的研究,本方案就是以凌阳公司生产的单片机spce061a和dm9000以太网控制芯片为控制平台,基于藏语网页信息而设计的一个网络家电终端设备,目的是为了使拥有百万人口的广大藏族同胞能够享受互联网所带来的方便与快捷,使得他们在工作的同时还可以轻松实现对家电的控制。项目要求: 所制作的终端设备能够和网络相互通信; 所制作的网页要以藏文的形式呈现给用户; 对终端设备的操作要简单明了; 在供电方面要采用交流220v供电; 在操作提示方面要有指示灯和藏语语音播报; 网页方面要设置登录密码,同时能够监控到家电的状态;2 硬件电路设计2.1 硬件框图根据各功能的需求,其硬件组成框图如图1-1所示:主要由spce061a主控板、以太网控制模块、电源电路、外接电器控制电路、扬声器组成。其中,以太网模块采用的是凌阳公司的模组,通过spce061a来直接控制,从而完成相应数据包的收发和解析,解析完成以后有spce061a向外接电器控制电路、扬声器以及指示灯模块发出操作指令,完成对家电的控制。 图2-1 硬件组成框图2.2 硬件电路原理图2.2.1 主控板介绍及电路图1. 主控板简单介绍spce061a 是凌阳科技研发生产的性价比很高的一款十六位单片机,使用它可以非常方便灵活的实现语音的录放系统,该芯片拥有 8 路 10 位精度的 adc,其中一路为音频转换通道,并且内置有自动增益电路。这为实现语音录入提供了方便的硬件条件。两路 10 精度的 dac,只需要外接功放(spy0030a)即可完成语音的播放。另外凌阳十六位单片机具有易学易用的效率较高的一套指令系统和集成开发环境。在此环境中,支持标准 c语言,可以实现 c 语言与凌阳汇编语言的互相调用,并且,提供了语音录放的库函数,只要了解库函数的使用,就会很容易完成语音录放,这些都为软件开发提供了方便的条件: 特性: l 16 位unsp微处理器; l 工作电压:内核工作电压vdd为3.3-3.6v(cpu),io口工作电压vddh为vdd-5.5v(i/o); l cpu时钟:0.32mhz-49.152mhz; l 内置 32k字flash; l 可编程音频处理; l 32 位通用可编程输入/输出端口; l 14 个中断源可来自定时器a/b,时基,2 个外部时钟源输入,键唤醒; l 使用凌阳音频编码 sacm_s240 方式(2.4k位/秒),能容纳 210 秒的语音数据; l 锁相环 pll 振荡器提供系统时钟信号; 2. spce061a的电路图 图2-2-1 spce061a电路2.2.2 以太网模块介绍及电路1. 以太网模块简单介绍以太网模块是一款以 dm9000 为核心芯片的以太网数据包收发控制模块,该模块与控制器配合,除可以完成以太网数据包收发之外,还具有 4mbit 的串行 flash 存储器 spr4096,可以为用户提供一个较大容量的存储空间。 在网络中它可自动获得同设定 mac 地址一致的 ip包,完成 ip包的收发。在本方案中spce061a单片机做为主控制器,用以控制 dm9000 完成以太网数据包收发以及tcp/ip 协议实现。其特性如下:u 产品型号:dm board v1.2;u 模组工作电压:5v;u 和cu连接模式有isa 8bit/isa 16bit模式,并支持3.3v和5v的i/o控制; u 支持多种连接模式电端口支持10m half/10m full/100m half/100m full/auto(n-way); u 支持 eeprom(93c46),可供存放系统所需信息; u 有 4mbit 串行数据存储器及其接口;2. 以太网结构模块结构框图 图 2-2-2.1 以太网模块结构图各部分的说明如表1所示adm9000hrj-45插座b25m晶振i连接状态指示灯cspr4096jdm9000数据端口d控制跳线(jp4、jp5)kspr4096操作端口e电源输入口ldm9000端口f电源输出口n5v-3.3v变压器g10m/100m滤波器3. 以太网模块电路图 图 2-2-2.2 以太网模块电路图2.2.3 外接电器控制电路外界电器控制电路是实现单片机到电器控制的主体,单片机通过处理网页得到用户的操作指令,将指令转化为电信号通过单片机的io口送给外界电器控制电路,经过三极管的两级放大,从而通过继电器来完成外界电器与交流220v电源的接通和断开以及指示灯的电量和熄灭等操作。其电路如图所示: 图2-2-3.1 外接电器控制电路2.2.4 电源和电压转换电路 该部分的功能是将交流220v通过变压器转换成直流12v给外界电器控制电路供电,同时在通过三段集成稳压器7805将直流12v转换成直流5v,分别给spce061a主控板、以太网模块供电。从而使用户用最常用的电源即可实现对该设备的供电。其电路如图所示: 图2-2-4 电源及电压转换电路3 软件设计3.1 软件部分的需求分析本项目的设计是为了使拥有百万人口的广大藏族同胞享受互联网所带来的方便与快捷,这就要求在藏语网页和语音方面必须将藏语运用到网页制作和语音软件模块中,同时涉及网络我们在软件设计过程中不可避免的要通过软件将各种协议统一起来,并对相应的网页指令做相应的解析和处理。由于是电子设备在设计过程中就应该像其他电子设备一样做好相关的操作提示等,这些都需软件设计者在设计的过程中将其统一考虑。综上可知在软件方面应做以下方面的设计:n 网页设计部分;n 客户端请求处理;n 外界家电控制;n http协议;n tcp/ip协议;n dm9000驱动; 由于本方案采用的是凌阳公司的单片机和以太网模块,而凌阳公司已经将tcp/ip协议做成了相应的库函数放在unip协议栈中,在使用时只需调用相应的api即可完成网络接口层的功能(建立、配置、修改网络接口)、动态分配和释放内存区域、数据包的封装处理、客户端与服务端的应用程序、应用层的程序、spce061a和网络数据流的转换。而dm9000驱动凌阳公司为了方便用户已经将其写好。因此软件部分只需完成前四部分,再调用相关函数即可完成。各软件部分的相互联系如图所示: 图3-1 系统软件模块层次关系u dm9000驱动需要实现与以太网链路的数据交换;u tcp/ip协议实现与pc应用程序的平等交互;u http 协议处理经过 tcp/ip 协议传输的pc浏览器发过来的http 请求,并将网页数据通过tcp/ip 协议送至pc端的浏览器显示; u 客户端请求处理部分是根据客户端提交的http请求选择回传页面,并实现对spce061a的控制; 3.2 unip协议栈简介unip是运行在凌阳公司 unsp系列单片机上的一个精简tcp/ip协议栈。协议栈的初始版本由 lwip 移植而来,它不仅仅只是 lwip 说明的 arch 目录下的改动,core分也做了不少的修改以适应 unsp 的16bit的特性( nsp 并不具有8bit的数据类型,地址也是以16bit为单位),因此 unip与lwip 并不兼容,此外,增加了 dns client 域名解析客户端)到协议栈中,以及分应用实例,例如 web server 等,它保持了协议栈的完整性。以下表中就是该协议栈的一些特性:特性unip stack多网络接口(ethernet,slip)支持arp支持ip(不支持ip分片与重组)支持icmp(包括echo、和destination unreach)支持udp(包括udp checksum的计算)支持,可选(已精简)tcp选项(只支持最大报文段长度mss)支持tcp滑动窗口支持tcp 慢启动、拥塞避免支持tcp快速重传、快速恢复支持tcp错需数据重组支持,可选tcp紧急数据支持往返时间估计(rtt)支持dhcp客户端(可自动获取网络设置)支持,可选(已精简)dns客户端(解析普通域名和邮件地址记录)支持,可选模式化和非模式化缓冲区存管理支持动态内存管理支持原始api(网络编程) 支持在本方案中需要利用unip 协议栈中提供的运输层 tcp 协议,建立应用层http协议,以便完成 web 服务器,使得网页和服务器的数据能够相互通信。3.3 基于tcp的服务器实现http协议是一个常见应用层协议,它是基于tcp协议的。在本方案中通过unip提供的tcp/ip协议的一些接口函数api来实现这个应用层协议。整个服务器实现的具体的思路为:先初始化 unip 协议栈,然后使用 dm9000 创建一个网络接口,添加至 unip 协议栈内,并将其设置为 unip 协议栈的默认网络接口。然后申请创建一个 tcp协议控制块,并将其配置为监听 80 端口(web 服务的默认端口),同时设置好 tcp协议接受连接的回调函数(指用户将自己定义的函数的函数指针通过某种方式告诉协议栈,使得协议栈在适当的时候可以通过这个函数指针调用该函数,从而达到执行用户操作的目的)。基于 tcp协议的服务器的流程如下: 图3-3.1 主程序流程框图此后,程序在主循环中不断检测 dm9000 是否有新的数据输入,并将接收到的数据包送至协议栈处理。当 tcp的三次握手完成之后,协议栈会自动调用用户设置好的接受连接回调函数,交由应用层处理连接建立后的事宜。协议栈对远端数据的处理流程如下图所示,由于unip协议栈已将该流程中的大部分的程序在协实现,我们只需将相应的回调函数用软件实现即可。图3-3.2 协议栈处理流程框图程序中用到的回调函数说明:u http_accept():该函数执行客户端与服务器端三次握手之后服务器程序对该连接的确认工作。 u http_send():当服务器端发送的数据被 remote 端确认,服务器收到确认信号之后就会调用该函数以处理没有发送完毕的数据。即,文件的续传发生在这里。 u http_recv():当服务器端接收到来自于 remote 端的数据,会引发该函数的调用。u http_poll():当某个连接长期处于空闲状态时,此函数将被协议栈调用。即所谓的超时处理。 u send_data():此函数用于服务器端向 remote 端发送数据。做为服务器,发送数据一般都是在接收到客户端的请求之后根据需要才执行的。http协议处理流程图如下: 图3-3.3 http协议处理流程框图以上三部分合起来即完成了一个基于tcp协议的web服务器.3.4 藏语网页文件的制作藏语网页文件制作所用的软件是由macromedia公司的dreamweaver mx2004.藏语网页制作有两种方案:一种使用图片的形式来处理藏文的,一种是以标准藏文国际编码(utf-8)来处理藏文的,第一种方案的优点是所有的操作系统都可以打开所做的藏文网页,缺点处理过程相对繁琐;第二种方案采用国际藏文编码,网页制作简单,其缺点是所做的网页必须在装有藏文字库的系统上显示。在本方案中我们所做的网页需要通过网页转换工具将相应的网页数据存储到单片机中。由于该网页转换工具无法保存图片信息,故我们只能选择方案二。制作好的藏文网页如下图所示: 图3-4.1 登陆界面 监控界面在本方案中以三种电器(空调、灯、音乐)为例设计的,电器的操作设计是通过按钮来控制,电器状态的监控是通过游走的表显示的,当没有对电器进行操作时电器的状态默认的是“c”(关闭),当电器被打开后状态栏的状态是“o”(打开),由于凌阳公司的ide不支持藏语,动态网页程序中要返回的信息用“c”和“o”来表示设备的打开与关闭,网页如下图所示:图3-4.2 状态监控界面 图3-4.3 密码错误提示界面1 图3-4.4 密码错误提示界面2 制作好的藏语网页文件经过“netpagetoc”网页转换工具将网页数据转换成c文件添加到相应的工程位置中。从而完成网页数据在spce061a与以太网模块所构成的服务器中的存储。3.5 http应用层处理 http协议是一个简单的应用层协议。客户进程建立一条同服务器进程的 tcp连接,然后发出请求并读取服务器进程的响应。同时,http 协议是一种无状态的协议。即是说,当一个客户端向服务器端发出请求,然后 web 服务器返回响应(response),连接就被关闭了,在服务器端不保留连接的有关信息。http遵循请求(request)/应答(response)模型。web 浏览器向 web 服务器发送请求,web 服务器处理请求并返回适当的应答。所有 http连接都被构造成一套请求和应答。 客户端首先向服务器发起 tcp连接请求,服务器端接受这个请求后,客户端和服务器端即建立起一条通信管道。此时,客户端使用 tcp 协议向服务器端发送请求报文。请求方式一般 get 和 post 两种方法,本系统采用的get 方法,即向服务器发送包含一些小量数据的表单数据,这些数据被包含在提交的 url 中。例如提交的为: 即浏览器向服务器提交了包含有一个“11”域和一个“submit”域的表单的请求(实际上,是一个叫做11 的按钮和一个叫做 submit 的按钮)。在本方案中表示网页的操作是关闭空调。当tcp层接收到客户端发送的请求数据,将自动调用 http_recv 函数,通知 http 应用层处理。http_recv 函数的流程图如下:图3-5 http应用层数据处理流程 客户端请求分析是根据url中的特殊字符解析出网页端进行了何种操作,根据操作需要做以下三方面的工作:l 确定家电名称、对应操作和回传的网络数据;l 确定家电控制信号的输出(io口的);l 播放相应的藏语语音和点亮led;4测试部分设置好ip地址,然后在网页浏览器中输入20,进入到家电登陆界面,输入密码“123456”,即可进入控制界面,然后对相应的家电进行操作测试。 图4-1 登陆界面图4-2 家电控制界面如果输入的密码错误,网页会给出相应的提示。 图4-3 密码错误提示界

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论