Reicht ein LPC1347 für diese Aufgabe

OP #5558414
Lesenswert?

Hallo zusammen,

ich habe eine Aufgabe, bei der ich zwei Frequenzen einlese (bzw. 
eigentlich den Abstand zwischen zwei aufeinander folgenden fallenden 
Flanken, sprich Periodendauer). Das Erfassen wird interruptgesteuert 
laufen.

Dieser Wert wird dann umgerechnet und über SPI in den DAC geschrieben. 
Es eine Art Frequenz zu Spannung Wandler.

Es sind zwei Eingänge für Frequenz und ein Ausgang für Spannung, sprich 
ein Zweikanal DAC, ein TI TLV5618 (vermutlich).

Also zusammengefasst:
-> 2 Eingänge, Frequenz bis zu 12kHz
-> 1 SPI Ausgang zum dual-DAC
-> MCU ist ein LPC1347

Ich denke, das reicht mehr als Dicke und MCU wird sich tot langweilen, 
will es nur bestätigt bekommen.

Danke.
Gast #5558444
Lesenswert?

Eine Periodendauer waere es eigentlich nur, wenn es derselbe
Eingang ist, mithin die beiden Flanken dem selben Signal
entstammen.

So ist es eher eine Zeitmessung.

Selbst ein kleiner PICklig wuerde sich da langweilen...

Wahrscheinlich wieder ein ahnungsloser Informatiker.
OP #5558448
Lesenswert?

Ja, es wird immer am jeweils einem Eingang gemessen... sprich zwei 
Signale werden erfasst. Dachte, es wäre deutlich beschrieben.

PIClig schrieb:
> Wahrscheinlich wieder ein ahnungsloser Informatiker.

Hast du irgendein Problem? Oder spricht da einfach ein Geltungsbedürfnis 
eines µc.net Forumlers, der im realen Leben nicht die Eier hat etwas zu 
melden und deswegen es im Netz tut?
OP #5558461
Lesenswert?

Hallo Lothar,

danke Dir für die Info. Der Chip sieht interessant aus, kannte ich noch 
nicht. Habe bis jetzt immer die LPC1343/LPC1347 oder den LPC1768/69 
genommen, je nach Projekt.

Aber ein DAC bringt mir nicht viel, da ich zwei Kanäle brauche. Es 
werden zwei Sensoren abgefragt und entsprechend zwei Spannungen zur 
Verfügung gestellt.
Gast #5558467
Lesenswert?

Ein Delta t kann man genau erfassen indem beide Kanäle ein Capture auf 
einen 32 Bit Timer auslösen, das dürfte noch genauer werden als mit 
Interrupts. Da wird sich der CM3 bei 72 MHz ziemlich langweilen.
OP #5558469
Lesenswert?

Lothar schrieb:
> Hatte ich dann falsch verstanden - ich dachte zwei Eingänge und ein
> Ausgang.

Nene, 1:1, also ein Eingang korrespondiert mit einem Ausgang. Ist ein 
Signalwandler letzendlich.

> Man kann den LPC1347 statt mit 72 MHz auch mit 12 MHz laufen lassen um
> Strom zu sparen.

Strom ist genug da, das wäre nicht notwendig. Mit einer "Dauerwandlung" 
habe ich noch keine Erfahrungen gesammelt, deswegen die Frage.

Johannes S. schrieb:
> Ein Delta t kann man genau erfassen indem beide Kanäle ein Capture auf
> einen 32 Bit Timer auslösen, das dürfte noch genauer werden als mit
> Interrupts. Da wird sich der CM3 bei 72 MHz ziemlich langweilen.

Die Idee ist über ExtInt zu gehen, die auf fallende Flanke feuern und 
dann die Abstände zwischen den Interrupts zu erfassen.
#5558555
Lesenswert?

Hemi 8. schrieb:
> Die Idee ist über ExtInt zu gehen, die auf fallende Flanke feuern und
> dann die Abstände zwischen den Interrupts zu erfassen.

Keine gute Idee, damit kriegt man einen zusätzlichen Jitter durch die 
variable Interrupteinsprungszeit.
Besser mit Input-Capture, das ist zyklengenau.

Der ARM ist damit völlig unterfordert.
Das schafft sogar ein ATtiny24 bequem, wenn man beide Signale 
abwechselnd mißt, d.h. den Capture Eingang umschaltet.
Je nach Geschwindigkeitsanforderung kann man auch die DACs sparen und 
per PWM mit RC-Filter ausgeben.
OP #5558774
Lesenswert?

