w5500的以太网通讯设计

摘 要随着科技的迅猛发展,计算机通讯和网络技术也随之突飞猛进,使得越来越多的嵌入式系统需要与以太网进行连接通讯。本课题是基于W5500的嵌入式以太网系统通讯设计。本文首先介绍了以太网技术的发展及其在嵌入式系统中的应用,接着介绍了以太网的接口芯片W5500的特点、引脚等功能,然后提出了W5500与STM32的硬件接口设计和底层传输的编程思路,最后从软件的角度介绍了基本的网络协议,如TCP/IP等。本系统采用W5500作为以太网的接口芯片,用STM32F103作为微处理器,来在嵌入式系统中能够实现基于TCP/IP协议的以太网通讯功能。课题中所选择的控制芯片W5500和嵌入式微处理器STM32F103所搭载的网络具有结构设计简单,开发成本低,易于实现的特点,对系统的性能有了极大的提升,具有一定的实用性。
目 录
第一章 绪论 1
1.1以太网概述 1
1.1.1 以太网的工作方式 1
1.1.2以太网的帧格式 1
1.2嵌入式系统概述 3
1.3 嵌入式系统以太网网络协议 5
1.4 研究现状及背景 6
1.5 本文主要研究内容 6
1.6 论文内容及安排 7
第二章 系统的硬件设计 8
2.1 总体描述 8
2.2 硬件原理框图 8
2.2.1 W5500芯片 9
2.2.2 STM32芯片 11
2.3 接口设计 11
第三章 系统软件设计 13
3.1 系统软件的设计方案 13
3.2 W5500的工作流程 13
3.2.1 W5500端口初始化配置 14
3.2.2 STM32 SPI 初始化设置 14
3.3 TCP通信的实现 16
3.4 PING 17
第四章 仿真与测试 19
4.1 系统的仿真测试 19
4.2 TCP客户端模式通信的实现测试 19
结束语 22
致 谢 23
参考文献 24
第一章 绪论
1.1以
 *好棒文|www.hbsrm.com +Q: @351916072@ 
太网概述
以太网起源于20世纪60年代后期到70年代早期夏威夷大学Norman Abramson开发的ALOHA网络。以太网(Ethernet)是一种局域网(LAN)协议,它是20世纪70年代中期由Xerox、Intel,以及DEC在Xerox的PARC联合开发的,是当今被采用的最通用的关于局域网的通信协议标准。以太网的规范与IEEE802.3规范相类似。IEEE802.3主要根据传输介质和波特率的不同定义了20余种的以太网,它使用信号速率(Mbit/s)带宽(基带或宽带)—长度(m)或电缆类型的格式来命名。
1.1.1 以太网的工作方式
以太网可以在半双工和全双工这两种模式下工作,它采用的是载波帧听多路访问及冲突检测(CSMA/CD)技术,在以太网中,所有网络上发送的信息在以太网的节点中都可以看到,所以它是一种网络广播。它在多种类型的电缆上以10M/S的速率运行。
当一台在以太网上的主机要向其他传输数据时,它将按下面的步骤进行传输:
1、首先检查监听信道上是不是有信号的存在,不存在则说明监听信道处于空闲状态。存在则表示监听信道处于忙碌状态,如此则要一直监听到空闲状态为止。
2、如果没有在信道上监听到任何信号,就开始传输数据。
3、信号进行传输的时候继续监听,若发现冲突则执行退避算法,系统随机等待一段时间后,重新执行上面的步骤1(当冲突发生时,计算机若涉及冲突,则会返回到监听信道状态。)
4、如果没有发现冲突,则发送成功,在试图再一次发送数据之前,所有的计算机必须等待9.6微秒在最近一次发送后(及以10Mbps运行)。
1.1.2以太网的帧格式
几种以太网的帧格式如下图11所示:
前导码:7字节,表示数据流的开始,每个字节都是“1”和“0”的交替代码10101010。它用于通知接收端即将有数据流的到来,使接收端能够同步时钟通过利用编码的信号跳变。
帧前定界符(SFD):1字节,用来指示数据帧的开始,该字节编码形式为10101011。
目标地址和源地址:接收方和发送方的MAC地址,分别为6个字节。
类型/长度:2个字节。
数据域:长度为0~1500个字节,但为了检测碰撞的需要,如果数据区域的长度小于46个字节,则自动在后面添加填充段(使用字符0)补齐。
CRC码:4字节,循环冗余校验码CRC校验的范围从目的地址开始到数据域结束。
Ehternet II帧
前导码
(8)
目的地址
(6)
源地址
(6)
类型
(2)
数据域(包括填充段)
(461500)
CRC
(4)
IEEE 802.3 Raw帧
前导码
(7)
帧前定界码
(1)
目的地址
(6)
源地址
(6)
长度
(2)
数据域(包括填充段)
(461500)
CRC
(4)
0xFFFF
441498
IEEE 802.3 SAP帧
前导码
(7)
帧前定界码
(1)
目的地址
(6)
源地址
(6)
长度
(2)
数据域(包括填充段)
(461500)
CRC
(4)
DSAP(1)
SSAP(1)
Ctrl(1)
431497
IEEE 802.3 SNAP帧
前导码
(7)
帧前定界码
(1)
目的地址
(6)
源地址
(6)
长度
(2)
数据域(包括填充段)
(461500)
CRC
(4)
DSAP(1)
0xAA
SSAP(1)
0xAA
Ctrl(1)
0x03
Org code(3)
00 00 00
类型(2)
381492
图11 以太网MAC帧格式
1.2嵌入式系统概述
嵌入式系统一般指一些不称之为计算机的设备或器材,但是又包含计算机的功能的非PC系统。这些系统各有不同的大小、使用范围和复杂度,几乎存在大多数设备中,嵌入式系统通常是受限于处理能力、内存和功耗方面的资源。它是执行特定功能的专用计算机系统,其中心是应用,包含可裁剪的软硬件且适应应用系统对综合性(如:功能、可靠性、成本、体积、功耗等)的要求。简单来讲,嵌入式系统是拥有系统的应用软件与硬件于一身,与 PC 中 BIOS 的工作模式相似,拥有软件代码小、自动化程度高、反应速度快等优势,尤其适用于实时性强和多任务并存的体系。

版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jxgc/zdh/2712.html

好棒文