Forum: FPGA, VHDL & Co. UART mit ATMega32+FPGA


von Dimi S. (ilovespeccy)


Lesenswert?

Giten Tag,

ich habe an meinen StarterKit Spartan-3AN einen mikrocontroller
ATMega32L angeschlossen. Für uC Programm-debugging habe ich übers UART
Meldungen von Programmablauf ausgegeben. Dafür habe ich eine 
selbstgebaute
Platine mit FTDI232BM (USB-RS232) verwendet.
Da mein Starterkit zwei COM-ports hat, habe ich meine schaltung bisschen
geändert. TXD von Mega32L mit einem FPGA-Pin (V14) verbunden.
Im FPGA habe ich diesen TXD-signal zum Pin E15 (COM-Port) 
weitergeleitet.
Jetzt habe ich im terminal sporadische Zeichen...
Was kann das sein??? Habe zum probieren TXD invertiert... nichts 
gebracht.
Also... direkt von TXD-pin am ATMega32L klappts, aber über's FPGA nicht.

1
library IEEE;
2
use IEEE.std_logic_1164.all;
3
use IEEE.numeric_std.all; 
4
5
entity main is
6
    Port (
7
  COM_TXD  : out std_logic;
8
  UC_UART  : in std_logic
9
  );
10
end main;
11
12
architecture Behavioral of main is
13
14
begin
15
16
  COM_TXD  <= UC_UART;
17
  
18
end Behavioral;

von Mark (Gast)


Lesenswert?

Hallo,

- FPGA-Pins richtig zugewiesen ? (Pin-Nr. OK)
- I/O-Spannung vorhanden und richtig?

Leg doch mal den Output vom FPGA im VHDL fest auf 1 bzw 0.
Kommt dann das richtige raus?

von Dimi S. (ilovespeccy)


Lesenswert?

Habe gerade so ausprobiert:

COM_TXD  : out std_logic := '1';
und
COM_TXD  : out std_logic := '0';

und... es funktioniert!!! aber nicht immer, und fehlen erste 2 
Buchstaben...

------------------------------

Danke euch!!!
Ich habs geschafft!!!
Habe eingangs-pin am FPGA als PULLUP im .ucf definiert!

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.