fpga_tutorial_iecon06_em_mc (1).pdf

52
1 FPGAs used in Industrial Control Systems Prof. Eric Monmasson, Cergy-Pontoise University, Cergy-Pontoise, France Email: [email protected] Dr. Marcian Cirstea, Anglia Ruskin University, Cambridge, UK Email: [email protected] 2 Introduction, Presentation of the Current Trends (30 min, MC, EM) Description of FPGAs (30 min, EM) Holistic Modelling/Design Methodology (30 min, MC) Main Design Rules (30 min, EM) Refinement of Control Algorithms by Simulation Algorithm Architecture Adequation Reusability, VHDL Coding Hardware-In-the-Loop (HIL) Validation Coffee break -------------------------------------------------------------------------------------- 1st case studies series : FPGA-based Current Controllers for AC Drives (40 min, EM) Quasi-Analog Hysteresis Controller Delta Modulator PI – SVM Controller Predictive Controller 2nd case studies series : FPGA-based Intelligent Controllers for AC Drives and AC Generators (40 min, MC) Induction Motor Control Using Neural Networks Stand Alone Generator Set Using Fuzzy-Logic and PWM Conclusions and Perspectives (10 min, EM, MC) Hands on practical demonstration on two simple examples (30 min, EM, MC) Overview ELECTRONIC SYSTEMS ON CHIP Technical Committee of IEEE Industrial Electronics Society http://vega.unitbv.ro/~ieee Mission Statement: This Committee aims to promote professional activities in the area of low power electronics used in the modern industry, with an important focus on the design, development, simulation, verification and testing of digital and analogue circuits integrated as Systems on Programmable Chips, targeting Field Programmable Gate Arrays / Application Specific Integrated Circuits for implementation, and including the use of Hardware Description Languages or high level programming languages hardware compilers, as well as embedded electronic systems and associated software. 4 Chair: Dr. Marcian Cirstea, Head of Department of Design & Technology, Anglia Ruskin University, Cambridge, UK. Email: [email protected] Special conference sessions organisations subcommittee Coordinator and Committee Vice-Chair: Dr. Manus Henry, Deputy Director, Invensys University Technology Centre for Advanced Instrumentation at the Department of Engineering Science, the University of Oxford, UK. Dr.Vito Nardi, University of Cassino, Italy. Special Issues / Sections of Journals subcommittee Coordinator: Prof. Eric Monmasson, Head of the Institut Universitaire Professionnalisé de Génie Electrique et d’Informatique Industrielle (IUP GEII), University of Cergy-Pontoise (UCP), France. Prof. Josep M. Guerrero, Universitat Politècnica de Catalunya (UPC), Barcelona, Spain. Dr. Jeen G. Khor, Senior Design Engineer, INTEL, Penang, Malaysia. Web page subcommittee Coordinator: Dr. Andrei Dinu, Goodrich Engine Control Systems, Electromagnetic Systems Technical Centre, Birmingham, UK. Dr. Otilia Boaghe, Phillips Semiconductors, Zurich, Switzerland.

Upload: jose-luis-oliveira

Post on 16-Sep-2015

217 views

Category:

Documents


4 download

