Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Wyświetlacz klienta ECR - IBM 93F1090 - jak tym sterować?

djskomy 06 May 2009 18:17 36949 114
Altium Designer Computer Controls
  • #31
    boogdan
    Level 15  
    rzeczywiście wygląda o wiele lepiej z wygaszaniem na czas zatrzaskiwania danych w rejestrach.

    w załączniku nieco zmodyfikowany plik m202.c i binarka. Zmiany to dodanie obsługi ściemniania przy pomocy PWM. należy wpisać odpowiednią wartość do rejestru OCR2B, im większa tym jaśniej świeci.
    dopisałem w funkcji main małe demo, żeby można było zobaczyć jak to wygląda.

    mirekk36 -> pokaż zdjęcie od tyłu wyświetlacza, ciekawi mnie jak rozwiąłeś połączenia do płytki.
  • Altium Designer Computer Controls
  • #32
    mirekk36
    Level 42  
    bogdan -> jeśli chodzi o podłączenie płytki to na razie procka mam na płytce stykowej i mnóstwo kabli ;) .... ale już widzę jak to ładnie przerobić, wystarczy się wpiąć w miejce po starym procku z płytką podobnej wielkości.

    aha ja dałem procka bez kwarca żeby było jak najprościej i też ładnie śmiga ;)

    sprawdziłem na szybko twój wsad - działa regulacja jasności - OK

    aha ale u ciebie nadal widać duszki - wiesz co? - zrób tak jak ja czyli polecenie sbitD(EPS_BLANK) które masz za pętlą - daj przed nią (na samym początku przerwania) i będzie dobrze tak jak u mnie

    Wyświetlacz klienta ECR - IBM 93F1090 - jak tym sterować?

    Wyświetlacz klienta ECR - IBM 93F1090 - jak tym sterować?
  • Altium Designer Computer Controls
  • #33
    crazy_phisic
    VIP Meritorious for electroda.pl
    Panowie chylę czoła, kawał porządnej roboty ;) , mam wreszcie motywację aby dokończyć swoje boje z odrobinę innym wyświetlaczem - zasada działania identyczna i na dodatek "schemat jak na dłoni".
    Wyświetlacz klienta ECR - IBM 93F1090 - jak tym sterować?
    Wyświetlacz klienta ECR - IBM 93F1090 - jak tym sterować?
  • #34
    mirekk36
    Level 42  
    Panie bogdan -> jeszcze jedno pytanko - bo chciałbym zrobić sobie już ręcznie jakiś font ale nie za bardzo mogę dojść co i jak? jeśli chodzi o samą już organizację wyświetlanych pixeli w JEDNYM znaku,

    tzn, jak mamy te definicje po 10 bajtów , to po kolei bajty w tej tablicy odnoszą się do których linii w znaku?

    no za chiny nie mogę dojść - już żeby jakoś to prosto przeanalizować biorę do rozważań np kropkę:

    Code:
     0x00,0x10,0x10,0x00,0x00,0x00,0x10,0x10,0x00,0x00,   // .


    teoretycznie wg mnie świecą się piksele w liniach: aA i a9. Kropka to przecież zapalone 4 piksele - jak widać na moich fotkach. Jak więc się ma powyższa definicja fontu-kropki ??? no nie wiem - jakaś zamyłka to dla mnie na razie

    mogę prosić o jakieś mini łopatologiczne wyjaśnienie ???

    i podobnie np dla literki dużej A (kurczę jak się mają te liczby do zapalonych pixeli litery A?)

    Code:
     0x1E,0x00,0x00,0x1E,0x00,0x1E,0x05,0x05,0x1E,0x00,   // A
    


    żebym mógł już dalej sam rozgryzać
  • #35
    mirekk36
    Level 42  
    przy okazji tak z czystej ciekawości dopytam jeszcze - jaką metodą wylutowywałeś te niepotrzebne scalaki???

    bo ja - najpierw szczypcami zrobiłem amputację (przyznaję z dziką rozkoszą) prockowi w obudowie DIP40, który był siedliskiem przerostu formy nad treścią inteligencji IBM'a ;) - potem z pomocą pęsety "wyłyżeczkowałem" pozostałości po nogach

    - największy problem miałem z tym scalakiem 5P00A070 ! - bo on skubany był mocno jakby przyklejony do podłoża tą pastą lutowniczą, która u mnie na tej płytce miała konsystencję utwardzonego lakieru do podłogi ;) - tak więc wziąłem FLEX'a ;) .... no może w mini-flexa w postaci tarczki na dremelku i uchlastałem wszystkie nogi - dzięki czemu sam okaleczony kadłub scalaka - jakoś w końcu dał się oderwać od płytki - a potem odlutowałem pozostałości po nogach - przy okazji co widać chyba na fotkach - oderwało mi się kilka padów od nóżek ale na szczęście nie istotnych

    myślę, że drugi wyświetlacz już lepiej uda mi się przerobić ;)
  • #36
    boogdan
    Level 15  
    Odnośnie tych nieszczęsnych 10-ciu bajtów:D
    w załączniku plik excel'a z rozpiską połączenia układów SED2020F z lampą VFD, oznaczenie anod jest takie samo jak zastosowane w pdf-ie od Futaby, powinno nieco pomóc.

    bity ---> wejścia SED2020F
    0 ---> U5 SI1
    1 ---> U5 SI2
    2 ---> U6 SI1
    3 ---> U6 SI2
    4 ---> U7 SI1
    5 ---> U7 SI2
    6,7 ---> dont_care

    Najmniej znaczący bit odpowiada za wyświetlanie anod w pierwszym wierszu i w drugim wierszu, następny bit za trzeci i czwarty wiersz, itd...
    pierwszy bajt odpowiada za pierwszą kolumnę (wiersze nieparzyste), drugi za drugą(wiersze nieparzyste)... szósty za pierwszą (wiersze parzyste)... dziesiąty za piątą (wiersze parzyste).

    Można to było inaczej rozwiązać.
    Zrobić 12 bajtów odpowiadających 12 wierszom wyświetlacza (5 bitów znaczących). i wystawiać na poszczególne bity portu B po jednym bicie z poszczególnych wierszy, najpierw z nieparzystych, następnie parzystych. Wydaje się to bardziej przejrzyste i łatwiejsze do ogarnięcia.

    Co do wylutowania układów, to najpierw rozprawiłem się z tym smd, nałożyłem dużą ilość cyny na wszystkie nogi i podgrzałem, równocześnie wsunąłem pod spód końcówkę noża i podważyłem. potem to samo z drugiej strony. tego w obudowie DIP potraktowałem szczypcami, pozostałości po nogach rozgrzałem lutownicą i odessałem odsysakiem do cyny. Oto kilka fotek z tego procesu:


    Wyświetlacz klienta ECR - IBM 93F1090 - jak tym sterować?
    Wyświetlacz klienta ECR - IBM 93F1090 - jak tym sterować?
    Wyświetlacz klienta ECR - IBM 93F1090 - jak tym sterować?
    Wyświetlacz klienta ECR - IBM 93F1090 - jak tym sterować?
    Wyświetlacz klienta ECR - IBM 93F1090 - jak tym sterować?

    [edit]: wylutowałem też scalak 75176 (driver RS485) i rezystor R7 nieco na prawo od niego. mam zamiar wpiąć się w tym miejscu z liniami szeregowymi od procesora, tak aby były wyprowadzone na złączu na płytce. i tu ponawiam pytanie: czy ktoś znalazł jakąś wtyczkę pasującą do tego gniazda?
  • #37
    mirekk36
    Level 42  
    wielkie dzięki za wyjaśnienia - dzisiaj wieczorkiem na spokojnie zasiądę do tego żeby przeanalizować. Ponawiam swoją ofertę - zaproszenie na dobre piwo, musimy się kiedyś w jakimś pub'ie spotkać i pogadać ;) - ja stawiam

    boogdan wrote:
    i tu ponawiam pytanie: czy ktoś znalazł jakąś wtyczkę pasującą do tego gniazda?


    Ja mam takie kabelki z tymi wtyczkami o które pytasz, tzn takie oryginalne - przyjrzałem się tym wtyczkom teraz dokładniej bo wcześniej myślałem że to zwykły wtyk RJ-45 - a tu kicha ;) .... no ale czego się można spodziewać po IBM'ie - oni tak jak kiedyś w swoich kompach - wszystko robią tak, żeby tylko ich standardy pasowały. Więc wątpię żeby można gdzieś było - ot tak - znaleźć takie wtyczki.

    Ja osobiście będę próbował wylutować to gniazdo i osadzić tam standardowe RJ-45 i już - coś trza pokombinować.
  • #38
    nouki
    Level 25  
    Wyświetlacz działa i nie ma problemu ale chciałem zobaczyć co potrafi ten moduł.

    Sprawdzałem go podłączając rj-45 i jakieś przypadkowe znaki się pojawiają na wyświetlaczu.
    Przy próbie podłączenia USB nic się nie dzieje.

    Zastanawia mnie więc jak odbywa się komunikacja terminali z modułem.
  • #39
    mirekk36
    Level 42  
    nouki -> no to już chyba cięższy orzech do zgryzienia - rozpracować wewnętrzny protokół sterownika - zaszyty wewnątrz programu procesora, bez dostępu do żadnej dokumentacji itp.... Zobacz ile kolega Fueryon się namęczył (też chwała mu za to), żeby rozgryzać protokół IBM'a - ale to dzięki temu, że udało mu się wydębić w ogóle jaką kolwiek dokumentację od nich

    z drugiej strony - przecież mogłoby się nawet okazać, że ten protokół tych twoich sterowników jest podobnie "porąbany" jak ten IBM-owski..... tak więc moim zdaniem o wiele lepiej i szybciej jest zrobić coś własnego do sterowania
  • #40
    nouki
    Level 25  
    Jedyne co mam to firma tego "ads anker" i rok 97-98.
    Byłem ciekaw czy to działa to jako sieć a kasa wysyła po adresie IP dane do wyświetlacza konkretnego, czy jest to tylko wtyczka taka bo im pasowała :)

    Układy to S-8032-16 ,m27c256,km62256cltg-7L, sp234act, 74hct373d, 74hct138.
    Po układach można mieć podejrzenia że ten moduł ma możliwości dość spore.
  • #41
    boogdan
    Level 15  
    nouki -> czy sprawdzałeś dokąd prowadzą ścieżki na płytce (o ile jakieś widać) z gniaz USB czy z RJ45?
    Zrób jakieś lepszej jakości zdjęcia, tak aby dało się odczytać nazwy układów.

    Co podłączałeś pod gniazd USB? Wyglądają na gniazdka USB_A, co sugeruje, że na płytce jest host USB.
    Co podłączałeś do gniazdka RJ45? to nie koniecznie musi być gniazdko ethernet-owe.
  • #42
    nouki
    Level 25  
    Płytka jest 4 warstwowa więc nie widać za wiele układy wypisałem.
    Jedno usb jest połączone z wyświetlaczem a 2 idzie na procesor Rj-45 idzie na bramkę częściowo i na SP234ACT i dalej na procesor.

    Usb do kompa(nic nie wykryło). Rj-45 do sieciówki nie wykrywa nic ale dziwne znaki się pojawiaja.
  • #43
    boogdan
    Level 15  
    nouki ->
    SP234 to driver do RS232. Sprawdź miernikiem dokąd idą jego wyjścia/wejścia (pewnie do RJ45) i podepnij się w te miejsca kabelkiem do portu szeregowego w komputerze. uruchom jakiś terminal, np Putty i sprawdzaj z różnymi częstotliwościami czy uda Ci się połączyć.

    wychodzi na to że masz na pokładzie pamięć EPROM, SRAM i 8032 intela.
    jak uda Ci się coś po tym porcie szeregowym zdziałać, to fajnie, jeśli nie, to proponuje podpiąć się bezpośrednio do wyświetlacza jakimś AVR'kiem :D
    powodzenia

    [edit]: skoro jest procek 8032 to nie masz co liczyć na to że tam jest jakiś kontroler USB. sprawdz miernikiem czy jest tam zasilanie jakieś i dokąd idą ścierzki z tych USB.
  • #45
    mirekk36
    Level 42  
    boogdan wrote:
    Odnośnie tych nieszczęsnych 10-ciu bajtów:D
    w załączniku plik excel'a z rozpiską połączenia układów SED2020F z lampą VFD, oznaczenie anod jest takie samo jak zastosowane w pdf-ie od Futaby, powinno nieco pomóc.

    bity ---> wejścia SED2020F
    0 ---> U5 SI1
    1 ---> U5 SI2
    2 ---> U6 SI1
    3 ---> U6 SI2
    4 ---> U7 SI1
    5 ---> U7 SI2
    6,7 ---> dont_care

    Najmniej znaczący bit odpowiada za wyświetlanie anod w pierwszym wierszu i w drugim wierszu, następny bit za trzeci i czwarty wiersz, itd...
    pierwszy bajt odpowiada za pierwszą kolumnę (wiersze nieparzyste), drugi za drugą(wiersze nieparzyste)... szósty za pierwszą (wiersze parzyste)... dziesiąty za piątą (wiersze parzyste).


    Matko z Córką ! - w końcu po długim boju to do mnie dotarło!
    hehehe ale teraz jeszcze jedno ;) - już pomijam jak wygenerowałeś tą tablicę za pomocą tego programu o którym wspomniałeś bo jest on troszkę jak na razie dla mnie też pokręcony a co najgorsze nie wiem czy zauważyłeś ale te fonty z tego obrazka są nieco "skopane" jeśli chodzi o małe litery - bo występuje tam jakieś przesunięcie jakby o jeden znak - jakby wcięło którąś literkę - ale to tak na marginesie bo za chwilę się wkurzę i chyba sam napiszę jakiś mały program na PC do stworzenia własnych fontów i ich konwersji na taką gotową tablicę do C ;)

    .... ale może znasz jeszcze jakieś tego typu programiki do generowania fontów - hmm tylko czy znajdzie się jakiś, który akurat tak by te bajty układał ?

    ja znalazłem taki programik - link poniżej, można sobie fajnie cały zestaw znaków zaprojektować i wyeksportować śliczniutko tablicę do C - ale niestety - bajtów nie da się w nim poskładać po swojemu a szkoda

    http://www.elvand.com/en/LFG.asp
  • #46
    boogdan
    Level 15  
    W pliku shapes.c jest błąd. w linii 66 (to ta która kończy się na // \ ) kompilator wywala warning. trzeba dopisać np średnik na końcu tej linii, inaczej kompilator uważa kolejną linię za kontynuację komentarza i reszta tablicy się przesuwa.

    Wieczorem przyjżę sie temu LFG, jeśli nie da się zapisać do mojego fikuśnego formatu, może sklepie jakiś niewielki programik do konwersji, ale to raczej najwcześniej po weekendzie.
  • #47
    mirekk36
    Level 42  
    no tak widziałem tego warninga ale nie zwróciłem na niego uwagi ;) - jeszcze nie wszystkie warningi w C dużo mi mówią

    boogdan wrote:

    Wieczorem przyjżę sie temu LFG, jeśli nie da się zapisać do mojego fikuśnego formatu, może sklepie jakiś niewielki programik do konwersji, ale to raczej najwcześniej po weekendzie.


    okazało się że ten LFG wprawdzie ładnie wygląda ale ma jakieś niedoróbki i generuje tylko fonty o wysokości 8 bitów pomimo to, że pozwala projektować wyższe - jakiś dziwoląg. Też właśnie myślę, że w czasie weekendu posiedzę może nad jakimś własnym programikiem do tego na PC'ta
  • #48
    boogdan
    Level 15  
    mirekk36 wrote:
    okazało się że ten LFG wprawdzie ładnie wygląda ale ma jakieś niedoróbki i generuje tylko fonty o wysokości 8 bitów pomimo to, że pozwala projektować wyższe - jakiś dziwoląg. Też właśnie myślę, że w czasie weekendu posiedzę może nad jakimś własnym programikiem do tego na PC'ta


    też to znalazłem, niezły babol :D

    Poszedłem inną drogą
    Przerobiłem obrazek font5x12.png ze strony character extractor'a, zapisałem wynik jako plik png (na kilka różnych sposobów) i nie udało mi się zmusić extractora do przetworzenia pliku na nowe definicje czcionki (większość przypadków: program wykonał niedozwoloną operację..., czasem "Error in libpng module") Chyba przyjmuje jedynie pliki png jakiegoś dziwnego formatu, do którego żaden program nie potrafi zapisać :cry:
  • #49
    mirekk36
    Level 42  
    ja swego czasu robiłem sobie taki edytorek małych fontów do Bascoma - ale tylko dla rozmiarów 5x7 i 8x8 - teraz będę musiał się zabrać za rozszerzenie chyba jego możliwości ;)

    Wyświetlacz klienta ECR - IBM 93F1090 - jak tym sterować?

    Wyświetlacz klienta ECR - IBM 93F1090 - jak tym sterować?

    może uda mi się jak mówiłem też znaleźć chwilkę w weekend to może coś sensownego uda się zrobić
  • #50
    crazy_phisic
    VIP Meritorious for electroda.pl
    Bascom posiada tools'a "font editor" może będzie pomocny.
  • #51
    mirekk36
    Level 42  
    crazy_phisic wrote:
    Bascom posiada tools'a "font editor" może będzie pomocny.


    o kurcze mam pełnego Bascoma i do tej pory nie użyłem nigdy tego Font Editora - ale z drugiej strony nie był mi dotąd w zasadzie potrzebny

    niestety :( ten font editor pomimo to, że pozwala ustawić rozmiar czcionki 5x12 pixeli - to podobnie jak ten LFG - generuje plik z danymi tylko dla maksymalnej wysokości znaku = 8 pixeli - więc jako gotowiec się nie przyda raczej - tym bardziej, że też ma tylko jeden sposób generowania danych ustawiony - czyli taki jaki jest potrzebny już przy typowych fontach dla LCD czy matryc - a tu trzeba nieźle pokombinować żeby rozłożyć ten font na bajty tak jak to rozkminił to (i słusznie) kolega bogdan.
  • #52
    mirekk36
    Level 42  
    no - powoli płodzi się generator - powstaje MFG (MkFontGenerator) . Już można sobie szybciutko i łatwo definiować własne fonty, zapisywać je do pliku a także odczytywać je z pliku. Wkrótce zajmę się możliwością juz wygenerowania odpowiednich danych do C - czyli do pliku *.h

    poniżej pierwsze screenshoty ;)

    Wyświetlacz klienta ECR - IBM 93F1090 - jak tym sterować?

    Wyświetlacz klienta ECR - IBM 93F1090 - jak tym sterować?

    Dodano po 3 [godziny] 55 [minuty]:

    Dobra - Panowie - więc mamy gotowy generator fontów do naszego wyświetlacza ;)

    Już wszystko ślicznie działa, program pozwala jak widać przepięknie genrować fonciki ;)

    poniżej fotka z wyświetlanymi napisami już obrobionymi i przygotowanymi za pomocą "MFG"

    Wyświetlacz klienta ECR - IBM 93F1090 - jak tym sterować?

    no - teraz nadszedł czas na zrobienie prawdziwego sterownika i biosu do niego - dla naszego BIG VFD ;)
  • #53
    mirekk36
    Level 42  
    ... troszkę temat umarł, ale ja nadal dziobię ;)

    właśnie zaprojektowałem płyteczkę - mam nadzieję, że będzie fajnie to wyglądało. Generalnie w miejsce tego dużego procka DIP40 wlutowałem podstawkę.
    Wyświetlacz klienta ECR - IBM 93F1090 - jak tym sterować?

    Dzięki temu będzie można płyteczkę wypinać, wpinać ładnie itp. W eagle zaprojektowałem taką podstawkę DIP40, że nie ma wszystkich padów - tylko po 2 na każdym rogu - z tą różnicą, że jest ich kilka w miejscu dla nas potrzebnych sygnałów , żeby nie trzeba było kilku kabelków lutować. Z tej podstawki czerpiemy także zasilanko do naszego scalaka - Pin40 = VCC, Pin20 = GND . Zobaczcie sami ;)

    aha przygotowuję software tak, żeby można było go sterować albo poprzez:

    1. RS485 - za pomocą scalaka już osadzonego na wyświetlaczu (bogdan to dziwne gniazdo dało się bardzo łatwo zdemontować - teraz można sameu coś zakombinować)
    Wyświetlacz klienta ECR - IBM 93F1090 - jak tym sterować?

    2. RS232

    3. Równolegle - podobnie jak niektóre wyświetlacze VFD Futaby, dokładniej mówiąc będzie można wykorzystać do sterowanie szynę danych D0..D7 oraz standardowe sygnały sterujące jak SEL oraz WR a dodatkowo wyprowadzony będzie sygnał BUSY - czyli dokładnie jak u futaby.

    Generalnie zmieniłem tylko układ pinów sterujących żeby można było wykorzystać przerwania dla obsługi WR i SEL

    Ponieważ nie dałem rezonatora - to będzie można jeśli chodzi o RS232 uzyskiwać prędkość 38400bps - ale to powinno już być zadowalające. Dla sterowania równoległego będzie można z maksymalną prędkością do niego zapisywać.

    tutaj widok płyteczki narazie w Eagle-3D - bo dopiero zabieram się, za wykonanie - czyli żelazko i termotransfer w ruch:
    Wyświetlacz klienta ECR - IBM 93F1090 - jak tym sterować?

    a tu schemat:
    Wyświetlacz klienta ECR - IBM 93F1090 - jak tym sterować?

    Dodano po 3 [godziny] 59 [minuty]:

    okej - robota skończona - prototyp gotowy i co najważniejsze pięknie śmiga po przeróbkach w programie odnośnie innych wyjść sterujących - portów:

    Wyświetlacz klienta ECR - IBM 93F1090 - jak tym sterować?
    Wyświetlacz klienta ECR - IBM 93F1090 - jak tym sterować?

    jak widać tylko 8 kabelków trza przylutować na żywca do płytki wyświetlacza ;) .... a poza tym nic!
  • #54
    boogdan
    Level 15  
    mirekk36 -> widać że odwaliłeś kawał dobrej roboty w weekend :D

    umieść na forum wyniki swojej pracy, chętnie się pobawię tym edytorem do czcionek.
    co do schematu płytki mam jedno pytanie. widzę, że użyłeś jako D6,D7 pinów ADC6, ADC7, czy to będzie działać? czy te piny nie służą tylko jako wejścia do konwertera ADC?
  • #55
    mirekk36
    Level 42  
    dzisiaj rano sobie zasiadam, żeby przetestować właśnie sterowanie z zewnątrz przez równoległą szynę danych - a tu ZONK ;)

    boogdan wrote:
    co do schematu płytki mam jedno pytanie. widzę, że użyłeś jako D6,D7 pinów ADC6, ADC7, czy to będzie działać? czy te piny nie służą tylko jako wejścia do konwertera ADC?

    .... oczywiście, że nie będzie działać - moje niedopatrzenie

    (ale to na szczęście tylko płytka prototypowa a to, że można ją łatwo odłączać, bez najmniejszego lutowania - pozwala na właśnie różne przeróbki.)

    W takim razie rezygnuję z wejścia RS232 i te dwie linie wykorzystam do tych danych zamiast PC6, PC7

    tzn inaczej - przygotuję sobie 2 BIOSy - jeden do obsługi scalaka za pomocą RS232/485 a drugi za pomocą szyny równoległej i już. Ale na początek działam z równoległą.

    tutaj widać, możliwości fontologii, nie mówiąc już, że są polskie znaczki i to w standardzie Windows - więc można kody polskich literek wprost w tekście wstawiać - albo później na terminalu wysyłać i wyświetlacz ładnie je pokaże ;) (sorry za ten napis www - ale zrobiłem go już jeszcze innym specjalnym fontem i chodziło tylko o to aby pokazać jak można pomieszać różne style)
    Wyświetlacz klienta ECR - IBM 93F1090 - jak tym sterować?

    tutaj start wyświetlacza ze sterownikiem ze zmodyfikowanym nieco programem do obługi.




    a tu polskie ogonki:
    Wyświetlacz klienta ECR - IBM 93F1090 - jak tym sterować?

    w kodzie wpisane ot tak:
    Code:
       char info3[] = "żółtą gęślą koń ĄŚŹŃ";
    
       locate(1,1);
       vfd_str(info3);


    bogdan -> okazało się, że ten PWM podany na EPS_BLANK powoduje sporo duszków i zamieszania. Powalczyłem z tym trochę i na razie uzyskałem zadowalający efekt, z tym, że jeśli jest jasność ustawiona na minimum np 0x0F to niestety (duszków nie ma) ale delikatniuśko podświetlają się niektóre boczne piksele od tych już zapalonych. Na szczęście jak zrobi się sterowanie jasnością w 4 przedziałach jak robi to FUTABA w swoich wyświetlaczach - to wtedy przy najniższym stopniu ok 0x46 - już jest o wiele lepiej - a potem im wyżej dochodzimy do pełni szczęścia. Chyba też dlatego Futaba - zrobiła takie 4-stopniowe sterowanie jasnością.

    poniżej kod przerobionej przeze mnie procedury przerwania:

    Code:
    void processDisp (void)
    
    {
       static uint8_t currentGrid = 0;
        register uint8_t i, b;

       b = OCR2B;
        OCR2B = 0;
        TCCR0B = 0x00; //timer2 STOP  -  EPS_BLANK

        genShape(data[currentGrid], font);

        cbitD(EPS_CLK);
        cbitD(EPS_LE);
        for (i=0; i < 10; i++)
        {
            cbitD(EPS_CLK);
            EPS_DATA_PORT = font[i];
            sbitD(EPS_CLK);
        }
        PORTD |= (1<<EPS_LE);


        //data present in EPSON anode drivers, time to set the grid and latch EPSON data
        if (currentGrid == 0) //need to put one '1' to the shift register of TD62C950RF, shift it, and latch EPSONs
        {
            sbitB(TSH_DATA);
            PORTB |= (1<<TSH_CLK);
            cbitB(TSH_CLK);
            cbitB(TSH_DATA);
        }
        else //shift the '1' and latch EPSONs
        {
            PORTB |= (1<<TSH_CLK);
            cbitB(TSH_CLK);
        }


        //currentGrid++;
        if (currentGrid++ == 40) currentGrid=0;

        OCR2B = b;
        TCCR0B = 0x02; //timer running on prescaler /8

    }



    poniżej poprawiony dopieszczony już prawie na maxa - generatorek znaków MFG, proszę bardzo:
  • #56
    crazy_phisic
    VIP Meritorious for electroda.pl
    Pewnie mirekk36 stwierdzisz że się powtarzam ale to jest kolejne urządzenie w którym aż prosi się o wykorzystanie łącza bezprzewodowego - mam ty na myśli moduły bluetooth'a. Masz już wszytko gotowe - łącznie z oprogramowaniem na PC ;)
  • #57
    mirekk36
    Level 42  
    crazy_phisic -> dokładnie o takich rozwiązaniach myślę z bluetooth'em. Wkrótce się tym zajmę ;) jednak - trzeba koniecznie oddzielić procek zastępujący poprzedni oryginalny sterownik - od procka, który będzie się z nim komunikował.

    Po prostu ten pierwszy musi chulać niezawodnie - nie mogą się zdarzyć żadne opóźnienia jeśli chodzi o przemiatania rejestrami przesuwającymi bo ... no właśnie - już 2 razy - w wyniku różnych testów - rozżarzyła mi się jedna z elektrod (tych cienkich drucików) do czerwoności - a wtedy luminofor leci w powietrze i niszczy się wyświetlacz. Trzeba koniecznie przynajmniej na czas testów dać jakiegoś watchdoga do tego przerwania sterującego rejestrami - bo zatrzymanie tego procesu nawet na chwilkę na wyświetlaniu jednego znaku - kończy się tragicznie ;) - z VFD robi się żarówka.
  • #58
    crazy_phisic
    VIP Meritorious for electroda.pl
    Opisujesz dziwne zjawisko - żarzenie powinno być niezależne od "logiki" - taj jak cały zasilacz.
  • #59
    mirekk36
    Level 42  
    no może i tak - ale nie wiem co to było - a przytrafiło mi się już 2 razy. Za drugim razem - bardziej zwróciłem uwagę co działo się z wyświetlaczem - otóż ponieważ zakombinowałem za mocno i procek się zawieszał co chwilę w wyniku przepełniania stosu - to też co chwilę przemiatanie zatrzymywało się akurat na losowym znaku wyświetlacza - wyświetlał się jakiś przypadkowy znak - ale w dziwny sposób świecił na MAX'a ... po króciutkiej chwili w lewym dolnym rogu tym drugim razem, ten drucik na dole zaczął się żażyć światłem jak w żarówce - a przetworniczka chyba z tyłu wyświetlacza zaczęła piszczeć. To żarzenie zaczynało się powoli od lewej i szło w prawą stronę - po drodze niszcząc luminofor pod tym drucikiem. Przez to teraz - znaki w tym miejscu gorzej a w zasadzie słabiutko świecą. Tak więc skojarzyłem to z tym brakiem przemiatania rejestrami
  • #60
    crazy_phisic
    VIP Meritorious for electroda.pl
    Bardziej stawiałbym na problem z zasilaniem - wyświetlacz masz podpięty do zewnętrznego zasilacza/USB ? Możliwe że w czasie "zwiechy" cały układ pobierał na tyle duży prąd że spadek napięcia na zasilaczu zakłócił pracę przetwornicy - stąd anomalia na żarzeniu.