mit weniger Microcontrollerpins auskommen

OP #1341426
Lesenswert?

Hallo,
ich benutze zur zeit einen Atmega 1280 um auf vielen leitungen(14)
digitale signale zu erfassen. Es geht mir um die Zeitdifferenz zwischen
den positiven flanken von festen Leitungspaaren sowie das wieder auf
null gehen.
Nun habe ich überlegt, daß ich mit einem kleinen cpld einen wesentlich
kleineren, billigeren und leichter zu lötenden Controller nehmen könnte.

Ist das eine sinnvolle Idee? Dem stopwatch-beispielprojekt von xilinx
entnehme ich, daß die Datenerfassung im cpld kein großes problem sein
sollte, aber wie kann ich die Information an den Controller übertragen?

Signale wären beispielsweie:
anstieg in 2 ms auf kanal 2
nix
nix
anstien in 6.4 ms auf kanal 3
nix
kanal 2 aus
nix
kanal 3 aus

Ein einfaches serielles Protokoll braucht wohl einen fifo, kann man den
im cpld realisieren? Block-ram gibts ja nicht.

Viele Grüße,
Hansi
Gast #1341537
Lesenswert?

Ein CPLD bzw. FPGA erlaubt zumindest eine wesentlich höhere 
Zeitauflösung, im sub-Mikrosekunden-Bereich statt im 
Millisekundenbereich den der Prozessor softwaretechnisch erlaubt.

Aber die Daten müssen auch im schlechtesten Fall (rauschen an den 
Leitungen :-) vom CPLD an den Prozessor (bzw. zunaechst mal Speicher) 
weitergeleitet werden können.

Daher verwenden die üblichen LogicAnalyzer-Ansätze ein CPLD welches 
autark die Daten in ein RAM schreibt. Statt dem enfachsten Fall, in dem 
das RAM mit der Abtastrate getaktet wird und genau die Bit 
reingeschrieben werden, die den Eingangsleitungen entsprechen, kann man 
mit mehr Bits (einem Zeitstempel) die Anzahl der Datensätze verringern 
(es werden nur noch bei Änderungen Datensätze geschrieben) und damit die 
Speicherdauer verlängern. Das CPLD macht es dabei mit Leichtigkeit, die 
Adressen zu erzeugen und die Pegeländerungen zu erkennen, und ggf. bei 
Überlauf des Zeitstempels einen Fortsetzungsdatensatz zu schreiben.

Der Prozessor kann danach in Ruhe die Datensätze auswerten und z.B. 
daraus Diagramme zeichnen.

Bei FPGAs gibt es ggf. ausreichend grossen internen Speicher, aber ob 
das die preiswertere Methode ist, mag ich bezweifeln, es ist vielliecht 
die schnellere.

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