opencores uart 16550

Gast #946294
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
          ...
Gast #947557
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren