Tel:400-888-8888

Industry News

基于ARM9的UDP协议栈的设计与实现

本文摘要:为了符合以太网通信过程中大数据量的较慢传输的市场需求,往往可以壮烈牺牲一些可靠性换取高速的数据传输.根据方案,文中设计了一套基于YLP2440的UDP通信系统,构建了非常简单简单的UDP通信协议.首先讲解了系统整体硬件结构,然后已完成了以太网通信系统软件设计,以DM9000A以太网卡驱动程序为基础,通过剪裁重制TCP/IP协议栈,构建了系统数据的接管和发送到.对系统UDP和ARP通信展开了测试,结果表明UDP通信系统整体平稳可信,并且系统支出小.数据传输速度慢,需要符合实际

开元94kycom官网

为了符合以太网通信过程中大数据量的较慢传输的市场需求,往往可以壮烈牺牲一些可靠性换取高速的数据传输.根据方案,文中设计了一套基于YLP2440的UDP通信系统,构建了非常简单简单的UDP通信协议.首先讲解了系统整体硬件结构,然后已完成了以太网通信系统软件设计,以DM9000A以太网卡驱动程序为基础,通过剪裁重制TCP/IP协议栈,构建了系统数据的接管和发送到.对系统UDP和ARP通信展开了测试,结果表明UDP通信系统整体平稳可信,并且系统支出小.数据传输速度慢,需要符合实际应用于市场需求.  0章节  随着嵌入式技术和网络技术的很快发展,以太网模块在嵌入式系统中的应用于更加普遍.以太网通信速度快.标准化,可必要与Internet相连接,获取更大范围的远程访问.目前在工控嵌入式领域,网络通信一般来说使用UDP和TCP协议.UDP与TCP比起,UDP用于非相连的.不可信的通信方式,因此网络传输速度慢,实时性比较较好.文中设计简单S3C2440.以太网控制器DM9000和经过自行剪裁的TCP/IP协议栈,包含嵌入式系统的以太网模块,构建UDP通信.  1系统的硬件讲解该系统使用优龙科技公司YLP2440作为研发的硬件系统,YLP2440使用三星S3C2440A作为CPU,最低主频400MHz,具有64MBSDRAM和64MBNANDFlash的外部存储器,有两个五线异步串行口,波特率高达115200bps,一个10M/100MDM900AEP网络接口卡,具有相连和传输指示灯.DM9000A是一个仅有构建.功能强大.性价比低的较慢以太网MAC控制器,它具有一个标准化处置模块.EEPROM模块.10/100MPHY和SRAM,使用单电源供电,可相容3.3V.5V的IO模块电平.DM9000A某种程度反对MII(MediaIndependentInterface,介质牵涉到模块),它包括一系列可被访问控制的状态寄存器,这些寄存器是字节偏移的,在硬件或者软件废黜时被设置成初始化.  硬件框图如图1右图.  2以太网软件的设计  2.1以太网卡控制器的初始化  首先DM9000A自检,加载DM9000的生产厂家ID和设备ID与早已原作好的ID展开核对,辨别DM9000网卡否不存在,初始化DM9000A,它的过程就是必要配备DM9000A寄存器的过程,明确过程分成以下几个步骤:  (1)启动DM9000A,设置CPCR[REG_1E]=01,使DM9000的GPIO3为输入,GPR[REG_1F]=00,使DM9000的GPIO3输入为低以转录内部PHY.延时2ms以上以等候PHY上电.  (2)展开两次硬废黜,设置DM9000为长时间工作模式,根据芯片设计拒绝,要想要使芯片在上电之后工作长时间就要展开两次硬废黜,设置为NCR[REG_00]=001,NCR[REG_00]=000,这两步操作者展开两次.  (3)清理各种状态标志位和中断标志位,NSR[REG_01]=0x2c,ISR[REG_FE]=0x3f.  (4)设置接管和发送到掌控寄存器,并且设置FIFO的大小,RCR[REG_05]=039.TCR[REG_02]=000.FCTR[REG_09]=038.  (5)设置板子自身的MAC地址.  (6)再行一次清理各种状态标志位和中断标志位,NSR[REG_01]=0x2c,ISR[REG_FE]=0x3f.  (7)设置中断屏蔽寄存器,关上接管中断,IMR[REG_FF]=081.  当展开了以上步骤的设置之后,DM9000A芯片就正处于长时间工作状态了.在以后展开通信的过程中,如果再次发生出现异常引发芯片重新启动,则再行一次展开某种程度的设置.  2.2以太网卡数据的发送到和接管  DM9000A发送数据使用的是循环查找模式,接收数据使用的是中断模式,DM9000内部有0x3FF大小的SRAM用作接管和发送数据内存.在发送到或接管数据包之前,数据是嗣后不存在这个SRAM中的.当必须倒数发送到或接收数据时,必须分别把DM9000寄存器MWCMD或MRCMD彰显数据端口,这样就登录了SRAM中的某个地址,并且在传输完了一个数据后,指针不会指向SRAM中的下一个地址,从而已完成了倒数采访数据的目的.但当发送到或接管一个数据后,指向SRAM的数据指针不必须变化时,则要把MWCMDX或MRCMDX彰显数据端口.  发送数据比较简单,接收数据就显得简单,因为它是有一定格式拒绝的.在接管到的一包数据中的首字节如果为001,则回应这是一个可以接管的数据包;如果为00,则回应没可接管的数据包.因此在加载其他字节时,一定要再行辨别首字节否为001.数据包的第二个字节为数据包的一些信息,它的高字节的格式与DM9000的寄存器RSR完全一致.第三个和第四个字节为数据包的长度.后面的数据就是确实要接管的数据了.
本文关键词:基于,ARM9,的,UDP,协议,栈,设计,与,实现,为了,开元94kycom官网

本文来源:开元94kycom官网-www.themeparkcapitol.com

Copyright © 2021 Copyright weaving dreams    ICP prepared No. ********