Beschreibung CCD Trigger ======================== Motivation Der in der Physik eingesetzte CCD-Detektor von Proscan soll durch XCTL gesteuert werden können. Problem dabei ist die Tatsache, daß keine Dokumentation existiert die das Programmieren der Steuerkarte unterstüzt. Vom Hersteller wurde lediglich bekannt gegeben, daß die Anschlüsse und des Detektocontrollers (Box) zum "Steuern" des Messvorgangs genutzt werden können. Hardware Die Realisierung dieser "Steuerung" muß sich untewr den gegebenen Umständen darauf beschränken, die Controllerbox zu triggern und ihren Status über den Shutterausgang zu ermitteln. Da die beschriebenen Anschlüsse TTL kompatibel sind (logisch 1 = +5V, logisch 0 = 0V) käme prinzipiell die parallele Schnittstelle des Steuerungs PCs in Frage. Aus folgenden Gründen kann diese jedoch nicht verwendet werden: - der SteuerungsPC ist mit 2 Dongles für auf ihm verwendete Software ausgestattet, daraus resultieren 2 Fakten 1. der Pegel von +5V für logisch 1 wird nicht mehr auf allen daten leitungen erreicht 2. die testweise Programmierung der parallelen Schnittstelle mit dem Zweck des Triggerns, führte dazu, das die Dongles von der entsprechenden Software nicht mehr erkannt wurden. - direkte Programmierung unter Windows 2000 nicht möglich, Treiber erforderlich Daher wurde die serielle Schnittstelle ausgewählt. Probleme hierbei: kein TTL-Pegel. Die serielle Schnittstelle weist folgende Pegel aus: logisch 0 = -15V(-12V), logisch 1 +15V(+12V). im einzelnen können die absolutwerte schwanken um 7V, besonders Notebooks halten sich nicht an die Spezifikation. Fakt ist, daß das Vorzeichen der Spannung wechselt, damit können weitere Strecken überwunden werden als mit der parallelen Schnittstelle (bis 20m). Vorteile der seriellen Schnittstelle: extrem einfache Programmierung über API Funktionen, keine Treiber nötig. Um das Problem der Pegel zu lösen wurde eine einfache Optokopler Schaltung entwickelt. (UNICOMOPTO.JPG) Pin 3 TXD liefert den Triggerimpuls Pin 4 DTR auf 0 liefert -12V Pin 7 RTS auf 1 liefert +12V Pin 6 DSR nimmt Shutterzustand auf Schaltungsbeschreibung Optokoppler OK2 hängt mit seiner LED am Shutter, wenn dieser öffnet (während Messung) liegen 5V an, so daß die LED leuchtet und der Ausgang des OK2 niederohmig wird, damit werden die +12V von Pin 7 auf Pin 6 gelegt, also High. Wenn die LED aus ist (der Shutter zu, also 0V) ist der Ausgang von OK2 hochohmig, damit wird Pin 6 über den Pulldown R3 auf -12V gezogen, von Pin 4 geliefert. Damit ist die Shutterauswertung vollständig. Der Trigger funktioniert umgekehrt. Pin 3 liefert das Signal, D1 begrenzt logisch 0 auf 0V (zum Schutz der LED von OK1) D1 ist einer Z-Diode und begrenzt die Spannung auf +5 V im Falle logisch 1. Damit ist der Pegel an TTL angepasst. Wenn die LED von OK1 leuchtet wird der Ausgang von OK1 niederohmig und der TTL-Eingang des Triggers wird auf 0V gezogen. Die BNC Buchsen am Detektorcontroller sind wie folgt belegt: -außen GND -innen Data (Shutter: +5V wenn Shutter offen, also Messung läuft, sonst 0V) (Trigger: +5V über Pulldown nach GND startet Messung) Programmierung Grundlage der Programmierung unter Windows bilden die "Communication Function", siehe MSDN (SetCommConfig). Zuerst ist die entprechende Schnittstelle zu initialisieren mittels SetCommConfig. Dabei sind die Baudrate, Parität, Start- Stopp Konfiguration und der Status von DTR und RTS zu setzen. Wenn keine Daten gesendet werden befindet sich TXD auf high. Da man in diesem seriellen Datenstrom keinen Einfluß auf das Stopbit hat (jedenfalls nicht so das man es weglassen kann), wird dieses immer gesendet. Damit man einen einzelnen Impuls erhällt muß 0xFF gesendet werden. Die Dauer dieses Impulses hängt von der Baudrate ab und kann einfach berechnet werden. Wenn der Detektor getriggert wurde beginnt die Messung, so wie es in dem Herstellerspezifischen Steuerprogramm CCDView eingetragen wurde(was dringend nötig ist, auch die Aktivierung des externen Triggermechanismus wird hier durchgeführt). Die einzige Möglichkeit eine Rückmeldung zu erhalten ob die Messung beendet wurde besteht darin den Shutterausgang abzufragen. Dies geschieht durch Abfragen der Leitung DSR (Pin 6) sobald getriggert wurde. Wenn DSR High ist, dann ist der Shutter offen, Messung läuft. PS: ich übernehme keine Garantie dafür daß ich mich bei den Pegeln nicht vertan habe. Wenn etwas nicht funktioniert, dann erst schauen ob die Pegel der RS232 nicht invertiert sind (meine Ursprünglichen Aufzeichnungen zu diesem Thema sind durch einen Plattencrash verloren gegangen). Die Schaltung funktioniert definitiv. zu