introduction to vortex86ex motion control modules
TRANSCRIPT
DM&P Vortex86EXin
Motion Control
DMP Electronics Inc.
The Vortex86 SoC Family
Shrinking the entire motherboard Shrinking the entire motherboard into a tiny chipinto a tiny chip
x86x86 isn’t just a PC isn’t just a PC x86x86 as a MCU, as a MCU, x86x86 as a DSP, … as a DSP, …
CPUCPU
North North BridgeBridge
South South BridgeBridge
I/OI/O
K/BK/B
I/OI/O
2sizesize
costcost
The Vortex86 SoC Family
• Jul. 1998• 40MHz• 0.50 um(2007 EOL)
• Feb. 2007• 300MHz• 0.13 um
• Aug. 2008• 800MHz• 90 nm
• Jun. 2009• 1GHz• 90nm • GPU
• Jun. 2010• 1GHz• 90nm • GPU
• Q1 2012• 1GHz• 90nm• GPU• Motor/Motion Ctrl.
DMP Design x86 SoC since 1995DMP Design x86 SoC since 1995Guaranteed 10 Years Long Term Guaranteed 10 Years Long Term SupplySupply
• 2013• 300~500MHz• 90nm• MCU• Motor/Motion Ctrl.
Vortex86 SoC RoadmapTarget Applications
HMI /
Motion Control
Embedded /
Thin Client /
HMI
Embedded Controller
Microprocessor (uP)
CPU Clock Speed 300MHz 500MHz 800MHz 1GHz 1.5GHz
SXSX
DXDX
MX/MX+MX/MX+
DX2DX2
DX3 40nm
EXEX
Key Benefits of Vortex86 SoC x86 Instruction Set Compatiblex86 Instruction Set Compatible
Highly IntegratedHighly Integrated
Simplified system designSimplified system design
Low system BOM costLow system BOM cost
Low Power ConsumptionLow Power Consumption
Fan-less designFan-less design
Long Term SupplyLong Term Supply
The Vortex86EX SoCThe 1st MCU-like The 1st MCU-like x86x86 SoC !!! SoC !!!
USB
LAN
PCI-E/ISA
Audio
RS232/RS485
SATA
Servo
Encoder
DRAM(DDR III)
Vortex86EX
CPUCPU
NBNB
Motion/Motor ControlMotion/Motor Control
FPUFPU
SBSBCAN
Key Specifications of Vortex86EX
CPUCPU 300MHz / 400 MHz / 500 MHz300MHz / 400 MHz / 500 MHz
x86x86 Compatible, Support FPU Compatible, Support FPU
DRAMDRAM 300MHz DDR3 DRAM (up to 2GB)300MHz DDR3 DRAM (up to 2GB)
CacheCache - L1: 16K I-Cache, 16K D-CacheL1: 16K I-Cache, 16K D-Cache- L2: 4-way 128KB L2 CacheL2: 4-way 128KB L2 Cache
BusBus - PCI-E (PCI-E (1) Master/Target Slot1) Master/Target Slot- 16-bit X-ISA (8.3MHz / 16.6MHz / 16-bit X-ISA (8.3MHz / 16.6MHz / 33MHz33MHz))
Key Specifications of Vortex86EX
Mass StorageMass Storage - SD CardSD Card- SATA-ISATA-I
AudioAudio High Definition AudioHigh Definition Audio
LANLAN Ethernet 10/100MbpsEthernet 10/100Mbps
USBUSB USB Host 2.0 USB Host 2.0 2 Ports 2 Ports
USB Device 1.1 USB Device 1.1 1 Port 1 Port
Key Specifications of Vortex86EX
I/O InterfaceI/O Interface - UART x 10 PortsUART x 10 Ports- SPI SPI 1 Port 1 Port- II22C C 1 Port 1 Port- CAN Bus CAN Bus 1 Port 1 Port- GPIO GPIO 80 Pins 80 Pins- Parallel Port (SPP/EPP/ECP) Parallel Port (SPP/EPP/ECP) 1 1- PS2 Keyboard/MousePS2 Keyboard/Mouse
Motion/Motor-Motion/Motor-
Control Control
InterfaceInterface
4 Motion-Control Modules, to support4 Motion-Control Modules, to support- Pulse/DIR, CW/CCW, Pulse A/B outputPulse/DIR, CW/CCW, Pulse A/B output- Edge-/Center-aligned PWM outputEdge-/Center-aligned PWM output- Quadrature Encoder InterfaceQuadrature Encoder Interface- SSI Absolute Encoder InterfaceSSI Absolute Encoder Interface- Hall Sensor InterfaceHall Sensor Interface
Supported Operating Systems
Design Goals of Vortex86EX
Low Power ConsumptionLow Power Consumption
Low CostLow Cost
Higher IntegrationHigher Integration
CPU + FPU + NB + SB + I/O in a single chipCPU + FPU + NB + SB + I/O in a single chip
Richer I/ORicher I/O
10 UART ports, Motion/Motor-control interface, …10 UART ports, Motion/Motor-control interface, …
Cross bar for arbitrary I/O routingCross bar for arbitrary I/O routing
Flexible I/O Cross Bar
Motion-Control Modulesof
Vortex86EX
Motion-Control Modules (MCMs)
Integrate a total of Integrate a total of 4 motion-control modules (MCMs)4 motion-control modules (MCMs) in South Br in South Bridge to support at max. idge to support at max. 24 pins24 pins for motion/motor control for motion/motor control
x86core
PCI
Motion-Control Module 0
Motion-Control Module 1
Motion-Control Module 3
South Bridge
Vortex86EXVortex86EX
servoservo
motormotor
encoderencoder
Motion-Control Modules (MCMs)
Make FullyMake Fully PC-Based PC-Based Platform PossiblePlatform Possible
PC-BasedHMI/Host Controller
PC-BasedMotion-Control
Card
PC-Based Servo Driver
Machine,
AC Motor
Encoder, Home/Limit Switch
Vortex86EX as an Open Motion-Control
Platform Reduce System CostReduce System Cost
x86 core & motion-control interface in a single chipx86 core & motion-control interface in a single chip
Easy to Support Mainstream Field-BusEasy to Support Mainstream Field-Bus
EtherCAT, MECHATROLINK, CANopen, …EtherCAT, MECHATROLINK, CANopen, …
Open PC-Based ArchitectureOpen PC-Based Architecture
Wide range of development resources
Ease of migration, integration, and maintenance
Intended Applications
CNC MachineCNC MachineAOI MachineAOI Machine
Motion ControllerMotion Controller
Rubber MachineRubber Machine
RobotRobot
PAC/PLCPAC/PLC
Motor ControllerMotor Controller
2
Feature Overview of MCMs
4 Modes for Motion Control4 Modes for Motion Control
ModeMode ApplicationApplication
Servo modeStepping motors,
AC servo drivers
Encoder mode Incremental encoders
SSI mode SSI absolute encoders
Capture modeTachometers,
Home/limit switches
Feature Overview of MCMs
2 Modes for Motor Control2 Modes for Motor Control
ModeMode ApplicationApplication
PWM mode
DC motors,
Brushless DC (BLDC) motors,
PMSM motors,
AC Induction motors
Hall sensor mode Hall sensors in BLDC
Feature Overview of MCMs Max. 25MHz, 12-axis Pulse OutputMax. 25MHz, 12-axis Pulse Output
Support Pulse/DIR, CW/CCW, Pulse A/B outputSupport Pulse/DIR, CW/CCW, Pulse A/B output
Max. 25MHz, 8-axis 32-bit Encoder InputMax. 25MHz, 8-axis 32-bit Encoder Input
Support Pulse/DIR, CW/CCW, Pulse A/B inputSupport Pulse/DIR, CW/CCW, Pulse A/B input
Max. 4-axis 3-phase PWM outputMax. 4-axis 3-phase PWM output
Support edge-aligned & center-aligned PWM for Support edge-aligned & center-aligned PWM for
realizing SPWM & SVPWMrealizing SPWM & SVPWM
Key Specificationof
Motion-Control Modules
Servo Mode of MCM
MCM in Servo Mode
Servo AServo APulsePulse
DIRDIR
Servo BServo BCWCW
CCWCCW
Servo CServo CPulse APulse A
Pulse BPulse B
P-commandP-commandservo driverservo driver
steppingsteppingmotormotor
Supported Pulse Waveforms
Pulse/DIRPulse/DIR
CW/CCWCW/CCW
Pulse A/BPulse A/B
Motor Motor
Main Features of Servo Mode
Configurable Pulse ClockConfigurable Pulse Clock
Arbitrary rational clock between 10Hz ~ 25MHzArbitrary rational clock between 10Hz ~ 25MHz
Configurable Interpolation CycleConfigurable Interpolation Cycle
20 nanosecond ~ 100 second20 nanosecond ~ 100 second
Channel SynchronizationChannel Synchronization
Allow to begin and stop 32-axis pulse output Allow to begin and stop 32-axis pulse output
simultaneouslysimultaneously
Main Features of Servo Mode
Output MaskingOutput Masking
Allow to mask pulse output anytime by external I/O pinsAllow to mask pulse output anytime by external I/O pins
Implement emergency stop without software effortImplement emergency stop without software effort
Sufficient Interrupt SourcesSufficient Interrupt Sources
Interpolation cycle interruptInterpolation cycle interrupt
Pulse cycle interruptPulse cycle interrupt
User-defined interrupt eventUser-defined interrupt event
……
Encoder Mode of MCM
MCM in Encoder Mode
Encoder Encoder Interface AInterface A
AA
BB
Encoder Encoder Interface BInterface B
Z (index)Z (index)
AA
BB
Z (index)Z (index)
rotaryrotaryencoderencoder
linearlinearencoderencoder
Main Features of Encoder Mode
Support Pulse/DIR, CW/CCW, Pulse A/B InputSupport Pulse/DIR, CW/CCW, Pulse A/B Input
32-bit position counter, max. 25MHz input32-bit position counter, max. 25MHz input
Configurable Digital Noise FiltersConfigurable Digital Noise Filters
16-bit noise filter to remove 10ns (min.) ~ 655us (max.) 16-bit noise filter to remove 10ns (min.) ~ 655us (max.)
glitches on every input pinglitches on every input pin
Allow synchronous & asynchronous filtering of different Allow synchronous & asynchronous filtering of different
pinspins
Main Features of Encoder Mode
Position Compare FunctionPosition Compare Function
Z Index & External Trigger LatchZ Index & External Trigger Latch
Automatic Input Speed ComputationAutomatic Input Speed Computation
10ns timer resolution10ns timer resolution
Sufficient Interrupt SourcesSufficient Interrupt Sources
Direction-changing interruptDirection-changing interrupt
Z-index interruptZ-index interrupt
……
SSI Mode of MCM
MCM in SSI Mode
SSI Interface ASSI Interface A
SSI CLKSSI CLK
SSI DATASSI DATA
SSI Interface BSSI Interface B
SSI CLKSSI CLK
SSI DATASSI DATA
SSI absolute encoderSSI absolute encoder
Main Features of SSI Mode
Configurable SSI ClockConfigurable SSI Clock
Arbitrary clock between 10Hz ~ 25MHzArbitrary clock between 10Hz ~ 25MHz
Configurable Input ResolutionConfigurable Input Resolution
Support max. 32-bit SSI encoderSupport max. 32-bit SSI encoder
Gray-to-Binary ConversionGray-to-Binary Conversion
Data-Format Error CheckingData-Format Error Checking
Capture Mode of MCM
MCM in Capture Mode
Capture InterfaceCapture Interface
Digital IN 1Digital IN 1
Digital IN 2Digital IN 2
Digital IN 3Digital IN 3
Digital IN 4Digital IN 4
Digital IN 5Digital IN 5
Digital IN 6Digital IN 6
HOME/LIMIT switchHOME/LIMIT switch
TachometerTachometer
Main Features of Capture Mode
Pulse Width MeasurePulse Width Measure
28-bit timer in 10ns resolution28-bit timer in 10ns resolution
Programmable Input TriggerProgrammable Input Trigger
Level triggerLevel trigger
Edge trigger by raising edge, falling edge, or bothEdge trigger by raising edge, falling edge, or both
One-shot trigger mode & continuous trigger modeOne-shot trigger mode & continuous trigger mode
User-defined trigger eventsUser-defined trigger events
Main Features of Capture Mode
Configurable Digital Noise FiltersConfigurable Digital Noise Filters
16-bit noise filter on every input pin16-bit noise filter on every input pin
Synchronous & asynchronous filtering of different pinsSynchronous & asynchronous filtering of different pins
Sufficient Interrupt SourcesSufficient Interrupt Sources
Capture event interruptCapture event interrupt
Trigger interruptTrigger interrupt
……
PWM Mode of MCM
MCM in PWM Mode
3-Phase 3-Phase Complementary Complementary PWM InterfacePWM Interface
PWM U+PWM U+
PWM UPWM U
PWM W+PWM W+
PWM WPWM W
PWM V+PWM V+
PWM VPWM V
Supported PWM Waveforms
Edge-Aligned PWMEdge-Aligned PWM
Center-Aligned PWMCenter-Aligned PWM
PWM U+
PWM V+
PWM W+
PWM U+
PWM V+
PWM W+
Main Features of PWM Mode
High-Resolution PWMHigh-Resolution PWM
32-bit PWM duty & period in 10ns resolution32-bit PWM duty & period in 10ns resolution
Configurable Sampling CycleConfigurable Sampling Cycle
1 PWM period ~ 21 PWM period ~ 22929 PWM periods PWM periods
Deadband InsertionDeadband Insertion
Allow to insert 10ns (min.) ~ 160ms (max.) deadbandAllow to insert 10ns (min.) ~ 160ms (max.) deadband
deadbanddeadband deadbanddeadband
PWM+
PWM
Main Features of PWM Mode
Programmable Fault Output MaskProgrammable Fault Output Mask
Mask PWM output in real-time by external fault signalsMask PWM output in real-time by external fault signals
Allow different fault output for different fault signalsAllow different fault output for different fault signals
Original Center-Aligned
PWM output
Masked PWM output
Fault Signal
fault outputfault output
Main Features of PWM Mode
Sufficient Interrupt SourcesSufficient Interrupt Sources
PWM interruptPWM interrupt
Sampling cycle interruptSampling cycle interrupt
User-defined interrupt eventUser-defined interrupt event
……
Hall Sensor Mode of MCM
MCM in Hall Sensor Mode
Hall Interface AHall Interface A
Hall AHall A
Hall BHall B
Hall Interface BHall Interface B
Hall CHall C
Hall AHall A
Hall BHall B
Hall CHall C
NN
SS
Hall A
Hall BHall CHall A
Hall B
Hall C
NN
SS
Hall A
Hall BHall CHall A
Hall B
Hall C
Main Features of Hall Sensor Mode
Dedicated to BLDC Motor ControlDedicated to BLDC Motor Control
Programmable Commutation PatternProgrammable Commutation Pattern
Commutation Error CheckingCommutation Error Checking
Sufficient Interrupt SourcesSufficient Interrupt Sources
Commutation interruptCommutation interrupt
Input error interruptInput error interrupt
……
Software Support Planning
Software Stack
Vortex86EX Motion-Control ModulesVortex86EX Motion-Control Modules
MCM HALMCM HAL(DOS, WinXP, WinCE, Linux)(DOS, WinXP, WinCE, Linux)
DMP Motion/Motor-Control LibraryDMP Motion/Motor-Control Library
HMI, Motion/Motor Controllers, HMI, Motion/Motor Controllers,
Open-SourceOpen-Source Toolkit & Reference DesignsToolkit & Reference Designs
Hardware
OS Driver
AlgorithmLibrary
UserApplication
MCM H/W Abstraction Layer (HAL)
Provide a Unified Interface to Access MCMsProvide a Unified Interface to Access MCMs
MCM mode managementMCM mode management
Interrupt managementInterrupt management
Low-level register accessLow-level register access
MultitaskingMultitasking synchronizationsynchronization
Manipulate MCMs of Different Modes with a MoManipulate MCMs of Different Modes with a Mo
dular Approachdular Approach
MCM H/W Abstraction Layer (HAL)
DOS SupportDOS Support
Real mode: Real mode: Turbo C/C++Turbo C/C++, , Borland C/C++Borland C/C++ Protected mode: Protected mode: DJGPPDJGPP, , WATCOM C/C++WATCOM C/C++
Windows Support Windows Support (Work in Progress)(Work in Progress)
WinXP & WinCE WDM driversWinXP & WinCE WDM drivers
Real-time driver for RTXReal-time driver for RTX
Linux SupportLinux Support (Work in Progress)(Work in Progress)
Linux 2.6 kernel driverLinux 2.6 kernel driver
Real-time driver for RTAIReal-time driver for RTAI
DMP Motion/Motor-Control Library
High-Level Motion Control FunctionsHigh-Level Motion Control Functions
Point-to-point motionPoint-to-point motion
Multi-axis linear/circular interpolationMulti-axis linear/circular interpolation
T-/S-curve acceleration/decelerationT-/S-curve acceleration/deceleration
PVT trajectory generationPVT trajectory generation
Pitch error compensationPitch error compensation
…………
DMP Motion/Motor-Control Library
High-Level Motor Control FunctionsHigh-Level Motor Control Functions
BLDC-specific PWM generatorBLDC-specific PWM generator
SPWM & SVPWM generatorSPWM & SVPWM generator
Clarke/Park transformsClarke/Park transforms
PID controllerPID controller
…………
Keep Continuous Library EvolutionKeep Continuous Library Evolution
System Reference Designs
Open-Source Reference DesignsOpen-Source Reference Designs
Sample motion controller (with G-code interpretation)Sample motion controller (with G-code interpretation)
BLDC motor driverBLDC motor driver
IM spindle VFDIM spindle VFD
…………
Open-Source ToolkitOpen-Source Toolkit
Dedicated LinuxCNC (EMC2) HALDedicated LinuxCNC (EMC2) HAL
Conclusions
Low-Cost Configurations
Vortex86EX
HMI + Motion Control + Motor Control
IGBT Motor
Encoder
PWM
Pulse A/B, Index
Vortex86EX
HMI + Motion Control
Motor
Encoder
P-cmdServo Driver
Pulse/DIRCW/CCWPulse A/B
Pulse A/B, Index
x86x86 & motion interface integrated in a Vortex86EX SoC mak & motion interface integrated in a Vortex86EX SoC mak
e e low-costlow-cost motion control platforms possible motion control platforms possible
High C/P Configuration
Vortex86EXVortex86EX can constitute a high C/P motion control system wican constitute a high C/P motion control system wi
th other high-end th other high-end Vortex86 SoCVortex86 SoC
Vortex86DX2
HMI
Motor
Encoder
Servo Driver
PCIe Bus
Pulse/DIRCW/CCWPulse A/B
EtherCAT Mechatrolink
…
Vortex86EX
Real-TimeMotion Controller
Pulse A/B, Index
Thank You!
DMP Electronics Inc.
Q&A