We have checked the contents of this manual for agreement with the hardware and software
described. Since deviations cannot be precluded entirely, we cannot guarantee full agreement.
However, the data in this manual are reviewed regularly. Necessary corrections are included in
subsequent editions. Suggestions for improvement are welcomed.
This manual is intended for hardware developers who want to use the ERTEC 200 for new products. Experience
working with processors and designing embedded systems and knowledge of Ethernet are required for this. It
described all ERTEC function groups in details and provides information that you must take into account when
configuring your own PROFINET IO device hardware.
The manual serves as a reference for software developers. The address areas and register contents are
described in detail for all function groups.
Structure of this Manual
o Section 1 Overview of the architecture and the individual function groups of the ERTEC 200.
o Section 2 ARM946E-S processor systems.
o Section 3 Bus system of the ERTEC 200.
o Section 4 I/O of the ERTEC 200.
o Section 5 General hardware functions.
o Section 6 External memory interface (EMIF).
o Section 7 Local bus unit (LBU).
o Section 8 DMA controller
o Section 9 Ethernet PHYs
o Section 10 Memory partitioning of the ERTEC 200.
o Section 11 HW tools for test, trace, and debugging.
o Section 12 List of terms and references
Scope of the Manual
This manual applies to the following product:
This manual will be updated as required. You can find the current version of the manual on the Internet at
http://www.siemens.com/comdec.
Guide
To help you quickly find the information you need, this manual contains the following aids:
oA complete table of contents as well as a list of all figures and tables in the manual are provided at the
beginning of the manual.
o A glossary containing definitions of important terms used in the manual is located following the appendices.
o References to other documents are indicated by the document reference number enclosed in slashes (/No./).
The complete title of the document can be obtained from the list of references at the end of the manual.
Additional Support
If you have questions regarding use of the described block that are not addressed in the documentation , please
contact your Siemens representative.
Please send your written questions, comments, and suggestions regarding the manual to the hotline via the email address indicated above.
In addition, you can receive general information, current product information, FAQs, and downloads pertaining to
your application on the Internet at:
1.5.4 Clock and Reset ............................................................................................................................14
1.5.5 Test Pins........................................................................................................................................14
4.8 System control register........................................................................................................................... 58
4.8.1 Address Assignment of System Control Registers........................................................................ 58
4.8.2 System Control Register Description.............................................................................................59
5 General Hardware Functions ................................................................................................64
5.1 Clock Generation and Clock Supply.......................................................................................................64
5.1.1 Clock Supply in ERTEC 200..........................................................................................................64
7 Local Bus Unit (LBU). ............................................................................................................74
7.1 Page Range S etting ...............................................................................................................................76
7.4 Page Contro l Setting ..............................................................................................................................78
7.5 Host Access to the ERTE C200 ..............................................................................................................78
7.5.1 LBU Read from ERTEC 200 with separate Read/Write line (LBU_RDY_N active low)................. 79
7.5.2 LBU Write to ERTEC 200 with separate Read/Write line (LBU_RDY_N active low)......................80
7.5.3 LBU Read from ERTEC 200 with common Read/Write line (LBU_RDY_N active low) .................81
7.5.4 LBU Write to ERTEC 200 with common Read/Write line (LBU_RDY_N active low)......................82
11.4 Debugging via UART..............................................................................................................................95
Figure 7: Block Diagram of UART ......................................................................................................................... 48
Figure 8: Block Diagram of SPI ............................................................................................................................. 54
Figure 9: Clock Generation in ERTEC 200............................................................................................................ 64
Figure 10: Clock Supply of Ethernet Interface....................................................................................................... 65
Figure 11: Power-Up Phase of the PLL................................................................................................................. 66
Figure 12: Interconnection of Addresses between Host and ERTEC 200 LBU ..................................................... 77
Figure 13: LBU-Read-Sequence with separate RD/WR line ................................................................................. 79
Figure 14: LBU-Write-Sequence with separate RD/WR line.................................................................................. 80
Figure 15: LBU-Read-Sequence with common RD/WR line.................................................................................. 81
Figure 16: LBU-Write-Sequence with common RD/WR line.................................................................................. 82
List of Tables
Table 1: ERTEC 200 Pin Assignment and Signal Description............................................................................... 19
Table 2: Overview of IRQ Interrupts...................................................................................................................... 25
Table 3: Overview of FIQ Interrupts....................................................................................................................... 25
Table 4: Overview of Interrupt Control Register..................................................................................................... 27
Table 6: Overview of AHB Master-Slave Access...................................................................................................32
Table 7: Access Type and Data Width of the I/O................................................................................................... 33
Table 8: Selection of Download Source................................................................................................................. 34
Table 9: Overview of GPIO Registers.................................................................................................................... 36
Table 10: Overview of Timer Registers ................................................................................................................. 40
Table 11: Overview of F-Timer Registers.............................................................................................................. 44
Table 12: Overview of WD Registers..................................................................................................................... 46
Table 13: Baud Rates for UART at F
Table 14: Overview of UART Registers................................................................................................................. 49
Table 15: Overview of SPI Registers..................................................................................................................... 55
Table 16: Overview of System Control Registers.................................................................................................. 59
Table 17: Overview of ERTEC 200 Clocks............................................................................................................ 64
Table 18: Configurations for ERTEC 200 .............................................................................................................. 68
Table 19: Overview of EMIF Registers.................................................................................................................. 70
Table 20: Setting of Various Page Sizes ............................................................................................................... 76
Table 21: Setting of Various Offset Areas ............................................................................................................. 76
Table 22: Address Mapping from the Perspective of an External Host Processor on the LBU Port ...................... 77
Table 23: Summary of Accesses to Address Areas of ERTEC 200....................................................................... 78
Table 24: Host Access to Address Areas of ERTEC 200 ...................................................................................... 78
Table 32: Overview of DMA Registers................................................................................................................... 86
Table 33: Partitioning of Memory Areas ................................................................................................................ 91
Table 34: Detailed Description of Memory Segments............................................................................................ 93
Table 35: Pin Assignment of JTAG Interface......................................................................................................... 95
The ERTEC 200 is intended for the implementation of PROFINET devices with RT and IRT functionality. With its
integrated ARM946 processor and 2-port Ethernet switch with integrated PHYs and the option to connect an
external host processor system to a local bus interface, it meets all the requirements for implementing PROFINET
devices with integrated switch functionality.
1.1 Applications of the ERTEC 200
Interface connection for high-precision drive control, including for PC-based systems
Distributed I/O with real-time Ethernet interfacing
PROFINET RT and IRT functionality
1.2 Features of the ERTEC 200
The ERTEC 200 is a high-performance Ethernet controller with the following integrated function groups:
• High-performance ARM 946 processor with D-cache, I-cache, D-TCM memory
• Multilayer AHB bus master/slave with AHB arbiter
• IRT switch with 64-Kbyte communication RAM
• 2 Ethernet channels with integrated PHYs
• Local Bus Unit (LBU) for connecting an external host processor (with boot capability)
The ERTEC 200 Ethernet communication block is available in a 304-pi n FBGA package. The signal names of the
ERTEC 200 are described in this section.
1.5.1 GPIO 0 to 31 and Alternative Functions
Various signals are multiplexed on the same pin. These multiple xed signals can contain up to four different functions.
The alternative functions are assigned in GPIO registers GPIO_PORT_MODE_L and GPIO_PORT_MODE_H (see
Section 4.2.2). The table describes all signals with their different functions and associated pin n umb ers.
No. Signal
Name
GPIO0 P1-DUBLEX-
1
GPIO1 P2-DUBLEX-
2
GPIO2 P1-SPEED_N-
3
GPIO3 P2-SPEED-
4
GPIO4 P1-LINK-
5
GPIO5 P2-LINK-
6
GPIO6 P1-RX-LED_N P1-TX-LED_N P1-ACTIVE-
7
GPIO7 P2-RX-LED_N P2-TX-LED_N P2-ACTIVE-
8
GPIO8 UART-TXD B/O/(I) up B17 GPIO or UART (O)
9
Alternative
Function 1
LED_N
LED_N
100LED
(TX/FX)
100LED_N
(TX/FX)
LED_N
LED_N
Alternative
Function 2
Alternative
Function 3
I/O
(Reset)
Pull- PIN
No.
Comment
General Purpose I/O / I/O
B/O/(I) up D19 GPIO (interrupt-
capable) or PHY-LED
(O)
B/O/(I) up B20 GPIO (interrupt-
capable) or PHY-LED
(O)
P1-SPEED10LED_N
P2-SPEED10LED_N
B/O/(I)upA19GPIO or PHY-LED (O)
B/O/(I)upD16GPIO or PHY-LED (O)
B/O/O/(I)upD17GPIO or PHY-LED (O)
B/O/O/(I)upB19GPIO or PHY-LED (O)
B/O/O/O/(I) up B18 GPIO or PHY-LED (O)
LED_N
B/O/O/O/(I) up D15 GPIO or PHY-LED (O)
LED_N
10 GPIO9 UART-RXD B/I (I) upA17GPIO or UART (I)
11 GPIO10 UART-DCD_N B/I (I) upB16GPIO or UART (I)
12 GPIO11 UART-DSR_N B/I (I) upE16GPIO or U ART (I)
13 GPIO12 UART-CTS_N B/I (I) upA16GPIO or UART (I)
14 GPIO13 Reserved B/O/(I) up B15 GPIO
15 GPIO14 DBGACK B/O/(I) up E15 GPIO or DEBUG (O)
16 GPIO15WD_WDOUT0_N B/O/(I)upE14GPIO or Watchdog (O)
17 GPIO16 SPI1_SSPCTL
OE
18 GPIO17 SPI1_SSPOE B/O/(I) up F14 GPIO or SPI1 (O)
19 GPIO18 SPI1_SSPRXD B/I (I) up B12 GPIO or SPI1 (I)
20 GPIO19 SPI1_SSPTXD B/O/(I) upD13GPIO or SPI1 (O)
23 GPIO22 SPI1_SFRMIN DBGACK B/I/O/(I) up F10 GPIO or SPI1 (I) or
Debug (O)
This GPIO is used as
chip select when
booting from Nand
Flash or SPI ROM.
24 GPIO23 SPI1_SCLKIN Reserved B/I/O/(I) up D10 GPIO or SPI1 (I)
This GPIO is used as
chip select when
booting from SPI Flash
or SPI EEPROM.
25 GPIO24 PLL_EXT_IN_N B/I (I) up B11 GPIO or MC_PLL (I)
26 GPIO25 TGEN_OUT1_N
*1
27 GPIO26 TGEN_OUT2_N B/O/(I) up A7 GPIO or MC_PLL (O)
28 GPIO27 TGEN_OUT3_N B/O/(I) up B10 GPIO or MC_PLL (O)
29 GPIO28 TGEN_OUT4_N B/O/(I) up F9 GPIO or MC_PLL (O)
30 GPIO29 TGEN_OUT5_N B/O/(I) up E9 GPIO or MC_PLL (O)
31 GPIO30 TGEN_OUT6_N B/O/(I) up B8 GPIO (interrupt-
32 GPIO31 DBGREQ B/I (I) up E8 GPIO (interrupt-
*1 For an IRT application pin GPIO25 is default parameterized as alternate function1 (TGEN_OUT1_N). A
synchronous clock is issued at this pin. During the certification process of a PROFINET IO DEVICE with IRT
functionality this pin has to be accessible from outside (mandatory).
Different GPIO’s are used on the Evaluation Board EB200. See Dokument /14/ Table 6.
B/O/(I) up B9 GPIO or MC_PLL (O)
capable) or MC_PLL
(O)
capable) or DEBUG (I)
1.5.2 JTAG and Debug
No. Signal
Name
I/O
(Reset)
Pull- PIN
No.
Comment
Debug / JTAG (BOUNDARY SCAN)
33 TRST_N I (I) U10 JTAG Reset
34 TCK
35 TDI
36 TMS
37 TDO O (O) V9 JTAG Data Out
38 SRST_N B (O) up V8 Hardware Reset
39 TAP_SEL I (I) up W8 Select TAP Controller:
I (I)
I (I)
I (I)
up W7 JTAG Clock
up U9 JTAG Data In
up V7 JTAG Test Mode Select
0: Boundary Scan TAP Controller
selected
1: ARM-TAP Controller selected
or Scan Clock (Scan mode)
1.5.3 Trace Port
No. Signal
Name
I/O
(Reset)
Pull- PIN
No.
Comment
Trace Port/Other
40 TRACECLK B (O) AB4 ETM Trace Clock
41 Reserved I (I) up U19 Connect pin to GND
71 A18 CONFIG1 B (I) up K1 Address bit 18 / ERTEC 200
72 A19 CONFIG2 B (I) up E4 Address bit 19 / ERTEC 200
73 A20 CONFIG3 B (I) dn F4 Address bit 20 / ERTEC 200
74 A21 CONFIG4 B (I) up G4 Address bit 21 / ERTEC 200
75 A22 CONFIG5 B (I) dn H5 Address bit 22 / ERTEC 200
76 A23 CONFIG6 B (I) up H4 Address bit 23 / ERTEC 200
77 D0 B (I) up M2 Data bit 0
78 D1 B (I) up N2 Data bit 1
79 D2 B (I) up P1 Data bit 2
80 D3 B (I) up P2 Data bit 3
81 D4 B (I) up R1 Data bit 4
82 D5 B (I) up T2 Data bit 5
83 D6 B (I) up U1 Data bit 6
84 D7 B (I) up U2 Data bit 7
85 D8 B (I) up V2 Data bit 8
86 D9 B (I) up W1 Data bit 9
87 D10 B (I) up W2 Data bit 10
88 D11 B (I) up Y2 Data bit 11
89 D12 B (I) up AA1 Data bit 12
90 D13 B (I) up AA2 Data bit 13
91 D14 B (I) up AB2 Data bit 14
92 D15 B (I) up AA3 Data bit 15
93 D16 B (I) up K4 Data bit 16
94 D17 B (I) up K5 Data bit 17
95 D18 B (I) up J6 Data bit 18
96 D19 B (I) up K6 Data bit 19
97 D20 B (I) up N5 Data bit 20
98 D21 B (I) up N6 Data bit 21
99 D22 B (I) up P6 Data bit 22
100 D23 B (I) up R5 Data bit 23
101 D24 B (I) up R6 Data bit 24
102 D25 B (I) up P4 Data bit 25
103 D26 B (I) up R4 Data bit 26
104 D27 B (I) up T4 Data bit 27
105 D28 B (I) up U4 Data bit 28
106 D29 B (I) up W4 Data bit 29
107 D30 B (I) up W5 Data bit 30
108 D31 B (I) up W6 Data bit 31
O (O)
O (O)
G2 Address bit 13
SDRAM: Address 11
G1 Address bit 14
SDRAM: Address 12
ERTEC 200 boot mode (ext. PU
may be necessary)
ERTEC 200 boot mode (ext. PU
may be necessary)
ERTEC 200 boot mode (ext. PD
may be necessary)
system configuration (external PD
may be necessary)
system configuration (external PD
may be necessary)
system configuration (external PU
may be necessary)
system configuration (external PD
may be necessary)
system configuration (external PU
may be necessary)
system configuration (external PD
may be necessary)
112 CS_PER1_N
113 CS_PER2_N
114 CS_PER3_N
115 BE0_DQM0_N
116 BE1_DQM1_N
117 BE2_DQM2_N
118 BE3_DQM3_N
119 RDY_PER_N I (I) up D7 Ready signal
120 CLK_SDRAM B (O) M1 Clock for SDRAM
121 CS_SDRAM_N
122 RAS_SDRAM_N
123 CAS_SDRAM_N
124 WE_SDRAM_N
O (O)
O (O)
O (O)
O (O)
O (O)
O (O)
O (O)
O (O)
O (O)
O (O)
O (O)
O (O)
O (O)
O (O)
A4 Write strobeB5 Read strobeD5 Chip Select Bank 1 (ROM);
boot areaA5 Chip select bank 2A6 Chip select bank 3B6 Chip select bank 4N4 Byte enable 0 for D(7:0)V1 Byte enable 1 for D(15:8)J4 Byte enable 2 for D(23:16)P5 Byte enable 3 for D(31:24)
L1 Chip-Select for SDRAM M5 RAS for SDRAM L2 CAS for SDRAM M4 Write Enable for SDRAM
189 P2SDxP I V19 Port2 FX differential SD input
190 P2SDxN I U18 Port2 FX differential SD input
191 VSSAPLLCB I L18 Analog central GND supply
192 VDDACB I H22 Analog central 3.3 V supply
193 VDDAPLL I K19 Analog central 1.5 V supply
194 EXTRES B L21 Resistor reference 12.4 kOhm
195 ATP B L22 Analog test function
I T17 Digital GND supply
I R21 Digital 1.5 V supply
I R22 Digital 1.5 V supply
I R17 Digital GND suppl y
I N18 Analog Port Tx/Rx 1.5 V supply
I N17 Analog port GND supply
B P22 Port2 differential receive input
B P21 Port2 differential receive input
I M18 Analog port GND supply
B M21 Port2 differential transmit output
B M22 Port2 differential transmit output
196 P1SDxN I F19 Port1 FX differential SD input
197 P1SDxP I G19 Port1 FX differential SD input
198 P1TDxN O C22 Port1 FX differential transmit
199 P1TDxP O C21 Port1 FX differential transmit
200 P1RDxN I E21 Port1 FX differential receive input
201 P1RDxP I E22 Port1 FX differential receive input
202 P1VSSATX2 I K18 Analog port GND supply
203 P1TxP B J22 Port1 differential transmit output
204 P1TxN B J21 Port1 differential transmit output
205 P1VSSATX1 I K17 Analog port GND supply
P1RxP B G21 206 Port1 differential receive input
207 P1RxN B G22 Port1 differential receive input
P1VSSARX I J17 Analog port GND supply 208
P1VDDARXTX I J19 Analog Port Tx/Rx 1.5 V supply 209
GND33ESD I H18 Analog test GND supply 210
211 VDD33ESD I F22 Analog test 3.3 V supply
212 DGND2 I G17 Digital GN D supply
213 DVDD2 I H19 Digital 1.5 V supply
DVDD1 I G18 Digital 1.5 V supply 214
DGND1 I H21 Digital GND supply 215
output
output
1.5.9 Power Supply
No. Voltage
I/O PIN No. Comment
Signal Name
Power Supply
216 PLL_AVDD P E12 PLL analog, 1.5 V
217 PLL_AGND P F13 PLL analog GND
IO = Signal direction from perspective of the application
I: Input O: Output
B: Bidirectional P: Power supply
Pull- = Internal pull-up/pull-down resistor connected to the signal pin
up: Internal pull-updn: Internal pull-down
PU/PD = External resistances necessary, depending on
application
PU: External pull-up PD: External pull-down
_N in last position of signal name signifies: Signal is Low active Example: INTA_N
Note:
(1) The BOOT[3:0] pins are read into the “BOOT_REG” system configuration register during the active RESET phase.
After a reset, these pins are available as normal function pins.
(2) The CONFIG [6:1] pins are read into the “CONFIG_REG” system configuration register during the active RESET
phase. After a reset, these pins are available as normal function pins.
(3) The TMC1 and TMC2 test pins are shorted to ground during operation. TEST_N and TACT_N can remain open.
(4) The GPIOs[31:0] and LBU pins can contain up to 4 different functions. The IO function pins have a different circuitry,
corresponding to the selected function.
Example of IO Function: B/O/O/I/ (I) Æ Function 0 = Bidirectional, Function 1 = Output, Function 2 = Output,
Function 3 = Input, (I) = IO Function during RESET = Input
For LBU, PHY-Debug or ETM-Trace-Interface the IO - function is active during Reset, which is selected with the pins
CONFIG[6,5,2]. Default the Function 3 (ETM-Trace, GPIO[44:32]) is set with internal Pullup- and Pulldown-resistors.
Unusual feature:
ETM-outputs are switched to inputs during Reset. They are changed to outputs after the Trace-Modul is switched on with
the debug-module.
Different LBU- and GPIO-Pins have bidirectional functions. The value in the bracket is the default value during Reset, if
they are selected with CONFIG[6,5,2].
Example:
CONFIG[6, 5, 2] = xx0 Æ Function 1 Æ LBU-Mode
All IO-Pins for Function1 are active during Reset
e.g. LBU_A0 is input ÆInput during Reset
LBU_D0 is bidirectional ÆInput during Reset
The alternative GPIO functions are selected by assigning parameters for the GPIO_PORT_MODE_L and GPIO_PORT_MODE_H registers.
The tabs are described in Section 4.2.2.
The alternative LBU/MII functions are selected with the configuration pins CONFIG[6,5,2] in the user design.
The ARM946E-S processor is implemented in the ERTEC 200.
This description is based on /1/ and /2/.
2.1 Structure of ARM946E-S
An ARM946E-S processor system is used. The figure below shows the structure of the processor. In addition to the
processor core, the system contains one data cache, one instruction cache, a memory protection unit (MPU), a system
control coprocessor, and a tightly coupled memory. The processor system has an interface to the integrated AHB bus.
The ARM946E-S processor system is a member of the ARM9 Thumb family. It has a processor core with Harvard
architecture. Compared to the standard ARM9 family, the ARM946E-S has an enhanced V5TE architecture permitting
faster switching between ARM and Thumb code segments and an enhanced multiplier structure. In addition, the
processor has an integrated JTAG interface.
2.3 Operating Frequency of ARM946E-S
The processor can be operated at 50 MHz, 100 MHz, or 150 MHz. The operating frequency is set during the reset phase
via the configuration pins CONFIG[4] and CONFIG[3]. Communication with the components of the ERTEC 200 takes
place via the AHB bus at a frequency of 50 MHz.
2.4 Cache Structure of ARM946E-S
The following caches are integrated in the ARM946E-S.
• 8 Kbytes of instruction cache with lock function
• 4 Kbytes of data cache with lock function
Both caches are “Four-Way Set Associative” caches with 1-Kbyte segments. Each segment consists of 32 lines with 32
bytes (8 x 4 bytes). The D-cache has “write buffers" with write-back function.
The lock function enables the user to lock (LOCK) the contents of the cache segments. This function enables the
command set for fast routines to be maintained permanently in the instruction cache. This mechanism can only be
applied at the segment level with the ARM946E-S.
Both caches are locked after a reset. These caches can only be enabled if the Memory Protection Unit is also enab led.
The I-cache can be enabled by setting Bit 12 of the CP15 control register.
The D-cache can be enabled by setting Bit 2 of the CP15 control register.
Access to this area is blocked if the cache is not enabled.
For additional information about
For more information on the description of the ARM946 registers, refer to Section 2.10 of this document.
Caching refer to Document /1/ Section 3.
2.5 Tightly Coupled Memory (TCM)
A 4-Kbyte data-tightly coupled memory (D-TCM) is implemented in the ARM946E-S processor of the ERTEC 200. The
memory is locked after a reset. The D-TCM can be placed in the address ar ea of the ARM946E-S as desired and must
be used together with a region of the memory protection unit. Data from high-speed routines such as isochronous control
can be placed in the D-TCM.
The D-TCM can be enabled by setting Bit 16 of the CP15 control register.
In addition, the address area of the D-TCM must be set in the Tightly-Coupled Memory register.
For more information about the
For more information on the description of the ARM946 registers, refer to Section 2.10 of this document.
The memory protection unit enables the user to partition specific memory areas (I-cache, D-cache, or DTCM) into
various regions and to assign different attributes to them.
A maximum of 8 regions of variable size can be set. If regions overlap, the attributes of the higher region number apply.
Settings for each region:
• Base address of region
• Size of region
• Cache and “write buffer” configuration
• Read/write access enable for privileged users/users
Settings are made in the following registers of the ARM946E-S:
The base address defines the start address of the region. It must always be a multiple of the size of the region.
Example: The region size is 4 Kbytes. The starting address is then always a multiple of 4 Kbytes.
Before the MPU is enabled, at least one region must have been assigned. Otherwise, the ARM946E-S can assum e a
state that can only be cancelled by a reset.
The MPU can be enabled by setting Bit 0 of the CP15 control register.
If the MPU is disabled, the I-cache- and D-cache cannot be accessed, even if they are enabled.
For more information about the
For more information on the description of the ARM946 registers, refer to Section 2.10 of this document.
MPU refer to Document /1/ Section 4.
2.7 Bus Interface of ARM946E-S
The ARM946E-S uses an AHB bus master interface to the multilayer AHB bus for opcode fetches and data transfers.
The interface operates at a fixed frequency of 50 MHz. The data bus and address b us each have a width of 32 bits.
For more information about the bus interface and write buffer, and about the different transfer types, refer to Document
/1/ Section 6.
2.8 ARM946E-S Embedded Trace Macrocell (ETM9)
An ETM9 module is connected at the ARM946E-S. This module permits debugging support for data and instruction
traces in the ERTEC 200. The module contains all signals required by the processor for the data and instruction traces .
The ETM9 module is operated by means of the JTAG interface. The trace information is provided outwards to the trace
port via a FIFO memory. A detailed description can be found in Section 11
2.9 ARM Interrupt Controller (ICU)
The interrupt controller supports the FIQ and IRQ interrupt levels of the ARM946 processor. An interrupt controller with 8
interrupt inputs is implemented for FIQ. Six interrupt inputs (FIQ0-5) are occupied by the ERTEC 200, and 2 interrupt
inputs (FIQ6-7) can be programmed optionally as IRQ sources. The high-priority FIQ interrupts are use d for watchdog
and address area monitoring and for debugging. An interrupt controller for 16 interrupt in puts is implemented for IRQ. Of
the 16 IRQ inputs, two IRQ sources can be selected for as Fast-Interrupt_Requests (FIQ6-7) for processing. The
assignment is made by specifying the IRQ number of the relevant interrupt input in the FIQ1REG / FIQ2REG register.
The interrupt inputs selected as FIQ must be disabled for the IRQ logic. All other interrupt inputs can continue to be
processed as IRQs.
The interrupt controller is operated at a clock frequency of 50 MHz. Interrupt-request signals generated with a higher
frequency must be lengthened accordingly for error-free detection.
It is possible to set the priorities of the IRQ and FIQ interrupts. Priorities 0 to 15 can be assigned to IRQ interrupts while
priorities 0 to 7 can be assigned to FIQ interrupts. The highest priority is 0 for both interrupt levels. After a reset, all IRQ
interrupt inputs are set to priority 15 and all FIQ interrupt inputs are set to priority 7. A priority register is associated with
each interrupt input. PRIOREG0 to PRIOREG15 are for the IRQ interrupts and FIQPR0 to FIQPR7 are for the FIQ
interrupts. A priority must not be assigned more than once. A check for the assignment of identical priorities is not
performed in the ICU logic. All interrupt requests with a lower or equal priority can be blocked at any time in the IRQ
priority resolver by assigning a priority in the LOCKREG register. If an interrupt that is to be blocked is requested at the
same time as the write access to the LOCKREG register, an IRQ signal is output. However, the signal is revoked after
two clock cycles. If an acknowledgement is to be generated nonetheless, the transferred interrupt vector is the default
vector.
2.9.2 Trigger Modes
The “Edge-triggered” and “Level-triggered” operating modes are available for each interrupt input.
The trigger type is defined by means of the assigned bit in the TRIGREG register. For the “Edge-triggered” mode setting,
differentiation can be made between a positive and negative edge evaluation. This is made in the EDGEREG register. In
“Level-triggered” mode, the active level of the interrupt request is high active. By default, the IRQ interrupt parameters
are assigned as described in Section 2.9.7, and the FIQ interrupts parameters are assigned as described in Section
2.9.8.
In “Edge-triggered” mode, the interrupt input signal must be present for at least one clock cycle. In “Level-triggered”
mode, the input signal must be present until the ARM946E-S CPU is confirmed. Shorter signals result in loss of the
event.
2.9.3 Masking the Interrupt Inputs
Each IRQ interrupt can be enabled or disabled individually. The MASKREG register is available for this purpose. The
interrupt mask acts only after the IRREG interrupt request register. That is, an interrupt is entered in the IRREG register
in spite of the block in the MASKREG register. After a reset, all mask bits are set and, thus, all interrupts are disabled. At
a higher level, all IRQ interrupts can be disabled globally via a command. W hen IRQ interrupts are enabled globally via a
command, only those IRQ interrupts that are enabled by the corresponding mask bit in the MASKREG register are
enabled.
For the FIQ interrupts, only selective masking by the mask bits in the FIQ_MASKREG register is possible. After a reset,
all FIQ interrupts are disabled. A detected FIQ interrupt request is entered in the FIQ interrupt request register. If the
interrupt is enabled in the mask register, processing takes place in the priority logic. If the interrupt request is accepted
by the ARM946 CPU and an entry is made in the in-service request register (ISR), the corresponding bit is reset in the
IRREG register. Each bit that is set in the IRREG register can be deleted via software. For this purpose, the number of
the bit to be reset in the IRCLVEC register is transferred to the interrupt controller.
2.9.4 Software Interrupts for IRQ
Every IRQ interrupt request can be triggered by setting the bit corresponding to the input channel in the software
interrupt register SWIRREG. Multiple requests can also be entered in the 16-bit SWIRREG register. The software
interrupt requests are received directly in the IRREG register and, thus, treated like a hardware IRQ. Software interrupts
can only be triggered by the ARM946E-S processor because only it has ac cess authorization to the interrupt controller.
2.9.5 Nested Interrupt Structure
When enabled by the interrupt priority logic, an IRQ interrupt request causes an IRQ signal to be output. Similarly, an
FIQ interrupt request causes the FIQ signal to be output to the CPU.
When the request is accepted by the CPU, the bit corresponding to the physical input in the register ISRREG is set. The
IRQ/FIQ signal is revoked. The ISR bit of the accepted interrupt remains set until the CPU returns an End-Of-Interrupt
command to the interrupt controller. As long as the ISR bit is set, interrupts with lower priority in the priority logic of the
interrupt controller are disabled. Interrupts with a higher priority are allowed by the priority logic to pass and generate an
IRQ/FIQ signal to the CPU. As soon as the CPU accepts this interrupt, the corresponding ISR bit in the ISRREG register
is also set. The CPU then interrupts the lower-priority interrupt routine and executes the higher interrupt routine first.
Lower-priority interrupts are not lost. They are entered in the IRREG register and are processed at a later time when all
higher-priority interrupt routines have been executed.
2.9.6 EOI End-Of-Interrupt
A set ISR bit is reset by the End-Of-Interrupt command. The CPU must communicate this to the interrupt controller with
the EOI command after processing of the corresponding interrupt server routine. To communicate the EOI command to
the interrupt controller, the CPU writes any value to the IRQEND/FIQEND registers. The interrupt controller decides
independently which ISR bit will be reset with the EOI command. If several ISR bits are set, the interrupt controller
deletes the ISR bit of the highest-priority interrupt request at the time of the EOI command. The interrupt cycle is
considered complete for the interrupt controller when all set ISR bits have been reset by the corresponding number of
EOI commands. After this, lower-priority interrupts that have occurred in the meantime and have been entered in the
RREG register can be processed in the priority logic.
During one or more accepted interrupts, the priority distribution of the IRQ/FIQ interrupt inputs must not be changed
because the ICU can otherwise no longer correctly assign the EOI commands.
The CPU accepts an IRQ-/FIQ request by reading the IRVEC/FIVEQ register. This register contains the binary-coded
vector number of the highest priority interrupt request at the moment. Each of the two interrupt vector registers can be
referenced using two different addresses. The interrupt controller interprets the reading of the vector register with the first
address as an “interrupt acknowledge”. This causes the sequences for this interrupt to be implemented in the ICU logic.
Reading of the vector register with the second address is not linked to the “acknowledge function”. This is primarily usef ul
for the debugging functions in order to read out the content of the interrupt vector register without starting the
acknowledge function of the interrupt controller.
2.9.7 IRQ Interrupt Sources
Interrupts from the following function groups of the ERTEC 200 are available to the IRQ interrupt controller:
IRQ Interrupts
Interrupt-Nr. Function Block Signal Name Default Setting Comment
Interrupts from the IRQ interrupt can be placed on FIQ6 and FIQ7 können.
The interrupts of the FIQ interrupt controller are used for debugging, monitoring address area access, and for the
watchdog.
FIQ interrupts no. 4 and 5 are the interrupts for embedded ICE RT communication. The UART can also be used as a
debugger in place of the ICE. Effective real-time debugging is possible when the IRQ interrupt sources of the UART are
mapped to the FIQs with the number 6 or 7. This enables debugging of interrupt routines.
2.9.10 Interrupt Control Register
The interrupt control registers are used to specify all aspects of control, prioritization, and masking of the IRQ/FIQ
interrupt controllers.
ICU (Base Address 0x5000_0000)
Register Name Offset Address Address Area Access Default Description
IRVEC 0x0000 4 bytes R 0xFFFFFFFFInterrupt vector register
FIVEC 0x0004 4 bytes R 0xFFFFFFFFFast interrupt vector register