2008-09-27 25 views
4

,你会在汽车嵌入式系统,如果你的主要选择标准是使用什么样的串行通信总线:强大和易于实施串行总线(汽车应用)

  • 电健壮
  • 低速(32 KB/S)
  • 易于编程
  • 易与微控制器的接口

它不会被转移多少d ata,但它需要定期高速(100 - 500 Hz)传输。如果您的地线有噪音,我发现RS-232不够可靠。 CAN-bus看起来很有趣,但我没有经验。

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

回答

9

您已经选择了AT90CAN128,与其他AVR处理器相比,其突出特点是支持CAN总线。对于具有数据速率和噪声免疫要求的汽车应用,CAN确实没有比CAN更好的选择。如果你用CAN以外的任何东西进入汽车客户,你最终会花费你所有的时间来捍卫不使用它的决定。这就是说,对于像汽车这样的恶劣环境下的抗噪能力,你需要一个使用差分信号的总线。这排除了i2c或SPI,这是不幸的,因为它们满足您的其他要求。 @Andrew Edgecombe指出,RS-485将是可行的。

如果你还没有建立一个商业产品,而是打造东西供自己使用的摆在发动机舱,也许可以与USB度日。 USB将使乘客车厢内的笔记本电脑易于连接,尽管它不是为高噪声环境设计的,但它可以在相当高的电压下进行差分信号传输。

+0

一注:几年前,我看到丰田公司关于使用以太网的介绍。他们不会将其用于发动机控制,但是从气候控制信号到从收音机到扬声器的管道音频,其他一切都是可能的。他们对带有LED收发器的塑料光学产品感兴趣。 – DGentry 2009-01-01 15:23:30

3

对于所有出的可靠性,你不能走过去的CAN总线(但当时这是那种你选择处理器的暗示?)

根据您要的接口是什么,这是非常简单 - 基本级协议非常简单。但是,如果您想与任何其他非专有设备交谈,则必须实施更高级的协议(例如CANopen)。

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

0

正如有人说,CAN是标准的,强大的,更强大的具有速度慢等

甚至还有在Linux内核2.6.15从版本支持它,如果你需要更大的系统。

1

除了CAN以外,LIN和FlexRay还有其他两个很好的选择。 LIN是一个更简单,更慢的界面,而FlexRay更强大,并且设计用于安全关键系统,如刹车的实时控制。

有关不同总线选择如何相互关联的一个很好的总览图,请参阅此slide

1

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

  • 它得到了差分线,甚至可以承受,如果有在物理层数据传输
  • 它能够提供可靠的速度的电气故障,它在大多数的汽车应用软件供应500KBaud率速度。如果您知道CAN控制器邮箱和寄存器结构,接口连接也很容易。