Download presentation
Presentation is loading. Please wait.
Published byMyles Baldwin Modified over 9 years ago
1
CSE 477Design Problems1 1. Encode binary value using PCM zBinary # --> zHow accurate can you get? (+/- 1 usec?)
2
CSE 477Design Problems2 2. Timer/Interrupt Examples: Timestamp Input Events zKeep a queue of input events yEach event is a timestamp
3
CSE 477Design Problems3 3. Stepper Motor Control zSimple idea z(Timing of signals is important: Acceleration/Deceleration)
4
CSE 477Design Problems4 4. Serial Communications zSample the data bits at the right time zCan you adapt to the current data rate?
5
CSE 477Design Problems5 Graphics Intro/Overview zEach location in memory corresponds to one pixel on the display zA process reads the memory and sends the value to the memory at the right time zThe memory is called a “frame buffer”
6
CSE 477Design Problems6 Frame Buffer zTo display something, just write values into the frame buffer zThe display happens automatically zThe frame buffer memory is “dual-ported” yi.e. shared between two independent processes zHardware assist for drawing objects yreduces bandwidth and computation ye.g. lines, rectangles, characters, triangles,...
7
CSE 477Design Problems7 Double-Buffering zWhat if the image changes from one frame to the next? zUse two frame buffers: change one while the other displays ythen switch
8
CSE 477Design Problems8 Double-Buffering zRedraw everything on the screen, every frame zLots of computation
9
CSE 477Design Problems9 Double-Buffering zChanging the display z1. Erase and redraw every frame z2. Erase what changes and redraw yOverlap?
10
CSE 477Design Problems10 Drawing Objects ze.g. Lines yBresenham’s algorithm yForward differencing xFast: add/subtract xpixel/clock yNo accumulated error
11
CSE 477Design Problems11 Windowing zDisplay only a part of the frame buffer ze.g. fast panning, scrolling
12
CSE 477Design Problems12 Zoom/Shrink ze.g. Zoom by 2x yextend to 1.25x? yextend to.75x? zCheap/fast hack zWorks OK for some applications ynot images
13
CSE 477Design Problems13 Rotations zVery similar to line drawing zFast, cheap transformation
14
CSE 477Design Problems14 Color Map zMaps each value in memory to a value for the display ye.g. color transformation (3,3,2) -> (2,2,2) ye.g. binary image planes xUse each bit to represent one color xOverlapping colors defined by color map xMask a plane (color) by changing the color map ye.g. 4 bit image planes xTwo images - switch between them by changing the color map
15
CSE 477Design Problems15 Sprites zObjects display over the background ycheck origin values to decide what to display ytransparency?
16
CSE 477Design Problems16 VGA Timing
17
CSE 477Design Problems17 One Frame zVertical Synch tells the monitor when to go back to the top zThe Blanking Interval turns off the video at the top and bottom of the screen
18
CSE 477Design Problems18 One Line zEach frame is divided into many lines yHorizontal synch tells the monitor to go back to the start of the next line zEach line is divided into pixels yNo timing signal: just change the value from one pixel to the next
19
CSE 477Design Problems19 Using a 24 MHz clock zLine: 31.77 usec x 24 MHz = 762 clocks/line zFrame: 16.784 msec x 24 MHz = 402,816 clocks/frame (!) y402,816 / 762 clocks/line = 528 lines zBut: ywe display 512 pixels/line y 480 lines/frame zThe rest of the time? yBlanking ySyncs
20
CSE 477Design Problems20 VGA Interface zSimple counting will work! zVGA interface supplies X, Y zUser supplies pixel value yone/clock
21
CSE 477Design Problems21 Design Problem: zComplete the VGA interface design zSketch design for frame buffer memory yVGA supplies address yReads one port of memory yThere should be another port for writing (and reading) yDesign the dual-ported memory
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.