AVR单片机TCPIP协议的设计与实现

上传人:ji****72 文档编号:35914372 上传时间:2018-03-22 格式:DOC 页数:10 大小:317.50KB
返回 下载 相关 举报
AVR单片机TCPIP协议的设计与实现_第1页
第1页 / 共10页
AVR单片机TCPIP协议的设计与实现_第2页
第2页 / 共10页
AVR单片机TCPIP协议的设计与实现_第3页
第3页 / 共10页
AVR单片机TCPIP协议的设计与实现_第4页
第4页 / 共10页
AVR单片机TCPIP协议的设计与实现_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《AVR单片机TCPIP协议的设计与实现》由会员分享,可在线阅读,更多相关《AVR单片机TCPIP协议的设计与实现(10页珍藏版)》请在金锄头文库上搜索。

1、AVR 单片机 TCP/IP 协议的设计与实现荣盘,赵海,王嘉良,刘丹,蔡鹏华 东北大学信息科学与工程学院,沈阳,中国。 电子邮件: 收到的 6 月 3 日 2010;修订后的 6 月 30 日 2010;接受 7 月 6 日日 2010。 摘要:摘要: 随着嵌入式技术的快速发展,物联网的研究和实施将是一个新的技术革命,但物联网之间实 现的通信的基础的事情是个问题。随着嵌入式控制技术的成熟,网络也逐步与之结合,深 入到工业、楼宇、家居智能化等领域,实现远程数据采集、远程控制等功能。网络化已经 成为新一代嵌入式系统发展的一个重要趋势。出于这个原因,实现单片机之间的通信的功能 尤为重要。此文基于嵌

2、入式单片机的特点,分析了传统 PC TCP / IP 协议,和适当定制的 TCP / IP 协议簇的基础上表现嵌入式单片机的特点。最后,我们意识到减少 TCP / IP 协议 簇适合嵌入式单片机,特别是在 AVR 单片机平台上的应用。 关键词: 物联网,Webit,互联网的嵌入式系统,TCP/ IP 协议,以太网1.1. 介绍介绍 物联网的意思是指通过信息的一种网络设备如 FRID 等设备,红外传感器,全球定位系 统、激光扫描仪等,在安排的协议,加入任何和互联网之间沟通信息,实现智能识别、跟踪监 视和管理。互联网的概念建议出现在 1999 年的时候。意思是“在因特网传达的东西” 。这 意味着两

3、个方面:第一个是,互联网的核心和基础事情仍然在互联网,这基于扩展和延伸互联 网;第二个是其客户延伸和扩展到任何东西,形成交流和沟通1 - 3。 随着计算机和网络的迅速发展技术,互联网已经成为一个重要手段来传播信息,越来越 多的嵌入式设备是有必要实现互联网的网络工作4 - 5。相对于电脑,计算和存储相比嵌 入式系统资源相对有限;因此要实现所有的 TCP / IP 协议簇嵌入式单片机是非常不现实的。 所以,为了节省系统资源和保证的可靠性系统的情况下提高嵌入式系统的性能,这就有必要 简化的模块化的 TCP / IP 协议。2.2.采用设备和测试平台采用设备和测试平台 服务器是一个整体解决方案使设备智

4、能化和网络化。这是新的网络设备系统与互联网 的元素和结构,其基本思想是一个独立的、低成本的 3 W 服务器嵌入式设备,使设备有独立 的情报网络。辽宁省重点实验室推出服务器嵌入式互联网产品决定的嵌入式的技术。Webit 1.0 在 2000 年成功通过技术鉴定和商标注册,Webit 2.0(互联网标准电气设备访问服务器)通 过了 2001 年 5 月由辽宁科学技术委员会鉴定科技成果的会议。考虑到 webit AVR 8 位单片 机,它的存储单元是非常有限的,因此设计一种 TCP / IP 协议适合的产品集群是非常重要的。 Webit 2.0 的性能如下: 根据外部 PC 系统结构; 使用 Atm

5、el AVR RISC 处理器; 用户定义的网页; 用户定义的 CGI 程序用来控制; 14 位 I / O 接口(TTL); TTL 水平 UART 支持 115200 个基点; 10 M 以太网接口(注册插孔- 45); 系统编程(ISP);以太网控制器芯片 RTL8019AS 的概述 Webit:高度集成以太网控制器 RTL8019AS,它可 以简单的符合即插即用 NE2000 兼容的适配器,减少两倍的功率特征。通过三级控制的特点, RTL8019AS 网络装备是在已知的绿色电脑中最理想最好的网络设备。双重的功能可以模拟 发送和接收传播之间的双绞线以太网交换机和所有的 1/2。这不仅可以

