section 7 - Index of
section 7 - Index of section 7 - Index of
7.3.3 Interrupt SourcesInterrupts can originate from any of the vector addresses listed in Table 7-6, whichshows the corresponding interrupt starting address for each interrupt source. Theseaddresses are located in the first 64 locations of program memory.Table 7-6 Interrupt Sources-InterruptStarting AddressIPL$0000 3 Hardware RESET$0002 3 Stack Error$0004 3 Trace$0006 3 SWI$0008 0-2 IROA$OOOA 0-2 IROBInterrupt Source: : Vectors available for peripherals$001E 3 NMI: : Vectors available for peripherals$003E 3 Illegal InstructionWhen an interrupt occurs, the instruction at the interrupt starting address is fetched first.Because the program flow is directed to a different starting address for each interrupt,the interrupt structure of the DSP56K can be described as "vectored". A vectored interruptstructure has low execution overhead. If it is known beforehand that certain interruptswill not be used, those interrupt vector locations can be used for program or datastorage.7.3.3.1 Hardware Interrupt SourcesThere are two types of hardware interrupts in the DSP56K: internal and external. Theinternal interrupt sources include all of the on-chip peripheral devices. For further informationon a device's internal interrupt sources, see the device's individual User's Manual.The external hardware interrupt sources are the RESET, NMI, IROA, and IROB pins onthe program interrupt controller in the Program Control Unit.The level sensitive RESET interrupt is the highest priority interrupt with an IPL of 3. IROAand IROB can be programmed to one of three priority levels: 0, 1, or 2 - all of which aremaskable. IROA and IROB have independent enable control and can be programmed tobe level sensitive or edge sensitive. Since level-sensitive interrupts will not be cleared
automatically when they are serviced, they must be cleared by other means to preventmultiple interrupts. Edge-sensitive interrupts are latched as pending on the high-to-Iowtransition of the interrupt input and are automatically cleared when the interrupt is serviced.When either the IROA or IROB pin is disabled in the interrupt priority register, the interruptrequest coming in on the pin will be ignored, regardless of whether the input wasdefined as level sensitive or edge sensitive. If the interrupt input is defined as edge sensitive,its edge-detection latch will remain in the reset state for as long as the'interrupt pinis disabled. If the interrupt is defined as level-sensitive, its edge-detection latch will stayin the reset state. If the level-sensitive interrupt is disabled while it is pending it will becancelled. However, if the interrupt has been fetched, it normally will not be cancelled.The processor begins interrupt service by fetching the instruction word in the first vectorlocation. The interrupt is considered finished when the processor fetches the instructionword in the second vector location.In an edge-triggered interrupt, the internal latch is automatically cleared when the secondvector location is fetched. The fetch of the first vector location does not guarantee thatthe second location will be fetched. Figure 7-3 illustrates the one case where the secondvector location is not fetched. The SWI instruction in the figure discards the fetch of thefirst interrupt vector to ensure that the SWI vectors will be fetched. Instruction n4 isdecoded as an SWI while ii1 is being fetched. Execution of the SWI requires that ii1 bediscarded and the two SWI vectors (ii3 and ii4) be fetched instead.CAUTIONOn all level-sensitive interrupts, the interrupt must be externally released beforeinterrupts are internally re-enabled. Otherwise, the processor will be interruptedrepeatedly until the release of the level-sensitive interrupt occurs.The edge sensitive NMI is a priority 3 interrupt and cannot be masked. Only RESET andillegal instruction have higher priority than NMI.software interrupt (SWI) and illegal instruc7.3.3.2 Software Interrupt SourcesThere are two software interrupt sources -tion interrupt (III).SWI is a nonmaskable interrupt (IPL 3), which is serviced immediately following the SWIinstruction execution, usually using a long interrupt service routine. The differencebetween an SWI and a JSR instruction is that the SWI sets the interrupt mask to preventinterrupts below IPL 3 from being serviced. The SWI's ability to mask out lower level
- Page 92 and 93: If S 1 =0 and SO=O (no scaling)then
- Page 94 and 95: -23 876543210I * 1* JSO I * I Mel y
- Page 96 and 97: 5.4.5.1 Stack Pointer (Bits 0-3)The
- Page 98 and 99: -DATA ARITHMETIC LOGIC UNITINPUT RE
- Page 101 and 102: 6.1 INSTRUCTION SET INTRODUCTIONThe
- Page 103 and 104: shown in Figure 6-2. Most instructi
- Page 105 and 106: 23 87 0L...-I ___-'-I_---'I BUS~ LS
- Page 107 and 108: The MR and CCR may be accessed indi
- Page 109 and 110: 6.3.4 Operand ReferencesThe DSP sep
- Page 111 and 112: Some address register indirect mode
- Page 113 and 114: EXAMPLE A: IMMEDIATE INTO 24-BIT RE
- Page 115 and 116: EXAMPLE A: IMMEDIATE SHORT INTO AO,
- Page 117 and 118: EXAMPLE A: MOVE P: $3200,XOBEFORE E
- Page 119 and 120: Table 6-1 Addressing Modes SummaryA
- Page 121 and 122: 6.4.2 LogicallnstructlonsThe logica
- Page 123 and 124: START OF LOOP1)SP+ 1 • SP; LA. SS
- Page 125 and 126: OPCODE/OPERANDSPARALLEL MOVE EXAMPL
- Page 127: SECTION 7PROCESSING STATES-
- Page 130 and 131: Each instruction requires a minimum
- Page 132 and 133: second instruction of the downloade
- Page 134 and 135: The DO instruction is another instr
- Page 136 and 137: SP and SSH/SSL register manipulatio
- Page 138 and 139: 7.3.1 Interrupt TypesThe DSP56K rel
- Page 140 and 141: Table 7-2 Status Register Interrupt
- Page 144 and 145: interrupts makes it very useful for
- Page 146 and 147: MAINPROGRAMFETCHESLONG INTERRUPTSER
- Page 148 and 149: 7.3.3.3 Other Interrupt SourcesOthe
- Page 150 and 151: 7.3.4 Interrupt ArbitrationInterrup
- Page 152 and 153: 7.3.7 Interrupt Instruction Executi
- Page 154 and 155: MAINPROGRAMMEMORYINTERRUPT SYNCHRON
- Page 156 and 157: MAINPROGRAMFETCHESINTERRUPTSYNCHRON
- Page 158 and 159: MAINPROGRAMFAST INTERRUPTVECTORLONG
- Page 160 and 161: MAINPROGRAMFETCHESNTERRUPTSYN8HRCNZ
- Page 162 and 163: 7.5 WAIT PROCESSING STATEThe WAIT i
- Page 164 and 165: The stop processing state halts all
- Page 166 and 167: the first instruction fetch). If th
- Page 168: RESET -----------------------------
- Page 172 and 173: 16 - BIT INTERNALADDRESS BUSESX ADD
- Page 174 and 175: 8.2.2.1 Address (AO-A15)These three
- Page 177: SECTION 9PLL CLOCK OSCILLATOR-
- Page 180 and 181: X MEMORYRAM/ROMEXPANSION24-Bit56KMo
- Page 182 and 183: 23 22 21 20 19 18 17 16 15 14 13 12
- Page 184 and 185: cleared. To enable rapid recovery w
- Page 186 and 187: -CLVCCVCC for the CKOUT output. The
- Page 188 and 189: 4. For all input frequencies which
- Page 190 and 191: While the PLL is regaining lock, th
automatically when they are serviced, they must be cleared by other means to preventmultiple interrupts. Edge-sensitive interrupts are latched as pending on the high-to-Iowtransition <strong>of</strong> the interrupt input and are automatically cleared when the interrupt is serviced.When either the IROA or IROB pin is disabled in the interrupt priority register, the interruptrequest coming in on the pin will be ignored, regardless <strong>of</strong> whether the input wasdefined as level sensitive or edge sensitive. If the interrupt input is defined as edge sensitive,its edge-detection latch will remain in the reset state for as long as the'interrupt pinis disabled. If the interrupt is defined as level-sensitive, its edge-detection latch will stayin the reset state. If the level-sensitive interrupt is disabled while it is pending it will becancelled. However, if the interrupt has been fetched, it normally will not be cancelled.The processor begins interrupt service by fetching the instruction word in the first vectorlocation. The interrupt is considered finished when the processor fetches the instructionword in the second vector location.In an edge-triggered interrupt, the internal latch is automatically cleared when the secondvector location is fetched. The fetch <strong>of</strong> the first vector location does not guarantee thatthe second location will be fetched. Figure 7-3 illustrates the one case where the secondvector location is not fetched. The SWI instruction in the figure discards the fetch <strong>of</strong> thefirst interrupt vector to ensure that the SWI vectors will be fetched. Instruction n4 isdecoded as an SWI while ii1 is being fetched. Execution <strong>of</strong> the SWI requires that ii1 bediscarded and the two SWI vectors (ii3 and ii4) be fetched instead.CAUTIONOn all level-sensitive interrupts, the interrupt must be externally released beforeinterrupts are internally re-enabled. Otherwise, the processor will be interruptedrepeatedly until the release <strong>of</strong> the level-sensitive interrupt occurs.The edge sensitive NMI is a priority 3 interrupt and cannot be masked. Only RESET andillegal instruction have higher priority than NMI.s<strong>of</strong>tware interrupt (SWI) and illegal instruc7.3.3.2 S<strong>of</strong>tware Interrupt SourcesThere are two s<strong>of</strong>tware interrupt sources -tion interrupt (III).SWI is a nonmaskable interrupt (IPL 3), which is serviced immediately following the SWIinstruction execution, usually using a long interrupt service routine. The differencebetween an SWI and a JSR instruction is that the SWI sets the interrupt mask to preventinterrupts below IPL 3 from being serviced. The SWI's ability to mask out lower level