Forum: FPGA, VHDL & Co. FPGA evalboard mit 200 GPIOs


von Detlef _. (detlef_a)


Lesenswert?

Hallo,

wir möchten gerne 160 MOSFETs mittels FPGA und Lichtleitern synchron 
ansteuern. Kennt Ihr ein evalboard, das so 160-200 I/Os bereitstellt?

THX
Cheers
Detlef

von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Lesenswert?

Passende FPGA-Module gibt es bei Trenz Electronic, z.B.:

https://shop.trenz-electronic.de/de/Produkte/Trenz-Electronic/TE08XX-Zynq-UltraScale/

Beispiel TE0803:

- 48 High-density (HD) I/O's (2 banks)
- 65 x Mehrzweck-E/A (MIO)
- 156 x Hochleistungs-E/A
- Serielle Transceiver: PS-GTR 4
- Programmierbarer 4-Kanal-PLL-Taktgeber

Oder TE0807:

- 65 x PS MIOs, 48 x PL HD GPIOs, 156 x PL HP GIPIOs (3 banks)
- Serielle Transceiver: 4 x GTR + 16 x GTH
- Transceiver Clocks Eingänge und Ausgänge
- PLL-Taktgenerator-Eingänge und -Ausgänge

von Christoph Z. (christophz)


Lesenswert?

Ein FPGA Board mit FMC HPC Stecker hat min. 160 I/Os:
https://en.wikipedia.org/wiki/FPGA_Mezzanine_Card#LPC_vs._HPC

Es gibt Boards mit mehr als einem FMC Anschluss. Manchmal ist einer HPC 
und der andere LPC aber das würde ja dann reichen für 200 I/Os.

von Gustl B. (-gb-)


Lesenswert?

Was bedeutet synchron als maximal erlaubte Zeitdifferenz? Und was ist 
der minimale Abstand zwischen zwei Flanken?

von Detlef _. (detlef_a)


Lesenswert?

Ah, FMC ist das magic Word, THX. Jetzt finde ich was, bin newbie.

Gustl B. schrieb:
> Was bedeutet synchron als maximal erlaubte Zeitdifferenz? Und was ist
> der minimale Abstand zwischen zwei Flanken?

Syncron soll heißen ca. 1ns, die I/O sollen mit derselben Taktflanke 
toggeln. Zwischen zwei Flanken ist unkritisch, us Bereich.

THX
Cheers
Detlef

von Gustl B. (gustl_b)


Lesenswert?

Wenn du zwischen den Flanken Zeit hast, dann könntest du viele IOs 
sparen und Schieberegister verwenden. Solche wie das 595 haben ein 
zweites Register. Und die versorgst du dann alle mit dem gleichen 
Signal.

Aber ob du da die eine Nanosekunde schaffst ist unklar. Ob du die mit 
den FPGA IOs schaffst ist aber ebenfalls unklar. Für eine so hohe 
Zeitauflösung brauchst du eigentlich schon SerDes am Ausgang.
Das geht bei Xilinx an HR und HP Bänken, aber Achtung! die neuen 
Ultrascale(+) FPGAs haben auch HD Bänke und die haben keine SerDes 
sondern sind vergleichsweise langsam.

von Detlef _. (detlef_a)


Lesenswert?

Gustl B. schrieb:
> Aber ob du da die eine Nanosekunde schaffst ist unklar. Ob du die mit
> den FPGA IOs schaffst ist aber ebenfalls unklar.

Das Schieberegister HC595 ist in dem Parameter RCLK -> QA ( Outputclock 
zu Output ) bei 4.5V gespect mit 17-30ns. Also werden zwei Chips oder 
auch die 8 Ausgänge eines Chips sicher mehr als 1ns jittern.

Namakuckn

THX
Cheers
Detlef

von Gustl B. (gustl_b)


Lesenswert?

Vermutlich, ja. Gibt noch mehr Schieberegister ICs. Du könntest auch 
Schieberegister nehmen ohne extra Register und das selber extern dazu 
bauen und da eines nehmen das deine recht hohen Anforderungen erfüllt.
Auf die Schnelle habe ich CY74FCT16374T gefunden.

Jedenfalls bevor du jetzt viel Geld für einen FPGA mit genug IOs 
ausgibst, gucke nach ob deine Anforderungen damit zu erfüllen sind.

von Detlef _. (detlef_a)


Lesenswert?

Gustl B. schrieb:
> Vermutlich, ja. Gibt noch mehr Schieberegister ICs. Du könntest auch
> Schieberegister nehmen ohne extra Register und das selber extern dazu
> bauen und da eines nehmen das deine recht hohen Anforderungen erfüllt.
> Auf die Schnelle habe ich CY74FCT16374T gefunden.
>
> Jedenfalls bevor du jetzt viel Geld für einen FPGA mit genug IOs
> ausgibst, gucke nach ob deine Anforderungen damit zu erfüllen sind.

Uih, das Ding hat einen 'output skew' von besser 1/4 ns. Das würde es 
schon treffen, die D-FFs müßte man noch davorsetzen.

Danke für den Tip, mental war ich bei 74xxx hängengeblieben.

Cheers
Detlef

von Gustl B. (-gb-)


Lesenswert?

16 Bit, <250 ps Skew:
https://www.mouser.de/datasheet/2/698/IDT_74FCT16374T_DST_20190326-1996280.pdf

