以太网开发入门

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

ETHERNET-D以太网开发板范例入门手册作者:MIRROROK(李刚)版本:v1.0时间:2007-2-12QQ:4641452MAIL:lee_gang123@hotmail.comETHERNET-D开发板是一款基于AVR控制器MEGA32L和REALTEK公司的网络芯片RTL8019AS而设计的一款入门级10M以太网开发板.本开发板主要资源如下:flashrameepromAvrMega32l32KB2KB1KBnetRtl8019as16KB一、硬件介绍:1.1.电源输入本开发板采用9V直流供电,使用时外部需要配置一个9v直流电源使用!1.2.10M以太网接口:采用标准的rj45接口,采用非屏蔽网络线与网络连接1.3.ISP接口:试验板上是下图,原理图如右图,LED在开发板上没有使用1.4.串口:采用DB9公头PCB座子,TXDPIN2RXDPIN3GNDPIN5二、开发板测试:开发板已经预装了RS232TOTCP程序,板子IP地址为192.100.88.22,默认网关192.100.88.254,子网掩码255.255.255.0,远程连接地址192.100.88.21,端口1234方式TCP。问题:如何修改ip地址、本地网关、子网掩码类似的window里面察看本地连接属性。参考下图如果你进行修改。程序中的修改:以RS232TOTCP为例,我们启动iccavr,选取project–〉open选取RS232TOTCP.PRJ,此时项目文件调入如下图:选取uipopt.h双击打开文件,找到如下代码#defineUIP_IPADDR0192/**ThefirstoctetoftheIPaddressofthisuIPnode,ifUIP_FIXEDADDRis1.\hideinitializer*/#defineUIP_IPADDR1100/**ThesecondoctetoftheIPaddressofthisuIPnode,ifUIP_FIXEDADDRis1.\hideinitializer*/#defineUIP_IPADDR288/**ThethirdoctetoftheIPaddressofthisuIPnode,ifUIP_FIXEDADDRis1.\hideinitializer*/#defineUIP_IPADDR322/**ThefourthoctetoftheIPaddressofthisuIPnode,ifUIP_FIXEDADDRis1.\hideinitializer*/#defineUIP_NETMASK0255/**ThefirstoctetofthenetmaskofthisuIPnode,ifUIP_FIXEDADDRis1.\hideinitializer*/#defineUIP_NETMASK1255/**ThesecondoctetofthenetmaskofthisuIPnode,ifUIP_FIXEDADDRis1.\hideinitializer*/#defineUIP_NETMASK2255/**ThethirdoctetofthenetmaskofthisuIPnode,ifUIP_FIXEDADDRis1.\hideinitializer*/#defineUIP_NETMASK30/**ThefourthoctetofthenetmaskofthisuIPnode,ifUIP_FIXEDADDRis1.\hideinitializer*/#defineUIP_DRIPADDR0192/**ThefirstoctetoftheIPaddressofthedefaultrouter,ifUIP_FIXEDADDRis1.\hideinitializer*/#defineUIP_DRIPADDR1100//**ThesecondoctetoftheIPaddressofthedefaultrouter,ifUIP_FIXEDADDRis1.\hideinitializer*/#defineUIP_DRIPADDR288/**ThethirdoctetoftheIPaddressofthedefaultrouter,ifUIP_FIXEDADDRis1.\hideinitializer*/#defineUIP_DRIPADDR3254①如何修改ip地址:#defineUIP_IPADDR0192定义了最高字节#defineUIP_IPADDR1100定义了次高字节#defineUIP_IPADDR288定义了次低字节#defineUIP_IPADDR322定义了最低字节如果你要修改为192.168.0.25则修改如下:#defineUIP_IPADDR0192定义了最高字节#defineUIP_IPADDR1168定义了次高字节#defineUIP_IPADDR20定义了次低字节#defineUIP_IPADDR325定义了最低字节②如何修改子网掩码:#defineUIP_NETMASK0255定义了最高字节#defineUIP_NETMASK1255定义了次高字节#defineUIP_NETMASK2255定义了次低字节#defineUIP_NETMASK30定义了最低字节一般不必修改,如果需要请参考修改ip地址进行修改③如何修改网关:#defineUIP_DRIPADDR0192定义了最高字节#defineUIP_DRIPADDR1100定义了次高字节#defineUIP_DRIPADDR288定义了次低字节#defineUIP_DRIPADDR3254定义了最低字节如果你要修改为192.168.0.1则修改如下:#defineUIP_DRIPADDR0192定义了最高字节#defineUIP_DRIPADDR1168定义了次高字节#defineUIP_DRIPADDR20定义了次低字节#defineUIP_DRIPADDR31定义了最低字节④如何修改连接的目标地址打开app2.c找到函数example1_init()此函数包含,如下语句:uip_ipaddr(ipaddr,192,100,88,59);//设置要连接的目标ip地址uip_connect(ipaddr,HTONS(1234));//连接的目标ip地址的端口1234uip_listen(HTONS(80));//侦听端口80http协议适用的uip_listen(HTONS(2046));//forudp//侦听端口2046udp应用使用uip_listen(HTONS(1234));//fortcp//侦听端口1234tcp应用的端口如果你需要与目标地址192.168.0.55(你的pc的ip地址),端口采用9090,则修改如下:uip_ipaddr(ipaddr,192,168,0,55);//设置要连接的目标ip地址uip_connect(ipaddr,HTONS(9090));//连接的目标ip地址的端口9090****下面2句可以不用修改*****uip_listen(HTONS(80));//侦听端口80http协议适用的uip_listen(HTONS(2046));//forudp//侦听端口2046udp应用使用//修改侦听的端口uip_listen(HTONS(9090));//fortcp//侦听端口9090tcp应用的端口这样就修改好了,然后选取Project-RrebuiltallIccavr的下部输出窗口就出现下面图片如果有错误,请修改程序,没有的话,就可以进行下一步了,程序下载!!程序下载需要isp下载器开发板目前没有提供,可以自己做一个,图片参考,成本很低的,效果还不错!!Ponyprog的具体流程请参考我的教程WORD版本的教程1-4;(word版本)以太网教程第5集(pdf版本)程序下载后,就可以开始软件的测试了!!!2.1.arp/icmp测试Arp协议和icmp协议是一起测试的,打开window启动菜单运行,输入你设置的ip地址,如ping192.168.0.22–t,下面范例演示在ip地址为192.100.88.59的计算机上ping192.100.88.22-tled2黄灯表示网络数据报发送led3绿灯表示网络数据报接收Led4红灯表示网络数据报有冲突其中:出现下图,并且板子上led3绿灯和led2黄灯闪烁则说明协议成功!Icmp-echoRequest数据包iris网络抓包Icmp-echoReply数据包iris网络抓包Arp测试在系统菜单下运行cmd输入arp–d在isir中可以抓包到这个是pc发送的arp包Arp测试这个是开发板返回的arp包这样arp协议也测试通过了!!!!选取自动发送aa则返回aa打开软件udptest.Exe按照下图设置远程端口必须是2046,远程ip地址是你的板子地址,参看前面的设置!2.2.Udp协议测试上述则说明udp协议测试成功!!选取自动发送0xaa则返回012345678910111213141516171819202122232425262728293031323334353637383940414243444546474849这个是pc发送的udp数据包发送aa时数据包的最后是aa0x610x61这个是开发板发送给pc的udp数据包数据包的最后是aa0x610x61不足60字节后面增加到60字节这个是pc发送的udp数据包发送aa时数据包的最后是0xaa这个是开发板发送给pc的udp数据包数据包的是0x00-----0x31即00—492.3.Tcp测试选取--创建连接输入目标地址192.100.88.22端口1234本机指定端口50000选择—〉创建,出现下图类型选取tcp然后选取----〉连接此时左边状态栏出现下图:绿色箭头表示连接成功了!!连接后目标地址和目标端口和本机端口变灰,表示不能修改此时就可以进行tcp协议的测试了!!!^-^在发送缓冲区输入1122选取自动发送如上图此时打开串口调试助手波特率设置为115200,连接开发板的串口和pc开发板PCTXD(PIN2)-------RXD(PIN3)RXD(PIN3)-------TXD(PIN2)GND(PIN5)-------GND(PIN5)采用hex(16进制发送),定时为100ms发送一次,此处需要在pc上运行的TCP&UDP测试程序的自动发送时间需要比串口的发送时间小,也就是说轮训的时间比串口的发送时间快!!发送一段时间后,串口和TCP&UDP软件有如下界面:由上图可以看出,在串口软件中发送1150个字节,在TCP&UDP调试软件中也接收了1150字节,由此可以看出TCP协议由建立到数据发送都测试通过!!上述tcp的测试是以pc为服务器轮训客户端的数据的范例!如果用户需要做串口和tcp的转换器需要在提供的代码基础上,进行修改,以达到高速的要求,提高接收速率,缩短处理时间,这样才能做出串口服务器!三、软件入门:在本开发板配套光盘中我们已经提供如下的测试代码,供使用者学习uip和以太网的开发,使使用者能从最简单的测试开始到实现uip的基础测试!!已经提供的代码如下:1.arp和icmp-ok测试程序2.RS232TOTCP3.test_int01getpacket4.test_int01getpacket加溢出处理5.test_int0加溢出处理的中断函数6.test_int0中断测试程序7.uIP-AVR-09000018.uip修改udpok我们让使用者了解以太网开发的基础流程,测试的思路是这样的:1.首先,测试网络芯片产生中断;对应程序test_int0中断测试程序2.测试网络芯片产生中断并加溢出中断;对应程序test_int0加溢出处理的中断函数3.测试以太网收包,对应程序test_int01getpacket和

1 / 31
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功