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 | 737 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:

  • Sumitomo HC1480-29.00 NSMD Inline Gear Reducer
  • Sumitomo MC-550 MCU UMC550000AEG01
  • Sumitomo CNVM1H-6125YA-B-87 Gear Reducer
  • Sumitomo SD4GS-ACB-02B-110-54 Solenoid Valve
  • Sumitomo HCS79310 Main Motor Assembly
  • Sumitomo JA762913AC Operator Interface Keypad
  • Sumitomo CNHJ-6125Y-8 In Line Reducer
  • Sumitomo X120D30303T-01 Driver
  • Sumitomo H1Y203-25-F7000 Shaft Mount Reducer
  • Sumitomo Type-35SE Fiber Fusion Splicer Kit
  • Sumitomo F2CS-T655-171 Cyclo Drive Gearbox
  • Sumitomo F80 Adsorber RX19ZT6124
  • Sumitomo MC-550 MCU UMC550000AKG01
  • Sumitomo Drive FCS-A65G-59 Speed Reducer
  • Sumitomo SRA81-56-BM50-140 Modular Reamer Holder
  • Sumitomo CNHM05-6100YA-59 Gear Motor
  • DEMAG Sumitomo Ergocontrol NC4 100 V7 Control Unit
  • Sumitomo HMV02-207 Cyclo Drive Induction Motor
  • SUN-EH Sumitomo Z4-22172-12 Ozone Power Unit
  • Sumitomo AF-500 AF502-2A2 Transistor Inverter
  • Sumitomo T-82C+ Core Alignment Fusion Splicer
  • Sumitomo P741F6002B Circuit Board
  • Sumitomo AS-3211 Injection Molding Motherboard
  • Yaskawa SGMGH-13Q5A-OM11 Servo Motor with Sumitomo F3CS-A25G-59 Gear
  • Sumitomo SH120-5 Final Drive Track Travel Motor
  • Sumitomo AS-3345 Circuit Board
  • Sumitomo AF300S-1A5-E Transistor Inverter 1.5kW
  • Sumitomo Type-Q101-CA SM MM Fiber Fusion Splicer
  • Sumitomo SH50 NIV Operator Panel
  • Sumitomo RNFM-009-17L-B-120-N4FCZ843 AC Gear Motor
  • Sumitomo ULC100011-01 LNR Act Driver
  • Sumitomo SD35E OI Operator Panel
  • Sumitomo SR44 SRKG44-32-18-030 Reamer Head
  • Sumitomo T.SBXH1.5-20PD LN Modulator
  • Sumitomo FB10B-4F Brake F Class DC180V
  • Isuzu 3LB1 Cylinder Head for Sumitomo Loaders
  • Sumitomo 6 Hand Hydraulic Valve
  • Sumitomo CNVM05-EO95-59 Gear Reducer Motor
  • Sumitomo Ogura MS982WW Brake Kit
  • Sumitomo SPH-2100 DEV10-002-3 Stamper Changer Head
  • Sumitomo S160 Final Drive Travel Motor
  • Sumitomo X81D1H0102T-01 SEM-I-1613 9N23 Control Unit
  • Sumitomo RNYM02-1330A-B-100 Induction Gear Motor
  • Sumitomo KHR49330 Display Panel E00077
  • Sumitomo SH65-U Mini Excavator Front Idler Wheel
  • Sumitomo Type-Q102-CA Plus Fiber Fusion Splicer
  • Sumitomo SH120-2 Final Drive Track Travel Motor
  • Sumitomo SH120 Final Drive Track Travel Motor
  • Radio Energy RE O444 R2B Tachogenerator with Sumitomo Gearbox
  • STN ATLAS SEIDEL SM 56-M Servo Motor with Sumitomo F2CS-A25G-89 Gear
  • Sumitomo SH130 Final Drive Travel Motor
  • Sumitomo CHHMS02-6135DCB-B-731 Gear Motor 1/4HP
  • Sumitomo AS-3211 REV.E Industrial Control Motherboard
  • Sumitomo Electric TYPE-35SE Fusion Splicer Kit
  • Sumitomo 20 Ton Idler Assembly and Spring
  • Sumitomo F2CS-A25-59-01 Precision Gear Box
  • Isuzu 3LD1 Cylinder Head for Sumitomo SH30 Excavator
  • Sumitomo LHYJS-4A125Y-Y2-60 Cyclo Bevel Gear Motor
  • Sumitomo AF-500 AF502-A40 Transistor Inverter
  • Sumitomo Electric TYPE-201+VS-D-SKM Fusion Splicer
  • Sumitomo CNVM02-EO75-29 Gear Reducer Motor
  • Case CX130 Sumitomo SH120-3 Slew Ring
  • Sumitomo F-70H Water-Cooled Compressor
  • Sumitomo JA765439AC Control Board
  • Sumitomo Eaton Dowmax ME-3100-PS Hydraulic Motor
  • Sumitomo LHYJS-4A100Y-Y1-60 Gear Motor
  • Sumitomo AF504-5A5 SMAC PAC Drive
  • Sumitomo CNHMS34110YB17 Gearmotor
  • Sumitomo F2CS-T555 Fine Cyclo Gearbox
  • Sumitomo QT62-100L-A Gear Pump
  • Sumitomo CHHJ-4135Y-35 Gear Reducer Ratio 35
  • Sumitomo CNHM05-6125-DBYA-B-289 Gear Motor
  • Sumitomo CNFMS012-4095DAGB-731/G Brake Motor
  • Sumitomo SH35J Rubber Track
  • Sumitomo ULC100000-01 LNR Actuator Driver
  • Sumitomo CNVJS-6105Y-29 Gear Reducer
  • Sumitomo QT62-125F-BP-Z Hydraulic Gear Pump
  • Sumitomo S160 Rubber Track
  • Sumitomo SHI Cyclo Drive FCS-A35G-59
  • Sumitomo F-50HW Helium Compressor Unit
  • Sumitomo SM-Cyclo CHH-6165Y-6 Gear Reducer
  • Sumitomo REX-C3300-CS4 JA762528CD Temperature Card
  • Sumitomo Type 39S DCM Fusion Splicer
  • Sumitomo CNFMS012-6095DAGB-731/G Cyclo Reducer
  • Sumitomo Cyclo CNVMS-6105G-87/G Speed Reducer
  • Multivac Sumitomo F2CS-A25-59-01 Planetary Gearbox
  • Sumitomo 1FA15-59 F-Cyclo Speed Reducer
  • Isuzu 4JJ1 Tier 4 Engine DPF DEF Muffler Unit
  • Sumitomo SA767194AD SXAN-1CL Assy Board
  • Sumitomo PA222799 RNYMS1-1420YC-EP-20 Hyponic Gearmotor
  • Triconex 3723X Analog Input Module with HART
  • Sumitomo SM-Cyclo RNFMS01-20L-80 Motor Gear
  • Sumitomo AF503-3A7 Transistor Inverter
  • CASE Sumitomo KHR30842 KHR30840 Cab Harness
  • Sumitomo FCS-A25G-29 PB051710 Gear Kit
  • Sumitomo KHR1787 SMCU-5 Controller
  • Sumitomo AF503-2A2 Inverter 3.9kVA
  • AMT 9502 Touch Screen Panel
  • Sumitomo CHHJS-6135Y-R2-6 Gearbox Adapter
  • Sumitomo PA136445 RNYMS02-1320YC-40 Gearmotor
  • Sumitomo ANFX-P130F-1GL3-33 Gearbox
  • Sumitomo SH55U-2 Rubber Track
  • Sumitomo US60125-GA AC Servo Driver SS6000
  • Sumitomo CNFXS6075LB21 Cyclo Drive Reducer Motor
  • Sumitomo QT62-125F-BP-Z Hydraulic Gear Pump
  • Sumitomo CNFX-6090G-11/G Gearbox
  • Sumitomo X81D1-0102 SEM-I-1614 Control Module
  • Sumitomo Eaton C300-S Counterbalance Valve
  • Sumitomo GR-RF20 Z4-12193-5 Ozone Generator
  • Sumitomo T.SBXH1.5PL-25PD LN Modulator
  • Sumitomo 8700109 AS-3340 rev D CPU Module
  • Sumitomo SHI Cyclo Drive F3CS-A25G-89 Reducer
  • Sumitomo KNR0827 Wiring Harness SH120-3 SH120A3
  • Sumitomo ULC100011-01 LNR Actuator Driver
  • LUBE GMN-10-200-CB2-7L Lubricator Grease Pump
  • Sumitomo SH65UJ Rubber Track
  • Sumitomo KHR69310 Excavator Monitor
  • Sumitomo FDT-2FS Fiber Identifier Power Meter
  • Sumitomo CNVMS-4085G-43 Ink Fountain Motor
  • Sumitomo GV9924023-38 Circuit Board
  • Sumitomo 407915-5510 4BG1TRA ECU Controller
  • Sumitomo Cyclo F71m/4 Induction Motor 0.37kW
  • Sumitomo ANFJ-K30-SV-9 Hydraulic Control Valve
  • Hitachi Sumitomo 4625051 Pilot Valve Joystick
  • Sumitomo Demag W4RAP 6 W7-04-30 Valve
  • Sumitomo RV F2CF-A35-119 Gearbox
  • Sumitomo SH120 Slew Ring JCB JS130
  • Sumitomo Truninger QT-42-20HS-A Gear Pump