2个不稳定版本

0.2.0 2024年1月11日
0.0.0 2023年8月18日

#1862嵌入式开发

MIT/Apache

235KB
4.5K SLoC

SPE ADIN1110 embassy-net集成

embassy-netAnalog ADIN1110 SPI SPE以太网芯片提供的集成。

什么是SPE或单对以太网/10 BASE-T1L

SPE代表单对以太网。正如其名所示,SPE使用两根线(双绞线)作为物理媒介进行差分信号传输。SPE是全双工的 - 它可以同时发送和接收以太网数据包。SPE仍然是以太网,只是物理层不同。

SPE还支持PoDL (Power over Data Line),从0.5瓦到50瓦的电力传输,类似于PoE,但需要额外的硬件和握手协议。

SPE具有许多链路速度,但只有10 BASE-T1L能够在2.4 Vpp发送幅度下达到1000米的线缆长度。截至2023年,没有任何标准是相互兼容的。因此,10 BASE-T1L无法与10 BASE-T1S100 BASE-T1或任何标准x BASE-T一起工作。

在行业中,SPE也被称为APL (Advanced Physical Layer),它基于10 BASE-T1L标准。

APL可用于intrinsic safety applications/explosion hazardous areas,它有自己的名称和标准,称为2-WISE (2-wire intrinsically safe ethernet) IEC TS 60079-47:2021

10 BASE-T1LADIN1110被设计来支持本质安全应用。电源能量是固定的,不支持PDoL。

支持的SPI模式

ADIN1110支持两种SPI模式:GenericOPEN Alliance 10BASE-T1x MAC-PHY serial interface

两种模式都支持带或不带额外CRC。目前仅支持带或不带CRC的Generic SPI。

注意:SPI模式由硬件引脚SPI_CFG0SPI_CFG1选择。软件无法检测或更改模式。

硬件

其他SPE芯片

测试

ADIN1110库可以在主机上使用模拟SPI驱动程序进行测试。

$ cargo test --target x86_64-unknown-linux-gnu

基准测试

基本 ping 基准测试

# ping <IP> -c 60

60 packets transmitted, 60 received, 0% packet loss, time 59066ms
rtt min/avg/max/mdev = 1.089/1.161/1.237/0.018 ms

# ping <IP> -s 1472 -M do -c 60

60 packets transmitted, 60 received, 0% packet loss, time 59066ms
rtt min/avg/max/mdev = 5.122/5.162/6.177/0.133 ms

使用 oha 的 HTTP 压力生成器基准测试

# oha -c 1 http://<IP> -z 60s
Summary:
  Success rate: 50.00%
  Total:        60.0005 secs
  Slowest:      0.0055 secs
  Fastest:      0.0033 secs
  Average:      0.0034 secs
  Requests/sec: 362.1971

  Total data:   2.99 MiB
  Size/request: 289 B
  Size/sec:     51.11 KiB

依赖项

~2MB
~41K SLoC