Forum: FPGA, VHDL & Co. 7 Seg. Display Basys2


von xilinx (Gast)


Lesenswert?

Hallo liebes Forum,

seit neustem bin ich im Besitz des Digilent Basys2 mit dem Xilinx 
Spartan 3e FPGA. Ich stehe noch am Anfang mit der VHDL Programmierung.

Ich habe Probleme die 7 Segmentanzeige ansprechen zu können. Kurze Zeit 
habe ich mal mit einem Altera Board und Quartus gearbeitet. Dort konnte 
ich im Pinplanner die IO's für die einzelnen Segmente ansprechen. Bei 
dem Basys2 Board geht das leider nicht.

Kennt jmd. einen Link zu einem Beispiel, wo mit dem Basys2 Board und 
einem einfachen VHDL Code irgendwas auf der 7 Segmment Anzeige 
ausgegeben wird oder generell einführende Beispielliteratur für das 
Board?


Danke Euch Allen,

liebe Grüße

Xilinx

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

xilinx schrieb:
> Kennt jmd. einen Link zu einem Beispiel, wo mit dem Basys2 Board und
> einem einfachen VHDL Code irgendwas auf der 7 Segmment Anzeige
> ausgegeben wird oder generell einführende Beispielliteratur für das
> Board?
Hast du einen Schaltplan? Das ist doch Dokumentation genug...  ;-)

Wie man mit ISE ein Projekt aufsetzt und ein Lauflicht macht (Und diese 
7-Segmentansteuerung ist ja nichts anderes als ein aufwendiges 
Lauflciht), das siehst du dort:
http://www.lothar-miller.de/s9y/archives/81-Xilinx-ISE-Step-by-Step.html

von xilinx (Gast)


Lesenswert?

Ja, das habe ich bereits gemacht. Nur für die LED's habe ich eigene 
Ports. Somit konnte ich "G1" im PlanAhead der led zuordnen.


Den Schaltplan habe ich vor mir liegen. Dort sind die Basys2 I/O 
circuits abgebildet. Dort eben auch die 7 Segm. Anzeige, wo die Anoden 
und Kathoden verdrahtet sind. Jedoch ist mir die Funktionsweise noch 
nicht so recht bewusst bzw.

Sind die eizelnen Segmente der jeweiligen Ziffer die Anoden, welche dann 
mit AN1, AN2, AN3 und AN4 angesprochen werden?

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

xilinx schrieb:
> Dort eben auch die 7 Segm. Anzeige, wo die Anoden und Kathoden verdrahtet
> sind.
Und: wieviele Anoden hast du pro Segment? Wieviele Kathoden?

von xilinx (Gast)


Lesenswert?

Es sind 4 Anoden, und 8 Kathoden. Die vier Anoden für die jeweilige 
Anzeige und die 8 Kathoden für die jeweils 7 Segmente und den einem 
Punkt. Ok, das habe ich verstanden.

Jedoch wie definiere ich beispielsweise die 1 im VHDL Code und wie 
verknüpfe ich diesen mit den IO'S?

Die 1 auf der ersten Anzeige setzt sich zusammen aus der Anode1 mit der 
Kathode B und der Kathode C.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

xilinx schrieb:
> Jedoch wie definiere ich beispielsweise die 1 im VHDL Code und wie
> verknüpfe ich diesen mit den IO'S?
Ich würde den Zeichensatz als Array definieren:
1
   type z_t is array(0 to 9) of std_logic_vector(6 downto 0);
2
   -- Segmente low-aktiv    abcdefg  
3
   signal zeichen : z_t := "0000001", -- 0
4
                           "1001111", -- 1
5
                           "0010010", -- 2
6
                              :
7
                              :
8
                           "0000000", -- 8
9
                           "0000100"; -- 9

Und dann muß ich nur noch über einen Index das passende Muster an die 
passenden Pins zuweisen. Und für den Anfang aktiviere ich mal nur 1 
Anode:
1
    port (   anode   : out std_logic_vector(3 downto 0);
2
             kathode : out std_logic_vector(6 downto 0);
3
             :
4
         ):
5
6
 :
7
 :
8
    anode   <= "0001";     -- schaltet nur eine Stelle ein
9
    kathode <= zeichen(1); -- gibt eine 1 aus

Wenn das geht, hast du mal eine grobe Idee...

von Tobias M. (twam) Flattr this


Lesenswert?

xilinx schrieb:
> Kennt jmd. einen Link zu einem Beispiel, wo mit dem Basys2 Board und
> einem einfachen VHDL Code irgendwas auf der 7 Segmment Anzeige
> ausgegeben wird oder generell einführende Beispielliteratur für das
> Board?
Lade dir mal von Digilent, dem Hersteller deines Basys2, das "Basys2 
User Demo project" von der Produktseite 
(http://www.digilentinc.com/Products/Detail.cfm?Prod=BASYS2) herunter. 
Im ZIP File findest du eine SimpleSsegLedDemo.vhd

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
Noch kein Account? Hier anmelden.