Pattern Generator (aus Speicher) mit < 1 mW Verlustleistung

OP #7540127
Lesenswert?

Hallo,

zur Ansteuerung einer energiesparenden Schaltung möchte ich ein 2bit Signal (also zwei digitale Signale gleichzeitig) aus einem Speicher ausgeben. Denkbar wäre z.B. aus dem Flash oder RAM eines µC oder externen Speichers.

Anforderungen:

50ns "Samplerate"

2 MSamples je Kanal

Start über Trigger-Eingang

Die Schaltung (also µC + Speicher + Signalausgabe) soll möglichst nur < 1mW Leistung verbrauchen. Das Signal ändert sich im Schnitt nur etwa alle 10-100 Samples, d.h. Energieverluste aufgrund "Toggeln" sind niedriger als 50ns.

Habt ihr Ideen mit welchem Controller/Speicher man so ein Signal möglicht effizient ausgeben könnte?

Danke Klausi

(Firma: 1984now) #7540145
Lesenswert?

Klausi2 schrieb:

Habt ihr Ideen mit welchem Controller/Speicher man so ein Signal möglicht effizient ausgeben könnte?

Ganz klar: RP2040. Die beiden teuren ARM-Kerne können dabei sowieso komplett pennen (nach der Initialisierung des Systems).

Denn ab da das kann allein die PIO-Logik plus DMA ganz alleine erledigen. Und den Mastertakt der zwingend zu betreibenden Teile des Systems kann man im Übrigen auch noch auf 40MHz stellen.

Sollte insgesamt schon recht sparsam sein, jedenfalls sparsamer als alles mir sonst noch Bekannte, was die Anforderungen erfüllen könnte. Jedenfalls so weit es µC betrifft. Mit sparsamen FPGA geht sicher noch mehr (also eigentlich natürlich: weniger).

#7540328
Lesenswert?

Hiermit koennte das wohl mit 3mW machbar sein wenn du mit dem interne Speicher auskommst:

https://www.silabs.com/mcu/32-bit-microcontrollers/efm32-gecko

Wenn du es sehr geschickt mit DMA, Sleepmode usw hinbekommst dann koennte ich mir zumindest vorstellen das du dich den 1mW annaeherst.

RP2040 vergiss mal ganz schnell. Ich glaube die Entwickler von dem sind noch sehr feucht hinter den Ohren was Lowpower und analog angeht.

Vanye

#7540445
Lesenswert?

Vanye R. schrieb:

RP2040 vergiss mal ganz schnell. Ich glaube die Entwickler von dem sind noch sehr feucht hinter den Ohren was Lowpower und analog angeht.

Warum?

Ich hätte jetzt auch den RP2040 vorgeschlagen, mit dem RAM könne es gerade so passen:

  • 256kB * 8 -> 2MBit
  • Je nach Datenformat reicht eine PIO Unit als simpler Shifter
  • Die PIO wird per DMA im Ringbuffermodus aus dem RAM gefüttert.
  • Geschätzt reicht eine Instruktion in der PIO -> PIO Clock auf 20MHz
  • Die ARM wird direkt nach der Initialisierung in den Sleep gesetzt, Clocks kann man soweit es geht runtersetzten

Vom Stromverbrauch her müsste man mal nachmessen, aber 1mW ist sportlich.

Andere Idee: QSPI Flash Baustein mit dem Pattern beschreiben. In "Dual-SPI" Read schalten und dann einfach nur noch ne 20MHz Clock anlegen. Die meisten Flashbausteine machen einen automatischen Wrap around am Ende des Speicherbereiches.

#7540461
Lesenswert?

Warum?

Weil die hat nicht fuer Lowpower optimiert sind.

Vom Stromverbrauch her müsste man mal nachmessen, aber 1mW ist sportlich.

Auf jedenfall wenn der Mikrocontroller die ganze zeit laufen muss. Bei vielen modernen Controllern, wie halt den Geckos, kann aber sehr viel weiterlaufen waehrend der Controller im Sleepmode ist. Wenn man das glueck hat das die Hardware dann sehr gut zum eigenen Problem passt dann kann man hier viel Energie sparen. Allerdings wird man zur letztlichen Auswahl des Controllers lange und gruendlich Datenblaetter lesen muessen.

Vanye

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren