Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 17 maja 2026, o 01:47


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 
Autor Wiadomość
PostNapisane: 28 sty 2016, o 01:21 
Offline
Nowy

Dołączył(a): 11 lis 2015
Posty: 12
Pomógł: 0

Dzień dobry,

Mam taki swój projekcik i niestety napotkałem wielką ścianę w formie odpalenia ekranu LCD (PCD8544).
Próbowałem kod Sunrivera i wszystkie możliwe jego modyfikacje, które znalazłem na forum i w internecie. Kupiłem również drugi ekran myśląc, że pierwszy jest zepsuty - również na nic.

Problem objawia się tym, że ani razu nie udało mi się dojrzeć czegokolwiek na ekranie.

Czytałem następujące źródła:
http://ep.com.pl/files/2844.pdf
http://hobby.abxyz.bplaced.net/index.php?pid=3&aid=10

Kod jest SunRivera, ale z takimi 2 zmianami:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Porty trochę inne - wymagało to też zmiany LCD_PORT/DDR na LCD_PORT/DDR_C kiedy CE był ruszany (z 2-3 przypadki w całym kodzie). Ta druga zmiana była w razie niepoprawnego działania SPI z przyczyn dowolnych.

uC to atmega88PA-PU taktowana 1MHz - miałem nadzieję, że to załatwi problem f_max=4MHz dla PCD8544.
Płytka zasilana z 3 baterii AA, co idzie przez TPS62120 i daje w układzie napięcie ~3,28V.
Elektrolit przy wyjściu BL z LCD taki: *link do konkretnego artykułu*
Ekrany mam 2: taki niebieski i taki czerwony

Schemat:
Obrazek

Jeśli oczywiście ekran zacznie działać, to będę dawać update'y nt. postępów, obecnego stanu i działania.

Widziałem jeszcze pomysły o dolutowaniu CE i BL do masy - nie wiem czy może mieć to jakieś konsekwencje, ale nie wiem też czy ma szansę pomóc :/

EDIT:
Żeby SunRiverowy Send działał, dodałem linijkę:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

do inicjalizacji, bo w innym wypadku SS powodował problemy. Still...komendy przechodzą, a ja nadal nic nie widzę.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 sty 2016, o 20:29 
Offline
Nowy

Dołączył(a): 11 lis 2015
Posty: 12
Pomógł: 0

Byłem dzisiaj w laboratorium w celu sprawdzenia czy wszystkie nogi wysyłają co powinny, no i czy podłączenie ekranu zmienia cokolwiek w związku z tym.

Kod wykorzystałem trochę inny i prostszy *stąd*:
main.c:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


lcd.h:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


lcd.c:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


hello_img.h:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Widać powprowadzane opóźnienia - wszystko, żeby lepiej było widać na oscyloskopie.
Zakładane parametry SPI:
  • atmega taktowana 8MHz
  • SPI włączone
  • MSB wysyłany jako pierwszy
  • MasterSPI mode
  • dane próbkowane na zboczu rosnącym, ustawiane na opadającym
  • preskaler SCK 1/128, więc SCK jest taktowane 8M/128 = 62,5kHz
  • SCK nisko, kiedy nie wykorzystywane

Najpierw sprawdziłem poprawne połączenia z nóżkami atmegi - są takie, jak ustawione w pliku lcd.h.
Następnie odpaliłem oscyloskop i sprawdzałem sygnały:
  1. RST zaczynał z dołu i po ~1s wskakiwał na HIGH
  2. okres sygnału SCK był ok ~16us => taktowanie się zgadza
  3. SCK występował w ładnych równych pikach po 8
  4. MOSI/DN/DIN było elegancko ustawiane na opadającym zboczu zegara - zaobserwowałem kilka poprawnych komend np. 0x21, 0x20, 0x40
  5. SCE zawsze wymijał się z zegarem - zawsze przy wysyłaniu był LOW, po zakończonym wysyłaniu obrazka wrócił na HIGH. Na początku widać wyraźne 6 pików, potem były o wiele częściej - zgodne z opóźnieniami w programie.
  6. DC zawsze miał ustalony stan w trakcie wysyłania, nie zawsze ten sam ;)
  7. Zasilanie dzisiaj już tylko 3.21V - baterie powoli zaczynają mieć dość mojego testowania :P
  8. BL zwarte do zasilania się zapala jak złe. W przeciwnym wypadku w obecnym ustawieniu nic magicznego się z nim nie dzieje.

Wygląda to tak samo niezależnie od tego czy LCD jest podłączony pod te nogi, czy nie. Sprawdziłem oba.
Tutaj wrzucam przykładowe zdjęcie z komendy Function set - extended instruction set:
Obrazek
Teal - SCK; Yellow - SDIN/MOSI/DIN/DN

Niestety poprawy cały czas brak. Trochę zaczynam tracić pomysły co jeszcze sprawdzić lub jak :/
Wszelkie propozycję i pomysły z chęcią przyjmę ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 sty 2016, o 14:05 
Offline
Nowy

Dołączył(a): 11 lis 2015
Posty: 12
Pomógł: 0

Ekrany zostały rozebrane w celu usunięcia brudu z gumek oraz lepszego dociśnięcia ich - niestety nadal nic.
Przejrzałem również biblioteki w różnych językach w celu podpatrzenia inicjalizacji - było tego dużo, ale również nie przyniosło efektu.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 lut 2016, o 19:24 
Offline
Nowy

Dołączył(a): 11 lis 2015
Posty: 12
Pomógł: 0

Jeden popsuty element RFM12b, który uważałem za odłączony - odłączyłem go od linii zasilania, ściągał w dół linie z SPI (zamiast poziomów 0-3v3, były 0-1V).

Bo pełnym wylutowaniu zepsutego modułu wszystko zaczęło hulać.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO