学士学位论文_基于mcu的以太网接入模块设计(编辑修改稿)内容摘要:

器 RJ45 串口电平转换芯片 Pc 机 网络接口 串口 EEPROM 协议栈子集的选择。 TCP/ IP常被认为是一个由链路层、网络层、传输层和应用层组成的四层协议系统 , 且每一层都有相应的协议集合用以实现不同的功能。 数据链路层主要处理和传输介质相关的物理接口部分 , 考虑到以太网数据流量大并且通用性强 , 因此采用以太网协议 , 用 RJ45接 口把嵌入式设备连入网络。 网络层主要作用是处理数据包在网络中的协议封装 ,该层选用 TCP/ IP 协议栈的核心 IP 协议 , 同时选用 ARP 协议实现 IP 地址到 MAC 物理地址的转换。 传输层主要为两台主机上的应用程序提供端到端的通信 ,有 UDP和 TCP两种协议。 UDP协议是不面向连接的 , 因此不能保证数据传输的可靠性。 TCP是面向连接的 ,但是其可靠性的保证是以许多复杂措施以及由此而增加的开销为代价换来的。 因此在此选择 TCP为传输层协议 ,但是针对应用进行简化以适应嵌入式应用的要求。 应用层负责处理特定的应用程序部分 , 应用层协议种类很多 , 考虑到嵌入式应用的特殊性 ,不选取通用的应用层协议。 软件设计流程 对网卡编程就是对网络接口控制器( NIC) RTL8019AS 中各寄存器进行编写程序控制,进而完成数据分组的正确发送及接收。 程序部分 主程序 主程序可分为网络通讯和串行通讯这两部分。 网络通讯又可分为网卡初始化、发送控制和接收控制三部分。 主程序框图如图三 所示。 图三 网卡初始化过程如下 : RTL8019AS的初始化主要是设置一些工作参数,如 RAM的分配,中断初始化, MACY 初始化串口 初始化网卡 接收串口数据 装入以太 网帧 接收以太网帧 收到确认帧 N 地址设置,接收设置,发送设置等,具体在以下程序中注释。 void rtl8019Init(void) { RTL8019_RESET_PORT_H()。 delayms(50)。 RTL8019_RESET_PORT_L()。 //RTL8019AS复位管脚置 0 RTL8019WRITE( ISR, rtl8019Read(ISR) )。 // 软件复位 delayms(50)。 RTL8019WRITE(CR, 0xE1)。 // 选择 第 3页,配置寄存器 RTL8019WRITE(0x01, 0xC0)。 //EEM1=EEM0=1 RTL8019WRITE(CONFIG2, 0x20)。 //设置网卡为 10M自动检测模式 RTL8019WRITE(CONFIG3, 0)。 //设置 LED工作模式 delayms(255)。 RTL8019WRITE(0x01, 0)。 //EEM1=EEM0=0 RTL8019WRITE(CR, 0x21)。 //第 0页 delayms(2)。 RTL8019WRITE(DCR, DCR_INIT)。 // define DCR_INIT 0x58 RTL8019WRITE(RBCR0,0x00)。 RTL8019WRITE(RBCR1,0x00)。 RTL8019WRITE(RCR,0x04)。 //接收结构寄存器 RTL8019WRITE(TCR,0x02)。 //传送配置寄存器 RTL8019WRITE(TPSR, TXSTART_INIT)。 //define TXSTART_INIT 0x40 RTL8019WRITE(PSTART, RXSTART_INIT)。 //define RXSTART_INIT 0x47 RTL8019WRITE(BNRY, RXSTART_INIT)。 //define RXSTART_INIT 0x47 RTL8019WRITE(PSTOP, RXSTOP_INIT)。 //define RXSTOP_INIT 0x60 RTL8019WRITE(ISR,0xFF)。 //清除中断标志 RTL8019WRITE(IMR, IMR_INIT)。 //中断屏蔽 RTL8019WRITE(CR, 0x61)。 //第 1页 delayms(2)。 RTL8019WRITE(CURR, RXSTART_INIT)。 //define RXSTART_INIT 0x47 //设置 MAC地址 RTL8019WRITE(PAR0+0, MYMAC_0)。 RTL8019WRITE(PAR0+1, MYMAC_1)。 RTL8019WRITE(PAR0+2, MYMAC_2)。 RTL8019WRITE(PAR0+3, MYMAC_3)。 RTL8019WRITE(PAR0+4, MYMAC_4)。 RTL8019WRITE(PAR0+5, MYMAC_5)。 RTL8019WRITE(CR, 0x22)。 // start the NIC } //end rtl8019as init 发送控制过程 在网络中,帧传输的过程就是发送方将待发送的数据按帧格式要求封装成帧,然后通过网卡发送到网络的传输线上。 发送程序框图如图 4所示。 图四 首先设置网 卡发送数据包的 RAM首地址,用以存放要发送的数据,和上两节写RAM相同。 然后设置远程读此数据包的长度, (RBCR1,0在读数据包的时候作用为要读数据包的长度;在发送数据。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。