32-bit Embedded Core Peripheral. Advanced Interrupt Controller (AIC)

Size: px
Start display at page:

Download "32-bit Embedded Core Peripheral. Advanced Interrupt Controller (AIC)"

Transcription

1 Features Compatible with an Embedded ARM7TDMI Processor 8-level Priority From 2 to 32 Interrupt Sources Individually Maskable and Vectored Substantially Reduces the Software and Real-time Overhead in Handling Internal and External Interrupts Full Scan Testable (up to 99%) Can be Directly Connected to the Atmel Implementation of the AMBA Peripheral Bus (APB) Description The advanced interrupt controller () is an 8-level priority, individually maskable, vectored interrupt controller. It can substantially reduce the software and real-time overhead in handling internal and external interrupts. This peripheral can be used with any 32-bit microcontroller core if the timing diagram shown on page 8 is respected. The interrupt handling must be performed as described on page 6, using the corresponding assembler instructions for the 32-bit core used. When using an ARM7TDMI as the core, the Atmel bridge must be used to provide the correct bus interface to the. The interrupt controller can be directly connected to the nfiq (fast interrupt request) and the nirq (standard interrupt request) inputs of an ARM7TDMI processor, or the equivalent inputs of another 32-bit microcontroller core. The processor s nfiq line can only be asserted by the external fast interrupt request input: FIQ. The nirq line can be asserted by all the other interrupt sources. An 8-level priority encoder allows the customer to define the priority between the different nirq interrupt sources. Internal interrupt sources are programmed to be level sensitive or edge triggered. External interrupt sources can be programmed to be positive or negative edge triggered or high or low level sensitive. This document describes the in a specific configuration that is identical to the implemented in the AT91M40400 as specified below: One FIQ is connected on the interrupt line[0]. Eight internal interrupt sources are connected on interrupt lines[8:1]. Three external interrupt sources are connected on interrupt lines[11:9] but are mapped on interrupts[18:16]. The interrupt sources are listed in Table 2 and the programmable registers in Table 3. The register interaction is shown in Figure bit Embedded Core Peripheral Advanced Interrupt Controller () Rev. 1246D 12/00 1

2 Figure 1. Pin Configuration nreset_r Functional nreset_f clock periph_address[13:0] periph_data_in[31:0] periph_write nfiq nirq nint periph_data_out[31:0] Functional pstb_rising periph_strobe periph_select interrupt_lines[(n-1):0] (1) Debug debug_int_mask debug_mode Test Scan scan_test_mode test_se test_so[n chain :1] (2) Test Scan test_si[n chain :1] (2) Notes: 1. N = Number of interrupt sources 2. N chain = Number of scan chains Table 1. Pin Description List Name Definition Type Active Level Functional Comments nreset_r System Reset Input Low Resets all counters and signals clocked on rising edge of clock nreset_f System Reset Input Low Resets all counters and signals clocked on falling edge of clock clock System Clock Input periph_address[13:0] periph_data_in[31:0] periph_data_out[31:0] periph_write Peripheral Address Bus Peripheral Data Bus Input Peripheral Data Bus Input Peripheral Write Enable Input From host (bridge). Software user interface address bus Input From host (bridge). Software user interface data bus Output To host (bridge). Software user interface data bus Input From host (bridge). Transfer enable. When high, indicates that the host processor is writing to a register or executing a command. pstb_rising Input From host (bridge). Clock for all DFFs controlling configuration registers periph_strobe Peripheral Strobe Input High When high indicates that data and address buses are stable periph_select Peripheral Selection Input High When high nfiq and nirq outputs are disabled (set to high). nint is not affected 2

3 Table 1. Pin Description List (Continued) Name Definition Type Active Level Comments interrupt_lines[(n-1):0] (1) Interrupt Input Lines (Sources) Input Polarities can be defined in the configuration registers for inputs corresponding to external interrupt sources. Generally, they are connected as follows: - FIQ source on interrupt_lines[0] - N int internal sources on interrupt_lines[n int :1] (2) (1, 3) - N ext external sources on interrupt_lines[(n-1):(n-n ext )] Note: N = N ext + N int + 1(FIQ) nfiq Fast Interrupt Request Output Low Destination: Input nfiq of ARM core Source: Fast Interrupt Request; usually connected to interrupt_iines[0] nirq Interrupt Request Output Low Destination: Input nirq of ARM core Source: All interrupt requests (except Fast Interrupt Request) usually connected to interrupt_lines[(n-1):1] (1) nint Output Low Low if either nfiq or nirq is active. If nfiq and nirq are disabled by debug_int_mask, nint generates an interrupt depending on the interrupt sources Debug (for use with AT91 Development Tools) debug_mode Input Reserved. Must be set to 0 debug_int_mask Input Reserved. Must be set to 0 Test Scan scan_test_mode Scan Test Mode Input Must be tied to 1 during scan test. Must be tied to 0 in functional mode. test_se Test Scan Shift Enable Input Scan shift enabled when tied to 1 test_si[n chain :1] (4) Test Scan Input Input Input to scan chains test_so[n chain :1] (4) Test Scan Output Output Output from scan chains Notes: 1. N = Number of interrupt sources 2. N int = Number of internal interrupt sources 3. N ext = Number of external interrupt sources 4. N chain = Number of scan chains Scan Test Configuration The fault coverage is maximum if all non-scan inputs can be controlled and all non-scan outputs can be observed. In order to achieve this, the ATPG vectors must be generated on the entire circuit (top-level) which includes the or all I/Os must have a top level access and ATPG vectors must be applied to these pins. 3

4 Functional Description Figure 2. Interrupt Controller Block Diagram FIQ(IRQ0) Source Memorization nfiq Manager nfiq Bus Interface Control Logic 32-bit Core Internal Interrupt Sources (IRQ1 - IRQ8) External Interrupt Sources (IRQ9 - IRQ11) Memorization Prioritization Controller nirq Manager nirq Figure 3. Connecting the to an ARM -based Microcontroller CLOCK NRESET FIQ Source interrupt_lines[0] nfiq Internal Interrupt Sources (from peripheral interrupt outputs) External Interrupt Sources IRQ0 to IRQ2 (from ASIC pads, PIO peripherals,...) 3 Atmel Bus Interface interrupt_lines[8:1] interrupt_lines[11:9] PWRITE PWDATA[31:0 ](1) PA[13:0] PSTB_RISING PSTB PSEL PRDATA[31:0] (2) debug_int_mask debug_mode nint nirq 32-bit Core (ARM) Atmel Bridge ASB Notes: 1. data_to_periph = signal name from Atmel Bridge, periph_data_in[31:0] = signal name from peripheral, PWDATA[31:0] = signal name from Atmel AMBA System Architecture specification. 2. data_from_periph = signal name from Atmel Bridge, periph_data_out[31:0] = signal name from peripheral, PRDATA[31:0] = signal name from Atmel AMBA System Architecture specification. 4

5 Table 2. Interrupt Sources Interrupt Source Interrupt Name 0 FIQ Fast Interrupt 1 IRQ1 Interrupt 1 Interrupt Description (1) Comment AT91M40400 Interrupt Assignment (1) Edge/Level Negative/Positive Fast Interurpt Software Interrupt 2 IRQ2 Interrupt 2 USART Channel 0 Interrupt 3 IRQ3 Interrupt 3 USART Channel 1 Interrupt 4 IRQ4 Interrupt 4 Edge/Level Timer Channel 0 Interrupt 5 IRQ5 Interrupt 5 Positive only Timer Channel 1 Interrupt 6 IRQ6 Interrupt 6 Timer Channel 2 Interrupt 7 IRQ7 Interrupt 7 Watchdog Interrupt 8 IRQ8 Interrupt 8 Parallel I/O interrupt 9 Reserved Reserved 10 Reserved Reserved 11 Reserved Reserved 12 Reserved Reserved 13 Reserved Reserved 14 Reserved Reserved 15 Reserved Reserved 16 IRQ9 Interrupt 9 External Interrupt 0 17 IRQ10 Interrupt 10 Edge/Level Negative/Positive External Interrupt 1 18 IRQ11 Interrupt 11 External Interrupt 2 19 Reserved Reserved 20 Reserved Reserved 21 Reserved Reserved 22 Reserved Reserved 23 Reserved Reserved 24 Reserved Reserved 25 Reserved Reserved 26 Reserved Reserved 27 Reserved Reserved 28 Reserved Reserved 29 Reserved Reserved 30 Reserved Reserved 31 Reserved Reserved Note: 1. Reserved interrupt sources are not available. Corresponding registers must not be used and read 0. 5

