introduction to vortex86ex motion control modules

51
DM&P Vortex86EX in Motion Control DMP Electronics Inc.

Upload: roboard

Post on 19-Jun-2015

1.900 views

Category:

Technology


10 download

TRANSCRIPT

Page 1: Introduction to Vortex86EX Motion Control Modules

DM&P Vortex86EXin

Motion Control

DMP Electronics Inc.

Page 2: Introduction to Vortex86EX Motion Control Modules

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

Page 3: Introduction to Vortex86EX Motion Control Modules

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.

Page 4: Introduction to Vortex86EX Motion Control Modules

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

Page 5: Introduction to Vortex86EX Motion Control Modules

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

Page 6: Introduction to Vortex86EX Motion Control Modules

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

Page 7: Introduction to Vortex86EX Motion Control Modules

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))

Page 8: Introduction to Vortex86EX Motion Control Modules

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

Page 9: Introduction to Vortex86EX Motion Control Modules

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

Page 10: Introduction to Vortex86EX Motion Control Modules

Supported Operating Systems

Page 11: Introduction to Vortex86EX Motion Control Modules

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

Page 12: Introduction to Vortex86EX Motion Control Modules

Flexible I/O Cross Bar

Page 13: Introduction to Vortex86EX Motion Control Modules

Motion-Control Modulesof

Vortex86EX

Page 14: Introduction to Vortex86EX Motion Control Modules

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

Page 15: Introduction to Vortex86EX Motion Control Modules

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

Page 16: Introduction to Vortex86EX Motion Control Modules

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

Page 17: Introduction to Vortex86EX Motion Control Modules

Intended Applications

CNC MachineCNC MachineAOI MachineAOI Machine

Motion ControllerMotion Controller

Rubber MachineRubber Machine

RobotRobot

PAC/PLCPAC/PLC

Motor ControllerMotor Controller

2

Page 18: Introduction to Vortex86EX Motion Control Modules

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

Page 19: Introduction to Vortex86EX Motion Control Modules

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

Page 20: Introduction to Vortex86EX Motion Control Modules

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

Page 21: Introduction to Vortex86EX Motion Control Modules

Key Specificationof

Motion-Control Modules

Page 22: Introduction to Vortex86EX 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

Page 23: Introduction to Vortex86EX Motion Control Modules

Supported Pulse Waveforms

Pulse/DIRPulse/DIR

CW/CCWCW/CCW

Pulse A/BPulse A/B

Motor Motor

Page 24: Introduction to Vortex86EX Motion Control Modules

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

Page 25: Introduction to Vortex86EX Motion Control Modules

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

……

Page 26: Introduction to Vortex86EX Motion Control Modules

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

Page 27: Introduction to Vortex86EX Motion Control Modules

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

Page 28: Introduction to Vortex86EX Motion Control Modules

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

……

Page 29: Introduction to Vortex86EX Motion Control Modules

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

Page 30: Introduction to Vortex86EX Motion Control Modules

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

Page 31: Introduction to Vortex86EX Motion Control Modules

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

Page 32: Introduction to Vortex86EX Motion Control Modules

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

Page 33: Introduction to Vortex86EX Motion Control Modules

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

……

Page 34: Introduction to Vortex86EX Motion Control Modules

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

Page 35: Introduction to Vortex86EX Motion Control Modules

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+

Page 36: Introduction to Vortex86EX Motion Control Modules

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

Page 37: Introduction to Vortex86EX Motion Control Modules

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

Page 38: Introduction to Vortex86EX Motion Control Modules

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

……

Page 39: Introduction to Vortex86EX Motion Control Modules

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

Page 40: Introduction to Vortex86EX Motion Control Modules

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

……

Page 41: Introduction to Vortex86EX Motion Control Modules

Software Support Planning

Page 42: Introduction to Vortex86EX Motion Control Modules

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

Page 43: Introduction to Vortex86EX Motion Control Modules

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

Page 44: Introduction to Vortex86EX Motion Control Modules

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

Page 45: Introduction to Vortex86EX Motion Control Modules

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

…………

Page 46: Introduction to Vortex86EX Motion Control Modules

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

Page 47: Introduction to Vortex86EX Motion Control Modules

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

Page 48: Introduction to Vortex86EX Motion Control Modules

Conclusions

Page 49: Introduction to Vortex86EX Motion Control Modules

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

Page 50: Introduction to Vortex86EX Motion Control Modules

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

Page 51: Introduction to Vortex86EX Motion Control Modules

Thank You!

DMP Electronics Inc.

Q&A