您当前的位置:五五电子网电子知识单片机-工控设备嵌入式系统-技术基于ARM核嵌入式微处理器的以太网应用 正文
基于ARM核嵌入式微处理器的以太网应用

基于ARM核嵌入式微处理器的以太网应用

点击数:7579 次   录入时间:03-04 11:49:30   整理:http://www.55dianzi.com   嵌入式系统-技术

       1 引言

       随着微电子技术和计算机技术的发展, 嵌入式 技术得到广阔的发展空间,特别是进入20世纪90年代以来,嵌入式技术的发展和普及更为引人注目,已经成为现代工业控制、通信类和消费类产品发展的方向,在通信领域,众多网络设备如VOIP,WirelessLAN,ADSL等都包含有大量嵌入式技术的成份,广播电视在向数字化的趋势发展,DVB,DAB技术也逐渐在全面推广起来,个人消费类产品,如PDA、数码相机、MP3播放器等产品都离不开嵌入式技术的支持,嵌入式技术在ATM、可视电话、汽车的ABS等产品中也都有大量的应用,此外,军事领域之中也处处可见嵌入式技术的身影,如单兵信息终端,便携式保密机,战场指挥系统等,可以说,嵌入式系统已经渗透到人们日常生活以至国家安全防御体系之中。

       嵌入式技术发展的核心是嵌入式微控制芯片技术的发展,当今微控制芯片功能变得越来越强,种类更为繁多, 如MIPS,PowerPC,X86, ARM ,PIC等,但这些嵌入式处理器受到价格以及兼容性等因素要求的限制,应用状况有所不同,MIPS和PowerPC处理器市场定位较高,对于成本敏感的应用并不合适,而x86系列处理器要与8068、286、386等保持兼容性,使用相同的指令集,从而限制了CPU系统性能的提高,当今嵌入式领域中使用最为广泛的是基于ARM体系结构的嵌入式处理器,其占据了80%以上的32位嵌入式处理器市场份额,从发展之初至今,ARM公司已经推出ARM7,ARM9,ARM9E,ARM10,SecurCore以及Intel的Strong ARM和Xscale等一系列的产品。这些不同版本的处理器内核,虽一脉相承,但应用背景不同,例如,ARM7系列处理器针对功耗和陈本要求比较苛刻的应用而设计的;而ARM9系列处理器主要应用于下一代的无线设备;SecurCore则是专为安全设备而定制的[1]

       技术的发展要与实际应用相结合,才能体现出技术进步的价值,嵌入式系统的发展正如日中天,基于ARM核嵌入式微处理器的 以太网 的嵌入式控制实现也正在国内外如火如荼的展开,以太网在实时操作、可靠传输、标准统一等方面的卓越性能及其便于安装、维护简单、不受通信距离限制等优点,已经被国内外很多监控、控制领域的研究人员广泛关注,并在实际应用中展露出显著的优势。

       2 ARM处理器体系的结构

       迄今为止,ARM体系一共定义了6个版本,版本号为1-6,从版本1到版本6,ARM体系的指令集功能不断增强,同时,各版本中还有一些变种,这些变种定义了该版本指令集中不同的功能。如支持Thumb指令集、支持长乘法指令集、增量型DSP指令集、JAVA加速器、媒体功能扩展指令等。这些变种的指令都是针对不同的应用而产生的,ARM处理器系列中的各种处理器,由于采用的实现技术各不相同,性能差别很大,应用的场合也有所不同,这必然引出应用程序代码的可重用性问题,例如:一段在SAMSUNG公司的ARM处理器上运行良好的代码,如果把处理器换成了ATMEL公司的ARM处理器,是否也可以稳定可靠地工作呢?答案就是只要处理器支持相同的ARM体系版本,基于他们的应用软件将是兼容的。

       ARM处理器目前包括下面几个系列的处理器产品:ARM7系列、ARM9系列,ARM9E系列、ARM10系列,SecurCore系列,Intel的Xscale和StrongARM,ARM9系列处理器是新近推出且性能比较稳定的一个系列,包括ARM920T,ART922T,ARM940T三种类型,适用不同需求的市场,本课题所选用的S3C2410X嵌入式处理器就是以ARM920T为核心的。

       ARM9系列处理器主要特点如下:支持32位ARM指令集和16位Thumb指令集;5级流水线;单一的32位AMBA总线接口;MMU支持Windows CE。Palm OS,Symbian OS,Linux等,MPU支持实时 操作系统 ,包括Vxworks;统一的数据Cache和指令Cache[2]


     &n

