End of trail Clocks Analog Inputs Analog Outputs Digital Inputs Digital Outputs Encoder Inputs PWM Outputs Other Inputs Other Outputs Interrupts Watchdog Board-Specific Options Properties Targets See Also navigation bar

myRIO 1900

The myRIO 1900 is a National Instrument embedded device with real-time processing capability and a rich set of I/O. The QUARC Target associated with the myRIO 1900 is the QUARC Linux ARMv7 Target. The myRIO 1900 HIL card may only be used with QUARC when this target is selected. The following characteristics (using the default FPGA personality from National Instrument) are of particular interest when using the myRIO 1900 with QUARC:

The QUARC driver name for this card is ni_myrio_1900.

To select the myRIO 1900 HIL board, select the QUARC ni_myrio_1900 board type from the drop-down list on the Main tab of the HIL Initialize block.

Warning

Note that the Linux ARMv7 target must be selected to use the myRIO 1900 board.

Communications

The communications ports provided on the myRIO 1900 HIL board can be utilized through the QUARC Communications blockset and the Quanser Stream API (see QUARC Communications Protocols).

For SPI communications, a sample URI for communications would be:

spi://localhost:0?baud='1000000',polarity='off',phase='off',lsb='off',frame='0'

where the frame option selects the SPI SS line to frame the SPI bus transaction (0 to 39 inclusive, except 5 to 7 and 25 to 27).

For I2C communications, a sample URI for communications would be:

i2c://localhost:0?baud='400000',address=0x69

where the address option specifies the I2C slave address.

For serial communications, a sample URI for communications would be:

serial://localhost:0?baud='115200',word='8',parity='none',stop='1'

where the options are standard serial port options 8-N-1 configuration on port 0.

Clocks

There are currently no configuration options for the myRIO 1900 clocks.

Analog Inputs

The myRIO 1900 supports 12 analog inputs with 12-bit resolution. Hence, analog input channel numbers range from 0 to 11.

The valid input ranges are 0 to 5V for channels 0 to 7, ±10V for channels 8 to 9, and ±2.5V for channels 10 to 11 (which are the audio input left and right, respectively).

Analog Outputs

The myRIO 1900 supports 8 analog output with 12-bit resolution. Hence, analog output channel numbers range from 0 to 7.

The valid output ranges are 0 to 5V for channels 0 to 3, ±10V for channels 4 to 5, and ±2.5V for channels 6 to 7 (which are the audio output left and right, respectively).

In order to have analog outputs set to a particular voltage when the model is loaded or unloaded, the analog outputs must be configured on the HIL Initialize block's Analog Outputs tab. Set the Analog output channels field to all the analog output channels that will be used on the board for the current diagram. For example, enter 1:3 to indicate channels 1 through 3. Specify [0, 2, 7] to indicate channels 0, 2 and 7.

Digital Inputs

The myRIO 1900 supports 40 bidirectional digital I/O lines and one special digital input lines. Hence digital input channel numbers range from 0 to 40. Channel 40 represents the ONBD_BUT0.

A bidirectional digital I/O line cannobe be used as an input and output at the same time.

Since the digital I/O lines may be individually programmed as inputs or outputs, all the channels which will be used for digital inputs should be configured on the HIL Initialize block's Digital Inputs tab. Set the Digital input channels field to all the digital I/O channels that will be used as digital inputs on the board for the current diagram. For example, enter 2:5 to designate lines 2 through 5 as digital inputs. Specify [0, 4, 5] to indicate that lines 0, 4 and 5 are to be configured as digital inputs.

Despite the fact that this card has dedicated digital input lines, you still need to configure all the channels which will be used as digital inputs. They should be configured on the HIL Initialize block's Digital Inputs tab. Set the Digital Input channels field to all the digital input channels that will be used for the current diagram. For example, enter 0:3 to designate lines 0 through 3. Specify [0, 2] to indicate that lines 0 and 2 are to be used in the current diagram.

