mirror of
				https://github.com/Klagarge/Cursor.git
				synced 2025-10-31 05:59:18 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			188 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			188 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| -- filename:          LCD_usage.vhd
 | |
| -- kind:              txt file
 | |
| --------------------------------------------------------------------------------
 | |
| -- History:
 | |
| -- v1.0 : zas 22.08.2013 -- Initial Version
 | |
| --------------------------------------------------------------------------------
 | |
| -- Description: 
 | |
| -- Explanation about the usage and the functionalities of the LCD Driver.
 | |
| --------------------------------------------------------------------------------
 | |
| 
 | |
| --------------------------------------------------------------------------------
 | |
| -- Overview
 | |
| --
 | |
| The Lcd and Lcd_test library is intended to use with the HEB_LCD_V2_0, see 
 | |
| http://wiki.hevs.ch/uit/index.php5/Hardware/Parallelport/heb_lcd. 
 | |
| 
 | |
| The HEB_LCD_V2_0 features a EADOGM132-5 LCD. Its a 4 Line and 132 column black-
 | |
| light 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 vague toplevel
 | |
| overview below.
 | |
| 
 | |
|  +--------------------------------------------------------------------------+
 | |
|  |  +---------------------+     +----------------+       +---------------+  |
 | |
|  |  | lcdCharacterEncoder |---->| lcdInitialiser |------>| lcdSerialiser |  |
 | |
|  |  +---------------------+     +----------------+       +---------------+  |
 | |
|  |                     ^                                                    |
 | |
|  |                     |        +-------------+                             |
 | |
|  |                     +--------|  bramMemory |                             |
 | |
|  | lcdController                +-------------+                             |
 | |
|  +--------------------------------------------------------------------------+
 | |
| 
 | |
| --------------------------------------------------------------------------------
 | |
| -- Bloc description
 | |
| --
 | |
| lcdController             -- Main bloc containing all needed subblocs
 | |
|   lcdCharacterEncoder     -- This bloc receives the ASCII data to display and 
 | |
|                              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.
 | |
| 
 | |
| --------------------------------------------------------------------------------
 | |
| -- Supported Characters
 | |
| --
 | |
| In VHDL the characters can be written with the following command:
 | |
|   character'pos("VHDL")
 | |
| where VHDL is inidicated in the table below.
 | |
| 
 | |
|  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 |