eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaProblem z odczytem przez FT2232H w trybie FT245 FIFO synchroniczny
Ilość wypowiedzi w tym wątku: 14

  • 11. Data: 2014-07-04 18:51:25
    Temat: Re: Problem z odczytem przez FT2232H w trybie FT245 FIFO synchroniczny
    Od: MiSter <U...@w...pl>


    >> Popatrz na kolejne moje wpisy.. Na 99.99% obstawiam na spaprane
    >> drjwery przez producenta, A producent.. , normalka, jak "application
    >> engineer" nie wie o co biega, to za Wuja Wacka nie odpowiada na
    >> emaile. Krótko mówiąc, support techniczny FTDI nie istnieje, albo ma
    >> to w d.... Ponieważ nie znam przyczyny. a tylko skutki, więc
    >> zastosowałem "leczenie objawowe". Najsampierw puszczam z ROM'u
    >> wzorzec, łapię jego przesunięcie adresowe, a następnie przy każdym
    >> kolejnym "frame"'ie danych robię przesunięcie o 16 bajtów. No i to
    >> działa. Niestety jest to zrobione metodą empiryczną, zostały wyleczone
    >> objawy, lecz nie przyczyny. Nie podoba mi się to moje rozwiązanie, ale
    >> póki co jest skuteczne i muszę z tym żyć...
    >
    > Rozwiązanie o którym piszesz ma króciutkie nóżki. Co będzie jak w/w bug
    > zostanie naprawiony ? ( O ile to jest bug ).


    Nie sądzę, że problem jest po stronie producenta, Mój klient stosuję
    ten układ w pewnym urządzeniu od dłuższego czasu w większych ilościach i
    nie słyszałem ani razu o takim problemie, ale fakt nie znam jego
    konfiguracji.

    Mister


  • 12. Data: 2014-07-07 14:20:39
    Temat: Re: Problem z odczytem przez FT2232H w trybie FT245 FIFO synchroniczny
    Od: Adam Górski <gorskiamalpa@wpkropkapl>

    W dniu 2014-07-02 21:27, s...@g...com pisze:
    > W dniu środa, 2 lipca 2014 12:48:40 UTC+2 użytkownik Adam Górski napisał:
    >> W dniu 2014-07-02 01:04, s...@g...com pisze:
    >>
    >>> 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 ?!
    >>
    >>
    >>
    >> Ok. Jaka to fpga ? Na pewno s� tam jakie� mechanizmy dost�pu przez jtaga
    >>
    >> : podgl�d ram-u , podgl�d sygna��w itd czy nawet rejestratory z
    wyzwalaniem.
    >>
    >>
    >>
    >> 1. Czy jeste� pewien zawarto�ci pami�ci - ale tak na 10000%? Czyli np
    >>
    >> rom ze wzorcem. Napisa�e� �e jest tam jaki� ram, ale mo�e by�
    dwuportowy
    >>
    >> lub inna cholera.
    >>
    >>
    >>
    >> 2. Mo�e by� te� tak �e w momencie rozpocz�cia przesy�ania FT czy�ci
    >>
    >> sobie fifo ,wiec nale�a�oby wpisa� do fifo dopiero jak zacznie si�
    >>
    >> odczyt po pc stronie. Na pewno jest to w sheecie opisane.
    >>
    >>
    >>
    >> 3. Szuka�e� jaki� app note, white papers etc ?
    >>
    >>
    >>
    >> VHDL nie wygl�da �le, mo�e ja bym go zrobi� ca�kowicie synchronicznie,
    >>
    >> albo przynajmniej synchronizowaďż˝ RST do zegara USB_CLK ( albo oba
    >>
    >> powy�sze ). Nie widz� reszty wiec nic wi�cej nie powiem.
    >>
    >>
    >>
    >> Pzdr.
    >>
    >>
    > Popatrz na kolejne moje wpisy.. Na 99.99% obstawiam na spaprane drjwery przez
    producenta, A producent.. , normalka, jak "application engineer" nie wie o co biega,
    to za Wuja Wacka nie odpowiada na emaile. Krótko mówiąc, support techniczny FTDI nie
    istnieje, albo ma to w d.... Ponieważ nie znam przyczyny. a tylko skutki, więc
    zastosowałem "leczenie objawowe". Najsampierw puszczam z ROM'u wzorzec, łapię jego
    przesunięcie adresowe, a następnie przy każdym kolejnym "frame"'ie danych robię
    przesunięcie o 16 bajtów. No i to działa. Niestety jest to zrobione metodą
    empiryczną, zostały wyleczone objawy, lecz nie przyczyny. Nie podoba mi się to moje
    rozwiązanie, ale póki co jest skuteczne i muszę z tym żyć...
    >
    >

    Jakiś progres ?


    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


  • 13. Data: 2014-07-08 08:54:18
    Temat: Re: Problem z odczytem przez FT2232H w trybie FT245 FIFO synchroniczny
    Od: "as" <N...@p...onet.pl>

    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.
    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?

    Może brakuje ci jakiegoś rezystora podciągającego i przekonfigurowanie FTDI
    powoduje np. szpilki na zegarze. W tego typu przypadkach dobrze mieć
    analizator stanów logicznych. Ja kupiłem polecany niedawno na grupie:
    http://www.ebay.com/itm/CY7C68013A-56-EZ-USB-FX2LP-U
    SB2-0-Develope-Board-Module-Logic-Analyzer-EEPROM-AX
    -/141214164581?pt=LH_DefaultDomain_0&hash=item20e105
    2665
    Całkiem fajnie się sprawuje. Jedynie musiałem zmienić eeprom na 24C02,
    zaprogramować go tym samym wsadem co oryginalny 24C128, zdjąć zworkę J1 oraz
    wlutować rezystor pomiędzy 1 i 2 nogę eeproma (adres na 000) - wtedy działa
    najnowsze saleae (bez przeróbki działa starsza wersja).



  • 14. Data: 2014-07-26 02:51:39
    Temat: Re: Problem z odczytem przez FT2232H w trybie FT245 FIFO synchroniczny
    Od: s...@g...com

    W dniu poniedziałek, 7 lipca 2014 14:20:39 UTC+2 użytkownik Adam Górski napisał:

    >
    >
    >
    > Jakiďż˝ progres ?
    >

    Witaj Adam,

    No w końcu coś 'do przodu' !! W końcu ten fragment projektu zaczął fungować.
    No i teraz gdzie był problem, i jak został rozwiązany? Otóż problem jest nie w
    błędnej dokumentacji FTDI, lecz w jej niekompletności. FTDI zarówno w opisie HW jak i
    SW nic nie wspomina o przypadkach 'odaktywnienia' sygnału TXE# podczas softwarowej
    transakcji FT_Read. I tu jest jajco!! Stąd nie ja pierwszy i chyba nie ostatni
    wydałem z siebie tyle wulgaryzmów do monitora podczas prototypienia tak wydawałoby
    się badziewnego tematu. Aż w końcu mój syn znalazł coś takiego:

    http://www.ovro.caltech.edu/~dwh/correlator/pdf/ftdi
    .pdf

    Skorzystałem z Fig.17, Fig.22, Fig.8. + objaśnienia + przebiegi czasowe jako wzorzec
    do symulacji. W/g powyższego zrobiłem to na FSM edytorze (Aldec ewaluacyjny),
    przetłumaczył mi to na VHDL, symulacja i takie tam, ..w końcu działa !! Aha!! W/w
    malunki (8,22) są nasmarowane w/g konwencji ASM.
    (Algorythmic State Machine). Nie mylić z czystym FSM. Trochę mnie to na sam początek
    poirytowało, ale już wiem o co chodzi.

    Jeżeli ktokolwiek z grupy potrzebuje gotowego kodu TX/RX w VHDL'u na komunikację w
    trybie sync. FIFO dla FT2232H/FPGA, proszę dać znać.

    Pzdr,

    *.Sch

    P.S. A coby nie było tak sielankowo, to wyskoczył inny problem , przy którym
    ZGŁÓPIAŁEM !! No ale, jest to temat na inny wątek.. Jutro to opiszę w szczegółach.

strony : 1 . [ 2 ]


Szukaj w grupach

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: