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.
IL FILE SYSTEM
Il file system prevede soli 4 semplici comandi:
File Open: questo comando informa il modulo che inizieremo la scrittura di un nuovo file nella flash interna. Nel campo dati del comando il microcontrollore/PC trasmette i caratteri relativi al nome del file, per esempio "msg1.wav".
File Write: con questo comando si trasmette al modulo il file wave byte per byte. Il massimo numero di byte che possono essere trasmessi con un singolo comando di File Write è 256, quindi il comando di write dovrà essere inviato il numero di volte necessario a trasmettere tutti i byte che compongono il file wave.
File Close: con questo comando il microcontrollore/PC informa il modulo che la trasmissione del file wave è terminata e da questo momento in poi il messaggio sarà pronto per essere riprodotto a piacimento.
File Format: utilizzare questo comando per cancellare tutti i file presenti nella flash del modulo.
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 |
Elenco revisioni | |
17/09/2010 | Aggiornato pagina |
01/04/2010 | Emissione preliminare |