6 Interrupt Handling Hardware Interrupt Vectoring The hardware interrupt vectoring reduces the number of instructions to reach the interrupt handler to only one. By storing the following instruction at address 0x (if an ARM7TDMI is used as the host processor), the processor loads the program counter with the interrupt handler address stored in the _IVR register. Execution is then vectored to the interrupt handler corresponding to the current interrupt. LDR PC,[PC,# -&F20] The current interrupt is the interrupt with the highest priority when the Interrupt Vector Register (_IVR) is read. The value read in the _IVR corresponds to the address stored in the Source Vector Register (_SVR) of the current interrupt. Each interrupt source has its corresponding _SVR. In order to take advantage of the hardware interrupt vectoring, it is necessary to store the address of each interrupt handler in the corresponding _SVR, at system initialization. Priority Controller The nirq line is controlled by an 8-level priority encoder. Each source has a programmable priority level of 7 to 0. Level 7 is the highest priority and level 0 the lowest. When the receives more than one unmasked interrupt at a time, the interrupt with the highest priority is serviced first. If both interrupts have equal priority, the interrupt with the lowest interrupt source number (see Table 2) is serviced first. The current priority level is defined as the priority level of the current interrupt at the time the register _IVR is read (the interrupt which will be serviced). In the case when a higher priority unmasked interrupt occurs while an interrupt already exists, there are two possible outcomes depending on whether the _IVR has been read. 1. If the nirq line has been asserted but the _IVR has not been read, then the processor will read the new higher priority interrupt handler address in the _IVR register and the current interrupt level is updated. 2. If the processor has already read the _IVR then the nirq line is reasserted. When the processor has authorized nested interrupts to occur and reads the _IVR again, it reads the new, higher priority interrupt handler address. At the same time the current priority value is pushed onto a first-in last-out stack and the current priority is updated to the higher priority. 6 When the end of interrupt command register (_EOICR) is written the current interrupt level is updated with the last stored interrupt level from the stack (if any). Hence at the end of a higher priority interrupt, the returns to the previous state corresponding to the preceding lower priority interrupt which had been interrupted. Software Interrupt Handling The interrupt handler must read the _IVR as soon as possible. This de-asserts the nirq request to the processor and clears the interrupt in case it is programmed to be edge triggered. This permits the to assert the nirq line again when a higher priority unmasked interrupt occurs. At the end of the interrupt service routine, the end of interrupt command register (_EOICR) must be written. This allows pending interrupts to be serviced. Interrupt Masking Each interrupt source, including FIQ, can be enabled or disabled using the command registers _IECR and _IDCR. The interrupt mask can be read in the read only register _IMR. A disabled interrupt does not affect the servicing of other interrupts. Interrupt Clearing and Setting All interrupt sources which are programmed to be edge triggered (including FIQ) can be individually set or cleared by respectively writing to the registers _ISCR and _ICCR. This function of the interrupt controller is available for auto-test or software debug purposes. Fast Interrupt Request The external FIQ line is the only source which can raise a fast interrupt request to the processor. Therefore, it has no priority controller. It can be programmed to be positive or negative edge triggered or high- or low-level sensitive in the related _SMR register (SMR[0]). The fast interrupt handler address can be stored in the related _SVR register (SVR[0]). The value written into this register is available by reading the _FVR register when an FIQ interrupt is raised. By storing the following instruction at address 0x C (if an ARM7TDMI is used as the host processor), the processor will load the program counter with the interrupt handler address stored in the _FVR register. LDR PC,[PC,# -&F20] Alternatively, the interrupt handler can be stored starting from address 0x C as described in the ARM7TDMI datasheet.

7 Software Interrupt Any interrupt source of the can be a software interrupt. It must be programmed to be edge triggered in order to set or clear it by writing to the _ISCR and _ICCR. This is totally independent of the SWI instruction of the ARM7TDMI processor. Spurious Interrupt A spurious interrupt is a signal of very short duration on one of the interrupt input lines. See Spurious Interrupt Sequence on page 21 for the sequence of actions necessary to handle this situation. Figure 4. Register Interaction _ICCR _IPR _IVR Interrupt Sources N clear Edge/Polarity Detector set Level/Polarity Detector _ISCR Memorization Priority Encoder _SMRXX _ISR _CISR _SVR _SVR31 _IDCR clear Mask _IMR _IECR set 7

8 Timing Diagram Figure 5. Timing Diagram clock t PD_IRQ, t PD_FIQ, t PD_INT nfiq, nirq, nint periph_strobe pstb_rising t SU_A t HOLD_A periph_address[13:0] t SU_DIN t HOLD_DIN periph_data_in[31:0] t SU_WRITE t HOLD_WRITE periph_write t PD1 t PD2 periph_data_out[31:0] Valid 8

9 User Interface Table 3. Memory Map Address (2,3) Register Name Access Reset State 0x3000 Source Mode Register 0 _SMR0 Read/write 0 0x3004 Source Mode Register 1 _SMR1 Read/write 0 Read/write 0 0x307C Source Mode Register 31 _SMR31 Read/write 0 0x3080 Source Vector Register 0 _SVR0 Read/write 0 0x3084 Source Vector Register 1 _SVR1 Read/write 0 Read/write 0 0x30FC Source Vector Register 31 _SVR31 Read/write 0 0x3100 IRQ Vector Register _IVR Read-only 0 0x3104 FIQ Vector Register _FVR Read-only 0 0x3108 Interrupt Status Register _ISR Read-only 0 0x310C Interrupt Pending Register _IPR Read-only (see Note 1) 0x3110 Interrupt Mask Register _IMR Read-only 0 0x3114 Core Interrupt Status Register _CISR Read-only 0 0x3118 Reserved 0x311C Reserved 0x3120 Interrupt Enable Command Register _IECR Write-only 0x3124 Interrupt Disable Command Register _IDCR Write-only 0x3128 Interrupt Clear Command Register _ICCR Write-only 0x312C Interrupt Set Command Register _ISCR Write-only 0x3130 End of Interrupt Command Register _EOICR Write-only 0x3134 Spurious Interrupt Vector Register _SPU Read/write 0 Notes: 1. The reset value of this register depends on the level of the external interrupt sources (IRQ9 - IRQ11). All other sources are cleared at reset. 2. The address takes into account the 2 LSBs [1:0], but the macrocell does not implement these bits. 3. To use relative offset from interrupt exception vector addresses (see Standard Interrupt Sequence on page 19), the base address for the into an ARM7TDMI-based system must be 0xFFFFF000. As the 14 LSBs of the address system bus are used to address the registers, the minimum offset is 0x3000. In the following register descriptions, all undefined bits ( ) read 0. If the user selects an address which is not defined in Table 3, the value of periph_data_out[31:0] is 0x

10 Source Mode Register Register Name: _SMR0.._SMR31 Access Type: Read/write Reset Value: 0 SRCTYPE PRIOR PRIOR: Priority Level Program the priority level for all sources except FIQ source (source 0). The priority level can be between 0 (lowest) and 7 (highest). The priority level is not used for the FIQ, in the related SMR register (SMR[0]). SRCTYPE: Interrupt Source Type Program the input to be positive- or negative-edge triggered or positive- or negative-level sensitive. The active level or edge is not programmable for the internal interrupt sources (IRQ1 - IRQ8). SRCTYPE Internal Interrupt Sources (IRQ1 - IRQ8) External Interrupt Sources (IRQ9 - IRQ11) 0 0 Level-sensitive Low-level Sensitive 0 1 Edge-triggered Negative-edge Triggered 1 0 Level-sensitive High-level Sensitive 1 1 Edge-triggered Positive-edge Triggered 10

11 Source Vector Register Register Name: _SVR0.._SVR31 Access Type: Read/write Reset Value: 0 VECTOR VECTOR VECTOR VECTOR VECTOR: Interrupt Handler Address The user may store in these registers the addresses of the corresponding handler for each interrupt source. 11

12 Interrupt Vector Register Register Name: _IVR Access Type: Read-only Reset Value: 0 IRQV IRQV IRQV IRQV IRQV: Interrupt Vector Register The IRQ Vector Register contains the vector programmed by the user in the Source Vector Register corresponding to the current interrupt. The Source Vector Register (1 to 31 in the case of FIQ mapped on interrupt[0]) is indexed using the current interrupt number when the Interrupt Vector Register is read. When there is no current interrupt, the IRQ Vector Register reads 0. FIQ Vector Register Register Name: _FVR Access Type: Read-only Reset Value: 0 FIQV FIQV FIQV FIQV FIQV: FIQ Vector Register The FIQ Vector Register contains the vector programmed by the user in the Source Vector Register (0 in case of FIQ mapped on interrupt[0]) that corresponds to FIQ. 12

13 Interrupt Status Register Register Name: _ISR Access Type: Read-only Reset Value: IRQID IRQID: Current IRQ Identifier The Interrupt Status Register returns the current interrupt source number. 13

14 Interrupt Pending Register Register Name: _IPR Access Type: Read-only Reset Value: 0 IRQ11 IRQ10 IRQ9 IRQ8 IRQ7 IRQ6 IRQ5 IRQ4 IRQ3 IRQ2 IRQ1 FIQ Interrupt Pending 0 = Corresponding interrupt is inactive. 1 = Corresponding interrupt is pending. Interrupt Mask Register Register Name: _IMR Access Type: Read-only Reset Value: 0 IRQ11 IRQ10 IRQ9 IRQ8 IRQ7 IRQ6 IRQ5 IRQ4 IRQ3 IRQ2 IRQ1 FIQ Interrupt Mask 0 = Corresponding interrupt is disabled. 1 = Corresponding interrupt is enabled. 14

15 Core Interrupt Status Register Register Name: _CISR Access Type: Read-only Reset Value: NIRQ NFIQ NFIQ: NFIQ Status 0 = NFIQ line inactive. 1 = NFIQ line active. NIRQ: NIRQ Status 0 = NIRQ line inactive. 1 = NIRQ line active. 15

16 Interrupt Enable Command Register Register Name: _IECR Access Type: Write-only IRQ11 IRQ10 IRQ9 IRQ8 IRQ7 IRQ6 IRQ5 IRQ4 IRQ3 IRQ2 IRQ1 FIQ Interrupt Enable 0 = No effect. 1 = Enables corresponding interrupt. Interrupt Disable Command Register Register Name: _IDCR Access Type: Write-only IRQ11 IRQ10 IRQ9 IRQ8 IRQ7 IRQ6 IRQ5 IRQ4 IRQ3 IRQ2 IRQ1 FIQ Interrupt Disable 0 = No effect. 1 = Disables corresponding interrupt. 16

17 Interrupt Clear Command Register Register Name: _ICCR Access Type: Write-only IRQ11 IRQ10 IRQ9 IRQ8 IRQ7 IRQ6 IRQ5 IRQ4 IRQ3 IRQ2 IRQ1 FIQ Interrupt Clear 0 = No effect. 1 = Clears corresponding interrupt. Interrupt Set Command Register Register Name: _ISCR Access Type: Write-only IRQ11 IRQ10 IRQ9 IRQ8 IRQ7 IRQ6 IRQ5 IRQ4 IRQ3 IRQ2 IRQ1 FIQ Interrupt Set 0 = No effect. 1 = Sets corresponding interrupt. 17

18 End of Interrupt Command Register Register Name: Access Type: _EOICR Write-only The End of Interrupt Command Register is used by the interrupt routine to indicate that the interrupt treatment is complete. Any value can be written because it is only necessary to make a write to this register location to signal the end of interrupt treatment. Spurious Interrupt Vector Register Register Name: _SPU Access Type: Read/write Reset Value: 0 SIQV SIQV SIQV SIQV SIQV: Spurious Interrupt Vector Register (see Spurious Interrupt Sequence on page 21 for more details) This register contains the 32-bit address of an interrupt routine which is used to treat cases of spurious interrupts. The programmed address is read in the _IVR if it is read when the nirq line is not asserted. The programmed address is read in the _FVR if it is read when the nfiq line is not asserted. 18

19 Standard Interrupt Sequence For details on the registers mentioned in the steps below, refer to the ARM7TDMI Embedded Core datasheet. It is assumed that: 1. The advanced interrupt controller has been programmed, _SVR is loaded with corresponding interrupt service routine addresses and interrupts are enabled. 2. The instruction at address 0x18 (IRQ exception vector address) is LDR PC, [PC, #-&F20] When nirq is asserted, if the bit I of CPSR is 0, the sequence is: 1. The CPSR is stored in SPSR_irq, the current value of the Program Counter is loaded in the IRQ link register (R14_IRQ) and the Program Counter (R15) is loaded with 0x18. In the following cycle during fetch at address 0x1C, the ARM core adjusts R14_IRQ, decrementing it by four. 2. The ARM core enters IRQ mode, if it is not already. 3. When the instruction loaded at address 0x18 is executed, the Program Counter is loaded with the value read in _IVR. Reading the _IVR has the following effects: Sets the current interrupt to be the pending one with the highest priority. The current level is the priority level of the current interrupt. De-asserts the nirq line on the processor. (Even if vectoring is not used, _IVR must be read in order to de-assert nirq.) Automatically clears the interrupt, if it has been programmed to be edge-triggered Pushes the current level on to the stack Returns the value written in the _SVR corresponding to the current interrupt 4. The previous step has effect to branch to the corresponding interrupt service routine. This should start by saving the Link Register(R14_IRQ) and the SPSR(SPSR_IRQ). Note that the Link Register must be decremented by four when it is saved if it is to be restored directly into the Program Counter at the end of the interrupt. For example, the instruction SUB PC, LR, #4 may be used,. 5. Further interrupts can then be unmasked by clearing the I bit in the CPSR, allowing re-assertion of the nirq to be taken into account by the core. This can occur if an interrupt with a higher priority than the current one occurs. 6. The Interrupt Handler can then proceed as required, saving the registers which will be used and restoring them at the end. During this phase, an interrupt of priority higher than the current level will restart the sequence from step 1. Note that if the interrupt is programmed to be level sensitive, the source of the interrupt must be cleared during this phase. 7. The I bit in the CPSR must be set in order to mask interrupts before exiting, to ensure that the interrupt is completed in an orderly manner. 8. The End of Interrupt Command Register (_EOICR) must be written in order to indicate to the that the current interrupt is finished. This causes the current level to be popped from the stack, restoring the previous current level if one exists on the stack. If another interrupt is pending, with lower or equal priority than old current level but with higher priority than the new current level, the nirq line is re-asserted, but the interrupt sequence does not immediately start because the I bit is set in the core. 9. The SPSR (SPSR_IRQ) is restored. Finally, the saved value of the Link Register is restored directly into the PC. This has effect of returning from the interrupt to whatever was being executed before, and of loading the CPSR with the stored SPSR, masking or unmasking the interrupts depending on the state saved in the SPSR (the previous state of the ARM core). Note: The I bit in the SPSR is significant. If it is set, it indicates that the ARM core was just about to mask IRQ interrupts when the mask instruction was interrupted. Hence, when the SPSR is restored, the mask instruction is completed (IRQ is masked). 19

20 Fast Interrupt Sequence For details on the registers mentioned in the steps below, refer to the ARM7TDMI Embedded Core datasheet. It is assumed that: 1. The Advanced Interrupt Controller has been programmed, the _SVR register corresponding to FIQ interrupt (_SVR[0] in this example) is loaded with fast interrupt service routine address, and the fast interrupt is enabled. 2. The Instruction at address 0x1C(FIQ exception vector address) is: LDR PC, [PC, #-&F20]. 3. Nested Fast Interrupts are not needed by the user. When nfiq is asserted, if the bit F of CPSR is 0, the sequence is: 1. The CPSR is stored in SPSR_fiq, the current value of the Program Counter is loaded in the FIQ link register (R14_FIQ) and the Program Counter (R15) is loaded with 0x1C. In the following cycle, during fetch at address 0x20, the ARM core adjusts R14_FIQ, decrementing it by four. 2. The ARM core enters FIQ mode. 3. When the instruction loaded at address 0x1C is executed, the Program Counter is loaded with the value read in _FVR. Reading the _FVR has effect of automatically clearing the fast interrupt (source 0 connected to the FIQ line), if it has been programmed to be edge triggered. In this case only, it de-asserts the nfiq line on the processor. 4. The previous step has effect to branch to the corresponding interrupt service routine. It is not necessary to save the Link Register(R14_FIQ) and the SPSR(SPSR_FIQ) if nested fast interrupts are not needed. 5. The Interrupt Handler can then proceed as required. It is not necessary to save registers R8 to R13 because FIQ mode has its own dedicated registers and the user R8 to R13 are banked. The other registers, R0 to R7, must be saved before being used, and restored at the end (before the next step). Note that if the fast interrupt is programmed to be level sensitive, the source of the interrupt must be cleared during this phase in order to de-assert the nfiq line. 6. Finally, the Link Register (R14_FIQ) is restored into the PC after decrementing it by four (with instruction SUB PC, LR, #4 for example). This has effect of returning from the interrupt to whatever was being executed before, and of loading the CPSR with the SPSR, masking or unmasking the fast interrupt depending on the state saved in the SPSR. Note: The F bit in the SPSR is significant. If it is set, it indicates that the ARM core was just about to mask FIQ interrupts when the mask instruction was interrupted. Hence when the SPSR is restored, the interrupted instruction is completed (FIQ is masked). 20

21 Spurious Interrupt Sequence A spurious interrupt is a signal of very short duration on one of the interrupt input lines. It is handled by the following sequence of actions. 1. When an interrupt is active, the asserts the nirq (or nfiq) line and the ARM7TDMI enters IRQ (or FIQ) mode. At this moment, if the interrupt source disappears, the nirq (or nfiq) line is de-asserted but the ARM7TDMI continues with the interrupt handler. 2. If the IRQ Vector Register (_IVR) is read when the nirq is not asserted, the _IVR is read with the contents of the Spurious Interrupt Vector Register. 3. If the register FIQ Vector Register (_FVR) is read when the nfiq is not asserted, the _FVR is read with the contents of the Spurious Interrupt Vector Register. 4. The Spurious Interrupt Routine must as a minimum write an end of interrupt command. It is sufficient to write to the end of interrupt command register _EOICR. Until the _EOICR write is received by the interrupt controller, the nirq (or nfiq) line is not reasserted. 5. This causes the ARM7TDMI to jump into the Spurious Interrupt Routine. 6. During a Spurious Interrupt Routine, the Interrupt Status Register _ISR reads 0. 21

22 Atmel Headquarters Corporate Headquarters 2325 Orchard Parkway San Jose, CA TEL (408) FAX (408) Europe Atmel SarL Route des Arsenaux 41 Casa Postale 80 CH-1705 Fribourg Switzerland TEL (41) FAX (41) Asia Atmel Asia, Ltd. Room 1219 Chinachem Golden Plaza 77 Mody Road Tsimhatsui East Kowloon Hong Kong TEL (852) FAX (852) Japan Atmel Japan K.K. 9F, Tonetsu Shinkawa Bldg Shinkawa Chuo-ku, Tokyo Japan TEL (81) FAX (81) Atmel Operations Atmel Colorado Springs 1150 E. Cheyenne Mtn. Blvd. Colorado Springs, CO TEL (719) FAX (719) Atmel Rousset Zone Industrielle Rousset Cedex France TEL (33) FAX (33) Atmel Smart Card ICs Scottish Enterprise Technology Park East Kilbride, Scotland G75 0QR TEL (44) FAX (44) Atmel Grenoble Avenue de Rochepleine BP Saint-Egreve Cedex France TEL (33) FAX (33) Fax-on-Demand North America: 1-(800) International: 1-(408) Web Site BBS 1-(408) Atmel Corporation Atmel Corporation makes no warranty for the use of its products, other than those expressly contained in the Company s standard warranty which is detailed in Atmel s Terms and Conditions located on the Company s web site. The Company assumes no responsibility for any errors which may appear in this document, reserves the right to change devices or specifications detailed herein at any time without notice, and does not make any commitment to update the information contained herein. No licenses to patents or other intellectual property of Atmel are granted by the Company in connection with the sale of Atmel products, expressly or by implication. Atmel s products are not authorized for use as critical components in life support devices or systems. ARM, Thumb, ARM Powered, ARM7TDMI and AMBA are trademarks of ARM Ltd. Marks bearing and/or are registered trademarks and trademarks of Atmel Corporation. Terms and product names in this document may be trademarks of others. Printed on recycled paper. 1246D 12/00/0M

P_D_OUT[31:0] SPI_INT SPI_MOSI_OUT SPI_MOSI_OEN

P_D_OUT[31:0] SPI_INT SPI_MOSI_OUT SPI_MOSI_OEN Features Compatible with an Embedded ARM7TDMI Processor 8- to 16-bit Programmable Data Length 4 External Slave Chip Selects Provides Communication with External Devices in Master or Slave Mode Allows Communication

More information

AT94K Series Field Programmable System Level Integrated Circuit. Application Note. FPSLIC Baud Rate Generator

AT94K Series Field Programmable System Level Integrated Circuit. Application Note. FPSLIC Baud Rate Generator FPSLIC Baud Rate Generator Features: Generates any required baud rate High baud rates at low crystal clock frequencies Uses both internal and external clock sources Supports in both single speed and double

More information

AT91 ARM Thumb Microcontrollers. Application Note. AT91M55800A Clock Switching Considerations using Advanced Power Management Controller.

AT91 ARM Thumb Microcontrollers. Application Note. AT91M55800A Clock Switching Considerations using Advanced Power Management Controller. AT91M55800A Clock Switching Considerations using Advanced Power Management Controller Introduction The AT91M55800A is designed for ultra low-power applications and features an Advanced Power Management

More information

hex file. The example described in this application note is written for the AT94K using the FPSLIC Starter Kit. Creating a New Project

hex file. The example described in this application note is written for the AT94K using the FPSLIC Starter Kit. Creating a New Project Getting Started with C for the Family Using the IAR Compiler Features How to Open a New Project Description of Option Settings Linker Command File Examples Writing and Compiling the C Code How to Load

More information

TSC695. Application Note. Annulled Cycle Management on the TSC695. References

TSC695. Application Note. Annulled Cycle Management on the TSC695. References Annulled Cycle Management on the TSC695 The aim of this application note is to provide TSC695 users with an overview of the annulled cycle management on the TSC695 processor. The indication of annulled

More information

8-bit RISC Microcontroller. Application Note. AVR 305: Half Duplex Compact Software UART

8-bit RISC Microcontroller. Application Note. AVR 305: Half Duplex Compact Software UART AVR 305: Half Duplex Compact Software UART Features 32 Words of Code, Only Handles Baud Rates of up to 38.4 kbps with a 1 MHz XTAL Runs on Any AVR Device Only Two Port Pins Required Does Not Use Any Timer

More information

UART. Embedded RISC Microcontroller Core Peripheral

UART. Embedded RISC Microcontroller Core Peripheral Features New Enhanced Baud Rate Generator Generates Any Required Baud Rate Maximum 6 Mbps (0.35 µm) High Baud Rates at Low Crystal Clock Frequencies 6-, 7-, 8- or 9-bit Data Noise Filtering and Noise Error

More information

2-wire Serial EEPROM Smart Card Modules AT24C32SC AT24C64SC

2-wire Serial EEPROM Smart Card Modules AT24C32SC AT24C64SC Features Low-voltage and Standard-voltage Operation 5.0 (V CC = 4.5V to 5.5V) 2.7 (V CC = 2.7V to 5.5V) Internally Organized 4096 x 8, 8192 x 8 2-wire Serial Interface Schmitt Trigger, Filtered Inputs

More information

AT17 Series FPGA. Configuration Memory. Application Note. In-System Programming Circuits for AT17 Series Configurators with Atmel and Xilinx FPGAs

AT17 Series FPGA. Configuration Memory. Application Note. In-System Programming Circuits for AT17 Series Configurators with Atmel and Xilinx FPGAs In-System Circuits for AT1 Series Configurators with Atmel and Xilinx s Atmel AT1 (1) series configurators use a simple serial-access procedure to configure one or more Field Programmable Gate Arrays (s)

More information

DatasheetDirect.com. Visit to get your free datasheets. This datasheet has been downloaded by

DatasheetDirect.com. Visit  to get your free datasheets. This datasheet has been downloaded by DatasheetDirect.com Your dedicated source for free downloadable datasheets. Over one million datasheets Optimized search function Rapid quote option Free unlimited downloads Visit www.datasheetdirect.com

More information

FPGA Configuration EEPROM Memory. Application Note. Programming Atmel s EEPROMs: AT17LV020(A) vs. AT17LV002(A) Introduction.

FPGA Configuration EEPROM Memory. Application Note. Programming Atmel s EEPROMs: AT17LV020(A) vs. AT17LV002(A) Introduction. Programming Atmel s EEPROMs: AT17LV020(A) vs. AT17LV002(A) Introduction This application note provides Atmel s customers with a description of the principal differences in programming the AT17LV020(A)

More information

8051 Microcontrollers. Application Note. Migration from AT89C5131 & AT89C5131A-L to AT89C5131A-M

8051 Microcontrollers. Application Note. Migration from AT89C5131 & AT89C5131A-L to AT89C5131A-M Migration from AT89C5131 & AT89C5131A-L to AT89C5131A-M This application note is a guide to assist current AT89C5131 & AT89C5131A-L users in converting existing designs to the AT89C5131A-M devices. In

More information

Secure Microcontrollers for Smart Cards. AT90SC Summary

Secure Microcontrollers for Smart Cards. AT90SC Summary Features High-performance, Low-power 8-bit AVR RISC Architecture 120 Powerful Instructions Most Single Clock Cycle Execution Up to 64K Bytes Flash Program Memory Endurance: 10K Write/Erase Cycles Up to

More information

8-bit Microcontroller. Application Note. AVR031: Getting Started with ImageCraft C for AVR

8-bit Microcontroller. Application Note. AVR031: Getting Started with ImageCraft C for AVR AVR031: Getting Started with ImageCraft C for AVR Features How to Open a New Project Description of Option Settings Writing and Compiling the C Code How to Load the Executable File into the STK200 Starter

More information

AT89C5131 Starter Kit... Software User Guide

AT89C5131 Starter Kit... Software User Guide AT89C5131 Starter Kit... Software User Guide Table of Contents Section 1 Introduction... 1-1 1.1 Abbreviations...1-1 Section 2 Getting Started... 2-3 2.1 Hardware Requirements...2-3 2.2 Software Requirements...2-3

More information

8-bit Microcontroller. Application Note. AVR030: Getting Started with C for AVR

8-bit Microcontroller. Application Note. AVR030: Getting Started with C for AVR AVR030: Getting Started with C for AVR Features HowtoOpenaNewProject Description of Option Settings Linker Command File Examples Writing and Compiling the C Code How to Load the Executable File Into the

More information

MP3 Player Reference Design Based on AT89C51SND1 Microcontroller... User Guide

MP3 Player Reference Design Based on AT89C51SND1 Microcontroller... User Guide MP3 Player Reference Design Based on AT89C51SND1 Microcontroller... User Guide AT89C51SND1 Reference Design User Guide -2 Table of Contents Section 1 Introduction...1 1.1 Abbreviations... 1 Section 2 Overview...2

More information

AT17(A) Series FPGA Configuration Memory. Application Note

AT17(A) Series FPGA Configuration Memory. Application Note Cascaded Programming Circuits using AT1(A) Configurators with Atmel, Xilinx and Altera FPGAs Atmel AT1A (1) series configurators use a simple serial-access procedure to configure one or more Field Programmable

More information

Application Note Microcontrollers. C Flash Drivers for T89C51RC/RB/IC2 and AT89C51RC/RB/IC2 for Keil Compilers

Application Note Microcontrollers. C Flash Drivers for T89C51RC/RB/IC2 and AT89C51RC/RB/IC2 for Keil Compilers C Flash Drivers for T89C51RC/RB/IC2 and AT89C51RC/RB/IC2 for Keil Compilers This application note describes C routines for Keil compiler to perform In-application Programming/Self programming according

More information

AVR32 UC3 Software Framework... User Manual

AVR32 UC3 Software Framework... User Manual ... User Manual Section 1 AVR32 UC3 Software Framework 1.1 Features Drivers for each AVR 32 UC3 peripheral Software libraries optimized for AVR32 Hardware components drivers Demo applications that use

More information

MARC4. Application Note. Hints and Tips for Hard- and Software Developments with MARC4 Microcontrollers

MARC4. Application Note. Hints and Tips for Hard- and Software Developments with MARC4 Microcontrollers Hints and Tips for Hard- and Software Developments with MARC4 Microcontrollers Programming Hints Use of the SLEEP Instruction Oscillator Selection Access to Subport Registers Access to AU Registers Unused

More information

Section 1 ATAVRAUTOEK1 Getting Started

Section 1 ATAVRAUTOEK1 Getting Started Section 1 ATAVRAUTOEK1 Getting Started 1.1 Unpacking the system Kit contents: 1 ATAVRAUTO100 V1.0 board 1 ATAVRAUTO102 V1.0 board 1 ATAVRAUTO200 V1.0 board 1 ATAVRAUTO300 V1.0 board 1 ATAVRAUTO900 V1.0

More information

FPGA Configurator Programming Kit (Enhanced) ATDH2200E. Features. Description

FPGA Configurator Programming Kit (Enhanced) ATDH2200E. Features. Description Features Hardware Supports Programming of all AT7LV and AT7F Series Devices Connection to Allow In-System Programming (ISP) Runs off Portable 9V DC Power Supply.0V Supply Software CPS Configurator Programming

More information

a Serial Peripheral Interace (SPI). Embedded RISC Microcontroller Core Peripheral

a Serial Peripheral Interace (SPI). Embedded RISC Microcontroller Core Peripheral Features Full-duplex, 3-wire Synchronous Data Transfer Master or Slave Operation Maximum Bit Frequency of f CLOCK /4 (in M-bits/second) LSB First or MSB First Data Transfer Four Programmable Bit Rates

More information

When is Data Susceptible to Corruption

When is Data Susceptible to Corruption Parallel EEPROM Data Protection Advantages of EEPROMs EEPROMs provide the memory solution wherever reprogrammable, nonvolatile memory is required. They are easy to use, requiring little or no support hardware

More information

Bluetooth General Information White Paper

Bluetooth General Information White Paper General Information is the registered trademark of Atmel Corporation, 2325 Orchard Parkway, San Jose, CA 95131 Rev. 1993A 11/00 Introduction The wireless technology is the world s new shortrange RF transmission

More information

CAN Microcontrollers. Application Note. Migrating from T89C51CC01 to AT89C51CC03. Feature Comparison

CAN Microcontrollers. Application Note. Migrating from T89C51CC01 to AT89C51CC03. Feature Comparison Migrating from T89C51CC01 to AT89C51CC03 This application note is a guide to assist T89C51CC01 users in converting existing designs to the AT89C51CC03 devices. In addition to the functional changes, the

More information

8-bit Microcontroller. Application Note. AVR320: Software SPI Master

8-bit Microcontroller. Application Note. AVR320: Software SPI Master AVR320: Software SPI Master Features Up to 444Kb/S Throughput @ 10 MHz Directly Supports Large Block Writes Easily Expandable for Multiple SPI Slaves Operates in SPI Mode 0 16-bit Data, Easily Modified

More information

Migration From AT89C51SND1C to AT83C51SDN1C. Application Note. MP3 Microcontrollers

Migration From AT89C51SND1C to AT83C51SDN1C. Application Note. MP3 Microcontrollers Migration From AT89C51SND1C to AT83C51SDN1C This application note details the differences between AT89C51SND1C and AT83C51SDN1C products, and gives some tips and tricks to the user when migrating from

More information

AT91 ARM Thumb Microcontrollers. Application Note. AT91 Host Flash Loader. 1. Package Contents. 2. Definition of Terms. 3.

AT91 ARM Thumb Microcontrollers. Application Note. AT91 Host Flash Loader. 1. Package Contents. 2. Definition of Terms. 3. AT91 Host Flash Loader This application note describes the host Flash loader used to upload and program an application in the Flash memory of a Flash-based AT91 microcontroller. Flash-based AT91 devices

More information

System Designer. Programmable SLI AT94K/AT94S Series. Features. Description

System Designer. Programmable SLI AT94K/AT94S Series. Features. Description Features Atmel s System Designer Contains the Following Items: CD-ROM Containing all Necessary Software and Online Documents Atmel s AVR Studio Atmel s Configurator Programming System (CPS) Co-verification,

More information

32-bit Embedded Core Peripheral. Cache Memory. and Bus Interface Unit

32-bit Embedded Core Peripheral. Cache Memory. and Bus Interface Unit Features 8 KB Memory Size (Optional 2 KB, 4 KB, 16 KB and 32 KB) Four-way Parallel Associative Cache Memory and Four-word Burst External Access on Miss Write-back Algorithm Enhanced External Bus Access

More information

AT89STK-09 Starter Kit for AT83C26... User Guide

AT89STK-09 Starter Kit for AT83C26... User Guide AT89STK-09 Starter Kit for AT83C26... User Guide Section 1 Introduction... 1-2 1.1 Acronyms...1-2 1.2 Features...1-2 Section 2 Hardware... 2-6 2.1 Power Supply...2-6 2.2 Jumper Configuration...2-6 2.3

More information

CAN, 80C51, AVR, Microcontroller. Application Note

CAN, 80C51, AVR, Microcontroller. Application Note Migrating from Atmel C51/CAN: T89C51CC01, AT89C51CC03 To Atmel AVR/CAN: AT90CAN128, AT90CAN64, AT90CAN32 Introduction This application note is a guide, on the CAN controller, to help current T89C51CC01,

More information

8-bit Microcontroller. Application Note. AVR201: Using the AVR Hardware Multiplier

8-bit Microcontroller. Application Note. AVR201: Using the AVR Hardware Multiplier AVR201: Using the AVR Hardware Multiplier Features 8- and 16-bit Implementations Signed and Unsigned Routines Fractional Signed and Unsigned Multiply Executable Example Programs Introduction The megaavr

More information

System Designer. Programmable SLI AT94K/AT94S Series. Features. Description

System Designer. Programmable SLI AT94K/AT94S Series. Features. Description Features Atmel s System Designer Contains the Following Items: CD-ROM Containing all Necessary Software and Online Documents Atmel s AVR Studio Atmel s Configurator Programming System (CPS) Co-verification,

More information

Programmable SLI AT40K AT40KAL AT94K. Application Note. Implementing a Single-coefficient Multiplier

Programmable SLI AT40K AT40KAL AT94K. Application Note. Implementing a Single-coefficient Multiplier Implementing a Single-coefficient Multiplier Features Theory of Developing a Single-coefficient Multiplier Implementation using an AT40K Series FPGA for an 8-bit Single-coefficient Multiplier Coefficient

More information

8-bit Microcontroller. Application Note. AVR033: Getting Started with the CodeVisionAVR C Compiler

8-bit Microcontroller. Application Note. AVR033: Getting Started with the CodeVisionAVR C Compiler AVR033: Getting Started with the CodeVisionAVR C Compiler Features Installing and Configuring CodeVisionAVR to Work with the Atmel STK500 Starter Kit and AVR Studio Debugger Creating a New Project Using

More information

Two-wire Serial EEPROM Smart Card Modules 128K (16,384 x 8) 256 (32,768 x 8) AT24C128SC AT24C256SC. Features. Description VCC NC

Two-wire Serial EEPROM Smart Card Modules 128K (16,384 x 8) 256 (32,768 x 8) AT24C128SC AT24C256SC. Features. Description VCC NC Features Low-voltage and Standard-voltage Operation, V CC = 2.7V to 5.5V Internally Organized 16,384 x 8 and 32,768 x 8 2-wire Serial Interface Schmitt Trigger, Filtered Inputs for Noise Suppression Bi-directional

More information

Preparations. Creating a New Project

Preparations. Creating a New Project AVR030: Getting Started with C for AVR Features How to Open a New Project Description of Option Settings Linker Command File Examples Writing and Compiling the C Code How to Load the Executable File Into

More information

Rad Hard FPGA. AT40KEL-DK Design Kit Content. Description. Kit Content. Reference Material. Support

Rad Hard FPGA. AT40KEL-DK Design Kit Content. Description. Kit Content. Reference Material. Support Description The Atmel design kit allows designers to evaluate and prototype applications using the AT40KEL040 rad hard FPGA. Kit Content 2 design kits are available: The 160 with a package specific daughter

More information

1-megabit (64K x 16) 5-volt Only Flash Memory AT49F1024 AT49F1025

1-megabit (64K x 16) 5-volt Only Flash Memory AT49F1024 AT49F1025 Features Single-voltage Operation 5V Read 5V Reprogramming Fast Read Access Time 35 ns Internal Program Control and Timer 8K Word Boot Block with Lockout Fast Erase Cycle Time 10 seconds Word-by-word Programming

More information

AT17F Series. Application Note. Programming Circuits for AT17F Series Configurators with Xilinx FPGAs. 1. Introduction

AT17F Series. Application Note. Programming Circuits for AT17F Series Configurators with Xilinx FPGAs. 1. Introduction Programming Circuits for ATF Series s with Xilinx s. Introduction Atmel s ATF series Flash Configuration Memory devices use a simple serial-access procedure to configure one or more Xilinx Field Programmable

More information

AVR -based Bridge between Full-speed USB and Fast Serial Asynchronous Interfaces AT76C711

AVR -based Bridge between Full-speed USB and Fast Serial Asynchronous Interfaces AT76C711 Features AVR Microcontroller Clock Generator Provides CPU Rates up to 24 MHz Programmable UART with 16-byte FIFOs at the Receiver Side (1), with a Maximum Rate of 921K Baud Programmable SPI Interface Full-speed

More information

AT89ISP Programmer Cable Introduction AT89ISP Programmer Cable Parallel Port Settings Application Note AT89ISP Software AT89ISP Cable polarized

AT89ISP Programmer Cable Introduction AT89ISP Programmer Cable Parallel Port Settings Application Note AT89ISP Software AT89ISP Cable polarized AT89ISP Programmer Cable 1. Introduction This application note describes the Atmel AT89ISP cable interface. This in-system programmer cable communicates serially with Atmel's AT89S/AT89LP microcontrollers

More information

Interfacing the internal serial EEPROM

Interfacing the internal serial EEPROM Interfacing the internal serial EEPROM Stacked into the AT8xEB5114 8051 Microcontrollers 1. Overview The AT8xEB5114 contains an internal serial EEPROM (AT24C02) connected to the microcontroller via two

More information

DIP Top View A18 A16 A15 A12 A7 A6 A5 A4 A3 A2 A1 A0 I/O0 I/O1 I/O2 GND VCC A17 A14 A13 A8 A9 A11 A10 I/O7 I/O6 I/O5 I/O4 I/O3 VCC A18 A17

DIP Top View A18 A16 A15 A12 A7 A6 A5 A4 A3 A2 A1 A0 I/O0 I/O1 I/O2 GND VCC A17 A14 A13 A8 A9 A11 A10 I/O7 I/O6 I/O5 I/O4 I/O3 VCC A18 A17 Features Single-voltage Operation 5V Read 5V Reprogramming Fast Read Access Time 55 ns Internal Program Control and Timer 16-Kbyte Boot Block with Lockout Fast Erase Cycle Time 10 seconds Byte-by-byte

More information

ATAVRAUTO User Guide

ATAVRAUTO User Guide ATAVRAUTO300... User Guide Table of Contents Section 1 Introduction... 1-1 1.1 Overview...1-1 Section 2 Using the ATAVRAUTO300... 2-3 2.1 Overview...2-3 2.2 Power Supply...2-4 2.3 Oscillator Sources...2-4

More information

OrCAD Support for Atmel PLDs. Application Note. OrCAD Support for Atmel PLDs. Overview

OrCAD Support for Atmel PLDs. Application Note. OrCAD Support for Atmel PLDs. Overview OrCAD Support for Atmel PLDs Atmel Device Support for OrCAD PLD 386+ ATV750/ATV750B Device Family ATV2500/ATV2500B Device Family For ATF1500 Support Please Contact Atmel PLD Applications For 16V8, 20V8,

More information

8-bit Microcontroller. Application Note. AVR033: Getting Started with the CodeVisionAVR C Compiler

8-bit Microcontroller. Application Note. AVR033: Getting Started with the CodeVisionAVR C Compiler AVR033: Getting Started with the CodeVisionAVR C Compiler Features Installing and Configuring CodeVisionAVR to Work with the Atmel STK500 Starter Kit and AVR Studio Debugger Creating a New Project Using

More information

1-megabit (64K x 16) 3-volt Only Flash Memory AT49LV1024 AT49LV1025

1-megabit (64K x 16) 3-volt Only Flash Memory AT49LV1024 AT49LV1025 Features Single-voltage Operation 3V Read 3.1V Programming Fast Read Access Time 55 ns Internal Program Control and Timer 8K Word Boot Block with Lockout Fast Erase Cycle Time 10 seconds Word-by-Word Programming

More information

Application Note. Microcontrollers. Using Keil FlashMon Emulator with AT89C51CC01/03 AT89C51CC01/ Summary. 2. Background overview

Application Note. Microcontrollers. Using Keil FlashMon Emulator with AT89C51CC01/03 AT89C51CC01/ Summary. 2. Background overview Using Keil FlashMon Emulator with AT89C51CC01/03 1. Summary Atmel AT89C51CC01/03 are Flash microcontrollers. Keil developed an OnChip Debug for these microntrollers taking advantage of the flash byte programming

More information

Atmel-Synario CPLD/PLD Design Software ATDS1100PC ATDS1120PC ATDS1130PC ATDS1140PC. Features. Description

Atmel-Synario CPLD/PLD Design Software ATDS1100PC ATDS1120PC ATDS1130PC ATDS1140PC. Features. Description Features Comprehensive CPLD/PLD Design Environment User-friendly Microsoft Windows Interface (Win 95, Win 98, Win NT) Powerful Project Navigator Utilizes Intelligent Device Fitters for Automatic Logic

More information

Embedded RISC Microcontroller Core ARM7TDMI

Embedded RISC Microcontroller Core ARM7TDMI Features 32-bit RISC Architecture Two Instruction Sets: ARM High-performance 32-bit Instruction Set Thumb High-code-density 16-bit Instruction Set Very Low Power Consumption: Industry-leader in MIPS/Watt

More information

Atmel FPGA Integrated Development System (IDS)

Atmel FPGA Integrated Development System (IDS) Contents Atmel FPGA Integrated Development System (IDS) contains the following items: IDS Installation Guide CD-ROM containing all necessary software and online documents Security block (for Viewlogic

More information

Two-wire Serial EEPROM Smart Card Modules 1K (128 x 8) 2K (256 x 8) 4K (512 x 8) 8K (1024 x 8) 16K (2048 x 8)

Two-wire Serial EEPROM Smart Card Modules 1K (128 x 8) 2K (256 x 8) 4K (512 x 8) 8K (1024 x 8) 16K (2048 x 8) Features Low-voltage and Standard-voltage Operation, VCC = 2.7V 5.5V Internally Organized 128 x 8 (1K), 256 x 8 (2K), 512 x 8 (4K), 1024 x 8 (8K), or 2048 x 8 (16K) Two-wire Serial Interface Schmitt Trigger,

More information

Parallel EEPROM Die Products. Die Products. Features. Description. Testing

Parallel EEPROM Die Products. Die Products. Features. Description. Testing Features High Performance CMOS Technology Low Power Dissipation - Active and Standby Hardware and Software Data Protection Features DATA Polling for End of Write Detection High Reliability Endurance: 10

More information

80C51 MCUs T89C51AC2. Errata Sheet

80C51 MCUs T89C51AC2. Errata Sheet Active T89C51AC2 Errata List Flash/EEPROM First Read After Write Disturbed Timer 2 Baud Rate Generator IT When TF2 is Set by Software Timer 2 Baud Rate Generator Long Start Time UART RB8 Lost with JBC

More information

AT17A Series FPGA Configuration EEPROM Memory. Application Note. FPGAs. AT17A Series Conversions from Altera FPGA Serial Configuration Memories

AT17A Series FPGA Configuration EEPROM Memory. Application Note. FPGAs. AT17A Series Conversions from Altera FPGA Serial Configuration Memories ATA Series Conversions from Altera FPGA Serial Configuration Memories Introduction The Atmel ATA FPGA Configuration EEPROM () is a serial memory that can be used to load SRAM based FPGAs. This application

More information

8-bit RISC Microcontroller. Application Note. AVR151: Setup And Use of The SPI

8-bit RISC Microcontroller. Application Note. AVR151: Setup And Use of The SPI AVR151: Setup And Use of The SPI Features SPI Pin Functionality Multi Slave Systems SPI Timing SPI Transmission Conflicts Emulating the SPI Code examples for Polled operation Code examples for Interrupt

More information

Interrupt Controlled UART

Interrupt Controlled UART AVR306 Design Note: Using the AVR UART in C Features Setup and Use the AVR UART Code Examples for Polled and Interrupt Controlled UART Compact Code C-Code Included for AT90S8515 Description This application

More information

ATAVRAUTO User Guide

ATAVRAUTO User Guide ATAVRAUTO100... User Guide Section 1 Introduction... 1-4 1.1 Overview...1-4 Section 2 Using the ATAVRAUTO100... 2-6 2.1 Overview...2-6 2.2 Power Supply...2-7 2.3 Oscillator Sources...2-7 2.4 On-board ressources...2-8

More information

2-wire Serial EEPROM AT24C512. Preliminary. 2-Wire Serial EEPROM 512K (65,536 x 8) Features. Description. Pin Configurations.

2-wire Serial EEPROM AT24C512. Preliminary. 2-Wire Serial EEPROM 512K (65,536 x 8) Features. Description. Pin Configurations. Features Low-voltage and Standard-voltage Operation 5.0 (V CC = 4.5V to 5.5V) 2.7 (V CC = 2.7V to 5.5V) 1.8 (V CC = 1.8V to 3.6V) Internally Organized 65,536 x 8 2-wire Serial Interface Schmitt Triggers,

More information

Atmel FPGA Integrated Development System (IDS)

Atmel FPGA Integrated Development System (IDS) Contents Atmel FPGA Integrated Development System (IDS) contains the following items: IDS Installation Guide CD-ROM containing all necessary software and online documents Features Support for Industry-standard

More information

2-wire Serial EEPROM AT24C01A AT24C02 AT24C04 AT24C08 AT24C16

2-wire Serial EEPROM AT24C01A AT24C02 AT24C04 AT24C08 AT24C16 Features Low-voltage and Standard-voltage Operation 5.0 (V CC = 4.5V to 5.5V) 2.7 (V CC = 2.7V to 5.5V) 2.5 (V CC = 2.5V to 5.5V) 1.8 (V CC = 1.8V to 5.5V) Internally Organized 128 x 8 (1K), 256 x 8 (2K),

More information

SPI Serial EEPROMs AT25010 AT25020 AT SPI, 1K Serial E 2 PROM

SPI Serial EEPROMs AT25010 AT25020 AT SPI, 1K Serial E 2 PROM Features Serial Peripheral Interface (SPI) Compatible Supports SPI Modes (,) and 3 (1,1) Low-voltage and Standard-voltage Operation 5. (V CC = 4.5V to 5.5V) 2.7 (V CC = 2.7V to 5.5V) 3. MHz Clock Rate

More information

Battery-Voltage. 16K (2K x 8) Parallel EEPROMs AT28BV16. Features. Description. Pin Configurations

Battery-Voltage. 16K (2K x 8) Parallel EEPROMs AT28BV16. Features. Description. Pin Configurations Features 2.7 to 3.6V Supply Full Read and Write Operation Low Power Dissipation 8 ma Active Current 50 µa CMOS Standby Current Read Access Time - 250 ns Byte Write - 3 ms Direct Microprocessor Control

More information

Product Description. Application Note. AVR360: XmodemCRC Receive Utility for the AVR. Features. Theory of Operation. Introduction

Product Description. Application Note. AVR360: XmodemCRC Receive Utility for the AVR. Features. Theory of Operation. Introduction AVR360: XmodemCRC Receive Utility for the AVR Features Programmable Baud Rate Half Duplex 128 Byte Data Packets CRC Data Verification Framing Error Detection Overrun Detection Less than 1k Bytes of Code

More information

ARM7TDMI - based Microcontroller AT91RM3400. Errata Sheet

ARM7TDMI - based Microcontroller AT91RM3400. Errata Sheet Errata AC Characteristics PLL Frequency Limitation (30) Boot ROM Boot Uploader: SRAM Download Limitation (29) MultiMedia Card Interface Data Endianess is Inverted from MCI to MMC or SD Card (28) Timer/Counter

More information

4-megabit (512K x 8) Single 2.7-volt Battery-Voltage Flash Memory AT49BV040 AT49LV040

4-megabit (512K x 8) Single 2.7-volt Battery-Voltage Flash Memory AT49BV040 AT49LV040 Features Single Voltage for Read and Write: 2.7V to 3.6V (BV), 3.0V to 3.6V (LV) Fast Read Access Time 70 ns Internal Program Control and Timer 16K Bytes Boot Block with Lockout Fast Chip Erase Cycle Time

More information

design cycle involving simulation, synthesis

design cycle involving simulation, synthesis HDLPlanner : Design Development Environment for HDL-based FPGA Designs Abstract Rapid prototyping of designs using FPGAs requires HDL-based design entry which leverages upon highly parameterized components

More information

Using an AT91EB40A Evaluation Board to Control an AT91 ARM7TDMI Processor Via the JTAG-ICE Interface Introduction AT91 ARM Thumb Microcontrollers

Using an AT91EB40A Evaluation Board to Control an AT91 ARM7TDMI Processor Via the JTAG-ICE Interface Introduction AT91 ARM Thumb Microcontrollers Using an AT91EB40A Evaluation Board to Control an AT91 ARM7TDMI Processor Via the JTAG-ICE Interface Introduction This application note describes how to use an AT91EB40A Evaluation Board based on the AT91R40008

More information

3-Wire Serial EEPROM AT93C46C

3-Wire Serial EEPROM AT93C46C Features Low-Voltage and Standard-Voltage Operation 2.7(V CC =2.7Vto5.5V) 2.5(V CC =2.5Vto5.5V) 3-Wire Serial Interface Schmitt Trigger, Filtered Inputs for Noise Suppression 2MHzClockRate(5V) Self-Timed

More information

2-wire Serial EEPROMs AT24C128 AT24C256

2-wire Serial EEPROMs AT24C128 AT24C256 Features Low-voltage and Standard-voltage Operation 5.0 (V CC = 4.5V to 5.5V) 2. (V CC = 2.V to 5.5V) 2.5 (V CC = 2.5V to 5.5V). (V CC =.V to 3.6V) Internally Organized 6,34 x and 32,6 x 2-wire Serial

More information

EPROM. Application Note CMOS EPROM. Interfacing Atmel LV/BV EPROMs on a Mixed 3-Volt/5- Volt Data Bus

EPROM. Application Note CMOS EPROM. Interfacing Atmel LV/BV EPROMs on a Mixed 3-Volt/5- Volt Data Bus Interfacing Atmel LV/BV EPROMs on a Mixed 3-volt/5-volt Data Bus Introduction Interfacing Atmel Corporation s low voltage (LV/BV) EPROMs on a common data bus with standard 5-volt devices can be achieved

More information

1-megabit 2.7-volt Only Serial DataFlash AT45DB011. AT45DB011 Preliminary 16- Megabit 2.7-volt Only Serial DataFlash

1-megabit 2.7-volt Only Serial DataFlash AT45DB011. AT45DB011 Preliminary 16- Megabit 2.7-volt Only Serial DataFlash Features Single 2.7V - 3.6V Supply Serial Interface Architecture Page Program Operation Single Cycle Reprogram (Erase and Program) 512 Pages (264 Bytes/Page) Main Memory Optional Page and Block Erase Operations

More information

AT89C51CC03 UART Bootloader

AT89C51CC03 UART Bootloader Features Protocol UART Used as Physical Layer Based on the Intel Hex-type s Autobaud In-System Programming Read/Write Flash and EEPROM Memories Read Device ID Full-chip Erase Read/Write Configuration Bytes

More information

2-wire Serial EEPROM AT24C512

2-wire Serial EEPROM AT24C512 Features Low-voltage and Standard-voltage Operation 5.0 (V CC = 4.5V to 5.5V). (V CC =.V to 5.5V). (V CC =.V to.v) Internally Organized 5,5 x -wire Serial Interface Schmitt Triggers, Filtered Inputs for

More information

8-bit Microcontroller. Application Note. AVR134: Real-Time Clock (RTC) using the Asynchronous Timer. Features. Theory of Operation.

8-bit Microcontroller. Application Note. AVR134: Real-Time Clock (RTC) using the Asynchronous Timer. Features. Theory of Operation. : Real-Time Clock (RTC) using the Asynchronous Timer Features Real-Time Clock with Very Low Power Consumption (4µA @ 3.3V) Very Low Cost Solution Adjustable Prescaler to Adjust Precision Counts Time, Date,

More information

1-Megabit (128K x 8) Low Voltage Paged Parallel EEPROMs

1-Megabit (128K x 8) Low Voltage Paged Parallel EEPROMs Features Single 3.3V ± 10% Supply Fast Read Access Time - 200 ns Automatic Page Write Operation Internal Address and Data Latches for 128 Bytes Internal Control Timer Fast Write Cycle Time Page Write Cycle

More information

AVR501: Replacing ATtiny15 with ATtiny25. 8-bit Microcontrollers. Application Note PRELIMINARY. Features. 1 Introduction

AVR501: Replacing ATtiny15 with ATtiny25. 8-bit Microcontrollers. Application Note PRELIMINARY. Features. 1 Introduction AVR501: Replacing ATtiny15 with ATtiny25 Features General Porting Considerations Compatibility Mode Memories System Clock and Clock Options System Control and Reset Registers Interrupt Vectors Timer/Counters

More information

ATICE10... User Guide

ATICE10... User Guide ATICE10... User Guide Table of Contents Section 1 Introduction... 1-1 1.1 General Description...1-1 1.2 External Connections...1-2 1.3 Power System...1-2 1.4 Reset System...1-2 1.5 Trace Buffer...1-3

More information

256 (32K x 8) High-speed Parallel EEPROM AT28HC256N. Features. Description. Pin Configurations

256 (32K x 8) High-speed Parallel EEPROM AT28HC256N. Features. Description. Pin Configurations Features Fast Read Access Time 90 ns Automatic Page Write Operation Internal Address and Data Latches for 64 Bytes Internal Control Timer Fast Write Cycle Times Page Write Cycle Time: 3 ms or 10 ms Maximum

More information

FPGA Configuration EEPROM Memory AT17C65A AT17LV65A AT17C128A AT17LV128A AT17C256A AT17LV256A

FPGA Configuration EEPROM Memory AT17C65A AT17LV65A AT17C128A AT17LV128A AT17C256A AT17LV256A Features Serial EEPROM Family for Configuring Altera FLEX Devices In-System Programmable via 2-wire Bus Simple Interface to SRAM FPGAs EE Programmable 64K, 128K and 256K Bits Serial Memories Designed to

More information

32-megabit 2.7-volt Only Serial DataFlash AT45DB321. AT45DB321 Preliminary 16- Megabit 2.7-volt Only Serial DataFlash

32-megabit 2.7-volt Only Serial DataFlash AT45DB321. AT45DB321 Preliminary 16- Megabit 2.7-volt Only Serial DataFlash Features Single 2.7V - 3.6V Supply Serial-interface Architecture Page Program Operation Single Cycle Reprogram (Erase and Program) 8192 Pages (528 Bytes/Page) Main Memory Optional Page and Block Erase

More information

2-wire Serial EEPROMs AT24C128 AT24C256. Features. Description. Pin Configurations. 128K (16,384 x 8) 256K (32,768 x 8)

2-wire Serial EEPROMs AT24C128 AT24C256. Features. Description. Pin Configurations. 128K (16,384 x 8) 256K (32,768 x 8) Features Low-voltage and Standard-voltage Operation 5.0 (V CC = 4.5V to 5.5V) 2.7 (V CC = 2.7V to 5.5V). (V CC =.V to 3.6V) Internally Organized 6,34 x and 32,76 x 2-wire Serial Interface Schmitt Trigger,

More information

AT89C51SND1 UART Bootloader

AT89C51SND1 UART Bootloader Features Protocol UART Used as a Physical Layer Based on the Intel Hex-type s Autobaud In-System Programming Read/Write Flash Memory Read Device IDs Block Erase Full-chip Erase Read/Write Configuration

More information

Trusted Platform Module AT97SC3203S. SMBus Two-Wire Interface. Summary

Trusted Platform Module AT97SC3203S. SMBus Two-Wire Interface. Summary Features Full Trusted Computing Group (TCG) Trusted Platform Module (TPM) Version 1. Compatibility Single-chip Turnkey Solution Hardware Asymmetric Crypto Engine 048-bit RSA Sign in 500 ms AVR RISC Microprocessor

More information

2-Wire Serial EEPROM AT24C01. Features. Description. Pin Configurations. 1K (128 x 8)

2-Wire Serial EEPROM AT24C01. Features. Description. Pin Configurations. 1K (128 x 8) Features Low Voltage and Standard Voltage Operation 2.7 (V CC = 2.7V to 5.5V) 1.8 (V CC = 1.8V to 5.5V) Internally Organized 128 x 8 2-Wire Serial Interface Bidirectional Data Transfer Protocol 100 khz

More information

16-megabit 2.7-volt Only Serial DataFlash AT45DB161

16-megabit 2.7-volt Only Serial DataFlash AT45DB161 Features Single 2.7V - 3.6V Supply Serial Interface Architecture Page Program Operation Single Cycle Reprogram (Erase and Program) 4096 Pages (528 Bytes/Page) Main Memory Optional Page and Block Erase

More information

3-wire Serial EEPROMs AT93C46 AT93C56 AT93C57 AT93C66

3-wire Serial EEPROMs AT93C46 AT93C56 AT93C57 AT93C66 Features Low-voltage and Standard-voltage Operation 5.0 (V CC = 4.5V to 5.5V) 2.7 (V CC = 2.7V to 5.5V) 2.5 (V CC = 2.5V to 5.5V) 1.8 (V CC = 1.8V to 5.5V) User-selectable Internal Organization 1K: 128

More information

CryptoRF EEPROM Memory 8 Kbits

CryptoRF EEPROM Memory 8 Kbits Features One of a Family of Devices with User Memory of 1 Kbit to 64 Kbits Contactless 13.56 MHz RF Communications Interface ISO/IEC 14443-2:2001 Type B Compliant ISO/IEC 14443-3:2001 Type B Compliant

More information

AT40K FPGA IP Core AT40K-FFT. Features. Description

AT40K FPGA IP Core AT40K-FFT. Features. Description Features Decimation in frequency radix-2 FFT algorithm. 256-point transform. -bit fixed point arithmetic. Fixed scaling to avoid numeric overflow. Requires no external memory, i.e. uses on chip RAM and

More information

SAM Boot Assistant (SAM-BA)... User Guide

SAM Boot Assistant (SAM-BA)... User Guide SAM Boot Assistant (SAM-BA)... User Guide SAM Boot Assistant (SAM-BA) User Guide Table of Contents Section 1 Overview... 1-1 1.1 Overview...1-1 1.2 SAM-BA Features...1-1 Section 2 Installing SAM-BA 2.x...

More information

2-wire Serial EEPROM AT24C21. 2-Wire, 1K Serial EEPROM. Features. Description. Not Recommended for New Designs. Pin Configurations.

2-wire Serial EEPROM AT24C21. 2-Wire, 1K Serial EEPROM. Features. Description. Not Recommended for New Designs. Pin Configurations. Features 2-wire Serial Interface Schmitt Trigger, Filtered Inputs For Noise Suppression DDC1 / DDC2 Interface Compliant for Monitor Identification Low-voltage Operation 2.5 (V CC = 2.5V to 5.5V) Internally

More information

T89C5115 UART Bootloader

T89C5115 UART Bootloader Features Protocol UART Used as a Physical Layer Based on the Intel Hex-type s Autobaud In-System Programming Read/Write Flash and EEPROM Memories Read Device ID Full-chip Erase Read/Write Configuration

More information

1-megabit (64K x 16) 3-volt Only Flash Memory AT49BV1024A AT49LV1024A

1-megabit (64K x 16) 3-volt Only Flash Memory AT49BV1024A AT49LV1024A Features Single-voltage Operation Read/Write Operation: 2.7V to 3.6V (BV). 3.0V to 3.6V(LV) Fast Read Access Time 45 ns Internal Program Control and Timer 8K Word Boot Block with Lockout Fast Erase Cycle

More information

T89C51AC2 UART Bootloader

T89C51AC2 UART Bootloader Features Protocol UART Used as a Physical Layer Based on the Intel Hex-type Records Autobaud In-System Programming Read/Write Flash and EEPROM Memories Read Device ID Full-chip Erase Read/Write Configuration

More information

256K (32K x 8) 3-volt Only Flash Memory

256K (32K x 8) 3-volt Only Flash Memory Features Single Supply Voltage, Range 3V to 3.6V 3-Volt Only Read and Write Operation Software Protected Programming Low Power Dissipation 15 ma Active Current 40 µa CMOS Standby Current Fast Read Access

More information

AVR1303: Use and configuration of IR communication module. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

AVR1303: Use and configuration of IR communication module. 8-bit Microcontrollers. Application Note. Features. 1 Introduction AVR1303: Use and configuration of IR communication module Features IrDA 1.4 compatible for baud rates up to 115.2 Kbit/s Selectable transmitter pulse modulation schemes: - 3/16 of baud rate period - Fixed

More information