Выбор источника синхронизации для контроллера шины CAN

#microcontroller #clock #can-bus

#микроконтроллер #часы #can-bus

Вопрос:

В настоящее время я использую 32-битный микроконтроллер со встроенным контроллером CAN. Я не могу выбрать источник синхронизации для контроллера CAN (на основе версии 2.0, части A и B), поскольку у меня есть 3 варианта источника синхронизации, каскадные часы FMPLL, внешний кварцевый генератор и встроенный RC-генератор. Поскольку я должен минимизировать ошибку из-за дрожания тактовой частоты при вычислении синхронизации битов CAN. Поэтому я должен выбрать лучший источник синхронизации для этого требования. Я пытаюсь найти метод, которому следует следовать для этого выбора, но не смог найти подробной информации. Кто-нибудь может мне это объяснить или порекомендовать какой-нибудь хороший источник информации? Спасибо

Комментарии:

1. CAN очень чувствителен к перекосу тактовой частоты. Избегайте любых некристаллических часов. Конечно, я бы избегал любых встроенных RC-генераторов, поскольку они обычно далеки от целевой частоты и недостаточно стабильны во время работы. Если тактовая частота FMPLL основана на внутреннем RC-генераторе, избегайте и этого. Если, с другой стороны, он основан на внешнем кристалле, никаких проблем. И, очевидно, внешний кварцевый генератор в порядке.

Ответ №1:

Это зависит от битрейта, но если у вас есть кристалл, используйте его.

CAN создает границу каждые 5 разрядов. Если вы сложите величину «дрейфа» часов, вы получите за это время промежуток между потенциально наихудшими-самыми медленными часами в сети и потенциально наихудшими-самыми быстрыми часами в сети, и сравните это с точкой выборки в используемом вами бите, вы сможете увидеть, будет ли величина дрейфа у вас слишком большой.