后编写几种不同的定义序议定书的各种项目,我已经开始变得沮丧,与重新发明轮子。代替持续开发定制的解决方案,对每一个项目,我一直在寻找一个更一般的解决方案。我想知道如果有人知道一个协议(或者更好的是,执行情况),以满足下列要求:

  • 支持多的设备。我们希望能够支持一个485车。
  • 有保证的交付。某种形式的确认机制,以及一些简单的错误检测(CRC16可能是优良)。
  • 不主/从属。理想的奴隶(s)会能够发送数据是异步的。这主要是仅对美学原因,这一概念的投票每个从不觉得我的权利。
  • OS的独立性。理想的情况,它就不会依赖于先发制人的多任务的环境。我愿意承认这一点,如果我可以得到的其他东西。
  • ANSI C。我们需要能够编译为几种不同的架构。

速度是不太多的一个问题,我们愿意放弃一些速度,以便满足一些其他需要。然而,我们要想尽量减少所需的资源。

我要开始执行一个滑动窗口协议与捎带的确认和无选择性重复,但认为也许有人可以救我的麻烦。任何人都不会知道的现有项目,我可以杠杆?或也许是一个更好的战略?

更新
我有认真考虑TCP/IP执行情况,但真的很希望更多的东西轻。许多特征的TCP/IP被矫枉过正是我想要做的。我愿意接受(勉强),也许特点,我想只是不包括在较轻的协议。

更新2
感谢您的技巧。我看着它在过去和将可能使用它的未来。我真的很想库,处理确认,缓冲,试次数等,虽然。我猜我在寻找一个网络/运输层,而不是一个电台/物理层。

3的更新
所以这听起来像中国家的技术在这个领域是:

  • 修剪下来TCP/IP堆。可能开始喜欢的东西 lwIPuIP.
  • 一个可以根据实现,它可能会严重依赖能车,所以它不会是有用的其他物理层。喜欢的东西 可以节 可能的帮助。
  • HDLC或执行周期(喜欢 这一个).这是可能的路线,我们会采取。

请随后更多的答案如果你遇到这个问题。

有帮助吗?

解决方案

你有没有考虑 HDLC周期?

还有 圈/D (链接的访问协议,D-通道)。

Uyless黑色的"数据链路的协议"总是在附近在我的书架上-你可能会发现一些有用的材料中有太多(甚至仔细目录和研究的不同议定书)

其他提示

可以 满足一些条件:

  • 支持多的设备: 它支持大量的设备上的一个巴士。不是,但是,兼容485.
  • 有保证的递送: 物理层使用位馅和儿童权利委员会,所有这些都以硬件实现在越来越多的现代嵌入式处理器。如果你需要acknlowedgement,你需要添加上你自己。
  • 不主/从: 有没有硕士或奴隶;所有设备可以传送时,他们想要的。处理器硬件涉及仲裁和争议。
  • OS的独立性: 不适用;这是一个低级别的车。什么你把顶上那个是你。
  • ANSI C: 再次,不适用。
  • 速度: 通常,最高达1兆达到40米;你可以选择你自己的速度。

如前所述,它的定义是相当低的水平,因此仍有工作要做把它变成一个完整的协议以满足你的需要。然而,事实上,很多工作是在硬件为你它不会使非常有用的各种应用程序。

我猜一个合理的起点可以是 uIP.

(增加 维基百科上的文章µIP 由于原始链路已经死了.)

看看 现场总线.

如果你不想的主/从我认为你应该做的事仲裁与硬件(Can总线, FlexRay).

你会考虑的储备协议?它是主从定向,因此奴隶不能启动传送,但否则是轻量级的执行、免费,以及支持与高级别工具。你应该仅掌握在他们的术语/喜欢保持登记,输入登记,输出圈等)。

物理层级可以RS232、485、以太网...

看看微控制器的互联网网络(分):

https://github.com/min-protocol/min

灵感可以,但使用标准串口硬件、与弗莱彻的检验和框架的格式检查的错误检测和字节馅标志着一个框架头。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top