INTRODUCTION

As a leading manufacturer of smart function modules, NAI offers over 100 different modules that cover a wide range of I/O, measurements and simulation, communications, Ethernet switch, and SBC functions. Our SD1-SD5 smart function modules provide Synchro-to-Digital (S/D) or Resolver-to-Digital (R/D) measurement. Synchros and Resolvers are transformer-type voltage/current transducers that convert a shaft or other rotating device’s angular position and/or velocity to a multi-wire AC electrical signal. Both deliver signals proportional to the Sine and/or Cosine of the shaft angle. The SD1-SD5 smart function modules convert these signals to a digital output corresponding to the shaft angle and/or velocity.

For a brief description of the modules and complete list of specifications, click here for the SD1-SD5 data sheet.

See the following table for each model’s operating parameters.

Module IDNo. of ChannelsInput Voltage (RMS VL-L)Frequency Range (Hz)
SD142-2847-1k
SD242-281k-5k
SD342-285k-10k
SD442-2810k-20k
SD5428-9047-1k

This user manual is designed to help you get the most out of our Synchro or Resolver-to-Digital smart function modules.

SD1-SD5 Overview

NAI’s SD1-SD5 modules offers a range of features designed to suit a variety of system requirements, including:

Isolated Excitation and Signal Input: With isolated excitation and signal input, the Synchro/Resolver modules are able to interface to virtually any type of transformer-type voltage/current transducers that convert a shaft or other rotating device’s angular position and/or velocity to a multi-wire AC electrical signal.

Type II Servo Loop Processing: The use of Type II servo loop processing techniques enables tracking up to the specified rate, at full accuracy. A step input will not cause any hang-up condition. Intermediate transparent latches, on all angle and velocity outputs, assure that valid data is always available. Our synthetic reference compensates for ±60° phase shifts, thus eliminating the need for individual compensation networks.

24-Bit Resolution: The modules feature 24-bit resolution and a single speed accuracy of 1 arc-min. For two speed applications, the overall accuracy is calculated by dividing the accuracy of the fine channel (1 arc-min) by the gear ratio.

Measurement and Detection Capabilities: The channels include many other useful application features such as signal, reference, and frequency measurements as well as signal under- and over-voltage detection, and reference under- and over-voltage detections.

Continuous Background Built-In-Test (BIT): All channels have continuous background Built-In-Test (BIT), which provides real-time channel health to ensure reliable operation in mission-critical systems. This feature runs in the background and is transparent in normal operations.

Extended FIFO Buffering Capability: The modules also include extended SD FIFO buffering capabilities for greater storage/management of the incoming signal samples (data) for post processing applications. Programmable FIFO buffer thresholds maximize data flow control (in and out of the FIFO).

PRINCIPLE OF OPERATION

Angle Measurement

The Synchro/Resolver channels feature 24-bit resolution with a single speed accuracy of as defined per the Synchro/Resolver to Digital Converter Specifications. For two-speed applications, the overall accuracy is calculated by dividing the accuracy of the fine channel by the gear ratio.

Velocity Measurement

Velocity measurement displays the rate of change in the angular position with a 0.1 deg/sec resolution. Tracking rates are only limited to bandwidth restrictions, as per the Tracking Rate defined in the Synchro/Resolver to Digital Converter Specifications, at 24-bit resolution.

Bandwidth Setting

Bandwidth settings can be set manually or set automatically by the internal processor. Settings are from 2 Hz up to 1280 Hz. Auto Bandwidth mode will set the bandwidth to 1/10 of the excitation frequency up to 1280 Hz.

Multi-Speed Operation

For multi-speed operation, the pairs are defined as Ch.1 & 2 and Ch. 3 & 4. The coarse and fine channels will always read their respective angle, while the combined angle will be available in the Combined Angle register.

Signal/Reference

The Signal and Excitation RMS values (10 mV resolution) are available as well as the Excitation Frequency (1 Hz resolution).

Track/Hold

A LATCH feature is provided to permit the user to take a “snapshot” of the Synchro/Resolver angular position of all channels simultaneously to ensure no delay error when reading each channel angle register. Reading the channel angle register allow the register to be updated continually.

Note

While the register reading is being latched, the channel is still internally tracking the input angle.

Angle Alert

After the angle alert function is enabled, and then a channel’s angle value exceeds a pre-programmed delta angle the associated status register will get set. An interrupt, if enabled, will be generated as soon as that threshold is reached. Thus, no polling of the angle registers is required until an angle has reached the specified difference.

Built-In Test (BIT)/Diagnostic Capability

The board supports four types of built-in tests: Power-On, Continuous Background (CBIT), User (UBIT) and Initiated. The results of these tests are stored in the BIT Dynamic Status and BIT Latched Status registers.

Power-On Self-Test (POST)

This board features a power-on self-test that will do an accuracy check of each channel and report the results in the BIT Status register when complete. After power-on, the Power-on BIT Complete register should be checked to ensure that POST test is complete before reading the BIT Latched Status.

Continuous Background Built-In Test

All SD/RD measurement modules feature a background self-test capability or Continuous BIT (CBIT)(“D2”) test. The CBIT test enables reporting of automatic background BIT (accuracy) testing. Seamlessly and transparently, each channel is checked every 5° (from 0° to 355°) to a default accuracy of 0.05°. Any channel exceeding the tolerance will trigger an Interrupt (if enabled) and results are available in BIT Latched Status registers. The testing is totally transparent to the user, requires no external programming, has no effect on the standard operation of the card, and status reporting can be ignored without changing normal operation. The user can verify that the background BIT testing is executing by writing a value other than 0x0055 to the Test CBIT Verify register and then reading theTest CBIT Verify register after 200 µs. The value reported back will be 0x0055 while the background bit testing is active.

In addition to the above accuracy tests, Signal Fault Low Status, Reference Fault Low Status, Signal Fault High Status, Reference Fault High Status, Loss Lock (when in Multi-speed) and Delta Angle are always monitored during CBIT.

Initiate Built-In Test

The SD/RD module support two off-line Initiated Built-in Test, User Initiated BIT (UBIT) (“D0”) and Initiated BIT (IBIT) (“D3”).

UBIT is used to check the channel functionality without the need for external sources All channels use an internal stimulus to simulate angular positions that the user can set and then to read the data from the interface. All channels acquire data from this internal source.

IBIT test starts an initiated BIT test that utilizes an internal stimulus to generate and test 19 different angles to a test accuracy of 0.05. IBIT test cycle is completed within 5 seconds and the result can be read from the BIT status registers when IBIT (D3 of Test Enable Register) bit changes from 1 to 0. Any failure triggers an Interrupt (if enabled). The testing can be initiated or stopped.

Note

UBIT and IBIT are individual tests and will not operate concurrently. For example, if the UBIT mode is set, and the user would like to perform the IBIT test, the UBIT mode must be released before the IBIT test will run. The same holds true when the IBIT test is active. In order for the UBIT test to be activated, the user must disable the IBIT test. The CBIT test, however, can be set and the board can still perform with either the UBIT or IBIT tests. The CBIT test will momentarily stop while either of these tests are active and will return when the tests have completed.

Note

The default error limit that the BIT tests check to is 0.050 degrees. In some systems where the noise characteristics may result in larger errors, the user has the option to program their own limits, per channel, by writing to the BIT Error Limit registers. There is one BIT Error Limit register per channel and is written to as an IEEE-754 floating point number.

SD/RD Threshold Programming

In addition to Built-in Tests, the SD/RD modules provide the ability to monitor Signal faults (under and over-voltage conditions), Reference faults (under and over-voltage conditions) and Open detects.

SD/RD FIFO Buffering

The SD/RD modules include SD/RD FIFO Buffering for greater control of the incoming signal (data) for analysis and display. When initialized and triggered, the SD/RD buffer will accept/store the data at the same rate specified in the FIFO Sample Rate register. Programmable buffer sample thresholds can be utilized for data flow control.

Status and Interrupts

The SD/RD Modules provide registers that indicate faults or events. Refer to “Status and Interrupts Module Manual” for the Principle of Operation description.

Engineering Scaling Conversions

There are separate floating point scale and offset registers for angle and velocity for each channel.

It is very often necessary to convert a Synchro/Resolver reading into another measurement unit. When the Enable Floating Point Mode register is set to 1, the values entered for the Floating Point Scale register and Floating Point Offset register will be used to convert the data (i.e., Angle and Velocity Data registers) to the associated engineering unit as follows:

      SD Data in Engineering Units (Floating Point) =

                (SD Value (Angle) * (Floating Point Scale/360°)) + Floating Point Offset

The purpose for providing this feature is to offload the processing that is normally performed by the mission processor to convert the integer values to engineering unit values.

When the Enable Floating Point Mode register is set to 1 (Floating Point Mode) the following registers are formatted as Single Precision Floating Point Values (IEEE-754):

  • Angle Data

  • Combined Angle Data

  • Velocity Data

  • Measured Reference RMS Voltage

  • Measured Signal RMS Voltage

  • Measured Frequency

  • FIFO Buffer Data

  • Threshold Detect Levels* (Signal Faults, Reference Faults)

  • UBIT Test Angle*

  • Delta Angle*

*When the Enable Floating Point Mode register is set to 1, it is important that these registers are updated with the Single Precision Floating Point (IEEE-754) representation of the value for proper operation of the channel. Conversely, when the Enable Floating Point Mode register is set to 0, these registers must be updated with the Integer 32-bit representation of the value.

Note

when changing the Enable Floating Point Mode from Integer Mode to Floating Point Mode or vice versa, the following step should be followed to avoid faults from falsely being generated because Thresholds and Test Angle registers have an incorrect binary representation of the values:

  1. Set the Enable Floating Point Mode register to the desired mode (Integer = 0 or Floating Point = 1).

  2. Wait for the Floating Point State register to match the value for the requested Floating Point Mode (Integer = 0, Floating Point = 1); this indicates that the module’s conversion of the register values and internal values is complete. Data registers will be converted to the units specified and can be read in that specified format.

  3. Initialize configuration and control registers with the values in the units specified (Integer or Floating Point).

The following registers are formatted as Single Precision Floating Point Values (IEEE-754) regardless of the value in the Enable Floating Point Mode register:

  • Sine, Cosine, Sine+Cosine Voltages

  • Sine, Cosine Detect Values

  • Open Detect Thresholds

  • BIT Error Limit

  • Angle and Velocity Floating Point Scales and Offsets

Module Common Registers

The SD/RD Function Modules provide module common registers that provide access to module-level bare metal/FPGA revisions & compile times, unique serial number information, and temperature/voltage/current monitoring. Refer to “Module Common Registers Module Manual” for the detailed information.

REGISTER DESCRIPTIONS

The register descriptions provide the register name, Type, Data Range, Read or Write information, Initialized Value, a description of the function and, in most cases, a data table.

SD/RD Measurement Registers

When the Enable Floating Point Mode is enabled, the register values are formatted as Single Precision Floating Point Value (IEEE-754) values. In addition, the Floating Point Scale and register Floating Point Offset will be applied to convert the angle value to engineering units.

Angle Data
Function:Reads the individual channel angle in degrees when the channel is in single-speed or multi-speed mode.
Type:unsigned binary word (32-bit) (Integer Mode) or Single Precision Floating Point Value (IEEE-754) (Floating Point Mode)
Data Range:0 to 359.9999 degrees Integer Mode (Enable Floating Point Mode register = 0) LSB is 360/2 or approximately 8.3819 x 10 degrees Floating Point Mode (Enable Floating Point Mode register = 1) Single Precision Floating Point Value (IEEE-754)
Read/Write:R
Initialized Value:N/A
Operational Settings:Note, for multi-speed operation, the pairs are defined as Ch.1 & 2 and Ch. 3 & 4. The coarse and fine channels will always read their respective angle, while the combined angle will be available in a separate register (defined in Combined Angle register).

Integer Mode:

180904522.511.255.6252.81251.406250.7031250.3515630.1757810.0878910.0439450.0219730.0109860.005493
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
DDDDDDDDDDDDDDDD
2.746582E-031.373291E-038.666455E-043.443228E-041.716614E-048.583096E-054.291534E-052.145767E-051.072884E-055.364418E-062.682209E-061.341105E-066.705523E-073.352761E-071.676381E-078.381930E-08
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
DDDDDDDDD0000000

Floating Point Mode: Read as Single Precision Floating Point Value (IEEE-754).

Velocity Data
Function:Reads the individual channel Clockwise and Counter-clockwise velocity in degrees per second (dps).
Type:signed binary word (32-bit) (Integer Mode) or Single Precision Floating Point Value (IEEE-754) (Floating Point Mode)
Data Range:+/-300,000 degrees / sec
Integer Mode(Enable Floating Point Mode register = 0)      32-bit two's complement      0x7FFF FFFF being maximum CW rotation, and 0x8000 0000 being maximum CCW rotation.
Floating Point Mode(Enable Floating Point Mode register = 1)      Single Precision Floating Point Value (IEEE-754)
Read/Write:R
Initialized Value:N/A
Operational Settings:To convert a velocity word to revolutions per second (rps): Velocity in rps = value (dps) / 360 Integer Mode: The velocity register is read as a two's complement word when in “integer” mode, with 0x7FFF FFFF being the maximum positive velocity, and 0x8000 0000 being the maximum negative velocity. Units are in degrees/second. LSB Value is 0.1 degree/second. Floating Point Mode: Read as Single Precision Floating Point Value (IEEE-754).
Sine RMS
Function:Reads the individual channel RMS value of the “Sine” input (10 mV resolution).
Type:Single Precision Floating Point Value (IEEE-754)
Data Range:0.0 to 100.0
Read/Write:R
Initialized Value:N/A
Operational Settings:N/A
Cosine RMS
Function:Reads the individual channel RMS value of the “Cosine” input (10mV resolution).
Type:Single Precision Floating Point Value (IEEE-754)
Data Range:0.0 to 100.0
Read/Write:R
Initialized Value:N/A
Operational Settings:N/A
Sine
Cosine RMS
Function:Reads the individual channel total sum RMS value of the “Sine” and “Cosine” signals added together regardless of phase (10mV resolution).
Type:Single Precision Floating Point Value (IEEE-754)
Data Range:0.0 to 200.0
Read/Write:R
Initialized Value:N/A
Operational Settings:N/A
Measured Reference (RMS)
Function:Measures individual channel input reference voltage (10mV Resolution).
Type:unsigned binary word (32-bit) (Integer Mode) or Single Precision Floating Point Value (IEEE-754) (Floating Point Mode)
Data Range:0-140 Integer Mode (Enable Floating Point Mode register = 0)      LSB = 10 mV rms. Floating Point Mode (Enable Floating Point Mode register = 1)      Single Precision Floating Point Value (IEEE-754)
Read/Write:R
Initialized Value:N/A
Operational Settings:Integer Mode: Read integer value and multiply value by LSB (10 mV) to compute the reference voltage. Floating Point Mode: Read as Single Precision Floating Point Value (IEEE-754).
Measured Signal (RMS)
Function:Measures RMS value (Square root of the sum of the squares) (Vsine^2
Vcosine^2 )1/2
Type:unsigned binary word (32-bit) (Integer Mode) or Single Precision Floating Point Value (IEEE-754) (Floating Point Mode)
Data Range:0.0 to 100.0
Integer Mode(Enable Floating Point Mode register = 0)      LSB = 10 mV rms. Floating Point Mode (Enable Floating Point Mode register = 1)      Single Precision Floating Point Value (IEEE-754)
Read/Write:R
Initialized Value:N/A
Operational Settings:The input signal voltages “Vsine
Vcosine” are measured, squared & summed Integer Mode: Read integer value and multiply value by LSB (10 mV) to compute the signal voltage. Floating Point Mode: Read as Single Precision Floating Point Value (IEEE-754).
Measured Frequency (Hz)
Function:Measures individual channel input reference frequency.
Type:unsigned binary word (32-bit) (Integer Mode) or Single Precision Floating Point Value (IEEE-754) (Floating Point Mode)
Data Range:0-20 kHz Integer Mode (Enable Floating Point Mode register = 0)      LSB = 1 Hz. Floating Point Mode (Enable Floating Point Mode register = 1)      Single Precision Floating Point Value (IEEE-754)
Read/Write:R
Initialized Value:N/A
Operational Settings:Each individual channel input reference frequency is measured, and the value is reported to a corresponding register. Integer Mode: The integer value represents the reference frequency in Hz. Floating Point Mode: Read as Single Precision Floating Point Value (IEEE-754).
Combined Angle
Function:Reads the multi-speed combined angle for increased accuracy.
Type:unsigned binary word (32-bit) (Integer Mode) or Single Precision Floating Point Value (IEEE-754) (Floating Point Mode)
Data Range:0 to 359.9999 degrees Integer Mode (Enable Floating Point Mode register = 0)      LSB is 360/232 or approximately 8.3819 x 10-8 degrees Floating Point Mode (Enable Floating Point Mode register = 1)      Single Precision Floating Point Value (IEEE-754)
Read/Write:R
Initialized Value:N/A
Operational Settings:see below