Für mich sähe das so aus:

FPGA/uC -> Schieberegister/IO-Expander (da gibt es sehr viele mit I2C, 
SPI, ...) -> Register ->

Wichtig wäre dann, dass die Register den Takt/Flanke gleichzeitig 
bekommen und dann haben die Rgister ICs gegeneinander noch Skew. Der 
Skew im Datenblatt gilt ja nur für zwei IOs des selben Bausteins.

Vielleicht ist aber auch ein FPGA die beste Lösung. Da wäre dann auch 
interessant welche Pegel du brauchst. Die IOs der HP Bänke gehen nur bis 
1,8 V.

von Detlef _. (detlef_a)


Lesenswert?

Gustl B. schrieb:
> 16 Bit, <250 ps Skew:
> https://www.mouser.de/datasheet/2/698/IDT_74FCT16374T_DST_20190326-1996280.pdf
>
> Für mich sähe das so aus:
>
> FPGA/uC -> Schieberegister/IO-Expander (da gibt es sehr viele mit I2C,
> SPI, ...) -> Register ->
>
> Wichtig wäre dann, dass die Register den Takt/Flanke gleichzeitig
> bekommen und dann haben die Rgister ICs gegeneinander noch Skew. Der
> Skew im Datenblatt gilt ja nur für zwei IOs des selben Bausteins.
>
> Vielleicht ist aber auch ein FPGA die beste Lösung. Da wäre dann auch
> interessant welche Pegel du brauchst. Die IOs der HP Bänke gehen nur bis
> 1,8 V.

Ja, da muss man dann sehen dass die Leitungslängen zu den Registern 
nicht unterschiedlich sind.

Der Ausgang muss nen SFH757 treiben können, da sind 1,8V nicht genug, 
3.3 schon.

Cheers
Detlef

von PalimPalim (Gast)


Lesenswert?

Detlef _. schrieb:
> wir möchten gerne 160 MOSFETs mittels FPGA und Lichtleitern synchron
> ansteuern.

Detlef _. schrieb:
> Syncron soll heißen ca. 1ns, die I/O sollen mit derselben Taktflanke
> toggeln. Zwischen zwei Flanken ist unkritisch, us Bereich.

Sportlich!

Detlef _. schrieb:
> Ja, da muss man dann sehen dass die Leitungslängen zu den Registern
> nicht unterschiedlich sind.

Das dürfte mit Abstand das kleinste Problem werden.

Detlef _. schrieb:
> Der Ausgang muss nen SFH757 treiben können, da sind 1,8V nicht genug,
> 3.3 schon.

Schon mal ins Datenblatt geschaut?

Capacitance 30pF
Switching Times 15ns

Wie kommt man dann auf die Anforderung von 1ns? Um in dem Bereich von 
Max. 1ns zu bleiben, müssten die Flanken irgendwo im kleinen 2 stelligen 
ps Bereich liegen und damit dann 30pF Laden/Entladen zu wollen... Ich 
sag ja, Sportlich. ;)

Gruß

von Detlef _. (detlef_a)


Lesenswert?

PalimPalim schrieb:
> Schon mal ins Datenblatt geschaut?
>
> Capacitance 30pF
> Switching Times 15ns
>
> Wie kommt man dann auf die Anforderung von 1ns? Um in dem Bereich von
> Max. 1ns zu bleiben, müssten die Flanken irgendwo im kleinen 2 stelligen
> ps Bereich liegen und damit dann 30pF Laden/Entladen zu wollen... Ich
> sag ja,

Die switching time ist mir herzlich egal, die darf zwischen den 
Bauteilen nur nicht mehr als 1ns streuen.

PalimPalim schrieb:
> Sportlich. ;)

Hab beim ironman 1997 den Dritten gemacht.

Cheers
Detlef

von PalimPalim (Gast)


Lesenswert?

Detlef _. schrieb:
> Die switching time ist mir herzlich egal, die darf zwischen den
> Bauteilen nur nicht mehr als 1ns streuen.
Die 1ns wird aber bei den SFH757 nie und nimmer raus kommen, schon 
alleine die Streuung, Schwellwerte und Temperaturunterschiede der 
einzelnen Dioden untereinander.

Müssen es den unbedingt die SFH757 sein?

Am Rande noch erwähnt, pro Bank vom FPGA können (je nach FPGA) nicht 
alle IOs gleichzeitig mit vollem Strom schalten, da sollte man auch ein 
Auge drauf haben.

> PalimPalim schrieb:
>> Sportlich. ;)
>
> Hab beim ironman 1997 den Dritten gemacht.
>
> Cheers
> Detlef

Verdammich noch mal, da kann ich nicht mithalten, ich bin schon beim 
Trockenschwimmen unter gegangen! ;)

Gruß

von Neugieriger Esel (Gast)


Lesenswert?

Hmm jetzt bin ich aber wirklich neugierig: in welcher Anwendung muss man 
160 MOSFETs aus dem gleichen FPGA ansteuern? Klingt irgendwie nach 
kaskadiertem Multizellen Konverter/MMC Konverter oder etwas Ähnlichem? 
Aber selbst da bin ich mit weniger als 100 IOs meist durchgekommen.

von J. S. (engineer) Benutzerseite


Lesenswert?

