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

[Rozwiązano] Multiradio 4 kanałowe na Arduino i DRA5807M, czy się da?

zeus35 30 Lis 2018 17:37 705 8
REKLAMA
  • #1 17596066
    zeus35
    Poziom 10  
    Posty: 22
    Ocena: 4
    Witam społeczność,
    Potrzebuję zbudować 4 kanałowe radio do hotelu (sygnał audio będzie zmultipleksowany na 4 kanałach TV do odbioru stacji radiowych na telewizorach). Wybór padł na moduły RDA5807M, proste, tanie i skuteczne. Chciałem jednym arduino wysterować 4 takie moduły, starowanie zrobić na wyświetlaczu od Nokii 3110. Problem w tym, że moduły mają stałe adresy i2c (0x10 dla sekwencyjnego dostępu do rejestru i 0x11 dla dostępu dowolnego). Wygląda więc na to, że z jednym kontrolerem arduino może współpracować tylko jeden moduł radiowy. Czy mam rację? Czy można zmienić ten adres? Czy można uruchomić na arduino kilka magistral i2c? A może inny moduł radia umożliwi ustawienie różnych adresów dla kolejnych modułów?

    Będę wdzięczny za każdy pomysł, bo na razie zostaje mi w jednej odbudowie upchać 4 oddzielne moduły arduino z modułami radia i 4 wyświetlaczami co traci sens i podnosi koszt całości.
  • REKLAMA
  • Pomocny post
    #2 17596162
    lechoo
    Poziom 39  
    Posty: 5161
    Pomógł: 377
    Ocena: 546
    Pierwszy lepszy układ przełącznika I2C: www.ti.com/lit/ds/symlink/pca9544a.pdf
    albo po prostu 74HC4052
  • REKLAMA
  • REKLAMA
  • Pomocny post
    #4 17596447
    LChucki
    Poziom 31  
    Posty: 1940
    Pomógł: 104
    Ocena: 379
    lechoo napisał:
    pca9544 albo po prostu 74HC4052

    Tyle, ze PCA9544 to nie to samo co klucze A/C. Pomija tu fakt, ze PCA544 przełącza wyjścia za pośrednictwem I2C (PCA ma swój adres) a klucze wymagają dodatkowych wyprowadzeń.
    PCA9544 obsługuje też linie przerwań. Skąd pochodzi źródło przerwania można się dowiedzieć z rejestru w PCA.
    Ciekawym układem jest TCA9548. Nie obsługuje linii przerwań ale ma 8 kanałów i możliwość włączenia kilku lub wszystkich razem (w PCA9544 jeden z 4).
  • #5 17596815
    zeus35
    Poziom 10  
    Posty: 22
    Ocena: 4
    Szukałem PCA9544A, ale znalazłem go tylko na Aliexpress, fakt że tanio, tylko ten czas... W Polsce TME miało PCA9545A, wygląda zasadniczo na to samo, ale obecnie czekają na dostawę. Za to znalazłem na Botlandzie gotowy moduł Adafruit TCA9548A. Już zamówiony.
  • Pomocny post
    #6 17596826
    LChucki
    Poziom 31  
    Posty: 1940
    Pomógł: 104
    Ocena: 379
    zeus35 napisał:
    Szukałem PCA9544A, ale znalazłem go tylko na Aliexpress

    W Farnelu mają po 5..6 zeta netto.
  • Pomocny post
    #7 17598061
    lechoo
    Poziom 39  
    Posty: 5161
    Pomógł: 377
    Ocena: 546
    LChucki napisał:
    Tyle, ze PCA9544 to nie to samo co klucze A/C. Pomija tu fakt, ze PCA544 przełącza wyjścia za pośrednictwem I2C (PCA ma swój adres) a klucze wymagają dodatkowych wyprowadzeń.

    Dodatkowe 2 linie sterujące multiplekserem 74HC4052 chyba nie byłyby aż tak bardzo kłopotliwe, a nawet ułatwiłyby sterowanie od strony programowej.
    zeus35 napisał:
    Za to znalazłem na Botlandzie gotowy moduł Adafruit TCA9548A. Już zamówiony.

    Pamiętaj o dołożeniu rezystorów podciągających linie danych i zegara poszczególnych kanałów, bo patrząc na zdjęcie tego modułu można zauważyć, że producent o nich zapomniał:

    Multiradio 4 kanałowe na Arduino i DRA5807M, czy się da?
  • Pomocny post
    #8 17598076
    LChucki
    Poziom 31  
    Posty: 1940
    Pomógł: 104
    Ocena: 379
    lechoo napisał:
    LChucki napisał:
    Tyle, ze PCA9544 to nie to samo co klucze A/C. Pomija tu fakt, ze PCA544 przełącza wyjścia za pośrednictwem I2C (PCA ma swój adres) a klucze wymagają dodatkowych wyprowadzeń.

    Dodatkowe 2 linie sterujące multiplekserem 74HC4052 chyba nie byłyby aż tak bardzo kłopotliwe, a nawet ułatwiłyby sterowanie od strony programowej.

    Raczej utrudniałyby sterowanie, bo trzeba to zrobić gdy magistrala jest nieaktywna.
    Na Arduino raczej nie używa się przerwań (poza OVR T0 i RX UART, które obsługuje "system" Arduino) ale w normalnych programach tak. Sterowanie dodatkowymi liniami to dodatkowe komplikatory. Gdy mam układ PCA9544, to do kolejki wrzucam komunikacje z nim i po robocie, kolejka i tak już jest.
  • REKLAMA
  • #9 20979315
    zeus35
    Poziom 10  
    Posty: 22
    Ocena: 4
    Długo mi zabrało odpowiedzieć na temat, zapomniałem o nim po prostu. Dzięki podpowiedzi kolegów lechoo i LChucki oraz TCA9548A sprawa okazała się dość prosta, radyjko wyposażone w wyświetlacz od Nokii działa znakomicie u klienta już 3 lata. Teraz chyba przyjdzie pora na podobne radio DAB+. Dzięki za pomoc.

Podsumowanie tematu

✨ W dyskusji poruszono temat budowy 4-kanałowego radia na bazie modułów RDA5807M z wykorzystaniem Arduino. Użytkownik napotkał problem z adresami I2C, które są stałe dla tych modułów, co uniemożliwia ich równoległe użycie z jednym kontrolerem. Proponowane rozwiązania obejmowały zastosowanie multipleksera I2C, takiego jak PCA9544A lub TCA9548A, co pozwala na przełączanie między różnymi modułami radiowymi. Użytkownik znalazł gotowy moduł TCA9548A, który zamówił, a po wdrożeniu rozwiązania radio działa poprawnie od trzech lat.
Wygenerowane przez model językowy.
REKLAMA