6、从 10 Mbps 到 20 Mbps 使带宽更强大,也避免 muliaccess 以太网阅读协议通道战斗角色。微软的即插即用功 能可以减轻用户较低的收入和集中在资源适配器,等输入和输出、IRQ、内存地址,等等。然 而,在特殊应用没有即插即用功能的兼容性,RTL8019AS 支持跨接和 JUMPERLESS 选项。 为了提供完整的即插即用的解决方案,RTL8019AS 集成 10 baset 收发器,自动检测功 能 AUI 和 BNC 之间的接口。此外,8 IRQ 总线和 16 个基本地址总线为大型资源提供舒适的 环境的情况。数据的收发其实就是对 RTL8019AS 内部的寄存器进行操作的过程

7、,所以首先 得对 RTL8019AS 进行初始化,主要是设置所需的寄存器状态,建立网络接口收发的条件, 并对 RTL8019AS 缓冲区 RAM 进行划分,建立接收缓冲环。数据的收发就是对前面所介绍的 寄存器的读写过程,当然其中还涉及到对 RTL8019AS 数据缓冲环的操作。网络接口通过两 个 DMA 操作来完成数据的接收和发送。本地 DMA 完成 RTL8019AS 和它内部的 FIFO 之间的数 据传送。远程 DMA 完成 RTL8019AS 和 CPU 之间的数据传送。所有这些功能由驱动程序实现, 下面将以太网驱动程序进行介绍: 3.4.1 RTL8019AS 初始化 RTL8019A

8、S 的初始化,其实 就是对 RTL8019AS 内部与 NE2000 兼容的寄存器的初始化。程序首先设置了 ARM 芯片 LPC2292 的 I/O 口属性。然后对 RTL8019AS 网络芯片进行复位,包括硬件复位和软件复位。 再进入芯片停止状态,对内部寄存器进行设置,包括 MAC 地址的写入和内部 SRAM 的分配。 最后,使芯片进入运行状态结束初始化。 3.4.2 数据接收过程 RTL8019AS 完成初始化 后,就处于接收状态,一旦有数据分组到达,就自动执行本地 DMA,将 RTL8019AS FIFO 中 的数据送入接收缓冲环,然后向 LPC2292 申请“数据分组到达”中断请求。同

9、时 RTL8019AS 内部的寄存器会发生相应变化,如 ISR、CURR。CPU 响应中断请求(读 ISR,以 判断中断类型)后,从接收缓冲环中取出数据分组至 LPC2292 的存储器中,然后对接收缓 冲环 CURR、BNRY 指针内容进行修改,以便 RTL8019AS 能从网络上正确接收后续分组。启动 远程 DMA 后,LPC2292 不断读写 RTL8019AS 的数据端口(BASE_ADDR+10H) ,就能成功执行 远程 DMA 操作,完成 CPU 与 RTL8019AS 缓冲 RAM 之间数据的交换。 接收函数总是把所有 数据报都读出来后才退出,而接收缓冲区没有指示哪些报未被处理。因

10、此,如果接收到的 数据报(指放在网络接口芯片内部缓存的)来不及处理,那么可能会发生丢包现象,所以 对处理速度慢的机器需要设置更多的接收缓冲区。几乎接收函数的所有代码都属于临界区 代码。函数一开始就进入临界区。如果网络接口芯片是处于复位状态,则对网络芯片进行 初始化然后退出。 RTL8019AS 支持 16 k,32 k 和 64 k 字节内存布朗和闪存接口。它提供了页面模型函 数,它可以只支持 4 米字节布朗 16 k 字节的内存系统空间。布朗的无用的命令是用来释放 布朗 内存空间。RTL8019AS 的单片机设计的 16 k 字节存储器,这样不仅提供了更多友好的功能, 而且还节省了 SRAM

11、 存储资源。 3.Webit3.Webit 简化简化 TCPTCP / / IPIP 的设计协议栈的设计协议栈 AVR 单片机,由于相对有限的资源,完整的 TCP / IP 协议簇的功能是不能实现的。所 以根据的特点 AVR 单片机,我们原始的 TCP / IP 协议集群获得减少了 TCP / IP 协议簇。与此同时,基于 TCP / IP 协议栈的体系结构,我们适应网络的设计方法片模型。TCP / IP 协议的架构集群简化后包含了 ARP、IP、ICMP TCP,UDP 协议处理模型,等等(6 - 8)。每 一层的 TCP / IP 协议栈的体系结构是作为一个设计的独立功能的模块,处理他们的

