基于ARM微处理器TCP/IP协议栈LwlP实现

发布者:sunyouz1最新更新时间:2014-01-08 来源: eefocus关键字:ARM微处理器  TCPIP协议栈  LwlP 手机看文章 扫描二维码
随时随地手机看文章
  0 引 言

  随着嵌入式系统与网络的日益结合,越来越多的嵌入式设备需要实现Internet网络化,支持嵌入式设备接入网络,已成为嵌入式领域重要的研究方向。而目前嵌入式系统中大量应用低速处理器,受内存和速度限制,实现完整的TCP/IP协议较为困难,LwIP作为较为成熟的嵌入式TCP/IP协议栈受到了广泛的应用。

  1 硬件平台

  本通信系统的硬件平台由以下几个部分组成:S3C2410主CPU芯片控制嵌入式外围设备的存储、通信、保护、调试、显示等操作;DSP和FPGA负责信号数据的采集和处理;CS8900A负责网络数据的收发;其他部分还包括串口RS232的通信、LCD的数据显示、数据存储FLASH和SDRAM以及其他硬件控制等。本硬件通信平台的原理框图如图1所示。

  嵌入式操作系统选用的是μcosⅡ,μcosⅡ作为目前市场上最小的嵌入式操作系统得到了广泛的应用,提供任务问通信、同步使用的信号量、邮箱和消息队列;具有良好的可裁剪性。

  2 TCP/IP协议栈LwIP的移植

  LwIP由几个模块组成,除TCP/IP协议的实现模块外(IP,ICMP,UDP,TCP),还有包括许多相关支持模块。这些支持模块包括:操作系统模拟层、缓冲与内存管理子系统、网络接口函数及一组Internet校验和计算函数。缓冲与内存管理子系统等大部分模块LwIP都已经独立出来,在移植的过程中不需要改动,我们只需要实现操作系统模拟层以及底层硬件驱动就可以正常工作。

  操作系统模拟层存在的目的主要是为了方便LwIP的移植,它在底层操作系统μcosⅡ和LwIP之间提供了一个接口。这样,我们在移植LwIP到一个新的目标系统时,只需修改这个接口即可。操作系统模拟层需要实现信号量操作函数、邮箱操作函数和线程操作函数三类。

  为支持操作系统模拟层,还需要完成与CPU或编译器相关的定义,如数据类型、数据长度、字的高低位顺序等,这些应该与实现μC/OS-Ⅱ时相一致。另外需要注意的是由于一个网络可能由不同的体系结构的CPU组成,其字节顺序可能有两种方式:Little-endian顺序和Big-endian顺序。需要注意字节顺序的相互匹配。

  3 底层网络驱动的实现

  底层网络驱动的框架LwIP已经为我们实现了绝大部分(如图2所示),我们只需要在作者设计好的框架中完成与底层硬件相关的部分即可。即我们只需要实现与硬件相关的网卡初始化函数网络数据包发送函数和网络数据包接收函数。

  本文所采用的底层网络芯片CS8900A是C IRRU SLO G IC公司生产的低功耗、性能优越的16位以太网控制器,功能强大。突出特点是使用灵活,其物理层接口、数据传输模式和工作模式等都能根据需要而动态调整,通过内部寄存器的设置来适应不同的应用环境。它的主要特点是符合IEEE 802.3以太网标准;片内带有4K字节的RAM来存储发送和接收数据;与主机之间的数据通讯方式有I/O模式、Memory模式和DMA模式,在电路设计时可根据具体情况灵活选择;带有传送、接收低通滤波的10Base2T连接端口;支持10Base2,10Base5和10Base2F的AU I接口;自动生成报头,自动进行CRC检验,冲突后自动重发;全双工和半双工可选模式。 [page]

  CS8900A初始化部分的主要内容如下:

  软件复位,并检查复位完成标志是否置位;
  设定Memory工作模式,使其4K内存地址映射到主机内存中;
  设定临时使用的以太网物理地址,真实地址需要向权威机构申请;
  设定接收帧的类型,至少要能接收广播;
  确定数据的传送方向,一般设为全双工方式;
  中断使能允许;
  使能接收中断;
  确定CS8900A的中断管脚号,根据硬件线路使用情况来确定;
  接收发送使能。
  其中需要说明的是由于TCP/IP通信非常频繁,在ARM中接收发送数据采用中断模式占用资源太多,因此本文采用的是查询方式,也可以保证数据的基本通信。

  CS8900A的数据发送基本流程如下:在收到由主机发来的数据报后,侦听网络线路。如果线路忙,它就等到线路空闲为止,否则,立即发送该数据帧。发送过程中,首先,它添加以太网帧头(包括先导字段和帧开始标志),然后,生成CRC校验码,最后,将此数据帧发送到以太网上。数据发送流程图如图3所示。

  数据接收时,它将从以太网收到的数据帧在经过解码、去掉帧头和地址检验等步骤后缓存在片内。在CRC校验通过后,它会根据初始化配置情况,通知主机CS8900A收到了数据帧,然后传到主机的存储区中。数据接收流程图如图4所示。

  4 上层Socket基本通信实现

  LwIP已经实现了大部分的Socket网络连接函数,我们要实现Socket,的基本通信,只需要在此基础上通过调用其Socket网络连接函数实现简单的客户机/服务器模式即可。仪器作为服务器方,主机作为客户机进行连接。实现结果如图5所示,发送程控命令FREQ 300,返回FREQ 300.000000MHzOK表示设置成功。

  5 结束语

  本系统已经在场强仪AV3942中使用,能够通过网络对其进行远程控制,实践证明,该系统简便实用,能够方便、灵活的实现各种通信系统的互联。
