




已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第四届“Motorola 杯”嵌入式处理器设计应用大奖赛参赛作品 网络化智能家居系统网络化智能家居系统网络化智能家居系统网络化智能家居系统 Smart Home Network System 标题网络化智能家居系统日期2002-10 比赛编号A11356 姓名罗 嘉(中文) Luo Jia (英文) 单位北京市清华大学工程物理系单位电通讯地址北京市清华大学工程物理系 210B邮编100084 电子邮箱luojia physics 电话- I - 目 录 目目 录录.I 一、引一、引 言言 .1 二、设计概述二、设计概述 .3 2.1 以太网网关终端.3 2.1.1 背景信息.3 2.1.2 设计目标.3 2.1.3功能特性.4 2.2 智能灯光控制器.4 2.2.1 背景信息.4 2.2.2 设计目标.5 2.2.3功能特性.5 三、硬件描述三、硬件描述 .6 3.2 以太网网关终端.7 3.2.1 硬件框图.7 3.2.2 电路原理图.8 3.3 智能灯光控制器.9 3.3.1 硬件框图.9 四、软件描述四、软件描述 .10 4.1 启动代码(BOOT CODE) .11 4.2 TCP/IP 协议栈设计 .13 4.2.1 现有的8-bit MCU连接网络的方案比较.13 4.2.2 现有的嵌入式TCP/IP协议栈的比较.13 4.2.3 TCP/IP原理简述.14 五、功能展示五、功能展示 .19 六、参考文献六、参考文献 .21 七、致谢七、致谢 .21 - 1 - 一、引 言 想象一下:您准备欣赏电视节目,在您说“看电视,新闻联播。 ”这句话的 时候,电视打开了,频道调整到中央一台,窗帘拉上了,房间的光线逐渐调整 到最适宜看电视的程度或者,在您回家的路上,自动为您提前打开空调, 调整室内温度到合适程度,接通通风装置;调节好室内的光线;把您预先准备 好的食物用微波炉加热。这样,您一回来就可以享受到清新的空气、舒适的环 境,或许还有一杯热茶 这看起来就想科幻影片里描写的一样。可是,事实上这样的生活已经近在 咫尺。随着 IT 产业的发展和人们生活水平的提高, “智能住宅” 、 “家庭自动化” 等技术的发展正受到人们的密切关注,相关产品也在逐渐成熟。 基于 Motorola 多元化的 DigitalDNATM技术,我们开发出应用于家庭的一系 列智能化网络控制系统,已经在近千家住户中实际使用,这些充满智慧与灵感 的模块使得人们的生活更加轻松写意。 网络化的智能家居系统网络化的智能家居系统由智能家庭总线以及总线上挂接的多种功能模块(节 点)构成。在一个对等型的网络上众多节点可以交换数据和相互控制,通过专门 开发的 ECHome Pro 软件,可以设定各节点之间的逻辑关联和工作模式。 图 1 网络化智能家居系统的节点构成 在解决智能住宅中的设备互联问题时,采用了分布式网络控制系统这一方 案,它非常适合众多的嵌入式智能设备发挥网络化的特点,更容易扩充和维护。 家庭总线 电话线路 灯光控制器 电视机 水/电/煤气表 录像机 DVD 电动窗帘 以太网网关终端 INTERNET 空调 红外线 传感器接入 智能电话控制器 光照传感器 温度传感器 安防传感器 网络微波炉 红外家电控制器 中央空调控制器 门禁控制器 日程管理模块 智能网络开关 电源开关控制器 手持遥控器 - 2 - 由于采用了对等网、单一总线方式,使得系统的布线简洁、安装方便。所 有的终端设备可随时接入总线或脱离总线; 作为一套成本敏感的消费电子产品,应以提供实用化功能为原则,将其控 制在合理的价格范围。每个网络节点根据不同的功能需求,选择 MC68HC08 系列的某一款微控制器。例如,在“以太网网关终端”和“智能灯光控制器” 中,采用了 MC68HC908SR12;而在“红外家电控制器” 、 “智能电话控制器” 等资源要求相对较多的节点,采用 MC68HC908GP32 作为核心。 本论文将选择最具有代表性的两个节点的设计情况进行深入介绍: 以太网网关终端(以太网网关终端(ESWeb) 该网关终端一端连接在小区的以太网上,另一端 连接在家庭内的控制总线上。它可以提供三表传送、 安防报警、紧急求助、网络远程控制等功能。该终端 采用 MC68HC908SR12 设计,实现了 TCP/IP 协议栈 及 Web Server。 智能灯光控制器(智能灯光控制器(ESLight) 它是智能网络上一个典型的节点。具有轻触 式调光控制、网络场景控制、红外遥控、预设存 储等丰富功能。通过面板上的轻触按钮,可以控 制灯光的开关和亮度,或者使多盏灯光进入某种 预设的场景;也可以通过手持遥控器来控制住宅 内所有的灯光。通过遥控器上的场景设置按键, 可以方便地设定灯光场景和迅速切换。 - 3 - 二、设计概述 在网络智能家居系统中,具有代表性的两个节点是“以太网网关终端”和 “智能灯光控制器” 。如下图所示,通过智能灯光控制器,可以对各盏灯光进行 直接控制;通过以太网网络终端,可以实现对灯光亮度的远程控制和查询。 图 2 简单的控制网络框图 下面将分别介绍它们的设计方案。 2.1 以太网网关终端以太网网关终端 2.1.1 背景信息背景信息 随着互联网技术的发展,宽带网络在全国范围内迅速发展。许多新建住宅 小区都将以太网铺设到了用户家庭,使得整个小区的居民通过以太网实现宽带 上网成为可能。 同时,随着社区服务的完善,智能小区需要通过一个安装在每个家庭的终 端设备实现信息发布、物业管理、三表传送、紧急求助等功能。以往,这样的 信息终端和社区服务中心通过铺设专线,如 485 总线来进行连接,工程量大, 故障率高,且由于只能采取主机轮循方式而效率较低。如果能够利用已经铺设 到用户家庭的、现成的、稳定的以太网络组建社区综合服务体系是一项非常有 意义的事情。而目前基于以太网的信息终端通常采用 32-bit 的微处理器和 Windows CE 等通用操作系统,这种结构开发周期短、功能强、信息交换速率 高、但致命的缺点是成本太高,这也是一直在国内无法推广的主要问题。 因此,向智能小区的每个住宅提供一个基于 8 位 MCU 连接 Ethernet 的低 成本信息终端,不仅具有实用价值,而且市场前景也相当广阔。 家庭总线 ESBus 以太网 智能灯光控制器 (00 3A) 智能灯光控制器 (00 4C) 以太网网络终端 - 4 - 2.1.2 设计目标设计目标 在本方案中,设计了一台家庭信息终端,安装在智能小区的每个家庭中, 提供三表传送、安防报警、紧急求助、网络远程控制等功能。它是相对独立的 智能测控设备,可以直接与小区的以太网相连接。 作为一个成本敏感的消费电子产品,应以提供实用化功能为原则,将其控 制在一个适当合理的价格范围。在此应用中,信息终端对数据交换的速率要求 并不高(如 1Mb/s 以下) ,所以可采用价格低廉的高速 MCU,写入 TCP/IP 协 议,从而将整个终端的成本降到 100-200 元人民币。 经过分析,我们选择了 MC68HC908SR12 作为设计核心,并利用 10M 以 太网芯片 RTL8019AS 建立 Ethernet 网络连接。 在软件设计方面的重点是实现 TCP/IP 协议栈,由于 RAM 和 FLASH 空间 的限制,必需设计出相当精炼的网络连接协议栈,同时又需要保证其可靠性。 基于 IP 的设计使它能通过一个开放的网络平台相互通讯。 68HC908 是具备 FLASH 在线编程能力的 MCU,为了满足调试、升级的需 要,我们设计了利用以太网进行在线程序升级的代码,使得信息终端可以通过 下载新的应用程序来获得更丰富的功能。 由于信息终端是一台嵌入式 WWW 服务器,使得用户在世界任何地方随时 可以上网通过 WWW 浏览器了解家中情况并简单控制家中电器,进行设防/撤 防;真正让用户每天都能感受到家庭智能化的强大魅力。 2.1.3 功能特性功能特性 1.MCU 采用 Motorola 的 MC68HC908SR12(7.4MHz Bus Frequency,512byte RAM,12KB FLASH) ; 2.10M Ethernet 采用 RTL8019AS 以太网芯片; 3.软件上实现协议:ARP, ICMP, TFTP, UDP, TCP, IP, TELNET, HTTP, CGI 等; 4.网络类型:Ethernet 通讯介质:UTP(非屏蔽双绞线) ; 5.网络带宽:10Mbit,由于处理器限制,实际只能达到 50Kbit/s 左右的 传输速率; 6.输入: 4 路光电隔离,可以配接传感器,紧急求助按钮等; 7.输出: 4 路光电隔离输出,可配接功率驱动模块; 8.键盘:16 键,功能:智能终端配置、设防/撤防等; 实际上,在 68HC908 系列 MCU 上实现了 TCP/IP 协议栈之后,其应用领 域是相当广泛的: 1.网络化控制:电机、灯光、工业自动化、家庭自动化 2.网络仪表:远程分布式数据采集 3.网络家电:智能家电、WWW 方式监控界面、在线更新 4.网络摄像机:在远程浏览器上可以进行视频监控; 5.家庭网关:非 INTERNET 协议的轻量级设备联网的转换器; - 5 - 2.2 智能灯光控制器智能灯光控制器 2.2.1 背景信息背景信息 随着人们生活质量的提高,灯具已不单纯是实现室内基本照明的工具,而 且是建筑装饰的一种实用艺术品。当家里有各式各样的灯具之后,将它们精心 地搭配在一起,并且达到最适合气氛的效果是高品质生活的需要。同时目前灯 光的控制主要还是手动形式,逐个地去控制所有的灯具,这样不仅麻烦而且效 率低下,也不符合现代舒适生活的标准。 因此,一个可以对灯光进行方便的控制,同时提供场景组合等功能的智能 化灯光系统不仅具有实用价值,而且市场前景也相当广阔。 2.2.2 设计目标设计目标 设计一个智能化灯光控制器,安装在家中的各个房间,提供轻触式灯光控轻触式灯光控 制、红外遥控、场景组合、预设存储制、红外遥控、场景组合、预设存储等丰富功能。通过面板上的轻触按钮,可 以控制灯光的开关和亮度,或者使多盏灯光进入某种预设的场景;也可以通过 手持遥控器来控制住宅内所有的灯光。通过遥控器上的场景设置按键,可以方 便地设定灯光场景和迅速切换。 系统分为接收外来控制信号和执行控制操作两部分。为了接收控制信号, 系统需具备红外接收功能,按键输入面板。为了对灯具执行控制,需要设计 220V 调光控制电路。 利用 MC68HC908SR12 的 FLASH 在线刷新(ISP)能力,我们设计了一套可 重用的内核(包含 BIOS 与 OS) ,通过与内核的交互可以方便地在线下载应用 层的程序。 应用层的程序包括以下功能:开关面板按键输入判断、红外遥控器接收、 预设场景存储、调光可控硅控制。 由于 MC68HC908SR12 具有丰富的外围接口资源,并有着很高的可靠性和 运算速度,非常适合于该款产品的设计。 2.2.3 功能特性功能特性 1.MCU 采用 Motorola 的 MC68HC908SR12; 2.RS485 总线型网络,通讯波特率 19200; 3.输入:轻触按键,红外遥控器。 4.输出:开关输出,调光输出; 5.采用简单的实时多任务内核; 6.网络化的开关按钮控制,可以通过 Windows 版本软件任意设定; 7.多种场景的设置,存储,及执行。 - 6 - 三、硬件描述 整个系统的核心由 MC68HC908SR12 构成。它的内部框图如图 3 所示: 图 3 MC68HC908SR12 内部框图 对于以太网网关终端(ESWeb)和智能灯光控制器(ESLight)的设计, 选择 MC68HC908SR12 作为核心处理器是基于以下理由: 1. 较低的成本:较低的成本:由于是家用设备,对成本非常敏感;而 SR12 不到$2.5 美 金的价格,单芯片的解决方案,使得整体成本可以降低; 2. 适用的功能:适用的功能:通过 ESWeb 实现基于 Web 浏览器的网络远程控制界面 相对简单,用高端处理器或者 PC 来实现显得不够经济;我们编写的 TCP/IP 协议栈约占用 7KB FLASH 和 380 Bytes RAM,SR12 完全可以 满足这一需求并有富余。此外,高达 8MHz 的总线频率使得它和其他 MCU 相比具有较强的处理能力,经过实测,在以太网上传输 HTML 页 面并没有感到特别的延迟;对于 ESLight 来说,需要 10KB12KB 的 - 7 - 空间来存储代码和配置信息,SR12 恰好能满足这一需求。 3. 在线升级能力:在线升级能力:对于 ESWeb,由于每个家庭的设备情况不一样,要能 根据实际情况形成不同的网页控制页面;而 MC68HC908 系列的芯片均 支持 FLASH 的在线编程能力,我们设计了一套运行在 Windows 环境的 配置软件,可以根据每个家庭的情况定制不同的 HTML 页面下载到 SR12 芯片上;对于 ESLight,可以在线下载关联定义、场景配置、遥 控器接收定义等信息,这些信息可以在掉电后存储。 4.足够的器件资源:足够的器件资源:SR12 具有多达 31 个 GPIO,可以很方便地和以太网 控制器 RTL8019AS 相连接;剩余接口可以用来扩展传感器、键盘、功 率输出等接口;内置的温度传感器和 10-bit AD 转换器可以用来采集温 度和模拟量数据;通过时钟单元的输入捕获功能,还可以实现对水、电、 气三表的脉冲输出采集。在 ESLight 的设计中,由于需要对可控硅进行 控制,一方面,需要精确地获取 220V 交流电中的过零信息,另一方面, 也需要通过定时器控制可控硅的开关时间,SR12 的两个 IRQ 以及两个 定时器能很好地满足两路调光控制器的设计要求。 5. 安全可靠:安全可靠:系统要有非常高的可靠性,不易出现误动作,例如,在灯光 系统中,由于和 220V 交流电距离很近,不能受到交流电的影响。由于 MC68HC908 系列的芯片在稳定性和抗干扰能力方面表现不俗,所以能 极好地满足这一要求。 接下来,将分别描述两个节点的硬件设计细节。 3.2 以太网网关终端以太网网关终端 3.2.1 硬件框图硬件框图 MCU MC68HC908SR12 PLL (32.768KHz) D(7.0) A(2.0) Ethernet RTL8019AS 20MHz IOR IOW Isolation Transformer RJ45 Connector LED: Power, Link, LAN KeyPad(16Keys) Control Network MAX487 Digital/Analog Input For sensors status EEPROM 24LC256 RJ11 Connector SCI GPIO I2C GPIO LED AD DC 5V Power Supply - 8 - 图 4 信息终端模块硬件系统框图 硬件由以下几部分组成: 1. 单片机及其外围器件单片机及其外围器件,主要是:MC68HC908SR12、PLL(32.768KHz 晶 体等) 、LED 指示灯; 2. 以太网控制器部分以太网控制器部分,主要是 RTL8019AS、耦合变压器、RJ45 插座、 20MHz 晶体; 3. 外置存储器外置存储器,由一片 I2C 接口的 EEPROM 构成。通过 SR12 内置的 I2C 接口连接; 4. 家庭控制网络连接部分家庭控制网络连接部分,由 MAXIM 公司的 MAX487、RJ11 插座构成。 5. 外部接口外部接口,16 键按键键盘、4 路模拟量输入、4 路数字量输入、2 路脉 冲量输入; 6. 电源部分电源部分,由一片 7805 提供 5V 的直流电压。 3.2.2 电路原理图电路原理图 - 9 - 图 5 RTL8019AS 部分电路 - 10 - 图 6 RS485 电平转换部分的电路图 3.3 智能灯光控制器智能灯光控制器 3.3.1 硬件框图硬件框图 图 7 智能灯光控制器的原理框图 硬件由以下几部分组成: 1. 单片机及其外围器件单片机及其外围器件,主要是:MC68HC908SR12、PLL(32.768KHz 晶 体等) 、LED 指示灯、蜂鸣器; 2. 按键输入接口按键输入接口,在面板上,提供 6 键的按钮,作为调光控制或场景控制; 3. 红外遥控接口,红外遥控接口,在面板上有一个红外遥控器接收窗口,可以实现红外遥 控信号的接收; 4. 调光驱动部分调光驱动部分,使用两片可控硅(SCR,Silicon-Controlled Rectifier,又 称硅控整流器)进行调光控制。通过一片光藕(MOC3021) ,从 220V 交流电上取出过零点信号作为同步,过零信号表现为一个低电平脉冲, 连接到 SR12 的 IRQ1、2 上作为中断输入; 5. 家庭控制网络连接部分家庭控制网络连接部分,由 MAXIM 公司的 MAX487、RJ11 插座构成。 6. 电源部分电源部分,由控制总线可提供 12V 直流电压,由一片 7805 提供 5V 的 直流电压。 四、软件描述 我们用汇编语言实现了一段启动代码(Boot Code) ,而全部的应用程序则 采用 C 语言编程,编译环境为 Hiware C。 以太网网关终端的软件框图如下: MCU MC68HC908SR12 PLL (32.768KHz) LED, Beeper Power, Indicate TTL-RS485 Converter RJ11 Connector 6 Key Input Infrared Input Dimmer SCR DC 5V Power Supply - 11 - 图 8 以太网网关终端的软件框图 智能灯光控制器的软件框图如下: MC68HC908SR12MC68HC908SR12MC68HC908SR12 ARP ETHERNET RTL8019AS IP TCPUDP HTTP Applications 键盘采集 模拟量采集 CGI 处理模块 EEPROM 读写 RS485 通讯控制 MAX487 ESBus 控制总线链路层 控制总线通讯接口 CEBus 应用层协议栈 MC68HC908SR12MC68HC908SR12MC68HC908SR12 Applications 按键输入支持 红外输入支持 BOOT Code 交流电过零采集 可控硅驱动 - 12 - 图 9 智能灯光控制器软件框图 4.1 启动代码(启动代码(Boot Code) Motorola 的 MC68HC908SR12 是片内集成 FLASH 的 8 位单片机, FLASH 擦写速度快,可靠性高,可独立擦写至少 1 万次以上,所以在需周期修 改存储的数据和代码的场合,都是理想的选择。同时,表贴工艺(SMD)因其 使相同集成度的器件封装性能更好、尺寸更小等优点,越来越得到推广。但是 这也给嵌入式系统的开发带来了新的问题:表贴的芯片一旦焊接到 PCB 板上, 就很难再取下来,如果事先写入的程序错误或者丢失,则会给修改或恢复带来 诸多的麻烦。 在本项目中,包括 SR12 在内的大部分器件选择了贴片形式的,因此需要 实现程序的在系统编程。如果通过 Monitor 方式在线编程,那么需要在 PCB 板 设计时预留相应的管腿和跳线。但在本设计中由于体积限制无法预留。因此, 我们采用了固定 BOOT 代码的方式。BOOT 代码的工作流程如图 10 所示。 我们将烧写了 BOOT 代码的芯片直接焊接到目标板上,通过串口通讯就可 以随时更新目标板上的程序,无需设置任何跳线,非常方便。Boot 代码约为 1.5K,如果去掉其中的 CRC 校验计算部分,改为 Checksum 校验和,代码将 更简洁。 BOOT Code 提供在线擦写上层程序功能 RS485 总线 OS 实时多任务内核 系统调用支持应用层更新模块 网络协议支持 输入输出关联支持,场景支持 - 13 - 上电初始化上电初始化 (Config 寄存器;PLL;串口通讯) 启动延时启动延时 延时是否够延时是否够 3 秒秒? 串口是否接收到升级串口是否接收到升级 FALSH 代码段的请求?代码段的请求? 反馈确认信息 接收数据 FLASH 编程/校验 反馈校验数据 跳转到正常程序代码跳转到正常程序代码 (main) 升级是否完成? Yes Yes No No 图 10 BOOT 代码工作流程图 有了 Boot 代码,调试的过程为: 1. 通过串口连接目标板; 2. 编译程序,生成 SX 格式文件; 3. 复位目标板,在 3 秒钟的延时时间内,通过自行编写的 DLS19 工具, 将 S19 格式文件下载到目标板上; 4. 程序将自动按照正常工作状态开始执行。此时,可以通过串口打印信息, 在 DLS19 工具中进行调试。 - 14 - 4.2 TCP/IP 协议栈设计协议栈设计 4.2.1 现有的现有的 8-bit MCU 连接网络的方案比较连接网络的方案比较 利用 8 位 MCU 通过精简的 TCP/IP 协议栈来连接以太网,现在已有的方案 的如表格 1 所示。 表格 1 常见的 MCU 连接网络的方案比较 方案方案采用的处理采用的处理 器器 内存需内存需 求求 代码代码 尺寸尺寸 所实现的所实现的 协议栈协议栈 物理层物理层特点特点/评价评价 AN2120HC908GP32384Byte6KBSLIP/PPP/ UDP/IP Serial不能连接以太网 8052.lphard.c z 805132KByt e 15KBTCP/IP/U DP Ethernet协议栈用 ASM 编 写且以 LIB 形式发 布,不利于移植 TCP/IP lean Server PIC500Byte10KBPPP/TCP/ IP/UDP Serial只有 SLIP、代码过 于简化 MSP430MSP4301KByte5KBTCP/UDP/ IP Ethernet代码过于简化 Adu0812Adu08121KByte5KBTCP/UDP/ IP Ethernet参考 Tiny TCP 设 计 ScenixScenix MCUTCP/IPEthernet使用高速单片机 RabbitRabbit MCUTCP/IPEthernet使用高速单片机 可见,目前尚无运行在 Motorola 8-bit MCU 上的具备以太网连接功能、支 持 TCP/IP 协议的解决方案。因此,在本项目中,希望能够在 Motorola 典型的 8 位单片机 MC68HC908SR12 上做到以太网协议栈的支持。 4.2.2 现有的嵌入式现有的嵌入式 TCP/IP 协议栈的比较协议栈的比较 TCP/IP 最先是在 UNIX 系统里实现的,后来的 LINUX、DOS、WINDOWS 也实现了 TCP/IP,随后 TCP/IP 协议也被移植到其它嵌入式的处理器上, 由于指令以及资源上的原因,在 UNIX 上实现的 TCP/IP 协议的原代码并不 能够直接移植到 8 位的单片机上。单片机的程序空间是极为有限的,直接寻址 的空间仅 64K 字节,可用的内存 RAM 也是非常小的,最多只能扩 64K 的 RAM。单片机的运算速度也极为有限,一般只有 2MIPS,而电脑上的处理能力 在 100MIPS 以上。 因此,嵌入式系统尤其是 8 位单片机上的 TCP/IP 协议栈需要高度简化专门 设计。可以用来参考的协议栈包括如下表所示。 - 15 - 表格 2 常见嵌入式 TCP/IP 协议栈比较 方案方案内存需求内存需求代码尺寸代码尺寸特点特点/评价评价 8052.lphard.cz32KByte15KB协议栈用 ASM 编写且以 LIB 形式发布,不利于移 植 TCP/IP lean Server on PIC 500Byte5KB只有 SLIP 的支持,不能连接以太网 TCPIP Stack on MSP430 1KByte5KB代码过于简单,不利于扩展 lwIP10KB40KB资源需求稍多 TinyTCP500Byte6KB比较可行的方案 uip 0.6500Byte5KB比较可行的方案 Ucip1-0-3需要和 uC/OS 这一实时内核配合 EtherNut 需要和 NUT OS 这一实时内核配合 在本方案中,选择了 TinyTCP、uIP 0.6 作为参考设计。 4.2.3 TCP/IP 原理简述原理简述 网络协议栈 网络协议通常分不同层次进行开发,每一层分别负责不同的通信功能。 TCP/IP 通常被认为是一个四层协议系统,如图 11 所示。每一层负责不同的功 能。 图 11 网络协议层 (1)数据链路层,有时也称为网络接口层。通常包括操作系统中的设备驱 动程序和计算机中对应的网络接口卡。它们一起处理与电缆(或其他任何传输 媒介)的物理接口细节。 (2)网络层,有时也称作互联网层。处理分组在网络中的活动,例如分组 的选路。在 TCP/IP 协议族中,网络层协议包括 IP 协议(网际协议) 、ICMP 协 议(Internet 互联网控制报文协议)以及 IGMP 协议(Internet 组管理协议) 。 这里主要讨论 IP 协议。 (3)传输层主要为两台主机上的应用程序提供端到端的通信。TCP 为两台 - 16 - 主机提供高可靠性的数据通信。它所做的工作包括把应用程序交给它的数据分 成合适的小块交给下面的网络层,确认接收到的分组,设置发送最后确认分组 的超时时钟等。由于运输层提供了高可靠性的端到端的通信,因此应用层可以 忽略所有这些细节。 (4)应用层负责处理特定的应用程序细节。几乎各种不同的 TCP/IP 实现 都会提供下面这些应用: 1.HTTP 超文本传输控制协议; 2.TELNET 远程登录; 3.FTP 文件传输协议; 4.SMTP 简单邮件传送协议; 5.SNMP 简单网络管理协议。 由于 8 位嵌入式网络通常面向专门的、小数据量的应用,实现 FTP、SMTP 等协议栈并没有太大意义。因此,这里主要讨论 HTTP 协议。 因为数据链路层主要是网络接口卡及驱动,由 RTL8019AS 来实现,所以 下面讨论网络层、传输层和应用层协议栈的实现。 在传输的数据报文中,各个层次的协议栈都会添加自己的首部和尾部数据。 如图 12 所示。 图 12 各协议栈对 HTTP 数据报文的贡献 .1 网络层 IP 是 TCP/IP 协议族中最为核心的协议。Internet 所有的数据都以 IP 数据 报格式传输。IP 协议最大的特点是提供不可靠的和无连接的数据包传送服务。 IP 数据包的格式如图 13 所示。 图 13 IP 数据包的格式 - 17 - .2 传输层 传输层中包括 TCP(传输控制协议) 、UDP(用户数据报协议)等。 用 TCP 协议传输的所谓数据实际指的是数据流中的段,而用 UDP 协议传 输的所谓数据指的是数据包。IP 所提供的是非可靠的、无连接能力的、向指定 主机地址的包传送的协议。 TCP 和 UDP 都属于 IP 上层的传输层协议。二者都使用端口号作为送往主 机的解码地址。端口号由各个具体应用所确定,同时使用多个端口号能完成 “一机多网”的操作。每个 UDP 数据包和 TCP 数据段中都含源端口号和目的 端口号。为接收远端的输入而等待着执行接入操作的主机是所谓的服务器,发 起接入请求的主机就是所谓的客户机。 服务器为最常服务的应用如 FTP(文件传输协议) 、Email 和 HTTP,分配 了知名的端口号并对其进行持续地监听。作为传输源的客户机通常选择随机的 端口号,并向已分配了知名端口号的服务器发出接入请求。客户应用所取的端 口号应大于 1024,因 1024 以下的端口号是为知名应用而预留的。 (1) TCP 协议协议 TCP 提供一种面向连接的、可靠的字节流传送服务。TCP 数据包的结构如 图 14 所示。 图 14 TCP 数据包的结构 (2) UDP 协议协议 UDP 被认为是一个应用程序和 IP 间的接口,因为应用程序从不直接使用 IP。UDP 层很小,包含 8 个字节的头。但需要应用层来负责错误恢复,重传等 等。 图 15 UDP 作为应用程序到 IP 之间的接口 UDP 不够可靠,当数据包到达目标时没有确认。它不处理以混乱顺序到来 的报文,也不提供反馈来控制主机间的信息流。因此 UDP 消息会丢失、重复 或顺序混乱。这意味着使用 UDP 的程序应该让传输可靠。UDP 主要用在传输 视频和音频。 - 18 - .3 应用层 HTTP 是 WWW 上的协议。当用户要浏览服务器上的一个网页时,一个 HTTP 请求就会从用户的浏览器发到 HTTP 服务器。服务器响应这个请求,把 指定的网页传送回来,用户才看到了网页。 下面是一个典型的客户端向服务器发送请求的例子: GET Destination_IP/index.html http/1.0 GET 代表客户端的请求命令,而服务器也受理这个命令; Destination_IP 代表远程主机的 IP 地址;index.html 是客户端请求的资源; http/1.0 是 HTTP 协议的版本。 以太网网卡的工作原理 RTL8019AS 是 RealTek 公司生产的一种全双工以太网控制器,由于其优 良的性能、低廉的价格,使其在市场上 10MbpsISA 总线网卡中占有相当的比 例。 .1 主要性能 1.适应于 Ethernet II 、IEEE802.3 、10Base5、10Base2、10BaseT; 2.与 NE2000 兼容,支持 8 位、16 位数据总线; 3.全双工,收发可同时达到 10Mbps 的速率,具有睡眠模式,以降低功耗; 4.内置 16KB 的 SRAM,用于收发缓冲,降低对主处理器的速度要求; 5.可连接同轴电缆和双绞线,并可自动检测所连接的介质; 6.100 脚的 TQFP 封装,缩小 PCB 尺寸。 .2 内部结构 按数据链路的不同,可以将 RTL8019AS 内部划分为远程 DMA(remote DMA)通道和本地 DMA(local DMA)通道两个部分。本地 DMA 完成控制器 与网线的数据交换,主处理器收发数据只需对远程 DMA 操作。当主处理器要 向网上发送数据时,先将一帧数据通过远程 DMA 通道送到 RTL8019AS 中的 发送缓存区,然后发出传送命令。RTL8019AS 在完成了上一帧的发送后,再 完成此帧的发送。RTL8019AS 接收到的数据通过 MAC 比较、CRC 校验后, 由 FIFO 存到接收缓冲区,收满一帧后,以中断或寄存器标志的方式通知主处 理器。原理框图如图 16 所示。 - 19 - 图 16 RTL8019AS 原理框图 在图 16 中,接收逻辑在接收时钟的控制下,将串行数据拼成字节送到 FIFO 和 CRC;发送逻辑将 FIFO 送来的字节在发送时钟的控制下逐步按位移 出,并送到 CRC;CRC 逻辑在接收时对输入的数据进行 CRC 校验,将结果与 帧尾的 CRC 比较,如不同,该帧数据将被拒收,在发送时 CRC 对帧数据产生 CRC,并附加在数据尾传送;地址识别逻辑对接收帧的目的地址与预先设置的 本地物理地址进行比较,如不同且不满足广播地址的设置要求,该帧数据将被
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高危工作安全协议书
- 超市利润分红协议书
- 道路迁坟火化协议书
- 金供应商合同协议书
- 销售生产订单协议书
- 餐饮供应合同协议书
- 农村自流地换地协议书
- 餐具承包合同协议书
- 买车位只有认购协议书
- 金融物资转让协议书
- 黄泉下的美术:宏观中国古代墓葬
- 无违法犯罪记录证明申请表(个人)
- 内部调拨单表格
- 2023年07月浙江建设技师学院200人笔试历年常考点试卷附带答案详解
- 中国真正丹道理法及工程次第阐真
- 2022年四川省成都市中考英语试卷及答案
- 新年春节廉洁过年过廉洁年端午节清廉文化中秋节廉洁过节优秀课件两篇
- GB/T 10920-2008螺纹量规和光滑极限量规型式与尺寸
- 认知宇宙飞船之星际探索
- 皮肤病理知识学习整理课件整理
- 人工智能课件213产生式表示法
评论
0/150
提交评论