www.55dianzi.com bsp; 在 ARM 存储系统中,使用内存管理单元(MMU)实现虚拟地址到实际物理地址的映射。利用MMU,可把SDRAM的地址完全映射到0x0起始的一片连续地址空间,而把原来占据这片空间的FLASH或者ROM映射到其他不相冲突的存储空间位置。例如,FLASH的地址从0x0000 0000~0x00ff ffff,而SDRAM的地址范围是0x3000 0000~Ox3lff ffff,则可把SDRAM地址映射为0x0000 0000~Oxlfff ffff而FLASH的地址可以映射到Ox9000 0000~Ox90ff ffff(此处地址空间为空闲,未被占用)。映射完成后,如果处理器发生异常,假设依然为IRQ中断,PC指针指向Oxl8处的地址,而这个时候PC实际上是从位于物理地址的Ox3000 0018处读取指令。通过MMU的映射,则可实现程序完全运行在SDRAM之中。在实际的应用中.可能会把两片不连续的物理地址空间分配给SDRAM。而在 操作系统 中,习惯于把SDRAM的空间连续起来,方便内存管理,且应用程序申请大块的内存时,操作系统内核也可方便地分配。通过MMU可实现不连续的物理地址空间映射为连续的虚拟地址空间。 操作系统内核或者一些比较关键的代码,一般是不希望被用户应用程序访问。通过MMU可以控制地址空间的访问权限,从而保护这些代码不被破坏。

       MMU的实现过程,实际上就是一个查表映射的过程。建立页表(translate table)是实现MMU功能不可缺少的一步。页表是位于系统的内存中,页表的每一项对应于一个虚拟地址到物理地址的映射。每一项的长度即是一个字的长度(在ARM中,一个字的长度被定义为4B)。页表项除完成虚拟地址到物理地址的映射功能之外,还定义了访问权限和缓冲特性等。

       MMU的映射分为两种,一级页表的变换和二级页表变换。两者的不同之处就是实现的变换地址空间大小不同。一级页表变换支持1 M大小的存储空间的映射,而二级可以支持64 kB,4 kB和1 kB大小地址空间的映射[3]。MMU的一级映射图如图1所示。

MMU一级映射关系图

       3 嵌入式 处理器的选型

       一个系统必然以硬件平台为依托.设计嵌入式系统时,要从全局以及今后的发展角度出发考虑硬件平台的整体设计,不能以简单功能实现作为设计的最终目标。在设计过程中,主要需要考虑以下几个方面:

       3.1 芯片选择

       要选择通用性强、功能完备、稳定可靠的芯片。当今的很多处理器芯片,多为基于SoC结构,内置很多通用接口控制器,使用简单且可极大地降低成本;要选择具有代表性的芯片,市场上的某些芯片只是作为过渡产品销售,用于原理性、市场性验证,当芯片功能趋于稳定、市场需求较大时,通常会推出一款代表性芯片。对于设计人员来说,需要了解什么型号是具有代表性的,以保证可靠的货源供应。不同的应用场合,对芯片的级别要求不同,尽可能选择符合更高标准的芯片,以保证整个系统的稳定性和可靠性[4]

       3.2 电路设计上要有处理突发事件的能力并易于功能扩展

       系统在运行的情况下,常会遇到不可预测的外部事件,这就要求系统具有处理突发事件的能力.如利用看门狗、软复位措施保证系统遇到非期望事件后可以重新启动运行。同时系统设计也要考虑到硬件扩展以及升级的能力,如,在设计存储器结构时,要考虑电路结构可兼容不同容量的存储器甚至于不同厂家的芯片;如使用可编程逻辑器件CPLD或者FPGA时,宏单元要有盈余等。

       3.3 以软件代硬件

       嵌入式系统的软件升级要比硬件升级更容易,且在开发过程中,软件调试一般不会对硬件造成物理上的损坏。在满足实时性的前提下,尽可能地用软件代替硬件。不仅可减小硬件电路的开销和电路板的尺寸,同时又方便调试,减小了硬件损坏的可能,并进一步降低成本。


       3.4 布局布线

  &nb

www.55dianzi.com sp;    嵌入式 处理器工作在几百兆的频率下已是很常见的事情了,在高频电路板设计时,要注意电路的布局和信号线的走向,高频信号要尽量远离其他信号,尽量减小地弹、串扰等干扰,以及电路中的电磁干扰和热设计等。

       目前,世界上各大芯片生产商纷纷推出自己的 ARM 芯片,其专注的应用背景不同,各有自己的特色。ARM7和ARM9是目前ARM处理器中应用较多、技术成熟的两大系列ARM芯片。相比较而言,ARM9系列处理器无论从处理速度、外设接口以及应用范围等方面都更胜一筹。Intel的Xscale系列处理器,虽然各方面性能比较突出,但是其较高的定位,并不适合于大多数应用场合。而ATMEL公司生产的AT91RM9200处理器,定位于工业过程控制,外设接口不够齐全。

[1] [2]  下一页


本文关键字:以太网  嵌入式  微处理器  嵌入式系统-技术单片机-工控设备 - 嵌入式系统-技术