uC/IC mit 16 PWM-IN gesucht

Hi,

einen IC der die Pulsbreiten von mindestens 16 Empfaenger- Kanaelen messen kann. Die Pulsfrequenz betraegt 50-100Hz, der zu messende "1"-Zustand liegt zwischen 1 und 2 ms (typischer Servo-Impuls).

Die Aufloesung muss mindestens 8 Bit betragen, 10 oder

12 Bit waeren schoener.

angesteuert werden (kann auch per Software laufen, es muessen nur die PINs reichen).

In einem aelteren Projekt benutzte ich einen AVR mit einem

16->1 Mux am CC-Eingang. Damals ging das, weil die Pulse auf allen 16 Leitungen nacheinander in fester Reihenfolge ankamen (also niemals 2 Kanaele gleichzeitig aktiv waren). Diesesmal kann die zeitliche Abfolge der Pulse jedoch stark variieren (im Extremfall beginnen alle Pulse gleichzeitig). Alle Kanaele nacheinander zu betrachten und nur jeden
  1. Impuls auszuwerten geht auch nicht -> viel zu traege.

Interner FLASH, EEPROM, SRAM (wie bei AVRs) waere sehr von Vorteil, aber nicht zwingend notwendig. Wichtiger waeren Stabilitaet, Preis und Verfuegbarkeit. Ein PC-taugliches Interface (seriell, asynchron) waere sehr von Vorteil.

Wer hat hier eine Idee?

Thx, bye Thomas

Reply to
Thomas Matern
Loading thread data ...

Habe momentan das gleiche Problem, aber mit DutyCycle. Habe das wie fol gt

auch

st anschliessend die beiden Ports ein. Dann wird mit dem alten Stand

t, die entsprechende Variable inkrementiert.

Wolfgang

Reply to
Wolfgang Draxinger

Hi,

auch

Die Idee hatte ich auch schon. Ich hoffte jedoch, dass es einen kleinen IC oder einen schicken uC gibt, der soetwas direkt kann.

Mein Problem ist, dass sich alle Eingaenge gleichzeitig aendern koennen, daher wird die Aenderungserkennung etwas komplexer aber nicht unmoeglich.

Thx, bye Thomas

Reply to
Thomas Matern

Thomas Matern schrieb:

Komplex ist sie nicht grade:

Signal=0 -> Zähler raufzählen, Signal=0->1 -> Wert abspeichern Zähler Nullsetzen Und das entweder als loop über ein rotierendes bit oder wirklich sequentiell programmiert, das geht u.U. schneller.

Udo

Reply to
Udo Piechottka

Aso, das hab ich vergessen: Ein Input des XOR Gatters liegt fest auf Lo= w. Selbst wenn sich da alles Signale =E4ndern, gibt es ein Signal, da sich= ja das eine Low Signal nicht ge=E4ndert hat.

Wolfgang

Reply to
Wolfgang Draxinger

Hi,

entiell

Du missverstehst mich. Wolfgang hat alle Signale ver-xor-t um bei einer Aenderung einen IRQ auszuloesen. Bei mir kann u.U. ein 0->1 Wechsel bei allen Signalen gleichzeitig auftreten (16x0->16x1) und das ergibt per xor keinen Unterschied also auch kein IRQ.

Thx, bye Thomas

Reply to
Thomas Matern

Thomas Matern schrieb im Beitrag ...

Es tut jeder uC (mit 16 Port-Pins), denn das Multiplexsignal hat so viele Randbedingungen (sequentiell, zyklisch etc.) das die Decodierung und neu-Codierung kein Problem ist, selbst ohne jede Hardwareunterstuetzung (Timer etc). Aber vielleicht waere es sinnvoller, das nicht-decodierte Signal (bei 8-Kanal: 9 Impulse in 1-2msec Abstand, zwischen

9tem und 1stem eine laengere Pause) als EIngang zu verwenden, dann brauchst du nur einen Pin. Achte lieber auf geringe Stromaufnahme, einfache Programmierbarbeit, lange Beschaffbarkeit, und es kommt so was wie ein PIC16F84 oder AT89C2051 bei raus.
--
Manfred Winterhoff, reply-to invalid, use mawin at despammed.com
homepage: http://www.geocities.com/mwinterhoff/
de.sci.electronics FAQ: http://dse-faq.elektronik-kompendium.de/
Read 'Art of Electronics' Horowitz/Hill before you ask.
Lese 'Hohe Schule der Elektronik 1+2' bevor du fragst.
Reply to
MaWin

Hi,

w.

ja das

Das stimmt so nicht. Nur wenn sich eine ungerade Anzahl von Eingaengen aendert, veraendert sich auch das XOR-Gatter. Bei mir gibt es (bis jetzt) zwei Szenarien:

- es aendern sich 2 Eingaenge (einer von 1->0 und der naechste 0->1)

- es aendern sich alle 16 Eingaenge von 0->1

Beide Faelle werden vom XOR nicht erkannt.

Bye, Thomas

Reply to
Thomas Matern

Anderer Vorschlag: Man nehme f=FCr jedes Signal ein eigenes XOR Gatter, der 2. Input kommt= an einen Port des AVR an dem der alte Zustand ausgegeben wird. Geht auch p= er Schieberegister Porterweiterung o.=E4. Alle Ausganssignale kommen per O= R an den Interrupt. Dann ist es egal wie sich die Signale =E4ndern.

Man k=F6nnte auch hergehen und die Signalzust=E4nde in einen Haltepuffe= r schieben. Ich lad mal entsprechende Schaltskizzen hoch.

Wolfgang

Reply to
Wolfgang Draxinger

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.