4110008032+付水生+基于ARM CortexM3的双以太网口通信的实现.docx

上传人:b****8 文档编号:9124380 上传时间:2023-02-03 格式:DOCX 页数:41 大小:2.49MB
下载 相关 举报
4110008032+付水生+基于ARM CortexM3的双以太网口通信的实现.docx_第1页
第1页 / 共41页
4110008032+付水生+基于ARM CortexM3的双以太网口通信的实现.docx_第2页
第2页 / 共41页
4110008032+付水生+基于ARM CortexM3的双以太网口通信的实现.docx_第3页
第3页 / 共41页
4110008032+付水生+基于ARM CortexM3的双以太网口通信的实现.docx_第4页
第4页 / 共41页
4110008032+付水生+基于ARM CortexM3的双以太网口通信的实现.docx_第5页
第5页 / 共41页
点击查看更多>>
下载资源
资源描述

4110008032+付水生+基于ARM CortexM3的双以太网口通信的实现.docx

《4110008032+付水生+基于ARM CortexM3的双以太网口通信的实现.docx》由会员分享,可在线阅读,更多相关《4110008032+付水生+基于ARM CortexM3的双以太网口通信的实现.docx(41页珍藏版)》请在冰豆网上搜索。

4110008032+付水生+基于ARM CortexM3的双以太网口通信的实现.docx

4110008032+付水生+基于ARMCortexM3的双以太网口通信的实现

学号:

4110008032

泰山医学院毕业设计(论文)

 

题目:

基于ARMCortex-M3的双以太网口通信的实现

 

院(部)系

信息工程学院

所学专业

计算机科学与技术

年级、班级

2010级本科1班

完成人姓名

付水生

指导教师姓名

专业技术职称

彭磊副教授

2014年6月10日

 

论文原创性保证书

我保证所提交的论文都是自己独立完成,如有抄袭、剽窃、雷同等现象,愿承担相应后果,接受学校的处理。

 

专业:

计算机科学与技术

班级:

2010级本科一班

签名:

年月日

 

摘要

随着嵌入式系统技术的发展,嵌入式系统技术与以太网技术融合的也越来越紧密,虽然嵌入式系统的应用程序完全可以在ARM裸机上运行,但是随着测控设备功能的增强,嵌入式系统所需完成的任务越来越复杂,需要管理的外设越来越多,传统的软件开发模式已经显得力不从心。

而采用嵌入式操作系统作为软件开发平台,就可以由操作系统来完成任务的管理和系统资源的分配,开发工作的重点才能集中于实际应用系统性能的提高。

此外,在操作系统基础上可实现统一规范的编程,使程序具有良好的可读性和可移植性,并可提高开发的效率。

ARMCortex-M3处理器结合了多种突破性技术,令芯片供应商提供超低费用的芯片。

该处理器还集成了许多紧耦合系统外设,令系统能满足下一代产品的控制需求。

本论文是基于ARMCortex-M3微处理器MB9F618和近来比较流行RT-Thread操作系统的双以太网口通信的研制过程为主要内容,阐述了其具体使用的技术和各模块的实现方法,区别于一般的TCP/IP协议,本系统采用了LwIP的通信协议,LwIP实现的重点是在保持TCP协议主要的功能的基础上减少对RAM的占用,它只需要十几KB的RAM和40K左右的ROM就可以运行,这使LwIP协议栈适合在低端的嵌入式系统中使用。

在以上的硬件和软件的共同支持下,最终完成了双以太网口之间通信的研究。

关键词:

ARMCortex-M3;RT-Thread;LwIP;双以太网的通信

Abstract

Withthedevelopmentofembeddedsystemstechnology,embeddedsystemtechnologyandtheintegrationofEthernettechnologyisalsomoreclosely,thoughembeddedsystemsapplicationscanrunonARMbaremetal,butwithenhancedfunctionalityandcontroldevices,embeddedsystemsneededtocompletethetaskmorecomplex,theneedtomanagemoreandmoreperipherals,traditionalsoftwaredevelopmentmodelhasappearedtobeinadequate.Thefocusondistributiondevelopmentofembeddedoperatingsystemasthesoftwaredevelopmentplatform.

Inaddition,theoperatingsystemcanberealizedonthebasisofastandardizedprogramming,theprogramhasgoodreadabilityandportability,andimprovedevelopmentefficiency.

ARMCortex-M3processorcombinesmultiplebreakthroughtechnologiesenablechipvendorstoprovideultra-lowcostofthechip.Theprocessoralsointegratesanumberoftightly-coupledsystemperipherals,sothatthecontrolsystemcanmeettheneedsofthenextgenerationofproducts.

ThisthesisisbasedonthedevelopmentprocessofdualEthernetportcommunicationARMCortex-M3microprocessorMB9F618andrecentlymorepopularRT-Threadoperatingsystemasthemaincontent,technologyanddescribestheimplementationofeachmoduleofitsspecificuse,thedifferenceingeneralTCP/IPprotocol,thesystemusesacommunicationprotocolLwIPfocusLwIPachieveistoreducetheoccupancyofRAMonthebasisofmaintainingthemainfeaturesoftheTCPprotocolon,ittakesaboutadozenKBofRAMand40KofROMcanrun,whichmakesLwIPstacksuitableforuseinlow-endembeddedsystems.Insupportofthesecommonhardwareandsoftware,thefinalcompletionofthestudyofcommunicationbetweenthedualEthernetports.

Keywords:

ARMCortex-M3;RT-Thread;LwIP;dualEthernetcommunication

目录

前言1

第一章相关技术背景介绍3

1.嵌入式系统的定义3

2.嵌入式处理器分类与现状4

3.嵌入式操作系统6

4.网络协议栈6

5.本章小结7

第二章系统硬件平台8

1.ARMCortex-M3处理器8

2.系统任务要求9

2.1硬件方面9

2.1软件方面9

3.开发板MB9F618简介9

3.2开发板外观9

3.2配置说明10

4.本章小结11

第三章软件的设计12

1.嵌入式操作系统的选择12

1.1RT-Thread操作系统的简介12

1.2虚拟文件系统13

1.3shell系统13

1.4图形用户界面13

1.5支持的平台13

1.6RT-Thread的内核对象模型14

1.7内核对象管理工作模式14

1.8线程状态15

2.LwIP协议栈16

2.1LwIP协议栈简介16

2.2LwIP的以太网数据接收18

3.LwIP协议栈的初始化21

4.MB9F618网口设置22

5.主要函数功能的简介25

6.本章小结25

第四章系统功能模块调试27

1.程序烧写27

2.程序烧写后27

3.双网卡测试27

4.网口的通信29

5.本章小结31

结论32

参考文献33

致谢34

前言

最近几年,嵌入式系统产品日臻完善,并在全世界各行业得到广泛应用。

嵌入式系统产品的研制和应用已经成为我国信息化带动工业化、工业化促进信息化发展的新的国民经济增长点。

随着信息化、智能化、网络化的发展,嵌入式技术将全面展开,现在嵌入式已经成为通信和消费类产品的共同发展方向。

总体来说,嵌入式系统分别在硬件和软件方面获得发展。

嵌入式系统必将成为当今IT界的又一焦点,开发自主知识产权的嵌入式处理器和嵌入式操作系统,对于我们国家的民族IT产业来讲具有十分重要的战略意义。

从国内IT市场来看,嵌入式系统及其产品在由家电产品和Internet衍生出来的新型市场中占有主导地位和独特份额。

在消费家电的智能化的今天,嵌入式更显重要。

