毕业设计(论)—基于ARM920T的嵌入式网络通信系统设计.doc_第1页
毕业设计(论)—基于ARM920T的嵌入式网络通信系统设计.doc_第2页
毕业设计(论)—基于ARM920T的嵌入式网络通信系统设计.doc_第3页
毕业设计(论)—基于ARM920T的嵌入式网络通信系统设计.doc_第4页
毕业设计(论)—基于ARM920T的嵌入式网络通信系统设计.doc_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

毕业论文基于ARM920T的嵌入式网络通信系 统设计毕业论文系 部: 电子工程系 学生姓名: 专业班级: 电子06C1 学 号: 指导教师: 2009年3月20日- 1 -声 明本人所呈交的 基于ARM920T的嵌入式网络通信系统设计 ,是我在指导教师的指导和查阅相关著作下独立进行分析研究所取得的成果。除文中已经注明引用的内容外,本论文不包含其他个人已经发表或撰写过的研究成果。对本文的研究做出重要贡献的个人和集体,均已在文中作了明确说明并表示谢意。作者签名: 日期: 【摘要】随着Internet的发展和后PC时代的到来,嵌入式系统以其可靠性强、体积小、专用性、成本低等特性得到日益广泛的应用。目前嵌入式系统技术已经成为了最热门的技术之一。与此同时,一个独立的嵌入式系统的功能缺陷也逐渐暴露出来。新一代嵌入计算系统的功能集成和应用模式使之迅速向网络化嵌入计算的方向发展,标准和统一的TCP/IP通信协议是独立于任何厂家的硬件的,因此嵌入环境下的实时网络通信成为嵌入计算技术研究的重点和热点。 为了利用Internet实现对远程目标的实时控制,本文以嵌入式技术与Internet网络技术为基础,开发出一种以ARM920T为硬件平台、Linux为操作系统的网络通信系统,并给出了该系统的硬件结构、软件设计方法,编写程序实现Ping的功能。 【关键词】:ARM920T,嵌入式系统,TCP/IP网络协议,网络通信ABSTRACT With the development of Internet and the arrival of Post-PC times, the application of embedded system becomes popular. Now embedded technology has been the focal point of research. Embedded system has been introduced into more and more application areas for its inherent characteristics such as high reliability, small cubage and low costs. However, defects of a single embedded system have also exposed gradually within appliance. New generation of embedded computing system mostly features at functionality integration and embedded network computing, which Communication protocols is ready and open, the equipment can be the part of the Internet by TCP/IP protocols and promotes more attention and interesting into real-time network communication between embedded systems. The use of Internet in order to realize long-term objective of real-time control, this paper, embedded technology and Internet-based network technology to develop a hardware platform ARM920T for, Linux for the operating systems network communications systems, and give the systems hardware structure, software design methods.Programming implementation Ping function.【KEY WORD】:ARM920T,Embedded Systems,TCP/IP protocols,Network Communication目 录1、 引言1页2、 嵌入式体系结构. . 3页 (一)ARM微处理器的硬件结构. 3页 (二)ARM微处理器的指令结构4页 三、设计理念及过程6页 (一) 以太网基础知识. .6 页 (二) 实现过程. 7 页 (三) C语言源程序. 12页 (四) 课题总结.14页 四、参考文献15页 五、致 谢15页第15 页 共15页1、 引言 后PC时代是一个真实的阶段,而且是一个可以预测的时代。嵌入式系统就是与这一时代紧密相关的产物,它将拉近人与计算机的距离,形成一个人机和谐的工作与生活环境。从某一个角度来看,嵌入式系统可应用于人类工作与生活的各个领域,具有极其广阔的应用前景。 嵌入式系统在应用数量上远远超过了各种通用计算机系统,一台通用计算机的外部设备中就包含了5-10个微处理器,键盘、鼠标、软驱、硬盘、显示卡、显示器、Modem、网卡、声卡、打印机、扫描仪、数字相机、USB集线器等均是由嵌入式系统控制的。在制造工业、过程控制、通讯、仪器、仪表、汽车、船舶、航空、航天、军事装备、消费类产品等方面均是嵌入式计算机的应用领域。嵌入式系统是将先进的计算机技术、半导体技术和电子技术和各个行业的具体应用相结合后的产物,这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。 纵观嵌入式系统的发展过程,可以看出嵌入式系统由简单的无操作系统的循环控制程序向具有强大功能的基于操作系统的方向发展,从独立的系统向基于网络的系统发展。进入90年代后,以计算机和软件为核心的数字化技术取得了迅猛发展,不仅广泛渗透到社会经济、军事、交通、通信等相关行业,而且深入到家电、娱乐、艺术、社会文化等各个领域,掀起了一场数字化技术革命。多媒体技术与Internet的应用迅速普及,消费电子、计算机、通信(3C)一体化趋势日趋明显,嵌入式技术已再次成为一个研究热点。 未来几年,个人计算机将会延伸到各种大小型智能设备中,各种信息借助于网络形成连接为一个整体。要达到这样的目标非嵌入式系统不可,同时这也是我们对嵌入式系统的展望。如图1-1所示为嵌入式系统在日常生活中的一些应用。嵌入式系统的出现至今已经有30多年的历史了,嵌入式技术也历经了几个发展阶段。进入90年代后,以计算机和软件为核心的数字化技术取得了迅猛发展,不仅广泛渗透到社会经济、军事、交通、通信等相关行业,而且深入到家电、娱乐、艺术、社会文化等各个领域,掀起了一场数字化技术革命。多媒体技术与Internet的应用迅速普及,消费电子(Consumptive electron),计算机,通信(Communication),3C一体化趋势日趋明显,嵌入式技术再度成为一个研究热点。综观嵌入式技术的发展,大致经历了4个阶段: 第一阶段是以单芯片为核心的可编程控制器形式的系统,同时具有与监测、伺服、指示设备相配合的功能。这种系统一般没有操作系统的支持,通过汇编语言编程对系统进行直接控制。这一阶段系统的主要特点是:系统结构和功能都相对单一,处理效率较低,存储容量较小,几乎没有用户接口。 图1-1 嵌入式系统应用 第二阶段是以嵌入式CPU为基础、以简单操作系统为核心的嵌入式系统。这一阶段系统的主要特点是:CPU种类繁多,通用性比较弱;系统开销小,效率高;操作系统具有一定的兼容性和扩展性;应用软件较专业,用户界面不够友好;系统主要用来控制系统负载以及监控应用程序运行。 第三阶段是以嵌入式操作系统为标志的嵌入式系统。这一阶段系统的主要特点是:嵌入式操作系统能运行于各种不同类型的微处理器上,兼容性好;操作系统内核精小、效率高,并且具有高度的模块化和扩展性;具备文件和目录管理、设备支持、多任务、网络支持、图形窗口以及用户界面等功能;具有大量的应用程序接口(API),开发应用程序简单;嵌入式应用软件丰富。 第四阶段是以基于Internet为标志的嵌入式系统,这是一个正在迅速发展的阶段。目前大多数嵌入式系统还孤立于Internet之外,但随着Internet的发展以及Internet技术与信息家电、工业控制技术等结合日益密切,嵌入式设备与Internet的结合将代表着嵌入式技术的真正未来。 早期的嵌入式系统只是为了实现某些特定功能,使用一个循环控制对外界的请求进行处理。不可否认,这对于简单的系统而言是足够的,但是当我们的系统变得日渐复杂庞大的时候,如果我要增添一项功能的时候,很可能不得不重新进行系统的设计,这无疑会增加开发的成本和系统复杂度。使用这种方式开发规模较大、功能复杂的嵌入式系统是不可想象的。20世纪80年代初期嵌入式操作系统的出现使得快速便捷地开发规模较大的嵌入式系统成为现实,自这一时期开始就出现了各种各样的商用嵌入式操作系统,从而形成了目前多种形式的商用嵌入式操作系统百家争鸣的局面。基于嵌入式操作系统之上的系统才能够真正符合嵌入式系统定义中的软件可裁剪、功能的可扩展、高可靠性等特征。区别于嵌入式系统,我们将不使用嵌入式操作系统的基于MCU(微控制器)、MPU(微处理器)和DSP的循环控制系统称之为前后台系统。 2、 嵌入式体系结构(1) ARM微处理器的硬件结构 ARM9内核采用了与StrongARM相同的五级流水线、提供1.1MIPS/MHz的哈佛结构、全性能的MMU单元、可配置的数据Cache和可分立和指令和数据高速AHB接口。 1五级流水线 ARM920T处理器使用流水线来增加处理器指令流的速度。这样可以使几个操作同时进行,并使处理和存储器系统连续操作,能提供1.1MIPS/MHz的指令执行速度。流水线使用5个阶段,因此指令分5个阶段执行:取址译码执行存储写。 2ARM920T处理器结构 ARM920T处理器功能方框图如图1-2。 图1-2 ARM920T处理器功能方框图 (二) ARM微处理器的指令结构ARM微处理器的在较新的体系结构中支持两种指令集:ARM指令集和Thumb指令集。其中,ARM指令为32位的长度,Thumb指令为16位长度。Thumb指令集为ARM指令集的功能子集,但与等价的ARM代码相比较,可节省3040以上的存储空间,同时具备32位代码的所有优点。 1. ARM状态下的寄存器组织 通用寄存器: 通用寄存器包括R0R15,可以分为三类: 未分组寄存器R0R7; 分组寄存器R8R14; 程序计数器PC(R15)。 未分组寄存器R0R7: 在所有的运行模式下,未分组寄存器都指向同一个物理寄存器,他们未被系统用作特殊的用途,因此,在中断或异常处理进行运行模式转换时,由于不同的处理器运行模式均使用相同的物理寄存器,可能会造成寄存器中数据的破坏,这一点在进行程序设计时应引起注意。 分组寄存器R8R14: 对于分组寄存器,他们每一次所访问的物理寄存器与处理器当前的运行模式有关。 对于R8R12来说,每个寄存器对应两个不同的物理寄存器,当使用fiq模式时,访问寄存器R8_fiqR12_fiq;当使用除fiq模式以外的其他模式时,访问寄存器R8_usrR12_usr。 对于R13、R14来说,每个寄存器对应6个不同的物理寄存器,其中的一个是用户模式与系统模式共用,另外5个物理寄存器对应于其他5种不同的运行模式。 采用以下的记号来区分不同的物理寄存器: R13_ R14_ 其中,mode为以下几种模式之一:usr、fiq、irq、svc、abt、und。 表1-1 ARM状态下的寄存器组织 表2-1 ARM状态下的寄存器组织 表23 ARM状态下的寄存器组织 2. Thumb状态下的寄存器组织 Thumb状态下的寄存器集是ARM状态下寄存器集的一个子集,程序可以直接访问8个通用寄存器(R7R0)、程序计数器(PC)、堆栈指针(SP)、连接寄存器(LR)和CPSR。同时,在每一种特权模式下都有一组SP、LR和SPSR。表24表明Thumb状态下的寄存器组织。 表1-2 Thumb状态下的寄存器组织 Thumb状态下的寄存器组织与ARM状态下的寄存器组织的关系: Thumb状态下和ARM状态下的R0R7是相同的。 Thumb状态下和ARM状态下的CPSR和所有的SPSR是相同的。 Thumb状态下的SP对应于ARM状态下的R13。 Thumb状态下的LR对应于ARM状态下的R14。 Thumb状态下的程序计数器对应于ARM状态下R15。 3、 设计理念及过程(一)以太网基础知识1以太网的分类 通常所说的以太网主要是指以下3种不同的局域网技术。 1)以太网/IEEE802.3 采用同轴电缆作为网络介质,传输速率达到10Mbps 2)100Mbps 以太网 又称为快速以太网,采用双绞线作为网络介质,传输速率达到 100Mbps。 3)1000Mbps以太网 又称为千兆以太网,采用光缆和双绞线作为网络介质,传输速率达到1000Mbps(1Gbps)。 2传输控制协议(TCP) TCP是一种面向连接的协议,其通信是以全双工方式实施的,在双方之间有可靠的流。因为因特网的节点有时会丢失包,所以TCP协议考虑了这种问题,保证接受方能够按照发送方发送数据的次序接收所有数据。从这方面看,可以认为可靠了;但是在TCP中可能出现中断连接的情况。TCP只能保证是按照发送次序接收数据的。此外TCP连接的两个端点可以同时收发数据;因为是以全双工模式运行的。TCP还负责将从主机应用程序接收到的数据分割为可以在特定链路上传输的独立包。这个包大小叫做最大段长度(MSS),这是在TCP同步时由两个协议栈协商确定的。图25-1所示为TCP头结构图。3因特网协议(IP) 因特网协议(IP)与网络层有关联。这个协议负责创建将发送到目的主机上的包。目的和源是通过IP地址标识的。一个IP地址是一个4个8位组(字节)结构,惟一地标识连接在因特网上的节点。IP地址历史上被分为5个类,具体决定了网络上的节点分布。 IP 协议目前广泛使用IPv4 版本,其数据包结构如图25-2所示: 4因特网控制报文协议(ICMP) ICMP主要用于差错信息和控制信息的构造及某些网络信息的获取。ICMP与IP 同属IP层,但ICMP报文是经IP封装后,作为IP数据报发送出去的。不把ICMP作为一个独立的协议层次,是因为ICMP不是上层协议的基础,在概念上构不成一个独立的层次。ICMP消息包括以下类型:目的不可达、超时、参数问题、源端抑制、重定向、回声请求、回声应答、时间标记请求、时间标记应答。 5PING工具的工作步骤 在使用Ping工具时,例如在计算机上输入命令行:PING 之后,PING做了哪些事情呢?这些事情包括 发送ARP请求,并等待ARP应答从而解析IP地址。 如果接收到ARP应答,就将转换成对应计算机的MAC地址。 向该计算机发送带有一些数据(例如32字节数据)的ICMP回送请求,等待对方的回送应答。 如果在一定的时间内等到了对方的ICMP回送应答,则认为PING通了,两台计算机之间的网络连接没有问题。这里所说的“一定时间”是指两个ICMP回送请求之间的延迟时间,一般取值为1s,如果时间太短,容易对网络传输造成很大的压力,甚至造成网络堵塞,不建议采用。(二)实现过程1. 新建工程ETH.mcp。2. 在ETH工程下,“右键”“Create Group”创建S3c2410x组及其子组inc和src。可以先分别创建S3c2410x、inc、src三个组,然后再把后两个组通过拖拽的方式拖到组S3c2410x,形成父子组关系,依此方法,完成组inc、src的添加。通过拖拽把inc组和src组拖到S3c2410x中成为子组。3. 在相应地方,编辑并添加文件: (1)工程根目录添加文件,具体如图1-3所示: 图1-3(2)S3c2410x根目录下添加def.h文件,如图1-4所示: 图1-4(3)在子组scr下添加文件,如图1-5所示: 图1-5(4)在子组inc下添加文件,如图1-6所示: 图 1-65修改工程设置,如图1-7所示: 图 1-76运行超级终端,选择正确的串口号,并将串口设置为:波特率(115200)、奇偶校验(None)、数据位数(8)和停止位数(1),无流控,打开串口; 7下载程序并运行,在命令行输入窗口中,输入ping 18,可以看到打印信息,如图1-8所示: 图1-8(三) C语言源程序PRIVATE USHORT ReadReg(USHORT offset)IOWRITE(IO_PACKET_PAGE_POINTER, offset);return IOREAD(IO_PACKET_PAGE_DATA);PRIVATE void WriteReg(USHORT offset, USHORT data)IOWRITE(IO_PACKET_PAGE_POINTER, offset);IOWRITE(IO_PACKET_PAGE_DATA , data);BOOL dm9000Probe(void)USHORT id_vendor, id_product;CONSOL_Printf(n DM9000 Testn);id_vendor = READ_REG1(PKTPG_VNDR_ID_L);id_vendor |= READ_REG1(PKTPG_VNDR_ID_H)8;if (id_vendor != DM9000_VNDR_ID)CONSOL_Printf(VENDOR ID Error (0x%04x != 0x%04x)n, DM9000_VNDR_ID, id_vendor);return FALSE;elseCONSOL_Printf(VENDOR ID = 0x%04xn, id_vendor);id_product = READ_REG1(PKTPG_PRDCT_ID_L);id_product |= READ_REG1(PKTPG_PRDCT_ID_H)6)&0xff) != DM9000_IO_MODE)CONSOL_Printf(nDM9000s io mode error.io_mode=%c .n,uchTemp);return FALSE;/Power on PHYWRITE_REG1(PKTPG_GPCR_1E,GPCR_PHY_ON);WRITE_REG1(PKTPG_GPR_1F,GPR_PHY_ON);WRITE_REG1(0x0000,0);WRITE_REG1(0x0002,0);WRITE_REG1(0x0008,0x003f);WRITE_REG1(0x0009,0x0038);WRITE_REG1(0x000a,0x0008);WRITE_REG1(0x002f,0);WRITE_REG1(0x00fe,0x000f);/ethaddr = getethaddr();for (ushTemp=0; ushTemp6; ushTemp+)WRITE_REG1(ushTemp+0x0010, (USHORT)(ethaddr.addrushTem

温馨提示

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

评论

0/150

提交评论