ENHANCED INPUT/OUTPUT FUNCTIONALITY CAPABILITY

The Enhanced Input/Output Functionality Capability is available on the following modules:

  • Differential Transceiver Modules

    • DF2 - 16 Channels Differential I/O
  • Discrete I/O Modules

    • DT4 - 24 Channels, Programmable for either input or output, output up to 500 mA per channel from an applied external 3 – 60 VCC source.
    • DT5 - 16 Channels, Programmable for either input voltage measurements (±80 V) or as a bi-directional current switch (up to 500 mA per channel).
    • DT6 - 4 Channels, Programmable for either input voltage measurements (±100 V) or as a bi-directional current switch (up to 3 A per channel).
  • TTL/CMOS Modules

    • TL2, TL4, TL6 and TL8 - 24 Channels, Programmable for either input or output.

PRINCIPLE OF OPERATION

The modules listed in Enhanced Input/Output Functionality Capability provide enhanced input and output mode functionality. For incoming signals (inputs), the enhanced modes include Pulse, Frequency and Period measurements. For outputs, the enhanced modes include PWM (Pulse Width Modulation) and Pattern Generation.

Input Modes

All input modes may be configured with debounce capability. Debounce capability allows configurable filtering of noisy signals and transients. Each channel may be set to an individual debounce time value. When a debounce time is set to a non-zero value, the signal reading after a transition must remain at the same level for the debounce interval before it is propagated through, otherwise it is rejected.

The waveform shown in Figure 1 will be used to illustrate the behavior for each input mode.

Figure 1. Incoming Signal Example Used to illustrate Input Modes

Pulse Measurements

There are two Pulse Measurements features available - High Time Pulse Measurements and Low Time Pulse Measurements. The Pulse Measurement data is stored in the FIFO Buffer.

High Time Pulse Measurements

In this input mode, the data in the FIFO buffer is the measurement for each rising transition to the next falling one. Timing measurements record the time interval (in 10 µs ticks) from a pair of transitions.

Figure 2 - High Time Pulse Measurement Input Mode

For this example, the FIFO Word Count register will be set to 3 and the FIFO Buffer Data register will contain the following three values (counts of 10 µs):

  1. 1500 (0x0000 05DC)
  2. 2500 (0x0000 09C4)
  3. 1000 (0x0000 03E8)
Time IntervalCalculationsHigh Time Pulse Measurements
11500 counts * 10 µsec = 15000 µsec = 15.0 msec15.0 msec
22500 counts * 10 µsec = 25000 µsec = 25.0 msec25.0 msec
31000 counts * 10 µsec = 10000 µsec = 10.0 msec10.0 msec
Low Time Pulse Measurements

In this mode, the data in the FIFO buffer is the measurement for each falling edge to the next rising edge. Timing measurements record the time interval (in 10 µs ticks) from a pair of transitions.

Figure 3. Low Time Pulse Measurement Input Mode

For this example, the FIFO Word Count register will be set to 3 and the FIFO Buffer Data register will contain the following three values (counts of 10 µs):

  1. 2000 (0x0000 07D0)
  2. 500 (0x0000 01F4)
  3. 1500 (0x0000 05DC)
Time IntervalCalculationsLow Time Pulse Measurements
12000 counts * 10 µsec = 2000 µsec = 20.0 msec20.0 msec
2500 counts * 10 µsec = 5000 µsec = 5.0 msec5.0 msec
31500 counts * 10 µsec = 15000 µsec = 15.0 msec15.0 msec

Transition Timestamps

There are three Transition Timestamp Measurements features available - Transition Timestamp for All Rising Edges, Transition Timestamp for All Falling Edges, and Transition Timestamp for All Edges. The Transition Timestamps Measurement data are store in the FIFO Buffer.

Transition Timestamp of All Rising Edges

In this mode, the data in the FIFO buffer is the Rising Edge Timestamp. The timestamp is a 32-bit counter that is incremented at the rate of 100 kHz (in other words, counter is incremented every 10 µsec). The timestamp is can be reset by the application at any time.

Figure 4. Transition Timestamp of All Rising Edges Input Mode

For this example, the FIFO Word Count register will be set to 4 and the FIFO Buffer Data register will contain the following four values (counts of 10 µs):

  1. 1000 (0x0000 03E8)
  2. 4500 (0x0000 1194)
  3. 7500 (0x0000 1D4C)
  4. 10000 (0x000 2710)

This data can be interpreted as follows:

Time IntervalCalculationsTime Between Rising Edges
1 to 24500 counts * 10 µsec = 35000 µsec = 35.0 msec35.0 msec
2 to 37500 counts * 10 µsec = 30000 µsec = 30.0 msec30.0 msec
3 to 410000 counts * 10 µsec = 25000 µsec = 25.0 msec25.0 msec
Transition Timestamp of All Falling Edges

In this mode, the data in the FIFO buffer is the Falling Edge Timestamp. The timestamp is a 32-bit counter that is incremented at the rate of 100 kHz (in other words, counter is incremented every 10 µsec). The timestamp is can be reset by the application at any time.

