[论文]嵌入式以太网测试论文_第1页
[论文]嵌入式以太网测试论文_第2页
[论文]嵌入式以太网测试论文_第3页
[论文]嵌入式以太网测试论文_第4页
[论文]嵌入式以太网测试论文_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

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

文档简介

1、摘 要随着互联网技术的迅猛发展,如何保证网络的安全与畅通是网络维护所面临的一个重大课题。网络测试仪是网络安装与维护人员进行网络安装与维护测试的重要工具。目前,网络检测工具的市场现状是网络检测核心技术完全掌握在国外公司的手中,各个价位的网络测试产品基本上是由国外公司设计制造,其特点价高。而国内网络检测产品的技术水平还仅仅停留在网线联通性测试上。为了给市场提供一种功能实用,便携式的网络检测工具。本文完成了新型便携式网络测试仪的课题。在硬件方面,本文分析了以太网测试功能的技术特点及与之相关的tcp/ip协议,确定了嵌入式以太网测试系统的控制核心和相关的硬件芯片选型,并选择了微处理器c8051f340

2、和以太网控制器cp2200所构成的开发板为硬件开发平台。在软件方面,本文采用结构化设计方法,提出了本系统的模块化设计方案,将本系统划分为系统主控模块、系统初始化模块、定时中断处理模块、以太网控制器驱动模块、tcp/ip协议模块、应用层模块、串行通信模块等七个主要模块。在所开发的软件系统中,完成了以太网测试功能中嵌入式客户端的工作参数设置、ip地址的自动获取、ping命令和traceroute命令等功能的算法设计与实现工作。目前,已完成产品的测试和试运行工作,并准备将产品推向市场。关键词微控制器,嵌入式系统,网络客户端,网络测试仪,tcp/ip 协议族 iiabstractwith the ra

3、pid development of internet technology, its been becoming a major issue of the network maintenance to ensure the freedom and security of network. network tester is an important tool to install and maintain the network. at present, the status of the market on the network detection tool is that the co

4、re technology of network testing is entirely in the hands of the foreign companies, which design and manufacture various products with high prices and high quality to test the network. the level of technology in domestic products to test network is just to stay in the network connectivity test onlin

5、e. in this situation, this dissertation presents a project to develop a new type of portable network tester.this dissertation also analyzes the technical basis of the ethernet test functions and the corresponding protocols, and determines a hardware selection in the control core and the ethernet con

6、troller, and the hardware development platform is the development board made up of a c8051f340 chip and a cp2200 chip. at the same time, the structure feature of the development board is made an assay of.by the method of structured design, this dissertation has made a program of the systems modular

7、design, and divides the system into seven modules: a module of system control, a module of system initialization, a module of timing interrupt handling, a module of the ethernet controller driver, a module of tcp/ip protocol stacks, a module of the application layer, a module of serial communication

8、. in the developed software system, the algorithm design and the implementation in c language of the ethernet test functions include the configuration of the work parameters of the embedded client, ip automatic access function, ping function, traceroute function, and their correctness have also been

9、 verified by experimental tests.key words: microcontroller, embedded system, network client, tcp/ip protocol stacks,network tester目 录摘 要iabstractii第一章 绪论11.1嵌入式客户端课题的背景11.2嵌入式客户端研究的现状11.3主要研究内容31.4论文的安排3第二章 嵌入式客户端技术42.1嵌入式客户端的特点42.2嵌入式以太网测试的技术42.2.1嵌入式以太网测试的技术52.2.2与以太网测试相关的协议72.3嵌入式以太网测试的硬件选型82.3.1

10、硬件选型的基本原则82.3.2微控制器核心的选型82.3.3以太网控制器的选型92.4c8051f340开发板的结构特点132.5本章小结13第三章嵌入式以太网测试的设计143.1软件设计知识概要143.2系统主控模块的设计153.2.1 系统主控模块的总体设计153.2.2 主循环体控制的概要设计163.2.3 主循环体控制模块的详细设计183.3系统初始化模块的设计193.4定时中断处理模块的设计213.5以太网控制器驱动模块的设计223.6tcp/ip协议模块的设计233.7应用层模块的设计243.8串行通信模块的设计253.9本章小结25第四章嵌入式以太网测试的实现264.1嵌入式以太

11、网测试的实现264.1.1 系统主控模块的实现274.1.2 系统初始化模块的实现284.1.3 定时中断模块的实现304.1.4 以太网控制器驱动模块的实现304.1.5 tcp/ip 协议模块的实现314.1.6 应用层模块的实现424.1.7 串行通信模块的实现434.2测试程序444.3测试方法与测试过程454.4测试结果454.5本章小结48第五章 总结与展望495.1研究工作总结495.2进一步的研究方向49参考文献51致 谢55攻读硕士学位期间发表的论文56硕士学位论文 第一章绪论 第一章 绪论1.1 嵌入式客户端课题的背景随着通信技术、计算机技术和网络技术的迅猛发展,互联网的传

