以太网通信实验设计报告.docx

上传人:b****3 文档编号:3514058 上传时间:2022-11-23 格式:DOCX 页数:10 大小:129.09KB
下载 相关 举报
以太网通信实验设计报告.docx_第1页
第1页 / 共10页
以太网通信实验设计报告.docx_第2页
第2页 / 共10页
以太网通信实验设计报告.docx_第3页
第3页 / 共10页
以太网通信实验设计报告.docx_第4页
第4页 / 共10页
以太网通信实验设计报告.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

以太网通信实验设计报告.docx

《以太网通信实验设计报告.docx》由会员分享,可在线阅读,更多相关《以太网通信实验设计报告.docx(10页珍藏版)》请在冰豆网上搜索。

以太网通信实验设计报告.docx

以太网通信实验设计报告

以太网通信实验

摘要

本次设计的目的是通过初始化RTL8019AS,读取RTL8019AS的ID以及通过RTL8019AS正确地发送数据包到PC机,实现以太网通信。

本设计在SOPC-NIOSIIEDA/SOPC开发平台模拟实现。

关键词:

以太网控制口;SOPC;RTL8019AS;NIOS

 

目录

1绪论1

1.1课程设计背景1

1.1.1以太网工作原理简介1

1.1.2SOPC简介1

2设计准备2

2.1实验目的2

2.2硬件需求2

2.3实验内容2

3实验原理2

4实验步骤6

5实验运行结果8

6设计总结9

参考文献10

附录A程序11

 

1绪论

1.1课程设计背景

1.1.1以太网工作原理简介

以太网采用带冲突检测的载波帧听多路访问(CSMA/CD)机制。

以太网中节点都可以看到在网络中发送的所有信息,因此,我们说以太网是一种广播网络。

以太网的工作过程如下:

  当以太网中的一台主机要传输数据时,它将按如下步骤进行:

  1、监听信道上收否有信号在传输。

如果有的话,表明信道处于忙状态,就继续监听,直到信道空闲为止。

  2、若没有监听到任何信号,就传输数据

  3、传输的时候继续监听,如发现冲突则执行退避算法,随机等待一段时间后,重新执行步骤1(当冲突发生时,涉及冲突的计算机会发送会返回到监听信道状态。

  注意:

每台计算机一次只允许发送一个包,一个拥塞序列,以警告所有的节点)

  4、若未发现冲突则发送成功,所有计算机在试图再一次发送数据之前,必须在最近一次发送后等待9.6微秒(以10Mbps运行)。

1.1.2SOPC简介

System-on-a-Programmable-Chip,即可编程片上系统。

用可编程逻辑技术把整个系统放到一块硅片上,称作SOPC。

可编程片上系统(SOPC)是一种特殊的嵌入式系统:

首先它是片上系统(SOC),即由单个芯片完成整个系统的主要逻辑功能;其次,它是可编程系统,具有灵活的设计方式,可裁减、可扩充、可升级,并具备软硬件在系统可编程的功能。

SOPC结合了SOC和PLD、FPGA各自的优点,一般具备以下基本特征:

至少包含一个嵌入式处理器内核;具有小容量片内高速RAM资源;丰富的IPCore资源可供选择;足够的片上可编程逻辑资源;处理器调试接口和FPGA编程接口;可能包含部分可编程模拟电路;单芯片、低功耗、微封装。

2设计准备

2.1实验目的

1.熟悉以太网协议。

2.掌握网络分析工具Sniffer的基本使用。

3.掌握RTL8019AS各寄存器的意义及其设置。

4.掌握RTL8019AS数据的发送和接收。

5.掌握自定义IP核-RTL8019AS核的使用方法。

2.2硬件需求

1.SOPC-NIOSIIEDA/SOPC开发平台一套。

2.并口/USB下载电缆一条。

2.3实验内容

本实验要完成的内容就是要正确的控制RTL8019AS,包括初始化RTL8019AS,读取RTL8019AS的ID以及通过RTL8019AS正确地发送数据包到PC机。