Figure 5. Transition Timestamp of All Falling Edges Input Mode

For this example, the FIFO Word Count register will be set to 3 and the FIFO Buffer Data register will contain the following three values (counts of 10 µs):

  1. 2500 (0x0000 09C4)
  2. 7000 (0x0000 1B58)
  3. 8500 (0x0000 2134)

This data can be interpreted as follows:

Time IntervalCalculationsTime Between Falling Edges
1 to 27000 - 2500 = 4500 counts = 4500 * 10 µsec = 45000 µsec = 45.0 msec45.0 msec
2 to 38500 - 7000 = 1500 counts = 1500 * 10 µsec = 15000 µsec = 15.0 msec15.0 msec
Transition Timestamp of All Edges

In this mode, the data in the FIFO buffer is the Rising and Falling Edge Timestamp. The timestamp is a 32-bit counter that is incremented at the rate of 100 kHz (in other words, counter is incremented every 10 µsec). The timestamp is can be reset by the application at any time.

Figure 6. Transition Timestamp for All Edges Input Mode

For this example, the FIFO Word Count register will be set to 7 and the FIFO Buffer Data register will contain the following seven values (counts of 10 µs):

  1. 1000 (0x0000 03E8)
  2. 2500 (0x0000 09C4)
  3. 4500 (0x0000 1194)
  4. 7000 (0x0000 1B58)
  5. 7500 (0x0000 1D4C)
  6. 8500 (0x0000 2134)
  7. 10000 (0x000 2710)

This data can be interpreted as follows:

Time IntervalCalculationsTime Between Edges
1 to 22500 - 1000 = 1500 counts = 1500 * 10 µsec = 15000 µsec = 15.0 msec15.0 msec
2 to 34500 - 2500 = 2000 counts = 2000 * 10 µsec = 20000 µsec = 20.0 msec20.0 msec
3 to 47000 - 4500 = 2500 counts = 2500 * 10 µsec = 25000 µsec = 25.0 msec25.0 msec
4 to 57500 - 7000 = 500 counts = 500 * 10 µsec = 5000 µsec = 5.0 msec5.0 msec
5 to 68500 - 7500 = 1000 counts = 1000 * 10 µsec = 10000 µsec = 10.0 msec10.0 msec
6 to 710000 - 8500 = 1500 counts = 1500 * 10 µsec = 15000 µsec = 15.0 msec15.0 msec

Transition Counter

There are three Transition Counter features available - Rising Edge Transition Counter, Falling Edge Transition Counter and All Edge Transition Counter.

Rising Edges Transition Counter

In this mode, the count of the number of Rising Edges is recorded. The counter is a 32-bit counter. The counter is can be reset by the application at any time.

Figure 7. Rising Edges Transition Counter Input Mode

For this example, the Transition Count register will be set to 4.

Falling Edges Transition Counter

In this mode, the count of the number of Falling Edges is recorded. The counter is a 32-bit counter. The counter is can be reset by the application at any time

Figure 8. Falling Edges Transition Counter Input Mode

For this example, the Transition Count register will be set to 3.

All Edges Transition Counter

In this mode, the count of the number of Rising and Falling Edges is recorded. The counter is a 32-bit counter. The counter is can be reset by the application at any time.

Figure 9. All Edges Transition Counter Input Mode

For this example, the Transition Count register will be set to 7.

Period Measurement

In this input mode, the data in the FIFO buffer is the measurement for each rising edge transition to the next rising edge transition. Timing measurements record the time interval (in 10 µs ticks).

Figure 10. Period Measurement Input Mode

For this example, the FIFO Word Count register will be set to 4 and the FIFO Buffer Data register will contain the following three values (counts of 10 µs):

  1. 2000 (0x0000 07D0)
  2. 2000 (0x0000 07D0)
  3. 2000 (0x0000 07D0)
  4. 2000 (0x0000 07D0)
Time IntervalCalculationsPeriod Measurements
12000 counts * 10 µsec = 20000 µsec = 20.0 msec20.0 msec
22000 counts * 10 µsec = 20000 µsec = 20.0 msec20.0 msec
32000 counts * 10 µsec = 20000 µsec = 20.0 msec20.0 msec
42000 counts * 10 µsec = 20000 µsec = 20.0 msec20.0 msec

Frequency Measurement

In this input mode, the data in the FIFO buffer is the number of rising edge transitions for the programmable time interval programmed in the Frequency Measurement Period register.

For this example, set the Frequency Measurement Period register = 4000 (4000 * 10 µs = 40000 µs = 40 msec)

Figure 11. Frequency Measurement Input Mode

