版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、I摘摘 要要嵌入式系统与以太网技术融合发展将是嵌入式技术未来发展的重要方向。针对目前网络应用的特点,提出了基于 AT91RM9200 微处理器的嵌入式网络应用平台的设计方案。即在以太网上,任何一台机通过网络浏览器,输入嵌入式网站的地址,即可访问本网站。在网站上设计了一系列 ARM9 嵌入式浏览网页,单击相应的链接,可访问相应的网页,体现出嵌入式系统的静态特性。而且该设计还详细介绍了该网站各个部分的设计和实现方法: 包括硬件模块、软件模块、引导加载程序、嵌入式 Linux 内核和根文件系统。为基于 ARM 的嵌入式网络应用系统的开发搭建了一个较为完善的平台 ,对于网络通信在嵌入式设备中的应用有很
2、好的借鉴意义,所以说嵌入式系统的设计已经成为现代电子设计的一大领域和方向。 关键字关键字 嵌入式系统 ARM920T WEB IITitleTitle ResearchResearch andand DesignDesign ofof embeddedembedded WEBWEB basedbased onon ARM9ARM9 technologytechnologyAbstractAbstractThe incorporated development of embedded system and Ethernet technology will be the important dir
3、ection of embedded technology development in the future. According to the characteristics of network application at present, the solution of constructing embedded network application platform based on embedded microprocessor AT91RM9200 is presented. That is to say, any PC computer through network br
4、owser , input the related embedded IP address and then you can have access to browse this web. On the website, I design a series of ARM9 embedded browser hompages, click on the appropriate link, you can visit the corresponding homepage,which reflect the static characteristics of embedded system. The
5、 design and implementation method of various parts, including hardware module, software module,bootloader program, embedded Linux kernel and root file system, are introduced in details. A perfect platform is built for the development of embedded network application system based on ARM, which is quit
6、e significant for the application of network communication in embedded systems. So, embedded system has been a great field of modern electronic design.KeyKeywordswords Embedded System ARM920T WEB i目目录录1 背景综述.11.1 引 言 .11.2 选题背景 .11.2.1 问题的提出.11.2.2 课题来源.11.3 目的和意义 .11.4 指导思想 .21.5 本系统研究的内容及主要工作 .22
7、系统设计综述.32.1 方案论证 .32.2 嵌入式系统概述 .42.3 ARM 微处理器.52.4 嵌入式 LINUX 特点 .73 系统硬件平台设计.93.1 AT91RM9200 电源电路设计.93.2 AT91RM9200 芯片设计.103.3 以太网电路的设计 .123.4 SDRAM 存储器电路设计 .173.5 FLASH 存储器电路设计.183.6 USB 主设备电路设计 .184 系统软件平台设计.204.1 移植嵌入式 LINUX的关键工作 .204.2 BOA 移植的建立.244.2.1 嵌入式网站 Boa 的特点 .244.2.2 Boa 的功能实现.244.2.3 B
8、oa 在 ARM 上的移植.254.2.4 测试 Boa 的运行.265 调试环境的建立及结果.275.1 调试环境的建立 .275.2 测试结论 .326 毕业设计总结.33参考文献.3411 1 背景综述背景综述1.11.1 引引 言言当今的信息时代,互联网已经渗透到了人们工作和生活的各个方面。随着计算机技术发展,嵌入式系统已成为计算机领域的一个重要组成部分。嵌入式 Internet 是近几年发展起来一项新兴概念和技术,通过各种各样的嵌入式设备也能上网使用浏览Web。21 世纪的电子信息产品要适应这个发展的方向和要求,否则将很难有强劲的竞争力。而目前正在开发的嵌入式系统中,近 50%的项目
9、选择 Linux 作为嵌入式操作系统,因此研究在 ARM-LINUX 操作系统下的嵌入式 Web 技术具有较高的现实意义。1.21.2 选题背景选题背景1.2.11.2.1 问题的提出问题的提出随着 Internet 技术与光纤技术的广泛应用,使得网络速度和带宽大幅度提高,各种基于 WEB 的项目日趋丰富,服务日趋完善,使得大众对嵌入式教学提出了更高的要求,传统的八位单片机由于其运行速度慢、驱动能力、功耗等问题已越来越不能满足用户的需求。ARM 处理器以其高性能、低功耗、丰富驱动等功能成为新的嵌入式教学领域开发的理想选择。1.2.21.2.2 课题来源课题来源本系统来自于对现代教学系统的研究,
10、其应用价值较高,系统性较强。由于工程较大,这里只设计了典型的几个功能模块,并且在整个项目中能够单独的实现重要的功能任务,具有代表性。为了更好的开发研究,我们有必要对目前较为流行的ARM-LINUX 系统做较详细的介绍。1.31.3 目的和意义目的和意义本设计主要研究内容是实现一个基于9 的嵌入式网站。即在以太网上,任何一台机通过网络浏览器,输入嵌入式网站的地址,即可访问本网站。在网站上设计了一系列嵌入式教学网页,单击相应的链接,可访问相应的网页,可以满足嵌入式教学的需要同时使嵌入式教学能广泛应用于各所学校中。与传统的教学相比,本系统不仅可以节省很大的人力物力和时间,还可以优化工作,提高工作质量
11、和工作效率。21.41.4 指导思想指导思想ARM 处理器以其高性能, 低功耗,丰富驱动等功能成为新的嵌入式电子产品开发的理想选择,尤其随着 32 位嵌入式 CPU 价格的下降和性能指标的提高,为嵌入式系统的广泛应用提供了可能。同时为了实现对系统资源的更好分配,复杂任务的更好调度,引入了嵌入式操作系统。本次设计采用了 ATMEL 公司的 AT91RM9200 ARM芯片与 DM9161E 的硬件接口电路并且实现了 TCP/IP 协议,软件部分在移植了基于ARM9 的嵌入式 LINUX 的基础之上,又采用移植 BOA 的方法,实现了嵌入式 WEB 服务器部分,以满足访问网页的要求。其中 ARM-
12、LINUX 具有很好的移植性、稳定性、强大的协议支持功能、丰富的设备支持功能,现在被广泛应用于嵌入式操作系统中并已成为一种新兴力量。1.51.5 本系统研究的内容及主要工作本系统研究的内容及主要工作采用 ATMEL 公司的 AR91RM9200 ARM 芯片设计与 DM9161E 的硬件接口,并且实现了 TCP/IP 协议,使其具有上网功能,可以作为一个嵌入式网站使用。由于受到 AR91RM9200 实现的嵌入式系统内存和处理速度的限制,该设计对TCP/IP 按层进行了简化,实现了 ARP(地址解析协议)、IP(网际协议)、ICMP(Internet 控制报文协议)、UDP(用户数据报协议)和
13、 TCP(传输控制协议)。在数据链路层实现 ARP 协议。该模块由 ARPRepuest ARP InputARP Timer 组成。ARPRepuest 负责主机在向网络发送数据时发送 ARP 请求以确定目的地址的以太网地址。ARP Input 判断 ARP 包的类型是网络上其他机子发送过来的请求包或是回送给本机的响应包、判断其合法性并进行相应的处理。如果是请求包则交换目的地址跟源地址的以太网地址跟 IP 地址,然后计算校验码,打包发送出去。如果是返回给本机的 ARP 响应包,则将数据包里面的 IP 地址存到路由表里,以便往后发送数据时可以查询目的以太网地址。在网络层实现 IP 协议和 IC
14、MP 协议。IP 模块由 IPInput 和 Ipoutput 组成。IPInput 负责接受 IP 数据包,Ipoutput 负责发送 IP 数据包。32 2 系统设计综述系统设计综述嵌入式系统的设计需要对软硬件都有一部分的了解,设计首先介绍了嵌入式系统概念,然后分别介绍了 ARM9 微处理器和操作系统 Linux 的特点,软硬件平台设计,最后介绍了 BOA 的功能及实现方法和调试环境的建立及结果。2.12.1 方案论证方案论证方案 1:从 20 世纪 80 年代到现在,单片机始终在 8 位机的档次上徘徊,8 位的单片机始终主导着应用的潮流。16 位单片机虽然也曾经掀起过波浪, 但很快就销声
15、匿迹了。随着科技的发展,人们对单片机的性能、速度、能力、存储量、通信功能的多样性、开发的方便程度及耗电的多少等不断提出更高的要求。现在,也有以 51系列为核的单片机,其设计主要基于 51 系列具有广泛应用这样一个背景。在这样的设计中,把使用 51 系列指令、具备 51 系列结构的单片机设计得功能更加强大,内部存储区更多,输入/输出口线增加几倍,速度可达 40Mb/s。但这种单片机仍然是一个 8 位机,功能仍然受到 51 系列的局限。在处理器方面,51 系列单片机只有 5 个中断源,而 ARM 系列单片机可多达上百个中断源,虽然 ARM 处理器只有 7 个中断源。其中有的以 ARM 为核的单片机
16、复位中断也是可以屏蔽的,这可能是在 ARM 中也把复位作为中断处理的原因,但从 51 系列的结构出发,这是一个很难处理的事情。方案 2:ARM 处理器是世界上最流行的嵌入式处理器,广泛应用于个人通信等嵌入式领域。ARM7 采用三级流水线:取指、译码、执行。但是 ARM7 只有数据存取器接口,同时还用来取指令和数据访问,ARM7 处理器虽然功能强大,但是目前已经开始退出主流应用领域,代替它的是性能更强大的 ARM9 系列处理器。方案 3:ARM9 系列处理器是美国 Atmel 公司设计的主流嵌入式处理器,新一代的嵌入式处理器,通过全新的设计,采用更多的晶体管,能够达到两倍以上于 ARM7处理器的
17、处理能力。ARM9 采用五级流水线,5 级流水线能够将每一个处理分配到 5个时钟周期内,在每一个时钟周期内同时有 5 个指令在执行。在同样的加工工艺下,ARM9 处理器的时钟频率是 ARM7 的 1.82.2 倍,引入了独立的存储器和写回流水线,分别用来访问存储器和将结果写回寄存器。ARM9 有独立的指令和数据存储器接口,允许处理器同时进行取指和读写数据。其主要特点如下:1)支持外部协处理器,指令和数据总线有简单握手信令支持;2)设置保护单元,非常适合嵌入式应用中对存储器进行分段和保护;3)片内指令和数据高速缓冲器(cache)容量从 4K 字节到1M 字节;4)32bit 定点 RISC 处
18、理器,改进型 ARM/Thumb 代码交织,增强性乘法设计。支持(real-time)调试。通过上面所述,可对比出 51 系列只是 8 位而 ARM 是一个 32 位处理器,在数4据访问的处理方式上相差很大,单片机有 7 种寻址方式。而 ARM9 的时钟频率高,采用 5 级流水线,ARM9 不但有 32 位指令集,还包含 16 位的 Thumb 指令集而 51 系列单片机是一个 8 位的单片机,因而只能执行 8 位宽的指令。现在,由于网络与通信的发展,我们无法把 51 系列和一个技术先进的产品相提并论,同时越来越多的产品需要具有联网功能,这需要智能产品具有一个更强劲的“芯”,这是 8 位机很难
19、做到的,所以我们必须适应时代的需求,充分利用 ARM9, 以其高性能、低功耗、丰富驱动等功能成为新的嵌入式电子产品开发的理想选择,同时为保证 WEB 网站连接速度快,响应迅速,不出现死机的情况,因此此设计采用方案三。2.22.2 嵌入式系统概述嵌入式系统概述嵌入式系统是指以应用为中心,以计算机技术为基础,软件硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。它并不是最近出现的新技术,只是随着微电子技术和计算机技术的发展,微控制芯片功能越来越强大,而嵌入微控制芯片的设备和系统越来越多,从而使得这种技术越来越引人注目。它包括硬件和软件两部分。硬件包括处理器/微处理器
20、、存储器及外设器件和 I/O 端口、图形控制器等。软件部分包括操作系统软件(OS)(要求实时和多任务操作)和应用程序。嵌入式系统的核心是嵌入式微处理器。嵌入式微处理器一般就具备以下 4 个特点:1) 对实时多任务有很强的支持能力,能完成多任务并且有较短的中断响应时间,而使内部的代码和实时内核的执行时间减少到最低限度。2) 具有功能很强的存储区保护功能。这是由于嵌入式系统的软件结构已模块化,而为了避免在软件模块之间出现错误的交叉作用,需要设计强大的存储区保护功能,同时也有利于软件诊断。3) 可扩展的处理器结构,能最迅速地开展出满足应用的最高性能的嵌入式微处理器。4) 嵌入式微处理器必须功耗很低,
21、尤其是用于便携式的无线及移动的计算和通信设备中靠电池供电的嵌入式系统更是如此,如需要功耗只有 mW 甚至 W 级。嵌入式操作系统是支持嵌入式系统应用的操作系统软件,它是嵌入式系统极为重要的组成部分,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。与通用操作系统相比较,嵌入式操作系统在系统实时高效性、硬件的依赖性、软件固态化以及应用的专用性等方面具有较为突出的特点。嵌入式操作系统的出现将大大提高嵌入式系统开发的效率,改变以往5嵌入式软件设计只能针对具体的应用从头做起。在嵌入式操作系统之上开发嵌入系统将减少系统开发的工作量,增强嵌入式应用软件的可移植性
22、,使嵌入式系统的开发方法更具科学性。嵌入式计算机系统同通用型计算机系统相比具有以下特点:嵌入式系统中的系统程序(包括操作系统)和应用程序是浑然一体的,这些程序被编译连接成一个可以执行的二进制映像文件(image),这个二进制映像文件被固化在系统中,在系统复位后自动执行。嵌入式系统的开发系统和实际运行的系统并不相同,需要交叉编译系统和适当的调试系统。嵌入式系统通常是面向特定应用的,嵌入式 CPU 与通用型的最大不同就是嵌入式 CPU 大多工作在为特定用户群设计的系统中,它通常都具有低功耗、体积小、集成度高等特点,能够把通用 CPU 中许多由板卡完成的任务集成在芯片内部,从而有利于嵌入式系统设计趋
23、于小型化,移动能力大大增强,跟网络的耦合也越来越紧密。 嵌入式系统是将先进的计算机技术、半导体技术和电子技术与各个行业的具体应用相结合后的产物。这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。 嵌入式系统的硬件和软件都必须高效率地设计,量体裁衣、去除冗余,力争在同样的硅片面积上实现更高的性能,这样才能在具体应用中对处理器的选择更具有竞争力。嵌入式系统和具体应用有机地结合在一起,它的升级换代也是和具体产品同步进行,因此嵌入式系统产品一旦进入市场,具有较长的生命周期。为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片或单片机本身中,而不是存贮于磁
24、盘等载体中。嵌入式系统本身不具备自举开发能力,即使设计完成以后用户通常也是不能对其中的程序功能进行修改的,必须有一套开发工具和环境才能进行开发。2.32.3 ARMARM 微处理器微处理器ARM(Advanced RISC Machines),既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。1990 年 11 月 ARM 公司成立于英国剑桥的一个谷仓里,主要出售芯片设计技术的授权。目前,采用 ARM 技术知识产权(IP)核的微处理器,即我们通常所说的 ARM 微处理器,已遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场,基于 A
25、RM技术的微处理器已经占据了 32 位 RISC 芯片 75以上的市场份额,可以说,ARM 技6术几乎无处不在。ARM 公司是专门从事基于 RISC 技术芯片设计开发的公司,作为知识产权供应商,本身不直接从事芯片生产,靠转让设计许可由合作公司生产各具特色的芯片,世界各大半导体生产商从 ARM 公司购买其设计的 ARM 微处理器核,根据各自不同的应用领域,加入适当的外围电路,从而形成自己的 ARM 微处理器芯片进入市场。目前,全世界前 5 大半导体公司全都使用 ARM 公司的技术授权,ARM 技术具有很高的性能和功效,因而容易被厂商接受。同时,合作伙伴的增多,可获得更多的第三方工具、制造和软件支
26、持,又使整个系统成本降低,使产品更容易进入市场的时间加快,从而具有更大的竞争优势。ARM9 系列微处理器在高性能和低功耗特性方面提供最佳的性能。具有以下特点:5 级数流水线结构(取指令、指令译码、执行、数据存储器、写寄存器),指令执行效率更高;VDDCORE 电流为 30.4mA 待机模式电流为 3.1mA;提供1.1MIPS/MHz 的哈佛结构;支持 32 位高性能 ARM 指令集和 16 位高代码密度 Thumb指令集;支持 32 位的高速 AMBA 总线接口;全性能的 MMU,支持 Windows CE、Linux、Palm OS 等多种主流嵌入式操作系统;MPU 支持实时操作系统;支持
27、数据 Cache 和指令 Cache,具有更高的指令和数据处理能力。16-K 字节数据缓存, 16-K 字节指令缓存:虚拟地址的 64 路相关缓存,每线 8 字,正向及反向写操作,伪随机或循环置换,低功耗 CAM RAM 设备。写缓冲器:16 字的数据缓冲器,4 地址的地址缓冲器,软件控制消耗。标准的 ARMv4 存储器管理单元 (MMU):区域访问许可,允许以 1/4 页面大小对页面进行访问,16 个嵌入域,64 个输入指令 TLB 及 64 个输入数据 TLB,8 位、16 位、32 位的指令总线和数据总线。ARM9 系列微处理器主要应用于无线设备、家庭网关、工业控制、安全系统、机顶盒、高
28、端打印机、数字照相机和数字摄像机等。ARM9 系列微处理器包含 ARM920T、ARM922T 和 ARM940T 三种类型,主要用于适应不同的市场要求。嵌入式 WEB 系统采用 ATMEL 公司的 AT91RM9200 处理器芯片,此芯片采用ARM920T 核,除了具有 ARM9 系列微处理器一般的特性外,还具有如下特点:集成 ARM920T 芯核,180 MHz 时性能高达 200 MIPS,存储器管理单元,16KB 的数据 Cache,16KB 的指令 Cache,含有调试信道的内部仿真器。中等规模的嵌入式宏单元结构( 仅针对 256 BGA 封装):全功能 MMU 支持 WINCE和
29、LINUX;16KB 的内部 SRAM 和 128KB 的内部 ROM;外部总线接口 EBI;支持SDRAM,SRAM,Burst Flash,和 CompactFlash,SmartMedia 以及 NAND Flash 的无缝连接。提高性能而使用的系统外设:增强的时钟发生器与电源管理控制器;两个有双7PLL 的片上振荡器;低速的时钟操作模式与软件功耗优化能力;四个可编程的外部时钟信号;包括周期性中断、看门狗及第二计数器的系统定时器;有报警中断的实时时钟;调试单元、两线 UART 并支持调试信道;有 8 个优先级的高级中断控制器,独立的可屏蔽中断源,伪中断保护;7 个外部中断源及 1 个快速
30、中断源;有 122 个可编程 I/O 口线的四个 32 位 PIO 控制器,各线均有输入变化中断及开漏能力。10/100 Base-T 型以太网卡接口:独立的媒体接口(MII)或简化的独立媒体接口 (RMII);对于接收与发送有集成的 28 字节 FIFO 及专用的 DMA 通道。USB 2.0 全速 (12 M 比特 /秒) 主机双端口:双片上收发器(208 引脚 PQFP 封装中仅为一个 );集成的 FIFO 及专用的 DMA 通道。USB 2.0 全速 (12 M 比特 /秒) 器件端口:片上收发器, 2-K 字节可配置的集成 FIFO。多媒体卡接口(MCI):自动协议控制及快速自动数据
31、传输;与 MMC 及 SD 存储器卡兼容,支持两个 SD 存储器。3 个同步串行控制器 (SSC):每个接收器与发送器有独立的时钟及帧同步信号;支持 I S 模拟接口,时分复用;32 比特的高速数据流传输能力。4 个通用同步 /异步接收 /发送器(USART):支持 ISO7816 T0/T1 智能卡;硬软件握手;支持 RS485 及高达 115 Kbps 的 IrDA 总线;USART1 为全调制解调控制线。主机/从机串行外设接口 (SPI):8 16 位可编程数据长度,可连接 4 个外设两个 3 通道 16 位定时/计数器 (TC);3 个外部时钟输入,每条通道有 2 个多功能 I/O 引
32、脚;双 PWM 产生器,捕获/波形模式,上加 /下减计数能力。电源供应:VDDCORE,VDDOSC 及 VDDPLL 电压为:1.65V 1.95V;VDDIOP (外设 I/O) 及 VDDIOM (存储器 I/O)电压为:1.65V 3.6V。2.2.4 4 嵌入式嵌入式 LinuxLinux 特点特点 嵌入式 Linux 融合了嵌入式和 Linux 的特点,其开发与一般的应用程序开发相比有着自己的特点,Arm-linux 可移植性强,用户通过重新进行配、编译内核可以使其内核文件小于 500K。Arm-linux 网络支持能强大,支持 PPP、Ethernet 等多种网络连接方式 ,包括
33、完整的 TCP/IP 协议栈及大量的其他协议 。另外,由于 Arm-linux 的开放性,新的网络协议可以很容易地加入到内核中。下面介绍了嵌入式Linux 的强大功能:第一,Linux 系统是层次结构且内核完全开放。Linux 是由很多体积小且性能高的微内核系统组成。在内核代码完全开放的前提下,不同领域和不同层次的用户可以根据自己的应用需要方便地对内核进行改造,低成本地设计和开发出满足自己需要的嵌入式系统。8第二,强大的网络支持功能。Linux 诞生于因特网时代并具有 Unix 的特性,保证了它支持所有标准因特网协议,并且可以利用 Linux 的网络协议栈将其开发成为嵌入式的 TCP/IP 网
34、络协议栈。此外,Linux 还支持 ext2、fat16、fat32、romfs 等文件系统,为开发嵌入式系统应用打下了很好的基础。第三,Linux 具备一整套工具链,容易自行建立嵌入式系统的开发环境和交叉运行环境,可以跨越嵌入式系统开发中仿真工具的障碍。Linux 也符合 IEEE POSIX.1 标准,使应用程序具有较好的可移植性。传统的嵌入式开发的程序调试和调试工具是用在线仿真器(ICE)实现的。它通过取代目标板的微处理器,给目标程序提供一个完整的仿真环境,完成监视和调试程序;但一般价格比较昂贵,只适合做非常底层的调试。使用嵌入式 Linux,一旦软硬件能够支持正常的串口功能,即使不用仿
35、真器,也可以很好地进行开发和调试工作,从而节省一笔不小的开发费用。嵌入式 Linux 为开发者提供了一套完整的工具链(tool chain)。它利用 GNU 的gcc 做编译器,用 gdb、kgdb、xgdb 做调试工具,能够很方便地实现从操作系统到应用软件各个级别的调试。第四,Linux 具有广泛的硬件支持特性。无论是 RISC 还是 CISC、32 位还是 64位等各种处理器,Linux 都能运行。Linux 通常使用的微处理器是 Intel X86 芯片家族,但它同样能运行于 Motorola 公司的 68K 系列 CPU 和 IBM、Apple、Motorola 公司的 PowerPC
36、 CPU 以及 Intel 公司的 StrongARM CPU 等处理器。Linux 支持各种主流硬件设备和最新硬件技术,甚至可以在没有存储管理单元(MMU)的处理器上运行。这意味着嵌入式 Linux 将具有更广泛的应用前景。第五,嵌入式 LINUX 的可移植性好。它广泛支持了许多不同体系结构的计算机。而且将 LINUX 移植到新的微处理器体系非常快捷,一般是将其移植到一种新型的目标板,其中包含有独特的外设。大部分的内核代码都是相同的,因为它们与微处理器无关,所以,移植的工作多集中在一些存储器管理及中断处理程序上。一旦完成,它们将非常稳定。 93 3 系统硬件平台设计系统硬件平台设计嵌入式 W
37、EB 的网站设计要求能够通过输入相应的 IP 地址,链接到所需的网页,要求具有较高实时性,因此在设计硬件电路时,需要特别注重芯片的选择。本系统采用的是具有世界先进水平的 ARM 芯片 AT91RM9200,它是美国著名公司 ATMEL 生产的 ARM920T 内核的芯片,PQFP208 封装。速度快,工作于 180 MHz 时性能高达 200 MIPS,同时它还具有 10/100 Base-T 型以太网卡接口,有独立的媒体接口(MII)或简化的独立媒体接口(RMII),对于接收与发送有集成的 28 字节 FIFO 及专用的 DMA 通道。选取 Uboot 支持的通用 FLASH 型号 HY57
38、V641620,32bit 总线,容量 128Mb,可扩展为 256Mb。选取通用 USB 转串口芯片 PL2303HX 为调试/下载串口。PC 仅需USB 口就可以完成下载/烧写/调试开发的所有功能。发挥 9200+Linux 强劲的网络功能。所有未使用得 GPIO 和 16 位 BUS 总线均用插针引出,扩展十分方便。USB 供电,无需额外电源适配器。四层 PCB,稳定设计。所以使用 AT91RM9200 作为 CPU,完全可以满足设计的要求。其中电路板资源为:4MB FLASH / 16MB SDRAM,10M/100M 以太网口,下载/烧写/调试 USB 口,IIC EEPROM (N
39、P),20 pin 通用 JTAG 口,USB HOST 标准接口,USB Device mini 接口,调试指示 LED。扩展接口为:3.3V 电源,复位信号,BUS 总线 D0-D16 / A0-A16,所有未使用的共 50 位 GPIO, GPI 可扩展为SPI/UART/485/IrDA/IIC/7816/LCD/SD 卡/AC97/NandFlash 等等,扩展接口具有PDC(DMA) 通道。下面具体介绍以 AT91RM9200 处理器芯片为核心,配备 SDRAM,网络接口芯片DM9161E 等芯片完成系统所要求的核心模块。3.13.1 AT91RM9200AT91RM9200 电源
40、电路设计电源电路设计本次设计采用 3.3V 电源供电。电源电路原理图设计如图 3.1:10图 3.1 电源电路电源电路设计所采用的 SPX1117 为一个低功耗正向电压调节器,有 0.8A 稳定的输出电流,过流及温度保护的特点。这款器件非常适合嵌入式系统的应用,因为其具有高效率,小封装和低功耗的特点。SPX1117 的输入电压最小大于输出电压1.1V,所以可以把 3.3V 的电压输出作为 SPX1117-1.8 的输入电压。当输出电流减少时,静态电流随负载变化,并提高效率。3.23.2 AT91RM9200AT91RM9200 芯片设计芯片设计Atmel 公司的 32 位 RISC 处理器 A
41、T91RM9200 是基于 ARM Thumb 的 ARM920T(核)微控制器,带有全性能的 MMU,支持 SDRAM,静态存储器,Burst Flash,CompactFals,SmartMedia,具有高性能,低功耗 ,低成本,小体积等优点.AT91RM9200 微处理器是一个多用途的通用芯片,它内部集成了微处理器和常用外围组件,具有更高性价比的特点,可以为各个领域的嵌入式系统提供优秀的解决方案。如图 3.2 所示为 AT91RM9200 芯片设计图。1112图 3.2 AT91RM9200 芯片设计图3.33.3 以太网电路的设计以太网电路的设计基于 AT91RM9200 的网络设备,
42、如下图 3.3 所示,网络系统的构架由物理介质层,物理介质独立层,EMAC 层,驱动程序和协议层组成。其中物理介质层采用 DAVICOM 公司的 10/100Mbps 快速以太网物理层收发芯片 DM9161E 实现。EMAC 是由 AT91RM9200芯片内部集成以太网控制器实现。协议层则由 Linux 操作系统实现。如图 3.5 所示为基于 AT91RM9200 的网络系统构架。图 3.3 基于 AT91RM9200 的网络系统构架DM9161E 集成了 100Base-TX 模式和 10Base-T 模式,提供了 MII(MediaIndependent Interface)接口,能够执行
43、载波监听(Carrier Sense)、冲突检测(Collision Detection)和自动协商(Auto Negotiation)的功能,DM9161E 结构框图见图 3.4。DM9161E 提供的媒体独立接口(MII)遵从 IEEE 802.3u 标准.MII 接口为 PHY 层和 MAC 层提供了一种简单并且容易的一种连接方式。MII 包括四位字节(nibble)宽度的数据接收总线,四位字节(nibble)宽度的数据发送总线和 PHY 与 MAC 层数据传输控制的信号线。 100Base-TX 传输模块。100Base-TX 传输模块包含有 4B5B 编码器、Scrambler、并行
44、到串行转换器、NRZ 到 NRZI 编码器、MLT-3 转换器、MLT-3 驱动器。13图 3.4 DM9161E 功能结构框图4B5B 编码器把从 MAC 层接收的 4 位字节数据转换为 5 位字节数据便于传输,4B5B 编码器可以被旁路。Scrambler 用于更为有效的抗辐射干扰。并行到串行转换器把经过扰频处理的 5B 数据串行化。NRZ 到 NRZI 编码器使数据传输符合 5 类非屏蔽双绞线基于 100Base-TX 传输的TP-PMD 标准。MLT-3 转换器把经过 NRZI 编码器输出的数据转换为二进制数据流输出。MLT-3 驱动器产生驱动网络变压器原端的电压信号。100Base-
45、TX 接收模块。100Base-TX 接收模块由自适应补偿器(Adaptive Equalizer)、MLT-3 到 NRZI 解码器、时钟恢复模块、NRZI 到 NRZ 解码器、串行到并行转换器、Descrambler、码组对齐模块和 4B5B 解码器组成。10Base-T 操作模块。当 DM9161 工作在 10Base-T 模式,采用的是曼彻斯特(Manchester)编码格式。当发送时,MII 提供 4 位字节的数据,串行化为位流,经曼彻斯特编码发送出去。当接收时,把在线路上接收到的曼彻斯特编码格式的数据解码后转化为 4 位字节的数据提供给 MII 接口。冲突检测。在半双工工作模式时,
46、发送和接收的冲突检测功能同时有效,当检测到冲突时,会通过 MII 接口提供 COL 信号。在全双工工作模式时此功能禁止。14载波监听。在全双工工作模式时,此功能在接收和发送数据有效;在半双工工作模式时,仅仅在接收数据有效。自动协商。通过自动协商可以确定链路状态、链路速度以及工作方式(全双工或半双工)。AT91RM9200 与 DM9161E 的硬件接口原理图电路如图 3.5 所示:图 3.5 AT91RM9200 与 DM9161E 的硬件接口原理图在 AT91RM9200 内部集成了以太网控制器(EMAC),DM9161E 负责与物理层的通信,HR61H58L 负责电平滤波与屏蔽五类双绞线的
47、接口。AT91RM9200 与 DM9161E 之间是通过 RMII 接口进行通信. AT91RM9200 的 PA15/EMDC,PA16/EMDIO 分别接 DM9161E 的 MDC 与 MDIO,这样可以对 DM9161E 的内部寄存器进行操作的,包括配置 DM9161E 的物理地址,子网掩码等。AT91RM9200 集成有以太网控制器 EMAC(Ethernet MAC)使这款芯片具有了更为广泛的应用价值。正是具有此种功能才是选用 AT91RM9200 最为主要的原因。EMAC是 OSI 参考模型 MAC 子层的物理实现,介于物理层(physical layerPHY)与逻辑链路层(
48、logical link layer LLC)之间,以 IEEE 802.3u 数据贞格式控制着主机与PHY 之间的数据交换。EMAC 为逻辑、传输和接受的 DMA 控制提供了 FIFO 缓冲区。除此之外,还为物理层(PHY)管理提供了 MDIO/MDC 接口。依据引脚的配置,EMAC 能够以 MII(media-independent interface)或 RMII(reduced media-independent interface)接口传输数据。15EMAC 主要特性为:符合 IEEE 标准 802.3;10 和 100Mbits 每秒的数据吞吐能力;全双工和半双工的工作模式;为物理
49、层提供 MII 和 RMII 接口;提供地址、数据和控制寄存器接口;DMA 控制接口;具有接收发送完毕后产生中断信号的功能;在传输数据是具有自动填充和 CRC 生成功能;通过 MDIO 接口支持物理层的管理。EMAC框图(如下图 3.6 所示:图 3.6 EMAC 控制器框图从硬件的角度看,以太网接口电路主要由 MAC 控制器和物理层接口两大部分构成。该设计中,使用 DM9161E 作为以太网的物理层接口。DM9161E 是一款低功耗、高性能的 CMOS 芯片,支持 10M 和 100M 的以太网传输,它起编码、译码输入和输出数据的作用。由于 DM9161E 和 AT91RM9200 具有的
50、EMAC 都支持 MII 接口功能,根据信号的定义相连接即可。信号的发送和接收端通过网络隔离变压器和 RJ45 接口接入传输媒体,实际完整应用电路如图 3.7。16图 3.7 以太网电路173.43.4 SDRAMSDRAM 存储器电路设计存储器电路设计SDRAM(Synchronous Dynamic RAM)同步动态存储器,使用 SDRAM 不但能提高系统表现,还能简化设计、提供高速的数据传输。在功能上,它类似常规的 DRAM,但是也需要时钟进行刷新。在系统运行时,所有的程序和数据都是在 RAM(主要是在SDRAM)中与 CPU 和外围设备交互,所以 SDRAM 的速度对于整个系统的运行速
51、度有着至关重要的影响。AT91RM9200 内置有 SDRAM 控制器(SDRAMC),具有 SDRAM 控制接口,为简化电路设计提供了很大的方便,本电路设计采用了二片通用 SDRAM,型号HY57V641620,32bit 总线。具有如下特点:支持多种配置:2K、 4K、 8K 行地址存储部分;两个或四个内部 SDRAM 区;6 位或 32 位数据路径的 SDRAM。错误检测:实时更新错误中断节能能力强:支持自更新与低功耗模式如图 3.8 所示为 SDRAM 存储器电路原理图。图 3.8 SDRAM 电路183.53.5 FLASHFLASH 存储器电路设计存储器电路设计本设计采用了型号为
52、E28F320J3A110,16bit 总线,单片 32Mb 容量的 FLASH。其原理图如 3.9 所示。图 3.9 FLASH 电路3.63.6 USBUSB 主设备电路设计主设备电路设计为了满足日后有本地存储的需求,而 USB 主设备接口可以外接移动存储设备,所以设计了此电路以备日后使用。AT91RM9200 内部集成的 USB 主端口控制器(UHP)完全符合开放 HCI 规范(Open Host Controller Interface)。具有以下特性:符合 USB 2.0 版本全速传输规范。支持电源管理功能。支持全速 12Mbps 的 USB 设备支持双片上收发器集成的 FIFO 及
53、专用的 DMA 通道。电路设计如下图 3.10 所示:19图 3.10 USB 主设备电路设计204 4 系统软件平台设计系统软件平台设计嵌入式系统通常为一个资源受限的系统。直接在此嵌入式系统的硬件平台编写软件是不可行的。由于受到内存和处理速度的限制,不可能实现完整的 TCP/IP。因此必须对 TCP/IP 根据实际情况进行简化。计划在 AT91RM9200 上面实现 ARP(地址解析协议)、IP(网际协议)、ICMP(Internet 控制报文协议)、UDP(用户数据报协议)和 TCP(传输控制协议),并对它们按层进行简化。只有实现了这些协议,才能成功设计嵌入式网站。本次设计先在通用计算机上
54、编写程序,然后通过交叉编译,生成目标平台上可运行的二进制代码再通过移植嵌入式 Linux,实现了以上协议。4.14.1 移植嵌入式移植嵌入式 LinuxLinux 的关键工作的关键工作1. 准备工作a) 交叉开发环境的安装 交叉开发环境是指编译、链接和调试嵌入式应用软件的开发环境。它与嵌入式应用软件的环境有所不同,采用宿主机/目标机模式。交叉开发环境,安装在位置/usr/local/arm/2.95.3/bin。b) 内核原码的安装 源码程序 linux-2.4.19-rmk7,拷贝到/usr/local/arm/k9l 下面,并且解压缩,得到内核源码c) 安放 Uboot 工具 源码程序 u
55、boot,拷贝到/usr/local/arm/k9s 下面。2. 预先设置主要在内核原码中设置 makefile 文件,主要设置两个地方 ARCH 和CROSS_COMPILE。ARCH :=arm ;表示目标板为armCROSS_COMPILE=/usr/local/arm/2.95.3/bin/arm-linux- ;设置交叉编译工具的地址。3. 内核配置在内核源码/usr/local/arm/k9l/ linux-2.4.19-rmk7 下make menuconfig ;菜单界面或make xconfig ;图形界面,通常采用4. 内核编译在内核源码/usr/local/arm/k9l
56、/ linux-2.4.19-rmk7 下make clean21make depmake5. 建立内核影象在内核源码/usr/local/arm/k9l/ linux-2.4.19-rmk7 下:make Image ;形成 vmlinuxcp vmlinux /usr/local/arm/2.95.3/bin ;copy在编译工具/usr/local/arm/2.95.3/bin 下./arm-linux-objcopy -O binary -S vmlinux linux.bin ;形成 linux.bingzip -v9 linux.bin ;形成 linux.bin.gzcp lin
57、ux.bin.gz /usr/local/arm/k9s/uboot/tools ;copy 在 uboot 的目录/usr/local/arm/k9s/uboot/tools 下./mkimage-Aarm-Olinux-Cgzip-a0 x20008000-e0 x20008000-dlinux.bin.gzuImage ;把 linux.bin.gz 文件变为最终的影象文件 uImage最后,检查 uImage 大小,尽量使 uImge 小于 8*128=768(KB)。至此,Linux 内核移植完成,我们生成了 linux-2.4.19-rmk 的 linux 内核烧写文件uImage
58、。6. 配置和裁剪 Linux 的内核在 Linux 下,用 make xconfig 或者 make menuconfig 进入配置的界面。在内核配置中,一般有四种选择:Y(选种)、N(不选)、M(模块)和数字,用户可以根据裁剪需要进行设置,最后配置完毕,选择是否对配置结果进行保存。图形配置界面如下图 4.1 所示:图 4.1 图形配置界面BlockBlock Devices:Devices: Network block device support : n22 - Ramdisk support: y - Default Ramdisk size: 15360 # 真实的 Ramdisk
59、大小在 Uboot ENV 里面配置 - Initial Ramdisk (initrd) support: yFileFile SystemSystem - Network File systems: NFS file system support : n - NFS server support: nConsoleConsole driversdrivers - Frame Buffer Support: support for frame buffer devices (exp):n # 本网站不支持屏,选n - epson LCD/CR/TV controller support: y
60、 - epson S1 D1 3806 support for AT91RM9200DK: y - virtual frame buffer support (only for testing!): n - advanced low level driver option: y - 16 bpp packed pixeld support: y (others n)USBUSB Support:Support: support for USB: y - AT91RM9200 OHCI- compatible host interface: y - USB mass storage suppor
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 石河子大学《食品机械与设备》2023-2024学年第一学期期末试卷
- 石河子大学《教育影视赏析》2021-2022学年第一学期期末试卷
- 石河子大学《家畜育种学》2023-2024学年第一学期期末试卷
- 石河子大学《饭店管理》2023-2024学年第一学期期末试卷
- 沈阳理工大学《商业品牌整体策划》2023-2024学年第一学期期末试卷
- 沈阳理工大学《建筑设计》2022-2023学年第一学期期末试卷
- 2018年四川内江中考满分作文《我心中的英雄》8
- 沈阳理工大学《化工安全与环保》2022-2023学年第一学期期末试卷
- 沈阳理工大学《电力变压器设计》2023-2024学年期末试卷
- 沈阳理工大学《产品仿生学应用设计》2021-2022学年第一学期期末试卷
- 2024年贵州省安顺市西秀区小升初语文试卷
- 2024-2029年中国儿童牙冠行业市场现状分析及竞争格局与投资发展研究报告
- 新时代铁路发展面对面全文内容
- 人工智能与语文阅读理解教学
- 科学素养培育及提升-知到答案、智慧树答案
- 快递主管岗位职责
- 医疗差错、纠纷、事故登记表
- MT-T 5017-2017民用运输机场航站楼安防监控系统工程设计规范
- 七年级第一次期中家长会课件
- 2024下半年四川省广元市直属事业单位招聘104人历年公开引进高层次人才和急需紧缺人才笔试参考题库(共500题)答案详解版
- 市政道路施工工程重难点分析及对策
评论
0/150
提交评论