Was ist der Unterschied zwischen einem injizierten und einem normalen STM32-ADC-Kanal?

Das Referenzhandbuch des STM32F1 beschreibt "normale" und "injizierte" ADC-Kanäle, ist jedoch nicht klar über den Unterschied. Was ist der Unterschied zwischen den beiden Typen und wann können Sie den einen oder den anderen verwenden?

Antworten (2)

Sie können den ADC so konfigurieren, dass er eine Folge von Kanälen in einer Schleife einliest. Diese Kanäle werden regelmäßig konvertiert. Im injizierten Modus wird die Konvertierung durch ein externes Ereignis oder durch Software ausgelöst. Eine injizierte Konvertierung hat im Vergleich zu einer "normalen" Konvertierung eine höhere Priorität und unterbricht somit die regulären Konvertierungen.

Die verschiedenen ADC-Modi werden im Anwendungshinweis AN3116 erläutert.

Warum ist das injizierte Register größer als normal?

Der injizierte Modus ist ein Modus, in dem die ADC-Konvertierung aufgrund eines Triggers (Timer oder etwas anderem) während der Konvertierung regulärer Kanäle "injiziert" werden kann. Dies ist zum Beispiel in einer Motorsteuerungsanwendung nützlich, um die Umwandlung zu verzögern, bis ein bestimmtes Ereignis abgeschlossen ist (wie etwa ein Transistorschalten), so dass das Umwandlungsrauschen reduziert wird.

@ChrisStratton: Diejenigen, die die Motoren steuern.
Ah, okay, jetzt haben Sie klargestellt, dass Sie darüber sprechen, was effektiv zufällige Konvertierungsanfragen von Software sind, im Vergleich zu regelmäßiger geplanten Konvertierungen.
@ChrisStratton - Ja. Meine ursprüngliche Antwort war ziemlich schnell geschrieben und mir wurde klar, dass sie nicht klar war.
Ist das ein direktes Zitat aus dem Referenzhandbuch?
Sie können den gleichen Effekt jedoch mit normalen Konvertierungsmodi erzielen, richtig? Der reguläre Konvertierungsmodus kann durch andere Ereignisse wie z. B. Timer-Trigger-Out ausgelöst werden