How To Realize Multi-Function LCD Display Controller Based On FPGA - FPGAKey
How To Realize Multi-Function LCD Display Controller Based On FPGA - FPGAKey
All Search
Home > FPGA Technology > FPGA > How to realize multi-function LCD display controller based on FPGA - FPGA Technology
In many embedded system applications, a friendly human-machine information interface is required. The traditional digital tube or
light-emitting diode display method can no longer meet the actual display requirements. The LCD1602/LCD12864 liquid crystal
display module has low-voltage micropower consumption, long life, It has obvious advantages such as large amount of display information
and ultra-thin, and is widely used in various portable electronic information products such as intelligent instruments and meters to realize the
visual information display of numbers, characters and graphics. At present, there are two main methods of display control technology for
LCD1602/LCD12864 liquid crystal modules. The first is microprogram control based on various microprocessors
(8051/ARM/NoisⅡ/SPCE061). This software-configured LCD module controls The technology is widely used, but this control method will
occupy processor resources, slow speed, and poor real-time display performance. Secondly, it is an independent display controller
developed using CPLD/FPGA. This independent display controller with pure hardware structure has fast speed and good real-time display
performance; however, this independent display controller has poor portability and single function, and it is difficult to adapt. Different types
of LCD screens and different display modes.
Therefore, a design scheme of multi-function LCD display controller based on FPGA is proposed in this article, which can drive LCD1602
module to display characters and LCD12864 module to realize real-time display of characters or graphics by configuring the enabling
parameters of the port, and develops in FPGA The feasibility of the design was verified on the board (EP2C5T144C8).
To design a multi-function display controller that can drive two LCD modules, LCD1602/LCD12864, it is necessary to take into account the
package port pins and uses of the two at the same time; make compatibility design for the ports of the multi-function display controller.
LCD1602 liquid crystal module is a most commonly used and cheapest industrial character liquid crystal display. It can display 16x2, 5x7 dot
matrix characters. The font memory of the module is CGROM (Chara cter Generator ROM). The font of 192 commonly used characters is
cured In addition, there are 8 character generators (CGRAM) that allow users to define their own characters. Can be used for a small
amount of custom graphics display (such as Chinese characters). Due to the existence of bit spacing and line spacing of the display unit,
the display effect is not good, so the LCD1602 module is mainly used for displaying Western and ASCII characters. The module has a 16-
pin single-row pin external port.
At present, the commonly used LCD12864 module is a dot-matrix graphic liquid crystal display module that contains the Chinese standard
first and second level simplified Chinese character libraries; it has multiple serial and parallel interface modes, and 8 192 16x16 point
Chinese characters and 128 16x8 points are built in ASCⅡcharacter set, it can display 8x4 16x16 dot Chinese characters or 16x4 16x8 dot
Chinese characters (ASCH) in character display mode; it can also display binary resolution with a resolution of 128x64 in graphic working
mode Figure, the module has a 20-pin single-row pin external port, the function definition of the port and the LCD1602 are shown in Table
1.
It can be seen from the comparison of the ports of the LCD12864 and LCD1602 liquid crystal modules shown in Table 1 that their port
definitions are basically the same. The LCD12864 module only has more PSB (serial parallel selection) and RST (reset terminal) ports than
the LCD16021 module, so ; Can fully design the port of the multi-function LCD display controller according to the port requirements of
LCD12864; PSB and RST ports are idle or floating when driving the LCD 1602 module (also can be used as a power switch and backlight
switch signal for some special LCD1602 screens ).
2 Operation sequence of multi-function display controller
If the LCD12864 liquid crystal module works in the data transmission mode of the parallel port (PSB=1, RST=1), it has exactly the same
control timing as the LCD1602 liquid crystal module, which requires the E, RW, RS control signals generated by the multi-function controller
With the correct timing, the read/write operation timing of the LED module is completed by the enable signal E: the identification of the
read/write operation is to determine the level status on the RW signal; the RS signal is used to identify the data on the data bus DB0~DB7
Whether it is the instruction code or the display data, the LCD module gives the key time parameters (different products of different
manufacturers), generally requires the data read and write cycle TC≥13μs; the enable pulse width TPW≥1.5 μs; the data set-up time
TDSW≥1μs ; Data hold time TH ≥ 20 ns; address establishment and hold time (TAS and TAH) should not be less than 1.5μs, so in the
design of the multi-function LCD display controller IP core, delay configuration parameters must be set to meet the controller's Various
module driver debugging.
The LCD12864 and LCD1602 LCD modules have their own set of strict user instructions. The user uses these instructions to initialize the
LCD module to select the display mode. This requires the multi-function LCD display driver to also contain user configuration instructions for
multiple display modes. LCD12864 The initialization commands of the LCD1602 LCD module character and graphic display modes are
shown in Table 2. The explanation of the commands will not be described in detail here.
The key to designing an LCD display controller based on FPGA is to use a hardware description language to design a finite state machine
(FSM) to control the jump of the LCD module. In the literature, FSM is used to realize the display control of the LCD module, but they are all
aimed at one type. Certain display modes of type LCD modules do not have multi-mode display control capabilities. Therefore, the finite
state machine of the multi-function LCD display controller needs to set more conditional transitions to realize multiple control modes. After
the system is powered on, it first completes an automatic reset lasting about 0.1 s (based on the clock frequency configuration), and then
selects the initialization commands corresponding to different display modes according to the port parameters of the module. The
initialization command and the start line are set in the state machine There are 3 conversion paths for address and screen display data to
adapt to the working state of the LCD screen. At the same time, a configurable delay cycle is also provided on the key conversion path,
which can not only facilitate the debugging of the LCD module, but also keep the LCD module working. In write screen mode (RW=0). For
the display data storage of the LCD screen, it can be completely realized by the ROM/RAM unit embedded in the FPGA. If dual-port RAM
(independent memory read and write) is used, the dynamic real-time display of the LCD module can be realized.
4 Conclusion
The multi-function LCD display controller designed in this paper, the verification results on the FPGA development board show that it has
the functions of driving LCD1602 module to display characters, LCD12864 module to display characters and real-time display graphics; and
can be controlled by port parameter configuration System transplantation.
Hot News
1
On the difference between PLC and PLD
2
The difference between ARM and FPGA
3
What language is used for FPGA programming
4
The difference, characteristics and uses of FPGA and DSP
5
5 incredibly powerful FPGA development boards
6
Xilinx Spartan-7 detailed introduction and buying guide
7
Introduction to Xilinx Zynq 7000
8
Learn the difference between FPGA and ASIC in 15 minutes
9
Basic knowledge of FPGA architecture and applications
10
ModelSim-Altera version simulation process
Download
Digital Oscilloscope
Sample code and schematic diagram of dual core industrial control board
CPLD design Verilog routines counter experiment engineering file source code
ASSOCIATED PRODUCTS
XC3020-100PG84B
FPGA XC3000 Family 1.5K Gates 64 Cells 100MHz 5V 84-Pin CPGA
XC3020-125CB100M
Xilinx PGA
XC4010TM-5PQ160C
Xilinx QFP
XC2S100-5TQG144C
FPGA Spartan-II Family 100K Gates 2700 Cells 263MHz 0.18um Technology 2.5V 144-Pin TQFP EP
XC2S100-6TQ144C
FPGA Spartan-II Family 100K Gates 2700 Cells 263MHz 0.18um Technology 2.5V 144-Pin TQFP
Industry About
Insights Wiki Tutorials FPGA Families Forums Download Us
Intellectual Property Protection - Privacy Policy - Sitemap - Terms of Use - User Agreement © 2022 FPGAKEY.com. All Rights Reserved.
Support
Contact Name
Submit