Neugieriger Esel schrieb:
> Hmm jetzt bin ich aber wirklich neugierig: in welcher Anwendung muss man
> 160 MOSFETs aus dem gleichen FPGA ansteuern? Klingt irgendwie nach
> kaskadiertem Multizellen Konverter/MMC Konverter oder etwas Ähnlichem?

In Leistungs-Elektronik, bei denen hohe Schaltströme gefahren werden und 
die Transistoren folglich exakt synchron schalten müssen, um nicht 
infolge ungünstiger Überlappung Querströme zu produzieren. FPGAs sind da 
zunächst keine guten Kandidaten wegen Jitter und Exemplarstreuung, aber 
man kann mit einer "analog" aufgebauten Technologie durchaus auf unter 
20ps kommen, wenn man es schlau anstellt.

Dazu braucht es aber spezielles Takten und Taktführung und einiges mehr. 
Es fängt schon mit einem hochstabilen REF-Takt von Außen an.

PalimPalim schrieb:
> Am Rande noch erwähnt, pro Bank vom FPGA können (je nach FPGA) nicht
> alle IOs gleichzeitig mit vollem Strom schalten, da sollte man auch ein
> Auge drauf haben.

Ja, daher braucht es nach dem Ausgang noch mindestens einen schnellen 
Schalter, der aber selber möglichst keine Lastkapazität aufweist. Da es 
das so nicht gibt, braucht man 2 und für das Takt-Gating einen weiteren. 
Die sind leider nicht billig, streuen recht stark und nicht zuletzt 
deshalb muss das Ganze kalibriert werden, was wiederum weitere 
Beschaltung benötigt.

Eine solche Schaltung wurde von mir 2009 entwickelt und ihm Rahmen eines 
Projektes durch den Kunden teilweise patentiert - auch die 
FPGA-Innereien und die Methodologie sind geschützt. Der vornehmlich 
patentierte Teil kommt im Grunde von einem Bauvorschlag von Altera, die 
zuvor mit einem Kunden im Bereich TDC gearbeitet haben. Die Mess- und 
Kalibrierkette ist praktisch ausschließlich von mir, wäre auch noch 
open, da der Mutterkonzern des Kunden das Projekt nicht weiterverfolgt 
hat.

Zu den FPGAs: Mit den Transceivern würde ich nicht arbeiten. Es reichen 
"normale" Ausgänge. Es kommt im Wesentlichen auf die analoge 
Umbeschaltung an. Die macht die "Musik". Einen FPGA braucht man 
eigentlich nur zu dem Zweck, den Takt entsprechend zu führen und je nach 
Bank, IO, Schaltstruktur dahinter und deren Verzögerungen, alles 
eintrainieren zu können, ohne es "umlöten" zu müssen. Und: es muss 
während der Anwendung nachkalibriert werden, weil sich allesmögliche 
verschiebt, wenn es warm wird. Leider reichen schon 1-2 Grad drift, um 
Schaltzeiten um 10ps und mehr zu verschieben. Das Grundproblem ist, dass 
die vielen Transistoren nicht alles in Gruppen beieinander sitzen, 
sondern weit verteilt angebracht werden, folglich mit unterschiedlich 
beschaffenen Verkabelungen angesteuert werden. Lichtleiter helfen da 
leider nicht weiter, weil die Transceiver so viel streuen, dass 
gematchte Kabel besser sind.

Gfs braucht man eine SSO Kompensation, d.h. die Vorkompensation der 
Schaltzeiten, die sich infolge gleichzeitig schaltender Teilgruppen 
ergibt, wenn nicht immer alle oder keiner schaltet und es damit nur 
einen 2 Schaltfälle gibt. Das ist z.B. bei intelligenten 
6-Phasen-Umrichtern der Fall, wo mehrere kaskadierte Transistoren 
unterschiedlich schalten, um z.B. einen Pseudosinus zu erzeugen.

Die SSO-Kompensation habe ich für eine Audio-Anwendung (32 BIT DAC) 
realisiert und ist erhältlich. Sie ist auch in der Lage, Strom- und 
Spannungsrückwirkungen zu verarbeiten, wenn sie eintrainiert ist. Sie 
läuft in einfacher Form bei einem Kunden der Audiotechnik, ist nicht 
patentiert und wäre mit der Stromkompensation auf Leistungselektronik 
portierbar (wenn Leistungsteil und Steuerteil nicht räumlich gut genug 
getrennt sind).

Von wievielen MWatt sprechen wir hier? Welche Feldstärken?

von HEMT (Gast)


Lesenswert?

Wäre es bei schnellen Schaltvorgängen nicht besser, anstelle von MOSFETs 
HEMTs zu nehmen, auch wenn sie teilweise komplizierter in der 
Beschaltung sind?

von Esel (Gast)


Lesenswert?

Jürgen S. schrieb:
> In Leistungs-Elektronik, bei denen hohe Schaltströme gefahren werden und
> die Transistoren folglich exakt synchron schalten müssen, um nicht
> infolge ungünstiger Überlappung Querströme zu produzieren. FPGAs sind da
> zunächst keine guten Kandidaten wegen Jitter und Exemplarstreuung, aber
> man kann mit einer "analog" aufgebauten Technologie durchaus auf unter
> 20ps kommen, wenn man es schlau anstellt.
>
> Dazu braucht es aber spezielles Takten und Taktführung und einiges mehr.
> Es fängt schon mit einem hochstabilen REF-Takt von Außen an.

Jürgen S. schrieb:
> Ja, daher braucht es nach dem Ausgang noch mindestens einen schnellen
> Schalter, der aber selber möglichst keine Lastkapazität aufweist. Da es
> das so nicht gibt, braucht man 2 und für das Takt-Gating einen weiteren.
> Die sind leider nicht billig, streuen recht stark und nicht zuletzt
> deshalb muss das Ganze kalibriert werden, was wiederum weitere
> Beschaltung benötigt.
>
> Eine solche Schaltung wurde von mir 2009 entwickelt und ihm Rahmen eines
> Projektes durch den Kunden teilweise patentiert - auch die
> FPGA-Innereien und die Methodologie sind geschützt. Der vornehmlich
> patentierte Teil kommt im Grunde von einem Bauvorschlag von Altera, die
> zuvor mit einem Kunden im Bereich TDC gearbeitet haben. Die Mess- und
> Kalibrierkette ist praktisch ausschließlich von mir, wäre auch noch
> open, da der Mutterkonzern des Kunden das Projekt nicht weiterverfolgt
> hat.

Hm. Und dazu hast du Quellen? Ich arbeite seit 10 Jahren in der 
Leistungselektronik und habe gelinde gesagt erhebliche Zweifel an dem 
Geschriebenen. Vor allem gib es nicht sonderlich viele Topologien, bei 
denen man 150 verschiedene Schalter getrennt ansteuern muss. Ich würde 
mich durch entsprechende Quellen (Pulbikationen bzw. Patente) natürlich 
eines bessern belehren lassen.

Jürgen S. schrieb:
> Gfs braucht man eine SSO Kompensation, d.h. die Vorkompensation der
> Schaltzeiten, die sich infolge gleichzeitig schaltender Teilgruppen
> ergibt, wenn nicht immer alle oder keiner schaltet und es damit nur
> einen 2 Schaltfälle gibt. Das ist z.B. bei intelligenten
> 6-Phasen-Umrichtern der Fall, wo mehrere kaskadierte Transistoren
> unterschiedlich schalten, um z.B. einen Pseudosinus zu erzeugen.

Was verstehst du unter "SSO Kompensation"?

von Christian R. (supachris)


Lesenswert?

Neugieriger Esel schrieb:
> Hmm jetzt bin ich aber wirklich neugierig: in welcher Anwendung muss man
> 160 MOSFETs aus dem gleichen FPGA ansteuern? Klingt irgendwie nach
> kaskadiertem Multizellen Konverter/MMC Konverter oder etwas Ähnlichem?
> Aber selbst da bin ich mit weniger als 100 IOs meist durchgekommen.

Die Kombination Anfänger, FPGA, Mega Timing Anforderungen und sehr 
spezielle Anwendungen hatten wir schon einige Male hier. In der Regel 
ist das ein Hilfswissenschaftler am CERN, da werden offenbar gern solche 
Dinge jemandem gegeben, der sowas noch nie gemacht hat.

von Detlef _. (detlef_a)


Lesenswert?

Christian R. schrieb:
> Neugieriger Esel schrieb:
>> Hmm jetzt bin ich aber wirklich neugierig: in welcher Anwendung muss man
>> 160 MOSFETs aus dem gleichen FPGA ansteuern? Klingt irgendwie nach
>> kaskadiertem Multizellen Konverter/MMC Konverter oder etwas Ähnlichem?
>> Aber selbst da bin ich mit weniger als 100 IOs meist durchgekommen.
>
> Die Kombination Anfänger, FPGA, Mega Timing Anforderungen und sehr
> spezielle Anwendungen hatten wir schon einige Male hier. In der Regel
> ist das ein Hilfswissenschaftler am CERN, da werden offenbar gern solche
> Dinge jemandem gegeben, der sowas noch nie gemacht hat.

Kein Anfänger
Keine Mega Timing Anforderungen
Kein Hilfswissenschafler
Kein CERN

Wir wollen MOSFETs auf Hochspannungspotential des 110kV Netzes synchron 
ansteuern. Aber die konkrete Anwendung kann ich nicht darlegen, weil das 
eine solche Superidee ist, daß die natürlich sofort vor der Patentierung 
geklaut würde und so diese Gründung des 'facebook' der 
Hochspannungstechnik verhindern würde.

Sorry
Cheers
Detlef

von Mein Beitrag (Gast)


Lesenswert?

Detlef _. schrieb:
> Wir wollen MOSFETs auf Hochspannungspotential des 110kV Netzes synchron
> ansteuern.

Das bedeutet, jeder Transistor muss seinen Anteil der heruntergeteilten 
Spannung von einigen Hundert Volt Schalten und Halten.

Genau das macht jeder zweite Synchron-Umrichter, bei dem die "Ventile", 
wie wir sie altdeutsch nennen, in Reihe geschaltet sind und (nach 
Maßgabe der Möglichkeiten) zeitversetzt gesteuert werden, um Stufen in 
die Spannungen zu bringen. Auch in der Auto-Elektronik wird das so 
gemacht, wenngleich nicht sofort mit 110kV.