Integer Mode:

For multi-speed operation, the pairs are defined as Ch.1 & 2 and Ch. 3 & 4.

180904522.511.255.6252.81251.406250.7031250.3515630.1757810.0878910.0439450.0219730.0109860.005493
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
DDDDDDDDDDDDDDDD
2.746582E-031.373291E-038.666455E-043.443228E-041.716614E-048.583096E-054.291534E-052.145767E-051.072884E-055.364418E-062.682209E-061.341105E-066.705523E-073.352761E-071.676381E-078.381930E-08
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
DDDDDDDDD0000000

Floating Point Mode:

Read as Single Precision Floating Point Value (IEEE-754).

Sine Detect Value
Function:Reports a numeric value based on the connection status of the Sine input from the SD/RD.
Type:Single Precision Floating Point Value (IEEE-754)
Data Range:0 to 200,000 (typical range)
Read/Write:R
Initialized Value:N/A
Operational Settings:This register will display a value typically in the hundreds when the is connected normally and is functional. If one of the inputs, Sine(hi) or Cosine(lo) is disconnected from the SD/RD, this value will increase into the thousands. If the Sine and Cosine winding is shorted, the value will be close to “0”. This value is used in comparison with the Open and Short Detect threshold values to alert the user of a faulty connection.
Cosine Detect Value
Function:Reports a numeric value based on the connection status of the Cosine input from the SD/RD.
Type:Single Precision Floating Point Value (IEEE-754)
Data Range:0 to 200,000 (typical range)
Read/Write:R
Initialized Value:N/A
Operational Settings:Refer to Sine Detect Value register description.

SD/RD Control Registers

The SD/RD control registers provide the ability to specify the mode, bandwidth, bandwidth select mode, multi-speed mode, delta angle value, initiate delta angle setting, channel status enable setting, track/hold setting, and inverse signal control setting.

Mode Select
Function:Configures for Synchro or Resolver measurement.
Type:unsigned binary word (32-bit)
Data Range:See table.
Read/Write:R/W
Initialized Value:0
Operational Settings:Set the Mode as specified in the table.
Mode Select ValueDescription
0Resolver
3Synchro
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
0000000000000000
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
00000000000000ModeMode
Bandwidth Select
Function:Sets the bandwidth control to use. Bandwidth settings can be set manually or automatically by the module's internal processor.
Type:unsigned binary word (32-bit)
Data Range:0 to 1
Read/Write:R/W
Initialized Value:0
Operational Settings:Set to Manual (0) to use the value in the Bandwidth register. Set to Automatic (1) to have the module automatically set the bandwidth will be set to 1/10 of the excitation frequency up to 1280 Hz. The Bandwidth register will contain the calculated bandwidth when in Bandwidth Select is set to automatic. The bandwidth setting will only update when there is a 12.5% change in frequency. For example, if the frequency is at 1Khz and the bandwidth is set to 100hz, a change in frequency less than 125Hz will result in no change to the bandwidth setting.
Bandwidth Select ValueDescription
0Manual
1Automatic
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
0000000000000000
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
000000000000000D
Bandwidth (Hz)
Function:Sets the bandwidth when the Bandwidth Select register is set for “Manual” or contains the bandwidth set by the module's internal processor when the Bandwidth Select register is set for “Automatic”.
Type:unsigned binary word (32-bit)
Data Range:2 to 1280 Hz
Read/Write:R/W
Initialized Value:40 Hz
Operational Settings:When the Bandwidth Select register is set for “Manual” mode, the bandwidth is programmable, between 2 and 1280 Hz. The LSB is 1 Hz. The resolution is 2Hz. All values greater than 1280 will be processed as 1280Hz. All values less than 2 will be processed as 2 Hz. NOTE: the bandwidth should not be set to more than ¼ of the reference frequency. A higher BW setting will result in a quicker response to a change in angular position but will be at the expense of greater noise in the reading. A lower BW value will result in a much quieter reading but will take longer to settle. When the Bandwidth Select register is set for “Automatic” mode, the bandwidth will be internally calculated and written to this register. The bandwidth value will be set to 1/10 the carrier frequency with a minimum BW of 2 Hz, and a maximum BW of 1280 Hz. The change will occur only when a frequency change of 12.5% or greater is detected as illustrated in the table.

Example: Bandwidth Select = Automatic

Reference FrequencyBandwidth ValueDescription
Current Reference frequency at 400 HzBandwidth sets to 40Hza 12.5% change would be 50 Hz
Reference Frequency changes to 12KhzBandwidth sets to 1200Hz3000% change from 400Hz
Reference Frequency changes to 13KhzBandwidth sets to 1200Hz8.333% change from 12Khz (not enough to trigger a change)
Reference Frequency changes to 14KhzBandwidth sets to 1280Hz16.666% change from 12Khz
Multi-Speed Ratio
Function:Sets single, or multi-speed configuration for channel pairs Ch. 1 & 2, and Ch. 3 & 4.
Type:unsigned binary word (32-bit)
Data Range:1 to 255
Read/Write:R/W
Initialized Value:1 (Single-Speed)
Operational Settings:Selected in pairs; Ch 1 and 2, and Ch 3 and 4. Set the desired ratio corresponding to the pair of channels to be used for a two-speed or multi-speed configuration. Example, 36:1, set Multi-speed Ratio = 36. Default is for single-speed applications where Multi-speed Ratio = 1.
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
0000000000000000
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
00000000DDDDDDDD
Delta Angle
Type:unsigned binary word (32-bit) (Integer Mode) or Single Precision Floating Point Value (IEEE-754) (Floating Point Mode)
Data Range:0x0009 1A2B to 0x7FED CBA9 (Integer mode) or 0.05 to 179.9 degrees (Floating Point Mode)
Read/Write:R/W
Initialized Value:0
Operational Settings:Set the minimum differential angle to trigger an angle change alert.

Integer Mode: Set the Delta Angle based on the bit weighs shown in the table.

180904522.511.255.6252.81251.406250.7031250.3515630.1757810.0878910.0439450.0219730.0109860.005493
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
DDDDDDDDDDDDDDDD
2.746582E-031.373291E-036.866455E-043.443228E-041.716614E-048.583096E-054.291534E-052.145767E-051.072884E-055.364418E-062.682209E-061.341105E-066.705523E-073.352761E-071.676381E-078.381930E-08
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
DDDDDDDDD0000000

Note

The per bit angle values in the following table are approximate.

Floating Point Mode: Set as Single Precision Floating Point Value (IEEE-754).

Initiate Delta Angle
Function:Initiates the monitored for angle change alert.
Type:unsigned binary word (32-bit)
Data Range:0 to 1
Read/Write:W
Initialized Value:0
Operational Settings:Used in conjunction with the Delta Angle register. Writing a “1” to the Initiate Delta Angle register will capture the current angle and use this value to detect a change of +/- the value written in the Delta Angle register. If the angle exceeds this limit, the corresponding bit in the Delta Angle Status registers (Dynamic and Latched) will be set.

Note

Since the dynamic registers in general give you the current state of the channel, the bit will be set and then cleared within 4.096 µs and might not be observed in the dynamic register. The bit in the Delta Angle Latched Status register, however, will remain set until cleared.

D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
0000000000000000
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
000000000000000D
Track/Hold
Function:Latches channels.
Type:unsigned binary word (32-bit)
Data Range:0x0000 0000 to 0x0000 000F
Read/Write:R/W
Initialized Value:0
Operational Settings:Setting the bit for the associated channel to a “1” will latch the data for the corresponding channel. Internally, the channel will continue to track the input, but the data in the Angle Data register for the corresponding channel will be latched at the SD/RD angle when the latch was initiated. Once the Angle Data register is read, the hardware will disengage the latch for that channel and will continue to update the current Synchro/Resolver angle. It will automatically clear the bit associated with the channel. Once set, you can always return to updating the angle by clearing the corresponding channel bit. NOTE: this feature can be used to acquire a snapshot of all channels simultaneously.
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
0000000000000000
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
000000000000Ch4Ch3Ch2Ch1
Inverse Signal Control
Function:Enables the inversion of the phase of the Sine, Cosine and Reference signals.
Type:unsigned binary word (32-bit)
Data Range:See table.
Read/Write:R/W
Initialized Value:0
Operational Settings:The feature provides the ability to invert the phase of the Sine, Cosine and Reference signals.
Inverse Signal Control ValueDescription
0Do not invert phase of signal.
1Invert phase of signal.
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
0000000000000000
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
0000000000000REFCOSSIN

Threshold Programming Registers

The Signal Fault Low Threshold, Signal Fault High Threshold, Reference Fault Low Threshold, Reference Fault High Threshold, and Open Detect Threshold registers set the threshold limits to the Signal Fault Low Status, Signal Fault High Status, Reference Fault Low Status, Reference Fault High Status, and Open Detect Status registers respectively.

Signal Fault Low Threshold
Function:Sets the “under-voltage” threshold at which a fault will be reported in the Signal Fault Low Status register.
Type:unsigned binary word (32-bit) (Integer Mode) or Single Precision Floating Point Value (IEEE-754) (Floating Point Mode)
Data Range:0 - 130Vrms Integer Mode (Enable Floating Point Mode register = 0)      LSB = 10 mV rms. Floating Point Mode (Enable Floating Point Mode register = 1)      Single Precision Floating Point Value (IEEE-754)
Read/Write:R/W
Initialized Value:826 decimal (8.26 VLL)(SD1-SD4); 6300 decimal (63.00 VLL)(SD5)
Operational Settings:The signal fault detection circuitry will report a fault in the Signal Fault Low Status register when the measured signal is below the value set in Signal Fault Low Threshold register.
Signal Fault High Threshold
Function:Sets the “over-voltage” threshold at which a fault will be reported in the Signal Fault High Status register.
Type:unsigned binary word (32-bit) (Integer Mode) or Single Precision Floating Point Value (IEEE-754) (Floating Point Mode)
Data Range:0 - 130Vrms Integer Mode (Enable Floating Point Mode register = 0)      LSB = 10 mV rms. Floating Point Mode (Enable Floating Point Mode register = 1)      Single Precision Floating Point Value (IEEE-754)
Read/Write:R/W
Initialized Value:1685 decimal (16.85 VLL)(SD1-SD4); 11700 decimal (117.00 VLL)(SD5)
Operational Settings:The signal fault detection circuitry will report a fault in the Signal Fault High Status register when the measured signal is above the value set in Signal Fault High Threshold register.
Reference Fault Low Threshold
Function:Sets the “under-voltage” threshold at which a fault will be reported in the Reference Fault Low Status register.
Type:unsigned binary word (32-bit) (Integer Mode) or Single Precision Floating Point Value (IEEE-754) (Floating Point Mode)
Data Range:0-135 Vrms Integer Mode (Enable Floating Point Mode register = 0)      LSB = 10 mV rms. Floating Point Mode (Enable Floating Point Mode register = 1)      Single Precision Floating Point Value (IEEE-754)
Read/Write:R/W
Initialized Value:1820 decimal (18.2 V)(SD1-SD4); 8050 decimal (80.5 V)(SD5)
Operational Settings:The reference fault detection circuitry will report a fault in the Reference Fault Low Status register when the measured reference signal is below the value set in Reference Fault Low Threshold register.
Reference Fault High Threshold
Function:Sets the “over-voltage” threshold at which a fault will be reported in the Reference Fault High Status register.
Type:unsigned binary word (32-bit) (Integer Mode) or Single Precision Floating Point Value (IEEE-754) (Floating Point Mode)
Data Range:0-135 Vrms Integer Mode (Enable Floating Point Mode register = 0)      LSB = 10 mV rms. Floating Point Mode (Enable Floating Point Mode register = 1)      Single Precision Floating Point Value (IEEE-754)
Read/Write:R/W
Initialized Value:3380 decimal (33.8 V)(SD1-SD4); 14950 decimal (149.5 V)(SD5)
Operational Settings:The reference fault detection circuitry will report a fault in the Reference Fault High Status register when the measured reference signal is above the value set in Reference Fault High Threshold register.
Open Detect Threshold
Function:Sets the threshold at which “open” signal will be reported in the Open Detect Status register.
Type:Single Precision Floating Point Value (IEEE-754)
Data Range:0.0 - 100,000.0
Read/Write:R/W
Initialized Value:10,000.0
Operational Settings:This register value is used as a comparison for the Sine Detect Value and Cosine Detect Value register values. Since SD/RDs vary, this value will need to be “tuned” and will be described in the Sine Detect Value and Cosine Detect Value registers section.

SD/RD Test Registers

Three different tests, one on-line (CBIT) and two off-line (UBIT, IBIT), can be selected. External reference voltage is not required for any of these tests.

Test Enabled
Function:Set bit in this register to enable associated Built-In Self-Test IBIT, CBIT and UBIT.
Type:unsigned binary word (32-bit)
Data Range:0x0000 to 0x000D
Read/Write:R/W
Initialized Value:0x4 (CBIT Test Enabled)
Operational Settings:BIT tests include an on-line (CBIT) test and two off-line (UBIT, IBIT) tests. Failures in the BIT tests are reflected in the BIT Status registers for the corresponding channels that fail. In addition, an interrupt (if enabled in the BIT Interrupt Enable register) can be triggered when the BIT testing detects a failure. UBIT and IBIT will not operate concurrently. When UBIT is enabled, the IBIT should not be enabled, and vice versa. CBIT can be set with either UBIT or IBIT enabled. Note, IBIT when enabled will run until the test completes (within 5 seconds).
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
0000000000000000
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
000000000000IBIT Test DCBIT Test 10UBIT Test D
Test CBIT Verify
Function:Allows user to verify if the CBIT test is running.
Type:unsigned binary word (32-bit)
Data Range:0x0000 0000 to 0xFFFF FFFF
Read/Write:R/W
Initialized Value:0
Operational Settings:User can write any value to this register. If CBIT test is running, after a minimum of 10ms the value read back will be 0x0000 0055, otherwise the value read back will be the value written.
UBIT Test Angle
Function:Specifies the angle to be applied by the Synchro/Resolver UBIT test.
Type:unsigned binary word (32-bit) (Integer Mode) or Single Precision Floating Point Value (IEEE-754) (Floating Point Mode)
Data Range:0 to 359.9945 Integer Mode (Enable Floating Point Mode register = 0)      LSB : 360/232 Floating Point Mode (Enable Floating Point Mode register = 1)      Single Precision Floating Point Value (IEEE-754)
Read/Write:R/W
Initialized Value: 30.0 deg
Operational Settings:see below

Integer Mode: Set the Test Angle based on the bit weighs shown in the table.

180904522.511.255.6252.81251.406250.7031250.3515630.1757810.0878910.0439450.0219730.0109860.005493
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
DDDDDDDDDDDDDDDD
2.746582E-031.373291E-036.866455E-043.443228E-041.716614E-048.583096E-054.291534E-052.145767E-051.072884E-055.364418E-062.682209E-061.341105E-066.705523E-073.352761E-071.676381E-078.381930E-08
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
DDDDDDDDD0000000

Note

The per bit angle values in the following table are approximate.

Floating Point Mode: Set the Test Angle as a Single Precision Floating Point Value (IEEE-754).

BIT Error Limit
Function:Allows the user to set the error limit for the CBIT, UBIT and IBIT tests.
Type:Single Precision Floating Point Value (IEEE-754)
Data Range:Positive value - setting this value to zero will most likely result in a BIT Status failure.
Read/Write:R/W
Initialized Value:0.050
Operational Settings:The default error limit that the BIT tests check to is 0.050 degrees. In some systems the noise characteristics may result in larger errors than the default error limit. Setting BIT Error Limit registers with a value that is better suited for these systems may help lower the possibility of reporting “false-positives” for the channel in the BIT Status registers during BIT testing.

FIFO Registers

The FIFO registers are configurable for each channel.

FIFO Buffer Data
Function:Available data in the FIFO buffer can be retrieved, one word at a time (32-bits).
Type:Angle and Velocity: signed binary word (32-bit) (Integer Mode) or Single Precision Floating Point Value (IEEE-754) (Floating Point Mode) Timestamp: unsigned binary word (32-bit)
Data Range:Varies based on Data type. Reading Angle & Velocity can be either integer or float format. Time stamp will always be in integer format. Integer Mode (Enable Floating Point Mode register = 0)      32-bit two's complement      -Full Scale (0x8000 0000) to
Full Scale (0x7FFF FFFF) Floating Point Mode (Enable Floating Point Mode register = 1)      Single Precision Floating Point Value (IEEE-754)
Read/Write:R
Initialized Value:0
Operational Settings:Data for the Angle & Velocity will be stored in either the integer format or IEEE floating point standard based on the state of the Enable Floating Point Mode register.
FIFO Word Count
Function:This is a counter that reports the number of 32-bit words currently in the FIFO Buffer Data register.
Type:unsigned binary word (32-bit)
Data Range:0 to 0x0040 0000
Read/Write:R
Initialized Value:0
Operational Settings:Each time the module writes to the FIFO, the word count will be incremented by 1. Any read operations made from the FIFO Buffer Data memory address; its corresponding Words in FIFO counter will be decremented by one. The maximum number of words that can be stored in the FIFO is 4,194,304 (4 Meg) (0x0040 0000).

