eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaProblem z odczytem przez FT2232H w trybie FT245 FIFO synchronicznyRe: Problem z odczytem przez FT2232H w trybie FT245 FIFO synchroniczny
  • Data: 2014-07-02 01:04:59
    Temat: Re: Problem z odczytem przez FT2232H w trybie FT245 FIFO synchroniczny
    Od: s...@g...com szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    W dniu wtorek, 1 lipca 2014 23:08:48 UTC+2 użytkownik Adam Górski napisał:
    > W dniu 2014-07-01 14:06, s...@g...com pisze:
    >
    > > 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?
    >
    > >
    >
    >
    >
    > Wycz�ci� fifo przed u�yciem ?

    Też o tym myślałem. Problem w tym, że w drajverach D2XX od FTDI brak takiej funkcji.

    >
    > Ustawi� RD_ADDR na pocz�tek po pierwszym odczycie.
    >
    > Jak z poziomu pc ustawiasz RD_ADDRES na pocz�tek ? Jaka jest idea
    >
    > synchronizacji ?

    Dokładnie!! Przed każdym rozpoczęciem odczytu daję impuls RST, który asynchronicznie
    zeruje licznik RD_ADDR (popatrz na kod VHDL). Impuls RST generuję programowo, działa
    poprawnie, sprawdziłem na oscylu. Synchronizacja jest banalnie prosta. Leci akwizycja
    danych do bufora w pamięci FPGA i sprawdzam bit statusu akwizycji. Jak akwizycja
    zakończona, to walę 2 komendy opisane w pierwszym poście. Aha!! Robiłem eksperymenty
    i tak np. przy odczycie tylko 512 bajtów z bufora, każdorazowo robi mi rotację o
    jeden bajt. Podejrzewam, że coś jest nawalone w drajverach D2XX, albo pieron wie co
    ?!
    >
    >
    >
    > Pzdr
    >
    >
    >
    > Adam
    >
    >
    >
    >
    >
    > ---
    >
    > Ta wiadomo�� e-mail jest wolna od wirus�w i z�o�liwego oprogramowania,
    poniewaďż˝ ochrona avast! Antivirus jest aktywna.
    >
    > http://www.avast.com

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: