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

Sony STR-DB840QS -własne napisy na VFD

Piotrek1970 19 Feb 2021 17:59 2196 1
Renex
  • 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 ;-)

    Cool? Ranking DIY
    Do you have a problem with Arduino? Ask question. Visit our forum Arduino.
    About Author
    Piotrek1970
    Level 18  
    Offline 
    Piotrek1970 wrote 273 posts with rating 148, helped 12 times. Been with us since 2004 year.
  • Renex
  • #2
    And!
    Admin of Design group
    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).