Presentation is loading. Please wait.

Presentation is loading. Please wait.

CSE 477Design Problems1 1. Encode binary value using PCM zBinary # --> zHow accurate can you get? (+/- 1 usec?)

Similar presentations


Presentation on theme: "CSE 477Design Problems1 1. Encode binary value using PCM zBinary # --> zHow accurate can you get? (+/- 1 usec?)"— Presentation transcript:

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


Download ppt "CSE 477Design Problems1 1. Encode binary value using PCM zBinary # --> zHow accurate can you get? (+/- 1 usec?)"

Similar presentations


Ads by Google