Components/IP/HEB LCD

From UIT
Jump to: navigation, search

Contents

HEB-LCD IP Core

This IP can be found on the EDA Repository: svn: https://repos.hevs.ch/svn/eda/


The Lcd and Lcd_test library is intended to use with the HEB_LCD_V2_0 The HEB_LCD_V2_0 features a EADOGM132-5 LCD. Its a 4 Line and 132 column blacklight display. The font created for it uses 6 columns per character which allows to have 4 lines with 22 characters each. The connection is I2C based and some initial configuration needs to be done. The bloc lcdController has everything needed to use the LCD. See the toplevel bloc overview below.

Components IP HEB LCD toplevel.png

Design

lcdController

Main bloc containing all needed subblocs

lcdCharacterEncoder

This bloc receives the ASCII data to display and converts it to display data or display commands

bramMemory

Contains the command for command chars (<0x20) and the display (pixel) data for a the symbol chars (>=0x20). All the data of this ram are stored inthe font.txt file.

lcdInitialiser

This bloc lets send predefined commands for 2 features. One is for initialising the display in the beginning, and the other is for clear all data from the display

lcdSerialiser

This bloc takes the parallised data and sends them over the I2C bus.

Generics

The controller has 2 generics:

  • aciiBitNb, which should be set to 7
  • baudRateDivide, which gives the SPI clock rate as a function of the system clock

The display's maximal SPI rate is 20 MHz.

Synthesis

Using BRAMs, one needs to add in Synthesize -> Process properties -> Other XST command-line options :

-use_new_parser yes

Supported Characters

In VHDL the characters can be written with the following command:

 character'pos(VHDL value)

where VHDL is inidicated in the table below.

Supported 7Bit ASCII Characters
Hex VHDL Value Description Function
0x00 nul Null Not supported
0x01 soh Start of Header Not supported
0x02 stx Start of Text (0,0) Goto pos line 0 character 0
0x03 etx End of Text (3,21) Goto pos line 3 character 21
0x04 eot End of Transmission Not supported
0x05 enq Enquiry Not supported
0x06 ack Acknowledgment Not supported
0x07 bel Bell Not supported
0x08 bs Backspace (y,x-1) Jump one char back
0x09 ht Horizontal Tab Not supported
0x0A lf Line Feed (y+1,x)Goto next line
0x0B vt Vertical Tab (y-1,x) Goto previous line
0x0C ff Form Feed Not supported
0x0D cr Carriage Return (y,0) Goto beginning of line
0x0E so Shift Out Not supported
0x0F si Shift In Not supported
0x10 dle Data Link Escape Not supported
0x11 dc1 XON Device Control 1 Not supported
0x12 dc2 Device Control 2 Not supported
0x13 dc3 XOFFDevice Control 3 Not supported
0x14 dc4 Device Control 4 Not supported
0x15 nak Negativ Acknowledgemnt Not supported
0x16 syn Synchronous Idle Not supported
0x17 etb End of Trans. Block Not supported
0x18 can Cancel Clear entire display
0x19 em End of Medium Not supported
0x1A sub Substitute Not supported
0x1B esc Escape Not supported
0x1C fsp File Separator Not supported
0x1D gsp Group Separator Not supported
0x1E rsp Reqst to SendRec. Sep. Not supported
0x1F usp Unit Separator Not supported
0x20 ' ' Space Print char
0x21 '!' exclamation mark Print char
0x22 '"' double quote Print char
0x23 '#' number sign Print char
0x24 "$" dollar sign Print char
0x25 "%" percent Print char
0x26 "&" ampersand Print char
0x27 "'" single quote Print char
0x28 "(" left/open parenthesis Print char
0x29 ")" right/closing parenth. Print char
0x2A "*" asterisk Print char
0x2B "+" plus Print char
0x2C "," comma Print char
0x2D "-" minus or dash Print char
0x2E "." dot Print char
0x2F "/" forward slash Print char
0x30 "0" Print char
0x31 "1" Print char
0x32 "2" Print char
0x33 "3" Print char
0x34 "4" Print char
0x35 "5" Print char
0x36 "6" Print char
0x37 "7" Print char
0x38 "8" Print char
0x39 "9" Print char
0x3A ":" colon Print char
0x3B ";" semi-colon Print char
0x3C "<" less than Print char
0x3D "=" equal sign Print char
0x3E ">" greater than Print char
0x3F "?" question mark Print char
0x40 "@" AT symbol Print char
0x41 "A" Print char
0x42 "B" Print char
0x43 "C" Print char
0x44 "D" Print char
0x45 "E" Print char
0x46 "F" Print char
0x47 "G" Print char
0x48 "H" Print char
0x49 "I" Print char
0x4A "J" Print char
0x4B "K" Print char
0x4C "L" Print char
0x4D "M" Print char
0x4E "N" Print char
0x4F "O" Print char
0x50 "P" Print char
0x51 "Q" Print char
0x52 "R" Print char
0x53 "S" Print char
0x54 "T" Print char
0x55 "U" Print char
0x56 "V" Print char
0x57 "W" Print char
0x58 "X" Print char
0x59 "Y" Print char
0x5A "Z" Print char
0x5B "[" left/opening bracket Print char
0x5C "\" back slash Print char
0x5D "]" right/closing bracket Print char
0x5E "^" caret/circumflex Print char
0x5F "_" underscore Print char
0x60 "`" Print char
0x61 "a" Print char
0x62 "b" Print char
0x63 "c" Print char
0x64 "d" Print char
0x65 "e" Print char
0x66 "f" Print char
0x67 "g" Print char
0x68 "h" Print char
0x69 "i" Print char
0x6A "j" Print char
0x6B "k" Print char
0x6C "l" Print char
0x6D "m" Print char
0x6E "n" Print char
0x6F "o" Print char
0x70 "p" Print char
0x71 "q" Print char
0x72 "r" Print char
0x73 "s" Print char
0x74 "t" Print char
0x75 "u" Print char
0x76 "v" Print char
0x77 "w" Print char
0x78 "x" Print char
0x79 "y" Print char
0x7A "z" Print char
0x7B "{" left/opening brace Print char
0x7C " vertical bar Print char
0x7D "}" right/closing brace Print char
0x7E "~" tilde Print char
0x7F "del" arrow to the left Print char
Personal tools
Namespaces
Variants
Actions
Navigation
Browse
Toolbox