3实验原理

相信大家对PC上的TCP/IP协议都有一定的认识,而且在很多嵌入式系统中,都有必要实现TCP/IP协议的转换,如现在很多只能家电,它们都具备通过网络,实现远程监控的功能。

但是由于指令以及资源上的原因,在嵌入式的系统中并不能像PC上那样实现整套TCP/IP协议,其实也没有必要把它实现,很多嵌入式的系统往往都是只提供某一方面的功能而已。

RTL8019AS是台湾REALTEK公司生产的以太网控制器,该控制器具有如下特点:

●支持IEEE802.3

●支持8位或16位数据总线

●内置16KB的SRAM,用于收发缓冲

●全双工,收发同时达到10Mbps

●支持10Base5、10Base2、10BaseT,并能自动检测到所连接的介质

RTL8019AS在ISA总线网卡中占有相当的比例,它与主机有三种接口方式,第一种为跳线方式,网卡的I/O和中断由跳线决定;第二种为即插即用方式,由软件进行自动配置plugandplay;第三种为免跳线方式,网卡的I/O和中断由外接的93C46里面的内容决定。

市面上的网卡一般只支持第二种和第三种。

在嵌入式应用的场合,如果可以不使用93C46的话,可以降低成本,同时减少电路板连线。

那么如何使用第一种方式-跳线方式呢?

事实上网卡使用那种方式由RTL8019AS的第65脚JP决定。

该引脚是输入引脚,当它为低电平时,RTL8019AS工作在第二种或第三种方式,具体由93C46里的内容决定;当它为高电平时,则RTL8019AS工作在第一种方式。

其硬件连接如图13-1所示。

 

图3-1RTL8019AS与传输介质的连接图

RTL8019AS片内寄存器分为NE2000寄存器组和PnP寄存器组(本文不介绍PnP寄存器组)。

NE2000寄存器组地址如表13-1所示。

NE2000寄存器分为4页,都映射到16个I/O地址上。

主机通过命令寄存器(CR)中的PS0、PS1位来寻址不同的页,通过16个I/O口地址来寻址页内寄存器。

其中最重要的寄存器是CR寄存器,即CommandRegister,该寄存器的地址便宜量是00H,为一个字节宽度,其详细内容如表3-2所示。

表3-1RTL8019AS寄存器映射

地址(HEX)

PAGE0

PAGE1

PAGE2

PAGE3

[R]

[W]

[R/W]

[R]

[R]

[W]

00

CR

CR

CR

CR

CR

CR

01

CLDA0

PSTART

PAR0

PSTART

9346CR

9346CR

02

CLDA1

PSTOP

PAR1

PSTOP

BPAGE

BPAGE

03

BNRY

BNRY

PAR2

CONFIG0

04

TSR

TPSR

PAR3

TPSR

CONFIG1

CONFIG1

05

NCR

TBCR0

PAR4

CONFIG2

CONFIG2

06

FIFO

TBCR1

PAR5

CONFIG3

CONFIG3

07

ISR

ISR

CURR

08

CRDA0

RSAR0

MAR0

CSNSAV

09

CRDA1

RSAR1

MAR1

HLTCLK

0A

8019ID0

RBCR0

MAR2

0B

8019ID1

RBCR1

MAR3

INTR

0C

RSR

RCR

MAR4

CRC

0D

CNTR0

TCR

MAR5

TCR

0E

CNTR1

DCR

MAR6

DCR

0F

CNTR2

IMR

MAR7

IMR

10~17

RemoteDMAPorts

18~1F

ResetPort

表3-2命令寄存器

7

6

5

4

3

2

1

0

名称

PS1

PS0

RD2

RD1

RD0

TXP

STA

STP

CR寄存器中PS0和PS1这两个位用来选择寄存器的页,其对应关系如表13-3所示。

 

表3-3PS与寄存器页的对应关系

PS1

PS0

对应页

0

0

寄存器页1

0

1

寄存器页2

1

0

寄存器页3

1

1

寄存器页4

RD2、RD1和RD0代表要执行的功能,其对应关系如表13-4所示。

表3-4RD与执行功能对应关系

RD2

RD1

RD0

执行功能

0

0

1

读网卡内存

0

1

0

写网卡内存

0

1

1

发送网卡数据包

1

*

*

完成或结束DMA的读、写操作

TXP位用来启动数据包的发送,当写入‘1’时,启动TRL8019AS发送数据包,数据包发送完毕后自动清零。

STA和STP这两个位用来启动或停止命令。

当STA=1且STP=0时,启动命令;当STA=0且STP=1时停止命令。

TRL8019AS网卡中含有16KB的SRAM,地址为0x4000~0x7FFF(网卡内部的存储地址,不是ISA总线地址),每256个字节称为1页,共有64页。

页的地址就是地址的高8位,页地址为0x40~0x7f。

这16KB的SRAM的一部分用来存放接收的数据包,一部分用来存储待发送的数据包。

下面就寄存器组中的部分寄存器作简要介绍。

●PSTART为接收缓冲区的起始页地址。

●PSTOP为接收缓冲区的结束页地址(该页用于接收)。

●BNRY为指向最后一个已经读取的页(读指针)。

●CURR为当前的结束页地址(写指针指向当前正在写的下一页)。

●TPSR为发送页的起始页地址。

●RCR为接收配置寄存器,一般可设置为使用接收缓冲区,仅接收自己的地址的数据包(以及广播地址数据包)和多点播送数据包,小于64字节的包丢弃(这是协议的规定,设置成接收是用于网络分析),校验错误的数据包不接收。

●TCR为发送配置寄存器,一般可设置为使用FIFO缓冲区,普通模式,8位或16位数据传输模式,字节顺序为高位字节在前,低位字节在后。

●DCR为数据配置寄存器。

●IMR为中断屏蔽寄存器。

设置成0x00将屏蔽所有中断;设置成0xFF将允许所有中断。

●MAR7~MAR0为设置多点播送的参数。

●PAR5~PAR0这几个寄存器是网卡在工作时使用的地址,只要符合这个地址的数据包才接收,这个地址是可以设置为其它的值,不一定设置成网卡的物理地址,为了不跟别的网卡冲突,最好设置为网卡的地址(如果用户需要设置为其它值,也是可以的)。

●8019ID0和8019ID1为RTL8019AS的ID号,分别为50H和70H。

另外实验中还可以用一些网络系统监控分析软件,来统计和显示传输的包的数量、内容和使用的协议,可以显示活的TCP连接,显示UDP包,显示和记录ICMP包等等。

使用一些网络分析工具,对以太网和TCP/CP协议的实现都有很大的帮助。

4实验步骤

实验步骤如下:

1、将光盘中提供的自定义IP核文件夹(myIP文件夹)中的所有文件夹拷贝到“Nios安装目录\kits\nios2_51\components”下。

2、使用QuartusII建立一个工程文件和顶层文件,方法与实验一相同。

3、使用SOPCBuilder建立一个简单的NIOSII硬件系统。

1)启动SOPCBuilder。

2)指定目标FPGA及时钟。

3)添加NIOSII内核及其它外设。

本实验添加的IP核如下:

A、添加NIOSII、SRAM、JTAG-UART、Avalon总线的IP核,并重新命名。

B、添加自定义的RTL8019AS核。

单击选中SystemContents列表中的myIP类中的RTL8019AS,然后点击底部的【Add】按钮,直接在弹出的窗口中点击【Finish】按钮,添加该IP核,并将其重命名为NET。

至此,本实验所有的外设均添加完成,完成后,工作区如图4-2所示。

 

图4-2本实验中创建的系统

4)指定基地址和中断优先级。

5)设置NiosII复位和异常地址。

6)编译生成NiosII系统。

4、在QuartusII中编译这个简单的NIOSII硬件系统并生成其配置文件。