关键字:ARM微处理器  TCPIP协议栈  LwlP 引用地址:基于ARM微处理器TCP/IP协议栈LwlP实现

上一篇:基于ARM的激光电源控制系统设计
下一篇:基于WinCE6.0的LPC3250串口驱动程序开发

推荐阅读最新更新时间:2024-03-16 13:33

e络盟推出基于ARM Cortex-A5微处理器的Atmel Xplained SAMA5D4-XULT评估
e络盟日前宣布供应基于ARM Cortex-A5微处理器的Atmel Xplained SAMA5D4-XULT评估板,其提供的开发套件有利于用户开发出高性能特定应用并进行原型设计与评估。   SAMA5D4-XULT开发套件包含一个4Gb DDR2外部存储器、一个以太网物理层收发器、2个SD/MMC接口、2个主USB端口及1个设备USB端口、1个24位RGB LCD接口、1个HDMI接口以及多个调试接口。 SAMA5D4-XULT开发套件具备的丰富外设可为大量用户接口应用提供理想选择。其中,720p视频解码器、30帧/秒的回放速率及带图形加速器的LCD控制器完美适用于终端设备与物联网(IoT)应用等消费及工业设计领域
[单片机]
基于ARM9微处理器S3C2410的IP电话通信设计
0 引言 IP电话以其通话费率低、方便集成和智能化等优势而得到了众多消费者的极大认可,并因此而对原有固定电话运营者的长途电话和国际电话业务造成了巨大冲击。因此,随着以太网接口的直接入户,开发出一种带有RJ-45以太网接口并直接连入因特网,从而使使用更加方便的IP电话非常需要。利用这种IP电话,用户可以直接拨叫远端的电话号码,并通过关守(gate keeper)把所拨的电话号码转换成远端IP电话的IP地址,从而建立通话连接。事实上,新型IP电话终端已经可以直接把输入语音信号数字化,并按照G.728或G.729等一定的语音压缩编码算法来完成对输入语音信号的实时压缩,使带宽从64kbps降低到8kbps,从而大大提高了信道的利用率。
[单片机]
基于<font color='red'>ARM</font>9<font color='red'>微处理器</font>S3C2410的IP电话通信设计
ARM微处理器上实现Rijndael加密算法
引 言 2000年10月2日,美国国家标准局NIST宣布,比利时密码学家Joat Daemen和Vincent Rijmen设计的“RijndaeI算法”以安全性好、运算速度快、存储要求低、灵活性强最终当选AES。该算法对目前的各种威胁是免疫的。这标志着信息技术有了新的安全工具,为计算机网络和电子商务的发展提供了强有力的保障。 在当前数字信息技术和网络技术高速发展的后PC时代,嵌入式系统技术已经广泛地渗透到科学研究、工程设计、军事技术、各类产业和商业文化艺术以及人们的日常生活等方方面面中,成为目前最热门的技术之一。 本文使用北京博创兴业科技有限公司研制的UP-NETARM300嵌入式开发板,在ARM SDT 2.51集成
[嵌入式]
32位ARM内核微处理器W90N740及其应用
摘要:在对ARM体系结构进行分析的基础上,介绍了32位ARM核处理器W90N740的结构特点和优异性能,讨论了它的应用方法。给出了用W90N740芯片降低系统成本的实现方案。 关键词:ARM7TDMI;RISC;W90N740;片上系统;路由器 W90N740是台湾Winbond公司开发的基于32位ARM核的高性能、低功耗微处理器。W90N740采用ARM7TDMI内核,内建两个10/100Mb MACs以太网络控制器,并采用Winbond独家专利的网络地址转换加速器NAT Accelerator。该器件用硬件方式加速网络封包的转换,不仅减少了中央处理器的负担,同时也大幅提高了宽频的整体系统效能。而芯片方式集成的USB控制器
[应用]
基于ARM核嵌入式微处理器的以太网应用
1 引言 随着微电子技术和计算机技术的发展,嵌入式技术得到广阔的发展空间,特别是进入20世纪90年代以来,嵌入式技术的发展和普及更为引人注目,已经成为现代工业控制、通信类和消费类产品发展的方向,在通信领域,众多网络设备如VOIP,WirelessLAN,ADSL等都包含有大量嵌入式技术的成份,广播电视在向数字化的趋势发展,DVB,DAB技术也逐渐在全面推广起来,个人消费类产品,如PDA、数码ARM以太网应用相机、MP3播放器等产品都离不开嵌入式技术的支持,嵌入式技术在ATM、可视电话、汽车的ABS等产品中也都有大量的应用,此外,军事领域之中也处处可见嵌入式技术的身影,如单兵信息终端,便携式保密机,战场指挥系统等,可以说,嵌
[单片机]
Atmel发布ARM Cortex-A5微处理器
SAMA5D4系列视频回放功能成本优化,消除了传统应用中处理器的冗余成本和复杂性 高级安全性能满足物联网、通讯、数据保护需求,防止伪造 近日,全球微控制器(MCU)和触摸解决方案领导者爱特梅尔公司(NASDAQ:ATML)在2014ARM® 技术大会 上宣布,公司 Atmel® | SMART产品组合 增添新成员,推出了基于ARM®Cortex-A5处理器的新系列高性能微处理器 (MPUs) SAMA5D4,为OEM厂商提供了可用于物联网(IoT)、消费和控制面板、通讯网关、成像终端等工业应用方面的无缝技术。 爱特梅尔的SAMA5D4系列产品在SAMA5家族产品基础上进行了扩展,实现了30帧/秒的 H264、V
[单片机]
ARM·微处理器的编程模型
【本章内容】 了解ARM的结构特点 了解ARM的编程的工作模式 了解ARM的内部资源 了解ARM的异常处理机制 【本章结构】 【ARM微处理器的工作状态】 ARM9处理器内核使用VT4版本的ARM结构,具有两种操作状态 1)ARM状态:32位,执行的是字方式的ARM指令 ; 2)Thumb状态:16位,执行的是半字方式的Thumb指令; (ARM和Thumb状态都是在执行程序,只不过命令的长度不一样,类似于跑跑卡丁车的氮气状态和普通状态) 【寄存器的工作模式】 1) 用户和系统模式 ; (感觉类似于linux中的普通用户和超级用户) 2)异常模式 3)ARM9处
[单片机]
ARM微处理器的指令集概述(四)——MOV和LDR的区别
一 先让我们看一段汇编代码 LDR R0,=0x56000010 #R0 is set to be register GPBCON and is used to select pin function for Port B #in,out special function and others MOV R1,#0x00004000 STR R1, #pin GPB7 is set to be output port 以上三条汇编语句的功能是将数值0x00004000存储到以0x56000010为地址的存储单元中。 其反汇编代码如下 0: e59f0044 ldr r0, ; 0x4c 4:
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved