Hallo!
Also, ich habe jetzt einen 12 Bit ADC, für den ich vom FPGA ein CLK
Signal generiern lasse. Das CLK Signal habe ich dann an den ADC gelegt,
und mit dem Oszilloskop sehe ich auch die LSBs "schön" zappeln.
Mit folgendem Code versuche ich nun die 8 LSBs vom ADC auf meine LEDs
vom FPGA Board zu legen:
1 | library ieee;
|
2 | use ieee.std_logic_1164.all;
|
3 |
|
4 | entity clk_devider is
|
5 | port( clk_in : in std_logic;
|
6 | data_in : in std_logic_vector (7 downto 0);
|
7 | data_out : out std_logic_vector (7 downto 0);
|
8 | clk_out : out std_logic);
|
9 | end entity clk_devider;
|
10 |
|
11 | architecture arch of clk_devider is
|
12 | signal merker : std_logic := '0';
|
13 | signal data_latch : std_logic_vector (7 downto 0);
|
14 | begin
|
15 | process (clk_in) is
|
16 | begin
|
17 | if(clk_in'event and clk_in = '1') then
|
18 |
|
19 | if(merker = '0') then
|
20 | data_latch <= data_in;
|
21 | end if;
|
22 |
|
23 | merker <= not merker;
|
24 |
|
25 | end if;
|
26 | end process;
|
27 |
|
28 | clk_out <= merker;
|
29 | data_out <= data_latch;
|
30 |
|
31 | end architecture arch;
|
In der Simulation klappt es auch ganz gut. Aber in der Realität tut sich
an den LEDs gar nichts, wenn ich den ADC angeschlossen habe.
Im "Pin Planner" von Quartus habe ich die Pins alle zugewiesen. Alle
nicht verwendeten Pins sind vom Typ "input tri-stated".
Jetzt weiß ich nicht genau, ob ich elektrisch alles richtig habe.
Die Pins, an die ich den data_in Vector gelegt habe sind vom Typ "3.3-V
LVTTL (default)". Auf meinem ADC Board habe ich einen PI74ALVCH16244
Buffer Driver, der die Bits mit 2,6 - 2,8V zum FPGA treibt. Laut
Datenblatt vom Stratix FPGA reicht das aus, um die Signale zu erkennen.
Auch ein Umschalten auf "3.3-V LVCMOS" brachte nichts.
Muss ich was spezielles beachten, wenn ich solche Signale in den FPGA
bekommen möchte?
Gruß
Maik