Dom > Novice > Vsebine

FT800 Audio Primer-Audio Engine

Nov 02, 2018

2 zvočni motor


FT800 lahko predvaja različne avdio učinke in datoteke. Izhod je na voljo kot PWM

signal na en pin, AUDIO_L. Obstajata dva zvočna vira, Sound Synthesizer in

Predvajanje zvoka.


-2.1 Zvočni sintezator

Zvočni učinki so vnaprej naloženi v knjižnico vmesnikov ROM in ne zahtevajo uporabe nobenega od FT800

RAM prostora. Večina zvočnih povratnih informacij uporabnikov je mogoče zagotoviti s temi učinki, kot je klik

ko pritisnete gumb na zaslonu, ton DTMF za teleko ali opozorilo alarmne plošče. Večina

učinki se bodo predvajali enkrat in nato ustavili. Drugi bodo igrali neprekinjeno. Celoten seznam tonov in

funkcije so prikazane spodaj:

Vrednost Učinek Stalno Višina tona
prilagodite
Vrednost Učinek Stalno Višina tona
prilagodite
00h Tišina Y N 32h DTMF 2 Y N
01h kvadratni val Y Y 33h DTMF 3 Y N
02h sinusni val Y Y 34h DTMF 4 Y N
03h valovito val Y Y 35h DTMF 5 Y N
04h trikotni val Y Y 36h DTMF 6 Y N
05h Beeping Y Y 37h DTMF 7 Y N
06h Alarm Y Y 38h DTMF 8 Y N
07h Gremo Y Y 39h DTMF 9 Y N
08h Carousel Y Y 40h harfa N Y
10h 1 kratka črta N Y 41h ksilofon N Y
11h 2 kratki pipi N Y 42h Tuba N Y
12h 3 kratke pipi N Y 43h glockenspiel N Y
13h 4 kratke pipi N Y 44h organ N Y
14h 5 kratkih pik N Y 45h trobenta N Y
15h 6 kratkih pik N Y 46h klavir N Y
16h 7 kratkih pik N Y 47h zvončki N Y
17h 8 kratkih pik N Y 48h Glasbena skrinjica N Y
18h 9 kratkih pik N Y 49h zvonec N Y
19h 10 kratkih pik N Y 50h kliknite N N
1Ah 11 kratkih pik N Y 51h stikalo N N
1Bh 12 kratkih pik N Y 52h cowbell N N
1Ch 13 kratkih pik N Y 53h zarezo N N
1Dh 14 kratkih pik N Y 54h Hihat N N
1Eh 15 kratkih pik N Y 55h kickdrum N N
1Fh 16 kratkih pik N Y 56h pop N N
23h DTMF # Y N 57h klak N N
2Ch DTMF * Y N 58h Chuck N N
30h DTMF 0 Y N 60h nem N N
31h DTMF 1 Y N 61h vklopite N N


Številni učinki omogočajo kontrolo nagiba (MIDI note), tako da se lahko generirajo različni toni. Uporabljajo se standardne MIDI opombe:

Opomba MIDI Opomba ANSI Freq (Hz) Opomba MIDI Opomba 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 # 7 3729.3
63 D # 4 311.1 107 B7 3951.1
64 E4 329.6 108 C8 4186.0


Sintezo zvoka nadzirajo naslednji registri:

 REG_SOUND

o Biti 31-16 = Ne skrbi

o Biti 15-8 = opomba MIDI (pitch)

o Biti 7-0 Učinek

 REG_PLAY

o Biti 31-1 = Ne skrbi

o Bit0 = Start Play / Play Status

 Zapišite = 1, da začnete igrati izbor v REG_SOUND

 Read = 1 označuje, da se trenutno predvaja učinek

 Read = 0 označuje, da je učinek končan

 REG_VOL_SOUND

o Biti 31-8 = ne skrbi

o Biti 7-0 = izhodna glasnost

Berejo in zapisujejo v prostor pomnilnika FT800 se obdelujejo skozi "majhno endian" format, kjer

prvi bajt bo najmanj pomemben. Na primer, upoštevajte klavirski učinek (0x46), ki igra A4

(0x45). Podatki o vmesniku SPI ali I2C bi bili sestavljeni iz zaporedja gostiteljske memorije z

naslednje podatke, po naročilu:

0x90 = gostiteljski pomnilnik Napišite prenos (0x80) plus prvi bajt naslova registra (0x10)

0x24 = drugi bajt naslova registra

0x84 = tretji bajt naslova registra

0x46 = učinek klavirja

0x45 = opomba / korak = A4 (440Hz)

0x00 = ne skrbite, neobvezno

