info@panadisplay.com
FT800 Audio Primer-Audio Engine

FT800 Audio Primer-Audio Engine

Nov 02, 2018

Motor d'àudio 2


Diversos efectes i fitxers d'àudio poden ser reproduïts per la FT800. La sortida es proporciona com a PWM

senyal en un sol pin, AUDIO_L. Hi ha dues fonts d'àudio, el sintetitzador de so i el

Reproducció d'àudio.


-2.1 Sintetitzador de so

Els efectes de so estan carregats prèviament en una biblioteca d'ones de ROM i no requereixen l'ús de cap FT800

Espai RAM. La majoria dels comentaris auditius de l'usuari es poden proporcionar a través d'aquests efectes, com ara un clic

quan es prem un botó a la pantalla, es mostren els tons DTMF per a la telecomunicació o un avís d'alarma. La majoria

els efectes es jugaran una vegada i després s'aturaran. Uns altres jugaran contínuament. La llista completa de tons i

Les funcions es mostren a continuació:

Valor Efecte Contínua Brea
ajustar
Valor Efecte Contínua Brea
ajustar
00h Silenci Jo N 32h DTMF 2 Jo N
01h ona quadrada Jo Jo 33h DTMF 3 Jo N
02h ona sinusoïdal Jo Jo 34h DTMF 4 Jo N
03h ona de la dentadura Jo Jo 35h DTMF 5 Jo N
04h ona del triangle Jo Jo 36h DTMF 6 Jo N
05h Boig Jo Jo 37 h DTMF 7 Jo N
06h Alarma Jo Jo 38h DTMF 8 Jo N
07h Warble Jo Jo 39h DTMF 9 Jo N
08h Carrusel Jo Jo 40h arpa N Jo
10h 1 pipa curta N Jo 41h xilòfon N Jo
11h 2 pips curts N Jo 42h tuba N Jo
12h 3 pips curts N Jo 43h Glockenspiel N Jo
13h 4 pips curts N Jo 44 h òrgan N Jo
14h 5 pips curts N Jo 45h trompeta N Jo
15h 6 pips curts N Jo 46h piano N Jo
16h 7 pips curts N Jo 47h campanes N Jo
17h 8 pips curts N Jo 48h Caixa de música N Jo
18h 9 pips curts N Jo 49h timbre N Jo
19h 10 pips curts N Jo 50h feu clic a N N
1Ah 11 pips curts N Jo 51h interruptor N N
1Bh 12 pips curts N Jo 52h covell N N
1Ch 13 pips curts N Jo 53h entallada N N
1Dh 14 pips curts N Jo 54h hihat N N
1Eh 15 pips curts N Jo 55h kickdrum N N
1Fh 16 pips curts N Jo 56h pop N N
23h DTMF # Jo N 57 h clack N N
2Ch DTMF * Jo N 58 h xerra N N
30h DTMF 0 Jo N 60h mut N N
31h DTMF 1 Jo N 61h silenciar N N


Molts dels efectes permeten el control de tonalitats (nota MIDI), de manera que es poden generar diversos tons. S'utilitzen assignacions estàndard de notes MIDI:

Nota MIDI Nota ANSI Freq (Hz) Nota MIDI Nota ANSI Freq (Hz)
21 A0 27.5 65 F4 349.2
22 A # 0 29.1 66 F # 4 370.0
23 B0 30.9 67 G4 392.0
24 C1 32.7 68 G # 4 415.3
25 C # 1 34.6 69 A4 440.0
26 D1 36.7 70 A # 4 466.2
27 D # 1 38.9 71 B4 493.9
28 E1 41.2 72 C5 523.3
29 F1 43.7 73 C # 5 554.4
30 F # 1 46.2 74 D5 587.3
31 G1 49.0 75 D # 5 622.3
32 G # 1 51.9 76 E5 659.3
33 A1 55.0 77 F5 698,5
34 A # 1 58.3 78 F # 5 740.0
35 B1 61.7 79 G5 784.0
36 C2 65.4 80 G # 5 830.6
37 C # 2 69.3 81 A5 880.0
38 D2 73.4 82 A # 5 932.3
39 D # 2 77.8 83 B5 987.8
40 E2 82.4 84 C6 1046.5
41 F2 87.3 85 C # 6 1108.7
42 F # 2 92.5 86 D6 1174.7
43 G2 98.0 87 D # 6 1244.5
44 G # 2 103.8 88 E6 1318.5
45 A2 110.0 89 F6 1396.9
46 A # 2 116.5 90 F # 6 1480.0
47 B2 123.5 91 G6 1568.0
48 C3 130.8 92 G # 6 1661.2
49 C # 3 138.6 93 A6 1760.0
50 D3 146.8 94 A # 6 1864.7
51 D # 3 155.6 95 B6 1975.5
52 E3 164.8 96 C7 2093.0
53 F3 174.6 97 C # 7 2217.5
54 F # 3 185.0 98 D7 2349.3
55 G3 196.0 99 D # 7 2489.0
56 G # 3 207.7 100 E7 2637.0
57 A3 220.0 101 F7 2793.8
58 A # 3 233.1 102 F # 7 2960.0
59 B3 246.9 103 G7 3136.0
60 C4 261.6 104 G # 7 3322.4
61 C # 4 277.2 105 A7 3520.0
62 D4 293.7 106 A # 7 3729.3
63 D # 4 311.1 107 B7 3951.1
64 E4 329.6 108 C8 4186.0


La síntesi sonora està controlada pels registres següents:

 REG_SOUND

o Bits 31-16 = No m'importa

o Bits 15-8 = Nota MIDI (tonalitat)

o efecte Bits 7-0

 REG_PLAY

