Hi, habt Ihr aktuelle FPGA-Projekte, am besten abseits von blinkenden LED's oder weiteren Softcores ?! Real life Projekte die ohne FPGA kaum möglich sind. Gruß, Olli
Also mein aktuelles Projekt ist ein Realtime-IO Board für LinuxCNC: https://github.com/multigcs/LinuxCNC-RIO Soetwas ähnliches gibt es auch auf MCU basis, aber dort kommt man schnell an die grenzen bei hohen frequenzen (jitter) und vielen IO's
Ich habe drei Projekte an denen ich immer abwechselnd was mache. 1. Feldorientierte Regelung mit FPGA. Das geht auch mit einem µC, aber ich wollte es eben mit dem FPGA machen. Das ist fertig und läuft. 2. LCR-Meter mit Audio ADC. Da bin ich gerade drüber. Geht aber prinzipiell auch mit einem µC. Da bin ich gerade drüber. 3. Portierung von GRBL aufs FPGA. Da wird es schon spannender. Da kommt ein µC an die Grenzen, wenn die Anzahl der Achsen steigt. Ich habe 6 Achsen implementiert im Moment. Da fehlt noch der letzte Schliff und ausreichende Tests. Da ist noch einiges zu tun. Grüße, Jens
Hi Jens, Cool, gibt es links dazu ? über 1. und 2. hatte ich auch schonmal nachgedacht, klinkt beides sehr spannend. Gruß, Olli
Hi Olli, da gibt es noch keine Links dazu. Ich hab das bisher nirgends veröffentlicht. Hast du mit Motor Control schon was gemacht? Oder mit einem LCR Meter? Grüße, Jens
Jens W. schrieb: > Hast du mit Motor Control schon was gemacht? nicht wirklich, also stepper treiber für Halb/Voll schritt in meinem RIO projekt, aber leider noch nichts in sachen BLDC oder FOC. Ich schau mitr das immer mal wieder an, da es cool wäre wenn ich FOC direkt mit im FPGA hätte, allerdings ist mir das im moment noch zu kompliziert :( Jens W. schrieb: > Oder mit einem LCR Meter? mit LCR Meter hatte ich bisher noch garnichts zu tun, daher auch keine ambitionen in diese richtung.
Ein digitaler HF-Receiver (speziell für Kurzwelle). IQ-Demodulation und Tiefpassfilterung analog, alles weitere im FPGA. Das ginge zwar auch auf einem Microcontroller, wäre aber nicht unbedingt einfacher. Und je länger ich mich damit beschäftige, umso unsinniger erscheint es mir, Signalverarbeitung in Software zu machen - FPGA sind dafür wie geschaffen. Das Ganze ist ein eher langfristiges Projekt, hauptsächlich um zu lernen, wie die Signalverarbeitung für HF funktioniert. Deswegen will ich auch alle Module selbst implementieren. Bisher gibt es nur ein paar Fragmente: CORDIC für Betrags/Phasenbildung der IQ-Kanäle, Hilbert-Transformation (für SSB), DC-Cancellation. Audio soll über I2S rausgehen, aber das existiert noch nicht. Der erste Milestone wird es sein, ein einfaches AM Signal von einem DDS-Generator zu demodulieren.
Oliver D. schrieb: > habt Ihr aktuelle FPGA-Projekte, Ja. Eins mit SoC, FPGA und mehreren Karten >abseits von blinkenden LED' Das System tut in der Tat mehr, als nur zu blinken, aber lustigerweise spezifiziere gerade die Fehlermeldungen, die die LED anzeigen soll :-)
Oliver D. schrieb: > Hi, > habt Ihr aktuelle FPGA-Projekte, am besten abseits von blinkenden LED's > oder weiteren Softcores ?! > > Real life Projekte die ohne FPGA kaum möglich sind. ein Projekt was wirklich spannend war, war SDR mit diesen hardware: https://www.arrow.com/en/products/analogmax-daq1/trenz-electronic-gmbh?q=ANALOGMAX-DAQ1 Da ist ein 20 bit ADC mit 1MSPS drauf, und kleines 10M08 MAX 10 FPGA. Da habe in FPGA den ADC interface und SDR frontend gebaut: DDS-LO, IQ Mischer, Filters und downsampling, danach hat ein NIOS II design die IQ werte über UART rausgegeben. Die filters wurden mit den kostenlosen http://t-filter.engineerjs.com/ gemacht. Interessant war zu sehen das die relative wenig FPGA resourcen gebraucht haben. Dann habe ich einen winrad ExtIO kompatibles DLL geschrieben, was die daten von UART gelesen hat, und als IQ samples bereitegestellt hat. Für Anzeige habe ich dann sodira SDR genommen mit meinen ExtIO DLL https://www.sodirasdr.de/index.html Das hat soweit funktioniert das DCF77 time code wurde erfolgreich decodiert! War schon spannend zu sehen wie aus Daten die wie Müll aussehen mit dem SDR plötzlich saubere Signale und Daten kommen. Ich habe da viel spass gehabt. Es ist erstaunlich wie viele radiosender auf dem LW noch gibt. Jede menge sender zu sehen in unter 300KHz band.
:
Bearbeitet durch User
Oliver D. schrieb: > Hi, > habt Ihr aktuelle FPGA-Projekte, am besten abseits von blinkenden LED's > oder weiteren Softcores ?! > > Real life Projekte die ohne FPGA kaum möglich sind. Jetzt gibt's Futter fuer die Trolle. Leider sind es bei mir genau die blinkenden LEDs, allerdings in der Neopixel-Form und das ganze mit Ethernet/PoE-Anbindung. FPGA darum, weil sich damit synchron eine ganze Latte dieser Leuchtschlangen ansteuern lassen. Wurde fuer fernsteuerbare Beleuchtung fuer Kunstprojekte (Schneeskulpturen) eingesetzt. Laeuft also fuer Aussenstehenede eher unter FPGA-Wahnsinn, oder, wie schiesst man elegant auf viele Spatzen gleichzeitig mit einer Kanone.
Martin S. schrieb: >> Real life Projekte die ohne FPGA kaum möglich sind. > blinkenden LEDs, allerdings in der Neopixel-Form und das ganze mit > Ethernet/PoE-Anbindung. FPGA darum, weil sich damit synchron eine ganze > Latte dieser Leuchtschlangen ansteuern lassen. Wurde fuer fernsteuerbare > Beleuchtung fuer Kunstprojekte (Schneeskulpturen) eingesetzt. > > Laeuft also fuer Aussenstehenede eher unter FPGA-Wahnsinn, Zähle ich NICHT unter FPGA-Wahnsinn. Es ist nicht unüblich, sich nur wegen der "mickrigen" Anzahl an User-IO's an einem Mikrocontroller sich für einen FPGA zu entscheiden, den es auch in Packages mit mehreren hundert IO's gibt. Warum mit Portexpander, Muxer, etc. rumschlagen, wenn man das "in einem Guß" mittels CPLD oder kleinem FPGA realisieren kann?! Wurde schon während der Ausbildung zum HW-Entwickler empfohlen: falls es die nötige Peripherie wie 7+ UARTS, 11 LED-Bargraphs etc. nicht in einem handelsüblichen µC/DSP gibt, dann muss man sich eben einen kundenspezifischen fertigen (FPGA, SoC, CPLD) oder fertigen lassen (ASIC). Es ist nicht allein die Processing-Power, die einen FPGA auszeichnet, manchmal ist es die schnöde Pin-Anzahl. Bei Miniserien oder Einzelstücken fällt auch der IC Stückpreis nicht Gesamtpaketpreis auf, wenn er nicht sogar den Entwicklungs-/Debugaufwand für eine Portexpander-Steckplatinenlösung komplett aufwiegt.
Morty S. schrieb: > manchmal ist es die schnöde Pin-Anzahl Wobei es schon schlau wäre den Verdrahtungsaufwand durch mehr serielle Bus-Intelligenz zu minimieren.
Jens W. schrieb: > Ich habe drei Projekte an denen ich immer abwechselnd was mache. > 1. Feldorientierte Regelung mit FPGA. Das geht auch mit einem µC, aber > ich wollte es eben mit dem FPGA machen. Das ist fertig und läuft. > > Grüße, Jens Cool und was für ein Motor ist es? Und der Regler ist PID? Beobachter für den Fluss auch mit drin?
Morty S. schrieb: > dann muss man sich eben einen > kundenspezifischen fertigen (FPGA, SoC, CPLD) oder fertigen lassen > (ASIC). Wer kann, der kann. Ich haette die Investition aber nicht fuer LED-Spielerei stemmen wollen. War eher Beifang einer etwas speziellen PWM fuer zeitgenaues Glitchen. Das passt auch zum Thema Motoren. Gerhard H. schrieb: > Wobei es schon schlau wäre den Verdrahtungsaufwand durch mehr serielle > Bus-Intelligenz zu minimieren. Tja, das elegante an den Neopixel-Schlangen: Ein grosses Schieberegister als write-only-Farbspeicher :-) Ein Schmankerl noch zum Thema FPGA-Wahnsinn: Da auch Animationen mit vernuenftigen Farbinterpolationen und Frameraten im Autonombetrieb gewollt waren, durfte noch eine Trace-Beschleunigerlogik nach Bresenham mit rein. Das macht man allerdings nicht mehr in klassischer V*HDL.
Antti L. schrieb: > ein Projekt was wirklich spannend war, war SDR mit diesen hardware: > https://www.arrow.com/en/products/analogmax-daq1/trenz-electronic-gmbh?q=ANALOGMAX-DAQ1 > > Da ist ein 20 bit ADC mit 1 MSPS drauf, und kleines 10M08 MAX 10 FPGA. ^^^^^^ Das kommt mir sehr bekannt vor, SDR für Signale kleiner 1 MHz, das könnte man auch für eine radio wave propagation station ausbauen um das Funkwetter anhand des Empfangs des signals von Baken (engl beacons) (auch DCF77 ist im gewissen sine eine Funk-bake) das aktuelle Funkwetter abzuschätzen. Allerdings hat das DAQ1 Board meines Wissens einen 2 MSps ADC, einen kleinen 1MSbs Wandler bringt der Max10 on-chip mit: https://www.intel.com/content/www/us/en/docs/programmable/683596/22-1/adc-architecture-and-features.html > Das hat soweit funktioniert das DCF77 time code wurde erfolgreich > decodiert! Nach welchen Verfahren? das AM-Signal zu decodieren ist ziemlich einfach, das kann auch ein µC, den Phasensprung auszuwerten ist etwas anspruchsvoller. https://www.ptb.de/cms/ptb/fachabteilungen/abt4/fb-44/ag-442/verbreitung-der-gesetzlichen-zeit/dcf77/phasenmodulation.html Hier hat vor über 10 Jahren ein Ingenieur namens Daniel Engeler aus der Schweiz seine Ergebnisse hierzu präsentiert: https://www.mikrocontroller.net/attachment/147245/Engeler_DCF77.pdf Beitrag "Paper zu DCF77"
Vancouver schrieb: > Ein digitaler HF-Receiver (speziell für Kurzwelle). > IQ-Demodulation und > Tiefpassfilterung analog, alles weitere im FPGA. Das ginge zwar auch auf > einem Microcontroller, wäre aber nicht unbedingt einfacher. Und je > länger ich mich damit beschäftige, umso unsinniger erscheint es mir, > Signalverarbeitung in Software zu machen - FPGA sind dafür wie > geschaffen. > > Das Ganze ist ein eher langfristiges Projekt, hauptsächlich um zu > lernen, wie die Signalverarbeitung für HF funktioniert. Deswegen will > ich auch alle Module selbst implementieren. Bisher gibt es nur ein paar > Fragmente: CORDIC für Betrags/Phasenbildung der IQ-Kanäle, > Hilbert-Transformation (für SSB), DC-Cancellation. Audio soll über I2S > rausgehen, aber das existiert noch nicht. Der erste Milestone wird es > sein, ein einfaches AM Signal von einem DDS-Generator zu demodulieren. Das klingt spannend. Sowas würde ich auch gerne mal machen. Was benutzt du da für einen ADC & FPGA und mit welcher Samplerate läuft der ADC? viele Grüße, Jo
Ich verwende die beiden XADC-Kanäle in einem Artix-7 (auf einem Cmod-A735-Board von Digilent). Der XADC hat zwar 12 Bits, allerdings nur etwa 9 ENOB, ich weiß nicht ob das wirklich reicht. Wird sich zeigen. Da ich die Demodulation vorher in der Analogdomain mache, reicht für den ADC im Prinzip Audio-Samplerate. Der XADC kann max. 1 MSPS, das ist schon viel zu hoch. Wenn du so willst, verwende ich den FPGA als "Soundkarte". Ohne Demodulation müsste ich Direkt-Sampling verwenden, und wäre dann mit dem XADC auf die Bänder unterhalb 500kHz beschränkt, das ist weit unterhalb von Kurzwelle. Mein Ziel ist maximal 30MHz Bandbreite. Für die Demodulation verwende ich ein ähnliches Design wie das Arduino-SDR-Shield, allerdings mit einem DC-Level, sodass die Signale immer positiv bleiben, weil der ADC keine negativen Eingangspannungen verträgt (zumindest so wie er auf dem CMOD verschaltet ist). Das Ganze ist wie gesagt noch in einem frühen Stadium, aufgebaut auf einem Breadboard und noch weit davon entfernt, wirklich RF zu empfangen.
Sophie T. schrieb: > Jens W. schrieb: >> Ich habe drei Projekte an denen ich immer abwechselnd was mache. >> 1. Feldorientierte Regelung mit FPGA. Das geht auch mit einem µC, aber >> ich wollte es eben mit dem FPGA machen. Das ist fertig und läuft. >> >> Grüße, Jens > > Cool und was für ein Motor ist es? Und der Regler ist PID? Beobachter > für den Fluss auch mit drin? Hallo Sophie, Ich verwende so einen Motor: https://www.buehlermotor.de/fileadmin/user_upload/stock_service/datasheets/EC-Motor_62x142__1.25.058.4XX.pdf Das ist klassisch eine permanenterregte Synchronmaschine. Dazu habe ich mir einen Inkrementalgeber hinten drauf gemacht (AS5047). Darüber kann ich kommutieren und die Drehzahl berechnen. Als Regler für die Stromregelung verwende ich klassisch einen PI-Regler. Für die überlagerte Drehzahlregler reicht auch ein PI-Regler. Ich denke nicht, dass es da einen PID braucht. Wäre aber egal, der Unterschied ist nicht viel Aufwand. Der Beobachter für den Fluss ist vorbereitet, aber aktuell noch nicht implementiert. Grüße, Jens
Vancouver schrieb: > allerdings nur etwa 9 ENOB, Hast du den XADC symmetrisch verdrahtet oder einseitig gegen GND? Der XADC hat ja eine interne Filterung drin, wenn man die hohe Rate nicht braucht. Da kann man ohne Weiteres an die 12 Bit rankommen. Hängt aber auch vom Signal selber ab.
Der ist asymmetrisch angeschlossen, das ist vom FPGA-Modul so vorgegeben. Am Eingang dürfen nur Sapnnungen im Bereich 0-3.3V liegen, die über einen Spannungsteiler auf 0..1V für den XADC runtergeteilt werden. Stimmt, die Filterung gibts auch noch, muss ich mir mal anschauen, danke für den Tip!
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.