For this example, the FIFO Word Count register will be set to 3 and the FIFO Buffer Data register will contain the following three values (number of rising edges:

  1. 2 (0x0000 0002)
  2. 2 (0x0000 0002)
  3. 2 (0x0000 0002)
Time IntervalCalculationsFrequency Measurements
12 counts/40 msec = 2 counts/0.04 seconds = 50 Hz50 Hz
22 counts/40 msec = 2 counts/0.04 seconds = 50 Hz50 Hz
32 counts/40 msec = 2 counts/0.04 seconds = 50 Hz50 Hz

Output Modes

There are three Enhanced Output Functionality modes: two PWM outputs and one Pattern Generator Output mode.

PWM Output

There are two PWM output modes, PWM Continuous and PWM Burst. The PWM timing is very precise with low jitter. In PWM Output mode, the Mode Select register is set to either “PWM Continuous or PWM Burst”. The value written to the PWM Period register specifies the period to output the PWM signal, the value written to the PWM Pulse Width register specifies the time for the “ON” state, and the value written to the PWM Output Polarity register specifies the initial edge of the output. For PWM Burst mode, the PWM Number of Cycles register specifies the number of cycles to output the signal. Note, there may be an initial “OFF” state level delay based on the Period time before the initial pulse is output.

PWM Continuous

Figure 12 and Figure 13 illustrate the PWM Continuous Output signal, one configured with PWM Output Polarity = Positive (0) and one configured with PWM Output Polarity = Negative (1). The configured PWM output is enabled and disabled with the Enable Measurements/Outputs register.

Figure 12. PWM Continuous Output (PWM Period = 15 msec, PWM Pulse Width = 10 msec, PWM Output Polarity = Positive (0))

Figure 13. PWM Continuous Output (PWM Period = 15 msec, PWM Pulse Width = 10 msec, PWM Output Polarity = Negative (1))

PWM Burst

Figure 14 and Figure 15 illustrate the PWM Burst Output signal with the PWM Number of Cycles = 5 pulses, one configured with PWM Output Polarity = Positive (0) and one configured with PWM Output Polarity = Negative (1). The configured PWM output is enabled with the Enable Measurements/Outputs register. Once the number of pulses that were requested is outputted, the value in the Enable Measurements/Outputs register will be reset (self-clearing) to allow for the output to be re-enabled.

Figure 14. PWM Burst Output (PWM Period = 15 msec, PWM Pulse Width = 10 msec, PWM Output Polarity = Positive (0), PWM Number of Cycles = 5)

Figure 15. PWM Burst Output (PWM Period = 15 msec, PWM Pulse Width = 10 msec, PWM Output Polarity = Negative (1), PWM Number of Cycles = 5)

Pattern Generator

For the Pattern Generator mode, there is 64K block of unsigned 32-bit words allocated to specify the data pattern for the output channels. The data in each 32-bit word is bit-mapped per channel. The Pattern RAM Start Address and Pattern RAM End Address registers specify the starting and ending address in the 64K block to use as the data to output for each channel configured for Pattern Generator mode. The Pattern RAM Period register specifies the pattern rate. The Pattern RAM Control and Pattern RAM Number of Cycles control the Pattern Generator output - Continuous, Burst with a specified number of cycles, Pause, or External Trigger from input from Channel 1.

Note

When any channel is configured for External Trigger Pattern Generator mode, Channel 1 MUST be set as an input.

Figure 16 illustrates the output of the 24 channels for the DT4 module all configured in Pattern Generator mode

Figure 16. Pattern Generator

REGISTER DESCRIPTIONS

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

Enhanced Input/Output Functionality Registers

The onboard Discrete I/O option provides enhanced input and output mode functionality. The Mode Select and Enable Output/Measurement registers are general control registers for the different enhanced input and output modes.

Mode Select
Function:Configures the Enhanced Functionality Modes to apply to the channel.
Type:unsigned binary word (32-bit)
Data Range:See table
Read/Write:R/W
Initialized Value:0
Operational Settings:It is important that the channel is correctly configured to either input or output in the Input/Output Format registers to correspond to the Enhanced Functionality Mode selected. Setting a 0 to this register will configure that channel to normal operation.
Mode Select Value (Decimal)Mode Select Value (Hexadecimal)Description
00x0000 0000Enhanced Functionality Disabled
Input Enhanced Functionality Mode
10x0000 0001High Time Pulse Measurements
20x0000 0002Low Time Pulse Measurements
30x0000 0003Transition Timestamp of All Rising Edges
40x0000 0004Transition Timestamp of All Falling Edges
50x0000 0005Transition Timestamp of All Edges
60x0000 0006Rising Edges Transition Counter
70x0000 0007Falling Edges Transition Counter
80x0000 0008All Edges Transition Counter
90x0000 0009Period Measurement
100x0000 000AFrequency Measurement
Output Enhanced Functionality Mode
320x0000 0020PWM Continuous
330x0000 0021PWM Burst
340x0000 0022Pattern Generator
Enable Measurements/Outputs
Function:Enables/starts the measurements or outputs based on the Mode Select for the channel.
Type:unsigned binary word (32-bit)
Data Range:0x0000 0000 to 0x00FF FFFF
Read/Write:R/W
Initialized Value:0
Operational Settings:Setting the bit for the associated channel to a 1 will start the measurement or output depending on the Mode Select configuration for that channel. Setting the bit for the associated channel to 0 will stop the measurements/outputs.
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
00000000Ch24Ch23Ch22Ch21Ch20Ch19Ch18Ch17
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
Ch16Ch15Ch14Ch13Ch12Ch11Ch10Ch9Ch8Ch7Ch6Ch5Ch4Ch3Ch2Ch1

Input Mode Registers

After configuring the Mode Select register, write a 1 to the Reset Timer/Counter register resets the channel’s timestamp and counter used for input modes. Write a 1 to the Enable Measurements/Outputs register to begin the measurement of the input signal. Write a 0 to the Enable Measurements/Outputs register to stop the measurement of the input signal. The data can be read either while the measurements are being made on input signals or after stopping the measurements.

Reset Timer/Counter
Function:Resets the measurement timestamp and counter for the channel.
Type:unsigned binary word (32-bit)
Data Range:0x0000 0000 to 0x00FF FFFF
Read/Write:W
Initialized Value:0
Operational Settings:Setting the bit for the associated channel to a 1 will: reset the timestamp used for the Pulse Measurements mode (1-2), Transition Timestamp mode (3-5), and Period Measurement mode (9) and Frequency Measurement mode (10) reset the counter used for Transition Counter mode (6-8)
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
00000000Ch24Ch23Ch22Ch21Ch20Ch19Ch18Ch17
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
Ch16Ch15Ch14Ch13Ch12Ch11Ch10Ch9Ch8Ch7Ch6Ch5Ch4Ch3Ch2Ch1
FIFO Registers

The FIFO registers are used for the following input modes:

  • Pulse Measurements mode (1-2)
  • Transition Timestamp mode (3-5)
  • Period Measurement mode (9)
  • Frequency Measurement mode (10)
FIFO Buffer Data
Function:The data stored in the FIFO Buffer Data is dependent on the input mode.
Type:unsigned binary word (32-bit)
Data Range:0x0000 0000 to 0xFFFF FFFF
Read/Write:R
Initialized Value:N/A
Operational Settings:Refer to examples in Input Modes.
FIFO Word Count
Function:This is a counter that reports the number of 32-bit words stored in the FIFO buffer.
Type:unsigned binary word (32-bit)
Data Range:0 - 255 (0x0000 0000 to 0x0000 00FF)
Read/Write:R
Initialized Value:0
Operational Settings:Every time a read operation is made from the FIFO Buffer Data register, the value in the FIFO Word Count register will be decremented by one. The maximum number of words that can be stored in the FIFO is 255.
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
0000000000000000
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
0000000DDDDDDDDD
Clear FIFO
Function:Clears FIFO by resetting the FIFO Word Count register.
Type:unsigned binary word (32-bit)
Data Range:0 or 1
Read/Write:W
Initialized Value:N/A
Operational Settings:Write a 1 to resets the Words in FIFO to zero; Clear FIFO register does not clear data in the buffer. A read to the buffer data will give “aged” data.
BitDescription
D31:D1Reserved. Set to 0
D0Set to 1 to reset the FIFO Word Count value to zero.
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
0000000000000000
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
000000000000000D
FIFO Status
Function:Sets the corresponding bit associated with the FIFO status type; there is a separate register for each channel.
Type:unsigned binary word (32-bit)
Data Range:See table
Read/Write:R
Initialized Value:0
BitNameDescription
D31:D4ReservedSet to 0
D3EmptySet to 1 when FIFO Word Count = 0
D2Almost EmptySet to 1 when FIFO Word Count <= 63 (25%)
D1Almost FullSet to 1 when FIFO Word Count >= 191 (75%)
D0FullSet to 1 when FIFO Word Count = 255
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
0000000000000000
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
000000000000DDDD
Transition Count Registers

The Transition Count register are used for the following input modes:

  • Transition Counter mode (6-8)
Transition Count
Function:Contains the count of the transitions depending on the configuration in the Mode Select register - Rising Edges, Falling Edges or All Edges.
Type:unsigned binary word (32-bit)
Data Range:0x0000 0000 to 0xFFFF FFFF
Read/Write:R
Initialized Value:0
Operational Settings:Refer to examples in Transition Counter.
Frequency Measurement Registers

For the Frequency Measurement mode, the period to perform the frequency measurements must be specified in the Frequency Measurement Period register.

Frequency Measurement Period
Function:When the Mode Select register is programmed for Frequency Measurement mode (10), the value in the Frequency Measurement Period is used as the time interval for counting the number of rising edge transitions within that interval.
Type:unsigned binary word (32-bit)
Data Range:0x0 to 0xFFFF FFFF
Read/Write:R/W
Initialized Value:0
Operational Settings:Set the Frequency Measurement Period (LSB = 10 µs). Refer to examples in Frequency Measurement.

Output Modes Registers

After configuring the Mode Select register, write a 1 to the Enable Measurements/Outputs register to outputting the signal. Write a 0 to the Enable Measurements/Outputs register to stop the output signal.

PWM Registers

The PWM Period, PWM Pulse Width and PWM Output Polarity registers configure the PWM output signal. When the Mode Select register is configured for PWM Burst mode, the PWM Number of Cycles register is used to specify the number of cycles to repeat for the burst.

PWM Period
Function:When the Mode Select register is programmed for PWM Continuous or PWM Burst mode (32-33), the value in the PWM Period is used as the time interval for outputting the PWM signal.
Type:unsigned binary word (32-bit)
Data Range:0x0000 0001 to 0xFFFF FFFF
Read/Write:R/W
Initialized Value:0
Operational Settings:Set the PWM Period (LSB = 10 µs). The PWM Period must be greater than the value set in the PWM Pulse Width register. Refer to examples in PWM Output.
PWM Pulse Width
Function:When the Mode Select register is programmed for PWM Continuous or PWM Burst mode (32-33), the value in the PWM Pulse Width is used as the time interval of the “ON” state for outputting the PWM signal.
Type:unsigned binary word (32-bit)
Data Range:0x0 to 0xFFFF FFFF
Read/Write:R/W
Initialized Value:0
Operational Settings:Set the PWM Pulse Width (LSB = 10 µs). The PWM Pulse Width must be less than the value set in the PWM Pulse Width register. Refer to examples in PWM Output.
PWM Output Polarity
Function:When the Mode Select register is programmed for PWM Continuous or PWM Burst mode (32-33), the value in the PWM Output Polarity is used to specify whether the PWM output signal starts with a rising edge (Positive (0)), or a falling edge (Negative (1)).
Type:unsigned binary word (32-bit)
Data Range:0x0 to 0x00FF FFFF
Read/Write:R/W
Initialized Value:0
Operational Settings:The PWM Output Polarity register is used to program the starting edge of the PWM Pulse Period (rising or falling). When the PWM output Polarity is set to Positive (0), the output will start with a rising edge, when it's set to Negative (1), the output will start with a falling edge. The default is Positive (0), which is set when the PWM Polarity bit is 0. Refer to examples in PWM Output.
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
00000000Ch24Ch23Ch22Ch21Ch20Ch19Ch18Ch17
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
Ch16Ch15Ch14Ch13Ch12Ch11Ch10Ch9Ch8Ch7Ch6Ch5Ch4Ch3Ch2Ch1
PWM Number of Cycles
Function:When the Mode Select register is programmed for PWM Burst mode (33), the value in the PWM Number of Cycles is used to specify the number of times to repeat the PWM output signal.
Type:unsigned binary word (32-bit)
Data Range:0x0000 0001 to 0xFFFF FFFF
Read/Write:R/W
Initialized Value:0
Operational Settings:Set the number of times to output the PWM signal. Refer to examples in PWM Output.
Pattern Generator Registers

The Pattern RAM registers are a 64K block of unsigned 32-bit words allocated to specify the data pattern for the output channels. The Pattern RAM Start Address, Pattern RAM End Address, Pattern RAM Period and Pattern RAM Control registers configure the Pattern Generator output signals. When the Pattern RAM Control register is configured for Burst, the Pattern RAM Number of Cycles specify the number of cycles to repeat the pattern for the burst.

Pattern RAM
Function:Pattern Generator Memory Block from 0x40000 to 0x7FFFC.
Type:unsigned binary word (32-bit)
Address Range:0x0000 0000 to 0x00FF FFFF
Read/Write: R/W
Initialized Value:0
Operational Settings:64K block of unsigned 32-bit words. The data in each 32-bit word is bit-mapped per channel.
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
00000000Ch24Ch23Ch22Ch21Ch20Ch19Ch18Ch17
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
Ch16Ch15Ch14Ch13Ch12Ch11Ch10Ch9Ch8Ch7Ch6Ch5Ch4Ch3Ch2Ch1
Pattern RAM Start Address
Function:When the Mode Select register is programmed for Pattern Generator mode (34), the Pattern RAM Start Address register specifies the starting address within the Pattern RAM block registers to use for the output.
Type:unsigned binary word (32-bit)
Data Range:0x0004 0000 to 0x0007 FFFC
Read/Write:R/W
Initialized Value:0
Operational Settings:The value in the Pattern RAM Start Address must be LESS than the value in the Pattern RAM End Address.
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
0000000000000DDD
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
DDDDDDDDDDDDDDDD
Pattern RAM End Address
Function:When the Mode Select register is programmed for Pattern Generator mode (34), the Pattern RAM End Address register specifies the end address within the Pattern RAM block registers to use for the output.
Type:unsigned binary word (32-bit)
Data Range:0x40000 to 0x7FFFC
Read/Write:R/W
Initialized Value:0
Operational Settings:The value in the Pattern RAM End Address must be GREATER than the value in the Pattern RAM Start Address.
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
0000000000000DDD
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
DDDDDDDDDDDDDDDD
Pattern RAM Period
Function:When the Mode Select register is programmed for Pattern Generator mode (34), the value in the Pattern RAM Period is used as the time interval for outputting the Pattern Generator signals.
Type:unsigned binary word (32-bit)
Data Range:0x0000 0001 to 0xFFFF FFFF
Read/Write:R/W
Initialized Value:0
Operational Settings:Set the Pattern RAM Period (LSB = 10 µs).
Pattern RAM Control
Function:When the Mode Select register is programmed for Pattern Generator mode (34), the value in the Pattern RAM Control is used to control the outputting of the Pattern Generator signals.
Type:unsigned binary word (32-bit)
Data Range:See table
Read/Write:R/W
Initialized Value:0
Operational Settings:Configures the Pattern Generator for Continuous, Burst with a specified number of cycles, Pause, or External Trigger from input from Channel 1.

Note

When any channel is configured for External Trigger Pattern Generator mode, Channel 1 MUST be set as an input.

BitsDescription
D31-D5Reserved. Set to 0
D4Falling Edge External Trigger - Channel 1 used as the input for the trigger
D3Rising Edge External Trigger - Channel 1 used as the input for the trigger
D2Pause
D1Burst Mode - value in Pattern RAM Number of Cycles register defines number of cycles to output
D0Enable Pattern Generator
ValuesDescription
0x0000Disable Pattern Generator, Continuous Mode, No External Trigger
0x0001Enable Pattern Generator, Continuous Mode, No External Trigger
0x0002Disable Pattern Generator, Burst Mode, No External Trigger
0x0003Enable Pattern Generator, Burst Mode, No External Trigger
0x0005Enable Pattern Generator, Continuous Mode, Pause, No External Trigger
0x0007Enable Pattern Generator, Burst Mode, Pause, No External Trigger
0x0008Disable Pattern Generator, Continuous Mode, Rising External Trigger
0x0009Enable Pattern Generator, Continuous Mode, Rising External Trigger
0x000ADisable Pattern Generator, Burst Mode, Rising External Trigger
0x000BEnable Pattern Generator, Burst Mode, Rising External Trigger
0x000DEnable Pattern Generator, Continuous Mode, Pause, Rising External Trigger
0x000FEnable Pattern Generator, Burst Mode, Pause, Rising External Trigger
0x1000Disable Pattern Generator, Continuous Mode, Falling External Trigger
0x1001Enable Pattern Generator, Continuous Mode, Falling External Trigger
0x1002Disable Pattern Generator, Burst Mode, Falling External Trigger
0x1003Enable Pattern Generator, Burst Mode, Falling External Trigger
0x1005Enable Pattern Generator, Continuous Mode, Pause, Falling External Trigger
0x1007Enable Pattern Generator, Burst Mode, Pause, Falling External Trigger
0x0004, 0x0006, 0x000C, 0x000E, 0x1004, 0x1006, 0x1008-0x100FInvalid
D31D30D29D28D27D26D25D24D23D22D21D20D19D18D17D16
0000000000000000
D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
000000000000DDDD
Pattern RAM Number of Cycles
Function:When the Mode Select register is programmed for Pattern Generator mode (34) and the Pattern RAM Control register is set for Burst mode, the value in the Pattern RAM Number of Cycles is used to specify the number of times to repeat the pattern output signal.
Type:unsigned binary word (32-bit)
Data Range:0x0000 0001 to 0xFFFF FFFF
Read/Write:R/W
Initialized Value:0
Operational Settings:Set the number of times to output the pattern.

FUNCTION REGISTER MAP

Key:

Configuration/Control
Status

*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’).

MODE SELECT REGISTERS
OFFSETREGISTER NAMEACCESSOFFSETREGISTER NAMEACCESS
0x300CMode Select Ch 1R/W
0x308CMode Select Ch 2R/W
0x310CMode Select Ch 3R/W
0x318CMode Select Ch 4R/W
0x320CMode Select Ch 5R/W
0x328CMode Select Ch 6R/W
0x330CMode Select Ch 7R/W
0x338CMode Select Ch 8R/W
0x340CMode Select Ch 9R/W
0x348CMode Select Ch 10R/W
0x350CMode Select Ch 11R/W
0x358CMode Select Ch 12R/W
0x360CMode Select Ch 13R/W
0x368CMode Select Ch 14R/W
0x370CMode Select Ch 15R/W
0x378CMode Select Ch 16R/W
0x380CMode Select Ch 17R/W
0x388CMode Select Ch 18R/W
0x390CMode Select Ch 19R/W
0x398CMode Select Ch 20R/W
0x3A0CMode Select Ch 21R/W
0x3A8CMode Select Ch 22R/W
0x3B0CMode Select Ch 23R/W
0x3B8CMode Select Ch 24R/W
0x2000Enable Measurements/OutputsR/W
INPUT MODES REGISTER
OFFSETREGISTER NAMEACCESSOFFSETREGISTER NAMEACCESS
0x2004Reset Timer/CounterW
FIFO REGISTERS
OFFSETREGISTER NAMEACCESSOFFSETREGISTER NAMEACCESS
0x3000FIFO Buffer Data Ch 1R0x3004FIFO Word Count Ch 1R
0x3080FIFO Buffer Data Ch 2R0x3084FIFO Word Count Ch 2R
0x3100FIFO Buffer Data Ch 3R0x3104FIFO Word Count Ch 3R
0x3180FIFO Buffer Data Ch 4R0x3184FIFO Word Count Ch 4R
0x3200FIFO Buffer Data Ch 5R0x3204FIFO Word Count Ch 5R
0x3280FIFO Buffer Data Ch 6R0x3284FIFO Word Count Ch 6R
0x3300FIFO Buffer Data Ch 7R0x3304FIFO Word Count Ch 7R
0x3380FIFO Buffer Data Ch 8R0x3384FIFO Word Count Ch 8R
0x3400FIFO Buffer Data Ch 9R0x3404FIFO Word Count Ch 9R
0x3480FIFO Buffer Data Ch 10R0x3484FIFO Word Count Ch 10R
0x3500FIFO Buffer Data Ch 11R0x3504FIFO Word Count Ch 11R
0x3580FIFO Buffer Data Ch 12R0x3584FIFO Word Count Ch 12R
0x3600FIFO Buffer Data Ch 13R0x3604FIFO Word Count Ch 13R
0x3680FIFO Buffer Data Ch 14R0x3684FIFO Word Count Ch 14R
0x3700FIFO Buffer Data Ch 15R0x3704FIFO Word Count Ch 15R
0x3780FIFO Buffer Data Ch 16R0x3784FIFO Word Count Ch 16R
0x3800FIFO Buffer Data Ch 17R0x3804FIFO Word Count Ch 17R
0x3880FIFO Buffer Data Ch 18R0x3884FIFO Word Count Ch 18R
0x3900FIFO Buffer Data Ch 19R0x3904FIFO Word Count Ch 19R
0x3980FIFO Buffer Data Ch 20R0x3984FIFO Word Count Ch 20R
0x3A00FIFO Buffer Data Ch 21R0x3A04FIFO Word Count Ch 21R
0x3A80FIFO Buffer Data Ch 22R0x3A84FIFO Word Count Ch 22R
0x3B00FIFO Buffer Data Ch 23R0x3B04FIFO Word Count Ch 23R
0x3B80FIFO Buffer Data Ch 24R0x3B84FIFO Word Count Ch 24R
0x3008FIFO Status Ch 1R
0x3088FIFO Status Ch 2R
0x3108FIFO Status Ch 3R
0x3188FIFO Status Ch 4R
0x3208FIFO Status Ch 5R
0x3288FIFO Status Ch 6R
0x3308FIFO Status Ch 7R
0x3388FIFO Status Ch 8R
0x3408FIFO Status Ch 9R
0x3488FIFO Status Ch 10R
0x3508FIFO Status Ch 11R
0x3588FIFO Status Ch 12R
0x3608FIFO Status Ch 13R
0x3688FIFO Status Ch 14R
0x3708FIFO Status Ch 15R
0x3788FIFO Status Ch 16R
0x3808FIFO Status Ch 17R
0x3888FIFO Status Ch 18R
0x3908FIFO Status Ch 19R
0x3988FIFO Status Ch 20R
0x3A08FIFO Status Ch 21R
0x3A88FIFO Status Ch 22R
0x3B08FIFO Status Ch 23R
0x3B88FIFO Status Ch 24R
0x2008Reset FIFOW
TRANSITION COUNT REGISTERS
OFFSETREGISTER NAMEACCESSOFFSETREGISTER NAMEACCESS
0x3000Transition Count Ch 1R
0x3080Transition Count Ch 2R
0x3100Transition Count Ch 3R
0x3180Transition Count Ch 4R
0x3200Transition Count Ch 5R
0x3280Transition Count Ch 6R
0x3300Transition Count Ch 7R
0x3380Transition Count Ch 8R
0x3400Transition Count Ch 9R
0x3480Transition Count Ch 10R
0x3500Transition Count Ch 11R
0x3580Transition Count Ch 12R
0x3600Transition Count Ch 13R
0x3680Transition Count Ch 14R
0x3700Transition Count Ch 15R
0x3780Transition Count Ch 16R
0x3800Transition Count Ch 17R
0x3880Transition Count Ch 18R
0x3900Transition Count Ch 19R
0x3980Transition Count Ch 20R
0x3A00Transition Count Ch 21R
0x3A80Transition Count Ch 22R
0x3B00Transition Count Ch 23R
0x3B80Transition Count Ch 24R
FREQUENCY MEASUREMENT REGISTERS
NOTE: Base Address - 0x9010 C000
OFFSETREGISTER NAMEACCESSOFFSETREGISTER NAMEACCESS
0x3014Frequency Measurement Period Ch 1R/W
0x3094Frequency Measurement Period Ch 2R/W
0x3114Frequency Measurement Period Ch 3R/W
0x3194Frequency Measurement Period Ch 4R/W
0x3214Frequency Measurement Period Ch 5R/W
0x3294Frequency Measurement Period Ch 6R/W
0x3314Frequency Measurement Period Ch 7R/W
0x3394Frequency Measurement Period Ch 8R/W
0x3414Frequency Measurement Period Ch 9R/W
0x3494Frequency Measurement Period Ch 10R/W
0x3514Frequency Measurement Period Ch 11R/W
0x3594Frequency Measurement Period Ch 12R/W
0x3614Frequency Measurement Period Ch 13R/W
0x3694Frequency Measurement Period Ch 14R/W
0x3714Frequency Measurement Period Ch 15R/W
0x3794Frequency Measurement Period Ch 16R/W
0x3814Frequency Measurement Period Ch 17R/W
0x3894Frequency Measurement Period Ch 18R/W
0x3914Frequency Measurement Period Ch 19R/W
0x3994Frequency Measurement Period Ch 20R/W
0x3A14Frequency Measurement Period Ch 21R/W
0x3A94Frequency Measurement Period Ch 22R/W
0x3B14Frequency Measurement Period Ch 23R/W
0x3B94Frequency Measurement Period Ch 24R/W
PWM REGISTERS
OFFSETREGISTER NAMEACCESSOFFSETREGISTER NAMEACCESS
0x3014PWM Period Ch 1R/W0x3010PWM Pulse Width Ch 1R/W
0x3094PWM Period Ch 2R/W0x3090PWM Pulse Width Ch 2R/W
0x3114PWM Period Ch 3R/W0x3110PWM Pulse Width Ch 3R/W
0x3194PWM Period Ch 4R/W0x3190PWM Pulse Width Ch 4R/W
0x3214PWM Period Ch 5R/W0x3210PWM Pulse Width Ch 5R/W
0x3294PWM Period Ch 6R/W0x3290PWM Pulse Width Ch 6R/W
0x3314PWM Period Ch 7R/W0x3310PWM Pulse Width Ch 7R/W
0x3394PWM Period Ch 8R/W0x3390PWM Pulse Width Ch 8R/W
0x3414PWM Period Ch 9R/W0x3410PWM Pulse Width Ch 9R/W
0x3494PWM Period Ch 10R/W0x3490PWM Pulse Width Ch 10R/W
0x3514PWM Period Ch 11R/W0x3510PWM Pulse Width Ch 11R/W
0x3594PWM Period Ch 12R/W0x3590PWM Pulse Width Ch 12R/W
0x3614PWM Period Ch 13R/W0x3610PWM Pulse Width Ch 13R/W
0x3694PWM Period Ch 14R/W0x3690PWM Pulse Width Ch 14R/W
0x3714PWM Period Ch 15R/W0x3710PWM Pulse Width Ch 15R/W
0x3794PWM Period Ch 16R/W0x3790PWM Pulse Width Ch 16R/W
0x3814PWM Period Ch 17R/W0x3810PWM Pulse Width Ch 17R/W
0x3894PWM Period Ch 18R/W0x3890PWM Pulse Width Ch 18R/W
0x3914PWM Period Ch 19R/W0x3910PWM Pulse Width Ch 19R/W
0x3994PWM Period Ch 20R/W0x3990PWM Pulse Width Ch 20R/W
0x3A14PWM Period Ch 21R/W0x3A10PWM Pulse Width Ch 21R/W
0x3A94PWM Period Ch 22R/W0x3A90PWM Pulse Width Ch 22R/W
0x3B14PWM Period Ch 23R/W0x3B10PWM Pulse Width Ch 23R/W
0x3B94PWM Period Ch 24R/W0x3B90PWM Pulse Width Ch 24R/W
0x3018PWM Number of Cycles Ch 1R/W
0x3098PWM Number of Cycles Ch 2R/W
0x3118PWM Number of Cycles Ch 3R/W
0x3198PWM Number of Cycles Ch 4R/W
0x3218PWM Number of Cycles Ch 5R/W
0x3298PWM Number of Cycles Ch 6R/W
0x3318PWM Number of Cycles Ch 7R/W
0x3398PWM Number of Cycles Ch 8R/W
0x3418PWM Number of Cycles Ch 9R/W
0x3498PWM Number of Cycles Ch 10R/W
0x3518PWM Number of Cycles Ch 11R/W
0x3598PWM Number of Cycles Ch 12R/W
0x3618PWM Number of Cycles Ch 13R/W
0x3698PWM Number of Cycles Ch 14R/W
0x3718PWM Number of Cycles Ch 15R/W
0x3798PWM Number of Cycles Ch 16R/W
0x3818PWM Number of Cycles Ch 17R/W
0x3898PWM Number of Cycles Ch 18R/W
0x3918PWM Number of Cycles Ch 19R/W
0x3998PWM Number of Cycles Ch 20R/W
0x3A18PWM Number of Cycles Ch 21R/W
0x3A98PWM Number of Cycles Ch 22R/W
0x3B18PWM Number of Cycles Ch 23R/W
0x3B98PWM Number of Cycles Ch 24R/W
0x200CPWM Output PolarityR/W
PATTERN GENERATOR REGISTERS
OFFSETREGISTER NAMEACCESSOFFSETREGISTER NAMEACCESS
0x0004_0000 to 0x0007_FFFCPattern RAMR/W
0x2010Pattern RAM PeriodR/W0x2014Pattern RAM Start AddressR/W
0x2018Pattern RAM End AddressR/W0x201CPattern RAM ControlR/W
0x2020Pattern RAM Number of CyclesR/W

REVISION HISTORY

Module Manual - Enhanced IO Functionality 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.