mikrocontroller.net

Forum: FPGA, VHDL & Co. Leute für Audio-Projekt gesucht


Autor: TheMason (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich mache mal einen neuen Thread auf, da ich das ganze mal anders 
aufziehen möchte.
Ich möchte erstmal die Software (FPGA) stehen haben und dann im Anschluß 
ein Erweiterungs-Board (mit AD/DA Wandlern und Schnittstellen) machen.
Auch möchte ich die Anforderungen bzw. Möglichkeiten etwas einschränken.
Vielleicht finden sich so mehr Leute.

Meine Idee :

Einen Audio-Prozessor bauen, der erstmal nur Mischen und Filtern kann. 
Dafür aber in seiner Funktion frei konfigurierbar ist.
Das soll heißen : man kann beliebig Filter/Mischer verschalten.

Ein Block-Schaltbild des Prozessors habe ich mal angehängt.

Es soll erstmal der SDSP-Core (Small DSP, beschrieben in 
sdsp_core_struct.bmp) laufen.
Zentrales Element des DSP-Kernss ist die MAC-Einheit.
An diese MAC-Einheit ist ein Audio-Speicher (BlockRAM) und ein 
Koeffizienten-Speicher (auch BlockRAM) angeschlossen.
Die beiden BlockRAMs werden addressmässig von einem Adress-Generator 
versorgt (bzw. gesteuert).
Alle Signale (Enable, Multiplexer und sonstige Signale) werden über ein 
weiteres BlockRAM (Microcode) generiert.

Dieser Kern wird in einen "Rahmen" (dap_struktur.bmp) eingehängt.
Dieser Rahmen sorgt lediglich dafür das der SDSP-Kern, welcher nur einen 
Kanal besitzt, mit einem Stereo-Signal (also 2 Eingänge und 2 Ausgänge) 
betrieben werden kann.
Das Programm welches der DAP ausführt, steht in dem PMEM BlockRAM.
Das Programm bestimmt welcher Opcode im DAP mit welchem 
Eingangs/Ausgangs Kanal, sowie der Adresse für den Audio- und 
Koeffizienten Speicher ausgeführt wird.
Der Rahmen soll später noch weitere SDSP-Kerne oder auch andere Kerne 
enthalten mit denen Audio-Signale verarbeitet/erzeugt werden können.

Dies ist grob umrissen meine Idee.
Ich habe selbst auch schon eine erste Version des Audio-Prozessors 
fertiggestellt. Allerdings habe ich da noch Probleme für die ich keinen 
Lösungsansatz habe. (Vielleicht ergibt sich da ja was, wenn man für ein 
solches Projekt genügend Leute zusammen hat).

Es würde mich freuen Leute für ein solches Projekt zu finden, weil es 
alleine wenig Spaß macht, und man durch andere Leute auch auf andere 
Ideen kommt.

Gruß
Rene

Autor: T.M. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
In paar Wochen ist meine DA fertig, dann könnt ich mitmachen, davor wird 
es allerdings nichts. Sieht aber interessant aus. Auf was für nem Target 
sollte das denn eigentlich laufen? (S3 / Virtex..)

T.M.

Autor: TheMason (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo t.m.

ich hatte ursprünglich die wahnwitzige idee die plattform egal sein zu 
lassen, lasse das egal sein aber nun sein. ich denke das xilinx am 
besten ist (zumal ich auch mit einem spartan 3 board arbeite).

mit dem design das ich bisher fertig habe komme ich bei meinem 
spartan3-200 auf eine ausnutzung von knapp 38%. es sind also noch 
reserven offen.
ich muß allerdings direkt betonen das ich nicht so fit in vhdl bin. ich 
habe erst vor 1 1/2 jahren angefangen mich intensiver mit vhdl zu 
beschäftigen (hatte vor 8 jahren schonmal was mit vhdl gemacht, aber das 
war nur für eine studien-arbeit). also themen wie timing-constraints 
sind mir noch etwas fremd. aber ich denke die anforderungen sind nicht 
so hoch gesteckt als das man für die ersten schritte unbedingt solche 
constraints aufsetzen muß (ich will ja keine high-speed-GHZ übertragung 
oder so machen).
es soll ja ein offenes projekt sein, und kein fertiges optimiertes 
produkt dabei rauskommen.
ansonsten freut es mich das du mit machen möchtest.
ich werde am wochenende mal etwas code hier rein stellen.

gruß
rene

Autor: T.M. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Spartan 3 ist gut, da hab ich was zH davon ;-)
Die Constraints haben ja nichts mit VHDL an sich zu tun...

Man könnte ja mal nen Wiki dafür aufmachen, oder? Entweder direkt hier, 
oder woanders. Ich hab schon eins unter http://editthis.info/freefpga
Sowas is fix eingerichtet...

Mit Audeioverarbeitung an sich hatte ich noch nichts weiter zu tun, aber 
digitale Filter und dergleichen sind mit nicht fremd ;-)

T.M.

Autor: TheMason (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich habe vor nem jahr hier in der artikel-sammlung ein projekt 
aufgemacht.
wir könnten/sollten dies nutzen, und wenn sich entsprechend noch leute 
finden könnte man auch gut ein wiki einrichten. aber ich möchte erstmal 
warten. vielleicht finden sich ja doch nicht so viele leute und es war 
dann nachher umsonst. muß ja auch nicht sein.
zu dem projekt in der artikel-sammlung sei gesagt das ich es 
überarbeiten werde und entsprechend dem thread bzw. dem was ich da 
angedacht habe ändern werde. ich denke mal am wochenende werde ich wohl 
etwas zeit dafür finden, und auch ein paar bildchen und source-codes 
hochladen.

schön das du ahnung von der materie (filter/fpga) mitbringst. das macht 
die ganze sache in sofern einfach als das man sich gut ergänzen kann.

gruß
rene

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.