【10】Ethernet介绍及应用_讲稿
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
详细解释请参考:stellaris_dirverlib_chs.chm
初始化API
// 以太网外设使能 SysCtlPeripheralEnable(SYSCTL_PERIPH_ETH); SysCtlPeripheralReset(SYSCTL_PERIPH_ETH); // 配置以太网时钟 EthernetInitExpClk(unsigned long ulBase, unsigned long ulEthClk)
字段的值大于1500 为类型
长度/类型 (2) 数据 (46-1500)
前导码 (7)
FSC (4)
指示帧开始 1010.1011
源地址
CRC-32算法
14字节
数据进入协议栈时的封装过程
Edited by Foxit Reader Copyright(C) by Foxit Software Company,2005-2007 For Evaluation Only.
传输层: TCP, UDP, DCCP, SCTP, RSVP, ECN, etc... 网络层: IP (IPv4, IPv6), OSPF, IS-IS, BGP, IPsec, ARP, RARP, RIP, ICMP, ICMPv6, IGMP,
etc...
数据链路层: Ethernet, 802.11 (WLAN), 802.16, Wi-Fi, WiMAX, ATM, DTM, Token ring, FDDI,
通过API初始化Ethernet过程
Ethernet API集合
void EthernetInitExpClk (unsigned long ulBase, unsigned long ulEthClk) void EthernetConfigSet (unsigned long ulBase, unsigned long ulConfig) unsigned long EthernetConfigGet (unsigned long ulBase) void EthernetMACAddrSet (unsigned long ulBase, unsigned char *pucMACAddr) void EthernetMACAddrGet (unsigned long ulBase, unsigned char *pucMACAddr)
结构图
功能描述
MII
1:1隔离变压器
数据链路层(MAC)
流控制
MII 管理接口 发送缓存 媒体独立接口(MII) 接收缓存
网络物理层PHY
媒体独立接口(MII)
10Base-T
发送 &接口
100Base-TX
发送 &接口
曼彻斯特编码
4B/5B 编码
以太网连接典型电路
TCP/IP协议栈简介
void EthernetIntClear (unsigned long ulBase, unsigned long ulIntFlags) void EthernetPHYWrite (unsigned long ulBase, unsigned char ucRegAddr, unsigned long ulData) unsigned long EthernetPHYRead (unsigned long ulBase, unsigned char ucRegAddr)
… … … …
Edited by Foxit Reader Copyright(C) by Foxit Software Company,2005-2007 For Evaluation Only.
以太网帧结构
帧时序同步 目标地址 LSB -单个地址0 多播地址1
SFD (1) 目标地址 (6) 源地址 (6)
IP首部数据格式
UDP首部格式
UDP封装
UDP首部
更多请查看TCP/IP卷
以太网数据帧的分用过程
数据接收逆过程
Stellaris Ethernet RX & TX FIFO)(2K)
FL 为帧的数据长度(FL + DA + SA + FT + DATA + FCS) 字节。 DA 为目的主机的MAC地址。 SA 为源主机的MAC地址。 FT 为帧的类型(或者是以太网帧的长度)。 DATA 为装载的以太网帧数据。 FCS 为数据帧的校验序列。
void void tBoolean tBoolean long
EthernetEnable (unsigned long ulBase) EthernetDisable (unsigned long ulBase) EthernetPacketAvail (unsigned long ulBase) EthernetSpaceAvail (unsigned long ulBase) EthernetPacketGetNonBlocking (unsigned long ulBase, unsigned char *pucBuf, long lBufLen)
双绞线 都符合IEEE802.3标准 光纤
更多可查看百度百科
以太网物理连接介质
型号 介质类型 最大传输距离
UTP
10BaseT 10Base2
非屏蔽双绞线
100 m 185 m 500 m 2000 m 100 m 220 m
RJ-45
10Base5 10BaseF
同轴电缆 0.2inch
同轴电缆 0.5inch
TCP/IP 5层结构
各种协议所在的层
应用层: DHCP, DNS, FTP, HTTP, IMAP4, IRC, NNTP, XMPP, POP3, RTP, SIP, SMTP, SNMP,
SSH, TELNET, RPC, RTCP, RTSP, TLS (and SSL), SDP, SOAP, GTP, STUN, NTP, etc...
fiber, Coaxial cable, etc...
应用层
传输层 网络层 数据链路层 物理层
FTP
TELNET
RLOGIN
SMTP
DNS
HTTP
TFTP
…
TCP IP Ethernet/ATM/Wireless Twisted pair
UDP ICMP ARP Optical fiber IGMP
TCP/IP分层结构
应用层
HTTP.TELNET 应用层 应用层
表示层
软件
应用层 运输层
会话层 运输层 网络层 数据链路层
TCP.UDP
传输层
传输层
IP.IGMP.ICMP
网络层
网络层
网络层
Ethernet MAC
硬件
数据链路层
数据链路层
链路层
Ethernet PHY 物理层 物理层
物理层 Iso 7层结构
数据收发API
// 数据收发函数 EthernetPacketAvail(); // 用于接收 EthernetSpaceAvail(); // 用于发送 EthernetPacketGet(); // 获取数据 EthernetPacketPut(); // 发送数据
long EthernetPacketGet (unsigned long ulBase, unsigned char *pucBuf, long lBufLen) long EthernetPacketPutNonBlocking (unsigned long ulBase, unsigned char *pucBuf, long lBufLen) long EthernetPacketPut (unsigned long ulBase, unsigned char *pucBuf, long lBufLen) void EthernetIntRegister (unsigned long ulBase, void(*pfnHandler)(void)) void EthernetIntUnregister (unsigned long ulBase) void EthernetIntEnable (unsigned long ulBase, unsigned long ulIntFlags) void EthernetIntDisable (unsigned long ulBase, unsigned long ulIntFlags) unsigned long EthernetIntStatus (unsigned long ulBase, tBoolean bMasked)
An IAB provides you 12 bits of play room, and costs only $550. See http://standards.ieee.org/regauth/oui/pilot-ind.html Eg。 AC-DE-48-00-0x-xx 共4096台
Edited by Foxit Reader Copyright(C) by Foxit Software Company,2005-2007 For Evaluation Only.
以太网各种参数配置API
// 参数配置或获取参数配置(可以不去调用,默认参数即可) EthernetConfigSet(); EthernetConfigGet(); // MAC地址设置或MAC地址获取 EthernetMACAddrSet(); EthernetMACAddrGet(); // 中断函数注册 EthernetIntRegister(); // 使能以太网模块与中断 EthernetEnable () EthernetIntEnable();
光纤
Co-axial
BNC
100BaseT 100BaseTX
非屏蔽双绞线
非屏蔽双绞线
Fiber-optic
Stellaris Ethernet介绍
Stellaris Ethernet
• 集成MAC+PHY,遵循IEEE802.3规范,完全支持10BASE-T和 100BASE-TX标准 • 全双工和半双工10/100Mbps • 节电和掉电模式 • 可编程MAC地址 • LED指示选择模式 • 支持混杂模式 • CRC错误拒绝控制 • 可配置用户中断 • 自动MDI/MDI-X交叉校验 • 自动极性校正和10BASE-T信号接收
可通过IEEE购买MAC地址 An OUI provides you 24 bits of play room, and costs $1,650. See http://standards.ieee.org/regauth/oui/forms/ Eg。AC-DE-48-xx-xx-xx 共16777216台
Frame Relay, GPRS, EVDO, HSPA, HDLC, PPP, PPTP, L2TP, ISDN, ARCnet, LLTD, etc...
物理层: Ethernet physical layer, Twisted pair, Modems, PLC, SONET/SDH, G.709, Optical
利尔达嵌入式研发中心
主题:Ethernet介绍及应用
C2000/M3小组 2010年8月
主要内容
• • • • • • 什么是Ethernet? Stellaris Ethernet介绍 TCP/IP协议栈简介 通过API初始化Ethernet过程 TCP/IP的实现LwIP & uIP介绍 动手实践--UDP和TCP通信的操作
百度文库
CSMS/CD技术
• 通过CSMA/CD,允许多个工作站都连接在一条总 线上,所有的工作站都不断向总线上发出监听信 号,但在同一个时刻只能允许一个工作站在总线 上进行数据传输,而其他工作站必须等待其传输 结束后才能开始自己的传输。
10Mbit/s 100Mbit/s 1Gbits/s 10Gbit/s 100Gbit/s 标准以太网 快速以太网 G以太网 10G以太网 10G以太网
什么是Ethernet?
什么是Ethernet
以太网是在20世纪70年代研发的一种基带局 域网技术,使用同轴电缆作为网络媒介,采用载 波多路访问和冲突检测(CSMA/CD)机制,速度 达10Mbps。 现在以太网多指使用各种采用CSMA/CD技术 的局域网。 以太网最初由XEROX公司研制,在1980年由 数据设备公司DEC、INTEL和XEROX共同使之规范, 被作为802.3标准。