Forum: FPGA, VHDL & Co. opencores uart 16550


von ono (Gast)


Lesenswert?

Hallo,

ich habe mal eine Verständnisfrage zu o.a. Core.
Ich möchte zunächst, wie in der Doc beschrieben, die Initialisierung 
durchführen. Dazu muss ich ja die verschiedenen Register ansprechen.

Aber welches Port muss ich benutzen, um nun in das mit der Adresse 
ausgewählte Register zu schreiben: wb_dat_i?. Ist ja das einzige das man 
beschreiben darf.

Hier mal ein kurzer Auszug, der mein Problem zeigt (geht das so?):
1
case uart_state is
2
        when reset =>
3
          rst <= '1'; --reset des uart
4
          uart_state <= init_0;
5
        when init_0 =>
6
          adr <= "011"; --line control reg
7
          dat_i(7) <= '1';
8
          uart_state <= init_1;
9
        when init_1 =>
10
          adr <= "000"; --divisor latch LSB
11
          dat_i <= "00110000";
12
          uart_state <= init_2;
13
        when init_2 =>
14
          adr <= "011"; --line control reg
15
          dat_i(7) <= '0';
16
          uart_state <= operate;
17
        when operate =>
18
          adr <= "000";
19
          ...

von Achim (Gast)


Lesenswert?

Der UART wird über einen Wishbone Bus angesteuert. Die Spezifikation des 
Wishbone Bus findest du auch auf opencores.org. Da ist beschrieben 
welche Signale du wie und wann ansteuern musst um Daten mit dem UART 
auszutauschen.

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.