嵌入式系统/常见协议
外观
< 嵌入式系统
这是一个嵌入式系统中使用的常见协议列表。最终,此列表将成为指向每个协议的信息来源的超链接。它们中的许多是字节流协议,可以通过各种串行协议在各种硬件上进行传输。
- I2C
- RS-485 是一种非常常见的硬件配置,用于许多嵌入式协议
- CAN 在 RS485 之上
- DeviceNet 在 CAN 之上。 维基百科:DeviceNet
- NMEA 2000 在 DeviceNet 之上。 维基百科:NMEA 2000
- DMX 在 RS485 之上。 维基百科:DMX512
- Modbus 在 RS485 之上
- 参见 串行编程/RS-485、机器人技术/计算机控制/接口/网络#RS485、嵌入式控制系统设计/现场总线、嵌入式系统/串行和并行 I/O#RS-485
- MIDI。官方 MIDI 接口原理图 (1); 精美的 MIDI IN 原理图 (2).
- 蓝牙
- 红外线
- ZigBee
- SPI
- RS-232
- USB
- 串行连接上的 IP
- MINES(网络嵌入式系统微控制器解释器)专为非常小的嵌入式系统而设计(参见 MINES 设备库)。
- 微型嵌入式网络
- 传感器换能器接口 IEEE 标准
- 三字节 Mini SSC 协议(以及另一个 Mini SSC 协议示例)
- JTAG
- NTSC/PAL 电视视频输出:w:电视打字机、通过 PSoC 生成电视信号、使用 PIC 生成电视信号、PIC Breakout、... Parallax Propeller 具有视频生成器...
- 低延迟 Myrinet 协议用于截至 2005 年 6 月的 100 多台 TOP500 超级计算机。
- 低延迟 InfiniBand 协议用于截至 2010 年 11 月的 100 多台 TOP500 超级计算机。
- 各种 以太网音频 (AoE) 协议通常设计为具有相对较低的延迟。
- LIN-Bus (w:本地互连网络),一种低成本的车辆通信网络
- Modbus (w:Modbus) 协议适用于各种硬件接口,包括
- Modbus RTU 在 RS-485 上
- Modbus ASCII 在 7 位异步串行线上
- Modbus TCP 在以太网上
- Firmata 是一种通用协议,允许人们从主机计算机上的软件完全控制 Arduino。 Arduino 对 Firmata 的参考; Firmata 维基.
- rosserial “rosserial ... 是一种通过串行链路发送 ROS 消息的通用协议。” 代码适用于 Arduino 和各种其他平台。(它专为 ROS 而设计,即 w:机器人操作系统)。
- S.N.A.P - 可扩展节点地址协议 [1] 与媒体无关,建立在底层的字节面向通信层之上。
- 另一种可扩展协议 (YASP)
- Labor-Octet-Protocol (LOP) 是一种最初在 AVR 微控制器上实现的简单协议;它建立在底层的字节面向通信层之上,并提供对消息面向(全有或全无)和流面向通信的支持。
- 芯片间串行通信 (ICSC) 是一种最初在 Arduino 上实现的简单、高可靠性、与媒体无关的协议。
- 也许最易于解析的可变大小数据包容器格式是 netstring 格式。 w:netstring
- JSON(可能封装在上述格式之一的数据包中)似乎越来越受欢迎,因为它是一种以人类易于阅读和调试的方式传输复杂数据结构的方式。 [2] w:JSON
如果您正在设计一个新的协议,因为这些协议都没有满足您的需求(到底是什么需求?),您可能需要考虑 w:网络协议设计原则、一些 串行编程/形成数据包 提示,思考 通信系统 和 数据编码理论,选择其中一个 串行编程/错误校正方法,并将粗略草稿发布到 PICA 标准维基 以供专家审查。
嵌入式系统通常有一个“主”CPU 和一堆外围设备。主 CPU 是否有一种方法可以自动找出当前连接了多少个外围设备以及每个设备的唯一 ID?是的,有几种方法——其中一些列在 电子和机器人技术网站的一个页面 上。
- “一致的开销字节填充” 由 Stuart Cheshire 和 Mary Baker 撰写,1999 年。
- 互联网技术/协议
- “嵌入式设备与计算机通信的良好 RS232 协议”
- “网络、协议和设备”论坛 [3]