www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Zähler 16Bit zählt falsch?


Autor: Udo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo bin etwas verwirrt:

Nutze im Xilinx ISE 9.1 einen 16Bit Zähler der zählt einfache Pulse.
Soweit so gut. Jetzt möchte ich den Ausgang Q2 nutzen um etwas zu 
schalten. Dieser sollte doch beim 4. gezählten Puls seinen Pegel von low 
auf high wechseln. --> Macht er aber nicht. Erst beim 5.
Oder liegt der Fehler an einer anderen Stelle. Habe diesen mit den 
negierten Bedingungen der Ausgänge Q0,Q1,Q3,Q4,Q5,Q6 UND verschaltet um 
mehrfach schelten zu vermeiden.

Andere ich es so dass er beim 2. schalten sollte schaltet er beim 3.?

Autor: Der Micha (steinadler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bist du sicher, dass die Werte die du einstellst, auch von 1 beginnen 
und nicht von 0?
Das würde das Verhalten erklären.

Autor: Udo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Micha,

ja ist folgendermaßen:

Q0 über negierung auf und
Q1 über negierung auf und
Q2 direkt         auf und
Q3 über negierung auf und --> auf eine Flankenerkennung (steigend)
Q4 über negierung auf und
Q5 über negierung auf und
Q6 über negierung auf und


so und damit schalte ich ein Latch.

Autor: Der Micha (steinadler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich muss mal dumm fragen, was sind denn Q0-Q6??
Einfache Ausgänge?

Also ich geh einfach mal davon aus, dass Q0-Q6 den Zählerstand binär 
ausgeben.
Dann wäre bei Zählerstand
0 :: der Q6-Q0 = 0b000000
1 :: 0b000001
2 :: 0b000010
3 :: 0b000011
4 :: 0b000100  -> und hier wäre dein Ausgang aktiv.

Das sind insgesamt fünf Pulse.

Autor: Udo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja sind direkt die Ausgänge des Zählers fängt beo Q0 an und geht Bis Q15 
alsoalle zusammen ergeben Binär die gezählte Zahhl. So sollte es 
zumindest sein.

Autor: Der Micha (steinadler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
habe meinen letzten Post editiert.

Autor: Udo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
0 :: 0b000000 - kein Puls alle Ausgänge low
1 :: 0b000001 - 1.Puls nur Ausgang Q0 high
2 :: 0b000010 - 2.Puls nur Ausgang Q1 high
3 :: 0b000011 - 3.Puls Ausgang Q0 und Q1 high
4 :: 0b000100 - 4.Puls nur Ausgang Q2 high

so interpretieri ich die Ausgänge oder liege ich falsch?

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie resettest du den Counter?

Autor: Udo (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
So habe mal nen simplen 16Bit Zähler simuliert, das Ergebnis ist im 
Anhang zu finden. Denke ist selbsterklärend.

Aber warum wird der erste Impuls nicht gezählt?

Autor: Udo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Reset erfolgt im Augenblick noch nicht. Bin ja noch in der einfachen 
Simulationsstufe.

Autor: Der Micha (steinadler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie hast du denn deinen Zähler aufgebaut?
Zählt er von 0 bis 4 oder zählt er von 65531 bis 65535?

Zeig doch mal den Code.

Autor: Udo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Code habe ich leider nicht, Arbeite mit der grafischen Oberfläche von 
Xilinx und demnach auch mit deren standard Bauelementen aus deren 
Bibliothek. Der Zähler cb16ce ist aber aus mehreren FTCE FlipFlops 
aufgebaut.

Autor: Der Micha (steinadler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
kannst du irgendwie nen Startwert für den Timer angeben? Sieht aus als 
stände der nicht auf null

Autor: Udo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Micha R.
Laut meiner Simulation hat er aber den Startwert 0. Mann kann auch 
keinen vorgeben.
Versuche gerade die interne Verschaltung zu verstehen, diese FTCE sind 
Toggle Flip Flops  mal sehen.

Autor: Der Micha (steinadler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast du Clear auf GND liegen?

Autor: Falk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Udo (Gast)

>Q0 über negierung auf und
>Q1 über negierung auf und
>Q2 direkt         auf und
>Q3 über negierung auf und --> auf eine Flankenerkennung (steigend)
>Q4 über negierung auf und
>Q5 über negierung auf und
>Q6 über negierung auf und

>so und damit schalte ich ein Latch.

>Code habe ich leider nicht, Arbeite mit der grafischen Oberfläche von
>Xilinx und demnach auch mit deren standard Bauelementen aus deren
>Bibliothek. Der Zähler cb16ce ist aber aus mehreren FTCE FlipFlops
>aufgebaut.

Ja und? Wo ist das Problem? Fertigen Zähler nehmen und gut. Kann es ein, 
dass du was wildes Asynchrones augebaut hast?

MFg
Falk

Autor: Udo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Micha R.
Ja clr ist auf GND.

@Falk
Ja habe doch den fertigen Zähler der Bibliothek  CB16CE von Xilinx 
genommen. Aber der schaltet so wie in dem Bild meiner Simmulation oben.

Autor: Udo (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Der Aufbau des Zählers in der 8Bit Version:

Autor: Udo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alos ich verstehe den Zähleraufbau so, dass jeder Puls auch der 1. 
gezählt wird.

Autor: Falk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Udo (Gast)

>@Falk
>Ja habe doch den fertigen Zähler der Bibliothek  CB16CE von Xilinx
>genommen. Aber der schaltet so wie in dem Bild meiner Simmulation oben.

Ahhhh, jetzt seh ich es erst. Sag mal, denkst du nicht, dass auch im 
DSL-Zeitalter 1.6 MB für so ein Bild ein wenig zuviel sind? Solche 
Sachen immer als PNG speichern und hier anhängen! Als PNG sind das 
gerade mal 13kB! Das ist ein Faktor von 123!

Mfg
Falk

Autor: Uwe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
FULL ACK!

Das Problem wäre erledigt, wenn die Foren-Software BMP-Anhänge einfach 
abweisen würde.

Autor: Udo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
sorry war so im Eifer des Gefechts nächstes mal wird der Anhang kleiner.
Vergebt mir.

Autor: Udo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So das Problem hat sich geklärt:
Es ist so, dass die Simulation des Xilinx Prog. eine Art. delaytime hat 
setzt man die zu zählenden Pulse ab 400ns werden auch alle gezählt.

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.