Configuring Protocols
- Updated2025-09-22
- 9 minute(s) read
Before you begin, create a PXIe-657x interface using the Digital Pattern Editor and configure the interface using the Semiconductor Device Control Add-On.
The Semiconductor Device Control Add-On supports the following protocols:
Configuring an I2C Master Protocol
Ensure that you open your Semiconductor Device Control Add-On project in a large panel before configuring interfaces and functions.
Complete the following steps to configure an I2C master protocol for a PXIe-657x interface.
- Click Conf I/F to open the Hardware Configuration tab of the large panel.
- In the configuration section of the Hardware Configuration tab, select the PXIe-657x interface that you want to add a protocol to and click Add Function.
- Select Protocol from the Function Type list, and select I2C Master from the list of protocols. Enter the name of the protocol, and click Add.
- Select the new protocol in the list to display the configuration options to the right.
-
Configure the pin settings for the protocol.
- Select the pin group using the Pin Group drop-down menu.
- Select the I2C data pin using the Data Pin drop-down menu.
- Select the bus number using the Bus drop-down menu.
-
Configure the pattern project settings for the protocol.
- Select the write pattern from the Write Pattern Name drop-down menu.
- Select the read pattern from the Read Pattern Name drop-down menu.
- Select the timing file from the Timing File Name drop-down menu.
- Select the voltage level file from the Levels File Name drop-down menu.
- Enter the clock frequency from the Clock Rate (kHz) input.
- Select the I2C mode of operation from the I2C Mode drop-down menu.
-
Configure the I2C settings for the protocol.
- Select the size of the slave address from the Addressing Mode drop-down menu.
- Enter the I2C 7-bit slave address in the Slave Address input.
-
Configure the data order settings for the protocol.
- Select the starting point for the address and data from the Bit Order drop-down menu.
- Select the byte order for the address and data from the Byte Order drop-down menu.
-
Click Start on the top pane of the large panel interface
to initiate hardware communication.
The dynamic configuration settings window shows.
-
If you are using digital pattern instruments and Measurement Plug-Ins with the Semiconductor Device Control Add-On, click Manual Layout on the InstrumentStudio
Home screen to start the required Measurement Plug-Ins processes for sharing NI digital sessions.
Note To ensure NI digital sessions are available for other measurements, stop all hardware communication after completing operations in the Semiconductor Device Control Add-On and before closing the SDC large panel.
-
Configure the dynamic settings for the
protocol.
Note Dynamic settings can be set only while hardware communication is active, either programmatically or through the user interface. Use the Get Protocol Dynamic Setting and Set Protocol Dynamic Setting functions to obtain and adjust dynamic settings during protocol execution. Refer to the API Reference section for information about these dynamic setting functions.
- Set the clock frequency in the Clock Rate input.
- Select the I2C mode of operation from the I2C Mode drop-down menu.
- Enter the I2C 7-bit slave address into the Slave Address input.
- Enter the high-speed code into the High Speed Code input.
- Enter the clock rate, in kHz, at which to burst the high-speed code into the HS Code Clock Rate input.
Configuring an I3C® Master Protocol
Complete the following steps to configure an I3C master protocol for a PXIe-657x interface.
- Click Conf I/F to open the Hardware Configuration tab of the large panel.
- Select the PXIe-657x interface that you intend to add a protocol to and click Add Function.
- Select Protocol from the Choose Function list and select I3C Master from the list of protocols.
- Enter the name of the protocol and click Add.
- Select the new protocol in the list to display configuration options.
-
Configure the pin settings for the protocol.
- Select the pin group from the Pin Group drop-down menu.
- Select the I3C data pin from the Data Pin drop-down menu.
- Select the bus number from the Bus drop-down menu.
-
Configure the pattern settings for the protocol.
- Select the timing file from the Timing File Name drop-down menu.
- Select the voltage level file from the Levels File Name drop-down menu.
-
Configure the I3C settings for the protocol.
- Enter the clock frequency in the Clock Rate (kHz) input.
- Enter the 7-bit slave address in the Slave Address 0x input.
-
Click Start on the top pane of the large panel interface
to initiate hardware communication.
The dynamic configuration settings window opens.
-
If you are using digital pattern instruments and Measurement Plug-Ins with the Semiconductor Device Control Add-On, click Manual Layout on the InstrumentStudio
Home screen to start the required Measurement Plug-Ins processes for sharing NI digital sessions.
Note To ensure NI digital sessions are available for other measurements, stop all hardware communication after completing operations in the Semiconductor Device Control Add-On and before closing the SDC large panel.
-
Configure the CCC settings.
- Select the CCC operation type for the I3C protocol from the I3C CCC Operation drop-down menu.
- Select the type of CCC to be executed from the CCC Type drop-down menu.
- Select the command name from the Command Name drop-down menu.
-
Enter the 7-bit dynamic address in the
Dynamic Address 0x input to assign the
dynamic address to the DUT.
After the dynamic address is assigned, the value in the Current Slave Address input will be updated.
- Enter the defining byte value in hexadecimal in the Defining Byte 0x input.
- Enter the byte length to read in the Read Byte Length input for a read command.
- Enter the hexadecimal data to be written in the Write Data 0x input.
-
Click Execution.
The data read from the hardware shows in the Read Data 0x input.
I3C® Specification Features Supported by the Semiconductor Device Control Add-On
| Command Code | Command Name |
|---|---|
| 0x00 | ENEC |
| 0x01 | DISEC |
| 0x02 | ENTAS0 |
| 0x03 | ENTAS1 |
| 0x04 | ENTAS2 |
| 0x05 | ENTAS3 |
| 0x06 | RSTDAA |
| 0x07 | ENTDAA |
| 0x09 | SETMWL |
| 0x0A | SETMRL |
| 0x0B | ENTTM |
| 0x0C | SETBUSCON |
| 0x20 | ENTHDR0 |
| 0x21 | ENTHDR1 |
| 0x22 | ENTHDR2 |
| 0x23 | ENTHDR3 |
| 0x24 | ENTHDR4 |
| 0x25 | ENTHDR5 |
| 0x26 | ENTHDR6 |
| 0x27 | ENTHDR7 |
| 0x28 | SETXTIME |
| 0x29 | SETAASA |
| 0x2B | DEFGRPA |
| 0x2C | RSTGRPA |
| 0x80 | ENEC |
| 0x81 | DISEC |
| 0x82 | ENTAS0 |
| 0x83 | ENTAS1 |
| 0x84 | ENTAS2 |
| 0x85 | ENTAS3 |
| 0x87 | SETDASA |
| 0x88 | SETNEWDA |
| 0x89 | SETMWL |
| 0x8A | SETMRL |
| 0x8B | GETMWL |
| 0x8C | GETMRL |
| 0x8D | GETPID |
| 0x8E | GETBCR |
| 0x8F | GETDCR |
| 0x90 | GETSTATUS |
| 0x94 | GETMXDS |
| 0x95 | GETCAPS |
| 0x98 | SETXTIME |
| 0x99 | GETXTIME |
| 0x9B | SETGRPA |
| 0x9C | RSTGRPA |
- ENTDAA
- SETDASA
- SETAASA
- RSTDAA
- SETNEWDA
Configuring an SPI Master Protocol
Ensure that you open your Semiconductor Device Control Add-On project in a large panel before configuring interfaces and functions.
Complete the following steps to configure an SPI master protocol for a PXIe-657x interface.
- Click Conf I/F to open the Hardware Configuration tab of the large panel.
- In the configuration section of the Hardware Configuration tab, select the PXIe-657x interface that you want to add a protocol to and click Add Function.
- Select Protocol from the Function Type list, and select SPI Master from the list of protocols. Enter the name of the protocol, and click Add.
- Select the new protocol in the list to display the configuration options.
-
Configure the pin settings for the protocol.
- Select the pin group based on the wire configuration of the SPI using the Pin Group drop-down menu.
- Select the read pin or MISO pin using the Read Pin drop-down menu.
- Select the write pin or MOSI pin using the Write Pin drop-down menu.
- Select the bus number using the Bus drop-down menu.
-
Configure the pattern project settings for the protocol.
- Select the write pattern from the Write Pattern Name drop-down menu to satisfy clock polarity requirements for the protocol.
- Select the read pattern from the Read Pattern Name drop-down menu to satisfy clock polarity requirements for the protocol.
- Select the timing file from the Timing File Name drop-down menu to satisfy clock polarity and phase requirements for the protocol.
- Select the voltage level file from the Level File Name drop-down menu.
- Enter the clock frequency, in kHz, the Clock Frequency input.
-
Configure the data order settings for the protocol.
- Select the starting point for the address and data from the Bit Order drop-down menu.
- Select the byte order for the address and data from the Byte Order drop-down menu.
-
Configure the read/write command settings for the protocol.
- Select whether to add the read/write bit to SPI transactions using the Encode Command toggle.
- Enter the bit value to encode in the read command using the Read Command input.
- Enter the bit value to encode in the write command using the Write Command input.
- Enter a numerical value in the Address Offset field. The read and write commands will use this value as a starting point when replacing address bits.
Configuring an MIPI® RFFE Master Protocol
Ensure that you open your Semiconductor Device Control Add-On project in a large panel before configuring interfaces and functions.
Complete the following steps to configure an MIPI® RFFE master protocol for a PXIe-657x interface.
- Click Conf I/F to open the Hardware Configuration tab of the large panel.
- In the configuration section of the Hardware Configuration tab, select the PXIe-657x interface that you want to add a protocol to and click Add Function.
- Select Protocol from the Function Type list, and select RFFE Master from the list of protocols. Enter the name of the protocol, and click Add.
- Select the new protocol in the list to display the configuration options to the right.
-
Configure the pin settings for the protocol.
- Select the pin group using the Pin Group drop-down menu.
- Select the clock pin using the Clock Pin drop-down menu.
- Select the data pin using the Data Pin drop-down menu.
- Select the bus number using the Bus drop-down menu.
-
Configure the pattern project settings for the protocol.
- Select the write pattern from the Write Pattern Name drop-down menu.
- Select the read pattern from the Read Pattern Name drop-down menu.
- Select the timing file from the Timing File Name drop-down menu.
- Select the voltage level file from the Levels File Name drop-down menu.
- Enter the clock frequency in the Clock Rate (kHz) input.
-
Configure the MIPI® RFFE settings for the protocol.
- Enter the 4-bit slave address in the Slave Address input.
- Select the MIPI® RFFE command type from the R/W Command drop-down menu.
- Choose whether to validate or ignore the parity check from the Parity Check drop-down menu.
-
Configure the Time Domain Reflectometry (TDR) settings for the protocol.
- Enter the TDR factor to be applied on the data pin in the Data Pin TDR(ns) input.
- Enter the TDR factor to be applied on the clock pin in the Clock Pin TDR(ns) input.
Note Refer to the NI Digital Pattern Help for more information about how to configure TDR.
MIPI® RFFE Specification Features Supported by the Semiconductor Device Control Add-On
The Semiconductor Device Control Add-On supports the following features of the MIPI® RFFE protocol:
- VIO with configurable current up to 32 mA for the PXIe-657x, which adds PPMU capability
- Register Write/Read
- Extended Register Write/Read
- Extended Register Write/Read Long
- Support for half-speed data response (HSDR)
- Support for configuring Time Domain Reflectometry (TDR) time constants and adjusting the protocol timing to support speeds higher than 3 MHz. You must provide the TDR time constraints.
- Support for multiple devices—Allows two MIPI on completely different lines of an NI digital pattern instrument acting on two different buses with independent read and write on each bus.
The Semiconductor Device Control Add-On does not support the following features of the MIPI® RFFE protocol:
- Register 0 Write
- Interrupt capabilities for slave devices
- Multi-Master (M-M) operations
Related Information
- API Reference
The Semiconductor Device Control Add-On supports programming with LabVIEW, .NET, and Python. Each language provides a set of scripts you can use to interact with the devices, registers, and fields defined in a hardware configuration exported from InstrumentStudio.
- MIPI® I3C® Specification