Nach den erfolgreichen Versuchen mit Ramian 1 und der sPort-Testsoftware wäre wohl der nächste logische Schritt gewesen, das System zu vervollständingen und eine Software zu entwickeln, die die gewünschten Ergebnisse zeigt. Allerdings hat Ramian 1 einige Limitierungen, die mich genug unzufrieden damit gemacht haben, dass ich eine Entwicklung einer neuen Version für notwendig hielt. Da dabei jedoch ein Architekturwechsel anstand, habe ich die Fertigstellung des Ramian1-Systems abgebrochen zugunsten der neuen Version: Ramian 2.0.
Ziele von Ramian 2.0:
Die Samplingrate soll nicht wesentlich größer werden, da die mit Ramian 1 erreichte bereits völlig ausreichend ist und eine größere Rate lediglich mehr Rechenaufwand bedeutet (sofern nicht einfach gemittelt wird).
Die Auflösung des ADCs sollte wenn möglich größer sein. Dafür muss jedoch auch das Rauschen möglichst klein gehalten werden.
Da die Sendefrequenz des RSM1650 durch Variieren der Versorgungsspannung im Bereich von +/- 0,5 V beinahe linear verändert werden kann, soll diese Möglichkeit in Form eines angemessenen DACs nutzbar werden.
Das größte Problem von Ramian 1 ist seine Inflexibilität bezüglich der Spannungsversorgung. Ramian 2 soll daher über eine beliebige 12 V-Quelle (etwa einen 3S-Lithium-Polymer-Akku) versorgt werden können und alle notwendigen Spannungen selbst erzeugen.
Die für den vorherigen Punkt notwendigen Schaltwandler müssen jedoch so gestaltet werden, dass die von ihnen erzeugten Spannungen ähnlich rauscharm sind wie die, die Ramian 1 mit seinen Linearreglern erzeugt hat.
Der zuvor verwendete ATmega32U4 war schon bei Ramian 1 am Rande seiner Leistungsfähigkeit bei hohen Datenraten. Es muss also ein neuer, wesentlich leistungsfähigerer Mikrocontroller gefunden werden.
Da Ramian 2 als Plattform für viele Experimente dienen kann, die eine ADC/DAC-Kombination benötigen, soll Ramian 2 möglichst modular und leicht umkonfigurierbar ausgelegt werden.
Wenn möglich sollte Ramian 2 nicht wesentlich größer als die Ramian1-Platine werden.
Trident 1.0
Zunächst sollte die nicht ganz einfache Spannungsversorgung umgesetzt werden. Da aus einer einzelnen Spannungsquelle drei Versorgungsspannungen erzeugt werden sollen, habe ich diesen Abschnitt der Platine Trident (also Dreizack) getauft.
Features von Trident 1.0:
Trident soll mit Spannungen zwischen 11 und 24 V versorgt werden können. Daraus sollen die drei Vesorgungsleitungen +10 V, +5 V und -10 V erzeugt werden.
Die +10 V-Leitung wird linear von einem LT1965 mit einigen Filtergliedern geregelt.
Für die +5 V-Leitung erzeugt ein LTC3646 in Synchronwandler-Topologie zunächst eine Zwischenspannung von +7 V, die dann linear von einem LT1965 auf +5 V geregelt wird.
Ein LT3580 in SEPIC-Topologie erzeugt zunächst -13 V, die dann von einem LT3015 linear auf -10 V geregelt wird.
Beide Schaltwandler sind ein- und ausgangsseitig mit entsprechenden Filtern versehen, um die (insbesondere beim SEPIC) entstehenden Oberwellen rauszufiltern.
Die Wandler sind gegenphasig synchronisiert mit Hilfe eines LT6900 und eines 74LVC1G04 von NXP, um das Rauschen weiter zu reduzieren.
Alle drei Zweige sind untereinander durch Filterglieder abgetrennt.
Alle Komponenten wurden so ausgewählt, dass sie besonders rauscharm sind.
Trident durchlief zunächst eine Testphase als LTSpice-Schaltung, bis ich mit den Filtern und der Transientenantwort der einzelnen Leitungen zufrieden war. Anschließend fand es einen eigenen Abschnitt am oberen Ende der Ramian-2.0-Platine. Bis auf den Punkt, dass ich einen Tantalkondensator durch zwei Keramikkondensatoren ersetzen musste, um auf einen ähnlichen Wert zu kommen, funktionierte Trident auf Anhieb fehlerfrei, was gerade bei mehreren, bislang ungetesteten Schaltwandlern ein erfreulicher Umstand ist.
Ramian 2.0
Die weiteren Ziele von Ramian 2.0 über Trident hinaus habe ich wie folgt umgesetzt:
Da noch immer eine Samplingrate von 100 kHz ausreichend sein sollte (damit kann Ramian etwa 450 km/h bei 3-fachem Oversampling detektieren) und der FT232R eine Datenrate von 3 MBaud unterstützt, habe ich mich entschlossen, diesen Abschnitt unverändert zu erhalten. Lediglich die Optokoppler habe ich durch einen ISO7242C von TI ersetzt, da dieser wesentlich kompakter ist.
Falls jedoch doch einmal höhere Datenraten notwendig sein sollten, gibt es einen Pin-Header und Lötbrücken, um den UART-USB-Abschnitt (etwa durch einen FT232H) zu ersetzen.
Als Mikrocontroller habe ich die Erfahrungen mit der ARM-Architektur von Nimian 1.0 genutzt und mich für die Atmel SAM-Reihe entschieden. Der auf Nimian verwendete SAM4N8A ist allerdings in mehrerer Hinsicht unzureichend, daher habe ich auf den größeren ATSAM4S16B zurückgegriffen.
Der Mikrocontroller bekommt seine 3,3 V-Versorgungsspannung von einem kleinen LT1963-Linearregler zur Verfügung gestellt.
Als DAC verwende ich den DAC8830 von TI, der mit seiner 16-Bit-Auflösung, 1 µS-Settling und 10 nV/√Hz Rauschen völlig ausreichend für die Aufgabe sein sollte.
Prinzipiell soll Ramian 2 Radar-Module gleichzeitig ansprechen können. Für den DAC reicht es jedoch, immer nur ein Modul zu betreiben, solange das zweite auf +5 V gehalten wird. Deshalb erhält jedes Modul einen eigenen MAX4659-Analog-Umschalter, so dass der Mikrocontroller wählen kann, welches aktuell vom DAC getrieben wird. Der MAX4659 kann maximal 75 mA Strom führen, was auch für 2 Radar-Module gleichzeitig reichen würde.
Da ich jedoch die Vielseitigkeit des Boards erhalten wollte (und der DAC gepuffert werden muss), habe ich jedem Kanal einen OPA1602-Operationsverstärker gegeben, an dem für jeden Kanal per Potentiometer Spannungsoffset und -bereich eingestellt werden kann.
Für den neuen ADC ist meine Wahl auf den ADS8688 von TI gefallen. Er hat, wie sein Vorgänger auf Ramian 1, 8 Kanäle, weist jedoch diverse Verbesserungen auf. So ist seine Auflösung mit 16 Bit größer und seine Samplingrate mit 500 kSps höher, zudem verfügt er über einen PGA für jeden Kanal und eine interne Referenz.
Erneut habe ich 9 ungenutze Pins des Mikrocontrollers auf einen Pin-Header rausgeführt.
Ramian 2.0 ist so gestaltet, dass der optoisolierte UART-USB-Teil und Trident 1.0 von der Platine abgeschnitten und getrennt verwendet werden können, um das Design so vielseitig einsetzbar wie möglich zu halten.
Nach dem Design der Platine zeigte sich, dass Ramian 2.0 sogar kleiner als Ramian 1 sein kann. Trotzdem habe ich diverse Testpunkte und Lötbrücken vorgesehen, um das Board einfach nach und nach in Betrieb nehmen zu können. Erfreulicherweise war auch der Rest des Boards (nach den Tests mit Trident) bis auf eine einzige Drahtbrücke, die ich ergänzen musste, fehlerfrei. Inzwischen habe ich alle Komponenten getestet.
Überraschenderweise ist auch, obwohl nichts am Design geändert wurde, das Problem der ständig leuchtenden LEDs am FT232R, das auf Ramian 1 noch allgegenwärtig war, verschwunden.
Aktuell bin ich dabei, eine Firmware zu schreiben, die alle neuen Funktionen umsetzt und mit der sPort-Software kommunizieren kann.