FIFO Thresholds

The FIFO Almost Empty Threshold, FIFO Low Watermark Threshold, FIFO High Watermark Threshold, FIFO Almost Full Threshold and FIFO Buffer Size registers set the threshold limits that are used to set the bits in the FIFO Status registers.

Note

It is important that the almost empty threshold/low watermark threshold be set less than the almost full threshold/high watermark threshold, respectively, for valid operation.

FIFO Almost Empty
Function:The FIFO Almost Empty threshold level is used as a comparison value to determine when to set the “almost empty” bit in the FIFO Status register.
Type:unsigned binary word (32-bit)
Data Range:0 to 0x0040 0000
Read/Write:R/W
Initialized Value:0x0000 0032
Operational Settings:When the number of words in the FIFO Word Count register is less than or equal to the value stored in this register, the “almost empty” bit (D1) of the FIFO Status register will be set. When the number of words in FIFO Word Count is greater than the value stored in this register, the “almost empty” bit (D1) of the FIFO Status register will be reset.
FIFO Low Watermark
Function:The FIFO Low Watermark threshold level is used as a comparison value to determine when to set the “low watermark” bit in the FIFO Status register.
Type:unsigned binary word (32-bit)
Data Range:0 to 0x0040 0000
Read/Write:R/W
Initialized Value:0x0000 0064
Operational Settings:When the number of words in FIFO Word Count register is less than or equal to the value stored in this register, the “low watermark” bit (D2) of the FIFO Status register will be set. When the number of words in FIFO Word Count is greater than the value stored in this register, the “low watermark” bit (D2) of the FIFO Status register will be reset.
FIFO High Watermark
Function:The FIFO High Watermark threshold level is used as a comparison value to determine when to set the “high watermark” bit in the FIFO Status register.
Type:unsigned binary word (32-bit)
Data Range:0 to 0x0040 0000
Read/Write:R/W
Initialized Value:0x003F 0000
Operational Settings:When the number of words in FIFO Word Count register is greater than or equal than the value stored in this register, the “high watermark” bit (D3) of the FIFO Status register will be set. When the number of words in FIFO Word Count is less than the value stored in the register, the “high watermark” bit (D3) of the FIFO Status register will be reset.
FIFO Almost Full
Function:The FIFO Almost Full threshold level is used as a comparison value to determine when to set the “almost full” bit in the FIFO Status register.
Type:unsigned binary word (32-bit)
Data Range:0 to 0x0040 0000
Read/Write:R/W
Initialized Value:0x003F FF00
Operational Settings:When the number of words in the FIFO Word Count register is greater than or equal to the value stored in this register, the “almost full” bit (D4) of the FIFO Status register will be set. When the number of words in FIFO Word Count is less than the value stored in this register, the “almost full” bit (D4) of the FIFO Status register will be reset.
FIFO Buffer Size
Function:The FIFO Buffer Size sets the number of samples to be taken and placed into the FIFO when a trigger occurs.
Type:unsigned binary word (32-bit)
Data Range:0 to 0x0040 0000
Read/Write:R/W
Initialized Value:0x0000 2000
Operational Settings:When the number of samples set in this register are sent to the FIFO, the “sample done” bit (D6) in the FIFO Status register is set. If another trigger is sent the “sample done” bit is cleared and set again once all data has been transferred. The largest number of samples that may be collected is 4,194,304 (0x0040 0000). If the buffer size is greater than the amount of words available in the FIFO, only the number of words that are available will be stored and the remaining words lost.
FIFO Buffer Control
Function:The FIFO Buffer Control register defines the type of data that is stored in the FIFO Buffer Data register for each channel.
Type:unsigned binary word (32-bit)
Data Range:See table
Read/Write:R/W
Initialized Value:0
Operational Settings:The following data types are available:
BitDescription=
D31:D3Reserved - Set to 0.
D2Store Timestamp. An integer counter that counts from 0 to 4,194,304 and wraps around when it overflows
D1Store Velocity Data
D0Store Angle Data

Note

Each data format (D0-D2) requires one word of storage from the FIFO buffer. For example: If D0, D1 and D2 are set (0x07) and the FIFO Buffer Size register is set to 1, a FIFO write will only put the Angle data to the FIFO memory.

If the FIFO Buffer Size is set to 10, it will store 4 Angle values, 3 Velocity values & 3 timestamp values. Data will be stored in the order of Angle, Velocity then timestamp. Since the maximum physical size of FIFO is 4,194,304 for each channel, the value in the FIFO Buffer Size register could cause an overflow to the FIFO Word Count register. When an overflow occurs, any data not placed in the FIFO will be lost.

FIFO Sample Rate
Function:The FIFO Sample Rate register sets the sampling rate for FIFO data collection for each channel.
Type:unsigned binary word (32-bit)
Data Range:1 to 0xFFFF FFFF
Read/Write:R/W
Initialized Value:1
Operational Settings:Sample rate is based on the product of 4.096 µsec x the integer set in the register. For example: if the rate is set to 2, the FIFO buffer sample rate will be 4.096 µsec x 2 = 8.192 µsec
FIFO Sample Delay
Function:The FIFO Sample Delay register sets the number of delay samples before the actual FIFO data collection begins.
Type:unsigned binary word (32-bit)
Data Range:0 to 0xFFFF FFFF
Read/Write:R/W
Initialized Value:0
Operational Settings:The data collected during the delay period will be discarded.

Note

If timestamp is included as part of the FIFO data, it will begin as soon as the trigger is initiated. For example, if the FIFO Buffer Size register is set to 10, FIFO Sample Delay is set to 7, FIFO Sample Rate is at 1, and the Angle is also selected to be stored, the data written into the FIFO would be ,8,,9,,10,< angle >,11,< angle >,12.

FIFO Clear
Function:The FIFO Clear register clears FIFO data and sets the FIFO Word Count register to zero.
Type:unsigned binary word (32-bit)
Data Range:0 to 1
Read/Write:W
Initialized Value:N/A
Operational Settings:Write a 1 to this register to reset the FIFO Word Count register to zero and clear the FIFO of any data in the buffer. After writing a 1 to the FIFO Clear register, the FIFO Buffer will only stay empty if all data has been sent (DONE bit set in the FIFO Status register). If data is still in the process of being written to the FIFO, any current data will be cleared, but the FIFO will continue to fill with new data until the number of samples sent equals the number of samples that was set in the FIFO Buffer Size register.
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
0000000000000000
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
000000000000000D
FIFO Trigger Control
Function:Sets the FIFO Buffer Triggering options. FIFO can be started/triggered by different sources.
Type:unsigned binary word (32-bit)
Data Range:See tables
Read/Write:R/W
Initialized Value:2 (Software Trigger, Trigger Disabled)
Operational Settings:To Enable triggering, set D5 to “1”. When set up for software triggering, write a 1 to the FIFO Software Trigger register to start the transfer of data to the FIFO. If in external mode and Positive slope is set (D4 = 0), a rising edge of the external trigger input will start the transfer of data to the FIFO. If in external mode and Negative slope is selected (D4 = 1), a falling edge of the external trigger input will start the transfer of data to the FIFO.

Note

Disabling the trigger while data is being transferred, does NOT stop the data from being written to the FIFO.

BitDescription
D31:D7Reserved - Set to 0.
D6Enable Trigger Always (Contact Factory)
D5Trigger Enable
D4Trigger Slope (0 = Positive, 1 = Negative)
D3:D2Reserved - Set to 0.
D1:D00:0 - External Trigger ` 0:1 - N/A ` 1:0 - Software Trigger + 1:1 - N/A
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
0000000000000000
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
00000000DDDD00DD
FIFO Software Trigger
Function:Software trigger is used to kick start the FIFO buffer and the collection of data.
Type:unsigned binary word (32-bit)
Data Range:0 or 1
Read/Write:W
Initialized Value:0 (Not Triggered)
Operational Settings:To use this operation, the FIFO Trigger Control register must be set up as software trigger (D1 = 1, D0 = 0) and Trigger Enable is enabled (D5 = 1). Write a 1 to this register to trigger FIFO collection for all channels. This register will automatically be cleared.
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
0000000000000000
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
000000000000000D

Engineering Scaling Conversion Registers

The SD/RD Module Threshold and Measurement registers can be programmed to be utilized as IEEE-754 single-precision floating-point values or as 32-bit integer values.

Enable Floating Point Mode
Function:Sets all channels for floating point mode or integer mode.
Type:unsigned binary word (32-bit)
Data Range:0 or 1
Read/Write:R/W
Initialized Value:0 (Integer mode)
Operational Settings:Set bit to 1 to enable Floating Point Mode and 0 for Integer Mode.
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
0000000000000000
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
000000000000000D
Floating Point Offset
Function:Sets the floating-point offset to add to data. There are separate floating-point offset registers for Angle and Velocity for each channel.
Type:Single Precision Floating Point Value (IEEE-754)
Data Range:N/A*
Read/Write:R/W
Initialized Value:0.0
Operational Settings:Writing a value to one of these registers will add to the Angle or Velocity based on which register is chosen (when floating point mode is enabled). For example, if the angle is currently at 10.0 degrees, the angle floating-point offset register is at 0.000, and floating-point mode is enabled, writing a 2.00 to the angle floating-point offset register will result in the angle reading 12.0 degrees. If the value written is -1.7, then the angle will be at 8.30 degrees. *Data range is any acceptable 32-bit IEEE-754 value. Usage is application dependent - see examples within this document.
Floating Point Scale
Function:Sets the floating-point scale to modify the data. There are separate floating-point scale registers for angle and velocity for each channel.
Type:Single Precision Floating Point Value (IEEE-754)
Data Range:NA*
Read/Write:R/W
Initialized Value:1
Operational Settings:Writing a value to one of these registers will multiply the angle or velocity value by the register value which register is chosen (when floating-point mode is enabled). For example, if the angle is currently at 10.0 degrees, the angle floating-point scale register is at 2.000, and floating-point mode is enabled, will result in the angle reading 20.0 degrees. *Data range is any acceptable 32-bit IEEE-754 value. Usage is application dependent - see examples within this document.
Floating Point State
Function:Indicates the state of the mode selected (Integer or Floating Point).
Type:unsigned binary word (32-bit)
Data Range:0 or 1
Read/Write:R
Initialized Value:0
Operational Settings:Indicates whether the module registers are in Integer (0) or Floating Point Mode (1). When the Enable Floating Point Mode is modified, the application must wait until this register's value matches the requested mode before changing the values of the configuration and control registers with the values in the units specified (Integer or Floating Point).
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
0000000000000000
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
000000000000000D

Module Common Registers

Refer to “Module Common Registers Module Manual” for the register descriptions.

Status and Interrupts Registers

The SD/RD Modules provide status registers for BIT, Signal Fault Low, Signal Fault High, Reference Fault Low, Reference Fault High, Delta Angle, FIFO and Open Detect.

Channel Status Enable
Function:Determines whether to update the Latched and Real-Time status states for the channels. The default is channel status enable off (no failure).
Type:unsigned binary word (32-bit)
Data Range:0x0000 0000 - 0x0000 000F
Read/Write:R/W
Initialized Value:0x0000 0000
Operational Settings:When the bit corresponding to a given channel in the Channel Status Enable register is enabled (1), it will allow the statuses for that channel to be updated. When the bit corresponding to a given channel is disabled (0), the statuses for that channel will be masked and reported as “0” or “no failure”.
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
0000000000000000
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
000000000000Ch4Ch3Ch2Ch1
BIT Status
Function:Sets the corresponding bit associated with the channel's BIT error.
Type:unsigned binary word (32-bit)
Data Range:0x0000 0000 to 0x0000 000F
Read/Write:R (Dynamic), R/W (Latched, Interrupt Enable, Edge/Level Interrupt)
Initialized Value:0
BIT Dynamic Status
BIT Latched Status
BIT Interrupt Enable
BIT Set Edge/Level Interrupt
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
0000000000000000
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
000000000000Ch4Ch3Ch2Ch1

Signal Fault Low Status

There are four registers associated with the Signal Fault Low Status: Dynamic, Latched, Interrupt Enable, and Set Edge/Level Interrupt.

Signal Fault Low Status
Function:Sets the corresponding bit associated with the channel's Signal Fault Low error.
Type:unsigned binary word (32-bit)
Data Range:0x0000 0000 to 0x0000 000F
Read/Write:R (Dynamic), R/W (Latched, Interrupt Enable, Edge/Level Interrupt)
Initialized Value:0
Signal Fault Low Dynamic Status
Signal Fault Low Latched Status
Signal Fault Low Interrupt Enable
Signal Fault Low Set Edge/Level Interrupt
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
0000000000000000
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
000000000000Ch4Ch3Ch2Ch1

Signal Fault High Status

There are four registers associated with the Signal Fault High Status: Dynamic, Latched, Interrupt Enable, and Set Edge/Level Interrupt.

Signal Fault High Status
Function:Sets the corresponding bit associated with the channel's Signal Fault High error.
Type:unsigned binary word (32-bit)
Data Range:0x0000 0000 to 0x0000 000F
Read/Write:R (Dynamic), R/W (Latched, Interrupt Enable, Edge/Level Interrupt)
Initialized Value:0
Signal Fault High Dynamic Status
Signal Fault High Latched Status
Signal Fault High Interrupt Enable
Signal Fault High Set Edge/Level Interrupt
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
0000000000000000
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
000000000000Ch4Ch3Ch2Ch1

Reference Fault Low Status

There are four registers associated with the Reference Fault Low Status: Dynamic, Latched, Interrupt Enable, and Set Edge/Level Interrupt.

Reference Fault Low Status
Function:Sets the corresponding bit associated with the channel's Reference Fault Low error.
Type:unsigned binary word (32-bit)
Data Range:0x0000 0000 to 0x0000 000F
Read/Write:R (Dynamic), R/W (Latched, Interrupt Enable, Edge/Level Interrupt)
Initialized Value:0
Reference Fault Low Dynamic Status
Reference Fault Low Latched Status
Reference Fault Low Interrupt Enable
Reference Fault Low Set Edge/Level Interrupt
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
0000000000000000
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
000000000000Ch4Ch3Ch2Ch1

Reference Fault High Status

There are four registers associated with the Reference Fault High Status: Dynamic, Latched, Interrupt Enable, and Set Edge/Level Interrupt.

Reference Fault High Status
Function:Sets the corresponding bit associated with the channel's Reference Fault High error.
Type:unsigned binary word (32-bit)
Data Range:0x0000 0000 to 0x0000 000F
Read/Write:R (Dynamic), R/W (Latched, Interrupt Enable, Edge/Level Interrupt)
Initialized Value:0
Reference Fault High Dynamic Status
Reference Fault High Latched Status
Reference Fault High Interrupt Enable
Reference Fault High Set Edge/Level Interrupt
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
0000000000000000
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
000000000000Ch4Ch3Ch2Ch1

Lock Loss Status

There are four registers associated with the Lock Loss Status: Dynamic, Latched, Interrupt Enable, and Set Edge/Level Interrupt.

Lock Loss Status
Function:When two Synchros are geared to each other to achieve higher accuracy, either electrically or mechanically, the misalignment of the Coarse and Fine Synchros must not exceed 90°/gear ratio or the digital angle output may not be valid and this register will indicate a fault.
Type:unsigned binary word (32-bit)
Data Range:0x0000 0000 to 0x0000 000F
Read/Write:R (Dynamic), R/W (Latched, Interrupt Enable, Edge/Level Interrupt)
Initialized Value:0
Lock Loss Dynamic Status
Lock Loss Latched Status
Lock Loss Interrupt Enable
Lock Loss Set Edge/Level Interrupt
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
0000000000000000
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
000000000000Ch4Ch3Ch2Ch1

Delta Angle Status

There are four registers associated with the Delta Angle Status: Dynamic, Latched, Interrupt Enable, and Set Edge/Level Interrupt.

Delta Angle Status
Function:Sets the corresponding bit associated with the channel's Delta Angle change.
Type:unsigned binary word (32-bit)
Data Range:0x0000 0000 to 0x0000 000F
Read/Write:R (Dynamic), R/W (Latched, Interrupt Enable, Edge/Level Interrupt)
Initialized Value:0
Delta Angle Dynamic Status
Delta Angle Latched Status
Delta Angle Interrupt Enable
Delta Angle Set Edge/Level Interrupt
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
0000000000000000
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
000000000000Ch4Ch3Ch2Ch1

FIFO Status

There are four registers associated with the FIFO Status: Dynamic, Latched, Interrupt Enable, and Set Edge/Level Interrupt. D0-D6 is used to show the different conditions of the buffer.

