Atmega128 i T6963C

Jan 02, 2010 7 Replies

Usiłuję uruchomić wyświetlacz 160x128pix z kontrolerem T6963C w trybie memory mapped na Atmega128. Niestety, kiedy próbuję zapisać dane do pamięci wyświetlacza, na ekranie pokazują się częściowo losowe śmieci, a częściowo dane wysyłane przeze mnie, choć niekoniecznie wszystkie i niekoniecznie w miejscu które im wybrałem, za to w powtarzalny sposób zależny od tego czy mam podpięty programator ISP czy nie. Dosyć to dziwne. Ktoś może coś doradzić?



Dariusz Żołna


To znaczy w jaki sposób zależy?? Gdy nie ma programatora wszystko jest OK? Czy może jest mniej śmieci? Bo to troszkę niejsane ;)...

Pozdrawiam Konop

Konop pisze:

Jest inny układ śmieci. Z czego przy podpiętym programatorze układ śmieci wygląda za każdym razem na taki sam, a bez niego zmienia się przy każdym podpięciu zasilania (choć chyba jest tylko kilka jego wersji).

Dariusz Żołna

Użytkownik Dariusz Zolna napisał:

Rozumiem, że podłączył Kolega wyświetlacz tak jakby to była zewnętrzna pamięć RAM dla ATmegi. Może wyświetlacz się nie wyrabia na magistrali i trzeba dać dłuższe wait state.

Pozdrawiam Grzegorz

Grzegorz Kurczyk pisze:

Tak, wyświetlacz jest podpięty podobnie jak zewnętrzny RAM: AD0-AD8 -> DB0-DB7 A12 -> C/D A13 -> CE WR -> WR RD -> RD PD7 -> RST

Dane zapisuję pod adres 0x8000, komendy pod 0x9000.

Dodawanie WS ani obniżanie częstotliwości taktowania (nawet do 1MHz) nie pomaga.

Dariusz Żołna

A mógłbyś podać które z tych linii współdzielone są przez programator (o ile w ogóle jakiekolwiek...)? Żeby nie trzeba było szukać PDFa, jeśli ktoś nie wie/nie pamięta...

Pozdrawiam Konop

W dniu 2010-01-02 23:32, Dariusz Zolna pisze:

Ale dlaczego robisz na chybił trafił? Ten 1MHz jest jakąś magiczną wartością?

  1. Zobacz wykresy czasowe w dokumentacji kontrolera wyświetlacza
  2. Zobacz wykresy czasowe w PDFie tej ATmegi
  3. Jak nie wierzysz 2) sam zobacz je na oscyloskopie

Szybko wyjdzie, gdzie musi być waitstate lub co się nie wyrabia. Jeżeli oczywiście to problem samej komunikacji, niezależny od programatora.

Adam Dybkowski pisze:

Na grupie zazwyczaj pytam po wyczerpaniu wszystkich możliwości, tak jak było w tym przypadku. Czasem datasheety to zwykłe datashity i kiedy działanie zgodne z opisem się nie sprawdza, trzeba kombinować.

No i wyszło - LCD był wadliwy. Najprawdopodobniej sprzedawca (SMD na Kalwaryjskiej w Krakowie) nabył partię tych LCD po okazyjnej cenie, bo chińczyk który je montował pomylił się i zalutował jedną zworkę określającą ilość RAM na pokładzie. Kiedy wszystkie softwareowe metody zawiodły, obejrzałem LCD od tyłu i w okolicach kostki RAM znalazłem 2 zworki - jedna zalutowana, druga nie. Rozlutowałem jedną z nich i wszystko automagicznie zaczęło działać. To nie jedyna wada tego LCD - zgodnie z nalepką podświetlenie miało być LED, a jest EL.

Dariusz Żołna

Join the Discussion

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

Didn't find your answer?

Ask the community — no account required