1)在QuartusII加入NiosII系统符号到顶层文件。

2)为顶层文件加入相应的其它电路,在本实验中为了防止SRAM和FLASH数据冲突,将FLASH的CS信号设定为高电平,即加入一个VCC信号给FLASH的CS信号。

3)为QuartusII内的各端口加入输入/输出引脚。

并将输入/输出的引脚进行重新命名。

添加完成后如图4-3所示。

 

图4-3本实验的顶层文件

4)设置编译过程的各种参数,如没有使用的引脚信号的定义等。

5)编译顶层文件,找出措误的原因并更正,直到编译正确。

6)根据后面的附表为输入/输出信号分配FPGA的管脚。

7)管脚分配正确后,再次编译以使公配的管脚生效。

5、在NiosIIIDE中建立用户C/C++工程,编写用户程序,用户可参考示例程序。

6、编写完用户后,编译用户程序,将提示的程序错误改正,直到编译正确。

7、用电缆连接开发平台与电脑,打开电源,先通用过下载电缆下载本实验生成的SOF文件至FPGA,在NiosIIIDE中设置硬件连接,运行用户程序。

观察运行结果。

 

5实验运行结果

程序运行后,查看NiosIIIDE窗口中的Console窗口中打印的芯片ID正确,此时网口的两个LED会周期性的闪烁。

6设计总结

时间过的好快,转眼间,为期两周的数字信号处理课程设计就结束了。

通过这两周的课程设计,我拓宽了知识面,锻炼了能力,综合素质得到较大提高。

课程设计使我对MATLAB语言和有了更加深入的了解,同时,对于数字信号处理这门技术的实际应用有了更加深入的认识。

课程设计的过程中,由于对理论掌握的不熟练,或者是操作过程中发生失误,都会导致最后结果出不来,但最后我们通过老师的指导、上网查阅资料等途径一一解决了这些问题,这使得我们的实践能力大为提高。

对我们电子信息专业的本科生来说,实践能力的培养至关重要,而这种实际能力的培养单靠课堂教学是远远不够的,必须从课堂走向实践。

这也是一次预演和准备毕业设计工作。

通过课程设计,让我们找出自身状况与实际需要的差距,并在以后的学习期间及时补充相关知识,为求职与正式工作做好充分的知识、能力准备,从而缩短从校园走向社会的心理转型期。

作为整个学习体系的有机组成部分,课程设计虽然安排在两周进行,但并不具有绝对独立的意义。

它的一个重要功能,在于运用学习成果,检验学习成果。

运用学习成果,把课堂上学到的系统化的理论知识,尝试性地应用于实际设计工作,并从理论的高度对设计工作的现代化提出一些有针对性的建议和设想。

检验学习成果,看一看课堂学习与实际工作到底有多大距离,并通过综合分析,找出学习中存在的不足,以便为完善学习计划,改变学习内容与方法提供实践依据。

课程设计达到了专业学习的预期目的。

在两个星期的课程设计之后,我们普遍感到不仅实际动手能力有所提高,更重要的是通过对设计过程的了解,进一步激发了我们对专业知识的兴趣,并能够结合实际存在的问题在专业领域内进行更深入的学习。

这次课程设计终于完成了,在设计中,老师的辛勤指导和同学的热情帮助都让我受益匪浅,学到了很多实用的知识,在此我表示衷心的感谢!

 

参考文献

(1)《数字信号处理(第二版)》,丁玉美等,西安电子科技大学出版社;

(2)《数字信号处理试验指导书》王创新、文卉编长沙理工大学印刷(内部使用)

(3)《数字信号处理及其MATLAB实现》,陈怀琛等译,电子工业出版社;

(4)《MATLAB及在电子信息课程中的应用》,陈怀琛等,电子工业出版社。

(5)《数字信号处理》A.V.奥本海姆,R.W.谢弗著,北京:

科学出版社

(6)《数字信号处理——理论、算法与实现(第二版)》胡广书编著,北京:

电子工业出版社

 

附录A程序

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1