Da mir die Beschreibung des FDCAN Controllers im Reference Manual des
STM32G474 zu wenig detailiert war, habe ich mich nach weiteren
Information umgesehen und bin mit der Application Note AN5348 ("FDCAN
peripheral on STM32 devices") fündig geworden - so recht schlauer hat
mich die aber nicht gemacht, mich eher weiter verwirrt.
Momentan beschäftige ich mich mit dem Versenden von CAN-Nachrichten.
Lt. AN5348 besitzt der FDCAN dedizierte Tx buffer und wahlweise
ein Tx FIFO oder eine Tx queue (Figure 4. CAN message RAM mapping.
Der FDCAN Controller auf dem STM32G474 scheint mir wohl so eine Art
minimalster Implementierung des in der AN5348 beschriebenen Controllers
zu sein - möglich sind offenbar 32 Tx buffer, der STM32G474 hat lt.
Reference Manuel aber nur 3 davon. Und die nutzt er, so verstehe ich
das, als TxFIFO oder als TX queue, er hätte demnach gar keine
"dedizierten" Tx buffer!?
Oder kann ich die 3 Buffer einfach detiziert nutzen, indem ich das
TXFQS Register ignoriere und nur mit den Registern TXBRP, TXBAR und
TXBTO arbeite?
Mir ist auch nicht so recht klar, was es mit der Unterscheidung Tx
buffer
und Tx queue so auf sich hat (AN5348/p.23): Figure 19. Mixed
configuration with dedicated Tx buffers and Tx queue)?
Eigentlich würde ich gerne einen Buffer verwenden, um zyklische
Nachrichten mit hoher Priorität zu versenden und einen zweiten Buffer
mittels Interrupt permanent aus einem Software-FIFO füttern, den dritten
für spätere Erweiterungen freihalten - mir ist jetzt nicht klar, ob das
mit dem FDCAN Controller des STM32G474 so realisierbar ist?
Kennt jemand neben dem Reference Manual und der AN5348 andere Schriften
oder nützliche Webseiten zum FDCAN Controller der STM32-Mikrocontroller?
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.