FIFO Status
Function:Sets the corresponding bit associated with the FIFO status type; there are separate registers for each channel.
Type:unsigned binary word (32-bit)
Data Range:0 to 0x0000 007F
Read/Write:R (Dynamic), R/W (Latched, Interrupt Enable, Edge/Level Interrupt)
Initialized Value:0
FIFO Dynamic Status
FIFO Latched Status
FIFO Interrupt Enable
FIFO Set Edge/Level Interrupt
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
0000000000000000
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
000000000DDDDDDD
BitDescriptionConfigurable?
D0Empty; 1 when FIFO Count = 0No
D1Almost Empty; 1 when FIFO Count <= “FIFO Almost Empty” registerYes
D2Low Watermark; 1 when FIFO Count <= “FIFO Low Watermark” registerYes
D3High Watermark; 1 when FIFO Count >= “FIFO High Watermark” registerYes
D4Almost Full; 1 when FIFO Count >= “FIFO Almost Full” registerYes
D5Full; 1 when FIFO Count = 4 Meg (0x0040 0000)No
D6Sample Done; 1 when all data has been sent to the FIFONo

Note

Shown below is an example of interrupts generated for the High Watermark. As shown, the interrupt is generated as the FIFO count crosses the High Watermark. The interrupt will not be generated a second time until the count goes below the watermark and then above it again.

Note

The FIFO Latched Status register must be cleared for a 2nd interrupt to occur.

Open Detect Status

There are four registers associated with the Open Detect Status: Dynamic, Latched, Interrupt Enable, and Set Edge/Level Interrupt.

Open Detect Status
Function:Sets the corresponding bit associated with the channel's Open Detect error.
Type:unsigned binary word (32-bit)
Data Range:0x0000 0000 to 0x0000 000F
Read/Write:R (Dynamic), R/W (Latched, Interrupt Enable, Edge/Level Interrupt)
Initialized Value:0
Open Detect Dynamic Status
Open Detect Latched Status
Open Detect Interrupt Enable
Open Detect Set Edge/Level Interrupt
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
0000000000000000
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
000000000000Ch4Ch3Ch2Ch1

Summary Status

There are four registers associated with the Summary Status: Dynamic, Latched, Interrupt Enable, and Set Edge/Level Interrupt.

Summary Status
Function:Indicates a summary of all failures per channel (BIT, Signal Fault Low, Signal Fault High, Reference Fault Low, Reference Fault High and Open Detect).
Type:unsigned binary word (32-bit)
Data Range:0x0000 0000 to 0x0000 000F
Read/Write:R (Dynamic), R/W (Latched, Interrupt Enable, Set Edge/Level Interrupt)
Initialized Value:0
Summary Dynamic Status
Summary Latched Status
Summary Interrupt Enable
Summary Set Edge/Level Interrupt
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
0000000000000000
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
000000000000Ch4Ch3Ch2Ch1

Interrupt Vector and Steering

When interrupts are enabled, the interrupt vector associated with the specific interrupt can be programmed (typically with a unique number/identifier) such that it can be utilized in the Interrupt Service Routine (ISR) to identify the type of interrupt. When an interrupt occurs, the contents of the Interrupt Vector registers is reported as part of the interrupt mechanism. In addition to specifying the interrupt vector, the interrupt can be directed (“steered”) to the native bus or to the application running on the onboard ARM processor.

Note

The Interrupt Vector and Interrupt Steering registers are mapped to the Motherboard Common Memory and these registers are associated with the Module Slot position (refer to Function Register Map).

Interrupt Vector
Function:Set an identifier for the interrupt.
Type:unsigned binary word (32-bit)
Data Range:0x0000 0000 to 0xFFFF FFFF
Read/Write:R/W
Initialized Value:0
Operational Settings:When an interrupt occurs, this value is reported as part of the interrupt mechanism.
Interrupt Steering
Function:Sets where to direct the interrupt.
Type:unsigned binary word (32-bit)
Data Range:See table Read/Write: R/W
Initialized Value:0
Operational Settings:When an interrupt occurs, the interrupt is sent as specified:
Direct Interrupt to VME1
Direct Interrupt to ARM Processor (via SerDes) +
(Custom App on ARM or NAI Ethernet Listener App)
2
Direct Interrupt to PCIe Bus5
Direct Interrupt to cPCI Bus6

FUNCTION REGISTER MAP

KEY

