Forum: Mikrocontroller und Digitale Elektronik STM32G474 FDCAN controller


von Uli N. (uln)


Lesenswert?

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
Noch kein Account? Hier anmelden.