AN005 - Comandi seriali per 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:

fig0

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:

fig1

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

fig22

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:

fig3

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

fig4

 

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:

fig5

Alla ricezione del comando di Play il modulo audio porterà a livello basso la linea /BUSY (come avvien 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:

fig6

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

fig7

 

 
RSS
 
icon rssCon il feed RSS ricevi aggiornamenti in tempo reale su tutte le novità del sito.

Iscriviti subito al feed RSS!

Social

icon fb circle icon tw circle icon g circle icon rss circle

Prodotti nello Shop
Cuffia con microfono
Cuffia con microfono
Breadboard 142x56mm
Breadboard 142x56mm
Cristallo 16MHz
Cristallo 16MHz
LM386N-1 - Speaker Amp.0.7W (5pz)
LM386N-1 - Speaker Amp.0.7W (5pz)
Scheda fotosensibile 10x16cm doppio layer
Scheda fotosensibile 10x16cm doppio layer
Display LCD 16x2 Verde
Display LCD 16x2 Verde
Home