logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Sony STR-DB840QS -własne napisy na VFD

Piotrek1970 19 Lut 2021 17:59 2634 1
REKLAMA
  • Sony STR-DB840QS -własne napisy na VFD

    Tematem dzisiejszego artykułu jest -przejęcie kontroli na światem! Ha, Ha, Ha -to miał być złowieszczy śmiech ;-)
    A dokładnie to tylko nad wyświetlaczem VFD, który jest integralną częścią amplitunera SONY STR-DB840QS. Sprzęt leciwy, ale jeszcze daje radę ;-) i jako grajek w sypialni ma się świetnie. Wracając do tematu, od dawna w głowie rodził się pomysł na modyfikację mojego klocka i dodanie kilku nowych bajerów, np.: radio internetowe, karta dźwiękowa USB lub chociażby łączność Bluetooth. Co do części wymienionych usprawnień dwa ostatnie zostały rozwiązane jako zewnętrzne urządzenia. I tak, karta dźwiękowa to okrojona do minimum aplikacja PCM2903 w konfiguracji USB -> S/PDIF i tym interface-m łączona jest piersza wersja 'malinki' + Volumio z amplitunerem. Niewygodą tego rozwiązania jest brak informacji na wyświetlaczu o tytule odtwarzanego utworu czy brak nazwy stacji. Po wielu latach służby, 'grajek z protezą' został zastąpiony pełnoprawnym amplitunerem z funkcjami odtwarzacza sieciowego -jednak pomysł rozbudowy z prawdziwego zdarzenia dalej kołatał się po głowie. Teraz gdy sprzęt jest na 'emeryturze' można zacząć się nim bawić, bez obawy o uszkodzenie i nieznośną ciszę w mieszkaniu.

    Po wielu próbach podejścia do tematu wreszcie udało mi się znaleźć trochę czasu i przygotować się do 'operacji' -już na poważnie w ruch poszedł śrubokręt i inne narzędzia tortur. Przydał się, leżący bezużytecznie od długiego czasu, najtańszy z możliwych, analizator stanów logicznych -dla hobbysty-amatora wystarcza, a do wizualizacji wyników jego pracy skorzystałem z darmowego oprogramowania PulseView.

    Analizator logiczny -zabawka:
    Sony STR-DB840QS -własne napisy na VFD

    Pierwsze próby to było sprawdzenie co dzieje się na liniach między sterownikiem VFD ML9261 a układem go nadzorującym. Komunikacja odbywa się przez cztery linie FL1 [CLEAR], FL2 [DATA], FL3 [CLK] i FL4 [LATCH] w trybie SPI 3 -czyli linia CLK w stanie idle ma poziom wysoki. Wyniki pierwszych odczytów i fragment kodu obrazują poniższe zdjęcia.

    
    // inslude the SPI library:
    #include <SPI.h>
    
    const int CLEAR = 9;
    const int LATCH = 10;
    
    void setup() {
      // set the LATCH & CLEAR as an output:
      pinMode(CLEAR, OUTPUT);
      pinMode(LATCH, OUTPUT);
    
      // initialize SPI:
      SPI.beginTransaction(SPISettings(2000000, MSBFIRST, SPI_MODE3));
      SPI.begin();
    }
    


    Schemat & PCB:
    Sony STR-DB840QS -własne napisy na VFD

    Wykresy czasowe przebiegów:
    Sony STR-DB840QS -własne napisy na VFD

    Nadawane jest 8 bajtów po 8 bitów. Formatowanie danych znaku oraz miejsca jego wyświetlenia na powierzchni wyświetlacza ogranicza się do zachowania organizacji bitów jak w przykładzie:

    00000AAA|AABBBBBC|CCCCDDDD|DEEEEEFF|FFFGGGGG|XXXXXXXX|YYYYYYYY|ZZZ00000.

    Aby panować nad tym jaki znaki ze standardowej tablicy ASCII chcemy wyświetlić, należało przygotować narzędzia ułatwiające pracę. W tym celu posłużyłem się programem MS Excel -podobny efekt można uzyskać korzystając z innych aplikacji, np.: Calc z pakietu LibreOffice. Na zdjęciach przedstawiłem moja wizję jak usprawnić swoją pracę ze żmudnym przeliczaniem wartości bit po bicie, byte za byte-m.

    Matryca wyświetlacza:
    Sony STR-DB840QS -własne napisy na VFD

    DIN -organizacja bajtów /bitów dla jednego znaku:
    Sony STR-DB840QS -własne napisy na VFD

    Demonstracja napisu generowanego przez amplituner:
    Sony STR-DB840QS -własne napisy na VFD

    Wizualizacja komunikacji części napisu '2CH STEREO'
    Sony STR-DB840QS -własne napisy na VFD

    Po kilkudziesięciu minutach można już było zacząć 'skrobać' pierwsze szkice programu w środowisku Arduino -wiem, że jest to wielką hańbą przyznawanie się do takiego zachowania ;-) No cóż, to jest prototyp i jako taki został uruchomiony oraz przetestowany bardzo szybko dzięki prostocie w/w środowiska wskazując kierunek do dalszego rozwoju programu oraz hardware'u. Na zdjęciu poniżej jest płytka prototypowa z kluczem 4066 odłączającym sygnały z IC102, dzięki czemu w każdej chwili można uśpić Atmega328P i zacząć wyświetlać komunikaty z wbudowanego kontrolera VFD.

    ArduinoNano + CD4066
    Sony STR-DB840QS -własne napisy na VFD

    Wartości składające się na przykładowy znak 'A' nadawany przez SPI:

    0b00000100 0b01100011 0b11111000 0b11000110 0b00101110 -> 0x04 0x63 0xF8 0xC6 0x2E

    Kolejne 3 bajty wskazują segment/siatkę na wyświetlaczu. Formatowanie pozycji sprowadza się do ustawienia bitu w stan wysoki na pozycji która nas interesuje. Część DOT-MATRIX wyświetlacza to zakres między G2 a G19 bitem, G1 odpowiada za stałe napisy i ikony na VFD.

    Adres pierwszego znaku części DOT-MATRIX 0b01000000 0b00000000 0b00000000 -> 0x40 0x00 0x00
    Adres ostatniego znaku części DOT-MATRIX 0b00000000 0b00000000 0b00100000 -> 0x00 0x00 0x20

    Prezentacja dostępnych znaków i ikon na VFD:
    Sony STR-DB840QS -własne napisy na VFD

    Wyniki tych wszystkich zabaw niech zobrazują zdjęcia uzyskanego efektu.

    Napis statyczny: ProTek (c) 2021
    Sony STR-DB840QS -własne napisy na VFD

    Napis statyczny: elektroda.pl
    Sony STR-DB840QS -własne napisy na VFD

    Do zrobienia zostało:
    1. przepisanie kodu na avr-gcc w AS7
    2. wyświetlanie znaku co 500us wyzwalane przerwaniem o takim okresie
    3. dodanie obsługi UART do przesyłania tekstu
    4. obsługa zdarzeń od Timer0 i UART
    5. pobieranie wartości znaku oraz pozycji na wyświetlaczu z tablic zapisanych w pamięci flash
    6. przewijanie tekstu dłuższego niż wielkość wyświetlacza -max 256 znaków
    7. dodanie Raspberry Pi Zero W jako urządzenie wewnętrzne, odpowiadające za streaming i przygotowanie tekstu do wyświetlenia

    Za kilka dni wyjeżdżam i będę miał ograniczony -czyli żaden -dostęp do amplitunera, ale jest szansa, na rozpoczęcie pracy nad rozwojem kodu oraz może ogarnięcie projektu PCB aby całość po powrocie poskładać i zakończyć projekt sukcesem. Mam nadzieję, że temat się Wam spodobał -choć części z Was i liczę na Wasze opinie/uwagi, a temat będzie inspiracją do podjęcia prób modyfikacji innych amplitunerów -tylko pamiętajcie: jak ja nie jestem czegoś pewien, to nie ruszam, bo mogę zepsuć a tego bym nie chciał. Więc sprawdzam wszystko pięć razy, mierzę, sprawdzam, przyglądam się czy na pewno jest/będzie ok, sprawdzam jeszcze raz i dopiero włączam zasilanie ;-)

    Fajne? Ranking DIY
    O autorze
    Piotrek1970
    Poziom 18  
    Offline 
    Piotrek1970 napisał 273 postów o ocenie 154, pomógł 12 razy. Jest z nami od 2004 roku.
  • REKLAMA
  • #2 19275112
    And!
    Admin grupy Projektowanie
    Posty: 9061
    Pomógł: 175
    Ocena: 784
    VFD podbija w tym roku elektrodę :) https://www.elektroda.pl/rtvforum/topic3762233.html
    Do prezentacji tej konstrukcji poza zdjęciami przydałyby się krótkie filmy (można ładować bezpośrednio w poście i osadzić w tekście).
REKLAMA