Upload
leneneck9057
View
213
Download
0
Embed Size (px)
Citation preview
8/22/2019 8i20man
1/39
8I20 THREE PHASE MOTOR DRIVE MANUAL
V1.8
8/22/2019 8i20man
2/39
CAUTION!
THE 8I20 USES VOLTAGE AND POWER LEVELS THAT REPRESENTA HAZARD TO LIFE AND LIMB.
THE 8I20 IS INTENDED FOR USE BY OEMS THAT WILLINTEGRATE IT INTO A SYSTEM WITH INTERLOCKS AND OTHER
SAFETY FEATURES TO PREVENT USERS FROM CONTACTINGHAZARDOUS POTENTIALS OR BEING INJURED BY MECHANISMSPOWERED BY THE 8I20.
WHEN CHANGING JUMPERS OR OTHER OPERATIONS THATREQUIRE PHYSICAL CONTACT TO THE 8I20 CARD:
1. DISCONNECT MOTOR POWER AT THE 8I20
2. DISCONNECT MOTOR U,V,W AT AT THE 8I20. EVEN WITH NOPOWER APPLIED TO THE 8I20, A SPINNING SERVO MOTOR CAN
GENERATE LETHAL VOLTAGES.
3. WAIT 5 MINUTES FOR ON CARD MOTOR POWER CAPACITORSTO DISCHARGE.
WHEN TESTING THE 8I20 ON THE BENCH IT IS SUGGESTED TOAT THE MINIMUM:
1. CONNECT THE 8I20'S CHASSIS GROUND CONNECTION TO ASECURE BUILDING GROUND.
2. USE A ISOLATED MOTOR POWER SUPPLY
3. TEST FIRST WITH A LOW VOLTAGE MOTOR POWER SUPPLY
4. TAKE EXTREME CARE WITH SERVO SYSTEMS, EXPECT THEMTO RUN_AWAY WHEN FIRST TESTED.
8/22/2019 8i20man
3/39
iii
Table of Contents
GENERAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
DESCRIPTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
HARDWARE CONFIGURATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
GENERAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2LOGIC POWER SOURCE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
SETUP/OPERATE MODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2SERIAL PORT TERMINATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
CONNECTORS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
CONNECTOR LOCATIONS AND DEFAULT JUMPER POSITIONS . . . . . . . . 3MOTOR/POWER/BRAKE CONNECTOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4LOGIC POWER/FAULT CONNECTOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4RS-422 SERIAL CONNECTOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
OPERATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6LOGIC POWER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6MOTOR POWER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6MOTOR BRAKE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6MOTOR CONNECTIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7ENABLE INPUT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7FAULT OUTPUT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7FAULT CONDITIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7CLEARING FAULTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8FAULT MASK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8STATUS REGISTER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
STATUS LEDS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10HEATSINKING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10DRIVE PARAMETER SETUP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
PC HOST ADAPTER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11SETUP COMMUNICATION WITH 8I20 . . . . . . . . . . . . . . . . . . . . . . . . 12WPD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12RPD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13MAIN DRIVE SETUP PARAMETERS . . . . . . . . . . . . . . . . . . . . . . . . . 13MAXCURRENT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13BRAKEONV and BRAKEOFFV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14CURRENT LOOP TUNING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
8/22/2019 8i20man
4/39
iv
Table of Contents
CONTROLLERS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15MULTI AXIS CONTROLLERS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
HOSTMOT2 8I20 INTERFACE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15SOFTDMC 8I20 INTERFACE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15ANYTHING I/O INTERFACE DAUGHTER CARDS . . . . . . . . . . . . . . . 15
REFERENCE INFORMATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16SPECIFICATIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16LBP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
LBP DATA READ/WRITEWCOMMAND . . . . . . . . . . . . . . . . . . . . . . . 17EXAMPLE COMMANDS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18LOCAL LBP COMMANDS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19LOCAL LBP READ COMMANDS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19LOCAL LBP WRITE COMMANDS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21RPC COMMANDS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22EXAMPLE RPC COMMAND LIST . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23CRC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
8I20 PARAMETERS LIST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25SSLBP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
GENERAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28REGISTER MAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28PROCESSOR INTERFACE REGISTERS . . . . . . . . . . . . . . . . . . . . . . 28COMMAND REGISTER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28DATA REGISTER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29LOCAL READ OPERATIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29LOCAL WRITE OPERATIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29NORMAL START . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308I20 DEVICE SPECIFIC SETUP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30STOP LBP INTERFACE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30STOP INDIVIDUAL CHANNELS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
DOIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30INTERFACE REGISTERS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31CS REGISTER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31INTERFACE REGISTER 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328I20 SPECIFIC INTERFACE REGISTER 0 DEFINITIONS . . . . . . . . . 32INTERFACE REGISTER 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328I20 SPECIFIC INTERFACE REGISTER 1 DEFINITIONS . . . . . . . . . 32NORMAL MODE OPERATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33SETUP START . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33SETUP MODE OPERATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
8/22/2019 8i20man
5/39
8I20 1
GENERAL
DESCRIPTION
The 8I20 is a low cost 2200W 400V three phase torque mode/voltage modeamplifier for synchronous permanent magnet servo motors (Brushless AC servo) up toapproximately 3HP. The 8I20 will supply peak currents of 30A.
High side logic and gate power are derived from the low side allowing a wideoperational bus voltage range (24 to 400VDC) and host communication when bus voltageis off. Low side power can be 5V +-5% or 8-40 V unregulated. 3750V RMS isolation isprovided between high and low side electronics. Hall effect current sensing is used along
with high speed bus voltage monitoring for an accurate, stable, and fast current/torquecontrol loop.
Host communications are provided by a low overhead 2.5 Mbps serial protocol overisolated RS-422 link. Link speed allows up to 5 KHz update rates from host.
High side over current sensing protects the IGBT module from line-line andline-ground faults. A brake output capable of 15A drive is provided. The brake output canbe driven at a presettable overvoltage setting.
Even though it uses a 40 MIPs DSP, the 8I20 is a 'dumb' amplifier suitable for
integration in host based motion control systems. The 8I20 requires reference angle andrequested current/torque or voltage values sent from a host controller. The 8I20 uses therequested torque and reference angle to control the current loop. The 8I20 can echo statusinformation to the host controller including bus voltage, phase currents, card temperature,and other parameters..
Both smart (SoftDMC) and host based (HostMot2) multi axiscontrollers are availablefor the 8I20. Up to 32 axis of motion can be controlled by a single low cost FPGA basedcontroller.
8/22/2019 8i20man
6/39
8I20 2
HARDWARE CONFIGURATION
GENERAL
Hardware setup jumper positions assume that the 8I20 card is oriented in an uprightposition, that is, with the I/O and power connectora towards the top of the card, away fromthe person doing the configuration;.
LOGIC POWER SOURCE
The 8I20's logic power can be supplied via the serial cable or via pluggable terminalblock TB1. Jumper W2 determines the power source,
W2 MODE
UP Logic side power from serial cable (5VDC)
DOWN Logic side power from TB1 (7 to 48VDC)
SETUP/OPERATE MODE
The 8I20 can run in setup mode or operate mode. In setup mode, the serialinterface baud rate is fixed at 115.2 KBaud and the motor drive circuits are disabled. In the
operate mode, the baud rate is set to 2.5 Mbaud (default) and the motor drive circuitry isenabled. Setup mode is enabled to allow normal PC serial ports or USB serial adaptorsto communicate with the 8I20 for setup purposes. W6 controls the setup/normal modeselection.
W6 MODE BAUD RATE
UP Operate mode 2.5 Mbps (default, can be changed)
DOWN Setup Mode 115.2 Kbps (fixed)
SERIAL PORT TERMINATION
The RS-422 serial port on the 8I20 can be terminated or un-terminated. Normallythe 8I20 is the serial cable endpoint so the port must be terminated. If the 8I20 is used withother devices on a shared RS-422 interface, the 8I20 should only be terminated if it is thelast physical device on the RS-422 cable. W4 and W5 enable and disable the termination
W4,W5 MODE
UP,UP Terminated (default)
DOWN.DOWN Unterminated
8/22/2019 8i20man
7/39
8I20 3
CONNECTORS
8I20 CONNECTOR LOCATIONS AND DEFAULT JUMPER POSITIONS
8/22/2019 8i20man
8/39
8I20 4
CONNECTORS
MOTOR - POWER - BRAKE CONNECTORS
The motor, motor power and brake connections are brought out on .250" spadeterminals on the top edge of the 8I20 card. From left t right the terminal functions are:
1 Chassis Gnd
2 Brake resistor -
3 Brake resistor +
4 Motor power +
5 Motor power -
6 Motor W
7 Motor V
8 Motor U
9 Chassis Gnd
LOGIC POWER/FAULT CONNECTOR
TB1 is the logic power/ fault output/enable input connector. TB1 is a six terminal 3.5mm pluggable screw terminal block. TB1 pinout is as follows:
1 Unregulated logic power +
2 Unregulated Logic power -
3 Enable in +
4 Enable in -
5 Fault out +
6 Fault out -
8/22/2019 8i20man
9/39
8I20 5
CONNECTORS
SERIAL PORT
J1 is the 8I20s serial interface. J1 is a RJ-45 jack. The serial interface pinout iscompatible with standard 8 wire CAT5 Ethernet cables. J1 pinout is as follows:
1 RXA
2 RXB
3 TXA
4 GND
5 GND
6 TXB
7 +5V
8 +5V
J1s pinout is designed to match breakout cards like the 7I44. A standard CAT5 orCAT5E cable can be used to connect the 8I20 to a 7I44. CAT5E cable is suggested if theserial cable is used for powering the 8I20, as the larger wire size result in lower voltagedrop.
8/22/2019 8i20man
10/39
8I20 6
OPERATION
LOGIC POWER
All logic on the 8I20 runs from 5V logic power. This can be supplied over the serialcable, or via a on card 5V regulator. Jumper W2 determines the logic power source. Whenjumper W2 is in the UP position, 5V logic power is suppled by the serial cable. Due tovoltage drop in the serial cable. The 8I20 should only be powered via the serial cable whenserial cable length is 8 feet or less. Typical 5V power consumption is 350 mA.
Logic power can also be supplied via the on card regulator and TB1. When W2 isin the DOWN position, logic power comes from the on card regulator which is fed by TB1.
Unregulated power to TB1 pins 1 and 2 is regulated to 5V logic power. Unregulated inputto TB1 pins 1 and 2 can range from 8 to 40 VDC
MOTOR POWER
Motor power is supplied to the 8I20 via spade lugs #4 and #5. Motor power canrange from 35 to 400 VDC. All communication to the 8I20 will work down to 0V motorpower but the under-voltage fault setting will prevent motor operation at lower then ~35VDC unless the default setting is changed. Default over-voltage fault is set for 385 VDC.Voltages high that 385VDC will result in a overvoltage fault.
The 8I20 has local high frequency bypassing but relies on the power supplies outputcapacitors to supply dc power with less than ~15% ripple. The 8I20 also relies on powersupply output capacitors to store motor inductive energy. For this reason, power should notbe disconnected from the 8I20 power input terminals when in operation. The 8I20 motorpower leads should use 18 GA wire and must be shorter than 3 feet. That is, motor powershould not be routed more than 3 feet from the main power supply filter capacitors. Powersupply circuit breakers or fuses should be located on the power supply primary, notbetween the 8I20 and power supply capacitors.
MOTOR BRAKE
To prevent regenerated motor power from creating a over-voltage condition, the8I20 can dump regenerated motor power into a user supplied brake resistor. The brakecircuitry can provide a maximum of 15 amps of braking current. At the maximum BrakeOnsetting of 385 VDC, this equals a ~25 Ohm resistor for maximum braking current.
Actual brake on/off voltages are programmable. Default brake on voltage is 360VDC and default brake off voltage is 340 VDC. BrakeOn voltage must always be set higherthan BrakeOff voltage.
In addition to the programmable brake voltage settings, there is a fixed 385VBrakeOn setting that cannot be changed. This is for 8I20 module protection.
8/22/2019 8i20man
11/39
8I20 7
OPERATION
MOTOR CONNECTIONS
The U/V/W motor connections are the direct PWM outputs of the 8I20s bridge.Larger motors may have enough winding to frame capacitance to generate considerableground noise. This noise source can be reduced by:
1. Make sure that the motor frame ground signal is returned to the frame ground on the8I20 card.
2. Use a ferrite bead as a common mode choke around all phase wires, that is the U/V/W
motor wires pass through a single bead. Do not route the frame ground wire through thebead. A suggested ferrite bead is: Laird-Signal Integrity Products 28B1122-100.
ENABLE INPUT
The 8I20 has a isolated 4-24V enable input. This input must be driven to enablemotor drive. If enable input is not driven, the 8I20 will go into a fault state, and turn offmotor PWM.
FAULT OUTPUT
The fault output is an isolated transistor (OPTO coupler) output. The fault output isoff in non-masked fault conditions and on in normal operation. The fault output can supplya maximum of 5 mA of output current and will switch voltages up to 24 VDC. Normally thefault outputs of all 8I20s would be wired in series.
FAULT CONDITIONS
The 8I20 monitors many parameters and reports fault conditions in the FAULTregister. When a non-masked fault occurs, the 8I20 turns off motor drive and the currentcontrol loop. The following is a list of the fault conditions:
NAME BIT FUNCTION
WATCHDOGFAULT 0 Communication timeout fault
NOENABLEFAULT 1 No external enable fault
OVERTEMPFAULT 2 8I20 PCB temperature > 85C
CURRENTFAULT 4 8I20 high side overcurrent Fault
8/22/2019 8i20man
12/39
8I20 8
OPERATION
FAULT CONDITIONS
NAME BIT FUNCTION
ULOOPCURRENTFAULT 5 U current >125% of MAXCURRENT
VLOOPCURRENTFAULT 6 V current >125% of MAXCURRENT
WLOOPCURRENTFAULT 7 W current >125% of MAXCURRENT
BUSLOVFAULT 8 Low motor voltage fault
BUSHIVFAULT 9 High motor voltage fault (settable)
MAXBUSVFAULT 10 High motor voltage fault (fixed at 400V)
MODULEFAULT 11 Module over temperature or low gatevoltage
OERRFAULT 14 8I20 serial port overrun error
FERRFAULT 15 8I20 serial port framing error
CLEARING FAULTS
Faults can not be cleared by writing the fault register but are cleared by setting theCLEARFAULT flag. The host must then poll the state of CLEARFAULT until it is zero.
FAULT MASK
Certain faults can be masked so that they do not affect the external fault output.Currently only the BUSLOVFAULT is maskable. A zero bit in the FAULTMASK register will
mask the corresponding fault bit.
8/22/2019 8i20man
13/39
8I20 9
OPERATION
STATUS REGISTER
The 8I20 maintains a status register that reflects various internal 8I20 conditions.
NAME BIT FUNCTION
ILIMITEDSTATUS 0 Indicates that MAXCURRENT is notavailable due to 8I20 temperature/currentlimiting.
BRAKESTATUS 1 Current brake on status
BRAKEWASONSTATUS 2 Brake has been applied status (sticky)
WDTO 4 DSP startup due to Hardware watchdogtimeout (sticky)
SWR 5 DSP startup due to software reset (sticky)
EXTR 6 DSP startup due to external reset (sticky)
Sticky status bits remember events until low side power is removed or the statusregister is cleared.
8/22/2019 8i20man
14/39
8I20 10
OPERATION
STATUS LEDS
The 8I20 has 7 on card status LEDs located on the bottom edge of the 8I20 card.The status LEDs in left to right order:
LED COLOR NAME FUNCTION
CR13 Green DSP Status Blinks with host communication
CR14 Yellow HV On On when motor power is present
CR15 Red Fault On when drive fault is present
CR16 Red OverVoltage/Brake On when brake is applied
CR17 Green Isolated power On when isolated power is present
CR18 Yellow LV status On when isolated inverter is OK
CR19 Green LV power On when logic power is present
HEAT SINKING
The 8I20 requires additional heatsinking unless used for low continuous powerservo applications. When used to deliver its rated continuous 2.2KW power, the 8I20 candissipate up to 65W. Heatsink thermal resistance should be chosen to keep the moduletemperature below 100C. For example, in a 50C ambient environment and continuous2.2KW load, keeping the module temperature below 100C with 65W of power dissipationrequires a total thermal resistance of 100-50/65 = 0.77 C/W. The 8I20s mounting plateadds to the thermal resistance.
Two styles of 8I20 mounting plates are available, right angle and parallel. The rightangle plate has the advantage of tighter packing density but has higher thermal resistance.The right angle mounting plate adds approximately 0.5C per watt to the 8I20s thermalresistance. The parallel mounting plate adds only about 0.1C per watt thermal resistance.So for a parallel mount 8I20, the external heatsink thermal resistance needed to sustainthe full 2.2 KW continuous power is 0.77-0.1 = 0.67 C/W.
Achieving 0.67 C/W in a reasonable size normally will require fan cooling.
8/22/2019 8i20man
15/39
8I20 11
OPERATION
PC HOST ADAPTER
In order to run any of the command line utilities a RS-422 adapter is needed. Mesacan provide a suitable adapter. Two such adapters are 3I21 or 3I22. These adaptersconnects the RJ-45 RS-422 interface on the 8I20 to a DB9 serial port (3I21) or USB port(3I22) and provide 5V link power.
MINIMAL HOST PC ADAPTERA simple home made host adapter can be made by directly connecting RS-232
signals from a 9 pin PC serial port or USB RS-232 adapter to the 8I20s RS-422 signals
via a one ended CAT5 cable. A single resistor between RS-232 TXD and RS-422 RXB isneeded to prevent overloading the RS-232 TXD output
CAT5 PIN DE-9F PIN CAT5 SIGNAL DE-9F SIGNAL CAT5 COLOR
1 5 RXA GND ORANGE WHITE
2 3 RXB (1) TXD (1) ORANGE
3 XX TXA XX GREEN WHITE
4 5 GND GND BLUE
5 5 GND GND BLUE WHITE
6 2 TXB RXD GREEN
7 XX +5V (2) XX BROWN WHITE
8 XX +5V (2) XX BROWN
Notes:
1. Connect via 470 Ohm 1/4 watt resistor. All other signals directly connected
2. If not run from field power, +5V power must be supplied via the 8I20s serial cable
8/22/2019 8i20man
16/39
8I20 12
OPERATION
DRIVE PARAMETER SETUP
The 8I20 has both working and EEPROM drive parameters. The workingparameters are volatile (lost at power down) 8I20 uses the working parameters for allnormal operations. At power up or reset, a subset of the working parameters get initializedfrom non-volatile EEPROM memory. Because of this, when adjusting parameters theworking parameters can be changed live but changing the EEPROM parameters will nothave any effect until the 8I20 is reset. All EEPROM parameters have a NV prefix.
SETUP COMMUNICATION WITH 8I20
To enable communication between a PC and the 8I20 three things are required:
1. 8I20 must have logic power (normally supplied via TB1)
2. Setup jumper must be in "SETUP" position = DOWN
3. A RS-422 adapter must connect from the PCs serial port/ USB serial adapter to the8I20. This adapter is available from Mesa (3I21, 3I22 )or home made adapter shown above
4. The parameter read and write programs are simple command line utilities that requiresome environment variables to be set before use:
SET COMPORT = COM1 ( set to match the serial port )
SET BAUDRATE = 115200
SET PROTOCOL = LBP
WPDThe WPD utility writes 8I20 parameters including non-volatile setup parameters. It
uses symbolic names for the parameters so numeric constants do not need to be
memorized, for example
WPD BRAKEONV 3000
Would set the working brake-on voltage parameter to 300V
(units of voltage are .1V)
WPD NVBRAKEONV 3200
Would set the EEPROM brake-on voltage parameter to 320V
8/22/2019 8i20man
17/39
8I20 13
OPERATION
DRIVE PARAMETER SETUP
WPDWPD FAULT 0
Would clear the FAULT parameter
RPDThe RPD utility reads a parameter from the 8I20. It uses symbolic names for the
parameters so numeric constants do not need to be memorized, for example:
RPD FAULT H
Would read the fault parameter as a Hexadecimal word
RPD BUSV
Would read the bus voltage (in units of 100 mv)
MAIN DRIVE SETUP PARAMETERSFor normal setup only a couple of parameters need to be changed to match a
specific motor. The most important are NVMAXCURRENT, NVBRAKEONV andNVBRAKEOFFV.
MAXCURRENTThe MAXCURRENT parameter sets the full scale RMS motor current of the 8I20.
This is the single most important setup parameter needed to match the 8I20 to a specificmotor. This should be set to the maximum RMS motor current value (or to 30A if the motorhas a higher than 30 A RMS current rating). Current (torque) commands are signed 16 bitnumbers sent to the 8I20 and scaled such that:
RMS motor current = QISETPOINT * NVMAXCURRENT/3276700
MAXCURRENT is a unsigned 16 bit number with units of 10 mA, that is maximumper phase current in Amperes is MAXCURRENT/100. Like most setup parameters,MAXCURRENT is the working current limit, and NVMAXCURRENT is the non-volatileEEPROM current limit.
For example:
WPD NVMAXCURRENT 2500
Would set the EEPROM maximum current parameter to 25A. This will not takeeffect until the 8I20 is reset.
8/22/2019 8i20man
18/39
8I20 14
OPERATION
DRIVE PARAMETER SETUP
BRAKEONV and BRAKEOFFVBRAKONV and BRAKEOFFV set the brake on and brake off voltage thresholds.
These are used to clamp the rising motor bus voltage created when decelerating. Whendecelerating, the 8I20 will charge the motor power supply filter capacitors with regeneratedenergy .
The default values (on at 360V off at 340V) are chosen to match a 240V off linepower supply, and to protect the 8I20. If lower power supply voltages are used (with lower
filter capacitor voltage ratings) the BRAKEONV and BRAKEOFFV voltages should be setlower to protect the power supply. It is suggested that BRAKEOFFV be set 20V lower thanBRAKEON. BRAKEONV and BRAKEOFFV are specified in units of .1V. That is aBRAKEONV value of 3000 would specify 300.0 V.
The startup values of BRAKEONV and BRAKEOFFV are set with the parametersNVBRAKEONV and NVBRAKEOFFV.
For example:
WPD NVBRAKEONV 190
WPD NVBRAKEOFFV 170
Would be suitable values for a 120V line operated supply with a maximum ratingof 200V. Note that like all EEPROM parameters, these settings will not take effect until the8I20 has been reset.
CURRENT LOOP TUNINGThe 8I20 has settable tuning parameters for its PI current control loop. The
parameters are KQP, KDP, KQI, and KDI. KQP and KDP are the Proportional terms and
KQI and KDI are the Integral terms. Normally KQP should equal KDP and KQI shouldequal KDI. The Startup values of KQP, KDP, KQI, and KDI are set by the coorespondingEEPROM parameters NVKQP, NVKDP, NVKQI, and NVKDI. Default values forNV KQPand NVKDP are 50 and default values for NVKQI and NVKDI are 150000. These defaultsare suitable for a large range of motors, but may need to be changed to optimize currentloop operation for specific motors.
8/22/2019 8i20man
19/39
8I20 15
CONTROLLERS
MULTI-AXIS CONTROLLERS
Two basic types of multi-axis controllers are available for use with the 8I20, hostbased and "Smart". Host based controllers use the host computer to read encoders andoutput angle and run a PID loop that outputs torque commands to the 8I20. The HostMot2FPGA firmware suite is a host based motion controller that is compatible with the 8I20.Smart controllers like SoftDMC take higher level motion commands from the host andcontrol all low level processes like reading encoders, running the PID loop and flaggingerror conditions.
HOSTMOT2 8I20 INTERFACEThe Hostmot2 interface to the 8I20 is a smart serial interface for Mesas Anything
I/O series of FPGA cards that encapsulates the serial protocol details and presents asimple parallel register set to the host computer. Registers for writing torque and angle andregisters for reading bus voltage, card status, communication status, and card temperatureare provided for all connected 8I20 cards.
The 8I20 Hostmot2 interface is a sserial module with specific firmware (SSLBP) for8I20 card or other LBP interfaced cards. Each sserial module can support up to eight 8I20cards. The sserial module supports the standard 2.5 M Baud communication rate andtorque update rates to 5KHz. With the default configuration, the Hostmot2 interface sendsreference angle (ANGLE parameter) and current (QSETPOINT parameter) commands andreceives bus voltage (BUSV parameter), 8I20 card temperature (TEMPERATUREparameter), and 8I20 status and fault information (STATUS and FAULT parametera).
A complete host based controller will also need position sensing. This may consistof quadrature encoders, SSI absolute encoders (including magnetic absolute types), orresolvers. All three types of position sensors are available in the Hostmot2 firmware suite.
SOFTDMC 8I20 INTERFACESoftDMC is a smart multi-axis motion controller with built in motion profile generator,
programmable exception handling and a high performance FIFO based host interface.SoftDMC is a firmware option for Mesas Anything I/O series of FPGA cards. For moreinformation on SoftDMC, please consult the SoftDMC manual.
ANYTHING I/O INTERFACE DAUGHTER CARDS8I20 compatible daughter cards are available to simplify connecting the 8I20 to
Mesas Anything I/O FPGA cards. One interface card is the 7I44. The 7I44 provides 8channels of RS-422/RS-485 serial communication interface. The 7I44 uses RJ-45connectors for the serial interface. These connectors are compatible with the 8I20 so acommon CAT5 or CAT5E cable may be used to connect from the 7I44 to the 8I20. The7I44 can also provide 5V power to the 8I20 subject to the CAT5/5E cable length
restrictions.
8/22/2019 8i20man
20/39
8I20 16
REFERENCE INFORMATION
SPECIFICATIONS
MIN MAX NOTES
LOGIC SUPPLY VOLTAGE 5V 4.5V 5.5V
5V CURRENT ---- 400 mA .
UNREGULATED SUPPLY VOLTAGE 8V 40V
MOTOR SUPPLY VOLTAGE 35V 400V
MAX MOTOR CURRENT 25C CASE ---- 30A RMS
MAX MOTOR CURRENT 70C CASE ---- 15A RMS
SWITCHING FREQUENCY ---- 20KHz Default is 12 KHz
V ISOLATION VBUS/LOGIC 3750V ---- RMS
V ISOLATION VBUS/CASE/EARTH 2500V ---- RMS
POWER DISSIPATION 4 KW LOAD ---- 125W
(340V 10A/PHASE 12 KHZ PWM 60 HZ MODULATION)
THERMAL RESISTANCE ---- 0.5C/W RIGHT ANGLE
THERMAL RESISTANCE ---- 0.1C/W PARALLEL
TEMPERATURE -C VERSION 0oC 70oC
TEMPERATURE -I VERSION -40oC 85oC
8/22/2019 8i20man
21/39
8I20 17
REFERENCE INFORMATION
LBP
LBP is a simple binary master slave protocol where the host sends read, write, orRPC commands to the 8I20, and the 8I20 responds. All controller communication to the8I20 is done via LBP. LBP commands always start with a command header byte. Thisheader specifies whether the command is a read or write or RPC, the number of addressbytes(0, or 2), and the number of data bytes(1 through 8).The 0 address size optionindicates that the current address pointer should be used. This address pointer will be postincremented by the data size if the auto increment bit is set. RPC commands allow any ofup to 64 stored commands to be executed in response to the single byte command.
LBP DATA READ/WRITE COMMAND
0 1 WR RID AI AS DS1 DS0
Bit 7.. 6 CommandType: Must be 01b to specify data read/write command
Bit 5 Write: 1 to specify write, 0 to specify read
Bit 4 RPCIncludesData: 0 specifies that data is from stream, 1, that data is fromRPC (RPC only, ignored for non RPC commands)
Bit 3 AutoInc: 0 leaves address unchanged, 1 specifies that address is postincremented by data size in bytes.
BIT 2 AddressSize: 0 to specify current address, 1 to specify 2 byte address.
Bit 1..0 DataSize: Specifies data size, 00b = 1 bytes, 01b = 2 bytes, 10 b= 4 bytes,
011b = 8 bytes.
When multiple bytes are specified in a read or write command, the bytes are alwayswritten to or read from successive addresses. That is, a 4 byte read at location 0x21 willread locations 0x21, 0x22, 0x23, 0x24. The address pointer is not modified after thecommand unless the AutoInc bit is set.
8/22/2019 8i20man
22/39
8I20 18
REFERENCE INFORMATION
LBP
EXAMPLE LBP COMMANDSWrite 4 bytes (0xAA, 0xBB,0xCC,0xDD) to addresses 0x010,0x011,0x012,0x013
with AutoInc so that the address pointer will be left at 0x014 when the command iscompleted:
COMMAND BITS CT1 CT0 WR RID AI AS DS1 DS0
LBPWrite: 2 add 4 data 0 1 1 0 1 1 1 0
Write Address LSB 0 0 0 1 0 0 0 0
Write Address MSB 0 0 0 0 0 0 0 0
Write data 0 1 0 1 0 1 0 1 0
Write Data 1 1 0 1 1 1 0 1 1
Write Data 2 1 1 0 0 1 1 0 0
Write Data 3 1 1 0 1 1 1 0 1
Write 2 more bytes (0xEE,0xFF) at 0x014 and 0x015:
COMMAND BITS CT1 CT0 WR RID AI AS DS1 DS0
LBPWrite: 0 add 2 data 0 1 1 0 0 0 0 1
Write data 0 1 1 1 0 1 1 1 0
Write data 1 1 1 1 1 1 1 1 1
Read 8 bytes at 0x010,0x011,0x012,0x013,0x014,0x015,0x016,0x017:
COMMAND BITS CT1 CT0 WR RID AI AS DS1 DS0
LBPRead: 2 add 8 data 0 1 0 0 0 1 1 1
Read Address LSB 0 0 0 1 0 0 0 0
Read Address MSB 0 0 0 0 0 0 0 0
8/22/2019 8i20man
23/39
8I20 19
REFERENCE INFORMATION
LBP
LOCAL LBP COMMANDSIn addition to the basic data access commands, there are a set of commands that
access LBP status and control the operation of LBP itself. These are organized as READand WRITE commands
LOCAL LBP READ COMMANDS(HEX), all of these commands return a single byte of data.
0xC0 Get unit address
0xC1 Get LBP status
LBP Status bit definitions:
BIT 7 Reserved
BIT 6 Command Timeout Error
BIT 5 Invalid write Error (attempted write to protected area)
BIT 4 Buffer overflow errorBIT 3 Watchdog timeout error
BIT 2 Reserved
BIT 1 Reserved
BIT 0 CRC error
0xC2 Get CRC enable status (note CRCs are always enabled on the 8I20)
0xC3 Get CRC error count
0xC4 .. 0xC9 Reserved
0xCA Get Enable_RPCMEM access flag
0xCB Get Command timeout (character times/10 for serial)
0xCC .. 0xCF Reserved
0xD0 .. 0xD3 4 character card name
8/22/2019 8i20man
24/39
8I20 20
REFERENCE INFORMATION
LBP
LOCAL LBP READ COMMANDS
0xD5 .. 0xD7 4 character configuration name (only on some configurations)
0xD8 Get low address
0xD9 Get high address
0xDA Get LBP version
0xDB Get LBP Unit ID (Serial only, not used with USB)
0xDC Get RPC Pitch
0xDD Get RPC SizeL (Low byte of RPCSize)
0xDE Get RPC SizeH (High byte of RPCSize)
0xDF Get LBP cookie(returns 0x5A)
8/22/2019 8i20man
25/39
8I20 21
REFERENCE INFORMATION
LBP
LOCAL LBP WRITE COMMANDS
(HEX), all of these commands except 0xFF expect a single byte of data.
0xE0 Reserved
0xE1 Set LBP status (0 to clear errors)
0xE2 Set CRC check enable (Flag non-zero to enable CRC checking)
0xE3 Set CRC error count
0xE4 .. 0xE9 Reserved
0xEA Set Enable_RPCMEM access flag (non zero to enable access to RPC memory)
0xEB Set Command timeout (in mS for USB and character times for serial)
0xEC .. 0xEF Reserved
0xF0 .. 0xF6 Reserved
0xF7 Write LEDs
0xF8 Set low address
0xF9 Set high address
0xFA Add byte to current address
0xFB .. 0xFC Reserved
0xFD Set unit ID (serial only)
0xFE Reset LBP processor if followed by 0x5A
0xFF Reset LBP parser (no data follows this command)
8/22/2019 8i20man
26/39
8I20 22
REFERENCE INFORMATION
LBP
RPC COMMANDSRPC commands allow previously stored sequences of read/write commands to be
executed with a single byte command. Up to 64 RPCs may be stored. RPC writecommands may include data if desired, or the data may come from the serial data stream.RPCs allow significant command compression which improves communication bandwidth.The 8I20 has some pre-loaded RPCs for normal current (torque) mode operation.
LBP RPC COMMAND
1 0 RPC5 RPC4 RPC3 RPC2 RPC1 RPC0
Bit 7..6 CommandType: must be 10b to specify RPC
Bit 5..0 RPCNumber: Specifies RPC 0 through 63
In the 8I20 LBP implementation, RPCPitch is 0x8 bytes so each RPC command hasnative size of 0x08 bytes and start 0x8 byte boundaries in the RPC table area. RPCs cancross RPCPitch boundaries if larger than RPCPitch RPCs are needed. The stored RPCcommands consist of LBP headers and addresses, and possibly data if the commandheader has the RID bit set. RPC command lists are terminated by a 0 byte.
The RPC table is accessed at addresses 0 through RPCSize-1 This means with aRPCPitch of 0x8 bytes, RPC0 starts at 0x0000, RPC1 starts at 0x008, RPC2 starts at0x0010 and so on.
Before RPC commands can be written to the RPC table,the RPCMEM access flagmust be set. The RPCMEM access flag must be clear for normal operation.
8/22/2019 8i20man
27/39
8I20 23
REFERENCE INFORMATION
LBP
EXAMPLE RPC COMMAND LISTThis is an example stored RPC command list. Note RPC command lists must start
at a RPCPitch boundary in the RPC table but an individual RPC list can extend until theend of the table. This particular RPC example contains 2 LBP commands and uses 7 bytesstarting at 0x0028 (RPC5 for 0x08 pitch RPC table)
Command1. Writes two data bytes to address 0x10, 0x11 with 2 data bytes supplied byhost
Command2. Reads two data bytes from address 0x12,0x13
COMMAND BITS CT1 CT0 WR RID I AS DS1 DS0
LBPWrite: 2 add 2 data 0 1 1 0 0 1 0 1
Write Address LSB 0 0 0 1 0 0 0 0
Write Address MSB 0 0 0 0 0 0 0 0
LBPRead: 2 add 2 data 0 1 0 0 0 1 0 1
Read Address LSB 0 0 0 1 0 0 1 0
Read Address MSB 0 0 0 0 0 0 0 0
Terminator 0 0 0 0 0 0 0 0
The data stream for this RPC would consist of these 3 bytes:
COMMAND BITS CT1 CT0 R5 R4 R3 R2 R1 R0
RPC 5 1 0 0 0 0 1 0 1
Data 0 for Command 1 0 1 0 1 0 1 0 1
Data 1 for Command 1 1 1 0 0 1 1 0 0
8/22/2019 8i20man
28/39
8I20 24
REFERENCE INFORMATION
CRC
LBP on the 8I20 uses CRC checking of all commands and data to insure validity.The CRC used is a 8 bit CRC using the same polynomial as the Dallas/Maxim one wiredevices (X^8+X 5++X^4+X^0). The CRC must be appended to all LBP commands and allreturned data will have a CRC byte appended. Commands with no returned data (writesor RPCs with no reads) will still cause a CRC byte to be returned, this CRC byte will alwaysbe 00H.
FRAMING
Since LBP is a binary protocol with no special sync characters, the packet framingmust be determined by other methods. The 8I20s LBP implementation uses two differentframing models depending on whether it is in setup mode or operate mode.
In setup mode, framing is done by determining the end of the command by pre-parsing the data stream. This is done so that relaxed interface timing is acceptable. Non-realtime systems such as Windows and Linux cannot guarantee exact serial data timingso timing based framing cannot be used. Timing based framing is still used to maintainsynchronization in case of aborted packets or noise but the timeout is set to the maximumtime (25.5 character times) or ~2.2 mS at 115200 baud. Because normal communication
will be framed by pre-parsing, this timeout delay need not be inserted between subsequentcommands.
When running in operate mode, the 8I20 uses timing based framing exclusively.Timing based framing is more robust in noisy environments where bad packets may bepresent, but it requires strict timing of the serial data stream. Packets sent to the 8I20 inreal time mode must be sent in a single packet with less than the LBP command timeoutbetween characters. The command timeout is set by SSLBP to be 4 character times (16uSec at 2.5M baud). In operate mode, a delay of 16 uSec must always be insertedbetween packets.
8/22/2019 8i20man
29/39
8I20 25
REFERENCE INFORMATION
PARAMETERS
The 8I20 has many user settable parameters, but normally only a very few need bechanged in normal operation The following is a short list of 8I20 parameters for referenceonly:
PARAMETER TYPE SCALING FUNCTION
BRAKEOFFV UINT 100 mV Set working brake off voltage
NVBRAKEOFFV UINT 100 mV Set non-volatile brake off voltage
BRAKEONV UINT 100 mV Set working brake on voltage
NVBRAKEONV UINT 100 mV Set non-volatile brake on voltage
BUSV UINT 100 mV Read motor bus voltage
BUSOVERV UINT 100 mV Set working bus overvoltagethreshold
NVBUSOVERV UINT 100 mV Set non-volatile bus overvoltagethreshold
BUSUNDERV UINT 100 mV Set working bus undervoltagethreshold
NVBUSUNDERV UINT 100 mV Set non-volatile bus undervoltagethreshold
MAXCURRENT UINT 10 mA Set working full scale current
NVMAXCURRENT UINT 10 mA Set non-volatile full scale current
8/22/2019 8i20man
30/39
8I20 26
REFERENCE INFORMATION
PARAMETERS
DEADZONE UINT Set working pwm anti-deadzone
NVDEADZONE UINT Set non-volatile pwm anti-deadzone
FAULT UINT 8I20 fault register
STATUS UINT 8I20 status register
8/22/2019 8i20man
31/39
8I20 27
REFERENCE INFORMATION
PARAMETERS
KDP UINT Set working diloop p term
NVKDP UINT Set non-volatile diloop p term
KDI ULONG Set working diloop I term
NVKDI ULONG Set non-volatile diloop I term
KDIL UINT Set working diloop I limit
NVKDIL UINT Set non-volatile diloop I limit
KQP UINT Set working qiloop p term
NVKQP UINT Set non-volatile qiloop p term
KQI ULONG Set working qiloop I term
NVKQI ULONG Set non-volatile qiloop I term
KQIL UINT Set working qiloop I limit
NVKQIL UINT Set non-volatile qiloop I limit
DSETPOINT INT Set "Direct" current
QSETPOINT INT Set "Quadrature" current
ANGLE UINT 2*PI/65536 Set reference angle, 65536 = 360electrical degrees
TEMPERATURE UINT 0.01C/ 8I20 card temperature C in 1/100degree per count.
8/22/2019 8i20man
32/39
8I20 28
REFERENCE INFORMATION
SSLBP
GENERALSSLBP is a firmware option to HostMot2s SSERIAL serial interface that allows
simple communication to LBP based peripherals. SSERIAL is a part of the HostMot2motion interface firmware for MESAs Anything-I/O FPGA cards.
REGISTER MAPSSLBP has two global processor interface registers and three per channel remote
device interface registers. For more details on mapping of these registers in HostMot2
memory space, see the REGMAP file that is included with the HostMot2 sourcedistribution.
PROCESSOR INTERFACE REGISTERSThere are two processor interface registers, the COMMAND register and the DATA
register. These registers allow low level communication to SSLBPs interface processorfor issuing global commands, discovery, and debug operations.
COMMAND REGISTERThe commands register is a 16 bit register (right justified in the 32 bit interface) with
the following format:
W M R D S T T T N N N N N N N N
W = BIT 15 Write bit, set high for write commands
M = BIT 14 ROM enable/ reset bit, set high to reset processor / download ROM
R = BIT 13 Request bit, set high for read or write command
D = BIT 12 DoIt bit, set high for DoIt commands
S = BIT 11 Start/Stop bit, actual operation depends on N:
T = 0,0,0 Stop LBP interface
T = 0,0,1 Start LBP interface in normal mode
T = 1,1,1 Start LBP interface in setup mode
N bits determine which channels start or do data transfer with remote device. A setbit indicates that the corresponding channel will start or do a data transfer.
8/22/2019 8i20man
33/39
8I20 29
REFERENCE INFORMATION
SSLBP
DATA REGISTERSSLBP has a global 8 bit data register for debug and custom setup purposes. This
register allows access to internal SSLBP parameters. The data register is right justified inthe 32 bit Hostmot2 register.
LOCAL READ OPERATIONSThe sequence used for reading a local SSLBP variable is as follows:
1. The parameter address ORed with the Request bit (bit 13) is written to the commandregister.
2. The host polls the command register until it reads as zero.
3. The host reads the parameter byte from the data register
LOCAL WRITE OPERATIONSThe sequence used for writing a local SSLBP variable is as follows:
1. The host polls the command register until it reads as zero.
2. The host writes the data byte to the data register
3. The host writes the command register with the the parameter address Ored with boththe Request bit (bit 13) and the Write bit (bit 15)
NORMAL STARTWhen the FPGA is first configured or after a STOP command, all local
communication, error and status parameters are initialized and all LBP communicationchannels are idle. A normal START command begins to establish communications with
all remote LBP devices. A normal start command is issued by writing a Start bit with typebits of 0,0,1 with a bit mask of the desired channels to start in the low byte (0x9NN) to thecommand register. Once a start command has been issued, all channels that are selectedin the bit mask will be probed to determine if a LBP device exists. If a device exists on achannel, the SSLBP firmware will acquire the device type and device unit ID from theremote device. When the command completes (the command register is clear), the dataregister can be read to determine if all selected channels have started. A 1 bit in anyposition in the data register indicates that the corresponding channel has failed to start. Ifa channel has failed to start, more information about the failure can be determined byreading the CS register.
8/22/2019 8i20man
34/39
8I20 30
REFERENCE INFORMATION
SSLBP
8I20 DEVICE SPECIFIC SETUPA normal start command does specific setup operations when it detects a 8I20
remote device. This setup includes clearing any faults, setting the qsetpoint current to 0A, enabling the current control loop and setting the 8I20s watchdog timer to 40 mS. If noerrors have occurred and all faults are clearable, the SSLBP firmware enters a "chatter"loop where it repeatedly asks the 8I20 for a cookie character. This keeps the 8I20'swatchdog fed while waiting for the first DOIT command. Once a DOIT command has beenexecuted, the firmware no longer "chatters" and the host interface must send DOIT
commands at greater than 40 mS intervals or the 8I20s watchdog will bite, disabling itsoutput.
STOP LBP INTERFACEA STOP ALL command is issued to stop all channel communication. A STOP ALL
followed by a START command can be used after a fault condition to re-establishcommunication with the remote LBP devices. Device discovery is only done once whenSTART command is issued to a STOPed SSLBP. This means that if cabling or devicesare changed, a STOP ALL command followed by a START command must be issued bythe host to detect the changes.
STOP INDIVIDUAL CHANNELSIn addition to stopping all channels, a individual stop command can be issued. A
individual stop command include a bitmask of the channels to stop in the least significant8 bits of the command.
DOITIn normal operation SSLBP is designed to write data from local registers to the
remote device and read remote device data for presentation to the host on a real timebasis. Synchronization is accomplished with the DOIT command. When a DOIT commandis written, all channel data from the host is sent to the remote devices and receive data is
requested. Completion of the DOIT command is signaled by SSLBP clearing theCOMMAND register. A DOIT command contains the DOIT bit and an 8 bit mask in the 8LSBs that selects the channels that will transfer data. After DOIT command completionthe data register will contain a bit mask of channel status data. If any bit is set in the dataregister, it indicates a problem with the transfer (all zeros indicates no faults or errors). Thedata returned after a DOIT command can be used to minimize host access cycles byavoiding the need to read the per channel status registers. If detailed fault information isdesired, the CS register and Interface1 register can be read on any channel that shows afailed transfer.
8/22/2019 8i20man
35/39
8I20 31
REFERENCE INFORMATION
SSLBP
INTERFACE REGISTERSThree per channel interface registers are used to pass information from the host to
the remote LBP device and from the remote LBP device to the host. The registers are theCS Register, Interface0 register and Interface1 register. These registers are all 32 bits inwidth and read/write.
CS REGISTERThe CS register is used for local SSLBP, and remote LBP device status and control
information. Read access returns status information in both normal and setup mode. Innormal mode, writes to the CS register are not used. When read, the CS register has thefollowing format:
Byte3 = Remote LBP device mode
= 0x80 for 8I20
= 0x74 for 7I64
Byte2 = Communication state code (debug only)
Byte1 = Communication status code (0x00 for OK)
Bit 7 = CommunicationNotReady
Bit 6 = NoRemoteID
Bit 5 = CommunicationError
Bit 0 = RemoteFault
Byte0 = Communication error code (sticky, cleared only by stop)
Bit 7 = TooManyerrors
Bit 4 = ExtraCharacterError
Bit 3 = TimeoutError
Bit 2 = OverrunError
Bit 1 = InvalidCookieError
Bit 0 = CRCError
8/22/2019 8i20man
36/39
8I20 32
REFERENCE INFORMATION
SSLBP
INTERFACE REGISTER 0Interface register 0 is a general purpose 32 bit read/write register for transferring
data to and from the remote LBP device, After a start command and valid ready status,interface register 0 reports the 32 bit device unit number. After DOIT has been assertedbit definitions in interface register 0 are device specific.
8I20 SPECIFIC INTERFACE REGISTER 0 DEFINITIONSReads:
After DOIT is asserted:
MSW = Bus voltage in 10s of mV (unsigned 16 bit number)
LSW = Card Temperature in oC (insigned 16 bit number)
Writes:
MSW = QSETPOINT current, signed 16 bit number, 32767 sets current to+MAXCURRENT and -32767 sets current to -MAXCURRENT
LSW = ANGLE, unsigned 16 bit number, 0 to 65535 = 0 to 359.9945 degrees.
INTERFACE REGISTER 1Interface register 1 is a general purpose 32 bit read/write register for transferring
data to and from the remote LBP device. Bit definitions in interface register 1 are devicespecific.
8I20 SPECIFIC INTERFACE REGISTER 1 DEFINITIONS:
Reads:
MSW = 8I20 FAULTS
LSW = 8I20 STATUS
Writes:
Writes to interface register 1 are not used in normal mode.
8/22/2019 8i20man
37/39
8I20 33
REFERENCE INFORMATION
SSLBP
NORMAL MODE OPERATIONIn normal mode the sequence of operations is as follows:
1. Issue stop command, wait for COMMAND register clear to verify stop commandcompletion.
2. Issue normal START command (0x9NN) with bitmask (NN) of channels to start.
3. Wait for COMMAND register clear to verify start command completion. (may be manymS)
4. Read data register to verify that all selected channels started (a 1 in any channelposition bit means a fault in the channel that the bit represents)
5. Read device unit number (This can only be read before DOIT has been asserted)
6. Check command register, if not clear, cycle time is too short
7. Check data register, any 1 bits indicate previous DOIT command failed for in thecorresponding channels
8. Write per channel output data (CURRENT AND ANGLE for 8I20) to interface 0 register
9. Read Interface register 0 for bus voltage and temperature, note that this is stale datafrom previous cycle (and invalid the first cycle)
10. Write DOIT command = 0x10NN where NN is the bit mask of channels to initiatetransfers.
11. Wait for next cycle, at next cycle time, loop to state 6
This sequence can be modified if a read-modify-write sequence is required, but for the8I20, the read data is not time critical so the read data timing is not important.
SETUP STARTWhen the FPGA is first configured or after a stop all command, all LBP
communication channels are idle. A SETUP START command first initializes and all localcommunication, error and status parameters and begins to establish communications withall remote LBP devices. Unlike the NORMAL START command, SETUP START does nodevice specific setup but instead creates a pass-through access mode that allows the host
to read or write any remote LBP device parameter. This allows simple utilities to setup 8I20volatile and non-volatile parameters.
8/22/2019 8i20man
38/39
8I20 34
REFERENCE INFORMATION
SSLBP
SETUP MODE OPERATIONIn setup mode the SSLBP interface is used as a passthrough device to allow
reading and writing parameters to the remote LBP device.
REMOTE READ EXAMPLE:For a remote word read, the sequence of operations is as follows:
1. Issue a STOP command, wait for COMMAND register clear to verify stop command
completion.
2. Issue a setup START command (0xFNN) with bitmask (NN) of channels to start
3. Wait for COMMAND register clear to verify start command completion. (may be manymS)
4. Read data register to verify that all selected channels started (a 1 bit means a fault inthe channel that the bit represents)
5. Write LBP word read command (0x45) in the MSByte ORed with the parameter addressto the selected channels CS register. (0x4500PPPP)
6. Issue a DOIT Command
7. Wait for the command register to be clear
8. Check that the data register is clear, any set bits indicate an error
9. Read the returned data from the selected channels Interface0 register
10. Repeat from step 5 for any additional remote data reads
8/22/2019 8i20man
39/39
REFERENCE INFORMATION
SSLBP
REMOTE WRITE EXAMPLE:For a remote word write, the sequence of operations is as follows:
1. Issue a STOP command, wait for COMMAND register clear to verify stop commandcompletion.
2. Issue a setup START command (0xFNN) with bitmask (NN) of channels to start
3. Wait for COMMAND register clear to verify start command completion. (may be manymS)
4. Read data register to verify that all selected channels started (a 1 bit means a fault inthe channel that the bit represents)
5. Write the new parameter data to the selected channels Interface0 register (right justified)
6. Write LBP word write command (0x65) in the MSByte ORed with the parameter addressto the selected channels CS register. (0x6500PPPP) 6. Issue a DOIT Command
7. Wait for the command register to be clear
8. Check that the data register is clear, any set bits indicate an error
9. Repeat from step 5 for any additional remote parameter writes