| The Datasheet Archive - 100 Million Datasheets from 7500 Manufacturers. |
=L/2* :RUOGZLGH +HDGTXDUWHUV +DPLOWRQ $YHQXH &DPSEHOO 7HOHSKRQH ZZZ]LO
Top Searches for this datasheet3UDFWLFDO 6RIWZDUH 'HERXQFH 8VLQJ =L/2* :RUOGZLGH +HDGTXDUWHUV +DPLOWRQ $YHQXH &DPSEHOO 7HOHSKRQH ZZZ]LORJFRP $SSOLFDWLRQ 1RWH $SS1RWH7LWOH 7KLV SXEOLFDWLRQ VXEMHFW UHSODFHPHQW ODWHU HGLWLRQ GHWHUPLQH ZKHWKHU ODWHU HGLWLRQ H[LVWV UHTXHVW FRSLHV SXEOLFDWLRQV FRQWDFW =L/2* :RUOGZLGH +HDGTXDUWHUV +DPLOWRQ $YHQXH &DPSEHOO 7HOHSKRQH ZZZ]LORJFRP =L/2* UHJLVWHUHG WUDGHPDUN =L/2* 8QLWHG 6WDWHV RWKHU FRXQWULHV RWKHU SURGXFWV DQGRU VHUYLFH QDPHV PHQWLRQHG KHUHLQ WUDGHPDUNV FRPSDQLHV ZLWK ZKLFK WKH\ DVVRFLDWHG ,QIRUPDWLRQ ,QWHJULW\ LQIRUPDWLRQ FRQWDLQHG ZLWKLQ WKLV GRFXPHQW EHHQ YHULILHG DFFRUGLQJ JHQHUDO SULQFLSOHV HOHFWULFDO PHFKDQLFDO HQJLQHHULQJ DSSOLFDEOH VRXUFH FRGH LOOXVWUDWHG GRFXPHQW HLWKHU ZULWWHQ DXWKRUL]HG =L/2* HPSOR\HH OLFHQVHG FRQVXOWDQW 3HUPLVVLRQ WKHVH FRGHV IRUP EHVLGHV LQWHQGHG DSSOLFDWLRQ PXVW DSSURYHG WKURXJK OLFHQVH DJUHHPHQW EHWZHHQ ERWK SDUWLHV =L/2* ZLOO UHVSRQVLEOH FRGHV XVHG EH\RQG LQWHQGHG DSSOLFDWLRQ &RQWDFW ORFDO =L/2* 6DOHV 2IILFH REWDLQ QHFHVVDU\ OLFHQVH DJUHHPHQWV 'RFXPHQW 'LVFODLPHU =L/2* ULJKWV UHVHUYHG ,QIRUPDWLRQ WKLV SXEOLFDWLRQ FRQFHUQLQJ GHYLFHV DSSOLFDWLRQV WHFKQRORJ\ GHVFULEHG LQWHQGHG VXJJHVW SRVVLEOH XVHV VXSHUVHGHG =L/2* '2(6 $6680( /,$%,/,7< 3529,'( 5(35(6(17$7,21 $&&85$&< ,1)250$7,21 '(9,&(6 7(&+12/2*< '(6&5,%(' 7+,6 '2&80(17 =L/2* $/62 '2(6 $6680( /,$%,/,7< ,17(//(&78$/ 3523(57< ,1)5,1*(0(17 5(/$7(' 0$11(5 ,1)250$7,21 '(9,&(6 7(&+12/2*< '(6&5,%(' +(5(,1 27+(5:,6( ([FHSW ZLWK H[SUHVV ZULWWHQ DSSURYDO =L/2* LQIRUPDWLRQ GHYLFHV WHFKQRORJ\ FULWLFDO FRPSRQHQWV OLIH VXSSRUW V\VWHPV DXWKRUL]HG OLFHQVHV RWKHU ULJKWV FRQYH\HG LPSOLFLWO\ RWKHUZLVH WKLV GRFXPHQW XQGHU LQWHOOHFWXDO SURSHUW\ ULJKWV APPLICATION NOTE PRACTICAL SOFTWARE DEBOUNCE USING Z893XX HERE PRACTICAL DEMONSTRATION IMPLEMENT COST-EFFECTIVE SWITCH DEBOUNCE USING ON-CHIP RESOURCES Z893XX 16-BIT FIXEDPOINT DSP. INTRODUCTION cost-effective switch debounce implemented using on-chip resources Z893XX? There many possible methods, most difficult impractical. Switching from mode alternate operational mode sometimes evokes manual interrupt. while interrupt source perfectly adequate mode task switching generated shot external pulse generator), noise from switch will often trigger multiple interrupts leading unpredictable switches. noisy, low-cost switches, simple network used debounce adequate, using external hardware generate single interrupt edge cost effective. This app. note provides solution: software debounce coupled simple switch implement variable-level software debounce with minimal software overhead. Note following interrupt structure: Table Interrupt Structure Reset Vector INT1 INT0 Reset Vector 0000h Timer/Counter Used Internal CODEC Interrupt Used Debounce Sinewave Generation External Debounce Switch Interrupt Selects Effect EXT0-EXT7 Switch Audio Output Z89321 ER/W, INT0 CODEC EA1, 29C18 CODEC Hardware hardware interface very straightforward. necessary hardware incorporated Z89391 Application Development (Z8939100ZCO), which integrates emulator with evaluation section including CODEC. (This ordered directly from Zilog complete ready-to-use evaluation platform.) There only handful components, excluding emulator portion. entire emulation section, course, replaced with single DSP. (Refer Figures which show complete Z89391 schematic diagram.) input switch simply hardwired hardware interrupt INT0. demonstrate effectiveness this solution, sinewave generator been added software. output this sinewave generator through CODEC simple amplified speaker system. Z893XX's on-board CODEC greatly simplifies interface. Although CODECs simultaneously supported, CODEC been chosen demonstration purposes. connected main frame synchronization signal. Figure Z89321 Hardware Block Diagram AP96DSP0500 AN008802-0701 Practical Software Debounce Using Z893XX Figure Z89391 Schematic Diagram-Part AN008802-0701 AP96DSP0500 Practical Software Debounce Using Z893XX Figure Z89391 Schematic Diagram-Part AP96DSP0500 AN008802-0701 Practical Software Debounce Using Z893XX Figure Z89391 Schematic Diagram-Part AN008802-0701 AP96DSP0500 Practical Software Debounce Using Z893XX Figure Z89391 Schematic Diagram-Part AP96DSP0500 AN008802-0701 Practical Software Debounce Using Z893XX Figure Z89391 Schematic Diagram-Part AN008802-0701 AP96DSP0500 Practical Software Debounce Using Z893XX Figure Z89391 Schematic Diagram-Part AP96DSP0500 AN008802-0701 Practical Software Debounce Using Z893XX Figure Z89391 Schematic Diagram-Part AN008802-0701 AP96DSP0500 Practical Software Debounce Using Z893XX Software software flowchart (refer Figure that follows shows primary Interrupt Service Routines (ISRs). Code operation been integrated into practical working code wherever possible. Since built-in CODEC interface available, many applications will require using this event. practical result that only first interrupt from switch will have practical effect until debounce counter times out. software debounce required first, processor simply idles until internal CODEC interrupt occurs. sinewave generator simply serviced next phase sinewave through hardware µ-law compression CODEC should audible through speaker. delay counter incremented after every entry CODEC reset after reached maximum count. time debounce time which another interrupt from INT0 will acknowledged calculated follows. INT0 CODEC Save Debfl Set? Save Incr Delay Debfl Debmx? Reset Delay Reset Delay Maxeff? Reset Debfl Incr Effect Tone Restore Restore INT0 Cod1 Figure Software Debounce Flowchart AP96DSP0500 AN008802-0701 Practical Software Debounce Using Z893XX Emulator 24.00 SCLK FSYNC 24/(3x2x2) 2.0/256 provide delay software Four tones selected: kHz, kHz, kHz, after each depression switch. quick depressions switch within delay time will have effect. switch depressed held depressed more than milliseconds then released, then release will treated another interrupt. variable debmx should adjusted compensate intended application. overview CODEC interface registers provided here reference. Therefore, every entry CODEC1 1/125 microseconds. Assuming width switch noise milliseconds, then: debmx 00,000/125 3200 %0c80 variable debmx debounce maximum start code. software debounce required, processor simply idles until internal CODEC interrupt occurs switchgenerated INT0 interrupt occurs. switch-generated INT0 occurs, then debounce flag delay counter reset that until first interrupt from switch effect. Note: delay counter counts from reset value zero increments equal sampling period. EXT5-1 µ/Law Comp EXT5-2 EXT6-1 µ/Law Comp EXT6-2 SCLK Control Logic/Registers Full-Duplex 8-/16-/64-Bit Synchronous Serial Port Double-Buffered Input Output Hardware µ/Law Compression Support Figure CODEC Interface Registers AN008802-0701 AP96DSP0500 Practical Software Debounce Using Z893XX SOURCE CODE ;Sinewave generator real hardware with software debounce. ;The step-size delta calculated according sinewave frequency generated (delta N*f/fs). ;This program uses following data: ;Output sinewave linear automatically converted hardware µ-law when output CODEC. Frame sync ;used CODEC. ;Written Z89391 Application Development Kit, Z8939100ZCO. ;Constant Definitions Occupy Memory debmx maxeff 0c80 ;Debounce time ;Maximum number different tones 2000 1500 1000 selectable INT0 sampling frequency Sinewave table scaled Sinewave output CODEC1 (EXT6) table length ;BANK1 Variables phaseequ deltaequ delayequ debflequ %101 %102 %103 %104 ;Debounce interrupt flag AP96DSP0500 AN008802-0701 Practical Software Debounce Using Z893XX ;Code Section segment code init: ;**************************** Initialize Registers ;**************************** p0:0, #%00 @p0:0, #%00 p0:1, #%00 @p0:1, #%00 a,#0 phase,a a,#39 a,#16 delta,a ;Initialize phase ;1209 1209 8000 ;500 8000 ;Pointer initialized bank0 location ;Initialize bank location value ;Pointer initialized bank0 location ;Initialize bank location value %0000 ;Initialize Codec Interface Emulator Testing EXT7, #%C00D ;Emulator 24.000 ;SCLK 24/(3x2x2) ;FSYNC 2.0/256 ;Load EXT7-1 with 1100 0000 0000 1101 ;CODEC Enabled, Internal Fsync generation ;8-bit µ-law compression ;SCLK/FSYNC ratio kHz) ;SCLK 12.288/(3X2) (divide internal) EXT7, #%C000 ;Load EXT7-2 with 1100 0000 0000 0000 ;CODEC Enabled, Internal SCLK generation AN008802-0701 AP96DSP0500 Practical Software Debounce Using Z893XX ;************************ ;Wait CODEC Interrupt ;************************ SIEF ;Enable Interrupts Loop1: int0: Loop1 ;Wait CODEC interrupt ;-;Software ;debfl ;and then noise debounce. Only interrupt allowed time int0. debounce flag.It after first interrupt reset until delay elapsed make sure that from first switch push causes unexpected change. ;-ld a,debfl nz,endint0 a,#%1 debfl,a delay,a ;Load with flag ;Set reset, change effect ;Change ;Set flag ;Clear ;Reset delay AP96DSP0500 AN008802-0701 Practical Software Debounce Using Z893XX ;-;select effect ;-ld seleff: a,@p1:1+ a,p1:1 a,#maxeff mi,seleff p1:1,#%0 a,p1:1 ;Increment p1:1 effect selector ;Load with p1:1 effect selector ;p1:1 initialized with p0:0 ;Goes 0,1,2,3,0,1,2,3. ;Start over ;Load with p1:0 ;sll needed address effect table ;Track table jumps words apart ;state p1:1 acc. effectable: effect0: effect1: a,#32 delta,a endint0 ;1000 8000 a,#16 delta,a endint0 ;500 8000 effect0 effect1 effect2 effect3 ;Perform effect ;Perform effect ;Perform effect ;Perform effect a,#effectable pc,a AN008802-0701 AP96DSP0500 Practical Software Debounce Using Z893XX effect2: effect3: endint0: sief CODEC1: ;-;Provide delay software debounce. Every entry CODEC1 microseconds. Assume width switch noise milliseconds. ;debmx 400,000/125 3200 %0c80 ;-ld debres: Generate tone ;-ld SIEF EndInt: SIEF ;Enable interrupts ;Return main program a,phase a,delta a,#%0ff phase,a x,#costbl @p0:1,a a,@@p0:1 EXT6,a @P0:0+, ;Points cosine table entry ;Retrieve cosine table value ;Output sine CODEC1 ;Load Data bank ;Enable interrupts ;Restore last phase ;Add step delta 1209hz) ;Ensure phase+delta greater then ;Modulo increment phase ;Load cosine table start address a,delay a,#%1 delay,a a,#debmx mi,debres debfl,a ;Load with delay ;Increment ;Store delay next delay ;Compare with debounce less than delay, then reset ;Clear ;Reset flag ;enable interrupts ;return main program a,#64 delta,a ;2000 2000 8000 a,#48 delta,a endint0 ;1500 8000 AP96DSP0500 AN008802-0701 Practical Software Debounce Using Z893XX Cosine Table costbl: 4095, 4075, 4016, 3918, 3783, 3611, 3404, 3165, 2895, 2597, 2275, 1930, 1567, 1188, 798, 401, -401, -798, -1188, -1567, -1930, -2275, -2597, -2895, -3165, -3404, -3611, -3783, -3918, -4016, -4075, -4094, -4075, -4016, -3918, -3783, -3611, 4093,4090,4083;cosine table 4064,4050,4034 3995,3972,3946 3888,3855,3820 3743,3701,3657 3563,3512,3459 3348,3289,3228 3100,3034,2965 2823,2750,2674 2519,2439,2357 2190,2105,2018 1841,1750,1659 1473,1379,1284 1092,995, 700,600, 301,200, -100,-200,-301 -501,-600,-700 -897,-995,-1092 -1284,-1379,-1473 -1659,-1750,-1841 -2018,-2105,-2190 -2357,-2439,-2519 -2674,-2750,-2823 -2965,-3034,-3100 -3228,-3289,-3348 -3459,-3512,-3563 -3657,-3701,-3743 -3820,-3855,-3888 -3946,-3972,-3995 -4034,-4050,-4064 -4083,-4090,-4093 -4093,-4090,-4083 -4064,-4050,-4034 -3995,-3972,-3946 -3888,-3855,-3820 -3743,-3701,-3657 -3563,-3512,-3459 AP96DSP0500 AN008802-0701 Practical Software Debounce Using Z893XX -3404, -3165, -2895, -2597, -2275, -1930, -1567, -1188, -798, -401, 401, 798, 1188, 1567, 1930, 2275, 2597, 2895, 3165, 3404, 3611, 3783, 3918, 4016, 4075, -3348,-3289,-3228 -3100,-3034,-2965 -2823,-2750,-2674 -2519,-2439,-2357 -2190,-2105,-2018 -1841,-1750,-1659 -1473,-1379,-1284 -1092,-995,-897 -700,-600,-501 -301,-200,-100 100,200, 501,600, 897,995, 1092 1284,1379,1473 1659,1750,1841 2018,2105,2190 2357,2439,2519 2674,2750,2823 2965,3034,3100 3228,3289,3348 3459,3512,3563 3657,3701,3743 3820,3855,3888 3946,3972,3995 4034,4050,4064 4083,4090,4093 ;**************************** ;Reset Vector Initialization ;**************************** %0FFC init EndInt COCDEC1 int0 vector reset=init Initialize Reset Interrupt vectors ;Reset Vector 0000h ;Interrupt Counter used ;Interrupt Internal CODEC Interrupt ;Interrupt selects effect ;Reset vector AP96DSP0500 AN008802-0701 Other recent searchesXN04402 - XN04402 XN04402 Datasheet XN4402 - XN4402 XN4402 Datasheet TMS470R1B1M - TMS470R1B1M TMS470R1B1M Datasheet SRC1212M - SRC1212M SRC1212M Datasheet M3D116 - M3D116 M3D116 Datasheet LR10990 - LR10990 LR10990 Datasheet LD2980 - LD2980 LD2980 Datasheet L6386 - L6386 L6386 Datasheet IDT7M1002 - IDT7M1002 IDT7M1002 Datasheet DV2003L3 - DV2003L3 DV2003L3 Datasheet bq2003 - bq2003 bq2003 Datasheet ADM6996M - ADM6996M ADM6996M Datasheet ADM6995LCL2 - ADM6995LCL2 ADM6995LCL2 Datasheet
Privacy Policy | Disclaimer |