12、输速度不断提升,互联网的拓扑结构也随之日益复杂,如何保证网络的安全与畅通是网络维护界所面临的一个重大难题。在接入互联网络的众多设备中,不仅包括大量的服务器和个人计算机,而且还包括使用数量更多、应用范围更广的嵌入式系统设备,例如网络检测仪、智能家电、智能仪器仪表、工控设备、数据采集设备等。为了保障整个网络的正常、可靠、不间断地运行,网络维护人员必须能够及时有效地发现故障原因、位置并及时采取有效措施排除网络故障。因此为每个一线网络维护人员配备一套便捷、有效的网络检测工具是十分必要的。这些网络检测工具基本上以网络客户端的形式接入网络中。其中 ping 命令功能、traceroute命令功能和 ip

13、地址自动获取都是网络客户端的最主要的基本功能1-12。目前,网络检测工具的市场现状是网络检测核心技术完全掌握在国外公司的手中,各个价位的网络测试产品基本上是由国外公司设计制造,其特点是价格比较高。而国内网络检测产品的技术水平还仅仅停留在网线联通性测试上,为了能够尽快掌握网络测试这一核心技术,研发具有自主知识产权的网络测试系列产品,十分有必要开展这方面的研发工作。本文将研究嵌入式以太网基本测试功能的设计与实现13-43的问题。所使用的硬件是由美国 silicon laboratories 公司设计并生产的 c8051f34044 微控制器和 cp220045 以太网控制器组成的ml-cp2200

14、dk/f340dk46开发板。1.2 嵌入式客户端研究的现状目前,嵌入式网络客户端主要研究嵌入式网络客户端基本功能的设计与实现,其主要内容有两个方面:其一是标准tcp/ip协议族在嵌入式系统中的设计与实现2-15;其二是嵌入式网络客户端基本功能的设计与实现。在标准tcp/ip协议族的设计与实现中,著名的 bsd4.4 的源代码被众多学者研究最深入全面。在嵌入式领域中,比较具有代表性的嵌入式tcp/ip协议族的实现有如下四种:1uip 协议族uip 协议族是在低至8位或16位微控制器嵌入式系统的一个可实现的极小的开源 tcp/ip 协议族,由瑞典计算机科学学院(swedish institute

15、 of computer science,sics)的 adam dunkels 在计算机与网络架构(computer and networks architectures,cna)实验室完成开发,可在bsd许可协议下免费使用。uip实现了tcp/ip协议族的五个基本协议;arp47,ip48,icmp49,udp50 和 tcp。数据链路层协议,如ethernet、ppp或slip,可作为uip协议族下的设备驱动来实现。而应用层协议,如dhcp51,http,ftp或smtp,则可实现为uip 协议族之上的应用程序。uip协议族代码的大小和对 ram 的需求比其它一般的 tcp/ip 协议族

16、要小。uip 协议族使用一个基于编程模块事件去减少代码的大小和对 ram 的使用量。系统的底层与 uip 协议族之间的接口是隐蔽的。目前,该实现的最新稳定版本是 1.0 版52。21wip 协议族lwip 实现是关于 tcp/ip 协议族的一个小的独立实现,也是由uip的开发者 adam dunkels完成开发的,也可在 bsd 许可协议下免费使用的,有众多的项目维护者。主要实现了ethernet、ppp、arp、ip、icmp、igmp、udp、tcp、专门优化的未处理的/本地化的api、类伯克利套接字api、dns、snmp、dhcp、autoip (ipv4版本,符合 rfc 3927)

17、等协议。lwip tcp/ip 协议实现的焦点是在仍保持全尺寸tcp的情况下尽量减少ram的使用,这样使得 lwip 可在嵌入式系统中使用并只占用1020kb ram存储空间和大约40kb rom存储空间。目前,该实现的最新稳定版本是 1.3.0 版53。3cmx-micronet 协议族cmx-micronet 协议族实现由以向嵌入式社区提供完整优雅的嵌入式解决方案著称的 cmx systems 公司开发。其主要特点有:(1) 唯一符合工业标准的协议;购买该实现后,可提供目标处理器的全部源代码;(2) 可在你现有的微控制器中使用,包括从低端的8位微控制器、中端的16位微控制器到高端的32位微

18、控制器,乃至极高端的64位嵌入式产品;(3) 使用费用低廉,只需一次性的低付费,并且不再收取最终产品的版税。该协议族实现了ethernet、ppp和slip等数据链路层的协议;arp、ip等网络层协议;icmp、igmp v1、tcp、udp和bootp等传输层协议;dhcp客户端、http web服务器、ftp服务器、ftp客户端、tftp客户端、smtp客户端、pop3客户端、snmp、dns、sntp客户端等应用层协议。可以通过以太网、无线网、拨号上网和直接连接等四种方式接入网络。目前,该实现在嵌入式社区使用极其广泛,其最新稳定版本是 3.0.9 版54。4microchip 的 tcp

