mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Benötige kleine Digitale Schaltung mit Zählwerk


Autor: Bernd B. (bernte01)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich benötige eine kleine Schaltung mit zwei Eingängen und einem Ausgang, 
die folgendes tut:

a) Sie wird mit einem Start-Triggersignal gestartet. (eine steigende 
Flanke 3.3V)
b) Sie bekommt an zweiten Eingang ein ständiges Rechtecksignal, zwischen 
400kHz und 1700kHz. Sie zählt die Perioden.
c) Nach N Perioden (ca. 40 bis 200) gibt sie einen Triggerpuls auf einem 
Ausgang (damit startet sie eine Messung mit einem Scope).
d) Das macht sie insgesamt M (ca. 100) mal.
e) Fertig. Sie wartet auf den nächsten Start-Trigger.

Es wäre natürlich schön, M und N frei einstellen zu können. Ich kann 
aber leider nicht viel Zeit investieren. Daher würde es mir auch 
genügen, z.B. M=128 fest zu verdrahten, und N z.B. mit einem Jumper auf 
64 oder 128 stellen zu können.

Meine Frage ist jetzt, was ihr mir als Technologie empfehlen würdet. Ich 
habe von Digitaltechnik nur wenig Ahnung (bin Elektroingenieur, der zu 
viel Zeit vor Computern verbracht hat). Ich vermute, am einfachsten ist 
es, sich aus Logikbausteinen und einem Binärzählwerk etwas 
zusammenzustecken. Alternativ könnte ich mir ein Raspberry Pi 
vorstellen, falls die Schleife mit halbwegs konstanter Latenz läuft, 
sodass ich immer möglichst genau die gleiche Phase erwische. Als drittes 
wäre natürlich eine Arduino / Mikrocontroller Lösung. Ich hatte aber 
beides noch nicht in der Hand, fürchte also recht lange 
Einarbeitungszeit.

Autor: Blubber (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bernd B. schrieb:
...
> b) Sie bekommt an zweiten Eingang ein ständiges Rechtecksignal, zwischen
> 400kHz und 1700kHz. Sie zählt die Perioden.
...
> Meine Frage ist jetzt, was ihr mir als Technologie empfehlen würdet. Ich
> habe von Digitaltechnik nur wenig Ahnung (bin Elektroingenieur, der zu
> viel Zeit vor Computern verbracht hat). Ich vermute, am einfachsten ist
> es, sich aus Logikbausteinen und einem Binärzählwerk etwas
> zusammenzustecken. Alternativ könnte ich mir ein Raspberry Pi

1. Der RPi schafft deine 400-1700kHz nicht.

2. Ein µC mit Hardwarezähler und externem Eingang könnte das bei 
geschickter Programmierung.

3. Mit einer handvoll Logikbausteinen und ein paar (Dil)Schaltern bist 
du sicherlich am schnellsten am Ziel.

4. Die Lernkurve für ein paar FlipFlops, Zähler und Vergleicher ist 
sicherlich steiler als für hoch optimiertes Assembler ...

Autor: Volker S. (vloki)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Blubber schrieb:
> 2. Ein µC mit Hardwarezähler und externem Eingang könnte das bei
> geschickter Programmierung.
> ...
> 4. Die Lernkurve für ein paar FlipFlops, Zähler und Vergleicher ist
> sicherlich steiler als für hoch optimiertes Assembler ...

Ich stelle mir das gar nicht so kompliziert vor.
Assembler braucht man wohl auch nicht, da alles was schnell gehen muss 
von irgendwelchen Hardware-Modulen gemacht wird.

z.B. bei einem 8bit-PIC mit CCP Modul.
- das Rechtecksignal kommt auf einen Timer/Counter Eingang
- der Timer/Counter ist fest verknüpft mit einem Compare Modul
- der Compare Wert ist "N"
- bei Counter == N wird der Counter automatisch auf 0 gesetzt, ein 
Interrupt ausgelöst, in welchem der Trigger für das Oszi erzeugt wird, 
der M-Zähler inkrementiert und mit "M" verglichen wird...