Warning Note that the bidirectional digital I/O lines can also be configured as PWM, encoder, SPI, or I2C I/O. All of these I/O have precedent over the digital input or output functions. Therefore if the pin is configured as one of the other functions, the digital input or output functions would no longer function. Refer to Board-specific options for more details about how to configure all these functions that share the same pin.

Digital Outputs

The myRIO 1900 supports 40 bidirectional digital I/O lines and 4 special digital output lines. Hence digital input channel numbers range from 0 to 43. Channels 40 to 43 represents the ONBD_LED0 to ONBD_LED3.

A bidirectional digital I/O line cannobe be used as an input and output at the same time.

Since the digital I/O lines may be individually programmed as inputs or outputs, all the channels which will be used for digital outputs should be configured on the HIL Initialize block's Digital Outputs tab. Set the Digital output channels field to all the digital I/O channels that will be used as digital outputs on the board for the current diagram. For example, enter 2:5 to designate lines 2 through 5 as digital outputs. Specify [0, 4, 5] to indicate that lines 0, 4 and 5 are to be configured as digital outputs.

Despite the fact that this card has dedicated digital output lines, you still need to configure all the channels which will be used as digital outputs. They should be configured on the HIL Initialize block's Digital Outputs tab. Set the Digital Output channels field to all the digital output channels that will be used for the current diagram. For example, enter 0:3 to designate lines 0 through 3. Specify [0, 2] to indicate that lines 0 and 2 are to be used in the current diagram.

To set the digital output values when the model is loaded or unloaded, set the Initial digital outputs and Final digital outputs to the desired values respectively. If the vectors specified in these fields are shorter than the channel vector, the value of the last element in the vector will be used for the rest of the channels. Hence, a scalar value will apply to all channels specified in the Digital output channels field.

Warning Note that the bidirectional digital I/O lines can also be configured as PWM, encoder, SPI, or I2C I/O. All of these I/O have precedent over the digital input or output functions. Therefore if the pin is configured as one of the other functions, the digital input or output functions would no longer function. Refer to Board-specific options for more details about how to configure all these functions that share the same pin.

Encoder Inputs

The myRIO 1900 supports 4 encoder inputs. Hence encoder channel numbers range from 0 to 3. These channels support non-quadrature as well as 4x quadrature modes.

In order to set the encoder counters to a particular count or to change the default quadrature when the model is loaded, the encoder inputs must be configured on the HIL Initialize block's Encoder Inputs tab. Set the Encoder input channels field to all the encoder channels that will be used on the board for the current diagram. For example, enter 0:1 to indicate channels 0 through 1 are used as encoder inputs.

The myRIO 1900 supports non-quadrature (count and direction) and 4X quadrature. Since the myRIO 1900 has 32-bit counters, valid initial count values range from -2147483648 to +2147483647. If the vectors specified in these fields are shorter than the channel vector, the value of the last element in the vector will be used for the rest of the channels. Hence, a scalar value will apply to all channels specified in the Encoder input channels field.

Warning Note that the bidirectional digital I/O lines can also be configured as PWM, encoder, SPI, or I2C I/O. All of these I/O have precedent over the digital input or output functions. Therefore if the pin is configured as one of the other functions, the digital input or output functions would no longer function. Refer to Board-specific options for more details about how to configure all these functions that share the same pin.

PWM Outputs

The myRIO 1900 driver supports 8 PWM output channels. Hence, PWM output channels range from 0 to 7. Each PWM channel is completely independent and can have its own duty cycle and frequency.

In order to configure the PWM mode or frequency, or to set the value of the PWM outputs when the model is loaded or unloaded, the PWM outputs must be configured on the HIL Initialize block's PWM Outputs tab. Set the PWM output channels field to all the PWM output channels that will be used on the board for the current diagram. For example, enter 0:1 to indicate channels 0 and 1. Specify 1 to indicate channel 1 alone.

The maximum output frequency is 20 MHz. The number of bits of resolution decreases with increasing PWM output frequency.

For a complete description of all the options available, including diagrams, refer to PWM Output Configurations.

