www.mikrocontroller.net

Forum: FPGA, VHDL & Co. Reaktionstester in ABEL


Autor: Dennis Wqas (Firma: sda) (snackit)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
wir haben in der Schule die Aufgabe bekommen einen Reaktionstetser in 
ABEL zu programmieren. Der Baustein ist ein ispLSI1016EA . Es wäre mir 
sehr hilfreich, wenn sich jemand so gut mit ABEL auskennt,
dass er diesen programmieren könnte und mir die ABEL Datei per E-Mail 
schicken könnte.

Aufgabe:
1.Stufe: Zwei Mitspieler jeweils eine Taste bei dem der schneller 
gedrückt hat soll eine LED leuchten.

2.Stufe: Ein Helfer betätigt einen Start-Schalter und das Gerät zeigt 
nun zusätzlich zur Sieger LED die Zeit an die der schnellere für seine 
Reaktion benötigt.

3.Stufe: Der Helfer wird durch ein Zufallsgenerator ersetzt. Nach 
betätigen des Start-Schalters leuchtet verzögert eine LED, worauf die 
Mitspieler ihre Taste drücken müssen, die Zeit des schnelleren 
Mitspielers wird angezeigt(7-Segment Anzeige).

Mit freundlichen Grüßen
Snackit

Autor: Azrael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und warum sollten wir deine Aufgaben lösen?
Schule ist da um was zu lernen, nicht um abzuschreiben. Wenn du jetzt 
nix lernen magst, wirst du die prüfung die kommen wird auch nicht 
schaffen.

Sowas hast du in 10-20h mit doku fix und fertig. Und wenn du in deine 
Abel-unterlagen schaust ev. sogar schon in 6h.

lg Azrael

Autor: Schlumpf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Es wäre mir sehr hilfreich, wenn sich jemand so gut mit ABEL auskennt,
> dass er diesen programmieren könnte und mir die ABEL Datei per E-Mail
> schicken könnte.

Mir wäre es sehr hilfreich, wenn hier jemand meinen Job machen würde, 
während ich solange in der Karibik mit nem kühlen Drink am Strand liege 
und wenn derjenige dann fertig ist, kann er mir das Gehalt auf mein 
Konto überweisen.. Danke!

Ich glaub, der Sinn und Zweck dieser Übung ist, dass du lernst, wie 
sowas funktioniert, dich mit nem Problem auseinandersetzt und dich in 
neue Dinge "eindenkst"
Falls du dann an einer bestimmten Stelle ein Detailproblem hast, kannst 
du hier gern sinnvolle Fragen stellen.

Autor: Christoph Kessler (db1uq) (christoph_kessler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Erst mal das dicke Handbuch zu ABEL:
http://www.latticesemi.com/dynamic/view_document.c...
ABEL-HDL Reference Manual

für die Aufgaben fehlen noch einige Angaben:
zu 1.:
ich vermute mal, da soll eine Lampe zufällig aufleuchten, und dann erst 
dürfen die beiden ihre Taste drücken. Die muß irgendwann wieder angehen, 
oder startet sie auch von Hand neu?

zu 2.:
wie sieht die Zeitanzeige aus, ist das dieselbe 7-Segmentanzeige wie in 
3.?

zu 3.
Zufallsgenerator baut man in dem Fall vermutlich aus einem 
EXOR-rückgekoppeltem Schieberegister, das ergibt genügend 
pseudozufällige Werte.

Wie sieht die "Zielhardware" aus, ist das ein Evaluationsboard zum guten 
alten ispLSI1016? Der wird schon seit Jahren nicht mehr produziert, ich 
nehme an dass das Board in der Schule schon ein paar Jahre rumliegt.
Wie wird es programmiert? Es gibt von Lattice eine Software für den 
Druckerport, ich vermute mal, die ist in der Schule vorhanden. Ich hatte 
eine Demo-CD von Lattice, auf der Abel/Synario für den ispLSI1016 
kostenlos enthalten war, sowie diese "Download"-Software zur 
Programmierung.

Autor: Mark (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Dennis,

sag Deinem Lehrer bitte, dass Du VHDL schreiben möchtest (oder Verilog),
dann kannst Du das erworbene Wissen später auch noch verwenden ;-)
Oder wer programmiert noch gegen Bezahlung in ABEL???

Autor: Christoph Kessler (db1uq) (christoph_kessler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn die vorhandene Software das erlaubt - Abel ist immer noch ein 
einfacher Einstieg in CPLDs

Mal eine Abschätzung, was wir brauchen:

Ein Taktoszillator müßte schon auf der Platine sitzen, CPLDs haben 
keinen integrierten Oszillator wie die Mikrocontroller. Vielleicht 1 
MHz, das wäre die niedrigste übliche Frequenz. Um Reaktionszeiten im 
Zehntelsekundenbereich zu messen muß diese Frequenz durch etwa 1 Million 
oder 2 hoch 20 geteilt werden. Das sind immerhin schon 20 der 64 
Register des ispLSI1016.

Die Siebensegmentanzeige verschlingt schon für eine Ziffer weitere 7 
Register, wenn es zwei Ziffern oder mehr sein sollen erhöht sich das 
entsprechend.

Der Pseudozufallsgenerator würde irgendeinen Bruchteil der Taktfrequenz 
als Schiebetakt verwenden, der ispLSI1016 hat drei Taktverteilnetze, 
eines für 1 MHz, einer für den Schiebetakt, dann bleibt noch eines 
übrig.

Die Ablaufsteuerung könnte man als state-machine ( Zustandsdiagramm) 
formulieren, beim Einschalten sind alle Register auf Null das wäre der 
Ruhezustand. Mit der Starttaste wird das Zufalls-Schieberegister mit 
einem Ausschnitt aus dem momentanen Taktteiler-Stand geladen und läuft 
los. Ein Vergleicher stoppt bei Erreichen eines bestimmten 
Schieberegisterwertes und läßt die LED aufleuchten, dann wird ein 
Reaktionszeit-Zähler gestartet, der nochmal so groß sein muß wie die 
Siebensegmentanzeige zählen kann, dazu ein Siebensegment-Decoder, das 
kostet alles nochmal Register.

Die 64 Register sind also nicht übertrieben viel für die gewünschte 
Schaltung, aber mit etwas Vorüberlegung sollte es reinpassen.

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]
  • [vhdl]VHDL-Code[/vhdl]
  • [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.