Ich sehe da noch nicht die geniale Idee. Das ist weder neu noch 
sonderlich schöpferisch. Im Gegenteil: Das ist eine reine Frage der 
Implementierung. Die Anteuerung mit FPGAs sollte dabei das kleinste 
Problem sein. Da drohen ganz andere Dinge aus der HV-Technik. 
Insbesondere wird es auf Layout- Verschaltung- Leiterbahnführung und 
Isolationstechnik ankommen. Es ist also ein Umsetzungsthema und das ist 
von Patenten bedroht oder betroffen. Wenn überhaupt kannst du dir am 
Ende das Layout patentieren lassen oder die Nutzung eines HV-Isolators, 
den du noch bauen musst. Die Handhabung von Kriechstrecken wird das 
Hauptproblem werden, denn sobald ein solcher Reihenstransistor / 
Thyristor  Varactor  Diac / Triac und was wir schon alles vebrutzelt 
haben, auch nur daran denkt, zu schließen, möchten die 500V Differenz 
liebend gern an ihm vorbei. Und sobald sie das geschafft haben, dann 
fließen die Amperes per Ladungsstoss und die Nachbarn sehen plötzlich 
nicht nur 110kV / ((n-1)*n) sondern auch noch den Impuls, der sich durch 
die Bahngebiete der HL frisst. Und die machen dann auch Pause.

Ich habe schon solche Apparturen werkeln sehen und am Ende hatten die 
alles eines gemeinsam: Sie produzierten um die Senke herum eine 
ordentliche -> Corona. Bei der allerding wären 1,50 Abstand ein bissl 
wenig gewesen.

von J. S. (engineer) Benutzerseite


Lesenswert?

Esel schrieb:
> Vor allem gib es nicht sonderlich viele Topologien, bei
> denen man 150 verschiedene Schalter getrennt ansteuern muss.
Es sind Hunderte Transistoren, wegen des Stromes und damit Leitungen. 
Die Schalter sind die Halbleiter. Es sind nicht notwendigerweise 100te 
Zuleitungen und damit auch nicht unbedingt ebensoviele FPGA-Ausgänge.

Esel schrieb:
> Was verstehst du unter "SSO Kompensation"?
Simultan Schaltende Ausgänge, siehe die SPEC der FPGAs zu diesem Punkt. 
Jeder Ausgang zieht Strom und beeinflusst ein wenig seine Nachbarn. Mit 
einem Analog-Oszi kann man das Schalten eines Ausgangs auf der 
Nachbarleitung sehen, wenn die gerade nichts tut. Umgekehrt wird deren 
Schaltvorgang verzögert. Solches digitales Schalten ist dann besonders 
unangenehm, wenn man den Schaltvorgang direkt nutzen möchte, weil es 
nicht digital nach einer Weile genutzt wird (da Datenleitung) sondern 
Taktleitung (z.B. CLK, DQS öä.) oder wenn wie im Falle eines manuellen 
32BIT DAC direkt geschaltet wird. Dann braucht es noch eine Folge-Gating 
der Leitungen. Zudem ist das in die Knie-Gehen berechenbar und kann als 
Überbleibsel vom Analogsignal abgezogen werden, wenn man den impact 
modellieren kann. Für Audio gibt es das und m.W war ich der erste, der 
das gemacht hat.

Mein Beitrag schrieb:
> Es ist also ein Umsetzungsthema und das ist
> von Patenten bedroht oder betroffen.
Das bereits ist problematisch genug und Umsetzungen in dem Sektor 
durchaus patentwürdig.

von Tobias B. (Firma: www.elpra.de) (ttobsen) Benutzerseite


Lesenswert?

Jürgen S. schrieb:
> Für Audio gibt es das und m.W war ich der erste, der
> das gemacht hat.

Gibt es dazu irgendwelche Papers (also zu dem Audio Thema)? Wuerde mich 
mal interessieren was da gemacht wird. :-)

von Detlef _. (detlef_a)


Lesenswert?

Dieses Ding

https://shop.trenz-electronic.de/de/TE0711-01-100-2I-High-IO-Industrial-grade-Xilinx-Artix-7-100T-Module-mit-Speedgrade-2I-und-USB?c=140

mit 178 IOs nehmen wir.

>>>>>
Das bedeutet, jeder Transistor muss seinen Anteil der heruntergeteilten
Spannung von einigen Hundert Volt Schalten und Halten.

Nein, das bedeutet es nicht. Die Transistoren sind auf 110kV Potential, 
soviel schalten können  und müssen die nicht.

>>>>>>
Ich sehe da noch nicht die geniale Idee. Das ist weder neu noch
sonderlich schöpferisch. Im Gegenteil: Das ist eine reine Frage der
Implementierung.

Achso. Stimmt. Ja, dann wird das alles nix. Schade. Danke für den 
Hinweis, wir hätten echt verkackt.

Cheers
Detlef

von Michael W. (Gast)


Lesenswert?

Detlef _. schrieb:
> Achso. Stimmt. Ja, dann wird das alles nix. Schade. Danke für den
> Hinweis, wir hätten echt verkackt.

Schade, dass Diskussionen immer in diese Richtung münden. Ich arbeite 
ebenfalls oft mit Leistungselektronik und finde das Thema spannend. Eine 
110kV-Anwendung kenne ich selber nicht, kann aber bestätigen, dass die 
Umrichter, die man für große Synchronanlagen und -motoren einsetzt mit 
in Reihe geschalteten Thyristoren / Triacs und IGBTs arbeiten, um auf 
die benötigte Spannung zu kommen.