19、/ip 协议族microchip 的 tcp/ip 协议族实现由美国著名的嵌入式设备芯片设计制造商 microchip 公司专为旗下的pic18、pic24、pic32和dspic微控制器系列优化设计的免费tcp/ip协议族。该协议族是为所有基于tcp/ip的应用提供服务的一套程序。用户无需了解tcp/ip 协议的复杂特性就可以使用它。基于tcp/ip参考模式,该协议族分为多层,其中每一层都从其下的一个或多个层中获得相应的服务。从特性上讲,许多tcp/ip层是“活动的”,从某种意义上讲,它们不仅在有服务申请时工作,而且在特定事件发生(如超时或新数据报到达等)时也工作。该协议族采用模块化设计,并

20、使用c语言编程实现。根据所选用的模块不同,有效实现将占用大约28-34 kb代码,为microchip经济有效、高密度的微控制器留下大量的代码空间以供用户应用使用。目前,该实现广泛使用于pic18、pic24、pic32和dspic微控制器系列,其最新稳定版本是 4.55 版55。有关嵌入式以太网客户端基本功能的设计与实现方面的研究主要内容包括网络连通性检测命令功能ping、路由跟踪命令功能traceroute、ip地址自动获取、dhcp客户端、ftp客户端、tftp客户端、pop3客户端、http客户端网页浏览器等。1.3 主要研究内容本文研究了嵌入式客户端的以太网测试功能的技术基础与设计实

21、现。该嵌入式客户端在ml-cp2200dk/f340dk开发板上开发实现。该开发板上有一个高达 48 mips 以上处理速度的 8 位 c8051f340 在片系统和一个号称世界上封装最小的 cp2200 以太网控制器。由于在嵌入式系统中实现标准 tcp/ip 协议族要占用大量的 8 位微控制器有限的系统资源,因此,为了既能够保证系统实时性和系统可靠性,又能够减少该协议族对系统资源的占用,对标准tcp/ip协议族进行适当裁剪和简化是十分必要的。嵌入式以太网客户端与以太网及 pc 客户端之间是通过基于 tcp/ip 协议族的以太网来进行信息交换的。这种低成本、高性能的以太网网络接入解决方案,具有

22、可靠性高、功耗极低、体积小巧、携带方便、功能适用、使用灵活的特点,并具有较高的应用价值和广泛的使用范围。1.4 论文的安排论文共分为六章,各章的具体内容安排如下:第一章介绍本课题提出的背景、国内外研究现状、主要研究内容等。第二章讨论嵌入式客户端的技术基础。第三章探讨嵌入式以太网测试功能的设计。嵌入式以太网测试功能的软件设计由七大模块组成:系统主控模块、系统初始化模块、定时中断模块、以太网控制器驱动模块、tcp/ip 协议模块、应用层模块、串行通信模块等。第四章探讨嵌入式以太网测试功能的实现与测试。第五章对本文进行总结和评估,并指出不足和进一步研究的方向。49硕士学位论文 第二章 嵌入式客户端技

23、术第二章 嵌入式客户端技术从本章开始,将进入具体领域来进行相关问题的研究。本章首先从嵌入式服务器与嵌入式客户端的比较入手,介绍嵌入式客户端的主要特点。然后,转入对嵌入式客户端的以太网测试功能的设计与实现技术的研究,并介绍了与之相关的tcp/ip协议。随后,研究硬件开发平台的选型问题,主要包括微控制器核心和以太网控制器等的选型。在搭建硬件开发平台时,有两种基本的选型方法可供选择:一种是选用分离的控制核心与以太网控制器组成的多芯片方案;另一种是选用内部集成了以太网控制器的微控制器的单芯片方案。相比较而言,前一种搭建方案的成本比较高一些,实现起来难度也大一些。最后,将介绍由分离主芯片c8051f34

24、0微控制器和cp2200以太网控制器组成的一套硬件开发平台的结构特点。2.1 嵌入式客户端的特点一般来说,与大多数服务器、个人计算机一样,嵌入式系统接入以太网有两种主要方式:一种是作为一种微型网络服务器;另一种是作为一种微型网络客户端。这两种接入方式,所能够提供的功能是完全不同的。如果以微型网络服务器方式接入以太网,其主要目的是提供微型web服务器,向监测主机定时发送该设备所采集的数据,即时显示该设备的工作参数和/或工作环境。如果以微型网络客户端方式接入以太网,可以具有的功能有许多:tftp客户端、ftp客户端、pop3客户端、http客户端即浏览器等。其中比较基本的功能有用于网络连通性的检测

