Forum: Mikrocontroller und Digitale Elektronik video erzeugung nach radig


von Philipp Karbach (Gast)


Lesenswert?

beschäftige mich gerade mit folgendem code:
Beitrag "ATmega8 erzeugt Video in C!"

radig erzeugt ein PAL signal mit einem mega8, nutzt dabei einen 20 bzw. 
16Mhz quarz.

Wie das Modell funktioniert habe ich verstanden. Allerdings noch nicht 
warum der Takt so hoch sein muss. Mehr takt = mehr zeilen, gilt, was 
wenn ich aber nur 4Mhz habe, aber auch nur dementsprechend viele zeilen 
ausgebe?

//20 Mhz = 0.05uS
#define F_CPU 20000000

#if (F_CPU == 20000000)
  #define CHAR_COLS           24
  #define CHAR_ROWS           24

  #define HSYNC_32_US         640
  #define HSYNC_64_US         1280
  #define HSYNC_DURATION      96
  #define HALF_HSYNC_DURATION 48
  #define H_OFFSET            208
#endif

im code werden diese constanten gesetzt, durch einen popel dreisatz 
errechne ich nun die konstanten für 4Mhz (so wie es auch radig für 16Mhz 
macht):

//4 Mhz = 0.25uS
#define F_CPU 4000000

#if (F_CPU == 4000000)
  #define CHAR_COLS           4
  #define CHAR_ROWS           24

  #define HSYNC_32_US         128
  #define HSYNC_64_US         256
  #define HSYNC_DURATION      19
  #define HALF_HSYNC_DURATION 9
  #define H_OFFSET            41
#endif

Okay natürlich könnte ich das jetzt einfach ausprobieren, aber rein 
theoretisch ist mein ansatz richtig und werde damit ein funktionierendes 
signal zustande kriegen? Vielen Dank.

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.