Welcome to the Industrial Automation website!

NameDescriptionContent
XING-Automation
E-mail  
Password  
  
Forgot password?
  Register
当前位置:

SIEMENS C500 microcontroller architecture and instruction set

F: | Au:FAN | DA:2026-04-29 | 377 Br: | 🔊 点击朗读正文 ❚❚ | Share:

The cornerstone of embedded real-time control: C500 microcontroller architecture and deep analysis of instruction set

Introduction: Embedded Solutions Beyond Standard 8051

In embedded real-time systems such as industrial control, automotive electronics, and communication equipment, the architecture efficiency and instruction set capability of microcontrollers (MCUs) directly determine the system response speed, code density, and development flexibility. The Intel 8051 architecture, with its decades of proven stability and rich ecosystem, remains the preferred kernel for many embedded applications today. However, with the increasing complexity of peripherals and the demand for higher data throughput, the traditional 8051's single data pointer and limited memory management capabilities have gradually become system bottlenecks.

The Siemens C500 microcontroller family emerged in this context. It provides engineers with an upgrade path that inherits both classic and modern requirements by introducing multiple architectural enhancements, including up to 8 data pointers, scalable on-chip XRAM (external RAM), enhanced interrupt handling mechanisms, and flexible memory mapping, while maintaining 100% binary compatibility with the standard 8051 instruction set. This article will delve into the memory organization, CPU core characteristics, interrupt response timing, and complete instruction set functionality of the C500 family, aiming to help embedded developers fully unleash the performance potential of the C500 architecture when migrating existing 8051 projects or designing new systems.


Memory Architecture: Fine Layered Harvard Structure

The memory organization of the C500 family follows the classic Harvard Architecture, which physically separates program memory and data memory, each with its own independent address space and bus. The advantage of this design is that instruction prefetching and data access can be performed in parallel, thereby improving execution efficiency. Specifically, the storage resources of C500 are divided into five independent address spaces, as shown in Table 1.

Table 1 C500 Address Space Division

Memory type, location, capacity

Maximum external program memory size of 64 KB

Program memory internal (ROM/EEPROM) varies by model: 2 KB to 64 KB

Maximum external data storage capacity of 64 KB

Internal XRAM of data storage varies by model: 256 bytes to 3 KB

Internal IRAM 128 or 256 bytes in data storage

128/256 bytes inside the special function register

1. Program memory configuration and EA pin strategy

The access to program memory is controlled by the EA (External Access) pin, which provides great flexibility for system design:

EA=0 (low level): The CPU always retrieves data from external program memory. This mode is suitable for debugging/simulation scenarios where there is no ROM version or where internal ROM needs to be completely bypassed.

EA=1 (high level): The CPU prioritizes the use of internal program memory. When the address of the program counter (PC) exceeds the capacity limit of the internal ROM (for example, for C501 with built-in 8 KB ROM, the limit is 1FFF H), the CPU will automatically switch to the external program memory to continue execution. This' Code Rollover 'feature allows engineers to seamlessly expand when internal ROM space is insufficient without modifying the jump logic of existing code.

2. Triple structure of internal data storage

The Internal Data RAM (IRAM) is the core of the C500 data path, and its address space is divided into three physically independent but logically overlapping regions:

Low 128 bytes (00H-7FH): Directly addressable (direct addressing) or indirectly addressable (via R0/R1). This area contains four general-purpose register groups (each 8 bytes, i.e. R0-R7), which select the current active group through the RS1 and RS0 bits in the PSW register. In addition, the 16 bytes of byte addresses 20H-2FH provide 128 bit addressing units (bit addresses 00H-7FH), which are particularly suitable for efficient processing of Boolean variables.

High 128 bytes (80H - FFH): can only be accessed through indirect addressing (MOV @ Ri). The existence of this area allows the total internal RAM capacity to reach 256 bytes, but it must be distinguished from the SFR area through the correct addressing mode.

Special function register area (80H-FFH): can only be accessed through direct addressing. SFRs ending in 80H, 88H, 90H,..., F0H, FFH (i.e. the lower 3 bits of the address are 0) support bit addressing operations, with a bit address range of 80H-FFH. Common SFRs include accumulator (ACC), B register, program state word (PSW), stack pointer (SP), data pointer low 8-bit (DPL), and high 8-bit (DPH).

