设计自己的公交车


8

这个问题是我先前提出的问题的又一个问题:由于EMI而替代了SPI。我正在设计自己的通讯总线。如果有人可以对我的初步设计表示关注,并告诉我我疯了哪里,我将不胜感激。

我目前正在使用2MHz SPI,将10cm长的导线连接到单独PCB上的七个ADC(共享CS,但每个ADC都有自己的MISO线。它有点位撞),但我想用一个差分器件代替它以减少EMI。问题是带有差分总线的ADC很少,所以我想知道是否有可能设计自己的总线。至少是物理层,可能还有协议。

新巴士的设计目标:

  • 使用物理上小的组件
  • 低EMI
  • 最多4条数据线(两对)
  • 每个ADC的带宽> 300kbps。(总计> 2.1mbps)

在考虑让我发疯之前,请考虑一下在PSoC5上做起来并不难。在该芯片上,我当然可以在Verilog中设计自己的协议,并在硬件中实现它。在某种程度上,我也许也可以包括物理层组件。而且,我也许可以同时拥有7个这些东西,它们在主服务器中并行运行,每个从设备并行运行,以便获得良好的整体带宽。

这是我的初步想法:

在此处输入图片说明

它将基于I2C,并稍加修改以帮助其连接到物理层组件。现在,SDA和SCL线是差分对。SDA对具有OR-ing属性。使用一个只能驱动高电平的引脚和一个只能驱动低电平的引脚可以实现此目的。SCL对仅由主机驱动。数据速率将提高到至少1mbps。

主机将是具有7个主机模块的PSoC5。从设备也将是具有一个从模块的PSoC5,并使用集成ADC。

想法:

  • 不太确定实现上拉电阻器和压摆率限制组件的最佳方法是什么。
  • 我认为我不需要任何终止。如果将压摆率限制为80ns,则对于10cm长的电缆来说应该是不错的选择。
  • 那显然不是合适的差分收发器。我是在浪费时间试图使自己脱颖而出吗?
  • 那些非门引起一些偏斜。这可能是个问题吗?

如果您想要差分信令,也许LVDS值得一看?
萨德2012年

我认为我没有见过任何具有独立SDA输入和输出的I2C样式从设备。同样,如果您使用的是基于微处理器的I2C从设备,则必须允许从设备将SCK保持为低电平,以便主机能够看到它(然后,主机将推迟发送下一位,直到从设备发送为止)。释放SCK)。否则,如果主机发送数据而没有等待从机准备就绪,则将导致严重故障。或者,您可以使用SPI,并且仅使用某些字节值发送数据(因此,“实际”数据的每个字节都将作为两个字节进行传输)。如果您这样做...
超级猫2012年

...由于大多数SPI实现都会在数据超限/欠载的情况下丢弃整个字节的倍数,因此您可以让主机检测从机何时无法跟上并重新传输各个字节,直到从机能够确认它们为止。
2012年

Answers:


4

好吧,如果您要全面使用PSoC5,我最近正在阅读有关IEEE 1355的文章。DS-SE-02信号链路变型可能会做您想要的。它需要4条信号线:每个方向上的数据线和选通线。我可以找到实现1355的唯一专用硬件是防辐射的Spacewire齿轮,但是此IEEE演示文稿声称它可以在具有UART的1/3门的FPGA上实现,并且运行速度比UART快100倍。

如果您想了解一点点的话,CERN可以提供完整标准的公开副本。我没有机会坐下来欣赏一下完整的东西,所以我不能说它的EMI性能。纵观DS-SE部分,您似乎必须控制传输线中的阻抗并终止于接收端。


谢谢这个主意。听起来很有趣。任何叫做Spacewire的东西对我来说都很好。我现在看一看...
Rocketmagnet

4

您考虑过使用RS485吗?

已经有许多设计用于RS485总线的组件。


是的,我已经考虑过了。这当然是一个选择。我不认为它们会进行“或”运算,但是主机可以在一对上异步传输,而从机则在另一对上轮流传输。唯一的问题是我找不到真正的小型收发器。我是否提到我在空间上非常紧。
Rocketmagnet'7

2
SOIC 8太大了吗?我最近正在考虑在我的一个项目中使用Intersil ISL83485IBZ或Texas Instruments SN65HVD11D收发器。两者都有SOIC 8封装。
布鲁诺·费雷拉

@Bruno-SOIC-8,你在开玩笑吗?:-) PCB为11毫米x 13毫米
stevenvh 2012年

@stevenvh没有注意到另一个问题的尺寸。我想MSOP软件包不能解决您的问题。如果可以,则您可以使用ADM1485
Bruno Ferreira
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.