GERU007B June 2015 – March 2025
Die Beispiel-Firmware wurde für den Piccolo-TMS320F28069M entwickelt und kompiliert und nutzt die in Abbildung 5-1 beschriebenen Peripheriemodule.
Die Firmware nutzt C2000 controlSUITE™. Die Firmware besteht im Wesentlichen aus drei Funktionsblöcken. Das F28069M-Framework, wie in Abbildung 5-2 beschrieben, der Algorithmus zur synchronen Abtastung der erforderlichen Daten und Berechnung des interpolierten Winkels sowie die UART-Terminal-basierte Benutzeroberfläche.
Abbildung 5-2 Flussdiagramm des Sin/Cos-Encoder-FrameworksDas TMS320F28069M-Framework initialisiert den TMS320F26069M-CPU-Takt auf 80 MHz, die GPIO-Multiplexer, die Peripheriebausteine wie SPI-A, SCI-A (UART), den ePWM1-basierten periodischen Timer und Interrupt sowie den integrierten 12-Bit-Dual-S/H-ADC. Außerdem wird der externe 16-Bit-Dual-ADC ADS8354 durch SPI-A konfiguriert, wie in Sektion 4.3.2.4 beschrieben. Die SPI-A ist als SPI-Master mit einem seriellen Taktgeber von 10 MHz konfiguriert. Dies ist der maximale SPI-Takt für den Piccolo F28069M. Bei anderen Prozessoren wie Sitara AM437x oder Delfino F287x kann der SPI-Takt bis zu 24 MHz betragen.
Nach der Initialisierung ruft das Programm die UART-basierte Benutzeroberfläche auf und bedient das Perioden-Unterbrechungs-Serviceprogramm (ISR). D Perioden-ISR implementiert die synchronisierte Datenerfassung, die Berechnung der Zwischenphase und den gesamten interpolierten Winkel basierend sowohl auf dem externen 16-Bit-ADC ADS8354 als auch dem internen 12-Bit-ADC. Es folgt den in Sektion 1 beschriebenen Algorithmen. Der Code wird mit 32-Bit-Q28-Ganz-/Bruchzahlen unter Verwendung der IQmath-Bibliothek von TI geschrieben. Der Vorteil von 32-Bit-Bruchzahlen gegenüber
32-Bit-IEEE-Gleitkommazahlen besteht darin, dass die Auflösung unabhängig vom Datenbereich konstant bleibt. Da der Datenbereich für den Winkel (pro Einheit) sowie für die ADC-Eingangsdaten, die auf maximal ± 5 (V) skaliert sind, auf 0 bis 1,0 begrenzt ist, bieten Q28-Zahlen mit einem ganzzahligen Bereich ± 8,0 genügend Reserven, wobei die Genauigkeit für alle Daten konstant bleibt.
Das Flussdiagramm der ISR ist in Abbildung 5-3 dargestellt.
Abbildung 5-3 Flussdiagramm des Sin/Cos-Encoder-Haupt-ISR mit interpolierter Winkelberechnung