Autor: Marcus H. (Firma: www.harerod.de) (lungfish) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bernd B. schrieb:
> Meine Frage ist jetzt, was ihr mir als Technologie empfehlen würdet. Ich
> habe von Digitaltechnik nur wenig Ahnung (bin Elektroingenieur, der zu
> viel Zeit vor Computern verbracht hat).
Schade, aber wahrscheinlich wirtschaftlich profitabel. ;)

>Ich vermute, am einfachsten ist
> es, sich aus Logikbausteinen und einem Binärzählwerk etwas
> zusammenzustecken.
Du hast keine Signal-/Betriebsspannung genannt, aber das ist Deine 
Chance, Dir mal die vor kurzem neu auf den Markt gebrachte 74HC-Familie 
anzuschauen...

Falls das privat ist und Du doch ein wenig Zeit (eine Woche oder so) 
investieren kannst, dann würde ich Dir ein STM32-Evalboard (10€) mit 
Atollic TrueStudio lite (kostenlos) vorschlagen:
http://de.farnell.com/stmicroelectronics/stm32vldi...

Autor: Peter D. (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Man könnte die 0,4..1,7MHz direkt als CPU-Takt z.B. für einen ATtiny2313 
benutzen. N und M stellt man über BCD-Kodierschalter ein.
Da es auf jeden Zyklus ankommt, sollte man das in Assembler 
programmieren. Es muß ja nichts gerechnet werden.

Autor: Oleg A. (oga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein CPLD Board deckt alles ab, was Du brauchst und kostet ca. € 10.-

https://www.aliexpress.com/item-img/Altera-MAX-II-...

Autor: Bernd B. (bernte01)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Vielen Dank für die ganzen Vorschläge. Ich denke, ich werde mit einer 
Lösung mit Logikbausteinen anfangen. Dann habe ich hoffentlich erstmal 
ein schnelles Ergebnis. Falls wir den Messaufbau in eine Dauerlösung 
überführen, werde ich mich mal mit dem ATiny und dem CPLD Board 
auseinandersetzen.

Es ist leider nicht privat, und wenn ich mich abends aus Interesse noch 
mit dem Lötkolben hinsetze gibts Ärger mit meiner Frau ;-)

Autor: Bernd B. (bernte01)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Vielleicht könntet ihr noch einen Blick auf diese Schaltung werfen und 
mir sagen, ob das so klappen könnte:

Ein Flip-Flop wird vom Start-Trigger angeschaltet. Dadurch werden zwei 
74HC4040 aktiviert. Der erste 74HC4040 zählt fleißig die Pulse, und z.B. 
jeden 32. Puls greife ich am Q5 ab und gebe ihn auf das Oszi. Der zweite 
74HC4040 zählt die Aquisitionen, und schaltet nach 128 den Flip-Flop 
wieder aus.

Autor: MaWin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oleg A. schrieb:
> Ein CPLD Board deckt alles ab, was Du brauchst und kostet ca. €
> 10.-

Erscheint mir auch am sinnvollsten.
Leicht umprogrammierbar, und 1.7MHz leicht schaffbar, also massig 
Reserven.

Autor: Marcus H. (Firma: www.harerod.de) (lungfish) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bernd B. schrieb:
> Vielen Dank für die ganzen Vorschläge.
Gerne.

> Es ist leider nicht privat, und wenn ich mich abends aus Interesse noch
> mit dem Lötkolben hinsetze gibts Ärger mit meiner Frau ;-)
Na dann könnt Ihr das auch an einen Profi vergeben. Hier im Forum soll's 
ja ne Menge Dienstleister geben. ;)
Dann hast Du auch keinen Stress mit Deiner Frau.

Autor: Matthias S. (Firma: matzetronics) (mschoeldgen)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bernd B. schrieb:
> counter.PNG

Sieht doch so aus, als würde es funktionieren. Wenn du sowieso zu viel 
Zeit vor dem Rechner verbringst, kannst du es nochmal simulieren. Aber 
wenn die Eingangspegel schon auf CMOS Level sind, dann sollte das so 
klappen.
Denke ein wenig daran, das die 4040 Ripple Counter sind und nicht 
synchron mit dem Clock Puls die Ausgänge umschalten - das kommt 
verzögert, wenn auch nicht viel.

Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit 74HC40103 statt 4040 könnte man wahscheinlich deine N und M 
einstellbar machen. Der ist nur ziemlich ausgestorben.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.