Menu English Ukrainian Russo Casa

Libreria tecnica gratuita per hobbisti e professionisti Libreria tecnica gratuita


ENCICLOPEDIA DELLA RADIOELETTRONICA ED ELETTRICA
Libreria gratuita / Schemi di dispositivi radioelettronici ed elettrici

Lettore audio per i formati MP3 e Opus. Enciclopedia dell'elettronica radio e dell'ingegneria elettrica

Libreria tecnica gratuita

Enciclopedia della radioelettronica e dell'elettrotecnica / Audio

Commenti sull'articolo Commenti sull'articolo

Questo articolo descrive un lettore portatile fatto in casa per file musicali di formati comuni da una scheda di memoria microSD. È assemblato su un microcontrollore STM32F407VGT6 in un alloggiamento di un telefono cellulare NOKIA 1100.

Lo schema del giocatore è mostrato in Fig. 1. Sfrutta al massimo i componenti elettronici disponibili sulla scheda di sviluppo STM32F4DISCOVERY, tra cui il microcontrollore STM32F407VGT6 (DD1), i regolatori di tensione integrati LD3985M25R (DA1) e LD3985M33R (DA3), il codec CS43L22 (DD2), nonché i necessari componenti passivi. Dal cellulare NOKIA 1100, oltre alla custodia e alla batteria, un connettore per il collegamento delle cuffie XS3, un pannello frontale con LCD HG1, membrane per i pulsanti SB1-SB17 formate da contatti concentrici su un circuito stampato e un connettore per collegare una batteria G1 sono stati utilizzati. Inoltre, la scheda del lettore contiene un supporto per una scheda di memoria microSD TFC-WPCE-08 (XS1), un gruppo di contatti per il collegamento del programmatore Xp1 e un connettore miniUSB-B 5075BMR-05-SM (XS2).

Lettore audio MP3 e Opus
Riso. 1. Layout giocatore (clicca per ingrandire)

I gruppi di diodi VD1, VD4, VD5, VD6 vengono utilizzati per proteggere i circuiti collegati ai connettori XS2 e XS3 dalle scariche elettrostatiche. I restanti connettori si trovano all'interno del vano batterie e non necessitano di protezione. Il chip (DA2) è un controller di carica per la batteria agli ioni di litio G1 con una tensione massima di 4,2 V. Il resistore R9 riduce la caduta di tensione su questo chip durante la ricarica, provocandone il riscaldamento. Il resistore R10 imposta la corrente di carica massima Isal.max secondo la formula Iper ap.max = 1000/R10. Con la resistenza R10 specificata in kiloohm, il valore della corrente di carica si ottiene in milliampere.

Si consiglia di caricare una batteria agli ioni di litio con una corrente non superiore a 1C, dove C è la capacità della batteria. La capacità della batteria BL-5C utilizzata è di circa 1000 mAh, la corrente di carica massima consentita per il chip LTC4054ES5-4.2 è di 800 mA. Poiché la ricarica avviene tramite il bus USB, è necessario tenere conto anche della sua capacità di carico (500 mA). Pertanto, il valore consigliato per R10 è 2 kOhm. Inoltre, misurando la tensione su R10, è possibile determinare il valore attuale della corrente di carica della batteria utilizzando la formula Icarica= 1000 UR10/R10 (corrente - in milliampere, tensione - in volt, resistenza - in kiloohm).

Quando il connettore XS2 è collegato al bus USB, il transistor ad effetto di campo VT1 scollega la batteria G1 dal circuito di alimentazione del lettore. Una tensione di 5 V dal pin 1 del connettore XS2 apre il transistor VT5, la tensione al gate del transistor VT3 diventa negativa rispetto alla sua sorgente. Il transistor VT3 si apre, accendendo il lettore.

Quando non c'è tensione sul pin 1 del connettore XS2, il potenziale di gate del transistor VT3 è vicino al potenziale della sua sorgente e il transistor è chiuso.

Premendo il pulsante SB1 si apre anche il transistor VT3, il microcontrollore inizia a funzionare e controlla lo stato di questo pulsante ogni 10 ms. Se viene tenuto premuto per più di 2 s, il microcontrollore imposterà il livello di tensione alto alla base del transistor VT2, aprendolo e mantenendo aperto il transistor VT3. Successivamente, il lettore entra in condizioni di lavoro e il pulsante può essere rilasciato. Spegnere il lettore tenendo nuovamente premuto il pulsante SB1.

