GERU007B June   2015  – March 2025

 

  1.   1
  2.   Beschreibung
  3.   Ressourcen
  4.   Merkmale
  5.   Anwendungen
  6.   6
  7. Systembeschreibung
    1. 1.1 Design-Übersicht
    2. 1.2 Analoger inkrementelle Sin/Cos-Encoder
      1. 1.2.1 Sin/Cos-Encoder-Ausgangssignale
      2. 1.2.2 Beispiele für elektrische Sin/Cos-Encoder-Parameter
    3. 1.3 Methode zur Berechnung der hochauflösenden Position mit Sin/Cos-Encodern
      1. 1.3.1 Theoretischer Ansatz
        1. 1.3.1.1 Übersicht
        2. 1.3.1.2 Berechnung des Winkels mit grober Auflösung
        3. 1.3.1.3 Berechnung des Winkels mit feiner Auflösung
        4. 1.3.1.4 Berechnung des interpolierten hochauflösenden Winkels
        5. 1.3.1.5 Praktische Implementierung für nicht ideale Synchronisation
        6. 1.3.1.6 Überlegungen zu Auflösung, Genauigkeit und Geschwindigkeit
    4. 1.4 Auswirkungen von Sin/Cos-Encoder-Parametern auf die Spezifikation analoger Schaltkreise
      1. 1.4.1 Überlegungen zum Design der analogen Signalkette für die Phaseninterpolation
      2. 1.4.2 Systemdesign der Komparatorfunktion für inkrementelle Anzahl
  8. Designmerkmale
    1. 2.1 Sin/Cos-Encoder-Schnittstelle
    2. 2.2 Hostprozessor-Schnittstelle
    3. 2.3 Evaluierungs-Firmware
    4. 2.4 Power-Management
    5. 2.5 EMV-Störfestigkeit
  9. Blockschaltbild
  10. Schaltkreisdesign und Komponentenauswahl
    1. 4.1 Analoge Signalkette
      1. 4.1.1 Hochauflösender Signalweg mit 16-Bit-Doppelabtastungs-ADC
        1. 4.1.1.1 Komponentenauswahl
        2. 4.1.1.2 Eingangssignalabschluss und -schutz
        3. 4.1.1.3 Differenzialverstärker THS4531A und 16-Bit-ADC ADS8354
      2. 4.1.2 Analoger Signalweg mit unsymmetrischem Ausgang für MCU mit eingebettetem ADC
      3. 4.1.3 Komparator-Subsystem für die digitalen Signale A, B und R
        1. 4.1.3.1 Nicht invertierender Komparator mit Hysterese
    2. 4.2 Power-Management
      1. 4.2.1 24-V-Eingang auf 6-V-Zwischenschiene
      2. 4.2.2 Encoder-Versorgung
      3. 4.2.3 Signalketten-Stromversorgung 5 V und 3,3 V
    3. 4.3 Hostprozessor-Schnittstelle
      1. 4.3.1 Signalbeschreibung
      2. 4.3.2 Hochauflösender Pfad unter Verwendung des 16-Bit-Dual-ADC ADS8354 mit seriellem Ausgang
        1. 4.3.2.1 Ausgabedatenformat des Vollausschlagsbereichs von ADS8354
        2. 4.3.2.2 Serielle Datenschnittstelle von ADS8354
        3. 4.3.2.3 Wandlungsdaten von ADS8354 lesen
        4. 4.3.2.4 Registerkonfiguration für ADS8354
    4. 4.4 Encoder-Anschluss
    5. 4.5 Design-Upgrades
  11. Softwaredesign
    1. 5.1 Übersicht
    2. 5.2 C2000-Piccolo-Firmware
    3. 5.3 Benutzerschnittstelle
  12. Erste Schritte
    1. 6.1 TIDA-00176-Platinen-Übersicht
    2. 6.2 Anschlüsse und Jumpereinstellungen
      1. 6.2.1 Übersicht über Anschlüsse und Jumper
      2. 6.2.2 Standard-Jumperkonfiguration
    3. 6.3 Design-Evaluierung
      1. 6.3.1 Voraussetzungen
      2. 6.3.2 Hardware-Einrichtung
      3. 6.3.3 Software-Einrichtung
      4. 6.3.4 Benutzerschnittstelle
  13. Prüfergebnisse
    1. 7.1 Analoge Leistungstests
      1. 7.1.1 Hochauflösender Signalweg
        1. 7.1.1.1 Bode-Diagramm des Analogpfads vom Encoder-Anschluss bis zum ADS8354-Eingang
        2. 7.1.1.2 Leistungsdiagramme (DFT) für den gesamten hochauflösenden Signalweg
        3. 7.1.1.3 Hintergrundinformationen zu AC-Leistungsdefinitionen für ADCs
      2. 7.1.2 Analoger Differential-to-single-ended-Signalweg
      3. 7.1.3 Komparator-Subsystem mit digitalen Ausgangssignalen ATTL, BTTL und RTTL
    2. 7.2 Stromversorgungstests
      1. 7.2.1 24-V-DC/DC-Eingangsversorgung
        1. 7.2.1.1 Lastleitungsregelung
        2. 7.2.1.2 Ausgangsspannungswelligkeit
        3. 7.2.1.3 Schaltknoten und Schaltfrequenz
        4. 7.2.1.4 Wirkungsgrad
        5. 7.2.1.5 Bode-Diagramm
        6. 7.2.1.6 Thermisches Diagramm
      2. 7.2.2 Ausgangsspannung der Encoder-Stromversorgung
      3. 7.2.3 5-V- und 3,3-V-Point-of-Load
    3. 7.3 Systemleistung
      1. 7.3.1 Sin/Cos-Encoder-Ausgangssignal-Emulation
        1. 7.3.1.1 Ein-Perioden-Test (inkrementelle Phase)
        2. 7.3.1.2 Ein mechanischer Umdrehungstest bei maximaler Geschwindigkeit
    4. 7.4 Sin/Cos-Encoder-Systemtests
      1. 7.4.1 Nullindex-Marker R
      2. 7.4.2 System-Funktionstests
    5. 7.5 EMV-Testergebnis
      1. 7.5.1 Testeinrichtung
      2. 7.5.2 ESD-Prüfergebnisse nach IEC 61000-4-2
      3. 7.5.3 EFT-Prüfergebnisse nach IEC 61000-4-4
      4. 7.5.4 Stoßspannungsprüfungsergebnisse nach IEC 61000-4-5
  14. Designdateien
    1. 8.1 Schaltpläne
    2. 8.2 Stückliste
    3. 8.3 PCB-Layout-Richtlinien
      1. 8.3.1 Platinenschichtdiagramme
    4. 8.4 Altium-Projekt
    5. 8.5 Gerber-Dateien
    6. 8.6 Softwaredateien
  15. Quellennachweise
  16. 10Autorenprofil
    1.     Danksagung
  17. 11Revisionsverlauf

C2000-Piccolo-Firmware

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.

TIDA-00176 Flussdiagramm des Sin/Cos-Encoder-FrameworksAbbildung 5-2 Flussdiagramm des Sin/Cos-Encoder-Frameworks

Das 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.

TIDA-00176 Flussdiagramm des Sin/Cos-Encoder-Haupt-ISR mit interpolierter WinkelberechnungAbbildung 5-3 Flussdiagramm des Sin/Cos-Encoder-Haupt-ISR mit interpolierter Winkelberechnung