Ein zurückliegendes Beispiel bezieht sich auf eine HV-Steuerung eines 
Krans: Der Dort verbaute Motor hat Ströme in der Größenordnung von 
einigen Kilo-Ampere und die Spannung die es braucht, um die in die 
Wicklungen zu bekommen liegt bei etlichen Kilovolt. Da wurden ebenfalls 
mehrere Halbleiter zusammengeschaltet. Man unterstellt sogar den Defekt 
einzelner Bauteile und hat serielle / parallel Wege, um die aufzufangen.

Auch die Inverter in der Hoch-Volt-Schweißindustrie benutzen das, um das 
hochschnelle Wechselfeld zu generieren, Stichwort WIG.

Etwas kleiner geht es in der Autoindustrie zu:

Elektroantriebe arbeiten meistens mit unter 1kV, aber auch die werden 
aus Gründen der Dosierbarkeit mit Stufen geschaltet. Eine von der Uni 
Karlsruhe vor Jahren vorgestellte Lösung schafft so an die 95% 
Wirkungsgrad und ist in der Lage, mit digital überlappend gesteuerten 
Transistoren (jeder einzelne macht nur ON/OFF) einen in sehr kleinen 
Schritten quantisierten Sinus hinzubekommen, den man für das Drehfeld 
benötigt. Diese Stufentechnik ermöglicht eine schnelle Anpassung der 
Kapazität und Ausbalancierung der kapazitiven Last/Speicherfunktion, die 
vor allem auch dem Rekuperationsbetrieb zu Gute kommt, weil die 
Spannungs- und Phasendifferenzen fein dosierbar werden.

Die Formel-E fährt solche Systeme mit Spannungen hart an der 
1500Vss-Marke und hat eine erstaunliche Effizienz bei der 
Wiedergewinnung der Energie. Was man aus der Batterie über den Umsetzer 
an kinetischer Energie ins Auto steckt, ist mit fast 60% wieder in die 
Batterie zurückzubekommen, inklusive aller mechanischer und elektrischer 
Verluste.

Solche Schaltungen müssten sich eigentlich gut kaskadieren lassen. 110kV 
halte ich aber trotzdem für eine Herausforderung.

von Michael W. (Gast)


Lesenswert?

Gustl B. schrieb:
> Vielleicht ist aber auch ein FPGA die beste Lösung. Da wäre dann auch
> interessant welche Pegel du brauchst. Die IOs der HP Bänke gehen nur bis
> 1,8 V.

Um einen IGBT oder Power-MOSFET zu schalten, gibt es spezielle Treiber, 
welche  die Lastkapazität managen können. Mit einem Schalten direkt aus 
einem FPGA heraus wird das nichts. Die Flanke wäre zu flach und der 
Schaltvorgang kann im schlechtesten Fall den Transistor sogar verstören. 
Dieses Schalt-Limit ist der Hauptgrund, warum man die Transistoren 
parallel und sequenziell schalten muss. Mehr Spannung würden die sogar 
oft noch abkönnen, aber im Regelbetrieb müssen sie sehr oft geschaltet 
werden, was die Leistung und die Temperatur hochtreibt.

von Detlef _. (detlef_a)


Lesenswert?

Wir erzeugen 110kV und zwar mit 40 Stufen a 3kV. Die SiC Mosfets der 
H-Brücken werden über Lichtleiter angesteuert und haben natürlich 
Gatetreiber und die Anstiegszeit der Photodioden liegt bei 2ns. Die 
Lichtleiter werden unten mit dem FPGA angesteuert um die Flanken 
gegeneinander im sub-ns Bereich schieben zu können.

>>>>>>>>
Detlef _. schrieb:
> Achso. Stimmt. Ja, dann wird das alles nix. Schade. Danke für den
> Hinweis, wir hätten echt verkackt.
Schade, dass Diskussionen immer in diese Richtung münden.
<<<<<<
Ja, hier sind diese Spezialisten unterwegs, die nicht die Frage 
verstehen und alle anderen für Anfänger und Vollidioten halten. Ironie 
verstehen die auch nicht. Aber ich.

Cheers
Detlef

Beitrag #6674279 wurde von einem Moderator gelöscht.
von Michael W. (Gast)


Lesenswert?

Detlef _. schrieb:
> Wir erzeugen 110kV und zwar mit 40 Stufen a 3kV.

Darf man darüber etwas mehr wissen? Gibt es bereits ein Produkt?

von Detlef _. (detlef_a)


Angehängte Dateien:

Lesenswert?

Ja, man darf wissen. Geht voran, anbei das aktuelle layout einer 3kV 
Stufe.
Da gilt es Isolationsabstände einzuhalten, 7mm auf Aussenlayern, 4 auf 
Innenlayern in der horizontalen. In der Vertikalen hat man auf der 4 
layerplatine 0.2mm vom Aussenlayer auf  die Innenlayer und 1.2 zwischen 
den Innenlayern. Wir nehmen an, dass die 1.2mm die 3kV halten, die 0.2 
nicht. Das macht layout Restriktionen.

Dazu möchte man Gleitentladungsanordnungen ( GLEITentladung, nicht 
TEILentladung, immer EILT drin aber trotzdem was Verschiedenes) 
vermeiden https://de.wikipedia.org/wiki/Teilentladung. Nicht ganz ohne, 
die erste Serie wird sicher durchschlagen, aber demnächst werden wir RC1 
bei JLBPCB platzieren können, inshallah :))

Wo die kundigen Interessierten gerade so schön zusammensitzen:

Wir wollen das TRENZ Xilinx Spartan7 FPGA mit den 160 Ausgängen und 40 
Eingängen vom uC aus über einen SPI steuern. Der Spartan7 ist noch nicht 
up-and-running, da möchte ich die SPI Schnittstelle erstmal auf einem 
CMOD S7 von Digilent in VHDL vorbereiten.

Ich bin da nicht so fit, das muss ich üben.

Habt Ihr
- schon mal eine SPI Schnittstelle in VHDL implementiert ?
- was mit dem CMOD S7 von Digilent gebastelt  ?

Zu Ersterem hab ich auf dem web noch nicht gesucht, Material zu 
Letzterem ist rar.

Freue mich über Hinweise und Anregungen.

THX
Cheers
Detlef

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Detlef _. schrieb:
> schon mal eine SPI Schnittstelle in VHDL implementiert ?
Ja, https://www.google.com/search?q=SPI+Schnittstelle+VHDL

: Bearbeitet durch Moderator
von Tobias B. (Firma: www.elpra.de) (ttobsen) Benutzerseite


Lesenswert?

Detlef _. schrieb:
> Ich bin da nicht so fit, das muss ich üben.
>
> Habt Ihr
> - schon mal eine SPI Schnittstelle in VHDL implementiert ?

Das ist die perfekte Aufgabe zum ueben! So ziemlich jeder der FPGAler 
hat schonmal eine SPI (und UART ;-)) Schnittstelle irgendwo geschrieben 
und implementiert. :-)

von Duke Scarring (Gast)


Lesenswert?

Detlef _. schrieb:
> Habt Ihr
> - schon mal eine SPI Schnittstelle in VHDL implementiert ?
Ja, mehrfach. Schön simpel, als SPI-Slave braucht man nicht mal einen 
Zähler.

> - was mit dem CMOD S7 von Digilent gebastelt  ?
Nein. Aber egal welches Board mit welchem FPGA man hat. Relevant ist der 
Schaltplan, damit man die Pinzuordnung hinbekommt. Außerdem möchte man 
wissen, was an Peripherie so verbaut ist. Dann besorgt man sich von 
sämtlicher Peripherie die Datenblätter und studiert diese.

Duke

von InvalidFact (Gast)


Lesenswert?

SPI Master/Slave implementieren kann man und habe ich selber schon oft 
genug gemacht. Mittlerweile nehme ich aber gerne den hier:

https://opencores.org/projects/spi_master_slave

Kann viel bei geringem Ressourcenverbrauch, ist einfach einzubinden und 
die Beschreibung im Header und auf der Seite ist meiner Meinung nach 
ausreichend.

Hab den auch bei einem Artix 7 im Einsatz.

von Duke Scarring (Gast)


Lesenswert?

InvalidFact schrieb:
> Mittlerweile nehme ich aber gerne den hier:
>
> https://opencores.org/projects/spi_master_slave

Ich hab nur mal kurz reingeschaut:
https://opencores.org/websvn/filedetails?repname=spi_master_slave&path=%2Fspi_master_slave%2Ftrunk%2Frtl%2Fspi_master_slave%2Fspi_slave.vhd

> use ieee.numeric_std.all;
> use ieee.std_logic_unsigned.all;
Aua!

> signal state_next : natural range N downto 0 := 0;      -- state 0 is idle state
> signal state_reg : natural range N downto 0 := 0;       -- state 0 is idle state
Da wird eine unübersichtliche FSM mit der zwei Prozess-Methode 
verwendet.

>    out_transfer_proc : process ( clk_i, do_transfer_reg, di_req_reg,
>                                  do_valid_A, do_valid_B, do_valid_D,
>                                  di_req_o_A, di_req_o_B, di_req_o_D) is
Hier gibt es eine sehr fragwürdige Mischung aus kombinatorischem und 
getaktetem Prozess.

> if clk_i'event and clk_i = '1' then
Das ist nur altmodisch, aber schlecht lesbar. Besser ist risign_edge().

Positiv fallen mir die vielen Kommentare auf, aber mir wäre der Code 
viel zu umständlich. Außerdem ist SPI so klein, das hat m.E. keine 
eigene entity verdient.

Bei mir sieht ein SPI-slave z.B. so aus:
1
    signal data_in              : std_ulogic_vector( 31 downto 0);
2
    signal data_out             : std_ulogic_vector( 31 downto 0);
3
4
    signal receive_data         : std_ulogic_vector( 31 downto 0);
5
    signal send_data            : std_ulogic_vector( 31 downto 0);
