Integratorsteuerung

Team
Adam Rämer
Andreas Bresch

Aufgaben
Steuerung der Intergratoren, wobei jedem Integrator-Tripel (RGB) mitgeteilt wird, wenn die Informationen auf dem RGB-Datenstrom für ihn relevant sind und dementsprechend integriert werden muß.

Schnittstellen

  • V/H-Sync Signal (0/5V)
  • Zwei Bit breites Steuersignal für die Integratorsteuerung (0/5V, max.20mA)

Endpräsentation

Protokolle

22.10.2007

  • Suche eines geeigneten Prozessors: PIC5C84A
  • Einarbeitung in Boarddesign (Programmer-Board, Entwicklungsboard)

29.10.2007

  • Schnittstellendefinition: Steuerung der Integratoren über zwei Steuerleitungen TTL-Pegel (0/5V); hierüber wird signalisiert, welchem Teil des Bildschirms der gerade übertragene RGB-Datenstrom zugeordnet werden soll:
    • Quadrant oben-links: {0,0}
    • Quadrant oben-rechts: {0,1}
    • Quadrant unten-links: {1,0}
    • Quadrant unten-rechts: {1,1}

5.11.2007

  • Einarbeitung in ATMELmega8-Entwicklungsumgebung und Funk-Board (weil kein anderes da war)

12.11.2007

  • Einarbeitung in ATMELmega16-Entwicklungsumgebung und Entwicklungsboard
  • Erste Tests mit Interruptverarbeitung, Countern, Timern

19.11.2007

  • Vortrag ATmega8 und Entwicklungsboard
  • Diskussion über die Änderung der Integration
    • Es wird nur noch ein Integrator (pro Farbe) eingesetzt
    • 1 Demultiplexer verteilt das integrierte Signal auf 4 S&H-Glieder (für jeden Quadrant ein S&H - pro Farbe)
    • 1 Demultiplexer steuert das S&H-Glied an, welches das Signal vom Integrator übernehmen soll
    • Der Integrator bekommt ein halbes Bild zum Entladen Zeit
  • Tests mit dem Entwicklungsboard fortgeführt:
    • Mit Hilfe eines Funktionsgenerators haben wir Interrupte auslösen lassen, welche dann Daten auf einem Port ausgaben. Dies haben wir bis zu einer Frequenz von ca. 150kHz getestet. Hierbei traten keine Probleme auf, es wurden alle Eingangssignale erkannt. (Bei 60Hz Bildwiederholrate und 1024 Zeilen tritt ein maximaler HSync-Takt von ca. 70kHz auf.)
    • In einer zweiten Versuchsanordnung haben wir zwei Signale an zwei externe Interruptleitungen des uC herangeführt und mit realistischen Sync-Signalen bedient: HSync: 80kHz, VSync: 60Hz. Bei jedem Interrupt wurden die Daten auf einen Port ausgegeben. Hier traten ebenfalls keine Datenverluste auf.

26.11.2007

  • Wir führen unsere Signale über eine 15-polige Mini-Sub-D-Buchse an das Eingangs/Integrator-Board
  • Über ein analoges Signal (0V..5V) geben wir der LED-Gruppe die max. Helligkeit (0%..100%) vor (Bei höherer Bildwiederholrate wird kürzer integriert, die Summe ist geringer - damit die LEDs dennoch genauso hell leuchten, muß das Dreieckreferenzsignal verzerrt werden, was durch diese Spannung gesteuert wird.)
  • Über ein Poti kann gezielt Eingriff auf die LED-Helligkeit genommen werden.
  • Programmierung des Controllers: HSync wird erkannt und verdoppelt.
  • Aktuelle Schnittstellen:
    • Eingangsstufe:
      • VSync (3.3V-Impuls)
      • HSync (3.3V-Impuls)
    • Integrator/Sample&Hold:
      • Integrator - Reset (High-Active)
      • Integrator - Integrieren (High-Active)
      • Sample (High-Active), 4 Bit breit (1 Steuerleitung je S&H-Glied), Signal 30uS lang auf High
    • LED-Steuerung
      • Analoge Steuerspannung, welche die Bildwiederholfrequenz in einer Referenzspannung zw. 0V und 3V liefert. Hierüber wird das Maximum der Dreieckreferenzspannung des Dreieckreferenzsignals für die Pulsweiten-Komperatorschaltung der LED-Ansteuerung definiert.

3.12.2007

  • DAC Aufbau und Simulation in verschiedenen Varianten
  • Schaltplan überarbeitet
  • Eagle

10.12.2007

12.12.2007

  • Platinenlayout korrigiert

14.12.2007

  • Platinenlayout korrigiert & zum Ätzen freigegeben

07.01.2008

  • Platine v0.92 bestücken

10.01.2008 (weiblich != männlich)

14.01.2008 - 21.01.2008 (Die Suche)

  • Platine bestücken und testen, nach langem(!) Suchen stellte sich heraus, daß auf Grund eines Haares beim Belichten der Platine ein Kurzschluß zu Masse bestand. Jetzt funktioniert alles.

28.01.2008 (Der Schreck)

  • Falsches Platinenlayout diagnostiziert.
  • Behebung des fehlerhaften Layouts durch Kabelbrücken.
  • Testprogramm zur Ansteuerung der Koponenten der anderen Teilprojekte.
  • Programmieren, der 4. Quadrant wird korrekt angesteuert. Die Ansteuerung der restlichen Quadranten sollte sich im Programmieraufwand von Copy & Paste bewegen - hoffentlich.
  • Neues Platinenlayout mit optimierter Pinbelegung.
  • Platine geätzt.

31.01./01.02.2008 (Endspurt)

  • Programmierung der anderen 3 Quadranten.
  • Sample & Hold - Zeiten, Entladezeiten anpassen
  • Programmoptimierung
  • Bohren und Bestücken der neuen Platine
  • Testen des Gesamtprojektes

04.02.2008 (Kosmetik)

  • Auflösungserkennung (invertierte Sync-Signale)
  • Frequenzerkennung
  • Soweit funktioniert nun alles, aber es stellt sich heraus, daß das jetzige Programm trotz Optimierung nur bis zu einer Auflösung von 1024x768 Pixel bei 75Hz zuverlässig die Synchronisationssignale erkennt. Wir werden die nächsten Tage einen Optimierungsversuch vornehmen, werden aber nicht nach Assembler portieren, da unsere Anforderungen an das Projekt auch in dem aktuellen Zustand erfüllt sind.

07.02.2008 (Optimierung)

  • Grundlegende Optimierung des Kernes. Es wird jetzt total auf Modularisierung verzichtet. Auf Grund der Geschwindigkeitsoptimierung wird das Programm leider unübersichtlich und schwer erweiterbar.
  • Referenzspannung
  • Programmbereinigung
  • Portierung auf das neue Board (Pinbelegung)
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License