Dopo l'accensione, il microcontrollore inizializza il display LCD HG1 e la scheda microSD inserita nel supporto XS1, verifica la presenza del file di configurazione player.ini nella directory principale della scheda (sono supportati i file system FAT12, FAT16, FAT32). Questo è un normale file ini, che è un insieme di righe di valori-chiave. Memorizza le informazioni sul file audio selezionato per la riproduzione nel momento in cui il lettore è stato precedentemente spento, la sua posizione al suo interno e il volume impostato. Il programma tenta di ripristinare questo stato. In caso di guasto (ad esempio se la scheda è stata sostituita), viene cercato il primo file audio presente sulla scheda (con estensione del nome .mp3 o .opus). La ricerca inizia dalla directory root, i file vengono visualizzati nell'ordine in cui sono elencati nella tabella di allocazione dei file disponibile sulla mappa.

Durante la riproduzione viene periodicamente chiamata la funzione MainThread del decoder corrente che, secondo necessità, esegue la lettura dalla scheda (ogni codec è responsabile del buffering, poiché i formati contenitore per i pacchetti audio sono diversi per .opus e .mp3) e decodifica. La necessità di eseguire queste operazioni è determinata dalla pienezza del buffer ciclico AudioBuffer, da cui il codec audio legge le informazioni in modo asincrono. Una volta completata la decodifica del file audio corrente, viene ricercato quello successivo secondo il principio sopra descritto. Se l'attraversamento del file system è completo, la riproduzione si interrompe.

Il lettore interagisce con l'utente utilizzando un display grafico LCD monocromatico HG1 con una risoluzione di 96x65 pixel e pulsanti SB 1 -SB 17. Viene utilizzata una simulazione software della modalità di visualizzazione del testo con lo schermo diviso in otto righe alte 8 pixel. La restante barra orizzontale da 1 px nella parte inferiore dello schermo viene utilizzata per visualizzare visivamente la posizione corrente nel file durante la riproduzione.

La prima riga dall'alto mostra (da sinistra a destra) la tensione della batteria, lo stato del lettore, il volume. Lo stato è caratterizzato dai simboli "0" - riproduzione, "-" - pausa, "<<" o ">>" - rispettivamente avanzamento o ritorno rapido all'interno del file. Un simbolo rettangolare indica un errore di comunicazione tra i microcircuiti DD1 e DD2 tramite l'interfaccia I2C.

Le righe 2-6 mostrano il percorso completo del file audio riprodotto. La riga 8 mostra il tempo di riproduzione corrente a sinistra e la durata del file audio a destra.

Il pulsante SB1 commuta le modalità di riproduzione e pausa, il pulsante SB3 aumenta il volume e il pulsante SB5 diminuisce il volume, il pulsante SB4 si attiva e il pulsante SB15 disattiva il blocco della tastiera. Quando la tastiera è bloccata, al centro della riga 7 del display viene visualizzato "Bloccato". Premendo il pulsante SB6 si porta alla riproduzione del file precedente, mentre premendo il pulsante SB8 si porta alla riproduzione di quello successivo. Premendo e tenendo premuti questi pulsanti per più di un secondo si mette il lettore in modalità avanzamento veloce, rispettivamente indietro o avanti. Premendo il pulsante SB9 o SB11 si caricano rispettivamente il primo e l'ultimo file della directory corrente per la riproduzione.

Il connettore XS3 è una presa disponibile nell'alloggiamento utilizzato per il collegamento di una cuffia per microtelefono. Sull'auricolare stesso è presente una presa per una spina audio standard con un diametro di 3,5 mm, alla quale sono collegate le cuffie. L'auricolare ha anche un pulsante che collega i circuiti BTN e GND quando viene premuto, e la resistenza tra i contatti del pulsante rilasciato è di circa un kiloohm. Nel lettore, la linea BTN è collegata al circuito da 3,3 V tramite il resistore R21, pertanto, misurando la tensione su questa linea, è possibile giudicare la presenza di un auricolare collegato e lo stato del suo pulsante. La funzione del pulsante dell'auricolare è simile alla funzione del pulsante del lettore SB1: puoi passare dalla modalità di riproduzione alla modalità di pausa e viceversa, nonché spegnerlo. Tuttavia, non è possibile accendere il lettore utilizzandolo. Quando la tastiera è bloccata, il pulsante dell'auricolare rimane attivo.