12、数据。 不同的模块可以通过函数将被调用基准面上或下处理模块9。图 1 显示了简化 TCP / IP协议的体系结构。的图 1 中,当 AVR 单片机接收到的数据网络,数据包处理模块将在一定条 件下选择 ARP 基地模块的链路层或 IP 协议模块的网络层的过程。图图 1 1 所示。简化所示。简化 TCPTCP / / IPIP 协议的体系结构协议的体系结构UDP 和 TCP 协议模块的传输层,它将移交处理数据包的 IP 协议处理模块,并使封装为 IP 地址,第一(如地址、类型的协议,等等)。通过相应的函数调用。然后将数据报传输包括 IP 第一和 TCP 层越低通过函数调用,直到顺利发送数据。物理链

13、路层:包含网络芯片的硬件和 基于硬件上的芯片级驱动。随着网络物理介质的不同和使用网络芯片的不同,需要选择不 同的通信方式和修改相应的驱动程序,但只要对外提供的接口不变,网络层的程序是不用 修改的。例如以太网(Ethernet)和通过 Modem 上网的方式不同,驱动不同,但不影响网 络层。 网络层:接收物理链路层过滤后的数据,并对通过识别不同的分组信息后传给传 输层中不同的协议。著名的 IP(网际协议)是网络层的协议,它支持将多种网络技术互联为 一个逻辑网络。IP 提供不可靠的、无连接的、尽最大努力交付的分组传输机制,为两个物 理设备之间的信息传递提供最好的传输服务。所有具有网络层的因特网设备

14、都会运行 IP 协 议。 传输层:传输层的两个重要协议 TCP(传输控制协议)和 UDP(用户数据报) ,都是 端到端的协议,根据应用程序需要的服务的不同可以选择其中的一个协议。发送时,TCP 和 UDP 都将报文头和数据打包放在 IP 的数据段中发送出去。接收 IP 分组后,剥离 IP 的首 部,得出是 TCP 还是 UTP 协议,再根据其首部中端口的不同,交给应用层程序处理。 应 用层:这一层的功能最终面向用户,因此非常丰富,并且千差万别。每一个应用层协议都 是为了解决某一类应用问题而规定的,是通信双方都需要遵循该协议才能正常通讯。比如, telnet 提供远程登陆服务;FTP 提供应用级

15、的文件传输服务;SMTP 提供简单的电子邮件发 送服务;http 提供网页浏览服务;还有域名服务系统 DNS、简单网络管理协议 SNMP 等等。 TCP / IP 协议处理如图 2 所示。图图 2.TCP2.TCP / / IPIP 协议处理协议处理4.4.简化的设计和实现嵌入式简化的设计和实现嵌入式 TCPTCP 协议协议 首先,在 Webit,我们的格式和大小 MAC 和转换功能,系统地址配置,大小缓冲器已经 被定义。我们让 MAC 地址格式化、IP 成为固定的价值系统。系统组态用于设置特定值的转 换功能,港口和 MAC 地址。在此系统中,为有限的数据需要单片机处理,所以我们不会设置缓 冲

16、区比正常。.DSEG .ORG 0x60 LocalMAC: .6 字节 LocalIP: .4 字节 LocalPort: .2 字节 RemoteMAC: .6 字节 RemoteIP: .4 字节 RemotePort: .2 字节 Plugdelaytime: .32 字节 TCPCB: .30 * 2 字节 RevBuffer: .260 字节4.14.1 ARPARP 协议的实现协议的实现 因为嵌入式单片机通常是在服务的被动状态。所以当我们设计和实现了 ARP 协议,我们 不实现地址映射功能表,没有实现的功能查询任何客户机 IP 映射到 MAC 地址,只需要实现当 其他客户端查询本地 Mac 地址。数据包并获得反馈的关系之间的 IP 和 MAC 地址,并发送。 当嵌入式单片机接收到 ARP 数据包从以太网,我们根据操作的类型编码的数据包决定类 型的 ARP 包,如果 ARP 请求数据包,比较目的 IP 地址字段 ARPP 包的本地设置 IP 地址。如果

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号