Forum: FPGA, VHDL & Co. Gibt es CPLD mit <1mA während dem Power-Up?


von Thomas (Gast)


Lesenswert?

Hallo,

ich bin auf der Suche nach einer kleinen programmierbaren Logik, welche 
eine 8 bit seriell-zu-parallel Wandlung durchführt um einen 
Mikrocontroller ein wenig zu entlasten.
Nun gibt es zB die Coolrunner II CPLDs mit sehr geringen statischen 
Stromverbrauch (~10-20uA). Da die eigentliche Samplingrate nur zwischen 
212 und 1694 kHz liegen wird, sollte sich der dynamische Verbrauch im 
Bereich von wenigen 100uA bewegen. Nun zieht so ein Coolrunner II laut 
Xilinx aber mehrere zig mA während der Power-Up Sequence, was vermutlich 
dem Flash geschuldet ist.
Da ohnehin ein Mikrocontroller verwendet wird, wär eine non-volatiler 
Speicher am CPLD garnicht notwendig. Die Konfiguration könnte gleich der 
uC übernehmen. Die Zeit dafür sollte nur weniger als 1ms betragen, was 
für einen kleinen CPLD hoffentlich machbar ist.

Jetzt ist nur die Frage ob es programmierbare Logik für solch einen 
Anwendungsfall gibt? Idealerweise sollte die Power-Up Sequence mit 
Konfiguration auch nicht mehr als 500uA ziehen. Als Microcontroller war 
ein sparsamer Cortex M0+ angedacht der bei einem MHz durchaus schon mit 
<250uA laufen kann.

von Gerhard (Gast)


Lesenswert?

hallo thomas,
warum soll die seriell-zu-parallel Wandlung auf einem CPLD laufen?
die sampling rate schafft ein cortex m0 locker selbst.
schad dir mal den atmel sam d20 an, der hat eine serielle engine die 
sehr flexibel programmierbar ist.

gruss
gerhard

von Thomas (Gast)


Lesenswert?

Gerhard schrieb:
> hallo thomas,
> warum soll die seriell-zu-parallel Wandlung auf einem CPLD laufen?
> die sampling rate schafft ein cortex m0 locker selbst.
> schad dir mal den atmel sam d20 an, der hat eine serielle engine die
> sehr flexibel programmierbar ist.
>
> gruss
> gerhard

Hi Gerhard,

also ich sollte vielleicht noch dazusagen um was es genau geht.
Also demoduliert sollte ein RFID Protokoll werden (eigentliche mehrere, 
aber eines ist besonders kritisch), nämlich ISO14443 Type A.
Dabei wird eine modifizierte Manchester Kodierung verwendet. Zusätzlich 
wäre es auch wünschenswert wenn die Programmierbare Logik auch noch 
Parity und CRC mitberechnet.
Das alles zusammen hab ich schonmal auf einem uC programmiert (konrekt 
ein AVR Xmega). Bei 106 kbit bin ich mit Assembleroptimierungen (keine 
Timer -> Stichwort Taktzyklus-Zählen) auf 3.4 Mhz runtergekommen um die 
ganze Demodulation mit Parity und CRC hinzubekommen. Man hat hier pro 
Chip nurmehr 16 Zyklen zeit. Das ist nicht viel. Ich bin auch skeptisch 
dass ich das mit den Instruktionset vom Cortex M0 hinbekomme.

Auch wenn solch zeitkritische Programmierung durchaus ihren Reiz hat, 
ist die Wartung kein Spaß. Also würde ich das gerne etwas entlasten ohne 
den Stromverbrauch nach oben zu treiben (so ein Tag soll auch passiv 
über das Feld versorgt werden können). Die gesamte Hardware mit diskret 
aufgebauten analogen Frontend (PLL, mehrere Filter, Komparator) soll nun 
unter 1.5mA (besser unter 1mA) ziehen. Den uC hochtakten sollte also 
vermieden werden.
Die Coolrunner II wären perfekt wenn nicht der hohe PowerUp Strom wäre. 
Das krieg ich nicht über das Feld rüber, außer vielleicht wenn sich die 
Spulen fast berühren.

