-
Data: 2014-07-01 14:06:27
Temat: Problem z odczytem przez FT2232H w trybie FT245 FIFO synchroniczny
Od: s...@g...com szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Witam,
Mam na pokładzie swojej PCB, FT2232H i FPGA. Zapis z PC do FPGA w trybie
synchronicznym działa OK, natomiast mam jajca przy odczycie z FPGA do PC.
Najpierw hardware w FPGA. Wygląda to mniej więcej tak:
USB_CLK: in std_logic;
RST : in std_logic;
TXE_n : in std_logic;
WR_n : out std_logic;
USB_DATA: inout std_logic_vector(7 downto 0);
RAM_DATA: in std_logic_vector(7 downto 0);
RD_ADDR: out std_logic_vector(12 downto 0);
signal RD_ADDRs: std_logic_vector(12 downto 0);
process (USB_CLK,RST,TXE_n)
begin
if RST='1' then
RD_ADDRs<=(others=>'0');
RD_ADDR<=(others=>'0');
USB_DATA<=(others=>'Z');
WR_n<='1';
else
if USB_CLK'event and USB_CLK='1' then
WR_n<=TXE_n;
if TXE='0' then
USB_DATA<=RAM_DATA;
RD_ADDRs<=RD_ADDRs+1;
RD_ADDR<=RD_ADDRs;
else USB_DATA<=(others=>'Z');
end if;
end if;
end if;
end process;
=========
I teraz software (Delphi):
ResetAddressCounters;
ftresult:=FT_Read(FT_HANDLE,@FT_In_Buffer,8192,@Read
_Result);
Załóżmy, że chcę odczytać RAM zaimplementowany w FPGA. Zawartość RAM'u:
0,1,2,3...255,0,1,2....255,....,.... - razem 8kB (taka 32-zębna piła)
Przy pierwszym odczycie zawartość FT_In_Buffer jest cholera jakby zrotowana w prawo o
losową ilość adresów. Np. o trzy adresy, w wyniku czego odczytuję:
253,254,255,0,1,2,3....255,0,1,2....255,0,1,2....252
Każdy kolejny odczyt powoduje rotację w prawo o dokładnie 16 bajtów.
Jakieś porady?
Następne wpisy z tego wątku
- 01.07.14 23:08 Adam Górski
- 02.07.14 01:04 s...@g...com
- 02.07.14 12:48 Adam Górski
- 02.07.14 13:15 s...@g...com
- 02.07.14 13:25 s...@g...com
- 02.07.14 21:27 s...@g...com
- 03.07.14 15:42 Adam Górski
- 03.07.14 19:50 Pszemol
- 03.07.14 23:22 Adam Górski
- 04.07.14 18:51 MiSter
- 07.07.14 14:20 Adam Górski
- 08.07.14 08:54 as
- 26.07.14 02:51 s...@g...com
Najnowsze wątki z tej grupy
- Kod zniżkowy w TME do 26.09.2025
- SFP, 10G, simplex sc/apc
- [słabe wiatry powodują - przyp. JMJ] Energetyczny paraliż w Niemczech
- NxtPaper
- Programiści nie przestają zadziwiać świat
- Długi kabel zasilający a na końcu procek
- Dlaczego nam nie idzie
- Co czujnik to inna temperatura
- Jak naprawić pilota
- Dlaczego TMP wer. 2.0 nie może być sprzedawany jako patyk USB lub karta PCIe 1x?!?
- produkcja w UE
- Pamięć SRAM nie działa z Z80182
- plyta indukcyjna - naprawa
- założyłem kamerę
- syrenki alarmów
Najnowsze wątki
- 2025-09-18 Kuczyński twierdzi że WIBOR nie jest do ruszenia w sądach
- 2025-09-18 Warszawa => Senior Account Manager <=
- 2025-09-18 Warszawa => OSS System Administrator <=
- 2025-09-18 Kraków => Koordynator Produkcji / Przedstawiciel ds. rozwoju produktu
- 2025-09-18 Ostrów Wielkopolski => Specjalista ds. Marketingu Online (PPC) <=
- 2025-09-18 pierwszy tel kupiłem za 1250zł
- 2025-09-17 jak się kupuje elektryczny?
- 2025-09-17 Kod zniżkowy w TME do 26.09.2025
- 2025-09-17 Ukraińcy uważają polski sys. antydronowy za najlepszy na Świecie, a rząd w III Rzeczy (pospolitej) woli sys. niemiecki
- 2025-09-17 Ukraińcy uważają polski sys. antydronowy za najlepszy na Świecie, a rząd w III Rzeczy (pospolitej) woli sys. niemiecki
- 2025-09-17 Warszawa => Dyrektor pionu IT <=
- 2025-09-17 Rzeszów => International Freight Forwarder <=
- 2025-09-16 China => Production Coordinator / Representant Product Dev <=
- 2025-09-16 Warszawa => Project Manager (AI and innovation) <=
- 2025-09-15 "Jeden telefon z Waszyngtonu i nasze samoloty nie wystartują" - czyli to co każdy koder wie