3

如果您的主要选择标准是:您将在汽车嵌入式系统中使用哪种串行通信总线:

  • 电气坚固
  • 慢速 (32 kb/s)
  • 易于编程
  • 易于与微控制器接口

它不会传输太多数据,但需要以高速(100 - 500 Hz)定期传输。我发现如果你的地线有噪音,RS-232 就不够可靠。CAN-bus 看起来很有趣,但我没有这方面的经验。

我们目前对 AVR AT90CAN128 微控制器的组合感兴趣。

4

5 回答 5

9

您已经选择了 AT90CAN128,与其他 AVR 处理器相比,它的突出特点是支持 CAN 总线。对于具有数据速率和抗噪声要求的汽车应用来说,没有比 CAN 更好的选择了。如果你用 CAN 以外的任何东西进入汽车客户,你最终会花费所有时间来捍卫不使用它的决定。

话虽如此,为了在汽车等恶劣环境中抗噪,您需要使用差分信号的总线。这排除了 i2c 或 SPI,这是不幸的,因为它们满足您的其他要求。正如@Andrew Edgecombe 指出的那样,RS-485 将是可行的。

如果您不是在制造商业产品,而是在制造一些供您自己使用的东西以放入发动机舱,那么您可能可以使用 USB。USB 将使与乘客舱中的笔记本电脑连接变得容易,尽管它不是为高噪声环境而设计的,但它在相当高的电压下以不同的方式发出信号。

于 2008-09-28T02:43:54.127 回答
3

对于所有的可靠性,你不能超过 CANbus(但那是你选择的处理器所暗示的?)

根据您想要连接的内容,这可能非常简单 - 基础级协议非常简单。但是,如果您想与任何其他非专有设备通信,则必须实现更高的协议(例如 CANopen)。

但如果 CANbus 不合适,那么我会推荐 RS485 或 RS422(取决于您的拓扑)。如果您想要实现的只是点对点通信,则它与 RS232 相同。(如果您尝试支持多点通信,则必须将自己的协议层放在顶部。)

于 2008-09-27T22:31:46.977 回答
1

除了CAN之外,另外两个出色的选择是 LIN 和 FlexRay。LIN是一个更简单、更慢的接口,而FlexRay更强大,专为安全关键系统而设计,例如制动器的实时控制。

有关各种总线选择如何相互关联的漂亮概览图,请参见这张幻灯片

于 2010-04-14T01:29:13.457 回答
1

我总是建议 CAN 是汽车通信中最好的。

  • 有差分线,即使物理层数据传输出现电气毛刺也能承受
  • 它可以提供可靠的速度,它在大多数汽车软件应用程序中提供 500KBaud 速率速度。
  • 如果您了解 CAN 控制器邮箱和寄存器结构,则接口也很容易。
于 2011-04-16T10:47:12.857 回答
0

正如其他人所说,CAN 是标准的、稳健的、在低速时更稳健等。

如果您需要更大的系统,Linux 内核甚至会从 2.6.15 版本开始支持它。

于 2008-09-28T11:40:04.930 回答