The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Keyboard Interface Anselmo Lastra.

Slides:



Advertisements
Similar presentations
Keyboarding Vocabulary I Finals Study Basic Computer.
Advertisements

1.Obtain laser pointer coordinates 2.Send laser pointer coordinates to laptop through the PS/2 port 3.Pixel Mapping between camera image and laptop screen.
INPUT-OUTPUT ORGANIZATION
Give qualifications of instructors: DAP
FSM examples.
CS 151 Digital Systems Design Lecture 37 Register Transfer Level
Henry Hexmoor1 Chapter 7 Henry Hexmoor Registers and RTL.
Outline  Examine some of the H/W supplied with a typical PC and consider the software required to control it.  Introduce Commkit, a software tool that.
EE 316 Computer Engineering Junior Lab Word Mastermind.
EE 316 Computer Engineering Junior Lab PS/2 Keyboard.
Other I/O LCD display Flash ROM Keyboard (PS/2) UART connectors.
PS/2 Mouse/Keyboard Port Lecture L9.4. PS/2 Port.
1 COMP541 Keyboard Interface Montek Singh April 9, 2007.
CS150 Project Checkpoint 1. Controller Interface Dreamkatz Controller Interface 1. The N64 Controller 2. Physical interface 3. Communication protocol.
The Data Link Layer Chapter 3. Position of the data-link layer.
3D Wireless Mouse Shirley Li Matt Tanwentang Joseph Cheng.
COMP541 Input Devices: Keyboards, Mice and Joysticks
EE 316 Computer Engineering Junior Lab Digital Hangman.
1 COMP541 State Machines – 2 Registers and Counters Montek Singh Feb 8, 2007.
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
Counters and Registers
OS Implementation On SOPC Final Presentation
1 SCI Serial Communication Interface Gerrit Becker James McClearen Charlie Hagadorn October 21, 2004.
1 Keyboard Controller Design By Tamas Kasza Digital System Design 2 (ECE 5572) Summer 2003 Presentation for.
PS/2 Mouse/Keyboard Port Discussion D7.2. PS/2 Port.
PS2 Keyboard Interface Using Spartan-3 Starter Kit Board
INPUT-OUTPUT ORGANIZATION
CHARACTERS Data Representation. Using binary to represent characters Computers can only process binary numbers (1’s and 0’s) so a system was developed.
1 COMP541 Input Devices: Keyboards, Mice and Joysticks Montek Singh Apr 16, 2012.
LSU 10/22/2004Serial I/O1 Programming Unit, Lecture 5.
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.
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Arithmetic Circuits II Anselmo Lastra.
A PS/2 mouse is shown above with the cover removed. The ball (upper right) rolls two plastic X and Y axles with a slotted wheel at one end. The slotted.
Scott Baker Will Cross Belinda Frieri March 9 th, 2005 Serial Communication Overview ME4447/6405.
EE4OI4 Engineering Design UP1core Library Functions.
Example. SBUF Register SCON Register(1) SCON Register(2)
8279 KEYBOARD AND DISPLAY INTERFACING
The Principle of Electronic Data Serial and Parallel Data Communication Transmission Rate Bandwidth Bit Rate Parity bits.
1 October 26, 2006ME 6405 MechatronicsSerial Communication Interface Brian Guerriero Jon Rogers Robert Thiets.
1 COMP541 Input Devices: Keyboards, Mice and Joysticks Montek Singh Apr 6, 2015.
1 Programming of FPGA in LiCAS ADC for Continuous Data Readout Week 5 Report Tuesday 29 th July 2008 Jack Hickish.
PPI-8255.
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL State Machines Anselmo Lastra.
8279 KEYBOARD AND DISPLAY INTERFACING
PS/2 Mouse/Keyboard Port
FUNDAMENTALS OF NETWORKING
1 COMP541 State Machines – 2 Registers and Counters Montek Singh Feb 11, 2010.
Unit 1 Lecture 4.
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.
Teaching Digital Logic courses with Altera Technology
Example 1 Program the divisor Latch for 300 baud. Assume Xin=1.8432MHz The Base Address: 0x3F8 0RX_TX / Divisor.low 1IER: Interrupt Enable Reg. / Divisor.high.
1 Digital Logic Design Engr. Kashif Shahzad. 2 What’s Course About?  Digital logic, focusing on the design of computers  Stay above transistor level.
Data Link Layer 1. 2 Single-bit error 3 Multiple-bit error 4.
Keyboard Introduction Keyboard is an input device. It is used to give text, numbers and controls as input to computer. The.
Menu A list from which the user may select an operation to be performed. I look at the menu to see what I want to do.
1 COMP541 Video Monitors Montek Singh Mar 11, 2016.
Networked Embedded Systems Pengyu Zhang EE107 Spring 2016 Lecture 8 Serial Buses.
Data Transmission and Networks Transmission error checking & correcting.
INTERFACING KEYBOARD WITH ATMEGA32 ELECTRONICS & COMMUNICATION TITLE.
The HCS12 SCI Subsystem A HCS12 device may have one or two serial communication interface. These two SCI interfaces are referred to as SCI0 and SCI1. The.
Serial I/O Port.
REGISTER TRANSFER LANGUAGE (RTL)
COMP541 Input Devices: Keyboards, Mice and Joysticks
Clocks, I/O devices, Thin Clients, and Power Management
Serial I/O and Data Communication.
COMP541 Input Devices: Keyboards, Mice and Joysticks
Mouse & Keyboard Basics
EEL 3705 / 3705L Digital Logic Design
Registers Today we’ll see some common sequential devices: counters and registers. They’re good examples of sequential analysis and design. They are also.
Interfacing keyboard with FPGA
Presentation transcript:

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Keyboard Interface Anselmo Lastra

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL 2 PS/2 Keyboard Uses a synchronous serial protocol ♦ What does that mean?

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL 3 Physical Interface Two lines ♦ Clock (10-20KHz) ♦ Data Asserted low There’s documentation in NEXYS board manual, starting on P. 7

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL 4 Bidirectional Kybd-to-host and host-to-kybd on same wires ♦ CAPS LOCK light for example To send, host takes data line low ♦ Sometimes take clk low first Then kybd starts clocking ♦ Host sends data synced to kybd clock You shouldn’t need to send to kybd

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL 5 Protocol 11 bits ♦ Start – always 0 ♦ 8 bits of data ♦ Odd parity bit ♦ Stop bit – always 1 Clocked by keyboard Value should be latched on negedge of keyboard clock ♦ Slow enough that you could easily build simple FSM and clock on your 50 MHz clock Illustration from

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL 6 What is Sent ASCII is not sent Scan codes for keys ♦ Least significant bit first Illustration from

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL 7 Scan Codes Normally translated by software ♦ You remap your keys, for example Software takes care of ♦ Shift, caps lock, control

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL 8 Some Scan Codes Long Two code sequence common Have a look at Break key!

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL 9 Even More Complicated Scan code generated when you press And when you release ♦ Two bytes: F0 followed by key scan code ♦ Example: Space pressed, 29 sent Space released, F0 29 sent If you hold key, scan code repeated

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL 10 Resources Information Scan codes There is also Verilog for keyboard interfaces available on web.

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL 11 My Verilog Have Verilog for keyboard Have not ported to new FPGA To use ♦ You should memory-map the character code register ♦ Maybe add a single bit register to indicate that new character has arrived

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Mouse Very similar interface (clk & data) 3 words sent w/ mouse movement or button press 12

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Movement Movement is relative XS, YS are sign (+ is up/right) XV, YV are overflow (too fast) L, R are buttons (the 0 is middle?) 13

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Scroll Wheel, etc. Extensions to original 2 button PS/2 mouse See 14