Configuration/Control
Measurement/Status
MEASUREMENT REGISTERS
NOTE: Base Address - 0x4000 0000
NOTE: ~ Data is always in Floating Point.
NOTE: ** Data is available in Floating Point if Enable Floating Point Mode register is set to Floating Point Mode.
OFFSETREGISTER NAMEACCESSOFFSETREGISTER NAMEACCESS
0x1000Angle Data Ch 1**R0x1004Velocity Ch 1**R
0x1050Angle Data Ch 2**R0x1054Velocity Ch 2**R
0x10A0Angle Data Ch 3**R0x10A4Velocity Ch 3**R
0x10F0Angle Data Ch 4**R0x10F4Velocity Ch 4**R
0x1040Sine RMS Ch 1~R0x1044Cosine RMS Ch 1~R
0x1090Sine RMS Ch 2~R0x1094Cosine RMS Ch 2~R
0x10E0Sine RMS Ch 3~R0x10E4Cosine RMS Ch 3~R
0x1130Sine RMS Ch 4~R0x1134Cosine RMS Ch 4~R
0x1048Sine
Cosine Ch 1~
R0x1024Measured Reference (RMS) Ch 1**R
0x1098Sine
Cosine Ch 2~
R0x1074Measured Reference (RMS) Ch 2**R
0x10E8Sine
Cosine Ch 3~
R0x10C4Measured Reference (RMS) Ch 3**R
0x1138Sine
Cosine Ch 4~
R0x1114Measured Reference (RMS) Ch 4**R
0x1028Measured Signal (RMS) Ch 1**R0x102CMeasured Frequency (Hz) Ch 1**R
0x1078Measured Signal (RMS) Ch 2**R0x107CMeasured Frequency (Hz) Ch 2**R
0x10C8Measured Signal (RMS) Ch 3**R0x10CCMeasured Frequency (Hz) Ch 3**R
0x1118Measured Signal (RMS) Ch 4**R0x111CMeasured Frequency (Hz) Ch 4**R
0x1070Combined Angle Ch 1-2**R
0x1110Combined Angle Ch 3-4**R
0x11A0Sine Detect Value Ch 1~R0x11A4Cosine Detect Value Ch 1~R
0x11A8Sine Detect Value Ch 2~R0x11ACCosine Detect Value Ch 2~R
0x11B0Sine Detect Value Ch 3~R0x11B4Cosine Detect Value Ch 3~R
0x11B8Sine Detect Value Ch 4~R0x11BCCosine Detect Value Ch 4~R
CONTROL REGISTERS
NOTE: Base Address - 0x4000 0000
NOTE: ** Data is available in Floating Point if Enable Floating Point Mode register is set to Floating Point Mode.
OFFSETREGISTER NAMEACCESSOFFSETREGISTER NAMEACCESS
0x1038Mode Select Ch 1R/W0x1064Multi-Speed Ratio Ch 1-2**R/W
0x1088Mode Select Ch 2R/W0x1104Multi-Speed Ratio Ch 3-4**R/W
0x10D8Mode Select Ch 3R/W
0x1128Mode Select Ch 4R/W
0x1010Bandwidth Select Ch 1R/W0x100CBandwidth (Hz) Ch 1R/W
0x1060Bandwidth Select Ch 2R/W0x105CBandwidth (Hz) Ch 2R/W
0x10B0Bandwidth Select Ch 3R/W0x10ACBandwidth (Hz) Ch 3R/W
0x1100Bandwidth Select Ch 4R/W0x10FCBandwidth (Hz) Ch 4R/W
0x1018Delta Angle Ch 1**R/W0x101CInitiate Delta Angle Ch 1W
0x1068Delta Angle Ch 2**R/W0x106CInitiate Delta Angle Ch 2W
0x10B8Delta Angle Ch 3**R/W0x10BCInitiate Delta Angle Ch 3W
0x1108Delta Angle Ch 4**R/W0x110CInitiate Delta Angle Ch 4W
0x11E0Track / HoldR/W
0x104CInverse Signal Control Ch 1R/W
0x109CInverse Signal Control Ch 2R/W
0x10ECInverse Signal Control Ch 3R/W
0x113CInverse Signal Control Ch 4R/W
THRESHOLD PROGRAMMING REGISTERS
NOTE: Base Address - 0x4000 0000
NOTE: ~ Data is always in Floating Point.
NOTE: ** Data is available in Floating Point if Enable Floating Point Mode register is set to Floating Point Mode.
OFFSETREGISTER NAMEACCESSOFFSETREGISTER NAMEACCESS
0x1030Signal Fault Low Threshold Ch 1**R/W0x1160Signal Fault High Threshold Ch 1**R/W
0x1080Signal Fault Low Threshold Ch 2**R/W0x1164Signal Fault High Threshold Ch 2**R/W
0x10D0Signal Fault Low Threshold Ch 3**R/W0x1168Signal Fault High Threshold Ch 3**R/W
0x1120Signal Fault Low Threshold Ch 4**R/W0x116CSignal Fault High Threshold Ch 4**R/W
0x1034Reference Fault Low Threshold Ch 1**R/W0x1170Reference Fault High Threshold Ch 1**R/W
0x1084Reference Fault Low Threshold Ch 2**R/W0x1174Reference Fault High Threshold Ch 2**R/W
0x10D4Reference Fault Low Threshold Ch 3**R/W0x1178Reference Fault High Threshold Ch 3**R/W
0x1124Reference Fault Low Threshold Ch 4**R/W0x117CReference Fault High Threshold Ch 4**R/W
0x1180Open Detect Threshold Ch 1~R/W
0x1188Open Detect Threshold Ch 2~R/W
0x1190Open Detect Threshold Ch 3~R/W
0x1198Open Detect Threshold Ch 4~R/W
TEST REGISTERS
NOTE: Base Address - 0x4000 0000
NOTE: ** Data is available in Floating Point if Enable Floating Point Mode register is set to Floating Point Mode.
0x0248Test EnabledR/W0x1330BIT Error Limit Ch 1R/W
0x0294Test CBIT VerifyR/W0x1334BIT Error Limit Ch 2R/W
0x024CUBIT Test Angle**R/W0x1338BIT Error Limit Ch 3R/W
0x133CBIT Error Limit Ch 4R/W
FIFO REGISTERS
NOTE: Base Address - 0x4000 0000
NOTE: ** Data is available in Floating Point if Enable Floating Point Mode register is set to Floating Point Mode.
OFFSETREGISTER NAMEACCESSOFFSETREGISTER NAMEACCESS
0x1200FIFO Buffer Data Ch 1**R/W0x1204FIFO Word Count Ch 1R/W
0x1240FIFO Buffer Data Ch 2**R/W0x1244FIFO Word Count Ch 2R/W
0x1280FIFO Buffer Data Ch 3**R/W0x1284FIFO Word Count Ch 3R/W
0x12C0FIFO Buffer Data Ch 4**R/W0x12C4FIFO Word Count Ch 4R/W
0x121CFIFO Sample Rate Ch 1R/W0x1214FIFO Sample Delay Ch 1R/W
0x125CFIFO Sample Rate Ch 2R/W0x1254FIFO Sample Delay Ch 2R/W
0x129CFIFO Sample Rate Ch 3R/W0x1294FIFO Sample Delay Ch 3R/W
0x12DCFIFO Sample Rate Ch 4R/W0x12D4FIFO Sample Delay Ch 4R/W
0x1224FIFO Buffer Control Ch 1R/W0x1228FIFO Trigger Control Ch 1R/W
0x1264FIFO Buffer Control Ch 2R/W0x1268FIFO Trigger Control Ch 2R/W
0x12A4FIFO Buffer Control Ch 3R/W0x12A8FIFO Trigger Control Ch 3R/W
0x12E4FIFO Buffer Control Ch 4R/W0x12E8FIFO Trigger Control Ch 4R/W
0x1220FIFO Clear Ch 1W0x1300FIFO Software Trigger Ch 1W
0x1260FIFO Clear Ch 2W
0x12A0FIFO Clear Ch 3W
0x12E0FIFO Clear Ch 4W
0x1210FIFO Low Watermark Threshold Ch 1R/W0x120CFIFO High Watermark Threshold Ch 1R/W
0x1250FIFO Low Watermark Threshold Ch 2R/W0x124CFIFO High Watermark Threshold Ch 2R/W
0x1290FIFO Low Watermark Threshold Ch 3R/W0x128CFIFO High Watermark Threshold Ch 3R/W
0x12D0FIFO Low Watermark Threshold Ch 4R/W0x12CCFIFO High Watermark Threshold Ch 4R/W
0x1230FIFO Almost Empty Threshold Ch 1R/W0x122CFIFO Almost Full Threshold Ch 1R/W
0x1270FIFO Almost Empty Threshold Ch 2R/W0x126CFIFO Almost Full Threshold Ch 2R/W
0x12B0FIFO Almost Empty Threshold Ch 3R/W0x12ACFIFO Almost Full Threshold Ch 3R/W
0x12F0FIFO Almost Empty Threshold Ch 4R/W0x12ECFIFO Almost Full Threshold Ch 4R/W
0x1218FIFO Buffer Size Ch 1R/W
0x1258FIFO Buffer Size Ch 2R/W
0x1298FIFO Buffer Size Ch 3R/W
0x12D8FIFO Buffer Size Ch 4R/W
ENGINEERING SCALING CONVERSION REGISTERS
NOTE: Base Address - 0x4000 0000
NOTE: ~ Data is always in Floating Point.
OFFSETREGISTER NAMEACCESSOFFSETREGISTER NAMEACCESS
0x02B4Enable Floating Point ModeR/W0x0264Floating Point StateR
0x1400Angle Floating Point Scale Ch 1~R/W0x1410Angle Floating Point Offset Ch 1~R/W
0x1404Angle Floating Point Scale Ch 2~R/W0x1414Angle Floating Point Offset Ch 2~R/W
0x1408Angle Floating Point Scale Ch 3~R/W0x1418Angle Floating Point Offset Ch 3~R/W
0x140CAngle Floating Point Scale Ch 4~R/W0x141CAngle Floating Point Offset Ch 4~R/W
0x1420Velocity Floating Point Scale Ch 1~R/W0x1430Velocity Floating Point Offset Ch 1~R/W
0x1424Velocity Floating Point Scale Ch 2~R/W0x1434Velocity Floating Point Offset Ch 2~R/W
0x1428Velocity Floating Point Scale Ch 3~R/W0x1438Velocity Floating Point Offset Ch 3~R/W
0x142CVelocity Floating Point Scale Ch 4~R/W0x143CVelocity Floating Point Offset Ch 4~R/W
MODULE COMMON REGISTERS
Refer to “Module Common Registers Module Manual” for the Module Common Registers Function Register Map.
++``+
STATUS REGISTERS*
*When an event is detected, the bit associated with the event is set in this register and will remain set until the user clears the event bit. Clearing the bit requires writing a 1 back to the specific bit that was set when read (i.e., write-1-to-clear, writing a “1” to a bit set to “1” will set the bit to “0).
NOTE: Base Address - 0x4000 0000
OFFSETREGISTER NAMEACCESSOFFSETREGISTER NAMEACCESS
0x02B0Channel Status EnabledR/W
0x0800BIT Dynamic StatusR
0x0804BIT Latched Status*R/W
0x0808BIT Interrupt EnableR/W
0x080CBIT Set Edge/Level InterruptR/W
0x02ACPower-on BIT Complete++R/W
NOTE: ++After power-on, Power-on BIT Complete should be checked before reading the BIT Latched Status.
Signal Fault Low StatusReference Fault Low Status
0x0810Dynamic StatusR0x0820Dynamic StatusR
0x0814Latched Status*R/W0x0824Latched Status*R/W
0x0818Interrupt EnableR/W0x0828Interrupt EnableR/W
0x081CSet Edge/Level InterruptR/W0x082CSet Edge/Level InterruptR/W
Signal Fault High StatusReference Fault High Status
0x08B0Dynamic StatusR0x08C0Dynamic StatusR
0x08B4Latched Status*R/W0x08C4Latched Status*R/W
0x08B8Interrupt EnableR/W0x08C8Interrupt EnableR/W
0x08BCSet Edge/Level InterruptR/W0x08CCSet Edge/Level InterruptR/W
Lock Loss StatusDelta Angle Status
0x0830Dynamic StatusR0x0840Dynamic StatusR
0x0834Latched Status*R/W0x0844Latched Status*R/W
0x0838Interrupt EnableR/W0x0848Interrupt EnableR/W
0x083CSet Edge/Level InterruptR/W0x084CSet Edge/Level InterruptR/W
Over Detect StatusSummary Status
0x0890Dynamic StatusR0x09A0Dynamic StatusR
0x0894Latched Status*R/W0x09A4Latched Status*R/W
0x0898Interrupt EnableR/W0x09A8Interrupt EnableR/W
0x089CSet Edge/Level InterruptR/W0x09ACSet Edge/Level InterruptR/W
Channel 1 FIFO StatusChannel 2 FIFO Status
0x0850Dynamic StatusR0x0860Dynamic StatusR
0x0854Latched Status*R/W0x0864Latched Status*R/W
0x0858Interrupt EnableR/W0x0868Interrupt EnableR/W
0x085CSet Edge/Level InterruptR/W0x086CSet Edge/Level InterruptR/W
Channel 3 FIFO StatusChannel 4 FIFO Status
0x0870Dynamic StatusR0x0880Dynamic StatusR
0x0874Latched Status*R/W0x0884Latched Status*R/W
0x0878Interrupt EnableR/W0x0888Interrupt EnableR/W
0x087CSet Edge/Level InterruptR/W0x088CSet Edge/Level InterruptR/W
INTERRUPT REGISTERS
The Interrupt Vector and Interrupt Steering registers are located on the Motherboard Memory Space and do not require any Module Address Offsets. These registers are accessed using the absolute addresses listed in the table below.
OFFSETREGISTER NAMEACCESSOFFSETREGISTER NAMEACCESS
0x0500Module 1 Interrupt Vector 1 - BITR/W0x0600Module 1 Interrupt Steering 1 - BITR/W
0x0504Module 1 Interrupt Vector 2 - Signal Fault LowR/W0x0604Module 1 Interrupt Steering 2 - Signal Fault LowR/W
0x0508Module 1 Interrupt Vector 3 - Reference Fault LowR/W0x0608Module 1 Interrupt Steering 3 - Reference Fault LowR/W
0x050CModule 1 Interrupt Vector 4 - Loss LockR/W0x060CModule 1 Interrupt Steering 4 - Loss LockR/W
0x0510Module 1 Interrupt Vector 5 - Delta AngleR/W0x0610Module 1 Interrupt Steering 5 - Delta AngleR/W
0x0514Module 1 Interrupt Vector 6 - FIFO Ch 1R/W0x0614Module 1 Interrupt Steering 6 - FIFO Ch 1R/W
0x0518Module 1 Interrupt Vector 7 - FIFO Ch 2R/W0x0618Module 1 Interrupt Steering 7 - FIFO Ch 2R/W
0x051CModule 1 Interrupt Vector 8 - FIFO Ch 3R/W0x061CModule 1 Interrupt Steering 8 - FIFO Ch 3R/W
0x0520Module 1 Interrupt Vector 9 - FIFO Ch 4R/W0x0620Module 1 Interrupt Steering 9 - FIFO Ch 4R/W
0x0524Module 1 Interrupt Vector 10 - Open DetectR/W0x0624Module 1 Interrupt Steering 10 - Open DetectR/W
0x0528Module 1 Interrupt Vector 11 - ReservedR/W0x0628Module 1 Interrupt Steering 11 - ReservedR/W
0x052CModule 1 Interrupt Vector 12 - Signal Fault HighR/W0x062CModule 1 Interrupt Steering 12 - Signal Fault HighR/W
0x0530Module 1 Interrupt Vector 13 - Reference Fault HighR/W0x0630Module 1 Interrupt Steering 13 - Reference Fault HighR/W
0x0534 to 0x0564Module 1 Interrupt Vector 14 to 26 - ReservedR/W0x0634 to 0x0664Module 1 Interrupt Steering 14 to 26 - ReservedR/W
0x0568Module 1 Interrupt Vector 27 - SummaryR/W0x0668Module 1 Interrupt Steering 27 - SummaryR/W
0x056C to 0x057CModule 1 Interrupt Vector 28 to 32 - ReservedR/W0x066C to 0x067CModule 1 Interrupt Steering 28 to 32 - ReservedR/W
0x0700Module 2 Interrupt Vector 1 - BITR/W0x0800Module 2 Interrupt Steering 1 - BITR/W
0x0704Module 2 Interrupt Vector 2 - Signal Fault LowR/W0x0804Module 2 Interrupt Steering 2 - Signal Fault LowR/W
0x0708Module 2 Interrupt Vector 3 - Reference Fault LowR/W0x0808Module 2 Interrupt Steering 3 - Reference Fault LowR/W
0x070CModule 2 Interrupt Vector 4 - Loss LockR/W0x080CModule 2 Interrupt Steering 4 - Loss LockR/W
0x0710Module 2 Interrupt Vector 5 - Delta AngleR/W0x0810Module 2 Interrupt Steering 5 - Delta AngleR/W
0x0714Module 2 Interrupt Vector 6 - FIFO Ch 1R/W0x0814Module 2 Interrupt Steering 6 - FIFO Ch 1R/W
0x0718Module 2 Interrupt Vector 7 - FIFO Ch 2R/W0x0818Module 2 Interrupt Steering 7 - FIFO Ch 2R/W
0x071CModule 2 Interrupt Vector 8 - FIFO Ch 3R/W0x081CModule 2 Interrupt Steering 8 - FIFO Ch 3R/W
0x0720Module 2 Interrupt Vector 9 - FIFO Ch 4R/W0x0820Module 2 Interrupt Steering 9 - FIFO Ch 4R/W
0x0724Module 2 Interrupt Vector 10 - Open DetectR/W0x0824Module 2 Interrupt Steering 10 - Open DetectR/W
0x0728Module 2 Interrupt Vector 11 - ReservedR/W0x0828Module 2 Interrupt Steering 11 - ReservedR/W
0x072CModule 2 Interrupt Vector 12 - Signal Fault HighR/W0x082CModule 2 Interrupt Steering 12 - Signal Fault HighR/W
0x0730Module 2 Interrupt Vector 13 - Reference Fault HighR/W0x0830Module 2 Interrupt Steering 13 - Reference Fault HighR/W
0x0734 to 0x0764Module 2 Interrupt Vector 14 to 26 - ReservedR/W0x0834 to 0x0864Module 2 Interrupt Steering 14 to 26 - ReservedR/W
0x0768Module 2 Interrupt Vector 27 - SummaryR/W0x0868Module 2 Interrupt Steering 27 - SummaryR/W
0x076C to 0x077CModule 2 Interrupt Vector 28 to 32 - ReservedR/W0x086C to 0x087CModule 2 Interrupt Steering 28 to 32 - ReservedR/W
0x0900Module 3 Interrupt Vector 1 - BITR/W0x0A00Module 3 Interrupt Steering 1 - BITR/W
0x0904Module 3 Interrupt Vector 2 - Signal Fault LowR/W0x0A04Module 3 Interrupt Steering 2 - Signal Fault LowR/W
0x0908Module 3 Interrupt Vector 3 - Reference Fault LowR/W0x0A08Module 3 Interrupt Steering 3 - Reference Fault LowR/W
0x090CModule 3 Interrupt Vector 4 - Loss LockR/W0x0A0CModule 3 Interrupt Steering 4 - Loss LockR/W
0x0910Module 3 Interrupt Vector 5 - Delta AngleR/W0x0A10Module 3 Interrupt Steering 5 - Delta AngleR/W
0x0914Module 3 Interrupt Vector 6 - FIFO Ch 1R/W0x0A14Module 3 Interrupt Steering 6 - FIFO Ch 1R/W
0x0918Module 3 Interrupt Vector 7 - FIFO Ch 2R/W0x0A18Module 3 Interrupt Steering 7 - FIFO Ch 2R/W
0x091CModule 3 Interrupt Vector 8 - FIFO Ch 3R/W0x0A1CModule 3 Interrupt Steering 8 - FIFO Ch 3R/W
0x0920Module 3 Interrupt Vector 9 - FIFO Ch 4R/W0x0A20Module 3 Interrupt Steering 9 - FIFO Ch 4R/W
0x0924Module 3 Interrupt Vector 10 - Open DetectR/W0x0A24Module 3 Interrupt Steering 10 - Open DetectR/W
0x0928Module 3 Interrupt Vector 11 - ReservedR/W0x0A28Module 3 Interrupt Steering 11 - ReservedR/W
0x092CModule 3 Interrupt Vector 12 - Signal Fault HighR/W0x0A2CModule 3 Interrupt Steering 12 - Signal Fault HighR/W
0x0930Module 3 Interrupt Vector 13 - Reference Fault HighR/W0x0A30Module 3 Interrupt Steering 13 - Reference Fault HighR/W
0x0934 to 0x0964Module 3 Interrupt Vector 14 to 26 - ReservedR/W0x0A34 to 0x0A64Module 3 Interrupt Steering 14 to 26 - ReservedR/W
0x0968Module 3 Interrupt Vector 27 - SummaryR/W0x0A68Module 3 Interrupt Steering 27 - SummaryR/W
0x096C to 0x097CModule 3 Interrupt Vector 28 to 32 - ReservedR/W0x0A6C to 0x0A7CModule 3 Interrupt Steering 28 to 32 - ReservedR/W
0x0B00Module 4 Interrupt Vector 1 - BITR/W0x0C00Module 4 Interrupt Steering 1 - BITR/W
0x0B04Module 4 Interrupt Vector 2 - Signal Fault LowR/W0x0C04Module 4 Interrupt Steering 2 - Signal Fault LowR/W
0x0B08Module 4 Interrupt Vector 3 - Reference Fault LowR/W0x0C08Module 4 Interrupt Steering 3 - Reference Fault LowR/W
0x0B0CModule 4 Interrupt Vector 4 - Loss LockR/W0x0C0CModule 4 Interrupt Steering 4 - Loss LockR/W
0x0B10Module 4 Interrupt Vector 5 - Delta AngleR/W0x0C10Module 4 Interrupt Steering 5 - Delta AngleR/W
0x0B14Module 4 Interrupt Vector 6 - FIFO Ch 1R/W0x0C14Module 4 Interrupt Steering 6 - FIFO Ch 1R/W
0x0B18Module 4 Interrupt Vector 7 - FIFO Ch 2R/W0x0C18Module 4 Interrupt Steering 7 - FIFO Ch 2R/W
0x0B1CModule 4 Interrupt Vector 8 - FIFO Ch 3R/W0x0C1CModule 4 Interrupt Steering 8 - FIFO Ch 3R/W
0x0B20Module 4 Interrupt Vector 9 - FIFO Ch 4R/W0x0C20Module 4 Interrupt Steering 9 - FIFO Ch 4R/W
0x0B24Module 4 Interrupt Vector 10 - Open DetectR/W0x0C24Module 4 Interrupt Steering 10 - Open DetectR/W
0x0B28Module 4 Interrupt Vector 11 - ReservedR/W0x0C28Module 4 Interrupt Steering 11 - ReservedR/W
0x0B2CModule 4 Interrupt Vector 12 - Signal Fault HighR/W0x0C2CModule 4 Interrupt Steering 12 - Signal Fault HighR/W
0x0B30Module 4 Interrupt Vector 13 - Reference Fault HighR/W0x0C30Module 4 Interrupt Steering 13 - Reference Fault HighR/W
0x0B34 to 0x0B64Module 4 Interrupt Vector 14 to 26 - ReservedR/W0x0C34 to 0x0C64Module 4 Interrupt Steering 14 to 26 - ReservedR/W
0x0B68Module 4 Interrupt Vector 27 - SummaryR/W0x0C68Module 4 Interrupt Steering 27 - SummaryR/W
0x0B6C to 0x0B7CModule 4 Interrupt Vector 28 to 32 - ReservedR/W0x0C6C to 0x0C7CModule 4 Interrupt Steering 28 to 32 - ReservedR/W
0x0D00Module 5 Interrupt Vector 1 - BITR/W0x0E00Module 5 Interrupt Steering 1 - BITR/W
0x0D04Module 5 Interrupt Vector 2 - Signal Fault LowR/W0x0E04Module 5 Interrupt Steering 2 - Signal Fault LowR/W
0x0D08Module 5 Interrupt Vector 3 - Reference Fault LowR/W0x0E08Module 5 Interrupt Steering 3 - Reference Fault LowR/W
0x0D0CModule 5 Interrupt Vector 4 - Loss LockR/W0x0E0CModule 5 Interrupt Steering 4 - Loss LockR/W
0x0D10Module 5 Interrupt Vector 5 - Delta AngleR/W0x0E10Module 5 Interrupt Steering 5 - Delta AngleR/W
0x0D14Module 5 Interrupt Vector 6 - FIFO Ch 1R/W0x0E14Module 5 Interrupt Steering 6 - FIFO Ch 1R/W
0x0D18Module 5 Interrupt Vector 7 - FIFO Ch 2R/W0x0E18Module 5 Interrupt Steering 7 - FIFO Ch 2R/W
0x0D1CModule 5 Interrupt Vector 8 - FIFO Ch 3R/W0x0E1CModule 5 Interrupt Steering 8 - FIFO Ch 3R/W
0x0D20Module 5 Interrupt Vector 9 - FIFO Ch 4R/W0x0E20Module 5 Interrupt Steering 9 - FIFO Ch 4R/W
0x0D24Module 5 Interrupt Vector 10 - Open DetectR/W0x0E24Module 5 Interrupt Steering 10 - Open DetectR/W
0x0D28Module 5 Interrupt Vector 11 - ReservedR/W0x0E28Module 5 Interrupt Steering 11 - ReservedR/W
0x0D2CModule 5 Interrupt Vector 12 - Signal Fault HighR/W0x0E2CModule 5 Interrupt Steering 12 - Signal Fault HighR/W
0x0D30Module 5 Interrupt Vector 13 - Reference Fault HighR/W0x0E30Module 5 Interrupt Steering 13 - Reference Fault HighR/W
0x0D34 to 0x0D64Module 5 Interrupt Vector 14 to 26 - ReservedR/W0x0E34 to 0x0E64Module 5 Interrupt Steering 14 to 26 - ReservedR/W
0x0D68Module 5 Interrupt Vector 27 - SummaryR/W0x0E68Module 5 Interrupt Steering 27 - SummaryR/W
0x0D6C to 0x0D7CModule 5 Interrupt Vector 28 to 32 - ReservedR/W0x0E6C to 0x0E7CModule 5 Interrupt Steering 28 to 32 - ReservedR/W
0x0F00Module 6 Interrupt Vector 1 - BITR/W0x1000Module 6 Interrupt Steering 1 - BITR/W
0x0F04Module 6 Interrupt Vector 2 - Signal Fault LowR/W0x1004Module 6 Interrupt Steering 2 - Signal Fault LowR/W
0x0F08Module 6 Interrupt Vector 3 - Reference Fault LowR/W0x1008Module 6 Interrupt Steering 3 - Reference Fault LowR/W
0x0F0CModule 6 Interrupt Vector 4 - Loss LockR/W0x100CModule 6 Interrupt Steering 4 - Loss LockR/W
0x0F10Module 6 Interrupt Vector 5 - Delta AngleR/W0x1010Module 6 Interrupt Steering 5 - Delta AngleR/W
0x0F14Module 6 Interrupt Vector 6 - FIFO Ch 1R/W0x1014Module 6 Interrupt Steering 6 - FIFO Ch 1R/W
0x0F18Module 6 Interrupt Vector 7 - FIFO Ch 2R/W0x1018Module 6 Interrupt Steering 7 - FIFO Ch 2R/W
0x0F1CModule 6 Interrupt Vector 8 - FIFO Ch 3R/W0x101CModule 6 Interrupt Steering 8 - FIFO Ch 3R/W
0x0F20Module 6 Interrupt Vector 9 - FIFO Ch 4R/W0x1020Module 6 Interrupt Steering 9 - FIFO Ch 4R/W
0x0F24Module 6 Interrupt Vector 10 - Open DetectR/W0x1024Module 6 Interrupt Steering 10 - Open DetectR/W
0x0F28Module 6 Interrupt Vector 11 - ReservedR/W0x1028Module 6 Interrupt Steering 11 - ReservedR/W
0x0F2CModule 6 Interrupt Vector 12 - Signal Fault HighR/W0x102CModule 6 Interrupt Steering 12 - Signal Fault HighR/W
0x0F30Module 6 Interrupt Vector 13 - Reference Fault HighR/W0x1030Module 6 Interrupt Steering 13 - Reference Fault HighR/W
0x0F34 to 0x0F64Module 6 Interrupt Vector 14 to 26 - ReservedR/W0x1034 to 0x1064Module 6 Interrupt Steering 14 to 26 - ReservedR/W
0x0F68Module 6 Interrupt Vector 27 - SummaryR/W0x1068Module 6 Interrupt Steering 27 - SummaryR/W
0x0F6C to 0x0F7CModule 6 Interrupt Vector 28 to 32 - ReservedR/W0x106C to 0x107CModule 6 Interrupt Steering 28 to 32 - ReservedR/W

APPENDIX A: INTEGER/FLOATING POINT MODE PROGRAMMING

Integer Mode Programming

Angle, Velocity, and FIFO Buffer Data Programming

Angle: The value read in the Angle or FIFO Buffer Data (angle data) register, while in Integer Mode, is dependent on an “LSB” value. The LSB value is defined as 360 / 2^32 .

Note

The per bit angle values in the following table are approximate.

Angle Data Calculation:

