Ich möchte mit eine MCF52235 von Freescale ein kleines CAN-Netzwerk aufbauen, habe aber Probleme, bei der Einstellung der Übertragungsfrequenz. Wie bei vielen anderen Prozessoren auch, erfolgt diese über die Register PRESDIV, PROPSEG, PSEG1 und PSEG2. Nach längeren Recherechen muss ich allerdings gestehen, dass ich bei der Funktionsweise nicht so richtig durchsteige. Mein Prozessor hat einen Systemtakt von 60MHz und einen externen Quarz mit 25MHz. Wie müsste ich die Register konfigurieren, dass ich bei Verwendung der 60MHz eine Übertragungsrate von 1MBit/s einstellen kann. Gibt es da nicht vielleicht einfach ein Formel, mit der ich die einzelnen Registerwerte berechnen kann, bzw. wie schlimm ist es, wenn der eingestellte Wert von der gewünschten Übertragungsgeschwindigkeit abweicht?
Wenn du Glück hast, dann haben diese Felder eine ähnliche Bedeutung wie bei anderen CAN Controllern. Dann lässt sich mit den diversen Kalkulatoren im Netz was anfangen (Google: can bus bit timing calculator). Die Grundlagen zum Timing findet man beispielsweise dort erklärt: http://www.microchip.com/stellent/groups/analog_sg/documents/appnotes/en011947.pdf
Ok, vielen Dank! Ich denke ich hab's jetzt. das jeder was davon hat werde ich meine Lösung hier kurz darstellen. Werde doch den externen Quarz als Referenz nehmen, da er kleinere Toleranzen hat. Alles in Allem habe ich jetzt eine Funktion auf Basis einer von Freescale in MQX implementierten Initialisierung geschrieben, die mir die jeweilige Baudrate bei Aufruf der Funktion initialisiert: Baudrate = Systemtakt / (PRESDIV * (PROPSEG + PSEG1 + PSEG2 +1)) PRESDIV = 1..256 PROPSEG = 1..8 PSEG1 = 1..8 PSEG2 = 1..8 In die Register wird jeweils der gewünschte Wert-1 geschrieben FLEXCAN_REG_STRUCT_PTR beschreibt die Struktur der Register des FlexCAN Moduls
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
30 | |
31 | |
32 | |
33 | |
34 | |
35 | |
36 | |
37 | |
38 | |
39 | |
40 | |
41 | |
42 | |
43 | |
44 | |
45 | |
46 | |
47 | |
48 | |
49 | |
50 | |
51 | |
52 | |
53 | |
54 | |
55 | |
56 | |
57 | |
58 | |
59 | |
60 | |
61 | |
62 | |
63 | |
64 | |
65 | |
66 | |
67 | |
68 | |
69 | |
70 | |
71 | |
72 | |
73 | |
74 | |
75 | |
76 | |
77 | |
78 | |
79 | |
80 | |
81 | |
82 | |
83 | |
84 | |
85 | |
86 | |
87 | |
88 | |
89 | |
90 | |
91 | |
92 | |
93 | |
94 | |
95 | |
96 | |
97 | |
98 | |
99 | |
100 | |
101 | |
102 | |
103 | |
104 | |
105 | |
106 | |
107 | |
108 | |
109 | |
110 | |
111 | |
112 | |
113 | |
114 | |
115 | |
116 | |
117 | |
118 | |
119 | |
120 | |
121 | |
122 | |
123 | |
124 | |
125 | |
126 | |
127 | |
128 | |
129 | |
130 | |
131 | |
132 | |
133 | |
134 | |
135 | |
136 | |
137 | |
138 | |
139 | |
140 | |
141 | |
142 | |
143 | |
144 | |
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.