PROBLEM Z tlv5637c

Jul 12, 2007 5 Replies

Hej mam strasznie dziwny problem z podwojnym DACem Texasa - TLV5637 - 10 bit, 2 kanalowy, interfejs SPI 16bit uzywalem podobnych chipow wiele razy i zawsze dzialaly od 1 wlaczenia.. tylko nie ten



posiada on interfejs SPI oraz programowalne napiecie referencyjne, ktore mozna ustawic na 1.024 lub



2048V lub ext zakres jest 2x wiekszy niz Vref

ramka zawiera 16 bit bit 15 oraz 12 ustawiaja adres, cyli czy dane dotyczna konfiguracji, czy bufora, czy tez DAC A, DAC B mozna najpierw wyslac do bufora, a potem wysylajac do DACB jednoczesnie zaladwoac z bufora do DACA zbocze opadajace zatraskuje dane



problem w tym ze jak wysylam te dane, to raz na jakies 10x, DAC je chwyta tak samo z konfiguracja, raz na 3 x jest ustawiane prawidlwoe Vref



walczyle mz tym dosyc dlugo, bo kupilem ponad 100 szt tych DACow, wiec nie bardzo jest sens zmieniac na inne.. co ciekawe ,na stronie TI nie ma datasheetu do nich, mimo ze sa podukwoane (??)



dzwonilem do supportu, i pan mowi ze pierwsze slyszy zeby ktos mial z nimi problem.. kazal przyslac schematy i kody zrodlowe, zrzuty z oscyla i beda myslec. wyslalem dzisiaj



tutaj sa zrzuty z oscyla

formatting link
- CS oraz zegar
formatting link
- dane oraz zegar



sygnaly sa troche zaszumione, bo mam petle masy pomiedzy zasilaczem i oscylem.


dzisiaj bawilem sie w rozne konfiguracje wysylania danych w petli do nich.. no i odkrylem, ze jak sie wysyla 2x te sama komende pod rzad, to dziala w



100%

podlaczylem oscyla i wysylalem zarowno prostokat, pile, dziala pieknie, nie gubi zadnych probek. czyl i wysylam tak:



config, config, DACB(buffer), DACB(buffer), DACA,DACA - dziala idealnie ale jak wysylam: config, DACB(buffer),DACA,config, DACB(buffer),DACA - nie dziala wogole lub sporadycznie



zegar spowolnilem nawet do pojedynczych kHz (max to 20MHz) napiecia to 3.3V, scalak zasilam z 5, ale jak mu obnize do 3.3 jest identycznie



zasilanie jest odsprzezone, filtrem LCC, na liniach clk, CS, danych wsadzilem nawet kondensatory po kilkaset pF - nic nie pomoglo Zmienialem nawet na pale aktywne zbocze zegara - nic, ztreszta setup time to jakies 5ns..



docelowo sterowany jest z FPGA (Cyclone II), przelaczylem tez bezposrednio do SPI z ATMEGA - zachowuje sie identycznie czyli podsumowujac: jak mu sle po kolei 3 ramki jak w datasheetcie - dziala w sposob nieprzewidywalny jak mu powtarzam kazda komende (6 ramek) - dziala prawidlowo. ma ktos pomysl co moze byc? niby problem mam rozwiazany, ale wole znajdowac przyczyne, a nie latac skutki :)


Greg(G.Kasprowicz) napisał(a):

Z oscylogramów wszystko nie wynika. Popędź go najpierw najwolniej jak sie da, z obydwoma zboczami zegara aktywnymi. Wszystkie problemy jakie miałem z atkimi scalakami wynikały z niedokładnego doczytania PDF-a. Mogą być też jakies relacje między wewnętrznymi procesami, które powodują że dane nie są przyjmowane czasami. Jeśli da się odczytywać nastawy, najpierw upewnij sie że je pamięta ew kiedy ich nie pamięta. Zresztą, co ja Ci będę pisał, sam wiesz. Może być też tak, że nieświadomie nie kończysz poprawnie ramki i niektóre ramki sa odrzucane albo zatrzaskiwana jest przypadkowa w pewnym sensie informacja.

tak tez robilem, kilka kHz i nic nie dalo..

do tej pory ja tez, i mysle ze cos przeoczylem :)

wlasnie niestety sie nie da :(

dokladnie na to wyglada.. ale ramke prawidlowo koncze..dokaldni jak w DS

dsotalem odpowiedz z TI.. no i sie okazuje ze nie bylo jednak wszystko napisane w DS... zegar ma byc wysoko przed narastajacym zboczem CS.. nigdzie w DS tego nie wyczytalem. na obrazkach jest CLK oznaczony jako x, czyli stan obojetny, co widac nie jest prawda. oto odpowiedz:

1)If you prefer to keep the polarity of the clock tyou are using now (i.e. idled low), add another clock pulse so that the 17th rising edge of clock happens before they raise the /CS signal high. 2)You can change the polarity of the clock so that it idles high and raise the /CS signal high after the clock goes back to idle (i.e. allow the rising edge of clock to happen after the 16th falling clock edge before they raise /CS high).

no i sie okazalo, ze faktycznie, jak pozniose CLK w gore przed podniesieniem CS, wszystko dziala jak nalezy. mam nadzieje ze poprawia tego datasheeta

W ichniej odpowiedzi odnosili sie tylko do Twojego scalaka, czy jeszcze jakichs? Czasami roznych DAC uzywam, niby nigdy nie bylo problemow, ale wole sobie zaoszczedzic czasu.

Z drugiej strony - kiedys cos mi nie dzialalo z SPI i metoda 'macajewa' zmienilem transmisje tak, ze mialem 1 CLK przed CS i 1 CLK po CS, wiec pewnie tego problemu nie zobacze ;-)

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required