Warning Note that the bidirectional digital I/O lines can also be configured as PWM, encoder, SPI, or I2C I/O. All of these I/O have precedent over the digital input or output functions. Therefore if the pin is configured as one of the other functions, the digital input or output functions would no longer function. Refer to Board-specific options for more details about how to configure all these functions that share the same pin.

Other Inputs

The myRIO 1900 supports 3 other inputs. These inputs represent the on board accelerometers of the NI myRIO. The channel numbers for the accelerometers are 4000-4002, representing linear accelerations in the X, Y and Z directions respectively. The units are m/s2.

Other Outputs

The myRIO 1900 card does not support other outputs.

Interrupts

The myRIO 1900 card, or its driver, does not support any interrupt sources.

Watchdog

The myRIO 1900 card does not support a watchdog timer.

Board-Specific Options

The myRIO 1900 has a number of board-specific options to control specialized functionality of the card. These options control which functions to enable on the bidirectional digital I/O lines.

Due to the large number of bidirectional digital I/O lines, it is recommended to use board-specific options dialog to set the board-specific options instead of typing them in manually. The dialog also has option to automatically update the Encoder input channels and PWM output channels in the Encoder Inputs and PWM Outputs tabs, respectively once the particular function is selected for a channel.

Furthermore the board-specific options dialog also has an option to enable National Instrument naming convention (e.g. MSPC_PWM0 instead of PWM Channel 6) for each channel to allow easier channel selection for users who are more accustomed to National Instrument naming conventions.

pwm0_en

Set this option to "yes", "y", or "1" to enable the PWM functionality on bidirectional digital I/O pin number 0.

Similar options exist for the other PWM channels e.g. pwm1_en, pwm2_en, etc.

enc0_en

Set this option to "yes", "y", or "1" to enable the encoder functionality on bidirectional digital I/O pin number 0 and 1.

Similar options exist for the other encoder channels e.g. enc1_en, enc2_en, etc.

enc0_dir

Set this option to "yes", "y", or "1" to reverse the direction of encoder 0.

Similar options exist for the other encoder channels e.g. enc1_dir, enc2_dir, etc.

Properties

The myRIO 1900 card does not support any properties.

Connectors

The myRIO 1900 board has many different I/Os, and some of them even support multiple functions. Refer to the NI myRIO 1900 User Guide for definition of pins. The following shows the channel numbers as well as possible pin functions on the NI myRIO for reference.

MXP A

Functions/Channels

NI Label

NI Label

Functions/Channels

+3.3V

+3.3V

3433

DIO15 / ↔ I2C.SDA

DIO 15 / ↔ I2C.SDA 0

DIO 10 ↔ / PWM 2

DIO10 ↔ / PWM2

3231

DIO14 / ↔ I2C.SCL

DIO 14 / ↔ I2C.SCL 0

DIO 9 ↔ / PWM 1

DIO9 ↔ / PWM1

3029

DGND

DGND

DIO 8 ↔ / PWM 0

DIO8 ↔ / PWM0

2827

DGND

DGND

DIO 7 ↔ / SPI.MOSI 0

DIO7 ↔ / SPI.MOSI

2625

DIO13

DIO 13

DIO 6 ↔ / SPI.MISO 0

DIO6 ↔ / SPI.MISO

2423

DGND

DGND

DIO 5 ↔ / SPI.CLK 0

DIO5 ↔ / SPI.CLK

2221

DIO12 / ← ENC.B

DIO 12 / ← ENC.B 0

DIO 4

DIO4

2019

DGND

DGND

DIO 3

DIO3

1817

DIO11 / ← ENC.A

DIO 11 / ← ENC.A 0

DIO 2

DIO2

1615

DGND

DGND

DIO 1

DIO1

1413

UART.TX

UART.TX 0

DIO 0

DIO0

1211

DGND

DGND

AI 3

AI3

109

UART.RX

UART.RX 0

AI 2

AI2

87

DGND

DGND

AI 1

AI1

65

AGND

AGND

AI 0

