UPC EETAC Bachelor's Degree in Telecommunications Systems and in Network Engineering EEL


Registered 16-key matrix encoder with handshake interface signal


Basics on synchronous FSM

1. Specifications

Self-learning material for students with special interest in digital circuit dsign and electronics. 

The idea is to add communication signals to the basic 16-key matrix encoder to be able to connect this keyboard controller (slave peripheral) to a master device or a microcomputer, like the data available (invitation) and the enable output (response or data acknowledged) in Fig 1. Note that the CLK frequency for scanning keys (MCLK) may be very different to the system CLK (SCLK) running in the computer.


Fig 1. Symbol for the proposed device with handshake capabilities for buffering and synchronising the matrix encoder to the system CLK (SCLK).


2. Planning

Here we have to infer a circuit like the one in Fig.2 to be able to register the code of the key pressed until the computer can read it, thus establishing a kind of handshaking between computer and peripheral (the matrix keyboard) using signals like data available and data acknowledged. Full discussion, state diagram and example of timing diagram. 

Fig 2. Proposed enhancements to allow communication (handshaking) with a master computer. Even of we assume that the SCLK is used for both, the peripheral and the master device, DA may be set for more than a SCLK to be sure that the master device can read the registered data, and perhaps D_Ack also may be larger than a single SCLK.

3. Development


4. Testing


5. Report


6. Prototyping


Other similar projects on sequential circuits


Other materials of interest

- At this stage it is recommended to read books in digital electronics to see how the stuff  in sequential systems is explained and which are the differences with respect the methodologies in CSD.

- An A/D converter with handshake capability

- Designing a timer/counter with the functionality of the Microchip 16-bit Timer0 peripheral.