Den Sam D20 hab ich mir schon angeschaut. Aber ich befürchte die SerCom 
(oder wie das Modul genannt wird) ist nur für SPI, UART und I2C 
verwendbar. ISO14443 Type A ist ein sehr eigenes Protokol (wenn auch das 
meistverwendete bei NFC), hier eine Hardwareunterstützung in Standard-uC 
zu finden, ist sehr unwahrscheinlich.
Aber ansonsten ist Atmel uC schon in der engeren Auswahl, wenn erstmal 
weitere Daten zum Stromverbrauch ins Datenblatt eingetragen werden.

lg Thomas





Den Sam D20 hab ich mir schon

von Falk B. (falk)


Lesenswert?

@ Thomas (Gast)

>ich bin auf der Suche nach einer kleinen programmierbaren Logik, welche
>eine 8 bit seriell-zu-parallel Wandlung durchführt um einen
>Mikrocontroller ein wenig zu entlasten.

CMOS Schieberegister?

>212 und 1694 kHz liegen wird, sollte sich der dynamische Verbrauch im
>Bereich von wenigen 100uA bewegen.

Warum? Batteriebetrieb.

> Nun zieht so ein Coolrunner II laut
>Xilinx aber mehrere zig mA während der Power-Up Sequence, was vermutlich
>dem Flash geschuldet ist.

Ist auch so. Der Coolrunner, ist wei ein kleines FPGA, der sich beim 
Start sein Konfiguration aus dem internen Flash lädt.

>Da ohnehin ein Mikrocontroller verwendet wird, wär eine non-volatiler
>Speicher am CPLD garnicht notwendig.

Kann man aber nicht trennen.

> Die Konfiguration könnte gleich der
>uC übernehmen.

Das geht nur bei FPGAs.

>Jetzt ist nur die Frage ob es programmierbare Logik für solch einen
>Anwendungsfall gibt? Idealerweise sollte die Power-Up Sequence mit
>Konfiguration auch nicht mehr als 500uA ziehen.

Vielleicht ein CPLD der Zero-Power Serie von Lattice? Mach-Z oder so?

> Als Microcontroller war
>ein sparsamer Cortex M0+ angedacht der bei einem MHz durchaus schon mit
><250uA laufen kann.

Vergiss es. Ggf. muss man halt eine handvoll CMOS-ICs zusammenschmieden. 
Damit brauchst du nur ein paar uA, aber halt mehr Platz.

von Thomas (Gast)


Lesenswert?

> Vielleicht ein CPLD der Zero-Power Serie von Lattice? Mach-Z oder so?

Die sehen sehr interessant aus. Irgendwelche Erfahrung bezüglich 
PowerUp?
Solche Daten scheinen nicht einfach zu finden zu sein. Musste auch bei 
Xilinx ein Weilchen danach suchen. Aber ich kann ja auch mal direkt bei 
Lattice anfragen.

von Vanilla (Gast)


Lesenswert?

Hallo Thomas,

wenn Du Dich schon bei Lattice umschaust, dann kuck mal genauer auf die 
neue ICE40 Familie welche mit LowPower ab 25uW wirbt.
Startup Current habe ich jetzt nicht nachgeschlagen, aber Lattice hat 
hier eine neue Produtfamilie für sehr kleine Funktionen für 
Batteriebetrieb entwickelt welche mindestens 2-3 Generationen jünger ist 
wie die MACH-Z Familie...
Einen Blick ins Datenblatt oder eine Nachfrage ist es auf jeden Fall 
Wert.

Gruß

Vanilla

von Falk B. (falk)


Lesenswert?

@ Thomas (Gast)

>> Vielleicht ein CPLD der Zero-Power Serie von Lattice? Mach-Z oder so?

>Die sehen sehr interessant aus. Irgendwelche Erfahrung bezüglich
>PowerUp?

Nein.

von Gerhard (Gast)


Lesenswert?

hallo thomas,
wenn ich dich richtig verstanden habe dann entwickelst du ein PICC.
ist das richtig?

gruss
gerhard

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.