330 likes | 653 Views
Interfacing Display with MPU without Peripheral Controller. Dr A Sahu Dept of Computer Science & Engineering IIT Guwahati. Outline. Peripheral communications Display LED Display Decoder Generic model Interfacing Character Display Monitor Decoder Generic Model Graphics monitor
E N D
Interfacing Display with MPU without Peripheral Controller Dr A Sahu Dept of Computer Science & Engineering IIT Guwahati
Outline • Peripheral communications • Display • LED Display • Decoder • Generic model • Interfacing • Character Display Monitor • Decoder • Generic Model • Graphics monitor • Why graphics? Vector Vs Raster • Keyboard type and Interfaces
Introduction R A M Processor • Peripherals : HD monitor, 5.1 speaker • Interfaces : Intermediate Hardware • Nvidia GPU card, Creative Sound Blaster card • Interfaces : Intermediate Software/Program • Nvidia GPU driver , Sound Blaster Driver software
Transmission controller • Transmission Controller: • MPU control, Device Control (DMA) • Type of IO mapping • Peripheral (IN/Out), Memory mapped IO (LD/ST,MV) • Format of communication • Synchronous (T & R sync with clock), Asynchronous • Mode of Data Transfer • Parallel, Serial (UART) • Condition for data transfer • Uncond., Polling, Interrupt, Ready signal, Handshake
Display 7 Seg 9 Seg 16 Seg 3x5 DotMatix 5x7 9x11 Dot Matrix Display Panel 25x80 character monitor
Generic Model (Data) of Display Decoder Or Memory Display Monitor/LEDs Data ASCII/BCD Time to Decode Time to Display
a b f 1 1 a 1 D 1 5 0 b 5 0 g C 1 1 c f Common Cathode 0 B 5v e 1 5v 1 0 A g 1 1 d 1 c 0 LT e 5V 5V RBI 1 1 d RBO BI Decoder 7 Segment LED Interfaces • Data to 7 Segment Decoder
Blank Blank 0 0 1 a b c d e f g a b c d e f g a b c d e f g a b c d e f g 5V a b c d e f g 1 1 RBI RBO RBI RBO RBI RBO RBI RBO RBI RBO D C B A D C B A D C B A D C B A D C B A 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 1 1 Multiple 7 Segment LED Interfaces • Data to 7 Segment Decoder
Multiplexed line and Memory use 40 Bit data line Data 0 2 1 3 4 0 Mod 5 Counter Data 1 Data 2 Data 3 Data 4 8 Bit data line
Multiplexed line/Memory used 7 Segment Decoder RAM 590 1:N Decoder Counter
Interface LED Display Using Delay • Write a program to display contents of B,C,D and E register to LED display • Write to buffer memory to display to 7 Seg. LEDs • Use address FC H,FD H,FE H and FF H to display
Interface Diagram MPU A7 A6 A5 A4 A3 A2 Ctr LEDs Buffer Memory CS WR RD A1 A0 Address line 7 Seg. Decoder D7 D6 D5 D4 D3 D2 D1 D0 74LS373 Latches LE Data lines IO/M RD WR
Monitor program • Interface program to Display content of B,C,D and E after 1 Sec Delay DIS: MVI A,B OUT FCH MVI A,C OUT FDH MVI A,D OUT FEH MVI A,E OUT FFH CALL DELAY ;1sec delay JMP DIS;
Multiplexed 25x80 Char Display Row Ctr Col Ctr CLK > 50Hzx25x80 0 1 2 3 4 ….. 78 79 0 1 2 23 24 C A T F I R E Decoder Or ROM Memory 25x80 character monitor Decoded Bits A
Generic Model of Char Monitor When C=0 Ready • Delay of Monitor is 1/50 Sec, After Every 50 Second it makes ready • From stream buffer it writes to Frame buffer after getting command. (Flush stream command) Counter Char Frame Buffer Memory CS WR Stream Buffer Address line Address (r,c) Data lines
Speed of Display • LED is very high speed • You can write to LEDs at very high speed • Display meant for to see some thing (Is it good?) • 30 Frames/Sec is more then enough for human eye (>30 blink make human eye Fixed) • No of blink > 30Hz • Human can not differentiate ON/OFF state, it will be seen AS ON state • Video display make default 30-60 Frame/Sec • Monitor run at speed 30-60 Frame/Sec
Speed of Monitor and Disk • Speed is fixed (60Frame/Sec) • $ a.out • $ a.out > outputfile • $ a.out > /dev/null for(i=0;i<10000;i++){ printf(“HelloWorld”); }
Migration from Char to Graphics/Video • Char display (80x25 char, 5x7pixel=400x175) • CRT Monitor (400x600, 640x480,600x800) • LCD Monitor (1024x768,1280x1024,…) • Graphics visually more appealing • Display Line, Circle, Rectangle, Curve, Polygon • Character using this primitives • True type font RED ARROW Circle
Multiplexed 1024x768 pixel display Row Ctr Col Ctr CLK > 1024x768x50Hz 0 1 2 3 4 ….. …1023 0 1 2 767 Frame Buffer 1024x768 Pixel LCD 8x3=24 Bits R B G Refresh screen 50 time a Sec
Frame Buffer (1 Bit Pixel): Grey Pixels in Frame Buffer Pixels on the Screen 1 Bit Per Pixels Graphical representation of 1 bit color
Frame Buffer (15 Bit Pixel) Pixels in Frame Buffer 15 Bit Per Pixels Pixels on the Screen Graphical representation of 15 bit color
Frame Buffer (24 Bit Pixel) Pixels in Frame Buffer 24 Bit Per Pixels Pixels on the Screen Graphical representation of 24 bit color
1bit, 8 bit & 16 bit color 1- bit color 8-bit color 16-bit color
Graphics • Vector graphics: • Use geometrical primitives based on mathematical equations, to represent images in computer graphics • Points, Lines, Curve, shapes or Polygons • Raster Graphics: Complementary to Vector Graphics • Representation of images as an array of pixels • photographic images
Vector graphics • Store the primitives in the FILE • Word, Photoshop, Xfig, GNUPlot, PS, HTML Tag • Raster: Store the Pixel values in the FILE • BMP, PNG, JPG • At runtime, process the primitive and generate Pixel to raster the screen (Display) • Who do this? • Software • GPU (hardware accelerated routine)
Character Vs Font • Computer font formats: TrueType Font • Where each letter is created from Bézier curves • Many varieties of font for a character Units Points with unit and curve properties are stored
Graphics Cards • GPU : specialized processor that accelerates 3D or 2D graphics primitives operations • Lots of Floating point operations • Accelerates Primitives • Line, circle, polygon, mesh, projection, sphere,
Graphics System 3D application 3D API Commands 3D API: OpenGL DirectX/3D CPU-GPU Boundary GPU Command & Data Stream Pixel Updates Pixel Location Stream Assembled polygon, line & points Vertex Index Stream GPU Command Primitive Assembly Rastereisation Interpolation Raster Operation Frame Buffer transformed Vertices RastorizedPretransformed Fragments Pretransformed Vertices Transformed Fragments Programmable Fragment Processors Programmable Vertex Processor
Graphics System Vertices (x,y,z) Memory System Vertex Shadder Vertex Processing Pixel Shadder Pixel Processing Texture Memory Frame Buffer Pixel R, G,B
Reference • R S Gaonkar, “Microprocessor Architecture”, Unit II preface, Chapter 14 and 17