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.

QN8027 - w połączeniu z Arduino

pirotechnik1212 01 Lut 2016 15:45 981 0
  • #1 01 Lut 2016 15:45
    pirotechnik1212
    Poziom 14  

    Witam!
    Mam układ QN8027 (PDF), który jest scalonym nadajnikiem UKF FM z RDS sterowanym przez I2C. Przylutowałem go do przejściówki MSOP10 - DIP10 i próbuję uruchomić nadawanie sterując go uC z programem w arduino - niestety bez powodzenia :(

    A więc tak, układ podłączony do 3.3V (noga 3 Vcc, 4 GND), pod nogi 1 i 2 podłączony kwarc 12MHz, VIO podłączony do 3.3V (już tu pierwsze pytanie - czy tak powinienem podłączyć ten pin?), SDA i SCL przez rezystor 2.2K do do 3.3V. Audio do nóg 9 i 10 (masa audio połączona z masą układu). Audio z telefonu, ustawione na 50% głośności.

    Uc sterującym jest ES8266 (ESP12) ze względu na zasilanie 3.3V (choć z arduino uno i konwerterem poziomów logicznych miałem ten sam efekt) a program do niego wygląda następująco:

    Kod: c
    Zaloguj się, aby zobaczyć kod


    Według PDF domyślny adres układu to 0x2C i tak właśnie odnajduje go program I2C skanera. Adres zapisu to 0x58 a odczytu to 0x59. W rejestrze 0x00 ustawiam TXREQ na 1 czyli wejście w tryb nadawania, MONO na 0 czyli nadawanie w stereo i MUTE na 0 czyli brak wyciszenia. W rejestrze 0x04 XSEL na 0 czyli kwarc 12MHz.

    Częstotliwością nadawania powinno być 105MHz = (76 + CH*0.05) MHz, gdzie CH to 1001000100 czyli 580 dziesiętnie.

    Niestety w odbiorniku cisza :( Może ktoś ma jakiś pomysł gdzie jest błąd, może w komunikacji I2C, bo szczerze mówiąc pierwszy raz w Arduino używam I2C bezpośrednio a nie w jakieś bibliotece od np RTC czy jakiegoś czujnika.

    EDIT:
    Ok, podstawowy błąd to adres urządzenia, po wpisaniu 0x2C coś ruszyło, jednak niewiele. W pętli loop() dodałem taki kod, który sprawdza co 5 sekund zawartość rejestru 0x07 STATUS. I niestety ciągle mam status 11111101 przy czym 3 najmniej znaczące bity czyli 101 odpowiadają FSM status: PA_OFF czyli nadawanie wyłączone :( Za nic nie mogę sprawić by nadawanie ruszyło. Jakie rejestry muszę koniecznie ustawić by zadziałało? SYSTEM, CH1, REG_VGA, coś jeszcze? Chodzi mi o to by ruszyło nadawanie samego audio, nawet mono, bez RDS.

    Kod sprawdzający status:
    Kod: c
    Zaloguj się, aby zobaczyć kod

    1 0