Sie sind auf Seite 1von 6

Lab #6: CPLD with LCD Displays

SAIT- ENT-DIGI260

Lab #6: CPLD with LCD Displays


Created February 2008; updated January 2010

Print all pages

Objectives:
1. Create a VHDL program to resolve a logic problem. 2. Program and interface a CPLD with an LCD Display using ASCII code. 3. Build a counter with oscillator to automatically cycle through the CPLD program.

Pre-Lab Preparation:
1. Attend lectures and review the theory on basic VHDL language structure. 2. Read the textbook chapters and on-line materials and specification sheets that relate to Alteras 7000S series of CPLDs and the MAX + Plus II application software. 3. Attend lectures and review the theory of operation of the LCD display. 4. Convert ASCII code to binary values using available resources. 5. Assemble required resources such as LCD instruction sets and pin configuration (see references section on the next page)

Equipment Required:
1. 2. 3. 4. 5. Experimenters board with 5V power supply PC with access to specification sheets and other reference material Parts kit including the 74193 counter On Loan: CPLD and the LCD Display In Lab: PC with parallel port (for programming CPLD)

Additional Notes:
1. LCD Displays and CPLDs are sensitive devices: a. The devices are sensitive to static discharge. Employ proper handling techniques. Use a ground strap. b. The devices are sensitive to input voltage issues. The input voltage must be set to 5 Volts, the polarity must be correct, and the loads must not exceed requirements. 2. The borrowed devices must be returned at the conclusion of the lab. 3. Some classroom time may be provided to work on this lab. 4. You must reference on-line materials and specification sheets to complete this lab. See the references section of the lab (last page). 5. This is a 2-week lab.

Lab #6: CPLD with LCD Displays

SAIT- ENT-DIGI260

Reference materials: Classroom presentation materials from the DIGI260 web site for the CPLD, VHDL and general information on LCDs Look online for ASCII converters or ASCII charts. The device used is SAMSUNG CGROM (Character Generator ROM) assembled by Lumex. LCD Display information is also available here: http://www.trash.net/~luethi/microchip/datasheets/datasheets.html

Pin configuration of the LCD Display Board 1 16

A K

Pin #
1 2 3 4 5 6 7-14 15-16

Symbol
VSS VDD VO RS R/W E DB0~DB7 A-K

Function
Ground 5 Volts Display contrast input Data (H) or Instruction (L) Read from (H) or Write to ( L) Enable (clocking edge) Data Bus Backlight LED (not used)

Note: This pinout is correct DO NOT MIX Vcc and GND!

Lab #6: CPLD with LCD Displays

SAIT- ENT-DIGI260

Procedure 1:
Experimenting with the LCD Display
1- Refer to specification sheets and ASCII conversion tools to determine the input binary code sequence to perform a sequence of instructions (I) and data (D). Complete the table below.
RS I I I D I D Action Clear the display and home position Set the display to 2 lines Set cursor to blink Enter the character A Go to the second line Enter the character x DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0

2- Connect the LCD Display to the Experimenters board. a. Employ personal grounding. b. Ensure the experimenters board is turned off.

c. Carefully remove the LCD Display from the package, connect it to the
experimenters board and connect it to Vcc and ground.

d. Connect the contrast (LCD Driving Voltage) input to a 10k


potentiometer as indicated in diagram #1.

Diagram #1 e. Connect the R/W to the appropriate value for write only. f. Connect E and RS to DIP switches.
g. Connect DB0 to DB7 to the switches on the experimenters board.

h. Apply power and adjust the contrast until a light grey background is
visible on the display.

Lab #6: CPLD with LCD Displays

SAIT- ENT-DIGI260

3- Apply the values from step 1 to the switches. Note that an edge needs to be provided to the LCD display for it to read the input, and the RS input controls the input mode (Instruction or Data). Observe the results and make any appropriate adjustments to the input code. Make note what edge is active. 4- Demonstrate the completed output to the instructor (character A on the first line and x on the second).

Procedure 2:
Write your name on the display using switched inputs.
1. Look up the appropriate code sequences for the letters in your name. 2. With the LCD connected to the switches manually enter the code sequences and clock in your name to the LCD. Use both lines of the display. 3. Demonstrate your completed name to the instructor.

Procedure 3:
Use VHDL to design an ASCII output sequence.
1. Using VHDL, write a program that will write your name on the first and the second line of the display. You will need to use reference materials.

2. The program should have a 5-bit binary up count pattern as the input and
produce the appropriate output for interfacing with the LCD display, including instructions and data. NOTE: The Enable input for the LCD display should be handled externally and shouldnt be included with the CPLD code. NOTE: It is highly recommended that you manually assign the pins. 3. Compile the program, and program the CPLD.

4. Connect the CPLD inputs to the DIP switches on the experimenters board
from procedure 2. Connect the Enable input to the appropriate switch (hint: the E input is edge-driven). 5. Verify your connections to the CPLD and the LCD before applying power. Ensure there are no errors with Vcc/GND.

Lab #6: CPLD with LCD Displays

SAIT- ENT-DIGI260

6. Apply a digital count sequence to the DIP switches and manually clock in
each numerical value, one after the other. Verify that your programmed instructions function and the programmed characters are displayed.

7. Print a copy of the program and include it with your lab submission. 8. Print a floorplan of your device and include it with your submission.
9. Continue to procedure 4.

Procedure 4:
Automatically write your name on the display.
1. Ensure the experimenters board is turned off and that you are utilizing appropriate static protection.

2. Design and build a counter that will provide the appropriate modulus for your
program. NOTE: This counter must increment on the edge that is complimentary to the Enable edge of the display.

3. Design and build a variable oscillator that will function at approximately 1Hz
and higher (may also require a Schmitt to clean up the edges).

4. Connect the counter to the CPLD. Connect the oscillator output to the E input
of the display and to the clocking input of the counter. Again, the counter and the Enable edges must function on complimentary edges. 5. Verify your connections to the CPLD and the LCD before applying power. Ensure there are no errors with Vcc/GND.

6. Apply power and verify your results. You should see your name
automatically typed to the LCD without any manual input. 7. Demonstrate to the instructor.

Signatures: Procedure 1 LCD basic display (A & x):___________ Procedure 2 Name displayed: _____________ Procedure 4: Name is automatically displayed: ____________________ Submit: Floorplan and VHDL code. LCD board#: CPLD board#:

Lab #6: CPLD with LCD Displays

SAIT- ENT-DIGI260

Items Returned in good condition: ____________________ Student Name: ____________________________ Date: ____________

Das könnte Ihnen auch gefallen