info@panadisplay.com
FT800 Audio Primer-Audio motor

FT800 Audio Primer-Audio motor

Nov 02, 2018

2 Audio Engine


FT800 može da reprodukuje različite audio efekte i datoteke. Izlaz je obezbeđen kao PWM

signal na jednom pinu, AUDIO_L. Postoje dva audio izvora, Sound Synthesizer i

Reprodukcija zvuka.


-2.1 Sound Synthesizer

Zvučni efekti su unapred učitani u biblioteci volumena ROM-a i ne zahtevaju upotrebu bilo kojeg modela FT800

RAM prostora. Većina zvučnih povratnih informacija korisnika može se pružiti kroz ove efekte, kao što je klik

kada se pritisne dugme na ekranu, DTMF tonovi za telekom ili upozorenje alarmne ploče. Većina

efekti će se jednom igrati i zaustaviti. Drugi će igrati kontinuirano. Potpuna lista tonova i

karakteristike su prikazane ispod:

Vrednost Efekat Kontinuirano Parcela
prilagodite
Vrednost Efekat Kontinuirano Parcela
prilagodite
00h Tišina Y N 32h DTMF 2 Y N
01h kvadratni talas Y Y 33h DTMF 3 Y N
02h sinusni talas Y Y 34h DTMF 4 Y N
03h sawtooth wave Y Y 35h DTMF 5 Y N
04h trougao talas 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 Warble Y Y 39h DTMF 9 Y N
08h Carousel Y Y 40h harfa N Y
10h 1 kratak pip N Y 41h ksilofon N Y
11h 2 kratka pipa N Y 42h tuba N Y
12h 3 kratke pipi N Y 43h glockenspiel N Y
13h 4 kratke pips N Y 44h organ N Y
14h 5 kratkih pipa N Y 45h truba N Y
15h 6 kratkih pipa N Y 46h klavir N Y
16h 7 kratkih pipa N Y 47h chimes N Y
17h 8 kratkih pipa N Y 48h muzicka kutija N Y
18h 9 kratkih pipa N Y 49h zvono N Y
19h 10 kratkih pipa N Y 50h kliknite N N
1Ah 11 kratkih pipa N Y 51h prekidač N N
1Bh 12 kratkih pipa N Y 52h cowbell N N
1Ch 13 kratkih pipova N Y 53h izrez N N
1Dh 14 kratkih pipa N Y 54h hihat N N
1Eh 15 kratkih pipa N Y 55h kickdrum N N
1Fh 16 kratkih pipa N Y 56h pop N N
23h DTMF # Y N 57h klak N N
2Ch DTMF * Y N 58h chack N N
30h DTMF 0 Y N 60h mute N N
31h DTMF 1 Y N 61h unmute N N


Mnogi od efekata omogućavaju kontrolu nagiba (MIDI napomena), tako da se mogu generirati različiti tonovi. Koriste se standardne MIDI napomene:

MIDI napomena ANSI napomena Frekvencija (Hz) MIDI napomena ANSI napomena Frekvencija (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 # 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 # 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 # 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


Sintezu zvuka kontrolišu sledeći registri:

 REG_SOUND

o Bitovi 31-16 = Ne zanima me

o Bitovi 15-8 = MIDI napomena (pitch)

o Bitovi 7-0 Efekat

 REG_PLAY

o Bitovi 31-1 = Ne zanima me

o Bit0 = Pokreni Play / Play Status

 Napišite = 1 da započnete reprodukciju selekcije u REG_SOUND

 Read = 1 označava da se efekat trenutno reprodukuje

 Read = 0 označava da je efekat završen

 REG_VOL_SOUND

o Bitovi 31-8 = ne zanimaju

o Bitovi 7-0 = zapremina izlaza

Čita i piše na FT800 memorijski prostor se obrađuje kroz "mali endian" format, gdje je

prvi bajt će biti najmanje značajan. Na primer, smatrajte klavirski efekat (0x46) koji igra A4

(0x45). Podaci na SPI ili I2C interfejsu bi se sastojali od sekvence memorije host memorije

sledeće podatke, po narudžbini:

0x90 = Host Memorija Napiši transfer (0x80) plus prvi bajt adrese registra (0x10)

0x24 = drugi bajt adrese registra

0x84 = treći bajt adrese registra

0x46 = efekt klavira

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

0x00 = ne zanima me, opciono

0x00 = ne zanima me, opciono

Imajte na umu da poslednja dva bajta ne moraju biti napisana, tako da 16-bitni Host Memory Write zapravo može

zadovoljavaju vrijednosti potrebne u registru. Dalje objašnjenje Host Memory Write, Host

Memorija čitanja i host memorije Komandni prenos podataka se nalazi u AN_240 FT800

Pripremite se.


-2.2 Audio datoteke

Možda postoje aplikacije u kojima je neophodno nešto više od jednostavne sinteze tonova. Za

primjer glasovnog poziva ili drugog oglasa možda je neophodan da bi se korisniku mogao specificirati

instrukcije. FT800 podržava reprodukciju datoteka u sljedećim mono-kanalnim formama:

 8-bitni potpisani PCM - nekomprimovani sirovi zvuk

 8-bitni μLAW - nelinearni komprimovani zvuk

 4-bita IMA-ADPCM - dodatni kompresovani μLAW gdje svaki bajt sadrži dva 4-bitna

uzorci

FT800 poseduje 256KB RAM-a (RAM_G) za držanje video objekata (slika i fontova) i

audio objekti (snimljeni zvuci). Prostor mora upravljati MCU domaćin tako da

informacije se ne prepisuju sve dok ih više nije potrebno.

Audio datoteke se učitavaju kroz transakciju Host Memory Write na raspoloživi prostor i su

potrebno je poravnati 8 bajta (64-bitni).

Kada se audio datoteka učita u RAM_G memoriju, reprodukcija se kontroliše slijedećim

registri:

 REG_PLAYBACK_START

o Bitovi 31-20 = ne zanimaju

o Bitovi 19-0 = 20-bitna početna adresa datoteke unutar RAM_G

 REG_PLAYBACK_LENGTH

o Bitovi 31-20 = ne zanimaju

o Bitove 19-0 = 20-bitna dužina datoteke unutar RAM_G

 REG_PLAYBACK_FREQ

o Bitovi 31-16 = ne zanimaju

o Bitovi 15-0 = 16-bitna Frekvencija frekvencije za uzorkovanje reprodukcije, u Hz

 REG_PLAYBACK_FORMAT

o Bitovi 31-2 = ne zanimaju

o Bitovi 1-0 = 2-bitni format reprodukcije

 0 = Linearni ili nekomprimirani PCM

 1 = μLaw

 2 = ADPCM

 3 = nedefinisan

 REG_PLAYBACK_LOOP

o Bitovi 31-1 = ne zanimaju

o Bit 0 = 1-bitni stil reprodukcije

 0 = igra jednom

 1 = reprodukcija kontinuirano

 REG_PLAYBACK_PLAY

o Bitovi 31-1 = ne zanimaju

o Bit 0 = Pokreni Play / Play Status

 Napišite = 0 ili 1 da biste započeli reprodukciju selekcije u REG_SOUND

 Read = 1 označava da se datoteka trenutno reprodukuje

 Read = 0 označava da je datoteka završena

 REG_PLAYBACK_READPTR

o Bitovi 31-20 = ne zanimaju

o Bitovi 19-0 = 20-bitni pokazivač trenutne lokacije reprodukcije

 REG_VOL_PB

o Bitovi 31-8 = ne zanimaju

o Bitovi 7-0 = zapremina izlaza


-2.2.1 Utility za konverziju

FTDI obezbeđuju uslužni program za konverziju audio datoteka pod nazivom "AUD_CVT" kako bi uzeli zajednički format datoteke i

kreirajte tri vrste datoteka koje podržava FT800. Veza sa ovim korisnikom je navedena u

Odeljak "Dodatak A - Reference" ovog dokumenta.

Za izvornu datoteku pretpostavlja se da je sirova (nekomprimirana) 16bit PCM, mono WAV datoteka. Takva datoteka može

biti kreirani pomoću najčešće dostupnog programa za uređivanje zvuka, kao što je Audacity. Jednom

izvorna datoteka je dostupna, jednostavno pokrenite uslužni program u komandnoj liniji:

aud_cvt -i inputfilename -f

gdje je "format" = 0 za 8-bitni potpisani PCM

= 1 za 8-bitni μLaw

= 2 za 4-bitni IMA ADPCM

Biće kreiran folder sa rezultirajućim datotekama. Ove datoteke se zatim mogu koristiti za učitavanje

RAM_G memorijska oblast FT800.

Utility za konverziju audio će izaći neobrađenu i komprimovanu datoteku za svaki odabrani format. To

može biti korisno na host MCU-u za čuvanje komprimiranih datoteka, a zatim ih proširiti u

RAM_G bafer kada je potrebno. Pogledajte odeljak 4 za detalje.