0x00 = ne skrbite, neobvezno

Upoštevajte, da zadnjih dveh bajtov ni treba pisati, tako da lahko dejansko 16-bitni Host Memory Write

izpolnjujejo vrednosti, potrebne v registru. Nadaljnja razlaga Host Memory Write, Host

Pomnilnik za branje in gostovanje Pomnilnik za prenos podatkov je na voljo v AN_240 FT800

Na tleh.


-2.2 Zvočne datoteke

Obstajajo lahko aplikacije, kjer je potrebna več kot preprosta sinteza tonov. Za

npr. glasovni poziv ali druga napoved morda bo potreben, da bo uporabnik določen

navodila. FT800 podpira predvajanje datotek v naslednjih enokanalskih (mono) oblikah:

 8-bitni podpisani PCM - nestisnjeni surov zvok

 8-bitni μLAW - nelinearni stisnjen zvok

 4-bitni IMA-ADPCM - nadalje stisnjen μLAW, kjer vsak bajt vsebuje dva 4-bitna

vzorce

FT800 ima 256 KB bajtov predmeta (RAM_G) za shranjevanje video objektov (slik in pisav) in

avdio predmeti (posneti zvoki). Prostor mora upravljati gostiteljski MCU, tako da

informacije niso prepisane, dokler se ne zahtevajo več.

Avdio datoteke se naložijo prek transakcije Host Memory Write na razpoložljivi prostor in so

potreben za poravnavo 8-bajtnih (64-bitnih).

Ko je zvočna datoteka naložena v RAM_G pomnilnik, se predvajanje nadzoruje z naslednjim

registri:

 REG_PLAYBACK_START

o Bits 31-20 = ne skrbite

o Biti 19-0 = 20-bitni izhodni naslov datoteke znotraj RAM_G

 REG_PLAYBACK_LENGTH

o Bits 31-20 = ne skrbite

o Biti 19-0 = 20-bitna dolžina datoteke v RAM_G

 REG_PLAYBACK_FREQ

o Biti 31-16 = ne skrbi

o Biti 15-0 = 16-bitna Frekvenca vzorčenja frekvenc vzorčenja, v Hz

 REG_PLAYBACK_FORMAT

o Bits 31-2 = ne skrbi

o Biti 1-0 = 2-bitni format predvajanja

 0 = linearni ali nestisnjeni PCM

 1 = μLaw

 2 = ADPCM

 3 = nedoločeno

 REG_PLAYBACK_LOOP

o Biti 31-1 = ne skrbi

o Bit 0 = 1-bitni slog predvajanja

 0 = igra enkrat

 1 = igra neprekinjeno

 REG_PLAYBACK_PLAY

o Biti 31-1 = ne skrbi

o Bit 0 = začetek predvajanja / predvajanja

 Zapišite = 0 ali 1, da začnete igrati izbor v REG_SOUND

 Read = 1 označuje, da se datoteka trenutno predvaja

 Read = 0 označuje, da je datoteka končana

 REG_PLAYBACK_READPTR

o Bits 31-20 = ne skrbite

o Biti 19-0 = 20-bitni kazalec trenutne lokacije predvajanja

 REG_VOL_PB

o Biti 31-8 = ne skrbi

o Biti 7-0 = izhodna glasnost


-2.2.1 Utility za pretvorbo

FTDI omogoči orodje za pretvorbo zvočnih datotek, imenovano »AUD_CVT«, da sprejme skupni format datoteke in

ustvarite tri vrste datotek, ki jih podpira FT800. Povezava do tega pripomočka je na voljo v

Razdelek »Dodatek A - Reference« tega dokumenta.

Za izvorno datoteko se šteje, da je surova (nestisnjena) 16-bitna PCM, mono WAV datoteka. Takšna datoteka lahko

biti ustvarjeni s splošno dostopnim programom za urejanje zvoka, kot je Audacity. Ko enkrat

izvorna datoteka je na voljo, preprosto zaženite pripomoček v ukaznem pozivu:

aud_cvt -i inputfilename -f obliki

kjer je "format" = 0 za 8-bitno podpisano PCM

= 1 za 8-bitni μLaw

= 2 za 4-bitni IMA ADPCM

Ustvarila se bo mapa z nastalimi datotekami. Te datoteke lahko nato uporabite za nalaganje v

RAM_G pomnilnik območja FT800.

Utility za pretvorbo zvoka bo izdal surovo in stisnjeno datoteko za vsak izbrani format. To

je lahko v MCU gostitelju koristno shraniti stisnjene datoteke in jih nato razširiti v

RAM_G buffer, ko je to potrebno. Glej razdelek 4 za podrobnosti.