25、、跟踪路由、从网络上下载所需要的数据等。在表2-1中对嵌入式微型服务器和嵌入式客户端进行了简单的比较。表2-1 嵌入式服务器和嵌入式客户端的比较比较内容嵌入式服务器嵌入式客户端服务对象服务提供方服务请求方服务方式ftp服务器、web 服务器等ftp客户端、web浏览器等性能要求相对较高相对较低存储器容量相对较大相对较小可移动性比较固定移动性大2.2 嵌入式以太网测试技术本节将分析设计与实现嵌入式以太网测试功能的技术以及与这些功能相关的tcp/ip协议。2.2.1 嵌入式以太网测试技术在对以太网进行测试时,常用的主要功能有测试网络连通性的ping命令和跟踪路由的traceroute命令等两种。还

26、有一种网络客户端经常具备的功能是它从网络中的一台或多台dhcp服务器上自动获取并租用一个网络ip地址,即ip地址的自动获取。下面分别研究这三种功能实现过程。1ping命令功能在所有网络测试功能中,ping命令是最简单的、也是最基本的。它主要有两种形式:一种是向网络上的其他主机或网关发出的回显请求;另一种是对其他主机或网关的回显请求的回显。ping命令是以网络层的附属协议icmp为基础的,它的数据报是被封装成其中的一种icmp数据报格式。2traceroute命令功能相对于ping命令而言,traceroute的实现过程要复杂的多。首先,它发送一个ttl字段值为1的udp数据报,然后将ttl字段

27、值每次增加1,以确定传输路径中的每个路由器。每个路由器在丢弃udp数据报的时候,都返回一个icmp超时报文,而最终的目的主机则产生一个icmp端口不可达的报文。于是根据最后的ttl字段值,就可以知道到达最终目的主机之前所经过的路由器数,既所谓的跳数。对于此功能,本文将采用如下算法来实现。路由跟踪算法:(1) 初始化ttl=1,重传次数nr=6,指定目的 ip 地址;(2) 填充并发送指定ttl值和目的 ip 地址的udp数据报;(3) 等待接收icmp报文;(4) 若是icmp超时报文,则转(5)执行;否则转(6)执行;(5) ttl加1, 重置重传次数nr为6,并转(2)执行;(6) 若是i

28、cmp端口不可达报文,则转(11)执行;否则转(7)执行;(7) 重传次数nr减1;若nr为0,则转(8);否则转(9);(8) 输出出错信息并结束;(9) 重传udp数据包,并转(3)执行;(10) 输出ttl并结束。该算法的流程图如图2-1所示。图2-1 路由跟踪流程图3 ip地址的自动获取嵌入式客户端接入以太网需要一个相对比较固定的 ip 地址。其ip 地址可以通过两种方式获取:一种是直接指定;另一种是从网络中的 dhcp 服务器处获取。在一个未知的网络上,嵌入式客户端以 dhcp客户端的形式能够从 dhcp 服务器处自动获取ip 地址,其具体工作过程可以分如下发现阶段、提供阶段、选择阶

29、段、确认阶段、重新登录和更新租约等六个阶段。(1) 发现阶段,即 dhcp 客户端寻找 dhcp 服务器的阶段。由于 dhcp服务器的 ip 地址对于客户端来说是未知的,因此dhcp客户端以广播方式发送 dhcp 发现信息来寻找 dhcp 服务器,即向地址55发送特定的广播信息。网络上每台安装了tcp/ip协议的主机都会接收到这种广播信息,但只有dhcp服务器才会做出相应的响应。(2) 提供阶段,即dhcp服务器提供ip地址的阶段。在网络中接收到dhcp发现信息的dhcp服务器都会做出响应,它从尚未出租的ip地址中挑选一个分配给dhcp客户端,向dhcp客户端发送一个

30、包含出租的ip地址和其他设置的dhcp提供信息。(3) 选择阶段,即dhcp客户端选择某台dhcp服务器提供的ip地址的阶段。如果有多台dhcp服务器向dhcp客户端发来的dhcp提供信息,则dhcp客户端只接受第一个收到的dhcp提供信息,然后它就以广播方式回应一个dhcp请求信息,该信息中包含向它所选定的dhcp服务器请求ip地址的内容。之所以要以广播方式回应,是为了通知所有的dhcp服务器,它将选择某台dhcp服务器所提供的ip地址。(4) 确认阶段,即dhcp服务器确认所提供的ip地址的阶段。当dhcp服务器收到dhcp客户端回答的dhcp请求信息之后,它便向dhcp客户端发送一个包含