Angle Data Register Value (Decimal Value/Hex Value)LSBAngle (degrees)
536870912 (0x2000 0000)8.381903e-8536870912 * LSB = 45.0
4026531840 (0xF000 0000)8.381903e-84026531840 * LSB = 337.5
4194304 (0x0400 0000)8.381903e-84194304 * LSB = 0.3515625

Velocity: The value read in the Velocity or FIFO Buffer Data (velocity data) register, while in Integer Mode, has an LSB weight of 0.1 deg/sec.

Velocity Data Calculation:

Velocity Data Register Value (Decimal Value/Hex Value)LSBVelocity
218 (0x0000 00DA)0.1218 * LSB = 21.8 deg/ sec
-2 (0xFFFF FFFE)0.1-2 * LSB = -0.2 deg/ sec
50 (0x0000 0032)0.150 * LSB = 5.0 deg/ sec

FIFO Buffer Data:

Note

An additional item that can be stored in the FIFO Buffer Data register is a Timestamp. This value will always be represented as an integer even when the Enable Floating Point Mode register is set to “1” (Floating point mode).

Timestamp value from FIFO Data Buffer:

FIFO Buffer Data Timestamp Value (Decimal Value/Hex Value)Value
77 (0x0000 004D)77

UBIT Test Programming

The value to set in the UBIT Test Data register, while in Integer Mode, is dependent on an “LSB” value. The LSB value is defined as 360 / 2^32.

Note

Engineering Scaling Conversions will not be used for Test Angle in UBIT mode.

Test Angle:

UBIT Test Angle (degrees)LSBBinary Value Integer Mode
45.08.381903e-845.0 / LSB = 536870912 = 0x2000 0000
337.58.381903e-8337.5 / LSB = 4026531840 = 0xF000 0000
0.35156258.381903e-80.3515625 / LSB = 4194304 = 0x0040 0000

Threshold and Delta Angle Programming

To set the threshold value for Signal and Reference Faults, divide the value desired by the LSB weight (0.01) and write it to the corresponding threshold register.

Signal and Reference Fault Low and High Thresholds:

Example:

You want to be alerted when the reference voltage either drops below 6.00Vrms or exceeds 10.00Vrms. In addition, you also want to be alerted when the signal drops below 1.00Vrms or exceeds 5.00Vrms. Write the following values to the corresponding threshold registers. See table below.

RegisterValue written to the register (Decimal Value/Hex Value)LSBVoltage (rms)
Reference Fault Low Threshold600 (0x0000 0258)0.01600 * LSB = 6.00 Vrms
Reference Fault High Threshold1000 (0x0000 03E8)0.011000 * LSB = 10.00 Vrms
Signal Fault Low Threshold100 (0x0000 0064)0.01100 * LSB = 1.00 Vrms
Signal Fault High Threshold500 (0x000 001F4)0.01500 * LSB = 5.00 Vrms

Delta Angle:

Example:

To be alerted when the angle changes more than 3 degrees, write the following value to the Delta Angle register. See table below.

Note

For this detection to function properly, you must set a “trigger” angle by setting the Initiate Delta Angle register.

RegisterValue written to the register (Decimal Value/Hex Value)LSBDelta Angle (degrees)
Delta Angle64463616 (0x03D7 A300)8.381903e-864463616 * LSB = 5.4032

Open Detect Thresholds:

Note

Open Detect Threshold programming is not valid in integer mode and will be described in the Floating-Point Mode section.

RMS Voltage Reading

The value read in the Signal and Reference RMS Voltage registers is a 32-bit unsigned value. To calculate the RMS voltage, you must multiply this value by an LSB weight. The LSB = 0.01 (10 mv). For example, if the value read is 2600 (0x0A28), the RMS value will be 26.00Vrms.

Value read from Measured Signal or Measured Reference registers (Decimal Value/Hex Value)LSBRMS Voltage (Volts)
2600 (0x0000 0A28)0.0126.00
1150 (0x0000 047E)0.0111.50
275 (0x0000 0113)0.012.75

Frequency Reading

The value read in the Frequency registers is a 32-bit unsigned value. To calculate the frequency, you must multiply this value by an LSB weight. The LSB = 1 (1Hz). For example, if the value read is 2500 (0x09C4), the frequency value will be 2500Hz.

Value read from Measured Frequency registers (Decimal Value/Hex Value)LSBFrequency (Hz)
2500 (0x0000 09C4)1.02500
1000 (0x0000 03E8)1.01000
400 (0x0000 0190)1.0400

Floating Point Mode Angle/Velocity Programming

Angle, Velocity, and FIFO Data Buffer Programming

Angle: The value read in the Angle or FIFO Buffer Data (angle data) register, while in Floating Point Mode, is represented in Single Precision Floating Point Value (IEEE-754) format.

Angle Data Register Value Single Precision Floating Point Value (IEEE-754)Angle Data (degrees)
0x41C8 000025.0
0x43B1 8000355.0
0x42A3 800081.75

Velocity: The value read in the Velocity or FIFO Buffer Data (velocity data) register, while in Floating Point Mode, is simply the IEEE-754 single precision formatted value.

Velocity Data Register Value Single Precision Floating Point Value (IEEE-754)Velocity Data
0x41AE 666621.8 deg/sec
0xBE4C CCCD-0.2 deg/sec
0x40A0 00005.0 deg/sec

Timestamp value from FIFO Data Buffer:

Note

Timestamp is always represented as an Integer and cannot be read as a Floating-Point value.

UBIT Programming Testing

The value to set in the UBIT Test Data register, while in Floating-Point Mode, is simply the IEEE-754 floating point value for the angle desired.

Test Angle:

UBIT Test Angle (degrees)Test Angle Register Value Single Precision Floating Point Value (IEEE-754)
25.00x41C8 0000
355.00x43B1 8000
81.750x42A3 8000

Threshold and Delta Angle Programming

The value to set in the Threshold registers, while in Floating-Point Mode, is represented in Single Precision Floating Point Value (IEEE-754) format.

Signal and Reference Fault Low and High Thresholds:

Example:

You want to be alerted when the reference voltage either drops below 6.00Vrms or exceeds 10.00Vrms. In addition, you also want to be alerted when the signal drops below 1.00Vrms or exceeds 5.00Vrms. Write the following values to the corresponding threshold registers. See table below.

RegisterValue written to the register Single Precision Floating Point Value (IEEE-754)Voltage (rms)
Reference Fault Low Threshold0x40C00000 6.00 Vrms
Reference Fault High Threshold0x41200000 10.00 Vrms
Signal Fault Low Threshold0x3F800000 1.00 Vrms
Signal Fault High Threshold0x40A00000 5.00 Vrms

Delta Angle:

Example:

To be alerted when the angle changes more than 3 degrees, write the following value to the Delta Angle register. See table below. Note: For this detection to function properly, you must set a “trigger” angle by setting the Initiate Delta Angle register.

RegisterValue written to the register Single Precision Floating Point Value (IEEE-754)Delta Angle (degrees)
Delta Angle0x4040 00003.00

Open Detect Thresholds:

Example:

To be alerted when an OPEN winding occurs.

RegisterValue written to the register Single Precision Floating Point Value (IEEE-754)Delta Angle (degrees)
Open Detect Threshold0x455A C0003500

RMS Voltage Reading

The value read in the Signal and Reference RMS Voltage registers is in Single Precision Floating Point Value (IEEE-754) format.

Value read from Measured Signal or Measured Reference registers Single Precision Floating Point Value (IEEE-754)RMS Voltage (Volts)
0x41D0 000026.00
0x4138 000011.50
0x4030 00002.75

Frequency Reading

The value read in the Frequency registers is in Single Precision Floating Point Value (IEEE-754) format.

Value read from Measured Frequency registers Single Precision Floating Point Value (IEEE-754)Frequency (Hz)
0x451C 40002500
0x453B 80003000
0x449F 60001275

APPENDIX B: REGISTER NAME CHANGES FROM PREVIOUS REVISIONS

This section provides a mapping of the register names used in this document against register names used in previous releases.

Rev C - Register NamesRev A - Register Names
SD/RD Measurement Registers
Angle DataAngle/Position Data
Velocity DataVelocity
Sine RMS
Cosine RMS
Sine
Cosine RMS
Measured Reference (RMS)Measured Reference (RMS)
Measured Signal (RMS)Measured Signal (RMS)
Measured Frequency (Hz)Measured Frequency (Hz)
Combined AngleCombined Angle (Ch. 1-2), (Ch. 3-4)
Sine Detect Value
Cosine Detect Value
SD/RD Control Registers
Mode SelectMode Select
Bandwidth SelectBandwidth Select
Bandwidth (Hz)Bandwidth (Hz)
Multi-speed RatioRatio (Ch. 1-2), (Ch. 3-4)
Delta AngleDelta Angle
Initiate Delta AngleInit Delta Angle
Channel Status EnableStatus Enable
Track/HoldTrack/Hold
Inverse Signal Control
Threshold Programming Registers
Signal Fault Low ThresholdSignal Loss Threshold
Signal Fault High Threshold
Reference Fault Low ThresholdReference Loss Threshold
Reference Fault High Threshold
Open Detect Threshold
SD/RD Test Registers
Test EnabledTest Enable (D0, D2, D3)
Test CBIT VerifyTest D2 Verify
UBIT Test PositionTest Angle/Position
BIT Error Limit
FIFO Registers
FIFO Buffer DataFIFO Buffer Data (per channel)
FIFO Word CountFIFO Word Count (per channel)
FIFO Almost Empty
FIFO Low WatermarkFIFO Lo Threshold (per channel)
FIFO High WatermarkFIFO Hi Threshold (per channel)
FIFO Almost Full
FIFO Buffer SizeFIFO Number of Samples (per channel)
FIFO Buffer ControlFIFO Data Type (per channel)
FIFO Sample RateFIFO Sample Rate (per channel)
FIFO Sample DelayFIFO Sample Delay (per channel)
FIFO ClearFIFO Clear (per channel)
FIFO Trigger ControlFIFO Trigger Mode (per channel)
FIFO Software Trigger
Engineering Scaling Conversions Registers
Enable Floating Point Mode
Floating Point Offset
Floating Point Scale
Floating Point State
Status and Interrupt Registers
BIT Dynamic StatusBIT Dynamic Status
BIT Latched StatusBIT Latched Status
BIT Interrupt EnableBIT Interrupt Enable
BIT Set Edge/Level InterruptBIT Set Edge/Level Interrupt
Signal Fault Low Dynamic StatusSignal Loss Dynamic Status
Signal Fault Low Latched StatusSignal Loss Latched Status
Signal Fault Low Interrupt EnableSignal Loss Interrupt Enable
Signal Fault Low Set Edge/Level InterruptSignal Loss Set Edge/Level Interrupt
Signal Fault High Dynamic Status
Signal Fault High Latched Status
Signal Fault High Interrupt Enable
Signal Fault High Set Edge/Level Interrupt
Reference Fault Low Dynamic StatusReference Loss Dynamic Status
Reference Fault Low Latched StatusReference Loss Latched Status
Reference Fault Low Interrupt EnableReference Loss Interrupt Enable
Reference Fault Low Set Edge/Level InterruptReference Loss Set Edge/Level Interrupt
Reference Fault High Dynamic Status
Reference Fault High Latched Status
Reference Fault High Interrupt Enable
Reference Fault High Set Edge/Level Interrupt
Lock Loss Dynamic StatusLock Loss Dynamic Status
Lock Loss Latched StatusLock Loss Latched Status
Lock Loss Interrupt EnableLock Loss Interrupt Enable
Lock Loss Set Edge/Level InterruptLock Loss Set Edge/Level Interrupt
Delta Angle Dynamic StatusDelta Angle Dynamic Status
Delta Angle Latched StatusDelta Angle Latched Status
Delta Angle Interrupt EnableDelta Angle Interrupt Enable
Delta Angle Set Edge/Level InterruptDelta Angle Set Edge/Level Interrupt
FIFO Dynamic StatusFIFO Dynamic Status
FIFO Latched StatusFIFO Latched Status
FIFO Interrupt EnableFIFO Interrupt Enable
FIFO Set Edge/Level InterruptFIFO Set Edge/Level Interrupt
Open Detect Dynamic Status
Open Detect Latched Status
Open Detect Interrupt Enable
Open Detect Set Edge/Level Interrupt
Summary Dynamic Status
Summary Latched Status
Summary Interrupt Enable
Summary Set Edge/Level Interrupt
Interrupt Vector
Interrupt Steering

APPENDIX C: PIN-OUT DETAILS

Pin-out details (for reference) are shown below, with respect to DATAIO. Additional information on pin-outs can be found in the Motherboard Operational Manuals

Module Signal (Ref Only)44-Pin I/O50-Pin I/O (Mod Slot 1-J3)50-Pin I/O (Mod Slot 2-J4)50-Pin I/O (Mod Slot 3-J3)50-Pin I/O (Mod Slot 3-J4)SD-4Ch + (SDx)
DATIO121012S1-CH1
DATIO224352627S3-CH1
DATIO331123S2-CH1
DATIO425362728S4-CH1
DATIO551345RHI-CH1
DATIO627382930RLO-CH1
DATIO771456S1-CH2
DATIO829393031S3-CH2
DATIO981567S2-CH2
DATIO1030403132S4-CH2
DATIO11101789RHI-CH2
DATIO1232423334RLO-CH2
DATIO131218917S1-CH3
DATIO1434433442S3-CH3
DATIO1513191018S2-CH3
DATIO1635443543S4-CH3
DATIO1715211220RHI-CH3
DATIO1837463745RLO-CH3
DATIO1917221321S1-CH4
DATIO2039473846S3-CH4
DATIO2118231422S2-CH4
DATIO2240483947S4-CH4
DATIO2320251624RHI-CH4
DATIO2442504149RLO-CH4
DATIO2541234
DATIO2626372829
DATIO2791678
DATIO2831413233
DATIO2914201119
DATIO3036453644
DATIO3119241523
DATIO3241494048
DATIO336
DATIO3428
DATIO3511
DATIO3633
DATIO3716
DATIO3838
DATIO3921
DATIO4043
N/A

REVISION HISTORY

Motherboard Manual - SD1-SD5 Revision History
RevisionRevision DateDescription
C2023-11- 13ECO C10950, transition to docbuilder format. Replaced 'Specifications' with 'Data Sheet'. Pg.7, updated Tracking Rate/Bandwidth/Reference Zin specs. Pg.8, updated introduction; added 'SD1- SD5 Overview'. Pg.9, added Multi-Speed Operation; changed AC Measurements to Signal/Reference. Pg.9, revised BIT/Diagnostic Capability. Pg.10, added SD/RD Threshold Programming, FIFO Buffering, Status and Interrupts, Engineering Scaling Conversions. Pg.11/30/41, added Module Common Registers. Reorganized 'Register Descriptions' by register group headings. Pg.13, added Sine/Cosine/Sine
Cosine RMS. Pg.16, added Sine/Cosine Detect Value. Pg.18, added Multi-Speed Ratio. Pg.20, added Inverse Signal Control. Pg.21-22, added Threshold Programming Registers. Pg.24, added BIT Error Limit. Pg.27, updated FIFO buffer sample rate. Pg.28, added FIFO Trigger Control. Pg.29, added FIFO Software Trigger. Pg.29-30, added Engineering Scaling Conversion Registers. Pg.31, added Channel Status Enable. Pg.32, added Signal Fault Low & High Status registers. Pg.33, added Reference Fault Low & High Status registers. Pg.36, added Open Detect and Summary Status registers. Pg.37, added Interrupt Vector and Steering. Pg.38, added Sine/Cosine/Sine
Cosine register offsets. Pg.39, added Multi-Speed Ratio and Inverse Signal Control register offsets. Pg.39, added Threshold Programming Registers. Pg.40, added FIFO Trigger Control and Software Trigger register offsets. Pg.40, added Engineering Scaling Conversion Registers. Pg.41, added Channel Status Enable. Pg.41, added Signal & Reference Fault Low register offsets. Pg.41, added Signal & Reference Fault High register offsets. Pg.42, added Open Detect and Summary Status register offsets. Pg.43-45, added Interrupt Registers. Added Appendices A-C.

DOCS.NAII REVISIONS

Revision DateDescription
2025-03-11Updated module pinout table to add module I/O pinouts for 44- & 50-pin connectors.
2025-03-28Updated Output Mode & Rotation Mode register bit mapping (changed bits D2-D0 from Ch3/Ch2/Ch1 to 0/0/D); added bit map to Stop Angle register.
2026-04-06Formatting updates throughout manual (no technical info changed).

STATUS AND INTERRUPTS

Status registers indicate the detection of faults or events. The status registers can be channel bit-mapped or event bit-mapped. An example of a channel bit-mapped register is the BIT status register, and an example of an event bit-mapped register is the FIFO status register.

For those status registers that allow interrupts to be generated upon the detection of the fault or the event, there are four registers associated with each status: Dynamic, Latched, Interrupt Enabled, and Set Edge/Level Interrupt.

