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 | 374 Br: | 🔊 点击朗读正文 ❚❚ | Share:

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:

  • 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