Il connettore XS2 prende il posto della lente della torcia LED nel telefono. Quando viene rilevato un livello logico alto all'ingresso PA1 del microcontrollore collegato al pin 9 di questo connettore, il programma inizia a visualizzare la corrente di carica della batteria in ampere nell'angolo in alto a destra del display. Inoltre, questo evento accende automaticamente il lettore se era spento. Per impostazione predefinita, il lettore funziona in modalità di riproduzione normale, che consente di ascoltare musica e allo stesso tempo caricare la batteria.

Quando si preme il pulsante SB13, il programma salva lo stato del lettore nel file player.ini e configura il modulo USB del microcontrollore per funzionare in modalità MSC (Mass Storage Class). In questa modalità il computer riconosce il lettore collegato al connettore USB come un dispositivo di archiviazione rimovibile, il cui contenuto coincide con quello registrato sulla scheda microSD inserita nel lettore. Lo scambio di informazioni con un computer avviene solo in modalità Full Speed ​​con una larghezza di banda non superiore a 12 Mbit/s. Il display mostra ancora il valore attuale della corrente di carica, nella riga 3 - la scritta "Disco USB", nelle righe 4 e 5 - rispettivamente la velocità di lettura e scrittura. Premendo il pulsante SB12, il dispositivo torna alla modalità lettore.

Un disegno del circuito stampato del lettore è mostrato in Fig. 2. Le sue dimensioni e la sua forma sono scelte per essere identiche al circuito del telefono cellulare NOKIA 1100, nel caso in cui viene posizionato (Fig. 3). La scheda deve essere realizzata utilizzando la tecnologia con fori metallizzati, altrimenti è necessario inserire e saldare pezzi di filo stagnato su entrambi i lati in tutti i fori passanti (con piazzole di contatto su entrambi i lati della scheda). La disposizione delle parti sulla scheda è mostrata in Fig. 4 in scala 2:1. Sono inoltre raffigurate maschere realizzate in vernice isolante resistente al calore, che devono essere utilizzate per proteggere i conduttori stampati. Se non vengono applicate le mascherine allora è necessario isolare almeno le zone in cui i conduttori si avvicinano ai contatti stampati dei pulsanti e la zona sotto il corpo metallico del portaschede microSD XS1.

Lettore audio MP3 e Opus
Riso. 2. Disegno del circuito stampato del lettore

Lettore audio MP3 e Opus
Riso. 3. Cellulare NOKIA 1100

Lettore audio MP3 e Opus
Riso. 4. Posizione delle parti sulla scheda

I codici del file walkgeek-v1.2-n1100-with-mp3.hex allegato all'articolo devono essere inseriti nella memoria del microcontrollore installato sulla scheda. Il codice sorgente del programma player e tutti i suoi componenti sono distribuiti sotto la nuova licenza BSD (e altre compatibili), che ne consente l'utilizzo in progetti commerciali chiusi. L'eccezione è la libreria Mp3dec, la cui inclusione nel prodotto finale richiede la divulgazione di tutti i codici sorgente. Il progetto è costantemente aggiornato e le sue versioni aggiornate sono pubblicate in [1].

Come già accennato, il lettore offre la possibilità di riprodurre file in formato Opus. Si tratta di un codec software [2] recentemente rilasciato in versione stabile per la compressione audio con perdita, sviluppato nell'ambito del progetto Xiph.org, noto per soluzioni come Vorbis, FLAC (Free Lossless Audio Codec) e Speex (codec vocale). Puoi anche chiamare Ogg, un contenitore multimediale universale utilizzato per impostazione predefinita per comprimere un flusso compresso in file Opus.

