Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

STM32HYF103VCT6 - Nie działajacy wyświetlacz/touchpanel

manioinam 23 Sty 2015 23:54 1083 20
  • #1 23 Sty 2015 23:54
    manioinam
    Poziom 6  

    Witam,

    Zaczynając z modułem mikroprocesorowym skasowałem program demo (używając flash loader demonstrator). Później wgrywałem przykładowe programy z CooCox'a. Wszystko działało, tzn. na lcd/touchpanelu były wyświetlane programy z folderu "example", można było z powodzeniem wgrać program i działał on w pełni poprawnie(program był wyświetlany na lcd i touchpanel też działał). Następnie miałem 3 tygodnie przerwy od zabawy z układem. Przez te 3 tygodnie leżał w folii bąbelkowej i pudełku na półce nieruchomo, więc jakiekolwiek uszkodzenie mechaniczne jest wykluczone. I tu zdarzyło się coś dziwnego. Przez te trzy tygodnie na pamięci flash modułu był wgrany przykładowy program z programu CooCox (taki w którym na początku była kalibracja i później można było narysować coś (na czerwono) na touchpanelu. Dzisiaj, wracając do zabawy z STM32, używając funkcji "erase" w FLDemonstraotrze wyczyściłem pamięć flash. Po ponownej próbie wgrania jakiegokolwiek programu lcd jest biały i tylko biały...

    Próbowałem z programem zapalającym diody(program znalazłem tutaj na forum) umocowane na płytce, diody led spełniają funkcję narzucone przez program (migają). LCD natomiast bez żadnej reakcji, jakby niewzruszony świeci na biało i tylko biało.

    Jestem początkującym w tej dziedzinie, dlatego zwracam się do Was z prośbą o pomoc.

    Głównym podejrzanym jest LCD, choć może jest możliwość, że jakieś działanie mogło spowodować tę usterkę?

    Jak sprawdzić czy mój LCD działa, jak sprawdzić czy wyświetla on zdefiniowane w programie polecenia?

    0 20
  • #2 24 Sty 2015 00:08
    szczywronek
    Poziom 27  

    Piszesz o programie migającym diodami, ale czy ten program robi cokolwiek z LCD? Jeżeli zestaw uruchomieniowy ma zasilanie to domyślnie włącza się podświetlanie lcd więc ekran będzie biały - tylko biały - sam z siebie nic nie wyświetli. Wgraj ten program, który Ci działał z LCD.

    0
  • #3 24 Sty 2015 00:25
    manioinam
    Poziom 6  

    Przepraszam, może źle się wyraziłem. Próbowałem z programami przykładowymi (również z tymi co działały wcześniej) nie udawało się - lcd biały. W celu zlokalizowania usterki, chcąc sprawdzić, czy kompatybilność PC z modułem jest ok, sprawdziłem ten program z diodami. Diody migały, przyjąłem zatem, że z wgrywaniem programów na flash'a jest wszystko ok(diody migały, a lcd biały i biały).

    0
  • #4 24 Sty 2015 12:19
    szczywronek
    Poziom 27  

    To jest chiński zestaw HY-mini prawda? Są w nim stosowane różne sterowniki LCD więc może się zdarzyć, że dany program na jednym egzemplarzu działa, a na innym już nie. Ale skoro próbowałeś z programami, które wcześniej działały to nie o to chodzi.

    Piszesz o wgrywaniu przez FlashLoaderDemo..., więc przypuszczam, że nie masz debuggera?

    0
  • #5 24 Sty 2015 12:56
    piotrva
    Moderator na urlopie...

    Czasem trzeba machnąć zasilaniem tego modułu, dodatkowo zrestartować procesor po wgraniu.
    Mnie się kilka razy zdarzyło, że sterownik LCD się jakby zawiesił - nie wnikałem, bo z zestawu rzadko korzystam, ale wyczuwam coś w rodzaju być może złej konfiguracji timingów w komunikacji z LCD - raz działa a raz nie.

    0
  • #6 24 Sty 2015 14:40
    manioinam
    Poziom 6  

    Machnąć zasilanie? czyli co, po wgraniu na flash programu wyjąć i włożyć z powrotem przewód od usb na pc do tego usb przy diodzie pwr? debugger to po to żeby sprawdzić poprawność działania programu? Założyłem, że przykładowe programy zaserwowane przez CooCox'a nie potrzebują debugowania\sprawdzenia( zwłaszcza,że działały wcześniej). Do komunikacji modułu z pc używam tylko przewodu usb-miniusb. W trakcie narodziło mi się kolejne pytanie, czy mogłem przez złą konfigurację przycisków boot1 boot0 funkcją "erase" w FLDemonstrator ingerować\wyczyścić jakąś inną pamięć niż flash?

    0
  • #8 24 Sty 2015 15:23
    manioinam
    Poziom 6  

    Włączam i wyłączam, ale nic się nie zmieniło, wyświetlacz cały biały. Czyli oprogramowanie do współpracy wyświetlacza z procesorem jest na pewno dobre(przyjmuję, że poprzez FLD nie mogłem w nie ingerować). W FLD wybrałem opcję wgrywania z weryfikacją, wszystko jest 'succesfully'.

    0
  • #9 24 Sty 2015 15:26
    szczywronek
    Poziom 27  

    Mnie też się raz zawiesił sterownik LCD ale z innego powodu - przy testowaniu ADC, z rozpędu, podałem napięcie na jakiś tam pin mikrokontrolera bez podłączonego zasilania modułu. Potem podłączyłem zasilanie. Efekt był taki, że kontroler LCD zaniemógł kompletnie - pomogło dopiero odłączenie go od zasilania na dłuższą chwilę - a już myślałem, że po nim ;)

    Timingi owszem są do chrzanu - w "przykładowym" kodzie od producenta, fsmc jest skonfigurowane tak, że są takie same nastawy dla odczytu i zapisu danych ze sterownika. Sterownik natomiast jest zoptymalizowany do zapisywania danych. Efekt jest taki, że zapisywanie działa kilka razy wolniej niż by mogło, a odczytywanie jest przetaktowane i działa średnio na jeża (przekłamania).

    Jeszcze coś mi przyszło do głowy - obejrzyj dokładnie płytkę - czy nie masz gdzieś niedolutowanych pinów albo zwarć. Na moim zestawie roiło się od "kuleczek" cynowych o rozmiarach wystarczających do zwarcia pinów uK. Do tego któryś tam switch ledwo trzymał się płytki - może masz jakąś podobną niedoróbkę która wcześniej się nie ujawniła ;)

    PS (na przyszłość) w warstwie opisowej płytki HY-mini jest błąd - koło złącza CN3 są dwa piny podpisane PD14 - z tego co pamiętam, ten bliżej złącza to PB14 - ale głowy sobie nie dam uciąć.

    0
  • #10 24 Sty 2015 15:55
    manioinam
    Poziom 6  

    Posprawdzałem wszystkie luty, są spoko. Połączenia tez są okey. goldpiny też są spoko, nie ruszają się i są stabilne. Czy jest jakiś sposób żeby sprawdzić komunikację pomiędzy procesorem a wyświetlaczem, bo uważam że właśnie to może być źródłem problemu?

    0
  • Pomocny post
    #11 24 Sty 2015 16:33
    szczywronek
    Poziom 27  

    Tak jest - napisać program komunikujący się z wyświetlaczem i zobaczyć czy działa ;)

    Podrzucam stworzony na szybko "tester lcd" (testowany na hy-mini ze sterownikiem ssd1289 - dokładnie tym - jeżeli w Twoim zestawie jest inny sterownik lcd to może nie działać poprawnie). Załączam elf i hex bo nie wiem co tam FlashLoader woli ;)

    Działanie programu:
    - po resecie zapala się LD4
    - po ustawieniu zegarów na max (72MHz z HSE) LD4 gaśnie (w sumie jest to więc szybkie mignięcie)
    - przerwa ~1s
    - 3 mignięcia LD4
    - inicjalizacja LCD
    - 4 mignięcia LD4
    - pętla główna:
    * jedno mignięcie LD4
    * pętla wypełniająca cały ekran różnymi kolorami
    * wyłączenie i włączenie podświetlania LCD (4x)
    * zapętlij ;)
    - dioda LD3 miga przez cały czas trwania programu

    0
  • #12 25 Sty 2015 14:56
    manioinam
    Poziom 6  

    Program do sprawdzenia LCD działa jak pisałeś, ładnie zmienia kolory. Czyli Wyświetlacz jest spoko. Programy z użyciem Touchpanela niestety cały czas to samo;/

    Mógłby ktoś sprawdzić, czy załączony przeze mnie program w hex działa poprawnie? Powinien być działający. Czy możliwe jest żeby działał LCD, a nie działał Touchpanel? Jak sprawdzić poprawność działania touchpanel'a?

    0
  • Pomocny post
    #13 25 Sty 2015 15:09
    szczywronek
    Poziom 27  

    Touchpanel to odrębny twór więc może być tak, że LCD działa zaś TP nie.

    Po wgraniu Twojego programu mam:
    - wypełnienie ekranu kilkoma kolorami po kolei
    - napis LCD init ok, please wait... coś tam coś tam
    - uruchamia się kalibracja dotyku
    - po kalibracji uruchamia się paint: zapala dotknięte piksele

    Według mnie działa ok.

    0
  • #14 25 Sty 2015 15:24
    manioinam
    Poziom 6  

    UUU, widzisz, a u mnie nic, tylko biały wyświetlacz po wgraniu tego programu... Jakieś pomysły, żeby go "uzdrowić" / sprawdzić/naprawić? Czy raczej na gwarancję oddać cały moduł? Czy mogłem uszkodzić TP podczas wgrywania\czyszczenia pamięci flash przez FLD (bo właśnie po "erase" i ponownej próbie wgrania programu zaczął się ten problem)?

    0
  • #15 25 Sty 2015 15:48
    szczywronek
    Poziom 27  

    Źródeł tego programu nie masz? Przez FLD nie mogłeś uszkodzić TP. Dla mnie to wygląda raczej na bug w programie - zawiesza się albo cokolwiek w ten deseń. Twój LCD ewidentnie działa - a po graniu tego programu nic się nie dzieje. W wolnej chwili postaram się spłodzić jakiś prosty program z wykorzystanie TP. Podeślę Ci hex'a i zobaczysz jakie będą efekty.

    0
  • #16 25 Sty 2015 16:19
    manioinam
    Poziom 6  

    OK, to czekam na Twój program :)

    0
  • Pomocny post
    #17 26 Sty 2015 10:31
    szczywronek
    Poziom 27  

    Leci tester LCD/TP v1.0 ;]

    Zostawiłem na początku kawałek migający LCD. Potem jest inicjalizacja TP, kalibracja i standardowy "paint mode" ;) LD3 cały czas powinna migać sygnalizując że program żyje.

    Testowany z układem XPT2046 w roli sterownika TP - jak zwykle - jeśli u Ciebie chińczycy wsadzili inną kość to może nie działać.

    0
  • #18 26 Sty 2015 13:49
    manioinam
    Poziom 6  

    Wgrałem program. Jest ładnie to LCD test i później widzę komentarze co zaraz będzie. Włącza się kalibracja, jest spoko, dotykam te trzy punkty. Później wyskakuje "paintCad" za 3 sekundy i wtedy czekam te 3 sekundy i jest ciemny wyświetlacz.jak dotykam TP obojętnie gdzie to zapala się jeden pojedynczy piksel w lewym górnym rogu;/

    Dodano po 25 [minuty]:

    Zauważyłem, że na Twoim programie do TP jak podczas kalibracji nie będę klikał w te krzyżyki to później mogę malować, ale nie mogę sterować gdzie podświetli się wyświetlacz, wszystko jest losowo. Ponadto co jakiś czas przebiegają żółte paski w poprzek wyświetlacza... Czytałem, że te układy są niezbyt profesjonalnie wykonane i mogą się posypać nawet podczas próby wgrania programu;/ Made in China...Chyba zostaje tylko odesłanie na gwarancje

    0
  • #19 26 Sty 2015 17:56
    szczywronek
    Poziom 27  

    Nie no... tzn. że coś działa ;d

    Żółte paski latające po ekranie "są ok" - program był sklecony na kolanie - nie ma żadnego zabezpieczenia przed sytuacją, w której z TP przychodzą współrzędne punktu "poza ekranem". Program próbuje wtedy zapalić piksel o bez-sensownych współrzędnych i... efekt jest jaki jest - u mnie jest tak samo jak zjadę rysikiem do krawędzi.

    Po napisie o "paintCADzie" ekran jest czyszczony na czarno. Powinny zapalać się "naciśnięte" piksele. Jeśli zapala się lewy górny róg to:
    - sterownik TP przynajmniej trochę działa - bo daje sygnał o tym, że "wystąpiło" naciśnięcie
    - zwrócone wartości są do kitu (współrzędne narożnika to 0,0) - może być błąd w komunikacji (swoją drogą - zerknąłeś może na spód płytki z LCD - tam powinien siedzieć sterownik TP - będziesz wiedział czy to ten sam scalak co u mnie)

    Drugiej części posta nie rozumiem. Jak nie klikniesz krzyżyka przy kalibracji to program nie pójdzie dalej - więc jak możesz malować? Chyba, że chodzi o to, że klikasz "poza krzyżykiem"?

    Zerknij na oznaczenia układu scalonego od TP, a ja podrzucę drugą wersję testera TP - z wolniejszą transmisją - nie zaszkodzi spróbować ;)

    Jakość, fakt, nie jest najlepsza. Mój modulik (odpukać) działa ok, ale jakiś czas temu na 10 zamówionych dwa od razu wróciły do nadawcy. Mam też płytkę stm32f429 discovery i wcale nie wygląda lepiej... jak na nią patrzę to mam obawy czy to nie jakaś podróba.

    0
  • #21 26 Sty 2015 18:14
    manioinam
    Poziom 6  

    Klikałem poza. Dzisiaj wysłałem moduł na gwarancję. patrzyłem, 2046 jest, czyli ten sam. Patrzyłem też od razu czy aby ten program z coocox'a nie zadziała teraz, bo myślałem, że może jakoś się przebudził TP, ale nic z tego. Opisałem usterkę, zobaczymy czy stwierdzą niepoprawność działania(może wymienią go na nowy - to by było najlepsze rozwiązanie) i jak będę miał go z powrotem to napiszę czy coś się poprawiło.

    Dziękuję bardzo za dotychczasową pomoc :)

    0