首页 文章

鲁棒且易于实现的串行总线(汽车应用)[关闭]

提问于
浏览
4

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

  • 电气坚固

  • 慢速(32 kb / s)

  • 易于编程

  • 易于与微控制器连接

它不会传输大量数据,但需要定期高速传输(100 - 500 Hz) . 我发现如果你的地线有噪音,RS-232就不够可靠了 . CAN总线似乎很有趣,但我没有经验 .

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

5 回答

  • 1

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

    话虽如此,对于像汽车这样的恶劣环境中的噪声抗扰性,您需要使用差分信号的总线 . 这排除了i2c或SPI,这是不幸的,因为它们符合您的其他要求 . 正如@Andrew Edgecombe指出的那样,RS-485可行 .

    如果你没有建造一个商业产品,而是建造一些供你自己使用的东西放入发动机舱,你可以用USB接通 . USB可以方便地与乘客舱中的笔记本电脑连接,虽然它不是为高噪声环境设计的,但它在相当高的电压下进行差分信号传输 .

  • 3

    为了实现可靠性,您无法通过CANbus(但那时您选择的处理器有何暗示?)

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

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

  • 9

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

    有关各种总线选择如何相互关联的精彩概述图表,请参阅slide .

  • 0

    我总是建议CAN是汽车通信领域最好的 .

    • 它有差分线,即使在物理层的数据传输中存在电气故障也可以承受

    • 它可以提供可靠的速度,它在大多数汽车软件应用中提供500KBaud的速率 .
      如果你知道CAN控制器邮箱和寄存器结构,

    • 接口也很容易 .

  • 1

    正如其他人所说,CAN是标准的,强大的,更强大的,速度慢等 .

    如果您需要更大的系统,那么从2.6.15版开始,Linux内核甚至可以支持它 .

相关问题