Keypad scanner timing — effect on dav after key release In the keypad application, just after 4 ms the simulation releases the key (column returns to F hex), causing the d output to enter Hi-Z. On the next rising clock edge after this release, what happens to the data-available signal dav?
-
AIt goes HIGH.
-
BIt goes LOW.
-
CIt goes to Hi-Z.
-
DIt goes to 1111H.
Answer
Correct Answer: It goes LOW.
Explanation
Introduction / Context:Many keypad interface state machines assert a data-available (dav) flag when a stable key code is present at the data bus d. When the key is released, the column lines revert (F hex), the encoder tri-states d (Hi-Z), and the controller clears dav on a defined clock edge. Understanding this timing prevents software from falsely reading stale data.
Given Data / Assumptions:
- At t ≈ 4 ms, the column lines return to the idle pattern F hex, indicating release.
- The output d goes Hi-Z after release.
- dav is a registered flag updated on the rising clock edge.
- No key debounce or hold latch is keeping dav asserted after Hi-Z.
Concept / Approach:dav indicates “valid data present.” Once d is Hi-Z, there is no valid key code. On the next clock edge, the FSM or register bank samples the absence of a valid key and deasserts dav. Therefore, dav transitions LOW at the next rising edge following the release event.
Step-by-Step Solution:t ≈ 4 ms → key released → columns = F hex.Encoder action → d → Hi-Z (no valid code).Synchronous update → next rising edge clocks state.Since d is not valid → dav is cleared → dav goes LOW.
Verification / Alternative check:Timing diagrams in typical keypad scanner IP show dav asserted only while a stable decoded key is latched. When the matrix returns to idle, dav is cleared on the next clock edge.
Why Other Options Are Wrong:
- Goes HIGH: contradicts loss of valid data.
- Goes to Hi-Z: dav is a driven status flag, not a tri-stated bus.
- Goes to 1111H: dav is a single-bit signal, not a 4-bit value.
Common Pitfalls:Confusing the tri-stated data bus with status flags; only the bus lines go Hi-Z, not control flags.
Final Answer:It goes LOW.