TUSB3210 i problem z I2C

Sep 03, 2004 7 Replies

Witam szanownych grupowiczów



Uruchamiam właśnie projekt systemu w którym elementem składowym jest powyższy procesor Texasa. Procesor jest sprawny (bo mogę go bootować przez szynę USB, proste aplikacje działają), jednak port I2C jest zupełnie nieaktywny (EEPROM jest nadal pusty - przy programowaniu przez USB piny I2C sa zupełnie nieaktywne) Próbowałem sterować szyną I2C w moich aplikacjach jednak nic nie skutkuje - stany wyjściowe wysokie non stop. Najgorsze jest to ze testuję już drugi egzemplarz tego procesora i w obu sytuacja jest taka sama! Jest to dla mnie dosyć nieoczekiwane gdyż chciałem aby urządzenie działało również nie podłączone do USB (czyli bootowało się z 24C64) :(



Może ma ktoś jakieś doświadczenia którymi mógłby się podzielić?



Za pomoc serdecznie dziękuję!


troche OT;

wlasnie konstruuje system na tym samym procku; w zwiazku z tym pytanie: jak go przytwierdziles do plytki? te 0.5mm to nie za duzo... jesli uda mi sie to zrobic, z pewnoscia sprobuje cos zrobic z i2c - dla testow.

pzdr,

-v4v

snipped-for-privacy@pl.misc.elektronika napisał:

Ja użyłem Hot-Air w zaprzyjaźnionym serwisie ale mozna też użyć topnika do SMD, np RF800 lub jakiś lepszy w żelu, cyna po tym nie robi mostków między polami lutowniczymi (topnik na miedź, przyłożyć układ, można użyć kapki kleju, potem końcówką kolby dotykać końce wyprowadzeń od góry, zaś lutowie , najlepiej 0.25mm, przykładać do krawędzi..

jako trening polecam wylutować w piecu kuchennym w temp 220C jakieś scalaki ze starych peryferiów komputerowych (odchodzą ładnie - sam tak wylutowałem złącze VESA local bus - ~108 pinów, niełatwo tkaie cośzrobić odsysaczem, w piecu minutka i po sprawie)

powodzenia!

BTW. CPLD Lattice'a o którym wspominam w innym dzisiejszym poście ma raster 0.4mm.. (ale to już montował mi znajomy z serwisu - doświadczenie czyni mistrzem! :D )

U¿ytkownik "Micha³ Lebik" <axior@poprostu_NIE_LUBI_SPAMU.net> napisa³ w wiadomo¶ci news:ch9tu4$57r$ snipped-for-privacy@atlantis.news.tpi.pl...

<ciach>

A nie powienien byæ tutaj uklad z serii LC (24LC64 lub 65). NIe jestem pewien, ale które¶ uk³ady z USB wymaga³y w³a¶nie takich uk³adów pamiêci. Pozdrawiam Piotrek

snipped-for-privacy@pl.misc.elektronika napisał:

Może to i prawda, jednak nawet gdyby, to zaobserwowałbym jakąś aktywność na linii SCL przy inicjacji transferu, prawda ? Co najwyżej by się nie dogadały

Możesz mi wyjaśnić różnicę pomiędzy tymi układami? (posiadam 24C64AN Atmela - z tego co widzę oba pracują na 3.3V, oba obsługują 400kHz, drobne różnice czasowe, po prostu dwóch róznych producentów)

Fri, 03 Sep 2004 16:03:12 +0200, na pl.misc.elektronika, Michał Lebik napisał(a):

AFAIK eeprom musi być wcześniej zupełnie niezależnie ( czyli jakimś programatorem ) zapisany odpowiednim obrazem ( kod aplikacji opatrzony odpowiednim nagłówkiem ). Dopiero po wykryciu, że eeprom zawiera właściwą zawartość bootloader odczytuje go i przełącza uP w tryb wykonywania.

Co do sterowania z aplikacji - nie próbowałem - czy wziąłes pod uwagę, że rejestry sterujące i2c są MMR ( memory mapped czyli z dostępem movx ) ?

Jurek snipped-for-privacy@pl.misc.elektronika napisał:

  1. Bootloader jeżeli nie znajdzie nagłówka w eeprom, czeka na dane z magistrali USB, odpowiednie procedury (VENDOR_SPECIFIC) zawarte w bootloaderze dbają o to by zaprogramować obraz programu odebranego z USB w pamięci szeregowej, lub tylko go uruchomić bez programowania eeprom IMHO są trzy możliwości : a. w eepromie znajduje się sam nagłówek z danymi VID/PID, bootloader odczytuje te dane i procesor otrzymuje nowe numery identyfikacyjne zamiast firmowych producenta, potem bootloader kontynuuje działanie czekając na program dostarczony przez USB, i go uruchamia b. nagłówek bez VID/PID oraz aplikacja która samodzielnie ustawia te parametry, bootloader odczytuje całość i uruchamia , nie jest potrzebne połączenie z PC by uruchomić urządzenie c. (a + b'), czyli nagłówek + aplikacja która nie zajmuje się już konfiguracją VID/PID
  2. i2c pierwotnie, jak już wspomniałem, jest sterowane przez bootloader który zajmuje się ew. programowaniem w fazie uruchamiania procesora (i obecności tej aktywności właśnie mi brakowało) Co do rodzaju rejestru to mnie to zbytnio nie obchodzi gdyż używam C, rejestry mam zadeklarowane jako XDATA

No, po tym całym wywodzie mogę przejść do najważniejszej rzeczy :) Moje pytanie stało się nieaktualne gdyż p prostu nieświadomy tych wszystkich wczesniejszych informacji używałem programu do bootowania procesora bez programowania EEPROM, więc dlaego mój program się ulatniał po naciśnięciu reset ;) - taki program dostarczylą firma jungo, z 'usług' której zresztą niedługo zrezygnuję z racji zakńczenia okresu próbnego :) na horyzoncie mam darmowy windowsowy port linuxowej biblioteki LIBUSB!

Pozdrawiam !!

Fri, 03 Sep 2004 22:03:03 +0200, na pl.misc.elektronika, Michał Lebik napisał(a):

O, tego że może od razu wpisać do eeprom nie doczytałem - THX !

Join the Discussion

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

Didn't find your answer?

Ask the community — no account required