Project still active.
12 GHz frequency synthesizer, 12 GHz mixer, microwave filters, free-running X-band oscillator using a dielectric resonator with coupling to probe material, Xilinx interconnect and eval logic, interface to BeagleBoneBlack single board computer, controlling everything from Linux/C-interface.
Erzeugung einer Abtastrate von 2.5 GHz für ADCs und DACs mit sehr geringem Phasenrauschen und wenig Nebenwellen. Die Abtastrate kann auf ein 1PPS-Signal oder eine 10/100 MHz Referenzfrequenz synchronisiert werden. Der Zeitversatz der ADCs und DACs ist sehr konstant.
- Einbetten eines kommerziellen Steuerrechners in eine raumfahrttaugliche Umgebung,LatchUp protection, Überwachung, TMR, Scrubbing
Erstellen einer Bibliothek für Triple Module Redundancy in VHDL. Verhindern der allzu einladenden Optimierungsversuche des VHDL-Compilers, der ja auf Redundanzvermeidung angelegt ist. Die Bibliothek verbirgt einen Großteil der Probleme der TMR vor dem Benutzer durch neue Typen wie TMR_sdt_logic und tmr_std_logic_vector, die fast wie IEEE std_logic zu benutzen sind.
Erstellen eines dreifach redundanten Scrubbers zum Sauberhalten des FPGA-Konfigurations-Speichers. Die Konfiguration eines FPGAs wird in einem sehr großen statischen RAM gehalten. Im Weltraum ist dieses RAM ionisierender Strahlung ausgesetzt, was zu lokalen Fehlern im RAM-Inhalt führt. Das FPGA enthält deshalb Logik, die den eigenen Konfigurationsspeicher zyklisch aus einem ROM auffrischt. Dieser Vorgang wird Scrubbing genannt.
Da Bitfehler in der Refreshlogik über kurz oder lang zum Ausfall des ganzen Chips führen, ist Redundanz hier zwingend erforderlich. Der Scrubber wurde in mehreren FPGAs benutzt.
Die Virtex-FPGAs stellen kleine Stücke des Konfigurationsrams dem Benutzer als RAMs oder Register zur Verfügung. In einem gescrubbten System kam man diese RAMs nicht benutzen, weil die Inhalte ja zyklisch rückgesetzt werden. Unglücklicherweise verwendet einige IP von Xilinx diese RAMs, so auch der Picoblaze-Prozessor, der in unserem System zahlreich vertreten war. Ich habe die relevanten Teile des Picoblaze-Prozessors reverse-engineered und die verbotenen RAMs als FlipFlop-Arrays re-implementiert.
Auch weitere Baugruppen wie z.B. die Uhr für die Position im Orbit oder die SEU-Erkennung des kommerziellen Rechners mussten redundant implementiert werden. Die Herstellerwerkzeuge für TMR waren wegen ITAR nicht verfügbar. (Sie gelten US-rechtlich als Waffen.)
- Analoge Baugruppe zum Vergleich der Frequenzen eines Wasserstoff-Masers und eines Cäsiumnormals mit Hilfe eines Dual-Mixer-DownConverters
Ein Maser und ein Cäsiumnormal liefern jeweils 100 MHz. Die Phase und das Phasenrauschen zwischen den beiden Trägern soll gemessen werden. Dazu werden mit Hilfe eines Transferoszillators etwa 99 MHz subtrahiert, und zwar identisch für beide Eingänge. Auf der Ausgangsfrequenz erscheinen relative Phasenänderungen dann etwa 100-fach verstärkt wenn man sie in Picosekunden misst. Die Fehler des Transferoszillators heben sich in erster Näherung heraus. Das gilt streng nur für die Auswertung der beiden Kanäle zum exakt gleichen Zeitpunkt. Weil man aber Zeitdifferenzen messen will gilt das nicht wirklich genau.
Aus diesem Grund ist der Transferoszillator durchaus anspruchsvoll, was das Phasenrauschen angeht. Erschwerend kam hinzu, dass das Flugexemplar quasi auf Anhieb funktionieren musste, weitgehend ohne Abgleich, da Lötverbindungen allenfalls einmal korrigiert werden durften (vom Lötspezialisten und nur mit schriftlicher Genehmigung) und Trimmer selbstverständlich verboten waren. Auch musste das Anschwingen und die Performance-Daten wie Rauschen und Abstimmbereich über grosse Versorgungsspannungs- und Temperaturänderungen sichergestellt sein weil dieser Oszillator ein single point of failure für die ganze Mission war.
- Time Stretcher
Der Abstand zweier Pulse soll mit 5 ps Auflösung gemessen werden. Der Abstand der Pulse beträgt zwischen 20 und 29.99.. nsec. (Die groben 10ns-Schritte werden schon im Vorfeld mit einer 100 MHz-Zeitbasis ausgezählt und entfernt.)
Es wird ein Dual-Slope-Verfahren benutzt. Ein Kondensator wird mit einer geschalteten Konstantstromquelle aufgeladen und mit einer 5000-fach schwächeren Konstantstromquelle wieder entladen. Die Entladezeit ist der Aufladezeit proportional und kann mit einer Zeitbasis ausgezählt werden.
- Locken eines Downconverters
Ein Mikrowellenempfänger enthielt einen Oszillator auf etwa 1.6 GHz, der auf einen empfangenen Träger gelockt werden musste. Dazu mussten die Abstimmgrenzen des Hardware-Exemplars ausgemessen, Doppler und die Linearität des VCOs berücksichtigt werden und nach dem Vorsynchronisieren an die analoge PLL mit nur kleinem Lock-Range übergeben werden. Für diese Tätigkeiten wäre eine CPU die korrekte Wahl gewesen, aufgrund einer ungünstigen Designentscheidung in der Frühzeit des Projektes musste das aber in VHDL im FPGA erzwungen werden. Das führte zu überaus großen Zustandsautomaten und LookUp-Tabellen.
Bei allen Platinen in meiner Zuständigkeit: Betreuung des externen Layoutdienstleisters und Sicherstellen, dass die design rules für die jeweiligen Fertigungsprozesse eingehalten wurden. Teilbaugruppen wurden von verschiedenen Firmen in verschiedenen EU-Staaten gefertigt, z.T. in abweichenden Prozessen wie Hand- oder Vapor-Phase-Löten.
„Meine“ Baugruppen habe ich in den offiziellen Design-Reviews bezüglich Flugfähigkeit erfolreich verteidigt, ebenso Baugruppen, die ich von Ex-Kollegen adoptiert habe.
Programmierung der Testprozessoren in einem Mixed-Signal Wafertester. Treiber unter Linux, Einbindung von Testgeräten über GPIB / Netzwerk, TDR, test signal generation
Logik mit N-MOS-Prozess von HP
steuerung auf analogem Transistor-Array
AEG-Telefunken B1000 (u.a. LM124-artiger OpAmp,
Komparator, BandGap-Referenz)
Project still active.
12 GHz frequency synthesizer, 12 GHz mixer, microwave filters, free-running X-band oscillator using a dielectric resonator with coupling to probe material, Xilinx interconnect and eval logic, interface to BeagleBoneBlack single board computer, controlling everything from Linux/C-interface.
Erzeugung einer Abtastrate von 2.5 GHz für ADCs und DACs mit sehr geringem Phasenrauschen und wenig Nebenwellen. Die Abtastrate kann auf ein 1PPS-Signal oder eine 10/100 MHz Referenzfrequenz synchronisiert werden. Der Zeitversatz der ADCs und DACs ist sehr konstant.
- Einbetten eines kommerziellen Steuerrechners in eine raumfahrttaugliche Umgebung,LatchUp protection, Überwachung, TMR, Scrubbing
Erstellen einer Bibliothek für Triple Module Redundancy in VHDL. Verhindern der allzu einladenden Optimierungsversuche des VHDL-Compilers, der ja auf Redundanzvermeidung angelegt ist. Die Bibliothek verbirgt einen Großteil der Probleme der TMR vor dem Benutzer durch neue Typen wie TMR_sdt_logic und tmr_std_logic_vector, die fast wie IEEE std_logic zu benutzen sind.
Erstellen eines dreifach redundanten Scrubbers zum Sauberhalten des FPGA-Konfigurations-Speichers. Die Konfiguration eines FPGAs wird in einem sehr großen statischen RAM gehalten. Im Weltraum ist dieses RAM ionisierender Strahlung ausgesetzt, was zu lokalen Fehlern im RAM-Inhalt führt. Das FPGA enthält deshalb Logik, die den eigenen Konfigurationsspeicher zyklisch aus einem ROM auffrischt. Dieser Vorgang wird Scrubbing genannt.
Da Bitfehler in der Refreshlogik über kurz oder lang zum Ausfall des ganzen Chips führen, ist Redundanz hier zwingend erforderlich. Der Scrubber wurde in mehreren FPGAs benutzt.
Die Virtex-FPGAs stellen kleine Stücke des Konfigurationsrams dem Benutzer als RAMs oder Register zur Verfügung. In einem gescrubbten System kam man diese RAMs nicht benutzen, weil die Inhalte ja zyklisch rückgesetzt werden. Unglücklicherweise verwendet einige IP von Xilinx diese RAMs, so auch der Picoblaze-Prozessor, der in unserem System zahlreich vertreten war. Ich habe die relevanten Teile des Picoblaze-Prozessors reverse-engineered und die verbotenen RAMs als FlipFlop-Arrays re-implementiert.
Auch weitere Baugruppen wie z.B. die Uhr für die Position im Orbit oder die SEU-Erkennung des kommerziellen Rechners mussten redundant implementiert werden. Die Herstellerwerkzeuge für TMR waren wegen ITAR nicht verfügbar. (Sie gelten US-rechtlich als Waffen.)
- Analoge Baugruppe zum Vergleich der Frequenzen eines Wasserstoff-Masers und eines Cäsiumnormals mit Hilfe eines Dual-Mixer-DownConverters
Ein Maser und ein Cäsiumnormal liefern jeweils 100 MHz. Die Phase und das Phasenrauschen zwischen den beiden Trägern soll gemessen werden. Dazu werden mit Hilfe eines Transferoszillators etwa 99 MHz subtrahiert, und zwar identisch für beide Eingänge. Auf der Ausgangsfrequenz erscheinen relative Phasenänderungen dann etwa 100-fach verstärkt wenn man sie in Picosekunden misst. Die Fehler des Transferoszillators heben sich in erster Näherung heraus. Das gilt streng nur für die Auswertung der beiden Kanäle zum exakt gleichen Zeitpunkt. Weil man aber Zeitdifferenzen messen will gilt das nicht wirklich genau.
Aus diesem Grund ist der Transferoszillator durchaus anspruchsvoll, was das Phasenrauschen angeht. Erschwerend kam hinzu, dass das Flugexemplar quasi auf Anhieb funktionieren musste, weitgehend ohne Abgleich, da Lötverbindungen allenfalls einmal korrigiert werden durften (vom Lötspezialisten und nur mit schriftlicher Genehmigung) und Trimmer selbstverständlich verboten waren. Auch musste das Anschwingen und die Performance-Daten wie Rauschen und Abstimmbereich über grosse Versorgungsspannungs- und Temperaturänderungen sichergestellt sein weil dieser Oszillator ein single point of failure für die ganze Mission war.
- Time Stretcher
Der Abstand zweier Pulse soll mit 5 ps Auflösung gemessen werden. Der Abstand der Pulse beträgt zwischen 20 und 29.99.. nsec. (Die groben 10ns-Schritte werden schon im Vorfeld mit einer 100 MHz-Zeitbasis ausgezählt und entfernt.)
Es wird ein Dual-Slope-Verfahren benutzt. Ein Kondensator wird mit einer geschalteten Konstantstromquelle aufgeladen und mit einer 5000-fach schwächeren Konstantstromquelle wieder entladen. Die Entladezeit ist der Aufladezeit proportional und kann mit einer Zeitbasis ausgezählt werden.
- Locken eines Downconverters
Ein Mikrowellenempfänger enthielt einen Oszillator auf etwa 1.6 GHz, der auf einen empfangenen Träger gelockt werden musste. Dazu mussten die Abstimmgrenzen des Hardware-Exemplars ausgemessen, Doppler und die Linearität des VCOs berücksichtigt werden und nach dem Vorsynchronisieren an die analoge PLL mit nur kleinem Lock-Range übergeben werden. Für diese Tätigkeiten wäre eine CPU die korrekte Wahl gewesen, aufgrund einer ungünstigen Designentscheidung in der Frühzeit des Projektes musste das aber in VHDL im FPGA erzwungen werden. Das führte zu überaus großen Zustandsautomaten und LookUp-Tabellen.
Bei allen Platinen in meiner Zuständigkeit: Betreuung des externen Layoutdienstleisters und Sicherstellen, dass die design rules für die jeweiligen Fertigungsprozesse eingehalten wurden. Teilbaugruppen wurden von verschiedenen Firmen in verschiedenen EU-Staaten gefertigt, z.T. in abweichenden Prozessen wie Hand- oder Vapor-Phase-Löten.
„Meine“ Baugruppen habe ich in den offiziellen Design-Reviews bezüglich Flugfähigkeit erfolreich verteidigt, ebenso Baugruppen, die ich von Ex-Kollegen adoptiert habe.
Programmierung der Testprozessoren in einem Mixed-Signal Wafertester. Treiber unter Linux, Einbindung von Testgeräten über GPIB / Netzwerk, TDR, test signal generation
Logik mit N-MOS-Prozess von HP
steuerung auf analogem Transistor-Array
AEG-Telefunken B1000 (u.a. LM124-artiger OpAmp,
Komparator, BandGap-Referenz)
Direktester geht's nicht! Ganz einfach Freelancer finden und direkt Kontakt aufnehmen.