像我们平常见到的手机、PDA、电子字典、可视电话、VCD/DVD/MP3Player、数字相机(DC)、数字摄像机(DV)、U-Disk、机顶盒(SetTopBox)、高清电视(HDTV)、游戏机、智能玩具、交换机、路由器、数控设备或仪表、汽车电子、家电控制系统、医疗仪器、航天航空设备等等,都是典型的嵌入式系统。

据预测,随着Internet的迅速发展和廉价微处理器的出现,嵌入式系统将在日常生活里形成更大的应用领域。

新的微处理器层出不穷,嵌入式操作系统自身结构的设计更加便于移植,能够在短时间内支持更多的微处理器。

嵌入式系统的开发成了一项系统工程,开发厂商不仅要提供嵌入式软硬件系统本身,同时还要提供强大的硬件开发工具和软件支持包。

各类嵌入式Linux操作系统迅速发展,由于具有源代码开放、系统内核小、执行效率高、网络结构完整等特点,很适合信息家电等嵌入式系统的需要,目前已经形成了能与WindowsCE、PalmOS等嵌入式操作系统进行有力竞争的局面。

网络化、信息化的要求随着Internet技术的成熟和带宽的提高而日益突出,以往功能单一的设备如电话、手机、冰箱、微波炉等功能不再单一,结构变得更加复杂,网络互联成为必然趋势。

精简系统内核,优化关键算法,降低功耗和软硬件成本。

提供更加友好的多媒体人机交互界面。

21世纪无疑将足一个网络的时代,将嵌入式系统应用到各种网络环境中去的呼声自然也越来越高。

目前大多数嵌入式系统还孤立于Internet之外,随着Internet的进一步发展,以及Internet技术与信息家电、工业控制技术等的结合日益紧密,嵌入式设备与Internet的结合才是嵌入式技术的真正未来。

信息时代和数字时代的到来,为嵌入式系统的发展带来了巨大的机遇,同时也对嵌入式系统厂商提出,新的挑战。

目前,嵌入式技术与Internet技术的结合正在推动着嵌入式技术的飞速发展,嵌入式系统的研究和应用产生了如下新的显著变化;

随着ARM及其合作伙伴在嵌入式领域不断努力,芯片的成本不断降低,多种智能设备将通过互联网得以联动,形成一个体系。

在这个网络中,所有的日常事物都将内置芯片,从而具备处理信息并与网络交流的能力,这就是所谓的物联网。

与应用处理器(AP)相比,微控制器(MCU)应用和嵌入式系统开发领域无疑具有相当的多样性和复杂性。

2012年23日,中国农历年的除夕这一天,LSI公司今天宣布扩大与ARM的长期的战略合作伙伴关系。

新闻明确的提出,LSI将借此合作进军网络应用。

根据新授权许可,LSI不但可以访问包括包括了支持虚拟化的ARMCortex-A15处理器的一系列ARM处理器,而且可以访问对于多核应用至关重要的ARM芯片的互连技术。

回顾2013,10月份,AppliedMicro的获得v8架构授权,8月份,海思半导体获ARM技术授权,用于新一代的3G/4G基站网络基础架构。

2月份,Broadcom和ARM扩展了战略合作伙伴,1月份,Cavium的进行一代SoC的新闻,再算上一直有ARM架构Marvell,ARM越来越多的和网络联系在一起。

在国内,越来越多的开源软件,让一直倍受封闭系统折磨的电信OEM,开始从ARM强大的生态系统的受益。

当然,最重要的是,ARM的处理器不仅仅是在低功耗表现出色,它们在性能方面的优势逐步显现。

因为网络应用永远都是性能饥渴的。

将嵌入式系统技术与以太网技术集成在一起很早之前就产生了,但是有很多的客观因素制约了它的发展。

早期的嵌入式系统中的处理器大部分是以8位、16位MCU微控制器为主,无论是运算速度还是存储容量都比较低。

而且早期的以太网技术还不成熟,所以TCP/IP协议栈未能在嵌入式系统中得到广泛的运用。

