Monday, June 3, 2013

Some basic knowledge of framebuffer

Horizontal and Vertical flyback retrace the introduction of the concept of a CRT, an electron beam drawing a horizontal line from left to right, back to the next column header to continue scanning the next line until the bottom line of the screen, then back to the top of the screen to continue to the next frame scanning.
Horizontal retrace: electron beam is emitted from the end of the previous line to the next line start point of the time required
Frame flyback: Electron beam from the bottom of the screen to move to the top of the screen time needed
 CRT screen refresh rate is how calculated:
Assume graphics dotclock is 28.37516MHZ
1 then the scan time for each point is 1 / (28.37516E6 Hz) = 35.242E-9 s
(2) If the screen resolution is 640x480 refresh his need 640 * 35.242E-9s = 22.555E-6s, taking into account the horizontal retrace need to take some time, assuming 272 'pixels'
    (640 +272) * 35.242E-9s = 32.141E-6s
3 can be called horizontal scanning frequency of
    1 / (32.141E-6s) = 31.113E3HZ, i.e. 31KHz
4 For a 480 line, plus the frame flyback, assuming the frame flyback is 49 'lines'
    (480 +49) * 32.141E-6s = 17.002E-3s
    Can calculate the frame scanning frequencies are:
    1 / (17.002E-3s) = 58.815Hz
That refresh rate is 59Hz
 Line sync HSYNC: Every one pulse, means a new line starts sending data
Frame synchronization VSYNC: Every one pulse, means a new start sending a screen image data
 The frame sync and line sync head and tail must be left flyback time, such an arrangement of a CRT monitor originated the time deflection of the electron gun, and a standard, so TFT LCD display also includes a flyback time
  
xres: the horizontal resolution of the screen
yres: the vertical resolution of the screen
Common embedded device's LCD resolution is 320 * 240 primary, 640 * 480

Reference to the kernel/Documentation/fb/framebuffer.txt

No comments:

Post a Comment