EM2019WSP04/Feindesign

Aus Verteilte Systeme - Wiki
Zur Navigation springen Zur Suche springen

Portmap

Das ULX3S Board verfügt über je zwei GPIO-Portleitsten Links und Rechts auf dem Board. Jede Leiste hat je 28 GPIO-Ports, also insgesamt 56 GPIO Ports auf dem gesamten Board. GP Bezeichnet davon jeweils die linke und GN die recht Leiste. Die GPIO Reihen sind jeweils von oben nach unten durchnummeriert.

I/O Port Bemerkung
Buttons [7:0] gn[12:9], gp[12:9]
Rotary Encoder 1 [2:0] gp[6:4] gp[4] = CLK; gp[5]=DW, gp[6]=SW
Rotary Encoder 2 [2:0] gn[6:4] gn[4] = CLK; gn[5]=DW, gn[6]=SW
Switches [3:0] gp[20:17]
I2S-DAC [2:0] gp[23:21] gp[21]=LCK, gp[22]=DIN, gp[23]=BCK


Eingabemöglichkeit

Die Ports an denen die Buttons, Schalter und Rotary Encoder hängen, sind über die internen Pullupwiederstände des FPGAs auf ein definiertes HIGH gezogen. Alle Eingabegeräte sind an Masse angeschlossen, sodass beim betätigen der Schalter, Buttons oder Rotary Encoders die entsprechenden Ports auf LOW gezogen werden.

Grundton

Die Erzeugung der Sinusfrequenz Basiert im Grunde auf der den Folgenden zwei Gleichungen, die immer wieder berechnet werden.

  • sin(t) = sin(t-1) + C*cos(t-1)
  • cos(t) = cos(t-1) - C*sin(t-1)

C ist eine Konstante die in Abhängigkeit von der eingestellten Frequenz gesetzt wird.

Modulator

Die Erzeugung eines Rechtecktons findet, in Abhängigkeit von der eingestellten Frequenz, durch abwechselnde Ausgabe von MIN (0x0..0) und MAX (0xF...F) statt.

Signalmixer

Die Modulation im Signalmixer erfolgt über ein bitweises Verunden des Grundtons und des Modulators.

I2S-Sender

Zur Ausgabe von I2S werden zwei Clocks benötigt. Eine Bitclock, die die serielle Übertragung taktet und eine Links-Rechts-Clock, die den wechsel zwischen linken und rechten Channel der Audioausgabe angibt. Diese müssen beide durch den I2S-Sender generiert werden. Des Weiteren müssen die digitalen Audiodaten noch seriell und synchron mit den beiden Clocks an das I2S-Modul gesendet werden.

Ausgabe

Zur Ausgabe der erzeugten Töne wird ein Lautsprecher mit dem I2S-Digital-Analog-Wandler gekoppelt. Des Weiteren bietet das I2S-Modul noch die Möglichekeit, die erzeugten Analogdaten über einen extra GPIO-Port abzugreifen. Somit lassen sich die Daten parallel zur Audioausgabe noch über ein Oszilloskop veranschaulichen.