o Bits 31-1 = No m'importa

o Bit0 = Inicia l'estat de reproducció / reproducció

 Escriure = 1 per començar a reproduir la selecció en REG_SOUND

 Llegir = 1 indica l'efecte que s'està reproduint actualment

 Llegir = 0 indica l'efecte que s'ha completat

 REG_VOL_SOUND

o Bits 31-8 = no els importa

o Bits 7-0 = volum de sortida

Les lectures i escriptures a l'espai de memòria FT800 es gestionen a través del format "little endian", on

el primer byte serà el menys significatiu. Per exemple, considereu un efecte piano (0x46) que toca A4

(0x45). Les dades de la interfície SPI o I2C consistirien en una seqüència d'escriptura de memòria de l'ordinador amb

les següents dades, per ordre:

0x90 = Memòria de l'ordinador Transferència d'escriptura (0x80) més el primer byte d'adreça de registre (0x10)

0x24 = segon byte d'adreça de registre

0x84 = tercer byte de l'adreça del registre

0x46 = efecte piano

0x45 = nota / pitch = A4 (440 Hz)

0x00 = no m'importa, opcional

0x00 = no m'importa, opcional

Tingueu en compte que els dos últims bytes no han d'estar escrits, de manera que una escriptura de memòria de l'ordinador de 16 bits pot realment

satisfan els valors necessaris en el registre. Explicació addicional de la memòria de l'amfitrió Escriure, amfitrió

Memòria de lectura de memòria i Memòria de l 'ordinador Les transferències de dades d' ordres es troben a AN_240 FT800 Des del

Ground Up.


-2.2 Arxius d'àudio

Hi pot haver aplicacions on sigui necessària alguna cosa més que una simple síntesi de to. Per

Per exemple, un missatge de veu o un altre anunci pot ser necessari per donar a l'usuari específic

instruccions. El FT800 és compatible amb la reproducció d'arxius en els següents formats de mono:

 PCM signat a 8 bits: àudio sense comprimir sense processar

 8 bits μLAW: àudio comprimit no lineal

 IMA-ADPCM de 4 bits: més μLAW comprimit, on cada byte conté dos de 4 bits

mostres

El FT800 té 256 KB de memòria d'objectes (RAM_G) per contenir objectes de vídeo (imatges i fonts) i

objectes d'àudio (sons gravats). L'espai ha de ser gestionat per l'MCU amfitrió perquè

la informació no es sobreescriu fins que no es requereixi més.

Els fitxers d'àudio es carreguen a través de la transacció d'escriptura de memòria de l'ordinador a l'espai disponible i són

necessària per ser alineat de 8 bytes (64 bits).

Una vegada que un fitxer d'àudio es carrega a la memòria RAM_G, la reproducció es controla de la següent manera

registra:

 REG_PLAYBACK_START

o Bits 31-20 = no els importa

o Bits 19-0 = adreça de sortida de 20 bits del fitxer dins de RAM_G

 REG_PLAYBACK_LENGTH

o Bits 31-20 = no els importa

o Bits 19-0 = longitud de 20 bits del fitxer dins de RAM_G

 REG_PLAYBACK_FREQ

o Bits 31-16 = no els importa

o Bits 15-0 = freqüència de mostreig de la freqüència de reproducció de 16 bits, en Hz

 REG_PLAYBACK_FORMAT

o Bits 31-2 = no els importa

o Bits 1-0 = format de reproducció de 2 bits

 0 = PCM lineal o no comprimit

 1 = μLaw

 2 = ADPCM

 3 = no definit

 REG_PLAYBACK_LOOP

o Bits 31-1 = no els importa

o Bit 0 = estil de reproducció de 1 bits

 0 = jugar una vegada

 1 = jugar continu

 REG_PLAYBACK_PLAY

o Bits 31-1 = no els importa

o Bit 0 = Inicia la reproducció / estat del joc

 Escriure = 0 o 1 per començar a reproduir la selecció en REG_SOUND

 Llegir = 1 indica que el fitxer s'està reproduint actualment

 Llegir = 0 indica que el fitxer s'ha completat

 REG_PLAYBACK_READPTR

o Bits 31-20 = no els importa

o Bits 19-0 = punter de 20 bits de la posició de reproducció actual

 REG_VOL_PB

o Bits 31-8 = no els importa

o Bits 7-0 = volum de sortida


-2.2.1 Utilitat de conversió

FTDI proporciona una utilitat de conversió d'àudio anomenada "AUD_CVT" per tenir un format de fitxer comú i

Creeu els tres tipus de fitxers compatibles amb el FT800. Un enllaç a aquesta utilitat es proporciona a la

A la secció "Apèndix A - Referències" d'aquest document.

S'assumeix que el fitxer d'origen és un PCM de 16 bits (sense comprimir), mono d'arxiu WAV. Aquest fitxer pot

es crearà a través d'un programa d'edició d'àudio comú, com ara Audacity. Una vegada que el

l'arxiu font està disponible, simplement executeu l'utilitat en un símbol del sistema:

aud_cvt -i inputfilename -f format

on "format" = 0 per PCM signat a 8 bits

= 1 per μLaw de 8 bits

= 2 per IMA ADPCM de 4 bits

Es crearà una carpeta amb els fitxers resultants. Aquests fitxers es poden usar per carregar al

Àrea de memòria RAM_G del FT800.

La utilitat de conversió d'àudio produirà un arxiu en brut i un fitxer comprimit per a cada format seleccionat. Ho

pot ser útil en l 'MCU host per emmagatzemar els fitxers comprimits i, a continuació, expandir - los a la

RAM_G buffer quan sigui necessari. Consulteu la secció 4 per obtenir més informació.