基于RTL8019的以太网应用系统.doc

基于RTL8019的以太网应用系统.doc

ID:58863454

大小:30.00 KB

页数:10页

时间:2020-09-22

基于RTL8019的以太网应用系统.doc_第1页
基于RTL8019的以太网应用系统.doc_第2页
基于RTL8019的以太网应用系统.doc_第3页
基于RTL8019的以太网应用系统.doc_第4页
基于RTL8019的以太网应用系统.doc_第5页
资源描述:

《基于RTL8019的以太网应用系统.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、基于RTL8019的以太网应用系统2007-11-0610:57:09本文已公布到博客频道校园·教育分类基于RTL8019的以太网应用系统基于RTL8019的以太网应用系统以太网接口模块是构造一给通用的基于网络的嵌入式Linux系统的基础,该接口模块的主要任务就是完成与外界信息的交互,以达到网络监控的目的。使用RTL8019作为以太网的物理层接口,它的基本工作原理:是在收到由主机发来的数据报后(从目的地址域到数据域),侦听网络线路。如果线路忙,就等到线路空闲为止,否则,立即发送数据桢。RTL8019为台湾芯片生产商Realtek公司第三代快速以太网连接

2、而设计,它支持多种嵌入式处理器芯片,内置FIFO缓存器用于发送和接受数据。系统硬件电路结构图:系统工作流程图:网络数据的发送流程: 网络数据的接收:RTL8019工作代码://RTL8019.c#include"GloblDef.h"#include"MMenage.h"#include"RTL8019.h"externBYTEMemAllocation(WORDsize);externvoidFreePage(BYTEpage);externBYTExdata*MemPageToPoint(BYTEpage);externBYTEWriteQueue

3、(BYTEpage,structQueuexdata*pQueue);BYTExdataLocalMACAddr[6]={0x52,0x54,0x4c,0x30,0x2e,0x2f};structQueuexdataQueueNetPacketIn;BYTEStartPageOfPacket;          /*接收头文件信息*/structRTLReceiveHeader{ BYTEReceiveStatus; BYTENextPacketStartPage; BYTEPacketSizeLow; BYTEPacketSizeHigh;}Head

4、;Head须为全局变量.BYTExdataHead[4];          /*上一次传输起始页*/BYTELastSendStartPage;sbitRTLResetPin=RTL_RESET_PIN;        /*读rtl8019寄存器端口*/BYTEReadReg(WORDport){ BYTExdata*p; p=(BYTExdata*)port; return*p;}                /*写寄存器*/voidWriteReg(WORDport,BYTEvalue){ BYTExdata*p; p=(BYTExdata*)

5、port; *p=value;}             /*选择寄存器页使用*/voidRTLPage(BYTEIndex){          /*设置CR,CR_TXP7-6位为0(为1,包重传)*/ BYTEtemp; temp=ReadReg(CR); temp=temp&0x3B;     /*set7-6and3bitto0*/ Index=Index<<6; temp=temp

6、Index; WriteReg(CR,temp);}              /*PRA为物理地址*/voidRTLInitial(){ BYTEtemp; 

7、inti;               /*硬件重启*/ RTLResetPin=1; for(i=0;i<255;i++); RTLResetPin=0;           /*如果硬件重启时延很大,rtl自我初始化*/ for(i=0;i

8、PAGE0

9、CR_ABORT_COMPLETE_DMA

10、CR_STOP_COMMAND));             /*设置page0,stopcommand*/ WriteReg(PSTART_WPAGE0, RECEIVE_START_PAGE);   /*Pstart */ WriteReg(PSTOP_WPAGE0, RECEIVE_STOP_PAGE);   /*Pstop */ WriteReg(BNRY_WPAGE0,  RECEIVE_START_PAGE);  /*BNRY  */ WriteReg(TPSR_WPAGE0,  SE

11、ND_START_PAGE0);  /*TPSR  */ WriteReg(RCR_WPAGE

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。