4D systems Picaso MD1 User Manual

Tiny vga graphics controller qvga, vga, svga

Advertisement

USERS MANUAL
PICASO
MD1
µVGA
Tiny VGA Graphics Controller
QVGA, VGA, SVGA
Revision 1.2
4D Systems

Advertisement

Table of Contents
loading

Summary of Contents for 4D systems Picaso MD1

  • Page 1 USERS MANUAL PICASO µVGA Tiny VGA Graphics Controller QVGA, VGA, SVGA Revision 1.2 4D Systems...
  • Page 2 In no event shall 4D Systems be liable to the buyer or to any third party for any indirect, incidental, special, consequential, punitive or exemplary damages (including without...
  • Page 3: Table Of Contents

    Table of contents Introduction Features Pin Description Reference Designs Personality Module Micro Code (PmmC) Graphics Command Set (Serial) 6.1 General Command Set Serial Interface (TTL Level) Using the µVGA-PICASOMD1-UB USB Interface 10. Specifications 11. Mechanical Details 12. Colour Organisation 13. Power-Up Reset 14.
  • Page 4: Introduction

    Introduction µVGA-PICASO-MD1 is a compact & cost effective ready to go 'drop in' embedded graphics engine that will deliver ‘stand-alone’ functionality to your project. The ‘simple to use’ embedded commands not only control background colour but can produce text in a variety of sizes as well as draw shapes (which can include user definable bitmapped characters such as logos) in 256 colours whilst freeing up the host processor from the ‘processor hungry ‘...
  • Page 5: Features

    Features µVGA-PICASO-MD1 module is aimed at being integrated into a variety of different applications using a wealth of features designed to facilitate the designer to quickly and cost effectively complete a product and thus reduce ‘time to market’. These features are as follows: Intelligent and fully integrated VGA/SVGA Display Graphics Controller.
  • Page 6: Pin Description

    Pin Description FUNCTION DESCRIPTION 7, 21 Regulated 3.3 Volts Supply Input @90mA average, max. 150ma 8, 15, 20 Ground RESET Module Hardware Reset. Active Low signal > 20us will reset the module I/O1 General purpose Input/Output 1 I/O3 General purpose Input/Output 3 General purpose Input/Output 6.
  • Page 7: Reference Designs

    Reference Designs The following reference design show how easily the µVGA-PICASO-MD1 module can be integrated into a wide range of applications with very simple circuitry. Please check the following link for updated information as it becomes available. This is available from 4D as a standard option also for general purpose use and testing.
  • Page 8 www.4dsystems.com.au µVGA-PICASO-MD1...
  • Page 9: Personality Module Micro Code (Pmmc)

    Personality Module Micro Code (PmmC) One of the important features of the µVGA-PICASO module is the ability to upload its onboard PICASO processor with a micro-Code firmware which allows the module to take on a new personality. This is referred to as Personality Module Micro Code (PmmC). The benefits of this are as follows: Allows the module to be easily upgraded by the user at any time with specific PmmC •...
  • Page 10: Graphics Command Set (Serial)

    Graphics Command Set (Serial) The heart of the µVGA-PICASO-MD1 module is its rich graphics oriented command set. This comprises of powerful instructions that can draw lines, circles, rectangles, text, images, etc. to provide a full graphical user interface. The commands can be either sent via the serial link or called as functions from the built-in library if the platform is running a higher level language such as 4DGL.
  • Page 11: General Command Set

    6.1 General Command Set General Command Set Serial 4DGL Add User Bitmapped Character √ √ Set Viewing area √ √ Set Background Colour √ √ Place Text button √ √ Draw Circle √ √ Block copy and Paste (bitmap copy) √...
  • Page 12 6.1.1 Add User Bitmapped Character Serial Syntax : cmd, group, numb, data1, data2, …….., dataN 4DGL Syntax : cmd : 41hex, Aascii group : selects the appropriate bitmap format 00hex selects the 8x8 bitmap format 01hex selects the 16x16 bitmap format 02hex selects the 32x32 bitmap format numb : bitmap character number to add to memory: 0 to 63 (00h to 3Fh), 64 characters of 8x8 format when group = 00hex...
  • Page 13 Example2: 41hex , 01hex, 03hex, 3Fhex, FChex, 40hex, 02hex, 80hex, 01hex, BChex, 3Dhex, 98hex, 19hex, 98hex, 19hex, 81hex, 81hex, 81hex, 81hex, 80hex, 01hex, 40hex, 02hex, 24hex, 24hex, 23hex, C4hex, 21hex, 84hex, 10hex, 08hex, 08hex, 10hex, 07hex, E0hex This adds and saves user defined 16x16 bitmap (group 1) as character number 3 into memory as seen below.
  • Page 14 6.1.2 Set viewing area Serial Syntax : cmd, lineStart(msb:lsb), lineEnd(msb:lsb) 4DGL Syntax : (refer to 4DGL programmers manual) cmd : 61hex, a ascii lineStart: specify line start position. 2 bytes. lineEnd: specify line stop position. 2 bytes. Description : This command sets the current screen viewing area. The PICASO chip allocates its resources to its internal graphics engine as well as its processor to execute user commands.
  • Page 15 6.1.3 Set Background Colour Serial Syntax : cmd, colour 4DGL Syntax : (refer to 4DGL programmers manual) cmd : 42hex, Bascii colour : pixel colour value: 1 byte 256 colours to choose from Black = 00hex, 0dec White = FFhex, 255dec, 11111111bin Description : This command sets the current background colour.
  • Page 16 6.1.4 Text button Serial Syntax : cmd, state, x(msb:lsb), y(msb:lsb), buttonColour, font, textColour, textWidth, textHeight, char1, .., charN, terminator 4DGL Syntax : (refer to 4DGL programmers manual) cmd : 62hex, bascii state : Specifies whether the displayed button is drawn as UP (not pressed) or DOWN (pressed).
  • Page 17 6.1.5 Draw Circle Serial Syntax : cmd, x(msb:lsb), y(msb:lsb), rad(msb:lsb), colour 4DGL Syntax : (refer to 4DGL programmers manual) cmd : 43hex, Cascii x : circle centre horizontal position. 2 bytes y : circle centre vertical position. 2 bytes rad : radius size of the circle. 2 bytes colour : circle colour value.
  • Page 18 6.1.6 Block copy & Paste (Screen Bitmap Copy) Serial Syntax : cmd, xs(msb:lsb), ys(msb:lsb), xd(msb:lsb), yd(msb:lsb), width(msb:lsb), height(msb:lsb), src_page, dest_page 4DGL Syntax : (refer to 4DGL programmers manual) cmd : 63hex, c ascii xs: top left horizontal start position of block to be copied (source). 2 bytes. ys: top left vertical start position of block to be copied (source).
  • Page 19 6.1.7 Display User Bitmapped Character Serial Syntax : cmd, group, numb, x(msb:lsb), y(msb:lsb), colour 4DGL Syntax : (refer to 4DGL programmers manual) cmd : 44hex, Dascii group : selects the appropriate bitmap format 00hex selects the 8x8 bitmap format 01hex selects the 16x16 bitmap format 02hex selects the 32x32 bitmap format numb : bitmap character number to add to memory: 0 to 63 (00h to 3Fh), 64 characters of 8x8 format when group = 00hex...
  • Page 20 6.1.8 Erase Screen Serial Syntax : 4DGL Syntax : (refer to 4DGL programmers manual) cmd : 45hex, Eascii Description : This command clears the entire screen using the current background colour. The screen erase execution starts at the beginning of the next Vsync cycle and completes by the end of the frame.
  • Page 21 6.1.9 Draw Ellipse Serial Syntax : cmd, x(msb:lsb), y(msb:lsb), xrad(msb:lsb), yrad(msb:lsb), colour 4DGL Syntax : (refer to 4DGL programmers manual) cmd : 65hex, eascii x : Ellipse centre horizontal position. 2 bytes. y : Ellipse centre vertical position. 2 bytes. xrad : x (horizontal) radius size of the ellipse.
  • Page 22 6.1.10 Set Font Size Serial Syntax : cmd, size 4DGL Syntax : (refer to 4DGL programmers manual) cmd : 46hex, Fascii size : = 00hex : 5x7 small size font = 01hex : 8x8 medium size font = 02hex : 8x12 large size font Description : This command will change the size of the font according to the value set by size.
  • Page 23 6.1.11 Draw TrianGle Serial Syntax : cmd, x1(msb:lsb), y1(msb:lsb), x2(msb:lsb), y2(msb:lsb), x3(msb:lsb), y3(msb:lsb),colour 4DGL Syntax : (refer to 4DGL programmers manual) cmd : 47hex, Gascii x1, y1, x2, y2, x3, y3 : 3 vertices of the triangle. These must be specified in an anti- clockwise fashion.
  • Page 24 6.1.12 Draw Polygon Serial Syntax : cmd, vertices, x1(msb:lsb), y1(msb:lsb), ..xn(msb:lsb), yn(msb:lsb), colour 4DGL Syntax : (refer to 4DGL programmers manual) cmd : 67hex, g ascii vertices : number of vertices from 3 to 7. Specifies the number of vertices of the polygon.
  • Page 25 6.1.13 Display Image Serial Syntax : cmd, x(msb:lsb), y(msb:lsb), width(msb:lsb), height(msb:lsb), colourMode, pixel1, .. pixelN 4DGL Syntax : (refer to 4DGL programmers manual) cmd : 49hex, Iascii x : Image horizontal start position (top left corner). 2 bytes. y : Image vertical start position (top left corner). 2 bytes. width : horizontal size of the image.
  • Page 26 6.1.14 Draw Line Serial Syntax : cmd, x1(msb:lsb), y1(msb:lsb), x2(msb:lsb), y2(msb:lsb), colour 4DGL Syntax : (refer to 4DGL programmers manual) cmd : 4Chex, Lascii x1 : horizontal position of line start. 2 bytes y1 : vertical position of line start. 2 bytes x2 : horizontal position of line end.
  • Page 27 6.1.15 Opaque / Transparent Text Serial Syntax : cmd, mode 4DGL Syntax : (refer to 4DGL programmers manual) cmd : 4Fhex, Oascii mode : = 00hex : Transparent Text, objects behind the text can be seen. = 01hex: Opaque Text, objects behind text is blocked by background Description : This command will change the attribute of the text so that an object behind the text can either be blocked or transparent.
  • Page 28 6.1.16 Put Pixel Serial Syntax : cmd, x(msb:lsb), y(msb:lsb), colour 4DGL Syntax : (refer to 4DGL programmers manual) cmd : 50hex, Pascii x : horizontal pixel position. 2 bytes y : vertical pixel position. 2 bytes colour : pixel colour value: 1 byte 256 colours to choose from Black = 00hex, 0dec White = FFhex, 256dec, 11111111bin...
  • Page 29 6.1.17 Set pen Size Serial Syntax : cmd, size 4DGL Syntax : (refer to 4DGL programmers manual) cmd : 70hex, p ascii size : = 00hex : All objects such as circles, rectangles, triangles, etc are solid = 01hex : All objects are wire frame (empty) Description : This command determines if certain graphics objects are drawn in solid or wire frame fashion.
  • Page 30 6.1.18 Read Pixel Serial Syntax : cmd, x(msb:lsb), y(msb:lsb) 4DGL Syntax : (refer to 4DGL programmers manual) cmd : 52hex, Rascii x : horizontal pixel position. 2 bytes y : vertical pixel position. 2 bytes. Description : This command will read the colour value of pixel at location (x, y) on the screen and return it to the host.
  • Page 31 6.1.19 Draw rectangle Serial Syntax : cmd, x1(msb:lsb), y1(msb:lsb), x2(msb:lsb), y2(msb:lsb), colour 4DGL Syntax : (refer to 4DGL programmers manual) cmd : 72hex, r ascii x1 : top left horizontal start position. 2 bytes y1 : top left vertical start position. 2 bytes x2 : bottom right horizontal end position.
  • Page 32 6.1.20 Place String of Ascii Text (unformatted) Serial Syntax : cmd, x(msb:lsb), y(msb:lsb), font, colour, width, height, char1, .., charN, terminator 4DGL Syntax : (refer to 4DGL programmers manual) cmd : 53hex, Sascii x : the horizontal start position of string (in pixels). 2 bytes. y : the vertical start position of string (in pixels).
  • Page 33 6.1.21 Place string of Ascii Text (formatted) Serial Syntax : cmd, column, row, font, colour, char1,.., charN, terminator 4DGL Syntax : (refer to 4DGL programmers manual) cmd : 73hex, s ascii column : string horizontal start position. 1 byte. row : string vertical start position.
  • Page 34 6.1.22 Place Text Character (formatted) Serial Syntax : cmd, char, column, row, colour 4DGL Syntax : (refer to 4DGL programmers manual) cmd : 54hex, Tascii char : inbuilt standard ASCII character, 32dec to 127dec (20hex to 7Fhex) column : horizontal position of character. 1 byte row : vertical position of character.
  • Page 35 6.1.23 Place text Character (unformatted) Serial Syntax : cmd, char, x(msb:lsb), y(msb:lsb), colour, width, height 4DGL Syntax : (refer to 4DGL programmers manual) cmd : 74hex, tascii char : inbuilt standard ASCII character, 32dec to 127dec (20hex to 7Fhex) x : the horizontal position of character (in pixel units). 2 bytes. y : the vertical position of character (in pixel units).
  • Page 36 6.1.24 Version/Device Info Request Serial Syntax : cmd, output Response : device_type, hardware_rev, firmware_rev, horizontal_res, vertical_res 4DGL Syntax : cmd : 56hex, Vascii output : 00hex : outputs the version and device info to the serial port only. 01hex : outputs the version and device info to the serial port as well as to the screen.
  • Page 37 6.1.25 vsync Lock Syntax : cmd : 76hex, v ascii response : 06hex (ACK) µVGA will respond with the ACK byte once it encounters the next internal Vertical Sync signal. Description : This command allows the host to lock onto the start of the next video frame.
  • Page 38 6.1.26 DisplaY Video Ram Settings Serial Syntax : cmd, mode, parameter 4DGL Syntax : (refer to 4DGL programmers manual) cmd : 59hex, Yascii mode : 00hex : Display Page Select parameter = 00hex to 07hex for QVGA page0 to page7. parameter = 00hex or 01hex for VGA page0 or page1.
  • Page 39: Serial Interface (Ttl Level)

    Serial Interface (TTL Level) µVGA-PICASO-MD1 module communicates with the outside world via its serial link. The serial link is always used as a means to upload a PmmC file for a new platform change or to update the module with enhancements. If the module is running the “Serial Command”...
  • Page 40: Using The Μvga-Picasomd1-Ub

    Using the µVGA-PICASOMD1-UB Base Board Function +ve Power Supply input: 3.6 to 6.0 Volts D.C Serial Transmit Data Pin: 0 to 3.3Volt signal levels. Serial Receive Data Pin: 0 to 3.3Volt signal levels. -ve Power Supply input: connect to GND Reset Pin: Active Low >...
  • Page 41: Usb Interface

    PC from time to time. Using a standard USB cable and the 4D Systems micro-USB module (µUSB-MB5 or µUSB- CE5) as shown below a PC to µVGA-PICASO connection can be achieved simply. The micro-USB module (optional extra), simply connects to the µVGA-PICASO-MD1...
  • Page 42: Specifications

    10 Specifications µVGA-PICASO-MD1 module has the following electrical specifications which must be adhered to at all times to prevent damage to the device. Symbol Characteristic Units Supply voltage Current Deg C Operating temp µVGA-PICASO-MD1 module supports the following industry standard resolution modes: Usable Horizontal Usable Vertical...
  • Page 43: Mechanical Details

    11 Mechanical Details BOTTOM µVGA-PICASO-MD1 module dimensions are 19.5mm x 24.3mm x 5.5mm. www.4dsystems.com.au µVGA-PICASO-MD1...
  • Page 44: Colour Organisation

    Colour Organisation 256 Colour Bitmap Organisation µVGA-PICASO-MD1 256 colour byte is organised as 3 bits for Red (D2, D1, D0), 3 bits for Green (D5, D4, D3) and 2 bits for Blue (D7, D6). This will give a combination of 8x8x4 = 256 colours.
  • Page 45: Power-Up Reset

    Power-Up Reset When the µVGA-PICASO-MD1 comes out of a power up reset it initialises the Video Graphics RAM and the internal Display registers. Allow up to 500ms before attempting to communicate with the module. The power up sequence of events should be as follows: Allow 500ms after power-up for module to settle.
  • Page 46: Related Products

    Range of PC based software utility tools for Windows o Download PmmC files into the Picaso processor on the module o Download 4DGL user programs o For available software tools please visit the 4D Systems products web-page of your local distributor or visit the 4D Systems website www.4dsystems.com.au www.4dsystems.com.au...
  • Page 47: Appendix

    Appendix 15.1 Help and Other Information: Assistance with latest information and downloads visit the 4D Systems products web- page of your local distributor or visit the 4D Systems website. Questions and technical support please visit the discussion forum at 4D website www.4dsystems.com.au...

This manual is also suitable for:

Μvga-picaso-md1

Table of Contents