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
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
> 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.
Erst mal das dicke Handbuch zu ABEL: http://www.latticesemi.com/dynamic/view_document.cfm?document_id=589 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.
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???
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.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.