Poiché il codec Opus è abbastanza nuovo, non ci sono molte implementazioni su sistemi con poca RAM. Uno di questi è Rockbox. Nel processo di lavoro con il codec, si è scoperto che la libreria Ogg alloca dinamicamente la memoria per la memorizzazione nella cache dell'intera pagina (la dimensione massima teorica è 65 KB, reale - circa 26 KB), nonché per la memorizzazione nella cache dei granulepos di tutti i pacchetti di pagine ( circa 16 KB), che è per il dispositivo, avere 192 KB di RAM è molto. Inoltre, per impostazione predefinita, la libreria alloca una piccola area di memoria per il buffer della pagina, espandendola durante il funzionamento e allocando ogni volta memoria “con riserva”.

La stessa cosa accade con il buffer per l'allacciatura dei valori: informazioni sulla distribuzione dei pacchetti sulla pagina. Pertanto, se il pool di memoria dinamica è piccolo, ciò porta presto alla sua significativa frammentazione e all'impossibilità di allocare ulteriormente la memoria della dimensione richiesta.

A seguito delle modifiche apportate alle librerie, il caching viene effettuato a livello di pacchetto (la dimensione massima di un pacchetto di informazioni stereo trasmesso alla velocità di 512 Kbps è in pratica 1276 byte). La dimensione massima del buffer per i valori di allacciatura è di 256 celle a doppio byte e possono anche essere rese a byte singolo. Pertanto, tutte le strutture associate al contenitore Ogg, dopo la modifica, occupano meno di 2 KB di RAM.

Durante la modifica sono state fatte alcune ipotesi: i pacchetti non possono oltrepassare i limiti della pagina, i checksum della pagina non vengono controllati (nessuno di questi è stato trovato in nessuno dei file Opus). Il funzionamento con file contenenti più di uno stream e con un numero di canali diverso da due non è stato testato.

La quantità totale di memoria consumata dal codec Opus è di 65088 byte, di cui 3856 byte sono occupati dal buffer di output. I risultati della profilazione del codec a diverse velocità di flusso di informazioni sono mostrati nella tabella. 1.

Tabella 1

codec opus MP3
Velocità, Kbps 48 196 320 512 320
Complessità, MIPS 43 50 74 80 21

Il termine “complessità” qui si riferisce alle prestazioni del processore richieste per una decodifica riuscita. È stato valutato semplicemente conteggiando, tramite un timer hardware, la differenza tra gli istanti di ingresso nella procedura di decodifica di ciascun frame e di uscita da essa (con preemptive multitasking disabilitato e interrupt disabilitati). Il test ha dimostrato che il codec MP3 richiede meno sforzo di calcolo. Ma Opus è esente da royalty e la qualità del suono quando lo si utilizza è migliore rispetto all'utilizzo di MP3 con lo stesso bit rate.

Esiste una versione del programma player per la scheda di sviluppo STM32F4DISCOVERY.I codici che devono essere inseriti nella memoria del microcontrollore installato su di essa si trovano nel file walkgeek-v1. 1 -stm32f4discovery-with-mp3.hex (anch'esso allegato all'articolo). In questo caso i file audio vengono riprodotti da una chiavetta USB FLASH collegata al connettore CN5 della scheda tramite un adattatore. Il giocatore agisce come 

Maestro del bus USB. Il suo stato è visualizzato dai LED arancioni, rossi, blu e verdi sulla scheda. Il rosso indica l'assenza, il verde indica la presenza di un'unità FLASH collegata, l'arancione indica il caricamento di un file audio, la riproduzione interrotta o un errore di programma, il blu lampeggiante indica la modalità di riproduzione. La maggior parte dei pulsanti mostrati nello schema di Fig. 1, collegato alla scheda di debug secondo la tabella. 2 (il secondo contatto di ogni pulsante è collegato al filo comune). Il ruolo del pulsante SB8 è svolto dal pulsante "Utente" della scheda. Il display del telefono NOKIA 1100 è collegato alla scheda di debug secondo la tabella. 3.

Tabella 2

Pulsante linea contatto
SB1 REZ R2.16
SB3 PE5 R2.14
SB4 PE4 R2.13
SB5 PE6 R2.11
SB6 PE7 R1.25
SB7 PE8 R1.26
SB9 PE9 R1.27
SB10 RAGGIO R1.28
SB11 PE11 R1.29
SB12 RAGGIO R1.30
SB13 RAGGIO R1.31
SB14 RAGGIO R1.32
SB15 RAGGIO R1.33