但是随着半导体微电子技术和以太网技术的高速发展,以上的问题正在逐步得到解决,32位MCU微处理器也逐步得到广泛的应用。

本文以ARM处理结构的嵌入式硬件系统为基础,实现了具有网络通信的实时操作系统,该应用可以广泛的在工业控制,通讯设备,家用电器等领域推广,使得更多的设备能够被远程控制和管理,改变传统的模式,进入互联网通信的世界。

除此之外,本文是采用MB9F618这开发板,TR-Thread的操作系统,以及嵌入式的LwIP协议,最终来实现本系统的测试。

第一章相关技术背景介绍

1.嵌入式系统的定义

嵌入式系统(EmbeddedSystem)是一种包括硬和软件的完整的计算机系统,它的定义是:

“嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可剪裁,适用于应用系统对功能、可靠性、成本、体积和功耗有严格要求的专用计算机系统。

”嵌入式系统所用的计算机是嵌入到被控对象的专用微处理器,但是功能比通用计算机专门化,具有通用计算机所不能具备的针对某个方面特别设计的、合适的运算速度、高可靠性和较低比较成本的专用计算机系统。

嵌入式系统一般指非PC系统,它包括硬件和软件两部分。

硬件包括处理器微处理器、存储器及外设器件和I/O端口、图形控制器等。

软件部分包括操作系统软件(OS)(要求实时和多任务操作)和应用程序编程。

有时设计人员把这两种软件组合在一起。

应用程序控制着系统的运作和行为;而操作系统控制着应用程序编程与硬件的交互作用。

嵌入式系统的核心是嵌入式微处理器。

嵌入式微处理器一般就具备以下4个特点:

(1)对实时多任务有很强的支持能力,能完成多任务并且有较短的中断响应时间,从而使内部的代码和实时内核心的执行时间减少到最低限度。

(2)具有功能很强的存储区保护功能。

这是由于嵌入式系统的软件结构已模块化,而为了避免在软件模块之间出现错误的交叉作用,需要设计强大的存储区保护功能,同时也有利于软件诊断。

(3)可扩展的处理器结构,以能最迅速地开展出满足应用的最高性能的嵌入式微处理器。

(4)嵌入式微处理器必须功耗很低,尤其是用于便携。

下面对嵌入式计算机系统的组成进行介绍。

(1)硬件层

硬件层中包含嵌入式微处理器、存储器(SDRAM、ROM、Flash等)、通用设备接口和I/O接口(A/D、D/A、I/O等)。

在一嵌入式处理器基础上添加电源电路、时钟电路和存储器电路,就构成了一个嵌入式核心控制模块。

其中操作系统和应用程序都可以固化在ROM中。

(2)中间层

硬件层与软件层之间为中间层,也称为硬件抽象层(HardwareAbstractLayer,HAL)

或者版级支持包(BoardSupportPackage,BSP),它半系统上层软件与底层硬件分离开来,使系统的底层驱动程序与硬件无关,上层软件开发人员无需关心底层硬件的具体情况,根据BSP层提供的接口即可进行开发。

该层一般包含相关底层硬件的初始化、数据的输入/输出操作和硬件设备的配置功能。

实际上,BSP是一个介于操作系统和底层硬件之间的软件层次,包括了系统中大部分与硬件联系紧密的软件模块。

设计一个完整的BSP需要完成两部分工作:

嵌入工系统的硬件初始化的BSP功能,设计硬件相关的设备驱动。

(3)系统软件层

系统软件层由实时多任务操作系(Real-timeOperationSystem,RTOS)、文件系统、图形用户接口(GraphicUserInterface,GUI)、网络系统及通用组件模块组成。

RTOS是嵌入式应用软件的基础和开发平台。

2.嵌入式处理器分类与现状

图1-1嵌入式处理器分类

嵌入式微处理器(MPU):

微机中的中央处理器(CPU)称为微处理器(MPU),是构成微机的核心部件,也可以说是微机的心脏。