6
7
...
8
9
    miso            <= send_data( send_data'high) when cs_n = '0' else 'Z';
10
11
    -- spi receive
12
    process
13
    begin
14
        wait until rising_edge( sclk);
15
        if cs_n = '0' then
16
            receive_data    <= receive_data( receive_data'high - 1 downto 0) & mosi;
17
        end if;
18
    end process;
19
20
    -- spi send & spi data handling
21
    process( cs_n, receive_data, data_in, sclk)
22
    begin
23
        if cs_n = '1' then
24
            data_out    <= receive_data;
25
            send_data   <= data_in;
26
        elsif rising_edge( sclk) then
27
            send_data   <= send_data( send_data'high - 1 downto 0) & '0';
28
        end if;
29
    end process;

Wenn man noch ein data_valid braucht, generiert man sich das aus der 
steigenden Flanke vom chip select.

Duke

von InvalidFact (Gast)


Lesenswert?

Detlef _. schrieb:
> Die
> Lichtleiter werden unten mit dem FPGA angesteuert um die Flanken
> gegeneinander im sub-ns Bereich schieben zu können.

Habt ihr schon eine Idee wie ihr das realisiert?

Die ODELAY Primitives vom Artix 7, welche das könnten, sind meines 
Wissens nach nicht auf den HR Bänken des Artix 7 verfügbar (sondern nur 
bei den sehr begrenzt verfügbaren SERDES).

Von der Taktfrequenz her alleine bekommt ihr das nicht hin. Mehr als 500 
- 600 Mhz schafft der A7 selbst bei einem sehr guten Design und 
Speedgrade 3 nicht. Damit seit ihr bei einer Taktdauer > 1.6ns.

Ihr könntet mit mehreren internen Clocks arbeiten und die dann 
zueinander Phasenverschieben. Damit würde man glaube ich die geforderte 
Auflösung erreichen. Allerdings habt ihr nicht so viele Clocks wie IOs.

Die einzige Möglichkeit die mir aktuell einfällt: Mehrere zueinander 
phasenverschobene Clockdomänen auf denen die IOs aufgeteilt werden.
Nehmen wir mal 400 MHz und 5 Domänen an. Dann wäre jede Domäne 
zueinander um 0.5ns verschoben.
Die I/Os müssten dann der jeweiligen Domäne zugeordnet werden. Was aber 
sicher extrem kritisch ist: Das interne Routen der Signale sowie die IOs 
haben auch einen variablen Delay. Dem kann man ein Stück weit mit 
Constraints entgegenwirken, aber das ganze müsste wohl kalibriert werden 
(soweit überhaupt möglich).

Will euch das ganze nicht schlechtreden, aber mich würd wirklich 
interessieren wie man das mit einem Artix-7 lösen kann ;-).

Grüße

von Christian R. (supachris)


Lesenswert?

InvalidFact schrieb:
> Die ODELAY Primitives vom Artix 7, welche das könnten, sind meines
> Wissens nach nicht auf den HR Bänken des Artix 7 verfügbar (sondern nur
> bei den sehr begrenzt verfügbaren SERDES).

Das verwechselst du wahrscheinlich mit den MGT. Die ISERDES/OSERDES 
gibts eigentlich überall, denn der Artix hat doch ausschließlich HR 
I/Os.

Sportlich wird es trotzdem, aber machbar. Wir verwenden die OSERDES auch 
um mit 125MHz Takt einen externen Puls in 1ns Schritten Länge 
einzustellen. Geht ganz gut.

von Falk B. (falk)


Lesenswert?

Detlef _. schrieb:
> Wir wollen MOSFETs auf Hochspannungspotential des 110kV Netzes synchron
> ansteuern.

Und das muss natürlich auf 1ns genau sein. Jaja. Na dann mal viel Spaß 
dabei.

von Falk B. (falk)


Lesenswert?

Detlef _. schrieb:
> Wir erzeugen 110kV und zwar mit 40 Stufen a 3kV. Die SiC Mosfets der
> H-Brücken werden über Lichtleiter angesteuert und haben natürlich
> Gatetreiber und die Anstiegszeit der Photodioden liegt bei 2ns. Die
> Lichtleiter werden unten mit dem FPGA angesteuert um die Flanken
> gegeneinander im sub-ns Bereich schieben zu können.

Und was soll da am Ende rauskommen? 110kV DC kann man heute mit 
einfachen HV-Kaskaden erzeugen? Was wollt ihr erzeugen? 110kV AC? Eine 
110kV Einspeisung (Wechselrichter) von einem Solarpanel ohne Trafo?

von Detlef _. (detlef_a)


Lesenswert?

Hallo,

ja, danke für die Hinweise zu SPI und zu dem Flankenschieben. Wir sind 
da bißchen unterbelichtet, aber das ist nen fettes FPGA und wenn alle 
Stricke reissen zapfen wir ne Invertiererkette gesteuert an, wird schon 
irgendwie gehen. Wichtiger ist erstmal die Ansteuerung der Lichtleiter 
mit weniger präzisen Flankenzeiten.

Falk B. schrieb:
>  Jaja

Danke, selbiges.

Falk B. schrieb:
>>Und was soll da am Ende rauskommen?

Nen Funktionsgenerator.

Cheers
Detlef

von Falk B. (falk)


Lesenswert?

Detlef _. schrieb:
> Falk B. schrieb:
>>>Und was soll da am Ende rauskommen?
>
> Nen Funktionsgenerator.

Im Ernst? Ihr wollt einen linearen Verstärker für 110kV bauen? Hmm, 
sowas kann man machen, machen wir hier auch, wenn gleich bisher nur bis 
62kV. Allerdings ist der Kern der HV-Ausgangsstufen linear geregelt.

Beitrag "Re: 1500V Linearverstärker"

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
Noch kein Account? Hier anmelden.