Tabella 3

conclusione catena linea contatto
1 RES RA2 R1.14
2 CS RA1 R1.11
3 VSS GND R1.5
4 SDIN RA7 P1 17
5 SCLC RA5 P1 15
6 VDD1 in 3 R2.5
7 VDD2

Programmi per giocatori

Letteratura

  1. Lettore musicale Walkgeek ARM Cortex-M4. - URL: code.google.eom/p/walkgeek/.
  2. Codec audio interattivo Opus. - URL: opus-codec.org/.

Autore: O. Tsaregorodtsev

Vedi altri articoli sezione Audio.

Leggere e scrivere utile commenti su questo articolo.

<< Indietro

Ultime notizie di scienza e tecnologia, nuova elettronica:

Macchina per diradare i fiori nei giardini 02.05.2024

Nell'agricoltura moderna si sta sviluppando il progresso tecnologico volto ad aumentare l'efficienza dei processi di cura delle piante. Presentata in Italia l'innovativa macchina per il diradamento dei fiori Florix, progettata per ottimizzare la fase di raccolta. Questo attrezzo è dotato di bracci mobili, che permettono di adattarlo facilmente alle esigenze del giardino. L'operatore può regolare la velocità dei fili sottili controllandoli dalla cabina del trattore tramite joystick. Questo approccio aumenta significativamente l'efficienza del processo di diradamento dei fiori, offrendo la possibilità di adattamento individuale alle condizioni specifiche del giardino, nonché alla varietà e al tipo di frutto in esso coltivato. Dopo due anni di test della macchina Florix su diverse tipologie di frutta, i risultati sono stati molto incoraggianti. Agricoltori come Filiberto Montanari, che utilizza una macchina Florix da diversi anni, hanno riscontrato una significativa riduzione del tempo e della manodopera necessari per diluire i fiori. ... >>

Microscopio infrarosso avanzato 02.05.2024

I microscopi svolgono un ruolo importante nella ricerca scientifica, consentendo agli scienziati di approfondire strutture e processi invisibili all'occhio. Tuttavia, vari metodi di microscopia hanno i loro limiti e tra questi c'è la limitazione della risoluzione quando si utilizza la gamma degli infrarossi. Ma gli ultimi risultati dei ricercatori giapponesi dell'Università di Tokyo aprono nuove prospettive per lo studio del micromondo. Gli scienziati dell'Università di Tokyo hanno presentato un nuovo microscopio che rivoluzionerà le capacità della microscopia a infrarossi. Questo strumento avanzato consente di vedere le strutture interne dei batteri viventi con sorprendente chiarezza su scala nanometrica. In genere, i microscopi nel medio infrarosso sono limitati dalla bassa risoluzione, ma l’ultimo sviluppo dei ricercatori giapponesi supera queste limitazioni. Secondo gli scienziati, il microscopio sviluppato consente di creare immagini con una risoluzione fino a 120 nanometri, ovvero 30 volte superiore alla risoluzione dei microscopi tradizionali. ... >>

Trappola d'aria per insetti 01.05.2024

L’agricoltura è uno dei settori chiave dell’economia e il controllo dei parassiti è parte integrante di questo processo. Un team di scienziati dell’Indian Council of Agricultural Research-Central Potato Research Institute (ICAR-CPRI), Shimla, ha trovato una soluzione innovativa a questo problema: una trappola per insetti alimentata dal vento. Questo dispositivo risolve le carenze dei metodi tradizionali di controllo dei parassiti fornendo dati sulla popolazione di insetti in tempo reale. La trappola è alimentata interamente dall'energia eolica, il che la rende una soluzione ecologica che non richiede energia. Il suo design unico consente il monitoraggio sia degli insetti dannosi che utili, fornendo una panoramica completa della popolazione in qualsiasi area agricola. “Valutando i parassiti target al momento giusto, possiamo adottare le misure necessarie per controllare sia i parassiti che le malattie”, afferma Kapil ... >>

Notizie casuali dall'Archivio

Il cervello è in grado di ricordare parole straniere in un sogno 19.06.2023