它起到控制整个微型计算机工作的作用,产生控制信号对相应的部件进行控制,并执行相应的操作。

在微机中,CPU被集成在一片超大规模集成电路芯片上,称为微处理器(MPU),微处理器插在主板的cpu插槽中。

通常所说的16位机、32位机是指该计算机中微处理器内部数据总线的宽度,也就是CPU可同时操作的

二进制数的位数。

目前常用的CPU都是64位的,即一次可传送64位二进制数。

嵌入式微控制器(MCU):

(嵌入式微控制器(EmbeddedMicrocontrollerUnit,EMCU)嵌入式微控制器的典型代表是单片机,单片机从诞生之日起,就称为嵌入式微控制器。

它体积小,结构紧凑,作为一个部件埋藏于所控制的装置中,主要完成信号控制的功能。

就是将整个计算机系统集成到一块芯片中。

但这种8位的电子器件目前在嵌入式设备中仍然有着极其广泛的应用。

单片机芯片内部集成ROM/EPROM、RAM、总线、总线逻辑、定时/计数器、看门狗、I/O、串行口、脉宽调制输出、A/D、D/A、FlashRAM、EEPROM等各种必要功能和外设。

和嵌入式微处理器相比,微控制器的最大特点是单片化,体积大大减小,从而使功耗和成本下降、可靠性提高。

微控制器是目前嵌入式系统工业的主流。

由于微控制器的片上外设资源一般比较丰富,适合于控制,因此称微控制器。

为了适应不同的应用需求,一般一个系列的单片机具有多种衍生产品,每种衍生产品的处理器内核都是一样的名不同的是存储器和外设的配置极封装。

这样可以最大限度地与应用需求相匹配,从而减小功耗和成本。

由于MCU低廉的价格,优良的功能,所以拥有的品种和数量最多。

比较有代表性的包括8051、MCS.96/196/296、P51XA、C166/167、68K系列以及MCU8XC930/931、C540、C541,并且有支持12C、CAN.Bus、LCD及众多专用MCU和兼容系列。

目前MCU占嵌入式系统约70%的市场份额。

嵌入式DSP处理器(DSP):

DSP是一门涉及许多学科而又广泛应用于许多领域的新兴学科。

20世纪60年代以来,随着计算机和信息技术的飞速发展,数字信号处理技术应运而生并得到迅速的发展。

数字信号处理是一种通过使用数学技巧执行转换或提取信息,来处理现实信号的方法,这些信号由数字序列表示。

在过去的二十多年时间里,数字信号处理已经在通信、消费电子等领域得到广泛的应用。

DSP处理器经过单片化、EMC改造、增加片上外设,或在通用单片机或SOC中增加DSP协处理器,从而发展成为嵌入式DSP处理器(EmbeddedDigitalSignalProcessor,EDSP),推动嵌入式DSP处理器发展的因素主要是嵌入式系统的智能化。

目前TI、ADI、Freescale、CEVA等半导体厂商在这一领域拥有很强的实力。

嵌入式片上系统(systemonchip):

SoC定义的基本内容主要表现在两方面:

其一是它的构成,其二是它形成过程。

系统级芯片的构成可以是系统级芯片控制逻辑模块、微处理器/微控制器CPU内核模块、数字信号处理器DSP模块、嵌入的存储器模块、和外部进行通讯的接口模块、含有ADC/DAC的模拟前端模块、电源提供和功耗管理模块,对于一个无线SoC还有射频前端模块、用户定义逻辑(它可以由FPGA或ASIC实现)以及微电子机械模块,更重要的是一个SoC芯片内嵌有基本软件(RDOS或COS以及其他应用软件)模块或可载入的用户软件等。

系统级芯片形成或产生过程包含以下三个方面:

(1)基于单片集成系统的软硬件协同设计和验证;

(2)再利用逻辑面积技术使用和产能占有比例有效提高即开发和研究IP核生成及复用技术,特别是大容量的存储模块嵌入的重复应用等;

(3)超深亚微米(UDSM)、纳米集成电路的设计理论和技术。

3.嵌入式操作系统

图1-2嵌入式设备网络化

(1)地址资源

物联网的实现需要给每个物体分配唯一的标识或地址。

最早的可寻址性想法是基于RFID标签和电子产品唯一编码来实现的。

另一个来自语义网的想法是,用现有的命名协议,如统一资源标志符来访问所有物品(不仅限于电子产品,智能设备和带有RFID标签的物品)。

这些物品本身不能交谈,但通过这种方式它们可以被其他节点访问,例如一个强大的中央服务器。

下一代互联网将使用IPv6协议,它拥有极大数量的地址资源,使用IPv6的程序能够和几乎所有接入设备进行通信。

这个系统将能够识别任何一种物品GS1/EPCglobalInformationServices(EPCIS)是这些想法的一个综合实践。

这个系统被用来标识从航天、交通到消费电子领域的物品。

(2)人工智能

环境智能和自主控制并不是物联网最初概念的一部分。

环境智能和自主控制也并不依赖于网络架构。

但目前的研究趋势是将自主控制和物联网结合在一起,在未来物联网可能是一个非决定性的、开放的网络,其中自组织的或智能的实体和虚拟物品能够和环境交互并基于它们各自的目的自主运行。

4.网络协议栈

(1)嵌入式微处理器和嵌入式操作系统为特征的嵌入式计算平台使计算进入了后PC时代。

嵌入式系统的小体积、高可靠能够满足实现野战和恶劣环境下的便携虚拟仪器的需要。

基于嵌入式计算平台,设计虚拟仪器系统成为构建测试系统的新思路。

(2)与通用型计算机系统相比,嵌入式系统功耗低、可靠性高;功能强大、性能价格比高;实时性强,支持多任务;占用空间小,效率高;面向特定应用,可根据需要灵活定制。

(3)操作方便、简单、提供友好的图形GUI和图形界面,追求易学易用。

提供强大的网络功能,支持TCP/IP协议及其他协议,提供TCP/UDP/IP/PPP协议支持及统一的MAC访问层接口,为各种移动计算设备预留接口。

强稳定性,弱交互性。

嵌入式系统一旦开始运行就不需要用户过多的干预、这就要负责系统管理的EOS具有较强的稳定性。

(4)嵌入式操作系统的用户接口一般不提供操作命令,它通过系统的调用命令向用户程序提供服务。

固化代码。

在嵌入式系统中,嵌入式操作系统和应用软件被固化在嵌入式系统计算机的ROM中。

(5)更好的硬件适应性,也就是良好的移植性。

5.本章小结

从技术的角度定义:

嵌入式系统是以应用为中心,以计算机技术为基础,软件硬件可剪裁,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。

从系统的角度定义:

嵌入式系统是设计完成复杂功能的硬件和软件,并使其紧密耦合在一起的计算机系统。

第二章系统硬件平台

1.ARMCortex-M3处理器

图2-1Cortex-M3的一个简化示意图

CM3拥有R0~R15的寄存器组,其中R13作为堆栈指针SP。

SP有两个,但在同一时刻只能看到一个,这就是所谓的"banked"寄存器。

1.R0~R12是32位通用寄存器,用于数据操作。

绝大多数16位的thumb指令只能访问R0~R7,而32位的thumb指令可以访问全部寄存器。

2.bankedR13:

两个堆栈指针主堆栈指针(MSP):

复位后默认使用进程堆栈指针(PSP):

由用户的应用程序代码使用堆栈指针的最低两位永远是0,这意味着堆栈总是4字节对齐的。

实际上,R13的最低两位被硬线连接到0。

图2-2Cortex-M3内部寄存器示意图

2.系统任务要求

2.1硬件方面

(1)实现1个串口,1个RS232或1个Rs232和1

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1