Hallo, Ich habe mir kürzlich das DE10 nano board von Terasic zugelegt, nun würde ich darüber gerne den audio DAC pcm5102 via I2s ansteuern, ähnlich wie es für den Raspberry Pi 4 hier gezeigt wird: https://bytesnbits.co.uk/raspberry-pi-i2s-sound-output/ Ich habe mir die Datenblatt bzw. Handbuch für das board angeschaut, finde da aber keine detailierten Informationen zur Pinbelegung wie etwa alternate functions... Ich habe auch das Cyclone V Hard Processor System Technical Reference Manual ausfindig gemacht https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/hb/cyclone-v/cv_5v4.pdf, da steht aber auch nichts näheres drin...
Auf den 2x40 Pin Leisten sind nur FPGA Pins. Allgemein gibt es auf dem Board sehr wenig HPS Pins. Schau dir Mal den LTC Stecker an. Da ist zumindest I2C/SPI drauf ob man da auch welche für I2S nehmen kann. Edit: in Richtung HDMI scheint es auch zu gehen lt. Datenblatt. Evtl aber über einen I2S IP Core im FPGA. Musst du schauen. Wenn dem so ist musst du im Plattform Designer den I2C Core inszenieren und generieren. Anschließend im Top Level verbinden. Die Pins zuweisen. Und im Device Tree den I2S Treiber einhängen. Edit2: Bei HDMI ist es lt. Schematic Pin T13. Jetzt musst du nur noch schauen ob das ein FPGA Pin ist. Vorteil an einem IP Core wäre dass du so ziemlich jeden Pin verwenden kannst. Nachteil ist der Aufwand bis es läuft.
:
Bearbeitet durch User
N. M. schrieb: > Edit: in Richtung HDMI scheint es auch zu gehen lt. Datenblatt. Evtl > aber über einen I2S IP Core im FPGA. Musst du schauen. > Wenn dem so ist musst du im Plattform Designer den I2C Core inszenieren > und generieren. Anschließend im Top Level verbinden. Die Pins zuweisen. > Und im Device Tree den I2S Treiber einhängen. Werde ich mal ausprobieren - hoffte aber eigentlich es ginge einfacher und ich könnte so wie mit dem raspberry den I2S baustein pcm5102 testen... Eigentlich würde ich die pins gerne losgelöst von HDMI verwenden. Und mir stellt sich immer noch die andere Frage, wo ich eigentlich ein minimales Board mit Cyclone V und HPS finde das für die Production taugt?
Sven W. schrieb: > hoffte aber eigentlich es ginge einfacher Kann schon sein dass es einfacher geht. Müsste man halt im DB des SoC nachschauen. Meine Idee war ja nur zu schauen wie sie es beim HDMI gemacht haben um dort abzuschauen. Sven W. schrieb: > ich könnte so wie mit dem raspberry den I2S baustein pcm5102 testen Warum willst du dann überhaupt einen SoC? Nimm doch einfach den Raspi. Ist schneller, hat mehr Speicher und ist günstiger. Sven W. schrieb: > Eigentlich würde ich die pins gerne losgelöst von HDMI verwenden. Wie gesagt hat es nichts mit HDMI zu tun. Es dient nur als Beispiel weil es dort Beispiele für I2S bei diesem Board gibt. Sven W. schrieb: > Und mir stellt sich immer noch die andere Frage, wo ich eigentlich ein > minimales Board mit Cyclone V und HPS finde das für die Production > taugt? Was ist für dich minimalistisch? Arg viel kannst du bei dem DE10Nano nicht weglassen. Beschleunigungssensor, ADC, paar Buttons/Switches/LEDs, den USB Blaster und ein paar Stecker. Den Rest wirst du brauchen. Ähnliches wie das DE10 Nano gibt es auch noch als SoM. Aber das hat auch mehr Speicher usw.
N. M. schrieb: > Edit: in Richtung HDMI scheint es auch zu gehen lt. Datenblatt. Evtl > aber über einen I2S IP Core im FPGA. Musst du schauen. > Wenn dem so ist musst du im Plattform Designer den I2C Core inszenieren > und generieren. Anschließend im Top Level verbinden. Die Pins zuweisen. > Und im Device Tree den I2S Treiber einhängen. Gerade mal im Plattform Designer geschaut - I2S hardware wird merkwürdiger Weise nicht angeboten / unterstützt. Vielleicht fehlen mir aber auch einfach noch andere IP-Kataloge. Insgesamt habe ich den Eindruck, das Audio bei den Boards eher stiefmütterlich behandelt wird. Ich gestehe ja, dass es nicht der typische Anwendungsbereich ist - so wird es allerdings auch nicht besser. Ich muss für HDMI erst noch nen splitter dazwischen schleifen. für line out. An line in oder Micro ist schon gar nicht zu denken - schade! > Warum willst du dann überhaupt einen SoC? Nimm doch einfach den Raspi. > Ist schneller, hat mehr Speicher und ist günstiger. Warum ich den SoC will? Ich möchte die Hardware nutzen um einen Synthesizer zu bauen, mit den FPGA Ressourcen für den Signalweg. Und darüber hinaus ein bisschen HDL (genauer Verilog) und Simulation zu lernen.
Wenn Du den Synth im FPGA machen willst, warum baust Du Dir dann nicht einfach einen I2S Core selbst zusammen. Das ist doch nun wirklich Spielkram und so kannst den Synth direkt anbinden ohne irgendwelche Umwege oder unnötige Interfaces. Fertig mit Wishbone hier: https://opencores.org/projects/i2s_interface
Sven W. schrieb: > Insgesamt habe ich den Eindruck, das Audio bei den Boards eher > stiefmütterlich > behandelt wird. Hä? Wie kommst du auf so eine Aussage? Du kannst an das Teil so viele I2S Kanäle anhängen bis dir die Pins ausgehen. Also mindestens 15-20 Stück. Sven W. schrieb: > Gerade mal im Plattform Designer geschaut - I2S hardware wird > merkwürdiger > Weise nicht angeboten / unterstützt. Hast du mittlerweile Mal nachgeschaut wie sie es in den Beispielprojekten machen? Sven W. schrieb: > Ich möchte die Hardware nutzen um einen Synthesizer zu bauen, mit den > FPGA Ressourcen für den Signalweg. Irgendwie passt diese Aussage nur bedingt zu deiner im Eingangspost geschriebene Aussage. Bei dem Raspi Beispiel von dir geht das I2S Signal halt direkt durch die Peripherie über den Kernel in dein Userspace Programm. Also alles im Hardcore (gibt ja kein FPGA Teil). Wenn du beim DE10 nun den FPGA im SoC verwenden möchtest für evtl Signalverarbeitung o.ä. dann kann das ja nicht gleich sein wie beim Raspi. Die Vorbereitung usw. ist ja dann alles im FPGA (Parallelität, Performance,...). Aber wie Andreas geschrieben hat: I2S selbst ist ja nicht all zu aufwändig und kann man leicht selbst machen. Der Sport kommt dann allerdings wenn du dann eigene Kernel Treiber schreiben willst da es für deine Custom Logik keinen gibt. Sven W. schrieb: > Und darüber hinaus ein bisschen HDL (genauer Verilog) und Simulation zu > lernen. Das ist natürlich ein guter Anwendungsfall. Da gehört aber dann schon bisschen was dazu. Eine Möglichkeit über einen fertigen IP-Core hab ich oben grob angerissen. Über eine Custom Logik musst du dir dann halt noch die Wishbone Interfaces anschauen/implementieren. Eigener Kernel Treiber wäre dann wahrscheinlich der schöne Weg. Über User Space und pufferung im FPGA sollte man aber auch gut an die Daten kommen.
Changed my mind again and found this little gem - the go board from nandland https://nandland.com/the-go-board/, together with pmod i2s2 interface from digilent https://shop.trenz-electronic.de/de/29035-Pmod-I2S2-Stereo-Audioeingang-und-ausgang . Instead of altera / intel it has a lattice fpga the ice40, of course less cells and not a Hard-Processor-System, besides - but I really dont need this, it is easier without. PS: Sorry for the english, its just easier for me and by the way, I am still searching for an english speaking alternative to this forum, any ideas welcome!
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.