Recenti studi condotti da scienziati dell'Università di Berna hanno confermato un'interessante caratteristica del cervello: la capacità di ricordare parole straniere durante il sonno. La leggenda secondo cui il sonno può promuovere un apprendimento più efficace ha ricevuto supporto scientifico, sebbene gli scienziati rimangano scettici su questa affermazione. Tuttavia, ci sono alcune prove che il cervello è in grado di elaborare e memorizzare le informazioni ricevute in determinate fasi del sonno.

I ricercatori si sono concentrati sul sonno a onde lente, in particolare sulla sua prima fase. A questo punto, il cervello attraversa brevi periodi di attività e recessione che durano circa 30 secondi. Un team di scienziati guidato da Flavio Schmidig ha sviluppato un algoritmo che prevede il momento esatto del prossimo picco e caduta delle onde cerebrali sulla base dei dati dell'elettroencefalografia. Questo algoritmo è stato utilizzato per condurre esperimenti su 30 volontari che dormivano in laboratorio ed erano di madrelingua tedesca.

Durante l'esperimento, ai volontari venivano suonate brevi parole di due sillabe. Una parola suonava in un loro orecchio in tedesco, e la "traduzione" di questa parola, che è una raccolta casuale di sillabe che non esistono nella realtà, suonava nell'altro orecchio. Questo approccio escludeva la possibile influenza della precedente conoscenza delle lingue straniere. La metà dei volontari ha ascoltato queste parole durante i picchi di attività cerebrale e l'altra metà durante i periodi di recessione. In totale, ogni parola è stata suonata quattro volte e la scelta delle parole ha riguardato tre categorie: animali, luoghi e strumenti.

Dopo 12 ore, l'efficacia di questa formazione è stata testata. Ai volontari è stata nuovamente riprodotta la parola "tradotta" e chiesto di assegnarla a una delle tre categorie. Come previsto, con una risposta casuale, la probabilità della scelta corretta era di circa il 33 per cento, e questo è esattamente il risultato del gruppo che ha ascoltato le parole durante i picchi di attività cerebrale. Il secondo gruppo, che ha ascoltato le parole durante i periodi di recessione, ha ottenuto un punteggio leggermente superiore al 37 percento, che non è quasi diverso dall'ipotesi casuale. Tuttavia, quando è stato ripetuto il test 24 ore dopo, questo gruppo ha ottenuto risultati migliori, raggiungendo il 41% di risposte corrette.

L'analisi statistica ha confermato che questi risultati non possono essere un semplice fenomeno casuale. I ricercatori hanno concluso che la memoria si verifica effettivamente quando le parole vengono richiamate durante brevi periodi di attività cerebrale durante il periodo iniziale di sonno profondo. Tuttavia, l'effetto di questa memorizzazione si è rivelato moderato e il suo significato nell'apprendimento rimane relativamente piccolo. Piuttosto, dimostra il fatto stesso che il cervello è in grado di percepire e immagazzinare nuove informazioni durante il sonno, ma è improbabile che questo possa essere un aiuto significativo nel processo educativo.

Altre notizie interessanti:

▪ Microcontrollore ARM flessibile a 32 bit

▪ Scarpe di navigazione elettronica per turisti

▪ Rilevatore di bugie senza contatto

▪ Nanoresonator aiuterà a riflettere 10000 volte più luce

▪ Inchiostro completamente invisibile

News feed di scienza e tecnologia, nuova elettronica

 

Materiali interessanti della Biblioteca Tecnica Libera:

▪ sezione del sito Elettricista. PUE. Selezione dell'articolo

▪ articolo Gestione anticrisi. Note di lettura

▪ articolo In che senso Giove, Saturno e Nettuno non rientrano pienamente nella definizione classica di pianeta? Risposta dettagliata

▪ articolo Valeriana farmacia. Leggende, coltivazione, metodi di applicazione

▪ articolo Blocco di accensione elettronica. Enciclopedia dell'elettronica radio e dell'ingegneria elettrica

▪ articolo Regolatore di velocità per trapano elettrico. Enciclopedia dell'elettronica radio e dell'ingegneria elettrica

Lascia il tuo commento su questo articolo:

Nome:


E-mail (opzionale):


commento:





Tutte le lingue di questa pagina

Homepage | Biblioteca | Articoli | Mappa del sito | Recensioni del sito

www.diagram.com.ua

www.diagram.com.ua
2000-2024