The Impinj Monza® X chip is a UHF Gen 2 RFID chip that is also accessible via I²C. I²C is a two-wire interface that is supported by many embedded systems, computers and other electronics devices. This application note will show you how to connect a Monza X development kit to a host computer using a GUI to configure and test the tag chip. Here are the components you'll need:
- An Impinj Monza X-2K Dura or Monza X-8K Dura development board
- A Total Phase Aardvark I²C /SPI Host Adapter (Part #TP240141)
- USB Standard A to B cable
- A computer running Windows
- MonzaXUtility.zip (download from this article)
- Monza X Utility
Connecting the Hardware
The ribbon cable on the Aardvark I²C host adapter follows the standard convention. The red line indicates the position of pin 1. When looking at your Aardvark adapter in the upright position (figure 1), pin 1 is in the top left corner and pin 10 is in the bottom right corner.
Figure 1: The Aardvark I²C Host Adapter in the upright position.
Figure 2: The Aardvark I2C Host Adapter in the upside down position.
Only four of the Aardvark pins are used by the Monza X development board:
SCL (I2C clock)
SDA (I2C data)
For additional technical details on the Aardvark I²C Host Adapter, please consult the datasheet from Total Phase Inc.:
First, make sure the "Battery" jumper on the dev board is not set. If it is set before being connected to USB, the power from the USB will cause problems and will likely ruin the battery and may damage the boards. Verify that the jumper is not set before continuing. See the picture below.
Connect the Aardvark to the Monza X Dura Development Board.
Figure 3: The Monza X Dura Development Board
The Aardvark I²C Host Adapter should be connected to the Monza X Dura development board by plugging the ribbon cable into the 10-pin connector labeled "Aardvark". This connector is keyed, so it can only be inserted in the correct orientation. The Aardvark provides power to the Monza X, so the battery or battery jumper on the development board should be removed when the Aardvark is plugged in.
Next, connect the Aardvark to the computer via USB.
Running the Sample Application
The first time Aardvark connects to a computer, Windows will automatically locate and install the needed driver. Once completed, extract MonzaXUtility.zip to a desired location. Inside the extract folder, open "MonzaXUtility.exe." If the driver has finished installing and the board is connected properly, the application will open. The application is pictured below:
Figure 4. Using the MonzaXUtility
This utility reads all of the Monza X memory and configurations and displays them. The utitlity also give the ability to set features that are only available through I2C.
The action dropdown menu gives the ability to change chip configurations and user memory. The following are the currenlty available configurations.
All - Enabling/Disabling all will enable/disable DCI RF, Port 1, and Port 2
DCI - Enabling/Disabling all will enable/disable DCI RF
Port 1 - Enabling/Disabling all will enable/disable Port 1
Port 2 - Enabling/Disabling all will enable/disable Port 2
Fill with 0x00 - Fills all user memory values with 00
Fill with 0xFF - Fills all user memory values with FF
Fill with Sequential Values - Will fill all using memory starting with 00 in ascending order
QT Mode - Enable/Disable QT Mode
QT Short Range - Enable/Disable QT Short Range Mode
Enable/Disable - Enable/Disable Block Permlock
Set I2C Device Address
The device address may be set to one of four device addresses: 0x68, 0x6A, 0x6C and 0x6E.
|Aardvark Address||7-bit address||8-bit Address||8-bit write command (binary)||8-bit write command (hex)|
Note: Some I2C masters use the 8-bit write command instead of the 7-bit I2C slave address as the "address", adding a zero to the end of the address. The binary and hex equivalents of these addresses were therefore added to this table to disambiguate the seeming I2C address discrepancies.
The Aardvark allows easy communication with the Monza X Dura Dev Board via I2C over USB. For more information on how to develop a custom I2C application using the Aardvark and the development kit, refer to the Monza X Software API and Application Note.