udp通信方式实验和源代码接线图-arm 第3页
第3章 ZLG/IP软件包结构和配置
3.1 ZLG/IP软件包结构
为了使软件可移植性强、易文护,该软件包采用分层的方法编写。包括网络传输用到的协议、硬件驱动及μC/OS-II的结构进行分层。ZLG/IP包相关文件说明如表格 1
表格 1 软件包相关文件说明
文件名 简要说明
ARP.C 地址解析协议
CRC.C 循环冗余码校验
Ethernet.C 以太网标准
HARDWARE.C 硬件驱动
IP.C 网络互联协议
ICMP.C 因特网控制消息协议
Socket.C 本地端口协议
TCP.C 传输控制协议
UDP.C 用户数据包协议
传输层有两个协议传输数据:传输控制协议TCP和用户数据报协议UDP。TCP协议是面向连接的一个协议,可靠性高,费用也高;UDP协议是提供最少服务和费用的传输层协议。
UDP是最简单的传输层协议,它具有以下特点:
无连接:UDP不基于连接来传输数据。
不可靠:UDP的数据报发送时没有定序,所以UDP传送的数据是不可靠的,只有靠应用层协议中增加超时重发等功能才能提供可靠的服务。
提供应用层协议标识:UDP报头有定义应用层协议标识和目标应用层标识。
提供UDP报的校验和:UDP报头包含有整个UDP报(包括报头和有效负载)及伪报头的校验和,计算方法与计算IP数据报校验和的计算方法相同。
缓冲:UDP协议不提供任何数据接收或发送的缓冲区。缓冲区应该由应用层协议提供。
分段:UDP协议不提供分毕业论文
http://www.youerw.com/段传输方式,所以应用层协议要尽量发送小的包。
SOCKET接口函数是TCP/IP的API。使用SOCKET API函数编写UDP通信的任务时,分为服务器方式两种。服务器方式是先接收到数据再进行处理,而客户机则是先发生数据后等待回应处理,它们用到的SOCKET API函数都是相同的。如图 2所示就是UDP通信时服务器端和客户机通信函数应用过程图。
图 2 UDP通信是SOCKET API函数的应用
第4章 设计过程
4.1 设计步骤
由于使用DM9000的网络控制芯片的Magic2200的实验箱有点问题,后来我们改用使用RTL8019AS网络控制芯片的EasyARM2200教学实验平台。
1) 启动ADS1.2,使用ARM Executable Image for µCOS-II(lpc22xx)工程模板建立一个工程shiyan。
2) 把µCOS-II内核源码和移植文件,ZLG/IP软件包目录拷贝到已建工程目录下,如图 3所示,arm目录为移植文件目录,Source目录为µCOS-II内核源码,tcpip目录为ZLG/IP软件包目录。
图 3 项目目录结构
3) 修改tcpip\include\cfg_net.h文件,修改MAC地址为:0x00,0x14,0x97,0x0F,0x1F,0x9D、子网掩码为255.255.0.0、IP地址:172.30.172.77、本地网关地址为PC机IP:172.30.172.125。如程序清单 2
程序清单 2 MAC和IP设置
/************** first Net Port Config **************************/
#define My_Mac_1ID {0x00,0x14,0x97,0x0F,0x1F,0x9D} //将RTL8019的物理地址存储在程序空间?
#define IP_MARK_1ID {255,255,0,0} //255.255.255.0,子网掩码
#define MY_IP_1ID {172,30,172,77}
#define MY_GATEWAY_1ID {172,30,172,125}
/**************End Net Port Config ***************/
4) 修改shiyan\src\os_cfg.h文件,OS_MAX_EVENTS改为42,OS_LOWEST_PRIO改为62,OS_MAX_QS改为10。
5) 在ADS的项目窗口中添加TCPIP的文件组;然后把tcpip\目录下的ARP\Arp.c、ETHERNET\Ethernet.c、HARDWARE\Hardware.c、IP\Ip.c、PING\Icmp.c、SOCKET\zlg_socket.c和TCP\Tcp.c、UDP\Udp.c等文件添加到该文件组,最后把程序编好添加到ADS项目窗口的user文件组中,如
上一页 [1] [2] [3] [4] [5] [6] 下一页
udp通信方式实验和源代码接线图-arm 第3页下载如图片无法显示或论文不完整,请联系qq752018766