31、它所提供的ip地址和其他设置的dhcp确认信息,告诉dhcp客户端可以使用它所提供的ip地址。然后dhcp客户端便将其tcp/ip协议与网卡绑定。另外,除dhcp客户端选中的服务器外,其他的dhcp服务器都将回收曾提供的ip地址。(5) 重新登录,以后dhcp客户端每次重新登录网络时,就不需要再发送dhcp发现信息了,而是直接发送包含前一次所分配的ip地址的dhcp请求信息。当dhcp服务器收到这一信息后,它会尝试让dhcp客户端继续使用原来的ip地址,并回答一个dhcp确认信息。如果此ip地址已无法再分配给原来的dhcp客户端使用时(比如此ip地址已分配给其它dhcp客户端使用),则dhcp

32、服务器给dhcp客户端回答一个dhcp否认信息。当原来的dhcp客户端收到此dhcp否认信息后,它就必须重新发送dhcp发现信息来请求新的ip地址。(6) 更新租约,dhcp服务器向dhcp客户端出租的ip地址一般都有一个租借期限,期满后dhcp服务器便会回收出租的ip地址。如果dhcp客户端要延长其ip租约,则必须更新其ip租约。dhcp客户端启动时和ip租约期限过一半时,dhcp客户端都会自动向dhcp服务器发送更新其ip租约的信息。2.2.2 与以太网测试相关的协议嵌入式以太网测试功能是建立在tcp/ip协议基础之上的,每个测试功能在实现时所使用的各层协议是有所不同的56。与这些功能相关

33、的协议的详细依赖关系按照其复杂程度依次列出如下:1与ping 命令功能相关的协议包括(1) 数据链路层的arp 协议,本功能将主要使用其中的 mac 地址解析等模块;(2) 网络层的ip 协议,本功能将主要使用其中接收、发送等模块;(3) 网络层的附属协议-icmp 协议,本功能将使用其中的显示请求报文和回显应答报文等两种报文。2与traceroute 命令功能相关的协议包括(1) 数据链路层的arp 协议,本功能将主要使用其中的 mac 地址解析等模块;(2) 网络层的ip 协议,本功能将主要使用其中接收、发送等模块;(3) 网络层的附属协议-icmp 协议,本功能主要使用其中的超时报文和端

34、口不可达报文等两种报文;(4) 传输层的 udp 协议,本功能将主要使用其中接收、发送等模块。3与ip地址自动获取功能相关的协议包括(1) 数据链路层的arp 协议,本功能将主要使用其中的 mac 地址解析等模块;(2) 网络层的ip 协议,本功能将主要使用其中接收、发送等模块;(3) 网络层的附属协议-icmp 协议;(4) 传输层的 udp 协议,本功能将主要使用其中接收、发送等模块;(5) 应用层的 dhcp 协议。2.3 嵌入式以太网测试的硬件选型本节将研究嵌入式以太网测试的硬件选型的基本原则以及微控制器与以太网控制器的选型。2.3.1 硬件选型的基本原则在进行嵌入式系统开发中,由于目

35、标系统的运行环境、设计目标和市场定位等的不同,在选择相应的硬件时,必须遵循一些基本原则。这些基本原则主要包括以下几个方面。1. 运行环境嵌入式系统预期将运行在什么样的具体环境下,是工作在野外环境,还是在室外环境,还是在室内环境等。因为每种元器件都有相应的电气工作条件。2设计目标嵌入式系统的预期设计目标是什么,这也是在硬件选型时必须仔细斟酌的。根据目标系统预期达到的工业标准,可以分为军用级、工业级和民用级,每种元器件产品所能达到的电气工作条件和工作环境温度是不同的,在价格方面也会有很大的差别,这直接导致生产成本显著变化。因目标系统的尺寸不同,在选择元器件产品的尺寸时会仔细地考虑。对于便携性系统而

36、言,由于目标系统在体积上比较严格的限制,必须选择体积小的元器件。对移动性小的系统而言,在选择元器件时,其尺寸和体积的要求就没有那么严格。3. 市场定位嵌入式系统的预期市场定位是什么,这是一个产品在市场上获得成功的重要因素。根据不同的市场定位,产品的成本控制在可以接受的范围内,才能从市场中获利。2.3.2 微控制器核心的选型本文所研究的嵌入式客户端是以其价格低廉、便携性、低功耗、体积小巧和功能够用为目标的。因此,在控制核心的选用上,不予考虑功能强大但价格较高的dsp数字处理器和32位微控制器,而只考虑选用具有有限内存资源的 8 位或 16 位微控制器。一般来说,有以下两种主要的选择方案:1. 8

37、/16 位嵌入式微控制器8/16 位嵌入式微控制器一般都具有如下不足之处:速度不够快,内存不够大,但是其价格低廉,体积小、功耗低,因此仍然是嵌入式领域的主力军,占有巨大的市场份额。为了能够保证顺利地将其接入以太网,必须在保证最基本的性能要求的前提下,对整个嵌入式系统尽可能地简化。嵌入式系统必须对标准的 tcp/ip 协议进行简化,以 web 服务器或网络客户端形式接入以太网。考虑到嵌入式系统的成本必须低廉,同时又具有一定的设计灵活性,而且能够满足系统硬件的设计需要,本文所设计的嵌入式客户端的控制核心采用 8 位微控制器。其中,c8051f 系列微控制器(microcontroller unit

38、, mcu)是由美国 silicon laboratories 公司研发生产的一系列完全集成的混合信号片上系统(system on chip, soc)。c8051f 系列 mcu 集成了一个完全兼容 mcs-51 指令集的高速 cip-51 内核。该内核具有标准 8051 核心的程序地址和数据地址,采用流水线指令体系架构,其 70% 的指令能够在 1 到 2 个系统时钟周期内完成。c8051f 还内建了数据采集和控制系统中常用的模拟、数字外设及其他功能部件;并内置了在线可编程的 flash 程序存储器和内部 ram,可以通过其外部数据存储器界面(emif)外接 xram。同时,c8051f

39、还集成了在片调试电路,通过 c2d 引脚可以对其进行非侵入式的全速在系统调试。在本文的嵌入式系统中,所采用的 c8051f340(48 脚的 tqfp 封装)具有 40 个数字 i/o 引脚,当系统时钟频率为 48mhz 时,其峰值运算速度可达 48 mips,这为在该系统上设计和实现比较复杂的 tcp/ip 协议栈提供了有利条件。此外,它还提供 14 个中断源,可同时使用硬件增强型 spi、smbus 和两个增强型 uart 串行口。其片内集成了 4352b(256b+4kb)sram、64kb flash 程序存储器、速度可达 0.2msps 的 10位 adc 以及带单端和差分模式的模拟

40、多工通道。2. 32/64 位嵌入式控制器32/64 位嵌入式控制器的自身资源比较丰富,运行速度较快,有强大的嵌入式实时操作系统(rtos)和函数库的支持。嵌入式实时操作系统一般都已经在内核中添加了 tcp/ip 网络协议族,因此 32/64 位嵌入式系统可以很方便地接入以太网。2.3.3 以太网控制器的选型对 8 位微控制器而言,在选择以太网控制器时,需要考虑以下几个因素:1. 需要考虑以太网控制器是否支持 8 位工作模式由于主机是 8 位微控制器,因此要求所选的以太网控制器必须支持 8 位工作模式。实际上,在比较老的产品中,只有部分基于 isa 总线的以太网控制器才能支持,所以基于 pci

41、 总线的以太网控制器不在考虑之列。而近几年才上市的产品,比较有代表性的有silabs公司的cp2200/1以太网控制器和microchip的enc28j60 以太网控制器,大多专门为嵌入式系统优化设计,完全支持这种工作模式。2. 需要考虑以太网控制器是否具有片上缓存最好选用具有足够片上缓存的以太网控制器,以简化系统的软硬件设计。3. 应考虑以太网控制器与主机的数据交换形式在 8 位模式下,有的以太网控制器可以支持中断,有的则只支持查询。这些势必对系统软件设计产生一定影响。4考虑与现有以太网的兼容性问题这些基于 isa 总线的以太网控制器还可以分成兼容和非兼容两类。前者一般上市时间较早,可供借鉴

42、的参考资料比较丰富;后者则多为近期产品,但性能更佳。表2-1 列出了目前市面上几种可供选用的以太网控制器及其主要特性。表2-1 几种以太网控制器的比较制造商型号片内缓存/位8位中断模式以太网兼容性价格cirrus logiccs8900a4k/8否否高davicomdm9008f8k/16是是低microchipenc28j608k/8是否中realtekrtl80198k/16是是低silabscp22008k+2k+4k/8是否较高通过比较,rtl8019 和 cp2200 两种以太网控制器都适合本文的嵌入式系统,而其中的 cp2200 以太网控制器是一种使用得较广泛的以太网控制器,最终,

43、本文选择 cp2200 以太网控制器作为嵌入式系统的以太网控制器。由美国 silicon laboratories 公司生产的 cp2200高集成以太网控制器芯片集成了介质访问控制层(mac)和物理层(phy)的性能,可以方便地与通用mcu进行连接。另外,它还具有软件移植性好等优点。1. 性能指标(1) 以太网控制器集成 ieee802.3 mac 和 10base-t phy,完全兼容 100/1000 base-t 网络;具有自动协商的全/半双工、自动极性检测和校正功能、自动冲突重新发送、自动填充及crc生成并支持广播和多播 mac 处理。(2) 并行主机接口(30 mbps的传输速率)具

44、有8位复用或非复用模式;复用模式仅需11个i/o引脚;英特尔或者摩托罗拉总线格式;支持包接受中断和网络唤醒功能。(3) 8kb isp非挥发性记忆体 flash;厂商预先编程的唯一的48位mac地址;不需要外接任何eeprom。(4) led 输出驱动器(连接/活动);专用 2kb 的 ram 发送缓冲区和 4kb 的 ram 接收先进先出缓冲区;电源复位;能够耐受 5v 电压的 i/o。(5) 提供了免版税tcp/ip协议族与设备驱动;tcp/ip协议族配置向导;硬件诊断软件和实例代码。(6) 提供的应用实例有远程检测和监测;库存管理;网络电话适配器;销售点设备;网络时钟;嵌入式 web 服

45、务器;远程以太网到 uart 桥接。(7) 供电电压为 3.1 至 3.6v。(8) 具有无铅48引脚 tqfp(9x9毫米见方)和无铅28引脚 qfn(5x5毫米见方)两种封装方式。(9) 预定的针脚数分别为 cp2200-gq 是48引脚;cp2201-gm 是28引脚。(10)温度范围为 -40至+85 。2. 内部结构cp220x 以太网控制器内部可分为主机接口(host interface)、接收/发送缓冲区(tx/rx buffer)、以太网介质访问控制(mac)、以太网物理层(phy)和 led 控制等。内部结构如图2-2 所示。图2-2 cp2200 以太网控制器内部结构图3.

46、 工作原理主处理器(host)通过以太网控制器的主机接口来收发数据。主处理器要向以太网发送数据时,先通过主机接口将数据报传送到以太网控制器的发送缓冲区(tx buffer),然后发出发送命令。以太网控制器在发送完前一帧数据之后,自动将此数据报封装成以太网帧,将其发送到以太网上,从而完成此帧的发送。以太网控制器将接收到的数据帧通过 mac 比较、crc 校验后,由 fifo 存到接收缓冲区(rx buffer),收满一帧后,设置相应的中断标志位,主处理器通过查询该中断标志位来获取与新以太网数据帧相关的信息,进而做出相应的处理。以太网控制器内部有 fifo 缓存和 crc 生成器/校验器。接收逻辑

47、在接收时钟脉冲的控制下,将串行数据组成字节送到 fifo 和 crc校验器;发送逻辑将 fifo 送来的字节在发送时钟脉冲的控制下逐步按位移出,并送到 crc生成器;crc 校验器逻辑在接收时对输入的数据进行 crc 校验,将结果与帧尾的 crc 比较,如不同,该帧数据将被拒收;在发送时, crc生成器对数据帧自动生成 crc,并附加在数据尾传送;地址识别逻辑对接收帧的目的地址与预先设置的本地物理地址进行比较,如果不同且不满足广播地址(broadcast address)的设定要求,以太网控制器将拒绝接收该帧数据。4. 内部 ram 地址的分配cp2200 以太网控制器内置的存储器分别由 8k

48、b flash、4kb 接收缓存区和 2kb 发送缓存区组成,但 mcu 只需从 cp2200 以太网控制器读取数据或向 cp2200 以太网控制器发送数据就可以了,不必考虑具体是哪一种存储器,因而使用非常方便。5. c8051f340微控制器和 cp2200 以太网控制器的互联c8051f340微控制器为了有效地控制并与之交换数据,cp2200以太网控制器必须将c8051f340 微控制器引脚与其相应引脚连接起来57-58,其连接图如图2-3所示。图2-3 c8051f340和 cp2200 的非双工模式连接原理图(1) cp2200 以太网控制器的工作方式选择从图2-3中可以看出,cp22

49、00 以太网控制器的 muxen 和 moten 两个引脚是接地的,因此它工作在非双工模式。(2) cp2200 以太网控制器的中断接收cp2200 以太网控制器的中断引脚 /int 被连接到 c8051f340 微控制器的 p0.7 引脚上,因此c8051f340 微控制器可以通过读取p0.7引脚来接收 cp2200 以太网控制器产生的任何中断消息。(3) 地址线连接由于采用的c8051f340微控制器的寻址范围是 16 位的,所以需将 cp2200 以太网控制器的16 位地址线 与c8051f340微控制器的地址线连接。(4) 数据线连接由于采用的c8051f340微控制器是 8 位的,所

50、以只需将 cp2200 以太网控制器的低 8 位地址线 与c8051f340微控制器的地址线连接。(5) cp2200 以太网控制器的复位引脚cp2200 以太网控制器的复位引脚 /rst 被连接到 c8051f340 微控制器的 p0.6 引脚上,因此c8051f340 微控制器可以对 cp2200 以太网控制器实现软件复位。(6) 诊断 ledcp2200 以太网控制器提供两个连接诊断 led 的 link 和 act引脚,可以即时指示其连接状态。2.4 c8051f340开发板的结构特点嵌入式客户端因为要嵌入 tcp/ip 协议族和实现较复杂客户端功能,需要较大的程序存储空间和数据存储空

