ultimo aggiornamento 17 settembre 2010


 

Memorizzare e riprodurre file wave con LPM11162
 

FORMATO DEI COMANDI

Il modulo audio LPM11162 è dotato di un file system interno che permette la memorizzazione di messaggi vocali sotto forma di file wave standard (gli stessi abitualmente utilizzati sul PC).
La comunicazione con il modulo avviene tramite una porta seriale (UART) dalla quale il modulo riceve comandi.
Tutti i comandi hanno lo stesso tipo di formato riportato di seguito:

Cmd (1 byte):
0x01 – File Open
0x02 – File Write
0x03 – File Close
0x04 – File Format
0x10 – Play
0x11 – Stop
0x12 – Volume

Len (2 byte):
numero di byte che seguono nel campo Data. Il primo byte è il più significativo.

Data (N byte):
sequenza di generici N byte di dati. Possono essere presenti o no a seconda del comando.

homotix

PCBA

OurPCB

IL FILE SYSTEM

Il file system prevede soli 4 semplici comandi:

MEMORIZZARE UN FILE WAVE

Supponiamo per semplicità di voler memorizzare sul modulo audio un file wave di nome "msg1.wav" composto da soli 10 byte:

Il primo comando da inviare al modulo è il comando File Open nel quale trasmettiamo il nome del file:

Decidiamo per esempio di trasferire il file in blocchi di dimensione massima di 4 byte, pertanto si dovranno inviare 3 comandi Write File, due con 4 byte ed uno con i rimanenti 2 byte:

A questo punto il contenuto del file è stato trasferito, è necessario inviare il comando di File Close per terminare l'operazione di scrittura:

RIPRODURRE UN FILE WAVE

Dopo aver memorizzato il file "msg1.wav" è possibile riprodurlo semplicemente inviando il comando di Play che indica il nome del file che vogliamo riprodurre:

Alla ricezione del comando di Play il modulo audio porterà a livello basso la linea /BUSY (come avviene per ogni altro comando) e rimarrà a questo livello per tutta la durata della riproduzione del file.
Il livello basso della linea di /BUSY indica che il modulo è occupato e pertanto non può ricevere nuovi comandi.
In fase di riproduzione fanno eccezione i comandi di Stop e Volume, che possono comunque essere inviati per interrompere istantaneamente la riproduzione e per regolare il livello del volume.

Utilizzare il comando di Stop per interrompere la riproduzione:

Utilizzare il comando di Volume per regolare il livello del volume, per esempio al 20% (0x14) come di seguito:

Programma per demoboard con CB220


Programma demo


Listato del programma

Elenco revisioni
17/09/2010 Aggiornato pagina
01/04/2010 Emissione preliminare
Private Policy Cookie Policy Termini e Condizioni