Hallo zusammen,
ein ESP32-S3 soll via SPI das das Datenregister eines AS5047 (Hall-Sensor) auslesen. Grundsätzlich ist das Vorgehen einfach: Im Full-Duplex sendet man ständig den entsprechenden Auslesebefehl als 16bit-Wort raus und erhält - beim Senden des nächsten Auslesebefehls - den aktuellen Messwert zurück. Alle Bibliotheken, die ich da gefunden habe, machen dieses Auslesen CPU-gesteuert. Gerade wenn ich das in hoher Geschwindigkeit und ohne zeitlichen Jitter brauche, ist das problematisch.
Ich frage mich deshalb, ob man mit Hilfe der im ESP32-S3 verfügbaren Hardware-Ressourcen (GDMA+SPI) eine
- unendliche zyklische
- komplett hardware-basierte
- jitter-freie
- SPI-Master-Kommunikation
aufbauen kann, die ständig den Auslesebefehl sendet und das Datenwort empfängt und passend im Speicher ablegt. Bevor ich mich da selbst ransetze und versuche, die Bedeutungen der Register im ESP-S3 zu ergründen:
- Hat einer von Euch dieses vermutlich häufig vorkommende Problem bereits gelöst?
- Oder kann mir jemand einen guten Ansatz geben?
- Oder kann mir jemand sagen, dass dieses Vorhaben mit dem ESP32-S3 nicht funktionieren wird?
Vielen Dank für die Unterstützung!
Grüße, Klaus