我想先说我是新来的,所以如果这是一个显而易见的问题,我很抱歉。
我使用的是一个具有CAN通信的STM32微处理器,它的比特率设置为500 kBit/s。我正在尝试与另一个节点(其源代码我无法访问)进行通信,它们的比特率是相同的(500 kBit/s)。我想知道,如果他们使用相同的比特率,但不同的比特时间参数(预分频器,SyncJumpWidth,TimeSeg1,TimeSeg2),他们还能彼此沟通吗?
发布于 2022-09-09 06:46:49
有可能,但还不确定。例如,由长导线引起的传播延迟将使其在采样点位置的位置变得或多或少的关键。存根或终止不良的总线可能会受到信号反射的影响,这些反射使得采样点位置变得更加关键。较高的波特率会导致更多的比特长度不准确。一个糟糕的时钟来源也是如此。诸若此类。另外,如果你有一些奇怪和异国情调的设置,没有什么能工作,但你会得到错误的框架。
我有很好的经验,从遵循CANopen标准的要求,即把样本点尽可能接近87.5%。实现这一目标的最简单方法是总共16 to,其中相位seg2为2tq长。16往往与大多数提前分频器的时钟工作良好。请注意,CAN标准很难要求不超过25 to。
https://stackoverflow.com/questions/73652244
复制相似问题