3. On chip XRAM: an acceleration solution for expanding data storage

Multiple C500 derivative models have integrated additional data storage - XRAM - inside the chip. From a logical address perspective, XRAM is located at the high end of the external data storage space (but the specific mapping depends on the model, except for C502), while its physical implementation is located on-chip. Accessing XRAM requires the use of MOVX instructions (similar to accessing external data storage), but because it does not require an external bus (P0 and P2 ports), its access speed is much faster than that of real external RAM. Through software control, XRAM can be disabled, and MOVX access to that address range will automatically redirect to the external bus, providing convenience for system expansion. More importantly, in Power Saving Modes, the content of XRAM is preserved, which is crucial for applications that require the retention of critical data in low-power states.

CPU core enhancement: breaking through the bottleneck of single data pointer

One of the most significant architectural improvements in the C500 series is the extension of Data Pointer (DPTR). The standard 8051 only has one 16 bit DPTR for accessing external data storage or external I/O. In applications that require frequent switching between multiple memory regions or peripheral addresses, software must repeatedly perform PUSH/POP operations to save and restore DPTR, which not only consumes additional instruction cycles but also occupies valuable internal RAM stack space.

1. Implementation mechanism of eight data pointers

C500 cleverly implements up to 8 16 bit data pointers (DPTR0 to DPTR7) while maintaining full compatibility with the 8051 instruction set. Its core is an SFR called DPSEL (Data Pointer Select Register, address 92H), whose lower 3 bits (DPSEL. 2-DPSEL. 0) are used to select the currently activated DPTR. From a software perspective, any instruction to operate DPTR (such as MOV DPTR, # data16, MOVX A, @ DPTR, INC DPTR, etc.) only acts on the DPTR pointer currently selected by DPSEL. Switching data pointers only requires one instruction (such as MOV DPSEL, # 06H selecting DPTR6), without the need to use multiple instructions to save and restore pointer values like standard 8051.

2. Analysis of Performance Improvement Examples

To visually demonstrate the advantages of multiple data pointers, consider a typical table lookup transfer task: transfer a data table with a starting address of 1FFF H from the code memory (ROM) to a buffer with a starting address of 2FA0 H in the external data memory.

Using a single data pointer (such as standard C501): Each time a byte is moved, the source pointer and destination pointer need to be saved separately to the "shadow variables" in the internal RAM. For every byte moved, it takes approximately 28 machine cycles and consumes 4 bytes of RAM as shadow variables.

Use dual data pointers (such as C509): During initialization, store the source pointer in DPTR6 and the destination pointer in DPTR7. In each loop, only one MOV DPSEL instruction # 06H is needed to switch to the source pointer, read bytes, and then another MOV DPSEL instruction # 07H switches to the destination pointer for writing. It only takes about 12 machine cycles to move one byte, and there is no need for additional shadow variables.

According to the performance data provided in the manual, using multiple data pointers in the same table transfer task can reduce the execution time by half (from 28 cycles to approximately 12-14 cycles), while freeing up internal RAM space. When all 8 pointers are used simultaneously, a maximum of 24 bytes of RAM can be released for the application (16 bytes for storing pointer variables and 8 bytes for avoiding stack operations). This feature is particularly important for large-scale projects using high-level programming languages such as C51 and PLM51, as their code generation efficiency is relatively low and they tend to frequently use pointers.

3. Enhanced Hooks simulation concept

The C500 family has also introduced innovative Enhanced Hooks simulation technology. Traditionally, simulating on-chip ROM type MCUs requires expensive "bond out" chips (i.e. special versions that lead out the internal bus). The C500 integrates dedicated simulation logic inside each mass-produced chip. With the external EH-IC (Enhanced Hooks Interface Chip), the mass-produced chip itself can achieve full functional simulation, including single step execution, reading SFR after breakpoints, and simulation of all ROM/ROMless modes. This ensures that the simulated chip is identical to the mass-produced chip, eliminating behavioral differences introduced by using different wafer batches, while reducing the cost of in circuit simulators (ICE).


Interrupt system: precise guarantee of real-time response

Interrupt latency is a key indicator in real-time control systems. The interrupt handling mechanism of C500 has strict temporal determinism, allowing engineers to accurately calculate the worst-case response time.

1. Interrupt Vector and Hardware Response Process

Each interrupt source has a fixed interrupt vector address located at the low end of the code storage area. The vector address interval is 8 bytes (such as 0003H, 000BH, 0013H, etc.), and usually a jump instruction is placed here to point to the real service program. When an interrupt is accepted by the CPU, the hardware will automatically perform the following operations:

Complete the execution of the current instruction.

Push the current value of the program counter (PC) onto the stack (16 bits, low byte first).

Load the entry address (vector address) of the interrupt service program into the PC.

The program jumps to interrupt service program execution.

Important note: Not all interrupt hardware will automatically clear the interrupt request flag. Partial interrupt sources require users to clear the flag through software in the service program, otherwise the interrupt will be triggered repeatedly.

2. Blocking conditions for interrupt response

The generation of hardware LCALL (long call) will be blocked by any of the following three conditions:

Condition 1 (Priority Blocking): Currently processing an interrupt of the same or higher priority.

Condition 2 (instruction completion blocking): The current instruction has not yet been executed to the last machine cycle. This ensures that the current instruction can be fully executed.

Condition 3 (Critical Instruction Blocking): The currently executing instruction is RETI (Interrupt Return), or an instruction that writes to the Interrupt Allow Register (IE) or Interrupt Priority Register (IP). The blocking will continue until the instruction is executed and another instruction is executed. This mechanism ensures that modifications to the interrupt system can take effect stably.

3. Precise calculation of interrupt response time

The interrupt response time is defined as the time interval between the time when the external interrupt request signal takes effect (the request flag is set) and the time when the first instruction of the interrupt service program starts executing.

According to the timing analysis in the manual, an interrupt requires at least 3 complete machine cycles from being detected to completing hardware LCALL (1 cycle for detecting flags and 2 cycles for executing LCALL). In the worst-case scenario, if the interrupt request encounters a blocking condition, the response time will be extended:

If blocked by condition 2 (instruction not completed), the maximum waiting time shall not exceed 3 cycles. Because the longest instruction (MUL or DIV) only requires 4 cycles, and interrupt detection occurs in the last cycle of each instruction.

If blocked by condition 3 (RETI or write IE/IP), the maximum waiting time should not exceed 5 cycles (1 cycle to complete the current RETI/write operation, plus up to 4 cycles to complete the immediately following instruction - if that instruction happens to be MUL or DIV).

Therefore, for a single interrupt system, the interrupt response time of C500 is always between 3 and 9 machine cycles. For a 12MHz crystal oscillator system (one machine cycle=1 µ s), this corresponds to a delay of 3 µ s to 9 µ s, providing highly predictable performance for hard real-time applications.

External Memory Access Timing and Bus Design

C500 accesses external program memory and data memory through standard bus interfaces, and understanding its timing is crucial for hardware design.

1. Address/data reuse

When accessing external memory, the P0 port assumes the time division multiplexing function for the low 8-bit address and 8-bit data, while the P2 port outputs the high 8-bit address (for MOVX @ DPTR or external fetch) or maintains its SFR content (for MOVX @ Ri). External address latches (such as 74HC373) use the falling edge of the ALE (Address Latch Enable) signal to latch the lower 8 bits of the address on port P0. Afterwards, the P0 port is switched to the data bus.

2. Two access modes

16 bit address access (MOVX @ DPTR): P2 port continuously outputs the content of DPH (high 8-bit address) throughout the entire access cycle. P0 port outputs DPL when ALE is valid, and then switches to data signal. This mode can access a complete address space of 64 KB.

8-bit address access (MOVX @ Ri): The P2 port maintains its existing SFR value throughout the entire cycle and does not automatically output the higher 8 bits of the address. The CPU uses the P0 port to output the content of Ri (8-bit address) and multiplex it with the data. This method is commonly used for "paging" expansion, where the P2 port is pre-set as a page address by software to enable external RAM access exceeding 256 bytes.

Important hardware precautions: During external memory access, the CPU will write FF H to the P0 port latch (SFR). Therefore, during external memory access, the software must not execute the MOV P0 instruction to modify the P0 port, otherwise it will damage the current bus cycle data. In addition, for the ROM free version (EA grounded), the entire 64 KB program space is external, and the P2 port will be fully occupied as an address line, which cannot be used for general-purpose I/O.


Instruction set: Functional classification and optimization of 111 instructions

The instruction set of C500 is fully compatible with the standard 8051, with a total of 111 instructions, including 49 single byte instructions (44%), 45 double byte instructions (41%), and 17 three byte instructions (15%). Efficient instruction encoding means that C500 can achieve higher code density at the same clock frequency.

Overview of Addressing Modes

C500 supports 5 addressing modes, each corresponding to a specific memory space, as shown in Table 2.

Table 2 Addressing Modes and Corresponding Memory Spaces

Memory space accessed in addressing mode

Address the R0-R7, ACC, B, CY bits of the currently selected register group DPTR

Directly addressing the low 128 bytes of internal RAM SFR

Immediate addressing of program memory (constant)

Register indirect addressing internal RAM (@ R0/@ R1/SP), external data storage (@ R0/@ R1/@ DPTR)

Base address register plus index addressing program memory (@ A+DPTR, @ A+PC), used for lookup tables

2. PSW impact of arithmetic operation instructions

Most arithmetic instructions affect the flag bits in the program state word (PSW), and engineers must pay attention when writing multi precision or signed operations:

CY (carry flag): When adding, if bit 7 has a carry, set it to 1; When subtracting, if bit 7 needs to be borrowed, set it to 1. The MUL and DIV commands will reset CY to zero.

OV (overflow flag): Used for signed number operations. When two positive numbers add up to a negative number, or when two negative numbers add up to a positive number, set it to 1. In MUL, if the product is greater than 255, OV is set to 1; In DIV, if the divisor is 0, OV is set to 1.

AC (auxiliary carry flag): When adding, if there is a carry from bit 3 to bit 4, set it to 1; When subtracting, if bit 3 needs to borrow from bit 4, set it to 1. Used for BCD adjustment (DA A instruction).

3. Boolean processor: an independent unit for bit operations

The C500 integrates an independent Boolean processor internally, and its accumulator is the CY flag. The bit addressing space (including 128 bits of internal RAM and addressable bits of SFR) constitutes its memory. The Boolean instruction set includes:

Bit transfer: MOV C, bit, MOV bit, C

Position bit/reset: SETB bit, CLR bit, CPL bit

Bit logic operation: ANL C, bit, ORL C, bit and its inverse form ANL C,/bit, ORL C,/bit - the result is saved back to CY.

Conditional jump: JB, JNB, JBC

Using a Boolean processor, C500 can directly perform complex logical judgments and operations on a single I/O pin without the need for byte operations and shifts, greatly improving the efficiency of control code.

4. Application scenarios for controlling transfer instructions

Instruction Type Example Jump Range Typical Applications

Unconditional Long Transfer LJMP addr16 64 KB Full Space Large Program Module Jump

Unconditional absolute transfer of AJMP addr11 2 KB page to save code space, short jump within the same page

Short transfer SJMP rel -128 to+127 byte efficient local loop

Indirect jump JMP @ A+DPTR implementation of multi branch jump table (state machine) based on DPTR index jump

Conditional jump CJNE A, if the comparison of # data and rel is not equal, the jump will occur, which also affects the comparison and branching of byte values in CY implementation

Loop control DJNZ Rn, rel minus one non-zero jumps to achieve precise software delay or counting loops

5. Common Instruction Optimization Techniques

MOVC lookup table: MOVC A, @ A+PC is suitable for local tables with a length not exceeding 256 bytes; MOVC A, @ A+DPTR is suitable for large tables that can be located at any position up to 64 KB.

XCHD Swap Low Half Byte: XCHD A, @ Ri can achieve efficient half byte swapping of BCD codes, commonly used for binary to BCD conversion.

SWAP A: Swapping the high 4 bits and low 4 bits of the accumulator is equivalent to shifting the loop left 4 times, which is very useful for quickly organizing packet formats.

The protection sequence of PUSH/POP: In the interrupt service program, if DPTR needs to be protected, PUSH DPL should be pushed first and then PUSH DPH; When restoring, first POP DPH and then POP DPL. This is opposite to the stacking order of LCALL (PC low byte first in).


Software Development and Debugging Practice

1. C language support for multiple data pointers

When using the C51 compiler, it is usually necessary to manipulate DPSEL through embedded assembly or compiler provided extension keywords. A common practice is to write macros or functions:

c//Attention: Adjustments need to be made according to the specific compiler

#define DPSEL   ((unsigned char __sfr __at(0x92)) 

#define SELECT_DPTR(n) (DPSEL = (n))

//Example usage

SELECT_DPTR(3); //Switch to DPTR3

unsigned int myAddr = 0x1234;

DPTR = myAddr; //Here DPTR actually points to DPTR3

SELECT_DPTR(4); //Switch to DPTR4, keeping the previous DPTR3 value unchanged

Some advanced compilers' library functions may have been optimized for multiple data pointers, automatically recognizing and utilizing idle DPTRs to accelerate memory copy operations.

2. Key points of interrupt service program

Use RETI instead of RET to return. RET will keep the interrupt priority state locked, causing subsequent same level or lower level interrupts to be unresponsive.

If the interrupt hardware does not automatically clear the request flag, the software must clear it before RETI, otherwise it will immediately re-enter the interrupt and cause a dead loop.

Try to keep the interrupt service program short and avoid time-consuming multiplication, division, or long loops within the interrupt.

3. Simulation and debugging suggestions

By utilizing Enhanced Hooks simulation technology, mass production chips are directly used in conjunction with EH-IC for debugging, ensuring consistency between the simulation environment and the final product.

When stepping, pay attention to the value of the DPSEL register to confirm which data pointer is currently being used.

Observing the ALE signal with an oscilloscope can confirm whether external bus access is normal. Under normal circumstances, the ALE frequency should be 1/6 of the crystal oscillator frequency (standard mode).

  • FUJI UG430H-TS1 HMI Touch Panel
  • Westronics CB100188-01 Rev F Board
  • Siemens 7MH4900-3AA01 Weighing Module
  • Gilbert & Nash Tracker 2000 Control Cabinet
  • OMRON CJ1M-CPU22 CPU Unit
  • OMRON F3SJ-E0625P25 Light Curtain
  • Siemens 3VA2340-5HL32-0AA0 Breaker
  • Mitsubishi Melsec A61P A2NCPU PLC System
  • Aeco 158-02 DSP-02 PCB Card
  • FUJI NP1PS-32R CPU Module
  • Siemens 6SL3040-1MA01-0AA0 Control Unit CU320-2 PN
  • Fuji RYE.75D PLC Driver AC Drive
  • Electro Cam PS-6144-24-P16M09-L-MB Programmable Limit Switch
  • Siemens C98043-A7001-L2-4 CUD1 Control Board
  • Pilz 312070 PSSu H PLC1 FS SN SD Safety Module
  • Siemens Plc42q4200atsn Circuit Breaker Fuse Box
  • GE Fanuc IC695ALG708-AB Analog Output Module Rx3i
  • Siemens 6SE7036-5GK84-1JC2 IGD8 Gate Driver Board
  • Charmilles 813078 852029 PLC PCB Robocut 2 CNC EDM
  • Siemens 6SL3130-1TE24-0AA0 Smart Line Module
  • Pasaban MTC3001-DC Drive Control PLC Module
  • Modicon AS-P890-000 Remote I/O Processor Power Supply
  • Siemens PXC100-PE96.A PXC Modular Controller
  • TOYO KEIKI P:CARD5 AVH-R YH-212 Industrial Control Card
  • Omron NS5-SQ00B-V2 HMI Touch Screen 5.7 Inch
  • Sciemetric SigPOD 1202-0H00 Data Acquisition Module
  • GE Fanuc IC693CPU331W CPU Module Series 90-30
  • Square D 8903SVO11V02 Lighting Contactor 200A
  • Beckhoff C9900-P224 Power Supply Unit 24V 10A
  • HSD PE323 PLC I/O Module
  • Pillar AB6406-11A Power Control Board
  • GE Fanuc IC693CPU331W CPU Module
  • FANUC A61L-0001-0072 LCD Monitor
  • AB 20D-D-011-A-0-EYNANANE Drive
  • AB 1785-L20B PLC-5/20 Processor
  • Siemens SIREC P/PA Recorder 7ND3021
  • Siemens D2E160-AH01-17 Fan Blower
  • Eaton 101073735-001 LEG Module
  • AB 1404-M605B-ENT Powermonitor 3000
  • OMRON CJ1W-MAD42 Analog I/O
  • Omron CJ1M-CPU13 V3.0 PLC CPU Module
  • Pe323 HSD PLC Module Industrial Controller
  • Pasaban MTC3001-DC Drive Control PLC Module
  • Mitsubishi R02CPU PLC Module MELSEC iQ-R
  • B&R X20DC2395 Digital Output Module 32 Ch
  • Hoffman A30N24ALP Enclosure with PLC Addons
  • Rieter PLC with RMC 24/5V 10 RMC188-1 RMC RIO-1
  • Allen-Bradley 1790D-TN4V0 CompactBlock LDX Base Block 4 AI
  • National Instruments NI 9242 Analog Input Module 4-Channel
  • ABB AO820 3BSE008546R1 Analog Output Module
  • Moeller XVC-101-C192K-K82 PLC
  • AB 440F-C4000P MatGuard Controller
  • AB 1692-ZRCLSS Protection Module
  • Schneider S48896 PLC Module
  • FANUC A02B-0303-C205 I/O Module
  • AB 1785-LT4 PLC-5/10 Processor
  • AB 1746-NO8V SLC 500 Analog Output
  • OMRON CQM1-TC001 Temperature Unit
  • OMRON R7M-A20030-S1 Servo Motor
  • Toshiba ST1500GXH24 IEGT Module
  • Infineon PEF22822F V2.2 IC ISDN Controller
  • Allen-Bradley 440R-D22S2 Guardmaster Safety Relay GSR
  • Allen-Bradley 1771-IJ PLC Encoder Counter Module TTL
  • Texa Industrie EGO16GT1B Wall Frame Air Conditioner PLC
  • Schleicher Master CPU UCH 2 High Speed PLC
  • Siemens 6FC5371-0AA10-0AA1 NCU 710.2 CNC Controller
  • Schneider TM221C40R Modicon M221 PLC 40 I/O
  • Mitsubishi FX3U-128MR/ES PLC Controller 128 I/O
  • Pepperl Fuchs KFD0-RSH-1.4S.PS2 Relay Module 24VDC
  • Schneider XBTGT2110 HMI Touch Panel 10.4 Inch
  • APPLIED MATERIALS 0100-03267 - CH FACILITY INTERFACE PRODUCER SE PCB ASSY
  • INFICON 921-250-G1 - FFS232 Fabguard Interface AMAT Endura
  • LEYBOLD 0730-01046 - TRUBOTRONIK CONV FREQ NT341 MC/MCT 208V CONTROLLER
  • APPLIED MATERIALS 0010-57168 - SENSOR BOX ASM 300MM 35013
  • APPLIED MATERIALS 0226-31128 - ASSY VERSION 4 SIGNAL LAMP PCB
  • SBS 0090-01220 - PCB CPU BOARD FOR 128-30000
  • AMAT - - ANODE BULK COPPER PELLETS FG01PLT
  • APPLIED MATERIALS 0041-26804 - SHUTTER DOOR DRIVE ASSY 0040-76764 32032
  • APPLIED MATERIALS 0040-75150 - FILLER CHAMBER 1 APF PRODUCER SE
  • AMAT 0190-33295 - GATE COMPL
  • Applied Materials 0010-09341 - Wafer lift precision 5000 AMAT
  • APPLIED MATERIALS 0190-32096 - VARIAN CONTROLLER ASSY E15006160 E11388030
  • AMAT 0090-00590 - ELECT ASSY 750W SERVO MOTOR
  • APPLIED MATERIALS 101294-01 - 550W Power Supply
  • APPLIED MATERIALS 0150-14869 - CABLE AMAT LOT OF 16
  • Applied Materials 0200-09830 - ESC Electrostatic Chuck Pedestal Ring
  • APPLIED MATERIALS 0021-89500 - BRKT SNSR UPPER FRAME HTF 16132
  • Applied Materials 0200-10555 - Quartz Baseplate with Baffle 0200-00715
  • APPLIED MATERIALS 0240-75851 - KIT 11.3" SOURCE INSTALL
  • Applied Materials 0040-22023 - Adapter 13" W/B Source
  • Applied Materials 0010-09416 - P5000 Etch Std 3 kW 13.56 MHz Match
  • AMAT - - System Electronics Interface Board assy
  • AMAT 0090-00836 - MOTOR ASSY ROTATION 300MM
  • APPLIED MATERIALS 0140-12304 - HARNESS ASSY MF REMOTE SIGNALS PRODUCE 13041
  • Applied Materials 9090-01168ITL - ESC Chuck Power Supply PX32J
  • APPLIED MATERIALS 0020-24099 - insulator
  • APPLIED MATERIALS 0190-09764 - ZERO FIRING VARIABLE TIME BASE SCR POWER
  • APPLIED MATERIALS 0190-29887 - VERITY FL2006 FLASH LAMP 1007454 32453
  • APPLIED MATERIALS 0010-09348 - ASSY UNIVERSAL THROTTLE VALVE
  • APPLIED MATERIALS 0190-61486 - PRE-ALIGNER
  • APPLIED MATERIALS 0100-20000 - PCB ASSY 64 CHANNEL MUX 34246
  • Applied Materials 0090-07393 - RF Filter unit
  • AMAT 0040-89462 - FLANGE 6 PORT 300MM TITAN CONTOUR
  • APPLIED MATERIALS 0021-01421 - CHAMBER UPPER A-COAT M-DPS 32824
  • Applied Materials 0242-37433 - EMPAK 200mm Cassette Handler Retrofit Kit
  • APPLIED MATERIALS 0190-49999 - LINEAR ACTUATOR ASSY 32429
  • APPLIED MATERIALS 0020-63694 - COVER 300MM TITAN CONTOUR
  • APPLIED MATERIALS 0150-11135 - P3 MULTIZONE CTRL UNIT REV 002 11362100 1917
  • APPLIED MATERIALS 0240-01698 - KIT BAFFLE CLEAN PORT ULTIMA HDP-CVD
  • APPLIED MATERIALS 0040-03799 - MOUNTING PLATE CR SWILL
  • Applied Materials 0190-23562 - Newport 40000 Servo Positioning Controller
  • APPLIED MATERIALS 0090-08798 - ASSY EPM OVERSAMPLE INPUT CONTROLLER 28223
  • APPLIED MATERIALS 0040-32052 - WELDMENT BELLOW CATHODE DPSGECO 19601
  • APPLIED MATERIALS 0190-35712 - ASSY P-CHUCK 200MM CIP 99 0010-38437 35695
  • APPLIED MATERIALS 0021-39748 - BLOCKER PERF SILANE NITRIDE550 14762
  • APPLIED MATERIALS 3870-02323 - NOR-CAL VALVE PNEU INLINE 1" NW25 VIT-SEAL 12790
  • APPLIED MATERIALS 01-81911-00 - 8100 N ION TC CONTROLLER
  • APPLIED MATERIALS 0010-19137 - DEGAS LIFT & MOTOR ASSY 38924
  • APPLIED MATERIALS 0010-09978 - LAMP MODULE ASSY
  • APPLIED MATERIALS 0190-02362 - PCB ASSY MAINFRAME INTLK 1 RELAYS 32352
  • AMAT 0010-07017 - PCB ASSEMBLY LOWER PNEUMATIC BD
  • APPLIED MATERIALS 0010-75226 - ASSY THROTTLE VALVE 200MM ETCH DOWN STREAM 38918
  • APPLIED MATERIALS 0010-70345 - 0042-01927 Component
  • APPLIED MATERIALS 0010-07586 - ASSY HUB RADIANCE CHAMBER 33456
  • Applied Materials 0020-33882 - R2 Standard Cathode Insulating Washer
  • AMAT - - Pneumatic Door Assembly Desica Cleaner
  • APPLIED MATERIALS 3250-00041 - CNTNR DEIONIZER TANK SST HI TEMP W/RESIN
  • APPLIED MATERIALS 0190-E1370 - TWIN DETECTOR ASSY 38070