Interfacing keyboard with FPGA

Slides:



Advertisements
Similar presentations
Prof. Kavita Bala and Prof. Hakim Weatherspoon CS 3410, Spring 2014 Computer Science Cornell University See P&H Appendix B.7. B.8, B.10, B.11.
Advertisements

FPGA Configuration. Introduction What is configuration? – Process for loading data into the FPGA Configuration Data Source Configuration Data Source FPGA.
Sequential Circuits1 DIGITAL LOGIC DESIGN by Dr. Fenghui Yao Tennessee State University Department of Computer Science Nashville, TN.
Prof. Hakim Weatherspoon CS 3410, Spring 2015 Computer Science Cornell University See P&H Appendix B.7. B.8, B.10, B.11.
EE 316 Computer Engineering Junior Lab Word Mastermind.
EE 316 Computer Engineering Junior Lab PS/2 Keyboard.
1 COMP541 Keyboard Interface Montek Singh April 9, 2007.
1 Project supervised by: Dr Michael Gandelsman Project performed by: Roman Paleria, Avi Yona 12/5/2003 Multi-channel Data Acquisition System Mid-Term Presentation.
LED Light Show Critical Design Review Team Lit Michael Hatt Scott Butler Kristin Haeusler Brock Smith.
COMP541 Input Devices: Keyboards, Mice and Joysticks
EE 316 Computer Engineering Junior Lab Digital Hangman.
ECE 353 Lab B (part 1 – Overview)
1 Keyboard Controller Design By Tamas Kasza Digital System Design 2 (ECE 5572) Summer 2003 Presentation for.
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Keyboard Interface Anselmo Lastra.
PS/2 Mouse/Keyboard Port Discussion D7.2. PS/2 Port.
PS2 Keyboard Interface Using Spartan-3 Starter Kit Board
Introduction to Counter in VHDL
PP2 Status F. Bellina. Problem solved.. Problem with inhibit and reading temperature and many crazy behavior Solved with a new FPGA firmware: the hardware.
1 COMP541 Input Devices: Keyboards, Mice and Joysticks Montek Singh Apr 16, 2012.
Digilent System Board Capabilities Serial Port (RS-232) Parallel Port 1 Pushbutton Hint: Good for a reset button Connected to a clock input. See Digilent.
1 4-Integrating Peripherals in Embedded Systems (cont.)
Elevator Controller We’re hired to design a digital elevator controller for a four-floor building st try: Design a counter that counts up.
Renesas Electronics Europe GmbH A © 2010 Renesas Electronics Corporation. All rights reserved. RL78 Clock Generator.
ELEC4601 Microprocessor systems Lab 3 Tutorial
1 Keyboard Controller Design By Tamas Kasza Digital System Design 2 (ECE 5572) Summer 2003 A Project Proposal for.
Counter Application (Part B) By : Pn Siti Nor Diana Ismail CHAPTER 3.
Some features of V1495 Shiuan-Hal,Shiu Everything in this document is not final decision!
8279 KEYBOARD AND DISPLAY INTERFACING
Link Layer Review CS244A Winter 2008 March 7, 2008 Ben Nham.
CascadedBCDCntr&Display Aim : Capture, simulate and implement a 2-digit, loadable BCD up/down counter, with chip enable I/P (CE) and chip enable O/P (CEO).
Slide 1 Project 1 Task 2 T&N3311 PJ1 Information & Communications Technology HD in Telecommunications and Networking Task 2 Briefing The Design of a Computer.
1 COMP541 Input Devices: Keyboards, Mice and Joysticks Montek Singh Apr 6, 2015.
Adapting the LHC 1TFB electronic circuit to other equipments The candidates are: PS 1TFB PS TFB PS CBFB PSB TFB PSB 1TFB 1 Alfred Blas Working group meeting.
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL State Machines Anselmo Lastra.
8279 KEYBOARD AND DISPLAY INTERFACING
EE 316 Computer Engineering Junior Lab Project 2 Digital Yahtzee.
PS/2 Mouse/Keyboard Port
Digital System Design using VHDL
The Spartan®-3E FPGA Starter Kit board. A computer mouse is designed mainly to detect two-dimensional motion on a surface. Its internal circuit measures.
Introduction to Labs Wenchao Cao, Teaching Assistant Department of EECS University of Tennessee.
Timing Board FPGA. Use existing IP version until firmware is ported to new FPGA FPGA Existing IP Carrier UCD Digital I/O TSG Timing Board.
Lab Environment and Miniproject Assignment Spring 2009 ECE554 Digital Engineering Laboratory.
Introduction to the DE0 Board Prof. Taeweon Suh Computer Science & Engineering Korea University COSE221, COMP211 Computer Logic Design.
ECE 554 Miniproject Spring
Introduction to the FPGA and Labs
The Data Handling Hybrid
DE2-115 Control Panel - Part I
FLIP FLOPS Binary unit capable of storing one bit – 0 or 1
Chapter 6 Input/Output Organization
Peripherals – Keypad The Keypad provides a simple means of numerical data or control input. The keys can be attributed whatever data or control values.
The first change to your project files that is needed is to change the device to the correct FPGA. This is done by going to the Assignments tab on the.
LCD AND KEYBOARD INTERFACING
4-Integrating Peripherals in Embedded Systems (cont.)
COMP541 Input Devices: Keyboards, Mice and Joysticks
Maj Jeffrey Falkinburg Room 2E46E
COMP211 Computer Logic Design Introduction to the DE2 Board
COMP541 Input Devices: Keyboards, Mice and Joysticks
Sheng-Li Liu, James Pinfold. University of Alberta
ECE 448 Lecture 6 Finite State Machines State Diagrams vs. Algorithmic State Machine (ASM) Charts.
Sequential Circuits: Latches
Clock Domain Crossing Keon Amini.
EEL 3705 / 3705L Digital Logic Design
Sequential Circuits: Latches
Chapter Nine: Data Transmission
Sequential Circuits: Latches
Lab 1. Introduction to the DE2 Board
The SDRAM Controller EECS150 Fall Lab Lecture #8 Chen Sun
Lecture 4. Introduction to the DE2 Board
LCD AND KEYBOARD INTERFACING
♪ Embedded System Design: Synthesizing Music Using Programmable Logic
Presentation transcript:

Interfacing keyboard with FPGA

How does the keyboard send data? Old PS/2 Keyboard sends data serially Sampling edge is the falling edge Main code of each key is gathered in 8 bits Clock frequency is around 10-30 KHz

What happens when you press/release a key? Key pressed => make code Key released => break code

Make/break codes Example of ’A’ key When ’A’ is pressed: “1C” is sent serially through serial data line If you are still holding it down, another “1C” will be sent. This keeps occurring until the 'A' key has been released when the pressed key is released: “F0” (hex) and then “1C” For more info see: https://retired.beyondlogic.org/keyboard/keybrd.htm

Scan codes Each key is assigned a unique scan code. Check the table in lab manual for all scan codes

Demonstration of your design Check the reset condition: All 4 seven segments should be switched off at reset pressing a stream, e.g. “1 2 3 4 5 6” one at a time FPGA board should show the following order: reset

Important Concepts Synchronization The frequency difference between FPGA and keyboard (keyboard freq. typically is a few KHz (~10-30) and FPGA in the MHz range) Synchronization to avoid meta-stability between two clock domains Keyboard operates by sampling the data line on the falling edge of its clock Falling edge detection of keyboard clock is the key not to miss any data from data line

Tips and Hints Build a testbench for each component & TESTIt! The sooner you realize a problem, the easier you will solve it Comment your code wherever possible! Document the your work process! Make sure you keep the input/output ports of each component the same as they are provided. Though you can create your own internal signals in the components.

Tips and Hints Read the required parts from reference manual of FPGA board. You need to understand e.g., how to refresh the 7segments to show your digits Almost all necessary solutions to your problems can be found in the course book. Also, searching through internet may help you for better understanding  And Finally: No Latch!