The serial protocol implemented in this design consists of a simple single byte packet which instructs the CPLD which column of the keypad to multiplex into MISO, which screen should be displaying data, and what number should be displayed on the screen. The screen select signal also doubles up as instructing which row of the keypad to be scanned. Data is sent Most Significant Bit (MSB) first.
The high impedance programming state is not implemented in this ASIC. It is represented as a bit out instead.
Keep in mind: This system is clocked by the SPI clock, and therefore requires constant clocking to function.
Build the supporting hardware as described in the schematic found in "Exteral hardware". Create a system which transmits SPI bytes, according to specifications in "How it works". The system will display your desired digits on the selected screens.
You may also use the MISO to implement a 4x4 keypad, which is interpreted by the system creating the SPI bytes. This will not be detailed as to how to implement.
Main external system schematic:
Simple keypad:
# | Input | Output | Bidirectional |
---|---|---|---|
0 | Out7S[0] | ScreenSel[0] | |
1 | MOSI | Out7S[1] | ScreenSel[1] |
2 | EN | Out7S[2] | ScreenSel[2] |
3 | RESET | Out7S[3] | ScreenSel[3] |
4 | KeyPlxr[0] | Out7S[4] | High-Z |
5 | KeyPlxr[1] | Out7S[5] | |
6 | KeyPlxr[2] | Out7S[6] | |
7 | KeyPlxr[3] | MISO |