在当今数字化时代,互联网技术对人类社会的影响极为深远,大部分电子设备都能以不同方式接入互联网。本文将深入介绍瑞萨 RA 系列 FSP 库开发中 ETHERC 以太网通信的相关知识。
互联网模型
互联网接入方式多样,在家庭中,PC 常见的接入方式是通过路由器组建小型局域网,利用互联网专线或调制调解器经电话线网络连接到互联网服务提供商,进而接入互联网。而企业或学校的局域网规模较大,常使用交换机组成局域网,再通过路由以不同方式接入互联网。
通信需要相互兼容的硬件和软件支持,即通信协议。以太网通信结构复杂,国际标准组织制定了 OSI 模型,该模型共分七层,包括应用层、表示层、会话层、传输层、网络层、数据链路层以及物理层,每个层功能不同,在通信中各司其职,整个模型涵盖硬件和软件定义。不过,一般的网络系统通常只涉及其中几层。
TCP/IP 是互联网基本的协议,由网络层的 IP 协议和传输层的 TCP 协议组成,它只有四个分层,即应用层、传输层、网络层以及网络访问层。虽然分层比 OSI 模型少,但与 OSI 模型并不冲突,它是将 OSI 模型的一些层次进行了整合,本质上能实现相同功能。此外,还有一个 TCP/IP 混合模型,分为五个层,它把网络访问层拆成数据链路层和物理层,这种分层方式更便于学习理解。
在网络设计中,为降低复杂性,会对硬件和软件进行封装、分层,形成网络体系模型。设备相同层之间的对话和通信约定构成层级协议,设备中使用的所有协议统称协议栈。在 TCP/IP 混合参考模型中,数据链路层又分为 LLC 层(逻辑链路层)和 MAC 层(媒体介质访问层),对于普通接入网络终端的设备,LLC 层和 MAC 层是软硬件的分界线。例如 PC 的网卡主要负责实现 MAC 子层和物理层,而 PC 软件系统中有一套庞大程序实现了 LLC 层及以上的所有网络层次协议。由硬件实现的物理层和 MAC 子层在不同网络形式(如以太网和 WiFi)中有很大区别,这由物理传输方式决定;而由软件实现的其它网络层次通常区别不大,在 PC 上可能实现完整功能,支持所有协议,在嵌入式领域则按需裁剪。

以太网
以太网是互联网技术的一种,在组网技术中占比很高,很多人将其等同于互联网。以太网是遵守 IEEE 802.3 标准组成的局域网,该标准主要规定了参考模型的物理层(PHY)和数据链路层中的介质访问控制子层(MAC)。家庭、企业和学校组建的 PC 局域网一般也是以太网,常使用水晶头网线连接。IEEE 还有其它局域网标准,如 IEEE 802.11 是无线局域网(WiFi),IEEE 802.15 是个人域网(蓝牙技术),其中的 IEEE 802.15.4 标准是 ZigBee 技术。
现阶段,工业控制、环境监测、智能家居等领域的嵌入式设备有接入互联网的需求,利用以太网技术,这些嵌入式设备可以很容易地接入现有的计算机网络。
PHY 层
在物理层,IEEE 802.3 标准规定了以太网使用的传输介质、传输速度、数据编码方式和冲突检测机制,通常通过一个 PHY 芯片实现其功能。
传输介质:包括同轴电缆、双绞线(水晶头网线是一种双绞线)、光纤。根据不同的传输速度和距离要求,基于这三类介质的信号线又衍生出很多不同种类。常用的 “五类线” 适用于 100BASE - T 和 10BASE - T 的网络,网络速率分别为 100Mbps 和 10Mbps。
编码:为让接收方在无外部时钟参考时能确定每一位的起始、结束和中间位置,传输信号时不直接采用二进制编码。在 10BASE - T 的传输方式中采用曼彻斯特编码,在 100BASE - T 中则采用 4B/5B 编码。曼彻斯特编码把每一个二进制位的周期分为两个间隔,表示 “1” 时,前半个周期为高电平,后半个周期为低电平;表示 “0” 时则相反。这种编码方式效率只有 50%。而 100BASE - T 采用的 4B/5B 编码是把待发送数据位流的每 4 位分为一组,以特定的 5 位编码表示,能使数据流有足够多的跳变,达到同步目的,效率提高到了 80%。

CSMA/CD 冲突检测:早期以太网大多是多个节点连接到同一条网络总线上(总线型网络),存在信道竞争问题,因此每个连接到以太网上的节点都必须具备冲突检测功能。以太网具备 CSMA/CD 冲突检测机制,如果多个节点同时利用同一条总线发送数据,会产生冲突,总线上的节点可通过比较接收到的信号与原始发送的信号检测是否存在冲突,若存在冲突则停止发送数据,随机等待一段时间再重传。现在大多数局域网组建时采用星型网络,一个设备接入独立的路由或交换机接口,不会产生冲突,但新出的产品为了兼容仍带有冲突检测机制。