TRANSCRIPT

  • 1FPGAs used in Industrial Control Systems

    Prof. Eric Monmasson, Cergy-Pontoise University, Cergy-Pontoise, France

    Email: [email protected]. Marcian Cirstea,

    Anglia Ruskin University, Cambridge, UKEmail: [email protected]

    2

    z Introduction, Presentation of the Current Trends (30 min, MC, EM)z Description of FPGAs (30 min, EM)z Holistic Modelling/Design Methodology (30 min, MC)z Main Design Rules (30 min, EM)

    Refinement of Control Algorithms by Simulation Algorithm Architecture Adequation Reusability, VHDL Coding Hardware-In-the-Loop (HIL) Validation

    Coffee break --------------------------------------------------------------------------------------

    z 1st case studies series: FPGA-based Current Controllers for AC Drives (40 min, EM) Quasi-Analog Hysteresis Controller Delta Modulator PI SVM Controller Predictive Controller

    z 2nd case studies series: FPGA-based Intelligent Controllers for AC Drives and AC Generators (40 min, MC)

    Induction Motor Control Using Neural Networks Stand Alone Generator Set Using Fuzzy-Logic and PWM

    z Conclusions and Perspectives (10 min, EM, MC)z Hands on practical demonstration on two simple examples (30 min, EM, MC)

    Overview

    ELECTRONIC SYSTEMS ON CHIPTechnical Committee of IEEE Industrial

    Electronics Society http://vega.unitbv.ro/~ieee

    Mission Statement:This Committee aims to promote professional activities in the area of low power electronics used in the modern industry, with an important focus on the design, development, simulation, verification and testing of digital and analogue circuits integrated as Systems on Programmable Chips, targeting Field Programmable Gate Arrays / Application Specific Integrated Circuits for implementation, and including the use of Hardware Description Languages or high level programming languages hardware compilers, as well as embedded electronic systems and associated software.

    4

    Chair: Dr. Marcian Cirstea, Head of Department of Design & Technology, Anglia Ruskin University, Cambridge, UK.

    Email: [email protected]

    z Special conference sessions organisations subcommitteez Coordinator and Committee Vice-Chair: Dr. Manus Henry, Deputy

    Director, Invensys University Technology Centre for Advanced Instrumentation at the Department of Engineering Science, the University of Oxford, UK.

    z Dr.Vito Nardi, University of Cassino, Italy.

    z Special Issues / Sections of Journals subcommitteez Coordinator: Prof. Eric Monmasson, Head of the Institut Universitaire

    Professionnalis de Gnie Electrique et dInformatique Industrielle (IUP GEII), University of Cergy-Pontoise (UCP), France.

    z Prof. Josep M. Guerrero, Universitat Politcnica de Catalunya (UPC), Barcelona, Spain.

    z Dr. Jeen G. Khor, Senior Design Engineer, INTEL, Penang, Malaysia.

    z Web page subcommitteez Coordinator: Dr. Andrei Dinu, Goodrich Engine Control Systems,

    Electromagnetic Systems Technical Centre, Birmingham, UK. z Dr. Otilia Boaghe, Phillips Semiconductors, Zurich, Switzerland.

  • 5z Conferences / transactions papers review subcommitteez Coordinator: Prof. Dan Nicula, Transilvania University Brasov,

    Romania.

    z Prof. Bogdan Dan Willamowski, Past President of the Industrial Electronics Society, Auburn University, AL, USA.

    z Dr. Jeroen Van Den Keybus, Catholic University of Leuven, Belgium.

    z Dr. Yasuhiro Ota, Partner Robot Development Division, Toyota Motor Corporation, Aichi, Japan.

    z Prof. Chin-Long Wey, Dean of College of Electrical Engineering and Computer Science, National Central University, Chung-Li, Taiwan.

    z Dr.Robert Seliga, Electronics Design Engineer, Newage AVK SEG, Stamford, UK.

    6

    Activity Plan 20079 Website development to support & promote committees work and to

    provide a point of reference on topics of interest. Guest-Editorship of a special issue of the Transactions on Industrial

    Electronics: FPGAs used in Industrial Control Systems. Dr. Eric Monmasson and Dr. Marcian Cirstea are joint Guest Editors.

    Organisation of a best paper prize of $500 for this Special Issue Organisation of special sessions at the forthcoming IEEE IES

    Conference: ISIE07. Organising ISIE08 in Cambridge Refereeing of IEEE Transactions and Conference papers. Contributing to the organisation of other IES conferences by chairing

    Technical Tracks, refereeing papers, etc. Presenting tutorials Printing materials to advertise the committee, as well as its technical

    activities, as posters / leaflets.

    7

    Traditionally, mathematical models were used to functionally evaluate engineering systems. The development of each system component used then to be separately addressed, often involving the use of other CAD tools and/or different software platforms.

    Traditional methods are not able to cope with increased complexity and demands of higher levels of systems integration / faster time to market. Recent advances in CAD methodologies/languages has brought the systemsfunctional description and hardware implementation closer.

    Modern Electronic Design Automation (EDA) tools are used to model, simulate and verify a complex engineering system fast, with high confidencein right first time correct operation, without producing a prototype.

    High performance electronic controllers can also be implemented.

    The presentation reveals recent work that was carried out in the area of holistic modelling of engineering systems using HDLs.

    Introduction

    8

    Traditionally, mathematical models were used to functionally evaluate engineering systems. The development of each system component used then to be separately addressed, often involving the use of other CAD tools and/or different software platforms.

    Traditional methods are not able to cope with increased complexity and demands of higher levels of systems integration / faster time to market. Recent advances in CAD methodologies/languages has brought the systemsfunctional description and hardware implementation closer.

    Modern Electronic Design Automation (EDA) tools are used to model, simulate and verify a complex engineering system fast, with high confidencein right first time correct operation, without producing a prototype.

    High performance electronic controllers can also be implemented.

    The presentation reveals recent work that was carried out in the area of holistic modelling of engineering systems using HDLs.

    Introduction

  • 9Integrated Circuitsz Off-the-Shelf Logic - Function pre-set.

    z PROM, PAL, FPLA - Programmed by fusible links / charge storage.

    z FPGAs - User programmable Field Programmable Gate-Arrays.

    z Gate Array Device - Function set at manufacture in the final stage of production (metallization).

    z Cell Based Device - Function set at manufacture using CAD to speed up design and a library of optimised standard functions.

    z Full Custom Device - Function set at manufacture - every circuit part is optimally designed. Long development time even with CAD.

    ;More gates / chip ==> reduces cost but requires CAD.10

    Comparative Economics Cost

    (relative) full-custom

    cell -based

    system

    gate-array SSI / MSI

    Volume 10,000 50,000 .100,000

    z True cost formula shows that the final unit cost is:cost = D / N + chip + F

    where D=total development cost, N=no. of chips manufactured,chip=unit chip costs in production, F=packaging, testing per chip

    11

    Application Specific Integrated Circuitsz Application Specific Integrated Circuits (ASICs) = any IC designed and built

    specifically for a particular application.

    z ASICs allow tailoring the design during development stages of an IC. Advantages:. Reduced Size and Cost. High Speed and Accuracy in Information Processing. Compact Structure. High Reliability of Circuit Operation

    z Two major ASIC technologies: CMOS and BICMOS - millions gates. z RISC and DSP cores are now offered by chip suppliers. They permit the

    design of single chip customised advanced integrated processors.

    z Field-Programmable Gate Arrays (FPGAs) are a special class of ASIC'swhich differ from mask-programmed gate arrays in that the programming is done by end-users with no IC masking steps.

    12

    Introduction

    z FPGAs have reached high density rate ( > 10 millions gates)

    z Performing Electronic Design Automation (EDA)Tools

    z These components allow the programming of specific hardware architecture

    z This leads to a flexible and an efficient solution (software development of dedicated hardware architecture that includes parallelism)

    z System-on-a-Chip (SoC) scale

  • 13

    Introduction

    z Many industrial applications Telecom, Video, Signal Processing, Medical Systems, Embedded Systems (Aircraft, Automotive), Electrical Systems:

    z PWM inverters, z Power factor correction AC/DC converters, z Multilevel converters, z Matrix converters, z Active filters,z Fault-detection on power grid,z Electrical machines control (induction machine drives, multi-machines

    systems, z Neural Network control of induction motors, z Fuzzy Logic control of power generators, z Speed measurement

    14

    z The decrease of the cost An architecture based only on the specific needs of the algorithm to implement, Application of highly advanced and specific methodologies improving implementation

    time also called "time to market", Expected development in VLSI design that will allow integrating a full control system

    with its analog interface in a single chip, SoC.z The confidentiality

    Specific architecture, integrating the know-how of a company, is not easily duplicable.z The embedded systems

    Many constraints as in aircraft applications, like limited power consumption, thermal consideration, reliability and Single Event Upset (SEU) protection.

    z The improvement of control performance Execution time can be dramatically reduced by designing dedicated parallel architectures,

    allowing FPGA-based controllers to reach the level of performance of their analog counterparts without their drawbacks (parameter drifts, lack of flexibility).

    FPGA-based controller can also be adapted in run-time to the needs of the plant by dynamically reconfiguring it.

    IntroductionAdvantages:

    15

    Introduction

    DSP

    FPGA

    (a) (b) (c)

    (d)

    Algorithm Timing constraints

    A

    l

    g

    o

    r

    i

    t

    h

    m

    c

    o

    m

    p

    l

    e

    x

    i

    t

    y

    (a) : high data dependency (b) : high level of parallelism of the algorithm(c) : few functions and / or homogenous functions (d) : lot of functions and / or heterogeneous functions

    A specific architecture for each control algorithm16

    ejej

    d

    qis*

    is

    vsd*

    vsq*

    vs*

    vs

    c1

    c2

    c3

    e-je-j

    is3

    is2

    is1

    Speed&

    FluxRegulators

    Speed&

    FluxRegulators

    isd

    isq

    Flux & SpeedObservation

    (Sensorless operating mode)

    Flux & SpeedObservation

    (Sensorless operating mode)

    s

    s

    m

    123

    123

    isd*

    isq*

    is

    Is

    PWM

    Transformations

    Introduction

    is3

    is2

    is1

    ejej

    d

    qis*

    is

    vsd*

    vsq*

    vs*

    vs

    c1

    c2

    c3

    e-je-j

    Bouclesde vitesse

    &de flux

    Bouclesde vitesse

    &de flux

    isd

    isq

    Reconstruction du vecteur flux

    &de la vitesse (sans capteur)

    Reconstruction du vecteur flux

    &de la vitesse (sans capteur)

    s

    s

    m

    123

    123

    isd*

    isq*

    is

    Is

    MLI

    Algorithmic Constraints:

    Algorithm Architecture Adequation by means of FPGA

    Vector Control Algorithm:

    SVPWM Current Regulator Flux Estimator

    ejej

    d

    qis*

    is

    vsd*

    vsq*

    vs*

    vs

    c1

    c2

    c3

    e-je-j

    is3

    is2

    is1

    Speed&

    FluxRegulations

    Speed&

    FluxRegulations

    isd

    isq

    Flux vector estimation&

    Speed estimation (sensorless)

    Flux vector estimation&

    Speed estimation (sensorless)

    s

    s

    m

    123

    123

    isd*

    isq*

    is

    Is

    PWM

    Differences :

    Heterogeneous Functions Various Time Scale Various Computing Tasks

  • 17

    Introduction

    -K -p i /3 0 /W m a x

    c 1

    c 2

    c 3

    V s 1

    V s 2

    V s 3

    o n d u l e u r

    t

    P ro d u c t

    W re f

    W Is q re f

    P IW _ sa t

    0 0 ; 0 .5 9 ,6 5 0 0

    N re f

    V s 1

    V s 2

    V s 3

    C r

    rh

    C e m

    te ta

    W m

    I s 1

    I s 2

    I s 3

    M S P M

    -K -

    Isd q m a x

    V s1

    te ta m

    N re f

    Isq re f

    N

    C r

    W m

    C e m

    Is1

    p

    -K -

    W m tg (d e c )

    D e f l u xa g e

    6 .0 9 ; 0 .5 9 ,1 5

    C r

    I s d re f

    I s q re f

    t e t a

    I

    c 1

    c 2

    c 3

    C o n tr l e d e sC o u ra n ts

    C l o c k

    W

    C r0C r

    C h a rg e

    -K - 1 /W m a x

    How to easily implement a control algorithm on an FPGA-based optimized hardware architecture?

    Simulink ModelFPGA board

    18

    This leads to follow up a design methodology

    -K -p i /3 0 /W m a x

    c 1

    c 2

    c 3

    V s 1

    V s 2

    V s 3

    o n d u le u r

    t

    P ro d u ct

    W re f

    W I s qre f

    P IW _ sa t

    0 0 ; 0 .5 9 ,6 5 0 0

    N re f

    V s 1

    V s 2

    V s 3

    C r

    rh

    C em

    te ta

    W m

    I s 1

    I s 2

    I s 3

    M S P M

    -K -

    Isd q m a x

    V s1

    te ta m

    N re f

    Isq re f

    N

    Cr

    Wm

    Ce m

    Is1

    p

    -K -

    W m tg(dec )

    De f lu xa g e

    6 .0 9 ; 0 .5 9 ,1 5

    Cr

    I s dre f

    I s q re f

    t et a

    I

    c 1

    c 2

    c 3

    Co n tr le d e sCo u ra n ts

    C l o ck

    W

    C r0C r

    Ch a rg e

    -K - 1 /W m a x

    3

    X 3

    2

    X 2

    1

    X 1

    xl sp ro ma d d r [0 :1 0 2 3 ]

    RO M (sin )1

    xl sp ro ma d d r [0 :1 0 2 3 ]

    RO M (sin )

    xl sp ro ma d d r [0 :1 0 2 3 ]

    RO M (co s)1

    xl sp ro ma d d r [0 :1 0 2 3 ]

    RO M (co s)

    x (-1 )

    Ne g a te

    xl m u l ta

    b(a b )

    M u l t3

    xl m u l ta

    b(a b )

    M u l t2

    xlm u l ta

    b(a b )

    M u l t1

    xlm u l ta

    b(a b )

    M u l t

    x l a d d su ba -ba

    b

    A d d S u b 3

    xl a d d su ba + ba

    b

    A d d S u b 2

    xla d d su ba -ba

    b

    A d d S u b 1

    x la d d su ba -ba

    b

    A d d S u b

    3 4 0

    2 *p i /3

    3

    P si

    2

    X q

    1

    X d

    functional simulation Fixed-point quantization & discrete model

    VHDL codingFPGA targetExperimental board

    F

    +-

    J

    z-1z-1

    ++

    ====

    0

    1 0

    ++

    Kid

    Kpi

    Err

    F

    X

    FF0

    Data FlowGraph

    Introduction

    19

    Generic FPGA Architecture

    C onfigurable Input/O utput

    Block

    C onfigurable Logic Block

    Interconnection Program m able

    N etwork

    20

    Generic FPGA Architecture

    Inputs [3:0]

    LUT LUT

    Chemin Carry Path

    Bascule D D

    Flip-Flop

    Input carry

    Clock

    Flip-Flop output

    Combinatorial output

    Output carry

    Logic Cell / Logic Element :

  • 21

    Head-to-Head

    z Xilinx Virtex-5 1v 65nm copper 207,360 logic cells 11.6 Mb RAM 192 48-bit MAC Unit

    (25x18 multipliers, 550MHz)

    Up to four PowerPC 405 cores

    MicroBlaze 32-bit soft core

    z Altera Stratix II 1.2v 90nm copper 179,400 logic elements 9.4 Mb RAM 96 36x36 multipliers

    (384 18x18 multipliers) 1,170 user I/O pins

    Nios II 32-bit soft processor core

    22

    Head-to-Head Low Cost

    z Spartan 3E 1.2v 90nm copper 33,192 logic cells 0.65 Mb RAM 36 18x18 multipliers 376 user I/O pins 8 DCMs

    MicroBlaze 32-bit soft processor core

    z Altera Cyclone II 1.2v 90nm copper 68,416 logic elements 1.15 Mb RAM 150 18x18 multipliers 622 user I/O pins 4 PLLs

    Nios II 32-bit soft processor core

    23

    Virtex-4 Architecture

    1 Gbps SelectIOChipSync Source synch, XCITE Active Termination

    Smart RAM New block RAM/FIFO

    Xesium ClockingTechnology

    500 MHz

    PowerPC 405with APU Interface450 MHz, 680 DMIPS

    Tri-ModeEthernet MAC

    10/100/1000 Mbps

    RocketIOMulti-GigabitTransceivers

    622 Mbps10.3 Gbps

    XtremeDSPTechnology Slices

    256 18x18 GMACs

    Advanced CLBs200K Logic Cells

    24

    Virtex IV Platforms

    ResourceResource

    14K14K200K LCs200K LCsLogic

    Memory

    DCMs

    DSP Slices

    SelectIO

    RocketIO

    PowerPC

    Ethernet MAC

    LXLX FXFX SXSX

    0.90.96 Mb6 Mb

    441212

    32329696

    240240960960

    23K23K55K LCs55K LCs

    2.32.35.7 Mb5.7 Mb

    4488

    128128512512

    320320640640

    12K12K140K LCs140K LCs

    0.60.610 Mb10 Mb

    442020

    3232192192

    240240896896

    0024 Channels24 Channels

    1 or 2 Cores1 or 2 Cores

    2 or 4 Cores2 or 4 Cores

    N/A

    N/A

    N/A

    N/A

    N/A

    N/A

  • 25

    Altera Stratix

    26

    Slices and CLBs

    z Each Virtex-II CLB contains four slices Local routing provides

    feedback between slices in the same CLB, and it provides routing to neighboring CLBs

    A switch matrix provides access to general routing resources

    CIN

    SwitchMatrix

    BUFTBUF T

    COUTCOUT

    Slice S0

    Slice S1

    Local Routing

    Slice S2

    Slice S3

    CIN

    SHIFT

    27

    Distributed SelectRAM Resources

    z Uses a LUT in a slice as memoryz Synchronous writez Asynchronous read

    Accompanying flip-flops can be used to create synchronous read

    z RAM and ROM are initialized duringconfiguration Data can be written to RAM

    after configurationz Emulated dual-port RAM

    One read/write port One read-only port

    RAM16X1S

    O

    DWE

    WCLKA0A1A2A3

    LUTLUT

    RAM32X1S

    O

    DWE

    WCLKA0A1A2A3A4

    RAM16X1D

    SPO

    DWE

    WCLKA0A1A2A3DPRA0 DPODPRA1DPRA2DPRA3

    Slice

    LUT

    LUT

    28

    Slice 0

    LUTLUT CarryCarry

    LUTLUT CarryCarryD QCE

    PRE

    CLR

    DQCE

    PRE

    CLR

    Simplified Slice Structure

    z Each slice has four outputs Two registered outputs,

    two non-registered outputs Two BUFTs associated

    with each CLB, accessible by all 16 CLB outputs

    z Carry logic runs vertically, up only Two independent

    carry chains per CLB

  • 29

    Altera Stratix

    30

    Logic Array Blocks (LABs)

    31

    Logic Element

    32

    Embedded RAM

    z Xilinx Block SelectRAM 18Kb dual-port RAM arranged in columns

    z Altera TriMatrix Dual-Port RAM M512 512 x 1 M4K 4096 x 1 M-RAM 64K x 8

  • 33

    Xilinx: Embedded Multipliers

    z 18-bit twos complement signed operationz Optimized to implement Multiply and Accumulate functionsz Multipliers are physically located next to block SelectRAM

    memory

    18 x 18Multiplier18 x 18Multiplier

    Output (36 bits)

    Data_A (18 bits)

    Data_B (18 bits)

    18 x 18signed12 x 12signed8 x 8 signed4 x 4 signed

    34

    Altera: Embedded DSP Blocks

    z Two DSP Block columns per devicez Number varies by height of columnz Can implement:

    Eight 9x9 multipliers Four 18x18 multipliers One 36x36 multiplier

    z Contains adder/subtracter/accumulatorz Registered inputs can become shift register

    35

    Altera Multiplier Sub-block

    36

    Virtex: Active Interconnect

  • 37

    Virtex Hierarchical Interconnect

    38

    Altera: MultiTrack Interconnect

    z Direct link between LABs and adjacent blocksz Row interconnects

    4, 8, and 24 blocks left or rightz Column interconnects

    4, 8, and 16 blocks up or down

    39

    Stratix: R4 Interconnect

    40

    MicroBlaze Processor-Based Embedded Design

    Flexible Soft IPMicroBlaze32-Bit RISC Core

    UART 10/100E-NetMemory

    Controller

    Off-ChipMemory

    FLASH/SRAM

    Fast Simplex Link

    0,1.7

    CustomFunctions

    CustomFunctions

    BRAM Local Memory

    BusD-CacheBRAM

    I-CacheBRAM

    ConfigurableSizes

    A

    r

    b

    i

    t

    e

    r

    Processor Local Bus

    Instruction Data

    PLBBus

    Bridge

    PowerPC405 Core

    Dedicated Hard IP

    A

    r

    b

    i

    t

    e

    r

    Processor Local Bus

    Instruction Data

    PLBBus

    BridgeBus

    Bridge

    PowerPC405 Core

    Dedicated Hard IP

    PowerPC405 Core

    Dedicated Hard IP

    PowerPC405 Core

    Dedicated Hard IPPossible inVirtex-II Pro

    Hi-SpeedPeripheral

    GB E-Net

    e.g.Memory

    ControllerHi-Speed

    PeripheralHi-Speed

    PeripheralGB

    E-NetGB

    E-Net

    e.g.Memory

    Controller

    e.g.Memory

    Controller

    A

    r

    b

    i

    t

    e

    r OPBOn-Chip Peripheral Bus

    CacheLink

    SRAM

  • 41

    Embedded DevelopmentTool Flow Overview

    Data2MEM

    Download CombinedImage to FPGA

    Compiled ELF Compiled BIT

    RTOS, Board Support Package

    EmbeddedDevelopment Kit

    Instantiate the System Netlistand Implement

    the FPGA

    ?

    HDL Entry

    Simulation/Synthesis

    Implementation

    Download BitstreamInto FPGA

    Chipscope

    Standard FPGAHW Development Flow

    VHDL or Verilog

    System NetlistInclude the BSPand Compile theSoftware Image

    ?

    Code Entry

    C/C++ Cross Compiler

    Linker

    Load SoftwareInto FLASH

    Debugger

    Standard EmbeddedSW Development Flow

    C Code

    Board SupportPackage

    12 3 Compiled BITCompiled ELF

    42

    Altera Nios II

    43

    Altera Nios II

    44

    SoPC Builder

  • 45

    Actel Fusion

    46

    Actel Fusion - ADC

    ACMFlash

    memory

    RTC

    Analog multiplexer

    AnalogQuad

    9

    ADC

    12 bits

    AnalogQuad

    8

    AnalogQuad

    1

    AnalogQuad

    0

    Analog Bloc

    ADCSTART

    5 bits CHNUMBER[4 :0]

    DATAVALIDCALIBRATE

    ADCRESULT [11 :0]

    AV0AC0AG0

    AT0

    AV1AC1AG1

    AT1

    AV8AC8AG8

    AT8

    AV9AC9AG9

    AT9

    0143031

    Tempratureinterne

    Vcc(1.5V)

    SYSCLK = 50MHz

    ADCCLK

    Freq_div

    01

    6 MHz

    CLK

    :

    47

    Actel ProASIC

    48

    Actel ProASIC

  • 49

    NOTHING EASIER !

    In trouble with a chip design ?

    50

    Design Methodologies EDA Tools

    Traditional

    Modern

    Everybody hates EDA tools at some stage !!!

    51

    Design flow

    z Design Entry (schematic,HDL, state diagram).

    z Compilationz Apply stimulusz Simulationz Implementation and Layoutz Timing Analysis / Verificationz Download design into siliconz Testing the chip

    52

    Novel Systems Modelling Method- main features and context -

    z Extends the traditional use of Hardware Description Languages (HDLs) for electronic circuits design, to encompass holistic modelling of more complex engineering systems.

    z Outcome: design environment that allows all aspects of the system to be simultaneously considered, therefore maximising performance.

    z Proposed approach correlated with powerful international movement/leading edge research, directed towards system level modelling/design.

    z The international EDA community, united under ACCELLERA (2000) (http://www.accellera.org/index.html), assumed the mission to drive the worldwide development and use of standards required by systems, semiconductors & design tools.

    z Clear proof of the internationally identified need for the development of holistic models for complex engineering systems.

    z Proposed for engineering systems holistic modelling: VHDL = Very high speed integrated circuit Hardware Description Language. (IEEE, 1993).

  • 53

    Specific Advantages Offered by VHDL

    z Allows the functional/behavioural description of an engineering system to be combined with a detailed electronic design, on the same CAD platform.

    z The mathematical aspects of systems and the electronic hardware design are simultaneously addressed, in a unique environment.

    z It is supported by all major Computer Aided Design platforms

    z Ability to handle all levels of abstraction. The system can be simulated as an overall model during all stages of the electronic controller design, which can be subsequently targeted for system on a chip silicon implementation.

    z Fast implementation & relatively short time to market of new designs.

    z Hardware Implementation of Artificial Intelligence is facilitated.

    z Versatile reusable models / design modules are generated, in accordance with modern principles of design reuse.

    54

    Advantages of FPGA Controller Prototyping

    z A cheap & fast VHDL code validation is via a prototype board containing re-programmable devices - Field Programmable Gate Arrays (FPGAs).

    z Allows electronic controllers hardware validation that provides significant information before the decision is taken to invest in an Application Specific Integrated Circuit (ASIC) = IC dedicated specifically to an application.

    z It shortens the time to correct any design problem and it ensures an error free design before permanent ASIC implementation.

    z The prototype board can be used for hardware testing other system components.

    z The general benefits of holistic modelling of systems, combined with the advantages of VHDL and FPGAs, enable the efficient investigation of new engineering system topologies employing complex electronic controllers.

    55

    Engineering Systems Modelling Approach Summary

    Modelling / Development: VHDLElectronic Controller Hardware Prototyping: FPGAAdvantages of using VHDL Efficient design process Single environment for modelling, simulation & electronic controller design. Easy modifications and system integration of designs EDA platform independence of VHDL designs (ASCII files) Reusable IP block modelling/design style becomes possibleAdvantages of using FPGAs Small, compact design Fast, relatively cheap Reusable hardware framework for testing a design Short time to market of product, rapid prototyping 56

    Top-Down Designz VHDL allows the designer to develop and simulate ideas fast, without

    getting caught-up in the details of implementation.

    z As the design evolves to completion, the language is able to support a complex detailed digital system description.

    z Top-down design begins with modelling an idea at an abstract level, and proceeds through the iterative steps necessary to further refine this into a detailed system.

    z A test environment is developed early in the design cycle. Concepts are tested before investment is made in implementation.

    z As design evolves to new levels of detail, the test environment will check compliance with the original specification.

  • 57

    VHDL Description

    z Evolution of the VHDL language began in 1980's and resulted in the adoption of the VHDL's IEEE Standard (1993).

    z Due to increased demands of higher levels of integration / faster time-to-market, a standard language, that referenced a higher level of design abstraction was needed. This stand-alone specification is not dependent on any specific tool.

    z An entire system, once consisting of many components/circuit boards, can be replaced by one/two integrated circuits.

    z VHDL's flexibility and choice of modelling styles enable a natural progression from idea to implementation, giving the designer the ability to quickly create, simulate, and verify an abstract model.

    z Thus, design concepts can be tested before the investment is made in the hardware implementation.

    z A major feature of VHDL is its inherent ability to handle all levels of abstraction. The designer requires the use of only a single language, as well as a single simulator for all phases of design. 58

    Design UnitsEntity: describes the interface between the outside world and the

    design. The connection points (PORTs) to the design, the direction and type of data that flows through these points are defined here.

    z For example, an AND gate with 3 connection points, 2 inputs and 1 output and data type bit (values '0' or '1') might look like:

    ENTITY and2 IS

    PORT (in1,in2: IN bit;

    outp: OUT bit);

    END and2;

    Architecture: defines an entity's behaviour from a simulation point of view. It depends upon the information declared within an entity.

    59

    z A behavioural architecture example for the and2 entity is:ARCHITECTURE arch1 OF and2 ISBEGIN

    output in1, sig2=> in2, sig3 => internal);u2:and2 PORT MAP(sig1=>in3, sig2=>internal, sig3=>output);END struct; 60

    Behavioural Designz In VHDL behavioural descriptions there is no reference to submodules within a

    specific VHDL architecture. z This does not preclude the use of subprograms within VHDL descriptions, but

    precludes the use of other VHDL components. z Behavioural descriptions are defining the design functionality. z A behavioural description of a multiply accumulate device (mac) is:

    USE WORK.util.ALL;ENTITY mac IS

    GENERIC(tco: time := 10 ns);PORT( in1, in2: IN bit_vector(15 DOWNTO 0);

    clk, reset: IN bit;out1: OUT bit_vector(31 DOWNTO 0));

    END mac;ARCHITECTURE behave OF mac ISBEGIN

    PROCESS (clk, reset)VARIABLE reg_in1, reg_in2, reg_mul, accum: integer;

  • 61

    BEGIN IF reset = '0' THEN

    reg_in1 := 0;reg_in2 := 0;reg_mul := 0;accum := 0;

    ELSIF rising_edge(clk) THENaccum := accum + reg_mul;reg_mul := reg_in1 * reg_in2;reg_in1 := vect_to_int(in1);reg_in2 := vect_to_int(in2);

    END IF;out1

  • 65

    z The VHDL model is converted into a hardware structure with the help of synthesis tools.

    z First the VHDL model is mapped to a hardware structure described using cells from a technology library. Then the netlistis placed and routed.

    z Usually an optimizer is involved in generating the final result based on silicon area minimisation or speed considerations.

    z The VHDL code has to be written in a style that is implementable and generates reliable circuits.

    z Synchronous circuits are preferred.

    VHDL Design for Synthesis

    66

    Flip-flop Output Driving the Clock Input of Another Flip-Flop

    d q

    > c k q b

    d q

    > c k q b

    Clock Signal Situations

    Avoiding Gated Clock by Using a Clock Enable

    67

    Clock Bufferingz In FPGAs the clock tree is already designed and the clock distribution is dealt

    with automatically be the synthesis tool.z For ASIC design it may be necessary to design the clock tree manually.z It is important to avoid: Clock skew generated by unequal depth of clock buffering. Unequal load-dependent delays generated by unbalanced clock buffers fan-out. Slow clock edges due to excessive buffer loading.

    Incorrect Clock Buffering

    68

    Correct Clock Buffering

    z The circuit provides the same buffering depth at all clocked points;

    z All buffers have the same fan-out;

    z The buffers are lightly loaded (less than 50% of maximum fan-out).

  • 69

    Shift Registers and Clock Bufferingz Shift registers are particularly sensitive to clock skew. The register

    operation could be incorrect due to set-up and hold problems.

    clk

    dd q

    >ck qb

    d q

    >ck qb

    d q

    >ck qb

    d q

    >ck qb

    d q

    >ck qb

    d q

    >ck qb

    clk

    dd q

    >ck qb

    d q

    >ck qb

    d q

    >ck qb

    d q

    >ck qb

    d q

    >ck qb

    d q

    >ck qb

    70

    Situations to be Avoided when Operating with the Asynchronous Reset

    zIt is recommended to avoid driving the asynchronous reset input of one flip-flop using the output of the other.

    d q

    >ck qb

    d q

    >ck qb r

    clk

    d q

    >ck qb

    clk

    CombinationalLogic

    d q

    >ck qb r

    71

    The Recommended Solution for flip-flops with Synchronous Reset

    c lk

    d q

    >ck qb r

    d q

    >ck qb r

    d q

    >ck qb r

    d q

    >ck qb r

    rese t

    zA signal conflict may arise at the interface between a synchronous circuit and an external asynchronous input. It is recommended to synchronize an asynchronous input by passing it through one or more flip-flops.

    Synchronizing Asynchronous Inputs

    d q

    > c k q b

    d q

    > c k q b

    d (e x te rn a l) d ( in te rn a l)

    c lk ( in te rn a l)

    72

    Adders and Multiplexersarchitecture arch of entity1 isbeginoutp

  • 73

    Optimised Adder and Multiplexer Circuit

    process (sel, a, b, c)variable in_add : std_logic_vector(5 downto 0);

    beginif sel = '0' thenin_add

  • 77

    Design Methodology

    9 To ensure a more automated and less intuitive approach for the design of FPGA-based control systems

    Objectives

    9 Reduction of the development time

    9 Development of a specific library of reusable modules dedicatedto the control of electrical systems

    9 First attempt success guarantee of the designed architecture

    78

    Modular partitioningof the algorithm

    Simulation procedure

    Optimization of theconsumed resources

    Architecture design

    Validation of the architecture

    Design Methodology

    Different steps

    79

    Modle continu

    Discrete Model

    Per Unit Dicrete Model

    Example : dX/dt (X[k+1]-X[k])/Ts

    X/Xb

    Continuous Model

    Design Methodology

    Reduction of the development time Extraction of reusable modulesModular partitioning of the algorithm

    80

    Design Methodology

    Continuous Model of a FOC Estimator

  • 81

    sq = Lsisq

    ddq/dt = wdq

    sd = Lsisd + (Lm/Lr)r

    Cem = (3/2)p(Lm/Lr) r isq

    Wdq = w + Lmisq/(Trr)

    r = Lm/(1+Trs) isd

    isq =2/3(sin(+150) is1 + cos() is2)isd =2/3(sin(+60) is1 + sin() is2)

    Continuous Model of a FOC Estimator

    Design Methodology

    Simplification

    82

    Continuous Model

    Discrete Model

    Per Unit Discrete Model

    Design Methodology

    Euler: dX/dt (X[k+1]-X[k])/Ts

    83

    sq [k] = a9 isq [k]dq [k] = dq [k-1] + a10 wdq [k-1]

    sd [k] = a7 isd [k] + a8 r [k]Cem [k] = a6 r [k] isq [k]

    Wdq [k] =a4 w [k] + a5 isq [k] /r [k]r[k]=a2 isd [k-1]+ a3 r[k-1]

    isq[k]=a1(sin([k]+150) is1[k] + cos([k]) is2[k])isd[k]=a0(sin([k]+60) is1[k] + sin([k]) is2[k])Digital Model of a FOC Estimator

    a0 = 2/3 a1 = 2/3a2 = Lm Te/Tra3 = 1 - Te/Tra4 = 1a5 = Lm/Tra6 =(3/2)pLm/Lra7 = Ls a8 = Lm/Lra9 = Ls a10 = Te

    Design Methodology

    84

    Continuous Model

    Discrete Model

    Per Unit Discrete Model

    Design Methodology

  • 85

    sq[k] = A9 isq[k]

    dq[k] = dq[k-1] + A10wdq[k-1]

    sd[k] = A7 isd[k] + A8 r[k]

    Cem[k] = A6r[k] isq[k]

    Wdq[k] = A4 w[k] + A5 isq[k]/r[k]

    r[k] = A2 isd [k-1] + A3 r[k-1]isq[k] =A1(sin([k]+150) is1[k] + cos([k]) is2[k])isd[k] =A0(sin([k]+60) is1[k] + sin([k]) is2[k])

    Per Unit Digital Model of a FOC Estimator A0 = a0A1 = a1A2 = a2Ib/bA3 = a3A4 = a4wb/wdqbA5 = a5Ib/(wdqbb)A6 = a6A7 = a7Ib/ bA8 = a8A9 = a9Ib/bA10 = a10wdqb

    Design Methodology

    86

    abc to dqTransformation

    (1)

    Low PassFilter

    (2)

    dq, TL, sd et sqEstimator

    (3)Integrator

    (4)

    is1

    is2

    isd

    isq

    r

    dq

    isd

    dq

    TL sd sq

    Design Methodology

    Example 1 : FOC Estimator algorithm

    Library

    Modular partitioning of the algorithm

    87

    Table(1)

    TL*Isd*

    Isq*dq to abc

    Transformation(2)

    HysteresisController

    (3)

    is1*

    is2*

    is3*

    SaSbSc

    is1 is2 is3

    Design Methodology

    Example 2 : Sliding Mode Torque Control algorithm

    Creation of a specific Electrical System dedicated library

    Library

    Modular partitioning of the algorithm

    88

    Design Methodology

    Current Control, Torque Control Speed Control,

    Full Control AlgorithmsLevel 3Level 3

    PI, PID, PPI, Hysteresis controller,

    Regulation

    PWM, SVM,

    Modulation

    abc-to-, -to-abc, abc-to-dq, dq-to-abc

    Vector Operators

    PLL, Torque Estimator, Flux EstimatorEstimation

    Level2Level2

    Level 1Level 1Registers, multiplexers,

    demultiplexers,

    Basic Operators

    Adder, multiplier, sine-cosine, cordic,

    Arithmetic Operators

  • 89

    Design Methodology / Web Site

    90

    Library of IP modules dedicated to the Control of Electrical Systems

    9 VHDL Programs9Matlab Simulink Models9 Data-sheets

    Design Methodology

    91

    Design Methodology

    Verification of the algorithm functionalitySimulation procedure

    Modular partitioning of the algorithm

    Choice of the suitable sampling period and fixed-point format

    92

    Design Methodology

    Induction motor

    IFO Controller +

    VSI

    Estimator algorithm

    Example 1 : Per Unit FOC Estimator functional model

    1) Development of a continuous functional continuous model

    Verification of the algorithm functionality

  • 93

    Design Methodology

    Torque control algorithm

    VSI SM

    Example 2 : Per Unit Sliding Mode Torque Control functional model

    94

    Design Methodology

    Choice of the sampling period and fixed-point format of the digital algorithm

    2) Development of a discrete fixed-point specification model

    Example1 : FOC Estimator specification model

    95

    Design Methodology

    Example2 : Sliding Mode Torque Control specification model

    96

    Design Methodology

    Example2 : Sliding Mode Torque Control specification model

  • 97

    Design Methodology

    dq-to-abc transformation specification model

    Dq-to-abc transformation Data Flow Graph (DFG)

    + +

    5/6 /3

    +

    /2

    Sin Sin Sin

    x x

    Sin

    x x

    isa[k] isb[k]

    dq[k]

    + +

    x x

    A0A1

    isd[k]isq[k]

    U[p/Q0]

    U[p/Q0]

    U[p/Q0] U[p/Q0] U[p/Q0]

    U[p/Q0] U[p/Q0]

    S[n/Qn-1]S[n/Qn-1] S[n/Qn-1] S[n/Qn-1]

    S[n/Qn-2]S[n/Qn-2] S[n/Qn-2]

    S[n/Qn-2] S[n/Qn-2] S[n/Qn-2]S[n/Qn-2]

    S[n/Qn-1] S[n/Qn-1]

    Lots of possibilities in terms of parallelism 98

    Design Methodology

    Reduction of the consumed resources

    Simulation procedure

    Modular partitioning of the algorithm

    Optimization procedure

    99

    Design Methodology

    A1A2

    x1x2

    y

    S[n/Qn-1]

    S[n/Qn-1] x

    +

    F F

    J

    S[n/Qn-1]

    S[n/Qn-1]S[n/Qn-1] S[n/Qn-1]

    S[n/Qn-1]

    S[n/Qn-1]S[n/Qn-1]

    S[n/Qn-1]

    Factorization Hardware resources Execution time

    Defactorization Hardware resources Execution time

    S[n/Qn-1]

    x1 A1 A2 x2

    S[n/Qn-1]S[n/Qn-1]

    S[n/Qn-1]S[n/Qn-1]

    S[n/Qn-1]

    y

    x x

    +

    100

    Design Methodology

    Generation of optimized hardware architecture (A3 methodology)

    FF0 : Factorization Frontier 0

    FF1 : Factorization Frontier 1

    14Sine

    16Multiplication

    35Addition

    FDFGDFGOprations

    abc-to-dq transformation Factorized Data Flow Graph (FDFG)

    F

    0/3/25/6

    +

    SinFD

    A0A1

    D

    x F D

    F

    J

    + +

    isa[k]

    isb[k]

    dq[k]

    isd[k]isq[k]

    FF0

    FF1

    S[n/Qn-1]

    U[p/Q0]

    S[n/Qn-1]

    U[p/Q0]

    S[n/Qn-2]

    U[p/Q0]

    U[p/Q0] S[n/Qn-1]

    S[n/Qn-2] S[n/Qn-1]

    S[n/Qn-2]

  • 101

    Design Methodology

    Simulation procedure

    Modular partitioning of the algorithm

    Optimization procedure

    Architecture Design

    102

    Design Methodology

    1) Modular Hardware Architecture Design

    Inputs[k] Inputs [k+1] Inputs [k+2]

    StartInput Data

    Outputs [k] Outputs [k+1] Outputs [k+2]

    EndOutput Data

    Clk

    TClkLatency*TClk

    Data-path

    Control unit

    S1

    Module name

    Input Data Output Data

    Start End

    ClkReset

    S2S3

    S3

    Generic Second Level Module Architecture

    Generic Timing Diagram

    Specific Library

    103

    Design Methodology

    InputData

    Global Data-path

    OutputData

    Module Name

    Sub-Module 1

    Start1 Start2 Start3 StartnEnd1 End2 End3 Endn

    Start End

    Clk

    Sub-Module 3

    Sub-Module 2

    Reset

    Sub-Module n

    Global Control UnitSel en

    Third Level Module Architecture

    2) Design of the whole algorithm architecture

    Specific Library

    104

    Design Methodology

    Sequencer

    Data-path

    LP_Filter

    isa

    isb

    isd

    isq

    r

    dq

    isddq dq, TL, sd and sqEstimator

    Sequencer

    Data-pathabc-to-dq

    transformation

    Sequencer

    Data-path

    Integrator

    Sequencer

    Data-path

    TL sd sqGlobal data-path

    Global sequencer

    FOC Estimator Architecture

    Example : FOC Estimator algorithm architecture

  • 105

    Design Methodology

    3) VHDL coding of the architecture

    106

    System Level

    Behavioral Level

    RTL or Synthesis Level

    Physical Level

    Simulation Simulation

    Synthesis

    Behavioral HDL

    Circuit Specifications

    Simulation Simulation

    Analog HDL

    Test Bench

    Mixed Simulation Environment

    FPGA

    ASIC

    Design Methodology

    3) VHDL coding TOP DOWN Approach

    107

    Reuse and IP Behavioral Model

    Blocks

    LibraryLibrary

    RTL or Synthesize Level

    Physical Level

    Behavioral Level

    System Level

    LibraryLibrary Reuse and IP RTL or Synthesize Model Blocks

    Design Methodology

    3) VHDL coding - Reusability

    108

    Design Methodology

    Simulation procedure

    Modular partitioning of the algorithm

    Optimization procedure

    Architecture Design

    Validation of the architecture

  • 109

    Design Methodology

    FPGA Target

    Configuration process

    Stimuli Patterns

    TxRx

    Architecture to be tested

    Serial interface

    Host-PC Results Comparison Results

    Reception

    Simulation Results Hardware in the loop Results

    First attempt success guarantee

    Functional model simulation

    1) Hardware in the loop test

    110

    Design Methodology

    0 0.05 0.1 0.15 0.2 0.25 0.3 0.35-5

    -4

    -3

    -2

    -1

    0

    1

    2

    3

    4

    5

    isd

    isq

    0 0.05 0.1 0.15 0.2 0.25 0.3 0.35-5

    -4

    -3

    -2

    -1

    0

    1

    2

    3

    4

    5

    isd

    isq

    Simulation results (isd(A) and isq(A)) Hardware in the loop results (isd(A) and isq(A))

    time(s) time(s)

    Example : Hardware in the loop results of the FOC Estimator

    Start-up and a speed reversal at 0.27s of a 1 Kw induction machine controlled by a classical Indirect Field Oriented Strategy.

    111

    Design Methodology

    0 0.05 0.1 0.15 0.2 0.25 0.3 0.35-8

    -6

    -4

    -2

    0

    2

    4

    6

    8

    0 0.05 0.1 0.15 0.2 0.25 0.3 0.35-8

    -6

    -4

    -2

    0

    2

    4

    6

    8

    Simulation results (T(Nm)) Hardware in the loop results (T(Nm))

    time(s) time(s)

    112

    Design Methodology

    Simulation results r(Wb)

    time(s)0 0.05 0.1 0.15 0.2 0.25 0.3 0.35

    0

    0.1

    0.2

    0.3

    0.4

    0.5

    0.6

    0.7

    0.8

    0.9

    1

    Hardware in the loop results r(Wb)

    time(s)0 0.05 0.1 0.15 0.2 0.25 0.3 0.35

    0

    0.1

    0.2

    0.3

    0.4

    0.5

    0.6

    0.7

    0.8

    0.9

    1

    Slight difference between simulation and hardware in the loop results

  • 113

    Design Methodology

    2) Experimental test

    FPGA (Actel Fusion) 114

    Design Methodology

    FPGA (Actel Fusion)

    115

    Conclusion

    Algorithm Hardwarearchitecture

    Design Methodology

    Advantages :

    Less intuitive and more automatic approach

    Reduction of the development time

    Optimization of the consumed resources

    Reusability of the design

    Development of a specific library

    First attempt success guarantee116

    FPGA-Based Current Controllers for

    Synchronous Machine Drive

    Advantages & Features

    1st Case Studies Series:

  • 117

    Control Algorithm Execution Time

    (a)

    (b)

    (c)

    (k-1)Ts (k)Ts (k+1)Ts

    (k-1)Ts

    TADC

    (k)Ts

    (k+1)Ts

    (k+1)Ts

    TC

    (k)Ts

    (a)

    (b)

    (c)

    (k-1)Ts (k)Ts (k+1)Ts

    (k-1)Ts

    TADC

    (k)Ts

    (k+1)Ts

    (k+1)Ts

    TC

    (k)Ts

    (a) General purpose microcontroller:- c limitations !

    (b) DSPcontroller:- VSI limitations

    (c) FPGA-based controller:- Quasi-analog behavior

    118

    Experimental Set-up

    InterfaceInterface

    Vf

    Amplification

    Electrical SupplyElectrical Supply

    ADC

    Controlled Controlled InverterInverter

    Synchronous MachineSynchronous Machine

    Encoder

    isbisb

    FPGAFPGA

    Controller

    Serial Interface

    ADC Interface

    isa

    Sa Sb Sc

    ReferencesRS232

    isa isbADC Control

    Host PC

    isbisa

    Encoder Interface

    dq

    119

    Voltage Source Inverter

    Encoder

    Current sensors

    SM

    Experimental Set-up

    120

    Experimental Set-up

    FPGA Spartan3

    400.000 GatesAD Conversion Board

    VSI Interface

    Board

  • 121

    Current Controllers Based on ON-OFF Regulators

    122

    Current Controllers Based on ON-OFF regulators

    9 Simplest current regulation schemes

    Tow Main groups

    Variable switching frequency ON-OFF regulators

    Limited switching frequency ON-OFF regulators

    9Well adapted for analog controls 9Well adapted for analog & digitalcontrols

    123

    Variable Switching Frequency ON-OFF regulators

    9 Example 1 : Independent three phase free running hysteresis regulators

    Sa

    Vrd

    SM

    SbSc

    isa*

    isb*isc*

    isa isb isc

    isd*

    isq*

    Encoder

    dq

    dq-to-abc

    p

    E

    124

    Variable Switching Frequency ON-OFF regulators

    9 Example 1 : Independent three phase free running hysteresis regulators

    wait

    Start_AD=1wait

    End=1

    Start_OO=1

    Start=1

    Reset

    End_AD=1

    Global control unit FSMGlobal control unit

    ADInterface

    dq-to-abc2 level hysteresis

    comparators

    isa*

    isb*

    isc*isd*

    isq*

    Algorithm control unit

    Start End

    SaSbSc

    isaADisbAD

    AD Control

    Clk Clk

    ON-OFF Current controllerClk

    dq

    Clk

    isaisbiscClk

    End_ADStart_AD

    Start_OO End_OO

    H

    Hardware Architecture

    9 TS = TAD = 2.4 s

    9 Tex= TAD+ tIP+ tH2 = 2.74 sController computation time

    Ts

    Tex

    Application Sa,b,c[k-1]

    tAD tIP tH2tAD tIP tH2

    tAD tIP tH2

    Application Sa,b,c[k] Application

    Sa,b,c[k+1]

    Sample isa[k-1]isb[k-1] dq[k-1]

    Sample isa[k]isb[k] dq[k]

    Sample isa[k+1]isb[k+1] dq[k+1]

  • 125

    Variable Switching Frequency ON-OFF regulators

    Low execution time

    Effects of sampling and delays are very negligible

    H

    isaisa

    isaisa

    H

    Execution time = 50 Execution time = 50 ss Execution time = 2.74 Execution time = 2.74 ss

    H

    isaisa

    H

    isaisa

    126

    Variable Switching Frequency ON-OFF regulators

    Low execution time

    Effects of sampling and delays are very negligible

    H

    isa

    isaisb

    Execution time = 50 Execution time = 50 ss Execution time = 2.74 Execution time = 2.74 ss

    H

    isa

    isaisb

    H

    isb

    H

    isb

    127

    Variable Switching Frequency ON-OFF regulators

    Sa

    Vrd

    SM

    SbSc

    isa*isb*isc*

    isaisb isc

    isd*

    isq*

    Encoder

    dq

    dq-to-abc

    p

    E

    Table

    abc-to-

    abc-to-+-

    +-

    is*

    is*

    isis

    isis

    isb

  • 129

    Variable Switching Frequency ON-OFF regulators

    Low execution time

    Effects of sampling and delays are very negligible

    H

    isis

    isis

    H

    Execution time = 50 Execution time = 50 ss Execution time = 2.92 Execution time = 2.92 ss

    H

    isis

    H

    isis

    130

    Variable Switching Frequency ON-OFF regulators

    Low execution time

    Effects of sampling and delays are very negligible

    H

    isis

    isis

    H

    Execution time = 50 Execution time = 50 ss Execution time = 2.92 Execution time = 2.92 ss

    H

    isis

    H

    is is

    131

    Limited Switching Frequency ON-OFF regulators

    9 Example 1 : Independent three phase free running hysteresis regulators

    Sa

    Vrd

    SM

    SbSc

    isa*isb*isc*

    isa isb isc

    isd*

    isq*

    Encoder

    dq

    dq-to-abc

    p

    ETs

    132

    Limited Switching Frequency ON-OFF regulators

    9 Example 1 : Independent three phase free running hysteresis regulators

    wait

    Start_AD=1wait

    End=1

    Start_OO=1

    Start=1

    Reset

    End_AD=1

    Global control unit FSM

    9 TS = tAD = 100 s

    9 Tex= tAD+ tIP+ tH2 = 2.74 sController computation time

    Application Sa,b,c[k]

    Sampleisa[k]isb[k] dq[k]

    Ts

    FsStart

    Tex

    tAD tIP tH2 tAD tIP tH2

    Ts

    Sampleisa[k+1]isb[k+1] dq[k+1]

    Application Sa,b,c[k+1]

    Global control unit

    ADInterface

    dq-to-abc2 level hysteresis

    comparators

    isa*

    isb*

    isc*isd*

    isq*

    Algorithm control unit

    Start End

    SaSbSc

    isaADisbAD

    AD Control

    Clk Clk

    ON-OFF Current controllerClk

    dq

    Clk

    isaisbiscClk

    End_ADStart_AD

    Start_OO End_OO

    H

    Hardware Architecture

  • 133

    Limited Switching Frequency ON-OFF regulators

    Low execution time

    Effects of sampling and delays are very negligible

    isa

    Execution time = 50 Execution time = 50 ss Execution time = 2.92 Execution time = 2.92 ss

    isa

    THD=14.9% THD=8.9%

    Square current vector error (is+is) Square current vector error (is+is)

    134

    Limited Switching Frequency ON-OFF regulators

    9 Example 2 : Space vector based regulator with three level hysteresis comparators and look-up table working in the - reference frame

    Vrd

    SM

    isa*isb*isc*

    isaisb isc

    isd*

    isq*

    Encoder

    dq

    dq-to-abc

    p

    E

    Table

    abc-to-

    abc-to-+-

    +-

    is*

    is*

    isis

    isis

    isb

  • 137

    Current Controller Based on PI Controllers

    138

    Current Controller Based on PI Controllers

    Sa

    Vrd

    SM

    SbSc

    Vsa*Vsb*Vsc*

    isa isb isc

    Vsd*

    Vsq*

    Encoder

    dq

    dq-to-abc

    p

    E

    PWM Modulator

    dq-to-abc

    isd

    isq

    isd *

    isq *

    +-

    +-

    139

    Current Controller Based on PI Controllers

    abc-to-dq

    isd*

    isq*

    AD Interfaceis1AD

    is2AD

    AD Control

    Global control unit

    Algorithm controller

    StartEnd

    Clk

    Clk

    Clk

    Vector current controller

    isaisb

    Clk

    Start_VC End_VC

    End_ADStart_AD

    PIClk

    Clk

    PI

    dq-to-abc

    Clk

    Vsd*

    Vsq*PWM

    Vsa*

    Vsb*

    Vsc*

    Clk

    dq

    Sa

    Sb

    Sb

    isqisd

    Hardware Architecture140

    Current Controller Based on PI Controllers

    9 Case 1 : Synchronized PWM

    Application Vsa,b,c*[k]

    Sampleisa[k]isb[k] dq[k]

    tPWM/2Tex tPWM/2

    Carrier

    Start

    End_VC

    Ts = tPWM/2

    tAD tVC tAD tVC tAD tVC

    Application Vsa,b,c*[k+1]

    Sampleisa[k+1]isb[k+1] dq[k+1]

    Application Vsa,b,c*[k+2]

    Sampleisa[k+2]isb[k+2] dq[k+2]

    9 TS = TPWM / 2 9 Tex= tAD+ tVC = 3.28 sVector Control computation time

  • 141

    Current Controller Based on PI Controllers

    9 Case 1 : Synchronized PWM

    11 >

    2 >

    1) Ch 1: 200 mVolt 250 us 2) Ch 2: 2 Volt 250 us

    Carrier

    Ts

    11 >

    2 > 1) Ch 1: 200 mVolt 10 us 2) Ch 2: 2 Volt 10 us

    1 >

    2 > 1) Ch 1: 200 mVolt 10 us 2) Ch 2: 2 Volt 10 us

    Carrier vertex

    Start End_VCTex Start End_VCTex

    Carrier vertex

    142

    Current Controller Based on PI Controllers

    9 Case 2 : Non Synchronized PWM

    Application Vsa,b,c*[k]

    Sampleisa[k]isb[k] dq[k]

    tk tk+1 tk+2 tk+m tk+m+1 tk+m+2

    Tex

    Carrier

    Ts

    Application Vsa,b,c*[k+m]

    Sampleisa[k+m]isb[k+m] dq[k+m]

    11 >

    2 >

    1) Ch 1: 200 mVolt 2.5 us 2) Ch 2: 1 Volt 2.5 us

    Start End_VC

    Carrier

    Ts Tex

    9 TS = 5 s 9 Tex= tAD+ tVC = 3.28 sVector Control computation time

    143

    Current Controller Based on PI Controllers

    isa

    THD=11.1%

    isbCarrier Frequency = 1KHz

    Carrier Frequency = 1KHz

    THD=11.1%

    isa

    Carrier Frequency = 3KHz

    isa

    isb

    isa

    isb

    9Experimental Results

    THD=4.1%

    144

    Current Controller Based on PI Controllers

    9Experimental Results

    11 >

    2 >

    1) Ch 1: 1 Volt 25 ms 2) Ch 2: 1 Volt 25 ms

    isd

    isq

    Vsa

    Vsb

  • 145

    Predictive Current Controller

    146

    Predictive Current Controller

    +

    =

    rd

    sq

    sd

    dqsq

    sr

    sq

    sd

    sq

    sd

    sqdq

    sq

    sd

    dqsq

    sd

    sd

    sq

    sd

    iVV

    tLM

    L

    Lii

    Tt

    LL

    tLL

    T

    dtdidt

    di

    )(10

    001

    1)(

    )(1

    9 Sate model of the synchronous machine in the dq rotor reference frame

    9 Digital Prediction Equations

    +==

    +=+

    +=+

    ][][][][][][][][

    ][)1(])[][(]1[

    ][)1(])[][(]1[

    kikMkikLkekikLke

    where

    kiTT

    kekVLT

    ki

    kiTT

    kekVLT

    ki

    rddqsrsddqsdsq

    sqdqsqsd

    sqsq

    ssqsq

    sq

    ssq

    sdsd

    ssdsd

    sd

    ssd

    147

    Predictive Current Controller

    =

    js

    js

    dqdq

    dqdqj

    sq

    jsd

    VV

    VV

    )cos()sin()sin()cos(

    7 different stator voltage vectors Vsdqj=[Vsdj Vsqj]t (j=0..7)

    7 different directions tj(j=0..7) and errors j(j=0..7)

    +==

    +=+

    +=+

    ][][][][][][][][

    ][)1(])[][(]1[

    ][)1(])[][(]1[

    kikMkikLkekikLke

    where

    kiTTkekV

    LTki

    kiTTkekV

    LTki

    rddqsrsddqsdsq

    sqdqsqsd

    sqsq

    ssq

    jsq

    sq

    sjsq

    sdsd

    ssd

    jsd

    sd

    sjsd

    ]1[][]1[ * +=+ kikiki jsdqsdqjsdqrrr

    ][]1[][ kikikt sdqj

    sdqj

    rrr +=

    148

    Predictive Current Controller

    d

    q

    isdq[k]

    isdq*[k]t0,7 t4

    t5

    t6t2

    t3

    t1

    isdq1[k+1]isdq1[k+1]

    isdq[k]isdqj[k+1]

    isdq*[k]

    isdqj[k+1]tj[k]

    Predicted current error vector Predicted current error vector isdqisdqjj Example of different prediction possibilitiesExample of different prediction possibilities

  • 149

    Predictive Current Controller

    SM

    Vrd

    dq

    Optimization

    E

    isd*

    isd

    isq

    esd esq

    dq

    (isdqj)(j=0..7)SaSbSc

    Prediction

    Couplingterms

    isq*

    pm

    d/dt

    isa

    isbabc-to-dq

    9 Predictive Controller Principle

    150

    Limited Switching Frequency ON-OFF regulators

    9 Hardware architecture

    wait

    Start_AD=1wait

    End=1

    Start_OO=1

    Start=1

    Reset

    End_AD=1

    Global control unit FSM

    9 TS = 100 s

    9 Tex= tAD+ tPr = 4.52 sPredictive Controller computation time

    AD Interface

    isaADisbAD

    AD Control

    SaSbSc

    Global control unit

    Algorithm controller

    Start End

    Clk

    ClkPredictive current controller

    Start_Pr End_Pr

    End_ADStart_AD

    EAD

    abc-to-dq

    Clk

    Couplingterms

    Clk

    Prediction& optimization

    Clk

    isd*isq*

    E

    isdisq

    esdesq

    Clk

    Speed Estimator

    Clk

    p

    offset

    dq++

    m

    isa

    isb

    dq

    Application Sa,b,c[k]

    Sampleisa[k] isb[k] dq[k]

    FsStart

    Ts

    Tex TstAD tPr tAD tPr

    Sampleisa[k+1]isb[k+1] dq[k+1]

    Application Sa,b,c[k+1]

    151

    Current Controller Based on PI Controllers

    9 Experimental Results

    isa

    THD=8.8% isb

    THD=8.8%

    isa

    isa

    isb

    Vsa

    Vsb

    152

    Current Controller Based on PI Controllers

    9 Experimental Results

    + Isn

    - Isn

    + Isn

    - Isnisd

    isq

    isd

    isq

  • 153

    FPGA-Based speed control for

    Synchronous Machine Drive using PPI controller

    154

    Problem Positioning

    Objective : Development of a high performance FPGA-based speed controller

    Most important criteria for the speed control

    9 Fast speed dynamic

    9 Accurate speed response

    9 Quick speed recovery from disturbances

    155

    Speed Controller Design

    Vsd

    isd

    Vrd

    ird

    Vsqisq d

    q

    dq Sa

    dq

    sqsd

    sdssd dtd

    iRV +=

    sdsq

    sqssq dtd

    iRV ++=rdsrsdsdsd iMiL +=

    sqsqsq iL=

    sdsrrdrdrd iMiL +=)(

    23

    sdsqsqsde iipT =

    9 Synchronous machine model

    156

    Speed Controller Design

    9 Current controller

    Sa

    Vrd

    SM

    SbSc

    isa*

    isb*

    isc*

    isa isb isc

    isd*

    isq*

    Encoder

    dq

    dq-to-abc

    p

    E

  • 157

    Speed Controller Design

    9 Current controllerCurrent Controller Timing Diagram

    TAD TCC TAD TCC

    Ts=100 s Ts=100 s

    tk tk+1

    Tex=2.74s

    Sample isa,b[k]dq[k]

    tk+Tex

    Application Sa,b,c[k]

    tk+1+Tex

    Sample isa,b[k+1]dq[k+1]

    Application Sa,b,c[k+1]

    time

    isa isb

    isa

    isb

    isq

    isd

    Isn

    - Isn

    158

    Speed Controller Design

    9 Speed controller synthesis

    Current Control Loop

    Speed Control LoopInternal Loop (Proportional controller)

    External Loop (PI controller)

    isq1

    1+sT isqKvPI*

    +-

    +-

    i isq*

    pMsrird-+

    fJsp+

    Tr

    159

    Speed Controller Design

    9 Speed controller synthesis

    Internal Loop (Proportional Controller)Impose the controlled system poles at the desired positions

    Internal speed control loop transfer function

    isq

    rdsrv

    isq

    isq

    rdsrv

    i

    JTiMpKs

    Ts

    JTiMpK

    5.11

    5.1

    ++=

    =1

    Proportional Gain

    2)2

    1(

    1

    isq

    i

    Ts +

    =

    Re

    Im

    =1

    Roots Locus 160

    Speed Controller Design

    9 Speed controller synthesis

    PI* +-

    2)2

    1(

    1

    isqTs +

    External Loop (PI Controller)- Zero steady-state error

    - Impose the shape and the dynamic of the speed response

    External speed control loop transfer function

    isq

    rdsrvp

    isq

    isq

    rdsrvp

    JTiMpKK

    sT

    s

    JTiMpKK

    5.12

    1

    5.1

    *

    ++=

    isq1

    1+sT isqKvPI*

    +-

    +-

    i isq*

    pMsrird-+

    fJsp+

    Tr

    2n n2

  • 161

    Speed Controller Design

    9 Speed controller synthesis

    Current Controller

    Speed ControllerSa

    400V/50Hz

    Vrd

    SM

    SbSc

    isa*

    isb*

    isc*

    isa isb isc

    isd*0isq*Kv

    Encoderd/dt

    Speed Estimator

    dq

    dq-to-abc+

    -

    +

    -*

    Internal Loop

    External Loop

    162

    Speed Controller Design

    9 Speed estimator design

    )]1[][

    (1024

    4][T

    kkk mm =

    SM1024 points

    Absolute Encoder

    10 bits(P9 P8..P1 P0)

    Backward difference

    Variable sampling periodOperating mode synchronized with state changes of the LSB of theencoder

    + 1

    kTSensek 1

    10244][ =

    Denotes the time spent for one unit displacement of the encoder

    Determined via the state changes of the two LSB P0 and P1

    163

    Speed Controller Design

    9 Speed estimator design

    P0Counter 0 1 2 nk 0 1 2 nk+1

    Tk T(k+1)

    1/Fc

    c

    kk F

    nT =

    Tk ComputationSense Computation

    -1(negative)1011

    +1(positive)0011

    -1(negative)0110

    +1(positive)1110

    -1(negative)0001

    +1(positive)1001

    -1(negative)1100

    +1(positive)0100

    SenseP1[k+1]P0[k+1]P1[k]P0[k]

    kTSensek 1

    10244][ =

    Denotes the time spent for one unit displacement of the encoder

    Determined via the state changes of the two LSB P0 and P1

    164

    Speed Controller Design

    9 Speed estimator design

    Speed Estimator Hardware ArchitectureSpeed Estimator Hardware Architecture

    Compteur

    nk

    Fcompt

    Rc

    - +

    0en2

    en3

    en0

    en1

    en0

    en1

    Sense Computation

    XORd0

    P0 P1

    ETAT0

    ETAT1en0=1

    ETAT2Fcompt=1

    S

    ||-||

    ETAT3en2=1

    ETAT4en3=1

    ETAT5en1=1Rc=1

    Reset

    Clk Start=1

    Clk

    Clk

    Clk d0=0

    d0=1

    Clk

    Clk

    Clk

    kTSensek 1

    10244][ =

    Data-Path

    Control Unit

  • 165

    Speed Controller Design

    9 Speed controller architecture

    Speed Controller Timing Diagram

    TAD TCC TAD TCC

    Ts=100 s Ts=100 s

    tk tk+1

    Tex=3.45s

    Sample isa,b[k]dq[k]

    tk+Tex

    Application Sa,b,c[k]

    tk+1+Tex

    Sample isa,b[k+1]dq[k+1]

    Application Sa,b,c[k+1]

    time

    FPGA-based Speed controller

    Global control unit

    Speed controller control unit

    AD InterfaceP-PI

    (dq/123)3 Phases hysteresis controller

    Speed estimator

    m

    offset

    Clk Clk Clk Clk

    Clk

    C1C2C3

    Clk

    Clk

    isd*=0

    *

    Start End

    is1 is2 is3

    is1_ADis2_ADAD

    control

    isq*

    is1*

    is2*

    is3*

    TSCTSC

    Note : The speed estimator works independently from the other modules and is synchronized to the state changes of the LSB of the encoder

    166

    Speed Controller Design

    InterfaceInterface

    Vrd

    Amplification A/DEncoder

    isbisc

    dq

    FPGAFPGA

    Speed Controller

    Serial Interface

    AD Interface

    isa

    Sa Sb Sc

    ReferencesRS232

    isa isbAD Control

    Host-PC

    isaisb

    Spartan3 Xc3s400 (400.000 gates)

    400V/50Hz

    9 Experimental Set-up

    167

    Speed Controller Design

    9 Experimental ResultsStep Speed Response Speed tracking performance

    =200 rad/s

    =0 rad/s

    =-200 rad/s

    =200 rad/s

    =-200 rad/s

    =200 rad/s

    =200 rad/s

    =0 rad/s

    168

    Speed Controller Design

    9 Experimental Results

    isa

    isb

    Current waveforms

    isa

    isb

    Current waveforms for a reversal speed operation

    Response to a step of a rated load torque

    TL=5Nm

  • 169

    Conclusions

    A full FPGA-based speed controller for SM drive has been presented

    A very efficient P-PI speed regulator has been synthesized

    An original speed estimator has been developed, it allows to obtain the best accuracy

    An original speed estimator has been developed, it allows to obtain the best accuracy

    The obtained experimental results give proof of the ability of the developed speed control system to achieve an efficient and robust speed control under different operating conditions

    170

    Induction Motor Experimental Set-up

    IMIM400V/50Hz

    LOAD

    Encoder

    10

    AD Control

    ReferencesRS232

    12

    12

    Gate pulses

    AD Interface

    UART

    isaisbisc

    FPGA

    ADcontrolleralgorithm

    VSI Interface

    Induction Motor Experimental Set-up

    VSIInterface

    and Control Boards

    IM

    L E

    Laboratoire Systmes lectriques172

    Induction Motor Experimental Set-up

    VSI Interface

    Board

    AD Converters Board

    FPGA Spartan 2

    100.000 Gates

  • 173

    Induction Motor Experimental Set-up

    Load Incremental Encoder

    Induction Machine

    Load Control VSI

    University of Aleppo

    174

    Induction Motor Experimental Set-up

    VSI Interface Board

    ADC Board

    FPGA Spartan 3 400.000 Gates

    175

    2nd Case Studies Series:

    FPGA-based Intelligent Controllers for AC Drives and AC Generators:

    * A PWM control system modelling / design / FPGA implementation using VHDL

    9 Modelling an induction motor drive system using an FPGA PWM neural controller

    9 Modelling a diesel driven generator employing fuzzy-logic/PWM FPGA control

    176

    * PWM Control System Design Using VHDL

    SYNCHRONISATION: (Carrier-triangular / M odulator-sinusoidal)Counter output bus

    Triangular waveform generator M ax_count

    M ax_count Clock (Reversible up-down counter)

    Start Reset OUT_SIGNAL CONTROL COM PARATOR

    Clock (PW M )

    Next Address M emory generator

    (Sinewave)

  • 177

    Three-Phase Sinusoidal PWM Pattern Generation

    178

    Block diagram of the 3-phase PWM circuit

    179

    Complete VHDL Code - 1 Phase PWM Generatorlibrary ieee;use ieee.std_logic_1164.all;entity pwm is

    port(out_signal: out std_logic;clock,start: in std_logic;Max_count: in integer);

    end pwm;architecture behav of pwm is

    signal counter_out_bus : integer;signal next_pulse,reset: std_logic;signal val_max, adr, data: integer;

    begincounter_rev: process(clock,reset)

    variable direction: std_logic :='1';variable v: integer :=0;

    beginif reset'event and reset='1' then

    v:=1;elsif clock'event and clock='1' then

    if direction='1' thenif v-val_max thenv:=v-1;

    elsev:=v+1;direction:='1';

    end if;end if;

    end if; counter_out_bus=0 and adr

  • 181

    architecture arch_test of test iscomponent pwm

    port(out_signal : out std_logic;clock,start: in std_logic;Max_count: in integer);

    end component;signal clock: std_logic :='0';signal start: std_logic := '0';signal Max_count: integer;signal out_signal: std_logic;

    beginMax_countMax_count,

    out_signal=>out_signal);end arch_test;configuration conf_test of test is

    for arch_testend for;

    end conf_test;

    reset

  • 185

    The RLe Equivalent Circuit of the Induction Motor

    ( )[ ] ( )

    ==

    +=++==

    =

    s

    s

    srer

    srr

    r

    mssm

    srrer

    srr

    r

    m

    s

    r

    2mrs

    iiuu

    jiRLLiLiLjiR

    LLe

    RRL

    LLLL

    186

    The Neural PWM Controller

    187

    Speed Control PrincipleszThe control is achieved in polar coordinates (module and angle).zThe rotor speed is controlled by compensating the slip frequency.zSlip frequency is kept constant for any load torque & any rotor speed.zThe slip frequency depends on the angle between e and is,,, controlled

    by means of:* stator frequency* stator current amplitude

    zThe current amplitude Is is corrected according to the position of vector ein the complex plane.zThe stator frequency fs follows the reference speed profile. zVery fast stator frequency changes have to be avoided because they cause

    slow transient response.

    188

    Basic Control Algorithm

    Improved Control Algorithm

    Simulation

  • 189

    Neural PWM Controller VHDL Design for Implementation

    190

    Simulation /Test Results PWM Neural Controller

    191

    Test Results - Motor

    Speed control at step torque riseControlled versus natural torque characteristic

    192

    Achievements

    zInduction motor drives can be controlled using neural algorithms, implying a smaller number of calculations than vector control.

    zThe proposed speed control algorithm can be expressed as a set of mathematical equations written in polar co-ordinates.

    zThe angle and sector calculations are carried out by hardware implemented neural networks.

    zThe entire control scheme has been modelled and designed in VHDL, synthesised and implemented into Xilinx XC4010 FPGA.

    zThe implementation offers a cost-effective solution for industrial applications without high dynamic requirements.

    zTest results have confirmed correct operation of the controller.

  • 193

    2. MODELLING A STAND ALONE DIESEL DRIVEN GENERATOR SET USING

    FUZZY-LOGIC AND PWM CONTROL

    SynchronousGenerator

    Diesel Engine

    PWM ControlPWM ControlFuzzyFuzzy ControlControl

    VDC

    Fuel Control

    RECTIFIER PWM INVERTER

    C

    STAND-ALONE

    GENERATOR

    3 phaseoutput

    FPGA FPGA ControllerController

    194

    Project BackgroundIn a given synchronous machine the operational speed is dependent onthe desired output frequency.

    Variable speed operation of generators increases design freedom: speedis not determined by the desired electrical frequency.

    It allows engine-generators systems to be operated at speeds whichoptimise desired parameters such as noise, vibrations, fuel efficiency, engine emissions.

    The research aim is to design and build a control system for a stand alone variable speed PM synchronous generator.

    This has been developed on the basis of fuzzy logic, using VHDL and is implemented in Xilinx FPGA.

    195

    PWM Inverter Simulation Results

    -300

    0

    300

    600Vout

    Vdc

    time [ms]196

    Fuzzy Variable Speed Governor Fuzzy Variable Speed Governor (FVSG) - controller based on fuzzy logic.

    Designed using VHDL for easy correction and future integration with othercomponents to extend the system.

    System configuration allows variable speed operation of the generator.

    valve engine generator rectifier inverter

    Fuzzifier

    FuzzyInferenceMachine

    Fuzzy Rule Base

    Defuzzifier

    xx 11

    xx 22

    a.c.output

    FVSGFVSG

    PWMControl

    ddt

  • 197

    DC Voltage Fuzzy Controlled Response to Load Current Step Increase

    0

    200

    400

    600

    800

    1000

    1200

    1400

    1 21 41 61 81 101 121 141 161 181 201 221 241 261 281 301 321 341 361 381

    ILOAD =10A

    ILOAD =20A

    DC Voltage (Normalised to 1000)Load Current

    Reference Voltage

    time (sampling units)

    Voltage (normalised)

    198

    050

    100150200250300350

    0 5 10 15 20 25 30 35 40 45

    time [sec]

    d

    .

    c

    .

    v

    o

    l

    t

    a

    g

    e

    [

    v

    o

    l

    t

    ]

    Experimental Test Results

    050

    100150200250300350

    0 5 10 15 20 25 30 35 40 45

    time [sec]

    d

    .

    c

    .

    v

    o

    l

    t

    a

    g

    e

    [

    v

    o

    l

    t

    ]

    Without controller With controller

    Step Change in a.c. Load Current d.c. Voltage response

    199

    AchievementsPWM controller

    voltage control using PWM is a simple and effective strategy forobtaining and maintaining the desired output voltage parameters.

    Fuzzy logican effective design solution for the speed governor.able to produce a competent control system without the need for a precise mathematical model of the plant.the controller is reconfigurable by changing the rule base.design can be easily extended to include more parameters.

    VHDLdesign, modelling & simulation performed on a single platformthe same design tool can be used for hardware implementationreusable design modules are producednew developments of the design can easily be performed

    200

    General ConclusionsA novel modelling technique is proposed for the holistic investigation of engineering systems. This is based on Hardware Description Languages (VHDL).

    The sample systems were developed from idea, through modelling / simulation, to complete systems commissioning, in short time, giving further advantages: 9easy integration of electronic controllers in complex engineering system models. 9 reliable framework for design verification9high confidence in correct first time operation 9allows rapid FPGA prototyping of electronic controllers9gives multiple choices for controllers final implementation technology9high degree of flexibility

    A CAD platform independent model & design are developed and therefore valuable IPs can be produced, in co-relation with the modern principles of design reuse.

    Concurrent engineering basic rules (unique EDA environment and common design database) are fulfilled.

    Estimation: HDL based holistic modelling methodologies will be increasingly used in the future and expanded to encompass other areas of engineering systems.

  • 201

    Recent DevelopmentsHandelHandel--CC a novel compiler for Hardware-Software co-design from Celoxica.

    C/C++ System ModelHandel-C compiler Assembly code compiler

    VHDL hardware description Microprocessor software code

    RosettaRosetta is a language for modelling/describing engineering systems Presently the focus is on complex electronic systems -> SOC Being explored for complex mechanical systems Defines systems by writing and composing models with respect to domains. Consists of a syntax (a set of legal descriptions) and a semantics (a meaning

    associated with each description)

    MilleniumMillenium MachineMachine new EPSRC (UK) funding initiative for holistic modelling of engineering systems (systems of systems). 202

    General Conclusions

    The simultaneous increase of the control algorithm complexity and the chip density implies the use an efficient design methodology. A modeling technique is proposed for the holistic investigation of power electronic systems. This is based on System Level Modeling Languages or HDL and allows rapid FPGA prototyping of the control systems. Three main design rules are presented.

    the algorithm refinement, the modularity, the systematic search for the best compromise between the control performances and the architectural constraints (see A3 section).

    Full and timely examples are presented to illustrate the benefits of FPGA implementation when using the proposed design approach. It is demonstrated that in both cases a low cost FPGA-based controller can greatly improve the control performance, especially due to the reduction of execution time, while keeping a high level of flexibility.

    203

    Perspectives In the near future, the complexity of the control systems will continue to grow.

    The tasks devoted to the control algorithm will no longer be limited to regulation but will have to manage diagnosis and fault-adaptive on line control.

    The research effort on the theory and the applications of dynamic reconfiguration is crucial.

    Network-on-a-Chip (NoC) SoC design that can include digital control and its analog interface (sensors, ADC, power drivers, etc.).

    Co-design issue must be addressed, since the borders between software and hardware are rapidly vanishing. The main problem in this case is to propose automatic rules of partitioning, based on relevant

    quantitative indicators.

    Another interesting direction of research is based on the following observation: a control algorithm, when implemented in an FPGA, can have a very short execution time due to the high degree of parallelism of its architecture. At the same time, the constraints imposed by the power electronic components imply a sampling period that is much higher than the execution time. The resulting wasted time could be advantageously employed.

    Several examples of relevant FPGA utilizations in this context were presented. They consist of predictive control, over-sampling strategies, multi-plants control, etc. All these very promising control paradigms must still be improved.

    204

    BibliographyM.N. Cirstea, A. Dinu, J. Khor, M. McCormick, "Neural and Fuzzy Logic Control of Drives and Power Systems", Elsevier Science Ltd., 2002.M.N. Cirstea, A. Dinu, D. Nicula: "A Practical Guide to VHDL Design", EdituraTehnica, Bucharest, Romania, 2001, ISBN: 9733115398.A. Dinu: "FPGA Neural Controller for Three Phase Sensorless Induction Motor Drive Systems", PhD Thesis, De Montfort University, 2000.J. Khor, "Intelligent Fuzzy Logic Control of Generators", PhD Thesis, De Montfort University, UK, 1999.A. Zregh: Holistic Modelling of Stand Alone Generators, MPhil thesis, De Montfort University, UK, 2003. B.K Bose: Modern Power Electronics & AC Drives, Prentice Hall, 2002.M. P. Kazmierkowski, R. Krishnan, F. Blaabjerg, J. D. Irwin (Editors): Control in Power Electronics: Selected Problems, Academic Press, 2002. D.L. Perry: "VHDL", McGraw-Hill, 1998.Xilinx home page: http://www.xilinx.com/Celoxica home page: http://www.celoxica.com/Rosetta home page: http://www.sldl.org/

  • 205

    Bibliography F. Ricci, H. Le-Huy, An FPGA-based rapid prototyping platform for variable-speed drives, in Proc. IEEE IECON02 Conf., 2002, pp. 1156-1161. L. Charabi, E. Monmasson, I. Slama-Belkhodja, Presentation of an efficient design methodology for FPGA implementation of control system application to the design of an antiwindup PI controller, in Proc. IEEE IECON02 Conf., 2002, pp. 1942-1947. R. Andraka, A survey of CORDIC algorithms for FPGAs, in Proc. ACM/SIGDA Conf., 1998, pp. 191-200. S.A. White, Applications of Distributed Arithmetic to Digital Signal Processing: A Tutorial Review, IEEE ASSP Mag., pp. 4-21, July 1989. F. Zhengwei, J.E. Carletta, R.J. Veillette, A methodology for FPGA-based control implementation, IEEE Trans. Control Systems Technology, Vol. 13, n6, pp. 977-987, Nov. 2005. D. Menard and O. Sentieys. Automatic Evaluation of the Accuracy of Fixed-point Algorithms, in Proc. IEEE/ACM Conference on Design, Automation and Test in Europe, 2002, CD-ROM. K. Kebbati, Y.A. Chapuis, F. Braun, IP modules for motor control FPGA/ASIC integration, in Proc. IFIP Conf., 2001, pp. 385-390. Texas Instruments DSC Group, A software modularity strategy for Digital Control System motor, SPRU485A, August 2001,Revised October 2003. T. Grandpierre, C Lavrenne and Y. Sorel, Optimized rapid prototyping for real-time embedded heterogeneous multiprocessor, in Proc. CODES99 7th International Workshop on Hardware/ Software Co-Design Conf., 1999, CD-ROM. E. Monmasson, J.C. Hapiot, M. Granpierre "Analysis of a current controller for AC drives entirely based on FPGAs," in Proc. ICEM, Conf., Sept. 1994, vol. 3, pp. 1-5. S. Berto, A. Paccagnella, M. Ceschia, S. Bolognani, M. Zigliotto, Potentials and pitfalls of FPGA application in inverter drives - a case study, in Proc. IEEE ICIT Conf., 2003, Vol. 1, pp. 500-505. Y.A. Chapuis, J.P. Blonde, F. Braun, FPGA Implementation by Modular Design Reuse Mode to Optimize Hardware Architecture and Performance of AC Motor Controller Algorithm, in Proc. of 11th EPE-PEMC Conf., 2004, CD-ROM. K.V. Ling, S.P. Yue and J.M. Maciejowski, Model Predictive Control on a Chip, in Proc. IEEE ACC Conf., 2006, CD-ROM. A. Fratta, G. Griffero, S. Nieddu, Comparative analysis among DSP and FPGA-based control capabilities in PWM power converters, in Proc. IEEE IECON Conf., 2004, Vol. 1, pp. 257-262. F. Blaabjerg, P.C. Kjaer, P.O. Rasmussen, C. Cossar, Improved digital current control methods in switched reluctance motor drives, IEEE Trans. Power Electron., vol. 14, n3, pp. 563-572, May 1999. O. Garcia, P. Zumel, A. de Castro, J.A. Cobos, J. Uceda, An automotive 16 phases DC-DC converter, in Proc. IEEE PESC Conf., 2004, Vol. 1, pp. 350-355. J. Chen; P.C. Tang, A sliding mode current control scheme for PWM brushless DC motor drives, IEEE Trans. Power Electron., vol. 14, n3, pp. 541-551, May 1999. C. Attaianese, V. Nardi, G. Tomasso, A Novel SVM Strategy for VSI Dead-Time-Effect Reduction, IEEE Trans. Indus. Appl., vol. 41, pp.1667-1674, Nov/Dec 2005.

    206

    K. Bondalapati, V.K. Prasanna, Reconfigurable computing systems, Proceedings of the IEEE , Vol. 90, pp. 1201-1217, Jul. 2002. E. Monmasson; B. Robyns; E. Mendes, B. De Fornel, Dynamic reconfiguration of control and estimation algorithms for induction motor drives, in Proc. IEEE ISIE Conf., 2002, pp. 828 833. Y.Y. Tzou, J.J. Jyang, A programmable Current Vector Control IC for AC Motor Drives, in Proc. IECON99 Conf., 1999, CD-ROM. K. Tazi, E. Monmasson and J.P. Louis, Description of an entirely reconfigurable architecture dedicated to the current vector control of a set of AC machines, in Proc. IEEE-IECON99 Conf., 1999, pp. 1415-1420. E. Monmasson, J.C. Hapiot, M. Granpierre, A digital control system based on field programmable gate array for AC drives, EPE Journal, vol. 3, n 4, Nov. 1993, pp. 227-234. Y-A. Chapuis, C. Girerd, F. Aubpart, J-P. Blond and F. Braun, Quantization problem analysis on ASIC-based Direct Torque Control of an induction machine, in Proc. IEEE-IECON98 Conf., 1998, pp.1527-1532. H.J. Lee; S.K. Kim; Y.A. Kwon; S.J. Kim, ASIC design for DTC based speed control of induction motor, in Proc. IEEE ISIE01 Conf., 2001, pp. 956 961. S.J. Henriksen, R.E. Betz and B.J. Cook, Digital hardware implementation of a current controller for IM variable-speed drives, IEEE Trans. Ind. Appl., vol. 35, pp.1021-1029, Sept./Oct. 1999. A.A. Jerraya, H. Ding, P. Kission, M. Rahmouni, Behavioral Synthesis and Component Reuse with VHDL. Kluwer Academic Publishers, 1998. T. Riesgo, Y. Torroja, E. De la Torre, Design methodologies based on Hardware Description Languages, IEEE Trans. Ind. Electron., vol. 46, pp. 3-12, Feb. 1999.

    Bibliography

    207

    Questions ?