51、间,所以采用了美国 silicon laboratories 公司的 8 位 c8051f340 微控制器,它自带 64kb 的 flash rom,256+4k 字节的 ram 和外部并口数据存储器 xram,免去了扩展外部程序存储器的麻烦。为了有较大的数据存储区来存放接收的和发送的数据报,需要外部扩展 32kb 的 sram 62256。这两种芯片的选用,主要为tcp/ip协议族的嵌入提供条件和保证提供较大的数据处理空间。c8051f340微控制器内置的64kb非易失性flash存储器。可以通过并口方式与mcu连接。在程序中用来存储嵌入式客户端的网络参数设置(ip 地址、子网掩码、默认网关

52、、物理地址)等。以太网控制器 cp220x 这一重要部件主要完成向以太网发送数据和从以太网接收数据。它内置的脉冲变压器可以与外接rj45接口直接相连,以便对以太网上的脉冲进行转换和滤波。使用双绞线作为传输介质,通过rj45 接口可以将系统连接到待测试的端口,并接人以太网,也可以直接连到 pc 微机上。rs232 接口使用 db 9 公头,用于连接 pc 机进行工作参数设置。串行口的波特率设置为 38400波特,数据格式为无奇偶校验位,8 位数据,1位停止位。本文的嵌入式系统的硬件结构如图2-4所示59。图2-4 嵌入式客户端的硬件实现图2.5 本章小结本章从比较嵌入式客户端与嵌入式服务器的异同

53、入手,研究了本课题的重点嵌入式以太网测试功能设计与实现技术;随后,讨论了嵌入式系统硬件选型的基本原则、微控制器核心和以太网控制器等选型问题;最后,介绍了c8051f340开发板的特点。硕士学位论文 第三章 嵌入式以太网测试的设计第三章嵌入式以太网测试的设计本章将详细研究嵌入式客户端各种以太网测试功能的设计。其中,设计方法采用在嵌入式领域常用且比较成熟的结构化设计方法。首先,介绍本章所使用的软件设计方面的知识基础;然后,具体讨论嵌入式以太网以太网测试功能的七个模块。3.1 软件设计知识概要众所周知,在进行软件设计过程中,必须遵从信息的隐蔽性和模块独立性两个基本的原则。由于结构化设计方法能够很好地

54、遵从这两个原则,因此,对这些功能进行设计,本文将采用结构化设计方法,软件设计中主要设计方法之一。在研究本系统的软件设计之前,首先对结构化设计方法的一些相关知识做一简要介绍。结构化设计方法是在模块化、自上而下逐层细化、结构化程序设计等软件设计技术的基础上发展起来的。该方法的实施过程如下:1总结出系统应有的功能,对每个功能,从功能的完成过程考虑,将各个过程列出来,并标识出过程转向和传递的数据。从而将所有的过程都绘制出来。2细化数据流,确定必须记录的数据。3分析各个过程之间的耦合关系,对模块进行合理的划分以降低它们之间的耦合性,提高它们之间的内聚性。一般而言,可以使每个模块都具有信息内聚性。应用结构

55、化设计方法,系统将以系统结构图的形式表示出来。结构图着重反映系统中各个模块之间的调用关系和层次关系。与数据流图反映数据流的情况不同,结构图反映的是程序中控制流的情况。在系统结构图中,可能出现四种类型的模块,它们分别是传人模块、传出模块、变换模块和协调模块。组成系统结构图的主要成分也有四个部分:模块、模块间的调用关系、模块间的通信和辅助控制符号等。常用的系统结构图主要有变换型、事务型和变换事务混合型三种。本文嵌入式以太网测试功能将研究ping 命令、traceroute 命令和ip 地址自动获取等三种主要内容。按照结构化设计方法的思路,将本嵌入式客户端系统划分为系统主控模块、系统初始化模块、定时

56、中断模块、键盘驱动模块、以太网控制驱动模块、tcp/ip协议模块、应用层模块、lcd驱动模块、串行通信模块等九个模块。在这些模块中,系统主控模块、定时中断模块、以太网控制驱动模块、tcp/ip协议模块、应用层模块、串行通信模块等是主要模块。从下节开始,重点研究这些主要模块的软件设计问题。3.2 系统主控模块的设计本嵌入式系统主控模块的功能是控制整个嵌入式系统的正常运行。在系统运行过程中,系统不仅要完成与以太网控制器的交换信息,而且还要完成产生一个基本的系统运行节拍、对串行通信中断进行处理、定时重传、定时更新等任务。为了统一管理这些任务,按照事件驱动的思想,为每个重要事件都设置一个标识。每个事件的标识的置位与否是通过中断方式来实现的。由于中断方式的效率要比查询方式高得多,这使得系统能够在这些重要事件发生时,及时设置相应的标识,从而提高了系统对事件处理的准确性和实时性。在嵌入式系统上电复位并对系统进行初始化后,系统主控模块进入主循环体,以查询方式检查每个

温馨提示

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

评论

0/150

提交评论