Dynamic Status: The Dynamic Status register indicates the current condition of the fault or the event. If the fault or the event is momentary, the contents in this register will be clear when the fault or the event goes away. The Dynamic Status register can be polled, however, if the fault or the event is sporadic, it is possible for the indication of the fault or the event to be missed.

Latched Status: The Latched Status register indicates whether the fault or the event has occurred and keeps the state until it is cleared by the user. Reading the Latched Status register is a better alternative to polling the Dynamic Status register because the contents of this register will not clear until the user commands to clear the specific bit(s) associated with the fault or the event in the Latched Status register. Once the status register has been read, the act of writing a 1 back to the applicable status register to any specific bit (channel/event) location will “clear” the bit (set the bit to 0). When clearing the channel/event bits, it is strongly recommended to write back the same bit pattern as read from the Latched Status register. For example, if the channel bit-mapped Latched Status register contains the value 0x0000 0005, which indicates fault/event detection on channel 1 and 3, write the value 0x0000 0005 to the Latched Status register to clear the fault/event status for channel 1 and 3. Writing a “1” to other channels that are not set (example 0x0000 000F) may result in incorrectly “clearing” incoming faults/events for those channels (example, channel 2 and 4).

Interrupt Enable: If interrupts are preferred upon the detection of a fault or an event, enable the specific channel/event interrupt in the Interrupt Enable register. The bits in Interrupt Enable register map to the same bits in the Latched Status register. When a fault or event occurs, an interrupt will be fired. Subsequent interrupts will not trigger until the application acknowledges the fired interrupt by clearing the associated channel/event bit in the Latched Status register. If the interruptible condition is still persistent after clearing the bit, this may retrigger the interrupt depending on the Edge/Level setting.

Set Edge/Level Interrupt: When interrupts are enabled, the condition on retriggering the interrupt after the Latch Register is “cleared” can be specified as “edge” triggered or “level” triggered. Note, the Edge/Level Trigger also affects how the Latched Register value is adjusted after it is “cleared” (see below).

  • Edge triggered: An interrupt will be retriggered when the Latched Status register change from low (0) to high (1) state. Uses for edge-triggered interrupts would include transition detections (Low-to-High transitions, High-to-Low transitions) or fault detections. After “clearing” an interrupt, another interrupt will not occur until the next transition or the re-occurrence of the fault again.

  • Level triggered: An interrupt will be generated when the Latched Status register remains at the high (1) state. Level-triggered interrupts are used to indicate that something needs attention.

Interrupt Vector and Steering

When interrupts are enabled, the interrupt vector associated with the specific interrupt can be programmed with a unique number/identifier defined by the user such that it can be utilized in the Interrupt Service Routine (ISR) to identify the type of interrupt. When an interrupt occurs, the contents of the Interrupt Vector registers is reported as part of the interrupt mechanism. In addition to specifying the interrupt vector, the interrupt can be directed (“steered”) to the native bus or to the application running on the onboard ARM processor.

Interrupt Trigger Types

In most applications, limiting the number of interrupts generated is preferred as interrupts are costly, thus choosing the correct Edge/Level interrupt trigger to use is important.

Example 1: Fault detection

This example illustrates interrupt considerations when detecting a fault like an “open” on a line. When an “open” is detected, the system will receive an interrupt. If the “open” on the line is persistent and the trigger is set to “edge”, upon “clearing” the interrupt, the system will not regenerate another interrupt. If, instead, the trigger is set to “level”, upon “clearing” the interrupt, the system will re-generate another interrupt. Thus, in this case, it will be better to set the trigger type to “edge”.

Example 2: Threshold detection

This example illustrates interrupt considerations when detecting an event like reaching or exceeding the “high watermark” threshold value. In a communication device, when the number of elements received in the FIFO reaches the high-watermark threshold, an interrupt will be generated. Normally, the application would read the count of the number of elements in the FIFO and read this number of elements from the FIFO. After reading the FIFO data, the application would “clear” the interrupt. If the trigger type is set to “edge”, another interrupt will be generated only if the number of elements in FIFO goes below the “high watermark” after the “clearing” the interrupt and then fills up to reach the “high watermark” threshold value. Since receiving communication data is inherently asynchronous, it is possible that data can continue to fill the FIFO as the application is pulling data off the FIFO. If, at the time the interrupt is “cleared”, the number of elements in the FIFO is at or above the “high watermark”, no interrupts will be generated. In this case, it will be better to set the trigger type to “level”, as the purpose here is to make sure that the FIFO is serviced when the number of elements exceeds the high watermark threshold value. Thus, upon “clearing” the interrupt, if the number of elements in the FIFO is at or above the “high watermark” threshold value, another interrupt will be generated indicating that the FIFO needs to be serviced.


Dynamic and Latched Status Registers Examples

The examples in this section illustrate the differences in behavior of the Dynamic Status and Latched Status registers as well as the differences in behavior of Edge/Level Trigger when the Latched Status register is cleared.

Figure 1. Example of Module’s Channel-Mapped Dynamic and Latched Status States

No Clearing of Latched StatusClearing of Latched Status (Edge-Triggered)Clearing of Latched Status(Level-Triggered)
TimeDynamic StatusLatched StatusActionLatched StatusActionLatched
T00x00x0Read Latched Register0x0Read Latched Register0x0
T10x10x1Read Latched Register0x10x1
T10x10x1Write 0x1 to Latched RegisterWrite 0x1 to Latched Register
T10x10x10x00x1
T20x00x1Read Latched Register0x0Read Latched Register0x1
T20x00x1Read Latched Register0x0Write 0x1 to Latched Register
T20x00x1Read Latched Register0x00x0
T30x20x3Read Latched Register0x2Read Latched Register0x2
T30x20x3Write 0x2 to Latched RegisterWrite 0x2 to Latched Register
T30x20x30x00x2
T40x20x3Read Latched Register0x1Read Latched Register0x3
T40x20x3Write 0x1 to Latched RegisterWrite 0x3 to Latched Register
T40x20x30x00x2
T50xC0xFRead Latched Register0xCRead Latched Register0xE
T50xC0xFWrite 0xC to Latched RegisterWrite 0xE to Latched Register
T50xC0xF0x00xC
T60xC0xFRead Latched Register0x0Read Latched0xC
T60xC0xFRead Latched Register0x0Write 0xC to Latched Register
T60xC0xFRead Latched Register0x00xC
T70x40xFRead Latched Register0x0Read Latched Register0xC
T70x40xFRead Latched Register0x0Write 0xC to Latched Register
T70x40xFRead Latched Register0x00x4
T80x40xFRead Latched Register0x0Read Latched Register0x4

Interrupt Examples

The examples in this section illustrate the interrupt behavior with Edge/Level Trigger.

Figure 2. Illustration of Latched Status State for Module with 4-Channels with Interrupt Enabled

TimeLatched Status (Edge-Triggered - Clear Multi-Channel)Latched Status (Edge-Triggered - Clear Single Channel) 2+Latched Status (Level-Triggered - Clear Multi-Channel)Action
LatchedActionLatchedActionLatchedT1 (Int 1)
Interrupt Generated++``+
Read Latched Registers
0x1Interrupt Generated++``+
Read Latched Registers
0x1Interrupt Generated++``+
Read Latched Registers
0x1T1 (Int 1)
Write 0x1 to Latched RegisterWrite 0x1 to Latched RegisterWrite 0x1 to Latched RegisterT1 (Int 1)
0x00x0Interrupt re-triggers++``+
Note, interrupt re-triggers after each clear until T2.
0x1T3 (Int 2)
Interrupt Generated++``+
Read Latched Registers
0x2Interrupt Generated++``+
Read Latched Registers
0x2Interrupt Generated++``+
Read Latched Registers
0x2T3 (Int 2)
Write 0x2 to Latched RegisterWrite 0x2 to Latched RegisterWrite 0x2 to Latched RegisterT3 (Int 2)
0x00x0Interrupt re-triggers++``+
Note, interrupt re-triggers after each clear until T7.
0x2T4 (Int 3)
Interrupt Generated++``+
Read Latched Registers
0x1Interrupt Generated++``+
Read Latched Registers
0x1Interrupt Generated++``+
Read Latched Registers
0x3T4 (Int 3)
Write 0x1 to Latched RegisterWrite 0x1 to Latched RegisterWrite 0x3 to Latched RegisterT4 (Int 3)
0x00x0Interrupt re-triggers++``+
Note, interrupt re-triggers after each clear and 0x3 is reported in Latched Register until T5.
0x3T4 (Int 3)
0x00x0Interrupt re-triggers++``+
Note, interrupt re-triggers after each clear until T7.
0x2T6 (Int 4)
Interrupt Generated++``+
Read Latched Registers
0xCInterrupt Generated++``+
Read Latched Registers
0xCInterrupt Generated++``+
Read Latched Registers
0xET6 (Int 4)
Write 0xC to Latched RegisterWrite 0x4 to Latched RegisterWrite 0xE to Latched RegisterT6 (Int 4)
0x0Interrupt re-triggers++``+
Write 0x8 to Latched Register
0x8Interrupt re-triggers++``+
Note, interrupt re-triggers after each clear and 0xE is reported in Latched Register until T7.
0xET6 (Int 4)
0x00x0Interrupt re-triggers++``+
Note, interrupt re-triggers after each clear and 0xC is reported in Latched Register until T8.
0xCT6 (Int 4)
0x00x0Interrupt re-triggers++``+
Note, interrupt re-triggers after each clear and 0x4 is reported in Latched Register always.
0x4

REVISION HISTORY

Motherboard Manual - Status and Interrupts Revision History
RevisionRevision DateDescription
C2021-11-30C08896; Transition manual to docbuilder format - no technical info change.

DOCS.NAII REVISIONS

Revision DateDescription
2026-03-02Formatting updates to document; no technical changes.
Link to original

MODULE COMMON REGISTERS

The registers described in this document are common to all NAI Generation 5 modules.

Module Information Registers

The registers in this section provide module information such as firmware revisions, capabilities and unique serial number information.

FPGA Version Registers

The FPGA firmware version registers include registers that contain the Revision, Compile Timestamp, SerDes Revision, Template Revision and Zynq Block Revision information.

FPGA Revision
Function:FPGA firmware revision
Type:unsigned binary word (32-bit)
Data Range:0x0000 0000 to 0xFFFF FFFF
Read/Write:R
Initialized Value:Value corresponding to the revision of the board's FPGA
Operational Settings:The upper 16-bits are the major revision and the lower 16-bits are the minor revision.
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
Major Revision Number
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
Minor Revision Number
FPGA Compile Timestamp
Function:Compile Timestamp for the FPGA firmware.
Type:unsigned binary word (32-bit)
Data Range:N/A
Read/Write:R
Initialized Value:Value corresponding to the compile timestamp of the board's FPGA
Operational Settings:The 32-bit value represents the Day, Month, Year, Hour, Minutes and Seconds as formatted in the table:
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
day (5-bits)month (4-bits)year (6-bits)hr
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
hour (5-bits)minutes (6-bits)seconds (6-bits)
FPGA SerDes Revision
Function:FPGA SerDes revision
Type:unsigned binary word (32-bit)
Data Range:0x0000 0000 to 0xFFFF FFFF
Read/Write:R
Initialized Value:Value corresponding to the SerDes revision of the board's FPGA
Operational Settings:The upper 16-bits are the major revision, and the lower 16-bits are the minor revision.
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
Major Revision Number
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
Minor Revision Number
FPGA Template Revision
Function:FPGA Template revision
Type:unsigned binary word (32-bit)
Data Range:0x0000 0000 to 0xFFFF FFFF
Read/Write:R
Initialized Value:Value corresponding to the template revision of the board's FPGA
Operational Settings:The upper 16-bits are the major revision, and the lower 16-bits are the minor revision.
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
Major Revision Number
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
Minor Revision Number
FPGA Zynq Block Revision
Function:FPGA Zynq Block revision
Type:unsigned binary word (32-bit)
Data Range:0x0000 0000 to 0xFFFF FFFF
Read/Write:R
Initialized Value:Value corresponding to the Zynq block revision of the board's FPGA
Operational Settings:The upper 16-bits are the major revision, and the lower 16-bits are the minor revision.
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
Major Revision Number
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
Minor Revision Number

Bare Metal Version Registers

The Bare Metal firmware version registers include registers that contain the Revision and Compile Time information.

Bare Metal Revision
Function:Bare Metal firmware revision
Type:unsigned binary word (32-bit)
Data Range:0x0000 0000 to 0xFFFF FFFF
Read/Write:R
Initialized Value:Value corresponding to the revision of the board's Bare Metal
Operational Settings:The upper 16-bits are the major revision and the lower 16-bits are the minor revision.
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
Major Revision Number
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
Minor Revision Number
Bare Metal Compile Time
Function:Provides an ASCII representation of the Date/Time for the Bare Metal compile time.
Type:24-character ASCII string - Six (6) unsigned binary word (32-bit)
Data Range:N/A
Read/Write:R
Initialized Value:Value corresponding to the ASCII representation of the compile time of the board's Bare Metal
Operational Settings:The six 32-bit words provide an ASCII representation of the Date/Time. The hexadecimal values in the field below represent: May 17 2019 at 15:38:32

Note

little-endian order of ASCII values

Word 1 (Ex. 0x2079614D)
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
Space (0x20)Month ('y' - 0x79)
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
Month ('a' - 0x61)Month ('M' - 0x4D)
Word 2 (Ex. 0x32203731)
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
Year ('2' - 0x32)Space (0x20)
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
Day ('7' - 0x37)Day ('1' - 0x31)
Word 3 (Ex. 0x20393130)
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
Space (0x20)Year ('9' - 0x39)
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
Year ('1' - 0x31)Year ('0' - 0x30)
Word 4 (Ex. 0x31207461)
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
Hour ('1' - 0x31)Space (0x20)
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
'a' (0x74)'t' (0x61)
Word 5 (Ex. 0x38333A35)
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
Minute ('8' - 0x38)Minute ('3' - 0x33)
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
':' (0x3A)Hour ('5' - 0x35)
Word 6 (Ex. 0x0032333A)
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
NULL (0x00)Seconds ('2' - 0x32)
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
Seconds ('3' - 0x33)':' (0x3A)

FSBL Version Registers

The FSBL version registers include registers that contain the Revision and Compile Time information for the First Stage Boot Loader (FSBL).

FSBL Revision
Function:FSBL firmware revision
Type:unsigned binary word (32-bit)
Data Range:0x0000 0000 to 0xFFFF FFFF
Read/Write:R
Initialized Value:Value corresponding to the revision of the board's FSBL
Operational Settings:The upper 16-bits are the major revision, and the lower 16-bits are the minor revision.
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
Major Revision Number
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
Minor Revision Number
FSBL Compile Time
Function:Provides an ASCII representation of the Date/Time for the FSBL compile time.
Type:24-character ASCII string - Six (6) unsigned binary word (32-bit)
Data Range:N/A
Read/Write:R
Initialized Value:Value corresponding to the ASCII representation of the Compile Time of the board's FSBL
Operational Settings:The six 32-bit words provide an ASCII representation of the Date/Time.

The hexadecimal values in the field below represent: May 17 2019 at 15:38:32

Note

little-endian order of ASCII values

Word 1 (Ex. 0x2079614D)
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
Space (0x20)Month ('y' - 0x79)
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
Month ('a' - 0x61)Month ('M' - 0x4D)
Word 2 (Ex. 0x32203731)
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
Year ('2' - 0x32)Space (0x20)
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
Day ('7' - 0x37)Day ('1' - 0x31)
Word 3 (Ex. 0x20393130)
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
Space (0x20)Year ('9' - 0x39)
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
Year ('1' - 0x31)Year ('0' - 0x30)
Word 4 (Ex. 0x31207461)
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
Hour ('1' - 0x31)Space (0x20)
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
'a' (0x74)'t' (0x61)
Word 5 (Ex. 0x38333A35)
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
Minute ('8' - 0x38)Minute ('3' - 0x33)
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
':' (0x3A)Hour ('5' - 0x35)
Word 6 (Ex. 0x0032333A)
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
NULL (0x00)Seconds ('2' - 0x32)
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
Seconds ('3' - 0x33)':' (0x3A)

Module Serial Number Registers

The Module Serial Number registers include registers that contain the Serial Numbers for the Interface Board and the Functional Board of the module.

