Vybráno pro vás
 
Hiearchie článků
 
O ESP32 a doske FireBeetle 2 - I2S a Bluetooth


Článek mi zaslal Richard Štefún, za zaslání článku mu tímto děkuji.

Předchozí část článku: https://chiptron.cz/articles.php?article_id=130

V minulej časti sme si predstavili mikrokontrolér ESP32 a jeho periférie. V tomto dieli sa však chcem sústrediť na praktické využitie, konkrétne jednu rozdielnu perifériu od predošlej generácie – Bluetooth.

Túto perifériu som sa rozhodol otestovať zostrojením A2DP prijímača, ktorý slúži ako server vďaka ktorému je možné napríklad prenášať audio signány z hudobného prehrávača v telefóne. Keďže je v poslednej dobe trendom odstraňovať z moderných smartfónov audio jack, jedná sa o celkom praktickú konštrukciu, ktorú som napríklad zužitkoval v staršom type autorádia a vybavil ho možnosťou bezdrôtového prenosu audia.

ESP32 podporuje komunikáciu s Bluetooth verzie 4.2 BR/EDR a BLE. Manipulácia s touto perifériou pod prostredím Arduino IDE mi prišla celkom obmedzená a rozhodol som sa radšej nakoniec použiť prostredie ESP-IDF. Toolchain je možné získať a nainštalovať podľa návodu uvedeného na stránkach https://esp-idf.readthedocs.io/en/latest/get-started/.

V zložke examples sa nachádza viacero ukážok, delených podľa periférie. Nás však zaujíma zložka bluetooth, v ktorej sa nachádza projekt a2dp_sink. Ak sa nám podarí do tejto zložky dostať, môžeme vyvolať konfiguráciu projektu pomocou príkazu „make menuconfig“

V konfigurácii „Serial flasher config“ zmeníme „Default serial port“ na názov komunikačného sériového portu dosky Firebeetle. U mňa sa jednalo o „/dev/tty.usbmodem1421” pod systémom s Windowsom by mal byť port pomenovaný „COMx“. Konfiguráciu uložíme možnosťou save, spustíme príkaz „make“ a po skompilovaní softvér nahráme do dosky zavolaním príkazu „make flash“.

Softvér je predvolene konfigurovaný tak, aby výstupný signál bol generovaný pomocou I2S zbernice mikrokontroléra. Tá je dostupná pomocou pinov - 22 (LRCK), 26 (BCK), 25 (DATA). Vo svojej konštrukcii som sa rozhodol použiť prevodník PCM5102A, ktorý je pomerne rozšírený, dostupný a dá sa zohnať na vývojových doskách za veľmi prijateľnú cenu.


Zdroj obrázku: https://www.aliexpress.com/item/PCM5102A-DAC-I2S-Interface-Decoder-Board-192KHz-24bit-3-5mm-Stereo-Jack-Digital-Audio-Player-Phat/32844562833.html

Na doske je potrebné prepojiť kontakty FLT, DMP, SCL a FMT s GND a pin XMT s VCC (3.3V) aby sa na výstupe objavil analógový signál. Po vyhľadaní Bluetooth zariadení sa doska tvári ako „ESP_SPEAKER“. Tento názov je však možné hocikedy zmeniť po úprave main.c a prekompilovaní.
Dosky som osadil s použitím headerov na jednu univerzálnu dosku a spoje poprepájal prepojkami. Okrem iného som do obvodu pridal regulátor na 5V napätie, ochranu proti prepólovaniu a jednu poistku.

Celé zariadenie je napájané z výstupu autorádia pre napájanie anténneho zosilňovača. Tento výstup je možné zaťažiť prúdom až 300mA, takže pri spotrebe 150mA je v tomto rozmedzí ešte značná rezerva.

Táto konštrukcia sa mi overila zatiaľ ako pomerne spoľahlivá, až na pár softvérových chýb. V programe nie je ošetrené pretekanie buffera pri strate signálu, ak sa smartfón náhodou odpojí od zariadenia, je v reproduktoroch počuť nepríjemný zvuk, rovnako ako pri strate signálu, alebo ak práve prebieha hovor na telefóne. Túto chybu momentálne už riešim, nie je to však nič obmedzujúce. Kvalita preneseného audia je nadpriemerne dobrá.



Upozornění
Administrátor těchto stránek ani autor článků neručí za správnost a funkčnost zde uvedených materiálů.
Administrátor těchto stránek se zříká jakékoli odpovědnosti za případné ublížení na zdraví či poškození nebo zničení majetku v důsledku elektrického proudu, chybnosti schémat nebo i teoretické výuky. Je zakázané používat zařízení, která jsou v rozporu s právními předpisy ČR či EU.
Předkládané informace a zapojení jsou zveřejněny bez ohledu na případné patenty třetích osob. Nároky na odškodnění na základě změn, chyb nebo vynechání jsou zásadně vyloučeny. Všechny registrované nebo jiné obchodní známky zde použité jsou majetkem jejich vlastníků. Uvedením nejsou zpochybněna z toho vyplývající vlastnická práva.
Nezodpovídáme za pravost předkládaných materiálů třetími osobami a jejich původ.