AI0

43

AO1

AO 1

+5V

+5V

21

AO0

AO 0

MXP B

Functions/Channels

NI Label

NI Label

Functions/Channels

+3.3V

+3.3V

3433

DIO15 / ↔ I2C.SDA

DIO 31 / ↔ I2C.SDA 1

DIO 26 ↔ / PWM 5

DIO10 ↔ / PWM2

3231

DIO14 / ↔ I2C.SCL

DIO 30 / ↔ I2C.SCL 1

DIO 25 ↔ / PWM 4

DIO9 ↔ / PWM1

3029

DGND

DGND

DIO 24 ↔ / PWM 3

DIO8 ↔ / PWM0

2827

DGND

DGND

DIO 23 ↔ / SPI.MOSI 1

DIO7 ↔ / SPI.MOSI

2625

DIO13

DIO 29

DIO 22 ↔ / SPI.MISO 1

DIO6 ↔ / SPI.MISO

2423

DGND

DGND

DIO 21 ↔ / SPI.CLK 1

DIO5 ↔ / SPI.CLK

2221

DIO12 / ← ENC.B

DIO 28 / ← ENC.B 1

DIO 20

DIO4

2019

DGND

DGND

DIO 19

DIO3

1817

DIO11 / ← ENC.A

DIO 27 / ← ENC.A 1

DIO 18

DIO2

1615

DGND

DGND

DIO 17

DIO1

1413

UART.TX

UART.TX 1

DIO 16

DIO0

1211

DGND

DGND

AI 7

AI3

109

UART.RX

UART.RX 1

AI 6

AI2

87

DGND

DGND

AI 5

AI1

65

AGND

AGND

AI 4

AI0

43

AO1

AO 3

+5V

+5V

21

AO0

AO 2

MSP C

NI Labels

Functions/Channels

5V

20

5V

DGND

19

DGND

DIO7 ↔ / PWM1

18

DIO 39 / → PWM 7

DIO6 ↔ / ENC1.B

17

DIO 38 / ← ENC.B 3

DIO5

16

DIO 37

DIO4 ↔ / ENC1.A

15

DIO 36 / ← ENC.A 3

DIO3 ↔ / PWM0

14

DIO 35 / → PWM 6

DIO2 ↔ / ENC0.B

13

DIO 34 / ← ENC.B 2

DIO1

12

DIO 33

DIO0 ↔ / ENC0.A

11

DIO 32 / ← ENC.A 2

AI1-

10

AI 9-

AI1+

9

AI 9+

AI0-

8

AI 8-

AI0+

7

AI 8+

AGND

6

AGND

AO1

5

AO 5

AO0

4

AO 4

AGND

3

AGND

-15V

2

-15V

+15V

1

+15V

Legend

→▯←

=

input

←▯→

=

output

↔▯↔

=

bidirectional I/O

=

3.3V signal

=

unspecified voltage

=

power

=

ground

Targets

Target

Supported

Comments

QUARC Win32 Target

No

Not supported.

QUARC Win64 Target

No

Not supported.

QUARC Linux Nvidia Target

No

Not supported.

QUARC Linux QBot Platform Target

No

Not supported.

QUARC Linux QCar 2 Target

No

Not supported.

QUARC Linux QDrone 2 Target

No

Not supported.

QUARC Linux Raspberry Pi 3 Target

No

Not supported.

QUARC Linux Raspberry Pi 4 Target

No

Not supported.

QUARC Linux Raspberry Pi ARM64 Target

No

Not supported.

QUARC Linux RT ARMv7 Target

Yes

Only supported with a myRIO platform.

QUARC Linux x64 Target

No

Not supported.

QUARC Linux DuoVero Target

No

Not supported.

QUARC Linux DuoVero 2016 Target

No

Not supported.

QUARC Linux Verdex Target

No

Not supported.

QUARC QNX x86 Target

No

Not supported.

Rapid Simulation (RSIM) Target

No

Not supported.

Normal simulation

No

Not supported.

See Also

 

navigation bar