Interface Board Serial Number
Function:Unique 128-bit identifier used to identify the interface board.
Type:16-character ASCII string - Four (4) unsigned binary words (32-bit)
Data Range:N/A
Read/Write:R
Initialized Value:Serial number of the interface board
Operational Settings:This register is for information purposes only.
Functional Board Serial Number
Function:Unique 128-bit identifier used to identify the functional board.
Type:16-character ASCII string - Four (4) unsigned binary words (32-bit)
Data Range:N/A
Read/Write:R
Initialized Value:Serial number of the functional board
Operational Settings:This register is for information purposes only.
Module Capability
Function:Provides indication for whether or not the module can support the following: SerDes block reads, SerDes FIFO block reads, SerDes packing (combining two 16-bit values into one 32-bit value) and floating point representation. The purpose for block access and packing is to improve the performance of accessing larger amounts of data over the SerDes interface.
Type:unsigned binary word (32-bit)
Data Range:0x0000 0000 to 0x0000 0107
Read/Write:R
Initialized Value:0x0000 0107
Operational Settings:A “1” in the bit associated with the capability indicates that it is supported.
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
0000000000000000
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
0000000Flt-Pt00000PackFIFO BlkBlk
Module Memory Map Revision
Function:Module Memory Map revision
Type:unsigned binary word (32-bit)
Data Range:0x0000 0000 to 0xFFFF FFFF
Read/Write:R
Initialized Value:Value corresponding to the Module Memory Map Revision
Operational Settings:The upper 16-bits are the major revision and the lower 16-bits are the minor revision.
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
Major Revision Number
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
Minor Revision Number

Module Measurement Registers

The registers in this section provide module temperature measurement information.

Temperature Readings Registers

The temperature registers provide the current, maximum (from power-up) and minimum (from power-up) Zynq and PCB temperatures.

Interface Board Current Temperature
Function:Measured PCB and Zynq Core temperatures on Interface Board.
Type:signed byte (8-bits) for PCB and signed byte (8-bits) for Zynq core temperatures
Data Range:0x0000 0000 to 0x0000 FFFF
Read/Write:R
Initialized Value:Value corresponding to the measured PCB and Zynq core temperatures based on the table below
Operational Settings:The upper 16-bits are not used, and the lower 16-bits are the PCB and Zynq Core Temperatures. For example, if the register contains the value 0x0000 202C, this represents PCB Temperature = 32° Celsius and Zynq Temperature = 44° Celsius.
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
0000000000000000
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
PCB TemperatureZynq Core Temperature
Functional Board Current Temperature
Function:Measured PCB temperature on Functional Board.
Type:signed byte (8-bits) for PCB
Data Range:0x0000 0000 to 0x0000 00FF
Read/Write:R
Initialized Value:Value corresponding to the measured PCB on the table below
Operational Settings:The upper 24-bits are not used, and the lower 8-bits are the PCB Temperature. For example, if the register contains the value 0x0000 0019, this represents PCB Temperature = 25° Celsius.
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
0000000000000000
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
00000000PCB Temperature
Interface Board Maximum Temperature
Function:Maximum PCB and Zynq Core temperatures on Interface Board since power-on.
Type:signed byte (8-bits) for PCB and signed byte (8-bits) for Zynq core temperatures
Data Range:0x0000 0000 to 0x0000 FFFF
Read/Write:R
Initialized Value:Value corresponding to the maximum measured PCB and Zynq core temperatures since power-on based on the table below
Operational Settings:The upper 16-bits are not used, and the lower 16-bits are the maximum PCB and Zynq Core Temperatures. For example, if the register contains the value 0x0000 5569, this represents maximum PCB Temperature = 85° Celsius and maximum Zynq Temperature = 105° Celsius.
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
0000000000000000
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
PCB TemperatureZynq Core Temperature
Interface Board Minimum Temperature
Function:Minimum PCB and Zynq Core temperatures on Interface Board since power-on.
Type:signed byte (8-bits) for PCB and signed byte (8-bits) for Zynq core temperatures
Data Range:0x0000 0000 to 0x0000 FFFF
Read/Write:R
Initialized Value:Value corresponding to the minimum measured PCB and Zynq core temperatures since power-on based on the table below
Operational Settings:The upper 16-bits are not used, and the lower 16-bits are the minimum PCB and Zynq Core Temperatures. For example, if the register contains the value 0x0000 D8E7, this represents minimum PCB Temperature = -40° Celsius and minimum Zynq Temperature = -25° Celsius.
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
0000000000000000
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
PCB TemperatureZynq Core Temperature
Functional Board Maximum Temperature
Function:Maximum PCB temperature on Functional Board since power-on.
Type:signed byte (8-bits) for PCB
Data Range:0x0000 0000 to 0x0000 00FF
Read/Write:R
Initialized Value:Value corresponding to the measured PCB on the table below
Operational Settings:The upper 24-bits are not used, and the lower 8-bits are the PCB Temperature. For example, if the register contains the value 0x0000 0055, this represents PCB Temperature = 85° Celsius.
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
0000000000000000
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
00000000PCB Temperature
Functional Board Minimum Temperature
Function:Minimum PCB temperature on Functional Board since power-on.
Type:signed byte (8-bits) for PCB
Data Range:0x0000 0000 to 0x0000 00FF
Read/Write:R
Initialized Value:Value corresponding to the measured PCB on the table below
Operational Settings:The upper 24-bits are not used, and the lower 8-bits are the PCB Temperature. For example, if the register contains the value 0x0000 00D8, this represents PCB Temperature = -40° Celsius.
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
0000000000000000
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
00000000PCB Temperature

Higher Precision Temperature Readings Registers

These registers provide higher precision readings of the current Zynq and PCB temperatures.

Higher Precision Zynq Core Temperature
Function:Higher precision measured Zynq Core temperature on Interface Board.
Type:signed word (16-bits) for integer part and unsigned word (16-bits) for fractional part
Data Range:0x0000 0000 to 0xFFFF FFFF
Read/Write:R
Initialized Value:Measured Zynq Core temperature on Interface Board
Operational Settings:The upper 16-bits represent the signed integer part of the temperature and the lower 16-bits represent the fractional part of the temperature with the resolution of 1/1000 of degree Celsius. For example, if the register contains the value 0x002B 0271, this represents Zynq Core Temperature = 43.625° Celsius, and value 0xFFF6 0177 represents -10.375° Celsius.
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
Signed Integer Part of Temperature
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
Fractional Part of Temperature
Higher Precision Interface PCB Temperature
Function:Higher precision measured Interface PCB temperature.
Type:signed word (16-bits) for integer part and unsigned word (16-bits) for fractional part
Data Range:0x0000 0000 to 0xFFFF FFFF
Read/Write:R
Initialized Value:Measured Interface PCB temperature
Operational Settings:The upper 16-bits represent the signed integer part of the temperature and the lower 16-bits represent the fractional part of the temperature with the resolution of 1/1000 of degree Celsius. For example, if the register contains the value 0x0020 007D, this represents Interface PCB Temperature = 32.125° Celsius, and value 0xFFE8 036B represents -24.875° Celsius.
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
Signed Integer Part of Temperature
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
Fractional Part of Temperature
Higher Precision Functional PCB Temperature
Function:Higher precision measured Functional PCB temperature.
Type:signed word (16-bits) for integer part and unsigned word (16-bits) for fractional part
Data Range:0x0000 0000 to 0xFFFF FFFF
Read/Write:R
Initialized Value:Measured Functional PCB temperature
Operational Settings:The upper 16-bits represent the signed integer part of the temperature and the lower 16-bits represent the fractional part of the temperature with the resolution of 1/100 of degree Celsius. For example, if the register contains the value 0x0018 004B, this represents Functional PCB Temperature = 24.75° Celsius, and value 0xFFD9 0019 represents -39.25° Celsius.
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
Signed Integer Part of Temperature
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
Fractional Part of Temperature

Module Health Monitoring Registers

The registers in this section provide module temperature measurement information. If the temperature measurements reaches the Lower Critical or Upper Critical conditions, the module will automatically reset itself to prevent damage to the hardware.

Module Sensor Summary Status
Function:The corresponding sensor bit is set if the sensor has crossed any of its thresholds.
Type:unsigned binary word (32-bits)
Data Range:See table below
Read/Write:R
Initialized Value:0
Operational Settings:This register provides a summary for module sensors. When the corresponding sensor bit is set, the Sensor Threshold Status register for that sensor will indicate the threshold condition that triggered the event.
Bit(s)Sensor
D31:D6Reserved
D5Functional Board PCB Temperature
D4Interface Board PCB Temperature
D3:D0Reserved

Module Sensor Registers

The registers listed in this section apply to each module sensor listed for the Module Sensor Summary Status register. Each individual sensor register provides a group of registers for monitoring module temperatures readings. From these registers, a user can read the current temperature of the sensor in addition to the minimum and maximum temperature readings since power-up. Upper and lower critical/warning temperature thresholds can be set and monitored from these registers. When a programmed temperature threshold is crossed, the Sensor Threshold Status register will set the corresponding bit for that threshold. The figure below shows the functionality of this group of registers when accessing the Interface Board PCB Temperature sensor as an example.

Sensor Threshold Status
Function:Reflects which threshold has been crossed
Type:unsigned binary word (32-bits)
Data Range:See table below
Read/Write:R
Initialized Value:0
Operational Settings:The associated bit is set when the sensor reading exceed the corresponding threshold settings.
Bit(s)Description
D31:D4Reserved
D3Exceeded Upper Critical Threshold
D2Exceeded Upper Warning Threshold
D1Exceeded Lower Critical Threshold
D0Exceeded Lower Warning Threshold
Sensor Current Reading
Function:Reflects current reading of temperature sensor
Type:Single Precision Floating Point Value (IEEE-754)
Data Range:Single Precision Floating Point Value (IEEE-754)
Read/Write:R
Initialized Value:N/A
Operational Settings:The register represents current sensor reading as a single precision floating point value. For example, for a temperature sensor, register value 0x41C6 0000 represents temperature = 24.75° Celsius.
Sensor Minimum Reading
Function:Reflects minimum value of temperature sensor since power up
Type:Single Precision Floating Point Value (IEEE-754)
Data Range:Single Precision Floating Point Value (IEEE-754)
Read/Write:R
Initialized Value:N/A
Operational Settings:The register represents minimum sensor value as a single precision floating point value. For example, for a temperature sensor, register value 0x41C6 0000 represents temperature = 24.75° Celsius.
Sensor Maximum Reading
Function:Reflects maximum value of temperature sensor since power up
Type:Single Precision Floating Point Value (IEEE-754)
Data Range:Single Precision Floating Point Value (IEEE-754)
Read/Write:R
Initialized Value:N/A
Operational Settings:The register represents maximum sensor value as a single precision floating point value. For example, for a temperature sensor, register value 0x41C6 0000 represents temperature = 24.75° Celsius.
Sensor Lower Warning Threshold
Function:Reflects lower warning threshold of temperature sensor
Type:Single Precision Floating Point Value (IEEE-754)
Data Range:Single Precision Floating Point Value (IEEE-754)
Read/Write:R/W
Initialized Value:Default lower warning threshold (value dependent on specific sensor)
Operational Settings:The register represents sensor lower warning threshold as a single precision floating point value. For example, for a temperature sensor, register value 0xC220 0000 represents temperature = -40.0° Celsius.
Sensor Lower Critical Threshold
Function:Reflects lower critical threshold of temperature sensor
Type:Single Precision Floating Point Value (IEEE-754)
Data Range:Single Precision Floating Point Value (IEEE-754)
Read/Write:R/W
Initialized Value:Default lower critical threshold (value dependent on specific sensor)
Operational Settings:The register represents sensor lower critical threshold as a single precision floating point value. For example, for a temperature sensor, register value 0xC25C 0000 represents temperature = -55.0° Celsius.
Sensor Upper Warning Threshold
Function:Reflects upper warning threshold of temperature sensor
Type:Single Precision Floating Point Value (IEEE-754)
Data Range:Single Precision Floating Point Value (IEEE-754)
Read/Write:R/W
Initialized Value:Default upper warning threshold (value dependent on specific sensor)
Operational Settings:The register represents sensor upper warning threshold as a single precision floating point value. For example, for a temperature sensor, register value 0x42AA 0000 represents temperature = 85.0° Celsius.
Sensor Upper Critical Threshold
Function:Reflects upper critical threshold of temperature sensor
Type:Single Precision Floating Point Value (IEEE-754)
Data Range:Single Precision Floating Point Value (IEEE-754)
Read/Write:R/W
Initialized Value:Default upper critical threshold (value dependent on specific sensor)
Operational Settings:The register represents sensor upper critical threshold as a single precision floating point value. For example, for a temperature sensor, register value 0x42FA 0000 represents temperature = 125.0° Celsius.

FUNCTION REGISTER MAP

KEY

Configuration/Control
Measurement/Status/Board Information
MODULE INFORMATION REGISTERS
OFFSETREGISTER NAMEACCESSOFFSETREGISTER NAMEACCESS
0x003CFPGA RevisionR0x0074Bare Metal RevisionR
0x0030FPGA Compile TimestampR0x0080Bare Metal Compile Time (Bit 0-31)R
0x0034FPGA SerDes RevisionR0x0084Bare Metal Compile Time (Bit 32-63)R
0x0038FPGA Template RevisionR0x0088Bare Metal Compile Time (Bit 64-95)R
0x0040FPGA Zynq Block RevisionR0x008CBare Metal Compile Time (Bit 96-127)R
0x0090Bare Metal Compile Time (Bit 128-159)R
0x0094Bare Metal Compile Time (Bit 160-191)R
0x007CFSBL RevisionR
0x00B0FSBL Compile Time (Bit 0-31)R
0x00B4FSBL Compile Time (Bit 32-63)R
0x00B8FSBL Compile Time (Bit 64-95)R
0x00BCFSBL Compile Time (Bit 96-127)R
0x00C0FSBL Compile Time (Bit 128-159)R
0x00C4FSBL Compile Time (Bit 160-191)R
0x0000Interface Board Serial Number (Bit 0-31)R0x0010Functional Board Serial Number (Bit 0-31)R
0x0034Interface Board Serial Number (Bit 32-63)R0x0014Functional Board Serial Number (Bit 32-63)R
0x0008Interface Board Serial Number (Bit 64-95)R0x0018Functional Board Serial Number (Bit 64-95)R
0x000CInterface Board Serial Number (Bit 96-127)R0x001CFunctional Board Serial Number (Bit 96-127)R
0x0070Module CapabilityR
0x01FCModule Memory Map RevisionR
MODULE MEASUREMENTS REGISTERS
OFFSETREGISTER NAMEACCESSOFFSETREGISTER NAMEACCESS
0x0200Interface Board PCB/Zynq Current TempR0x0208Functional Board PCB Current TempR
0x0218Interface Board PCB/Zynq Max TempR0x0228Functional Board PCB Max TempR
0x0220Interface Board PCB/Zynq Min TempR0x0230Functional Board PCB Min TempR
0x02C0Higher Precision Zynq Core TemperatureR
0x02C4Higher Precision Interface PCB TemperatureR
0x02E0Higher Precision Functional PCB TemperatureR
MODULE HEALTH MONITORING REGISTERS
OFFSETREGISTER NAMEACCESSOFFSETREGISTER NAMEACCESS
0x07F8Module Sensor Summary StatusR
![](/_shared/images/Module_Sensor_Registers_Memory_Map.png)

REVISION HISTORY

Motherboard Manual - Module Common Registers Revision History
RevisionRevision DateDescription
C2023-08-11ECO C10649, initial release of module common registers manual.
C12024-05-15ECO C11522, removed Zynq Core/Aux/DDR Voltage register descriptions from Module Measurement Registers. Pg.16, updated Module Sensor Summary Status register to add PS references; updated Bit Table to change voltage/current bits to 'reserved'. Pg.16, updated Module/Power Supply Sensor Registers description to better describe register functionality and to add figure. Pg.17, added 'Exceeded' to threshold bit descriptions. Pg.17-18, removed voltage/current references from sensor descriptions. Pg.20, removed Zynq Core/Aux/DDR Voltage register offsets from Module Measurement Registers. Pg.20, updated Module Health Monitoring Registers offset tables.
C22024-07-10ECO C11701, pg.16, updated Module Sensor Summary Status register to remove PS references;updated Bit Table to change PS temperature bits to 'reserved'. Pg.16, updated Module SensorRegisters description to remove PS references. Pg.20, updated Module Health MonitoringRegisters offset tables to remove PS temperature register offsets.

DOCS.NAII REVISIONS

Revision DateDescription
2025-11-05Corrected register offsets for Interface Board Min Temp and Function Board Min & Max Temps.
2026-03-02Formatting updates to document; no technical changes.
Link to original

NAI Cares

North Atlantic Industries (NAI) is a leading independent supplier of Embedded I/O Boards, Single Board Computers, Rugged Power Supplies, Embedded Systems and Motion Simulation and Measurement Instruments for the Military, Aerospace and Industrial Industries. We accelerate our clients’ time-to-mission with a unique approach based on a Configurable Open Systems Architecture™ (COSA®) that delivers the best of both worlds: custom solutions from standard COTS components.

We have built a reputation by listening to our customers, understanding their needs, and designing, testing and delivering board and system-level products for their most demanding air, land and sea requirements. If you have any applications or questions regarding the use of our products, please contact us for an expedient solution.

Please visit us at: www.naii.com or select one of the following for immediate assistance:

Documentation

https://www.docs.naii.com

FAQ

http://www.naii.com/faqs

Application Notes

http://www.naii.com/applicationnotes

Calibration and Repairs

http://www.naii.com/calibrationrepairs

Call Us

(631) 567-1100

Link to original