ECE 5440/6370 Advanced Digital DesignDebouncing CircuitScope Shots of Switch Bounce - ClosingScope Shots of Switch Bounce - OpeningDebouncingScanner Core Logic BehaviorUse LFSR to Control Scanning RateLFSR Counter Length CalculationExercise 1: Calculate the LFSR LengthExercise 2: Draw Timing Diagram of One Complete ScanUniversity of HoustonECE 5440/6370Advanced Digital DesignLecture on Debouncing CircuitYuhua ChenSpring 2010University of Houston2 - Yuhua Chen Debouncing CircuitA mechanical switch (key-press) usually results in momentary oscillating behaviorSwitchOutput Voltage (A)AR+5VUniversity of Houston3 - Yuhua Chen Scope Shots of Switch Bounce - Closing@NodeAUniversity of Houston4 - Yuhua Chen Scope Shots of Switch Bounce - OpeningAUniversity of Houston5 - Yuhua Chen DebouncingOutputACR+5VDebouncingCircuitUniversity of Houston6 - Yuhua Chen Scanner Core Logic BehaviorTo scan the keypad, the row pins are driven low (asserted) one at a time. In order to prevent potential signal contention, the row pins are driven using open drain outputs. The four column pins from the keypad are externally pulled up and are sampled periodically to determine if any keys on the selected (asserted) row are being pressed. A single scan is defined as the process of sequentially asserting each of the four row pins.A key should not be recognized as pressed unless the following conditions are true:»After scanning the keyboard (all 16 keys) a minimum of 1 time, no keys are pressed. »One and only one key is consistently pressed for a minimum of 4 sequential scans.The scan rate of the keypad should be adjusted such that a key will not be recognized in less than 8 milliseconds.University of Houston7 - Yuhua Chen Use LFSR to Control Scanning Rate16-Key Keypad Scanner Architecturescanner_corekeypadlfsr_cntrROW[3:0]COL[3:0]auto_readscanner_iosevenseg_enckey_cntr sevenseg_enckey_xlateKEY_DATA[3:0]KEY_RDYAUTO_RD_KEY_RD_KEY_7SEG[6:0]CNT_7SEG[6:0]CLOCKRESET_Note:ROW[3:0] is a tri-stateable outputTEST_The scan rate of the keypad should be adjusted such that a key will not be recognized in less than 8 milliseconds.University of Houston8 - Yuhua Chen LFSR Counter Length CalculationThe purpose of the LFSR counter is to control the scan rate of the scanning. »The total time from “key pressed” to “key recognized” should be no less than 8 milliseconds so as to mask any bouncing that may be taking place. For example, assume the following:»the scanner has 4 rows»the scanner scans the keypad 4 times before recognizing a key»the LFSR clock frequency is 1 MHzThen the counter length (number of clocks before timeout) would be (8.0 E-3 * 1.0 E6) / (4 * 4) = 500.Therefore, an LFSR counter having a length of 9 bits would be appropriate. Important: Learn how to calculate the length of the LFSR counterTHE FORMULA VALUES STATED ABOVE ARE CONSISTANT WITH THE EXAMPLE. You will have to recalculate the counter length for your lab design based on the DE2 board 50MHz clock source.University of Houston9 - Yuhua Chen Exercise 1: Calculate the LFSR LengthAssume the clock frequency is 50 MHzWhat is the minimum length of the LFSR counter?University of Houston10 - Yuhua Chen Exercise 2: Draw Timing Diagram of One Complete ScanInclude as least the following signals»Row signals»Column signals»LFSR Time Out signal (lfsr_lto)»Assume location (row2, col1) is
View Full Document