Peter D. schrieb:
> Keine gute Idee, damit kriegt man einen zusätzlichen Jitter durch die
> variable Interrupteinsprungszeit.
> Besser mit Input-Capture, das ist zyklengenau.

Ahhh, okay, das ist ja genau das, was ich brauche, danke.

> Der ARM ist damit völlig unterfordert.
> Das schafft sogar ein ATtiny24 bequem, wenn man beide Signale
> abwechselnd mißt, d.h. den Capture Eingang umschaltet.
> Je nach Geschwindigkeitsanforderung kann man auch die DACs sparen und
> per PWM mit RC-Filter ausgeben.

Das weiß ich auch nicht so genau. Es sind zwei HFM, die ausgewertet 
werden und das gleichzeitig.
Gast #5558829
Lesenswert?

Hemi 8. schrieb:
> Auflösung?
>
> Es ist ein Rechtecksignal mit einer veränderlichen Frequenz zwischen
> 2kHz und 12kHz. Die Spannung ist zwischen 0,5V und 5,0V und zwar gibt es
> nur die zwei Zustände, nur "an" oder "aus".
>
> Oder habe ich Deine Frage nicht verstanden?

Ja hast du.

Es gibt nur an und aus, das stimmt soweit. Aber du willst ja die Zeiten 
erfassen. Bei einer Stoppuhr wäre die Frage: Soll sie Sekunden, 1/10 
Sekunden oder noch feiner messen?

Wie fein willst du die Zeiten messen? Sicher in kleineren Intervallen, 
als 100 Mikrosekunden. Wie fein konkret?
Gast #5559009
Lesenswert?

Peter D. schrieb:
> Der AVR kann mit 20MHz takten, das ergibt bei 12kHz 1666 Counts, also
> ~10Bit Auflösung.
> Der ARM kann 72MHz (6000 Counts ~12Bit).

Kann man das so einfach sagen? Der LPC1347 kann Code nicht aus dem RAM 
ausführen und der Flash hat bei 72MHz zwei Waitstates. Der EFM8LB hat 
bei 72MHz auch zwei Waitstates, hat aber einen ADC mit DMA und erreicht 
in der Praxis höhere Meßauflösung. AVR hat bei 20MHz zwar keine 
Waitstates, hat aber in der Praxis dennoch wesentlich geringere 
Waitstates als der LPC1347 bei 20MHz ohne Waitstates. Oder wir machen 
was falsch.
Gast #5559014
Lesenswert?

Peter D. schrieb:
> Der AVR kann mit 20MHz takten, das ergibt bei 12kHz 1666 Counts, also
> ~10Bit Auflösung.
> Der ARM kann 72MHz (6000 Counts ~12Bit).

Kann man das so einfach sagen? Der LPC1347 kann Code nicht aus dem RAM
ausführen und der Flash hat bei 72MHz zwei Waitstates. Der EFM8LB hat
bei 72MHz auch zwei Waitstates, hat aber einen ADC mit DMA und erreicht
in der Praxis höhere Meßauflösung. AVR hat bei 20MHz zwar keine
Waitstates, hat aber in der Praxis dennoch wesentlich geringere
Meßauflösung als der LPC1347 bei 20MHz ohne Waitstates. Oder wir machen
was falsch.
OP #5561930
Lesenswert?

Peter D. schrieb:
> Hemi 8. schrieb:
>> Oder habe ich Deine Frage nicht verstanden?
>
> Ja, er meint die Meßauflösung.
> Der AVR kann mit 20MHz takten, das ergibt bei 12kHz 1666 Counts, also
> ~10Bit Auflösung.
> Der ARM kann 72MHz (6000 Counts ~12Bit).
> Will man mehr, kann man auch über mehrere Perioden summieren.

Ahhh, das meinst Du.

Das weiß ich (noch) nicht so genau... ich messe die Luftmasse in kg/h... 
Das richtige Datenblatt vom Sensor habe ich noch nicht, deswegen kann 
ich auch noch nicht sagen, was meine obere Grenze für die Frequenz ist. 
Der Sensor kann bis zu 1000kg/h (das entspricht dann dann 7,94kHz), 
meine nominale Luftmenge liegt bei 480kg/h (das entspricht ca. 4,66kHz).

Die 8kHz bei 72MHz des ARMs entspricht so ziemlich genau 9000 Counts, 
also ca 13 bit. Das reicht dicke.

Das, was von diesem Sensor erfasst wird, wird dann noch gewandelt und 
über einen DAC als Spannung ausgegeben, 0V bis 5V, mit 12bit Auflösung.

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