WRITE einen Zähler in VHDL

K

koolslash

Guest
Ich möchte einen Zähler in VHDL mit folgenden technischen Daten schreiben: 1. Es lesen Signal in einem Hafen von Sensor 2. Es zählen nicht. von Impulsen in 1 Sek. und dann zurückgesetzt . 3. keine. von Zählungen sind umgerechnet auf 8'bit binären . Wir freuen uns für Ihr help.ASAP:: [size = 2] [color = # 999999] Hinzugefügt nach 1 Stunden 34 Minuten: [/color] [/size] Ich brauche es für Diplomarbeit und müssen innerhalb von 1Woche vorlegen ( Letzte Woche für Bericht einreichen links). Also bitte helft mir ASAP ....
 
Whats the Problem darin dude ..... u finden die steigende Flanke eines jeden Impuls-und Start zählen für jeden Aufgang der Puls. silmultaniously u anderen Zähler laufen .... auf bis zu 1 Sekunde zählen. Wenn man dann u s readched initialisieren Ihren Zähler. U tun haben keine Ahnung von dem, was Breite des Zählers (Anzahl der Bits). Wenn ja, dann u codieren die Bits vom Zähler auf 8 Bit.
 
In sturctural wird Satz von Flipflops lösen Ihr Zweck.
 
wenn die Frequenz 50MHz. Ich bekomme ca. 50.000.000 Impulse in 1sec. wenn ich es aus dem Sensor und lesen und rechnen können. wie kann ich dann setzen dieser großen Integer-Werte auf 8-Bit-Binär-Skala. bedeutet: 50.000.000 => '11111111 '00000000 => 00000000' funktioniert es wie ADC. dh max Volt auf Skalenendwert. SO WIRD eine Idee, wie ich dies tun.
 
Zählen bis 50000000 während einer Sekunde erfordert 26-Bit. Da Sie ein 8-Bit-Ergebnis, das wir nur auf der höchsten 8 Bit passieren, das ist im Grunde ein "div" Betrieb. Ergebnis (7 downto 0)
 
CHECK die folgenden Berechnungen Ist es richtig: Zeit = 1/frequency Zeitraum von Bord = 1 / 50MHz = 20ns Wenn Zeitraum von 1ms: Anzahl der Zyklen = 1sec / 20ns = 50.000.000 Zyklen. Mein Schritt Verzögerung Gleichung wird: (16-Bit PWM-Eingang) (2 ^ 16) -1 = 65536 = Keine Verzögerung Schritt von Zyklen / 65536 = 762,9 = ca. 763 2 ^ 10 (10-Bit) 763 setps abdecken wird. Was, wenn ich jetzt abdecken bedeutendsten 8bits. Wie viel Genauigkeit werde ich verloren?
 
Wenn Zeit ist 1 ms: Anzahl der Zyklen = 1 ms / 20 ns == 50000 (oder 50 MHz / 1 kHz = 50 kHz) Wenn Sie steuern mit 8 Bit (von 0 .. 100%), dann wie wollen: 50000 = = $ C350 -> Steuerelement hohen Teil so reichen von $ 00 .. $ C3 -> beachten Sie, dass die max PWM zählen zu $ gesetzt werden konnte C300 (49920 -> 1001,6 Hz), eine gleich PWM Abstand zu bekommen. Sie haben dann einen Bereich von 0 - $ C3 (192) vor, um die PWM ab 0 .. 100%, so wird dann eine Auflösung von 0,5% Schritten (100/192). Für einen 8-Bit-Bereich der kleinste Schritt erhältlich sind 0,39% Schritten (100/256). 16 Bit: 100/65536 == 0,00152% etc. ..
 

Welcome to EDABoard.com

Sponsor

Back
Top