2016-10-22 3 views
0

Momentan verwende ich einen 32bit Micrcontroller mit integriertem CAN-Controller. Ich bin verwirrt, um die Taktquelle für den CAN-Controller (basierend auf 2.0 Version Teil A & B) zu wählen, da ich 3 Optionen für Taktquelle, kaskadierte FMPLL-Uhr, externe Quarzoszillator und On-Chip-RC-Oszillator. Da ich den Fehler wegen Clock-Jitter in der CAN-Bit-Timing-Berechnung minimieren muss. Also muss ich für diese Anforderung die beste Taktquelle auswählen. Ich versuche zu suchen, welche Methode für diese Auswahl zu befolgen ist, konnte aber keine detaillierten Informationen finden. Kann mir das jemand erklären oder mir eine gute Informationsquelle empfehlen? DankeTaktquelle Auswahl für CAN-Bus Controller

+0

CAN ist sehr empfindlich gegenüber Taktversatz. Vermeiden Sie keine nicht-kristallbasierte Uhr. Natürlich würde ich jegliche RC-Oszillatoren auf dem Chip vermeiden, da diese normalerweise weit von der Zielfrequenz entfernt sind und während des Betriebs nicht stabil genug sind. Wenn der FMPLL-Takt auf dem internen RC-Oszillator basiert, vermeiden Sie das auch. Wenn es andererseits auf einem externen Kristall basiert, kein Problem. Und offensichtlich ist der externe Quarzoszillator in Ordnung. – tonypdmtr

Antwort

0

Es hängt von der Bitrate ab, aber wenn Sie einen Kristall haben, verwenden Sie das.

CAN erzeugt alle 5 Bit mal eine Flanke. Wenn Sie den Betrag der "Drift" der Uhr addieren, werden Sie über diese Zeit zwischen der potenziell schlechtesten und langsamsten Uhr im Netzwerk und der möglicherweise schlechtesten Uhr im Netzwerk kommen und diese mit dem Stichprobenpunkt innerhalb des Bits vergleichen Sie werden sehen können, ob die Menge an Drift, die Sie haben, zu groß sein wird.