HEX and EEP files for the device, found on the product's page (Look for the HEX icon).
Activating the bootloader
The K1 button needs to be pressed while connecting the device to the computer with the USB cable. Once the XScope enters the bootloader, the red LED will be lit, and will blink with USB activity. The XScope will appear as a new device on the host computer, the drivers required are found in the FLIP application folder.
FLIP application instructions
Select ATXMEGA32A4U in the device selection list.
Select USB as communication medium
Open the USB port to connect to the target.
Make sure the FLASH buffer is selected and check ERASE, BLANK CHECK, PROGRAM, VERIFY.
Load the HEX file .hex
Press SELECT EEPROM
Load the HEX file .eep
Uncheck ERASE and BLANK CHECK, only leave checked PROGRAM and VERIFY
Press START APPLICATION
After updating the firmware, make sure to recalibrate the device (See section 1.6).
The Xprotolab has an 8 bit logic analyzer and can do sniffing on standard protocols: I2C, UART and SPI.
The logic inputs are 3.3V level. The Xprotolab logic inputs are not 5V tolerant!, If you need to connect 5V signals to the logic analyzer, you could: Add a 3K resistor in series with the signal, or, use a 5V to 3.3V level converter chip.
Logic Analyzer Menu
Shows the hexadecimal value of the 8 bit digital input lines. The hexadecimal number is shown below the last digital trace. If all the 8 digital traces are enabled, then there is no space to show the parallel decoding.
Shows the hexadecimal value of the stream of bits on each channel. The decoding starts at the first vertical cursor and ends at the second vertical cursor, 8 bits are decoded. If the cursors are disabled, then the decoding is done from the start of the screen, to the end.
When the Xprotolab is in Sniffer mode, a small text appears on the screen, indicating where to hook up the signals. As soon as the data is received, the data is displayed in "pages".
There are 16 pages of data. To browse thru the pages, use the buttons K2 and K3.
In the UART and SPI sniffers, the data can be displayed in HEX or ASCII, press K2 and K3 simultaneously to toggle between them.
If using ASCII, note that letters will be always uppercase, and only codes 0x20 thru 0x7A will show valid characters.
I2C Sniffer - Connect SDA to Bit 0, SCL to Bit 1
The Xprotolab implements the I2C sniffing in a bit-bang fashion. The maximum clock frequency is 400kHz (Standard I2C Fast Speed). As the data is decoded, the data in HEX will appear on the screen, accompanied by a symbol:
When the Master initiates a read, < is an ACK and ( is a NACK When the Master initiates a write, > is an ACK and ) is a NACK Subsequent data in the frame will be accompanied by + for ACK or a - for NACK.
There are 16 pages of data, each page shows 64 bytes => the total memory for the I2C sniffer is 1024 bytes.
UART Sniffer - Connect RX to Bit 2, TX to Bit 3
The Xprotolab can decode both the TX and RX lines of the UART at the standard baud rates:
The screen is split in two, the left side is use for the RX line, and the right side is used for the TX line. Each side can show 40 bytes per page. With 16 pages, a total of 640 bytes can be stored for each decoded line.
SPI Sniffer - Connect the Select to Bit 4, MOSI to Bit 5, MISO to Bit 6, SCK to Bit 7
The Xprotolab can decode both the MOSI and MISO lines of an SPI bus. The SPI's MOSI pin decoding is done in hardware, so it can decode data at high speed, But the SPI's MISO pin decoding is implemented in software using bit-banging, so the maximum clock allowed will be limited.
The screen is split in two, the left side is use for the MOSI line, and the right side is used for the MISO line. Each side can show 40 bytes per page. With 16 pages, a total of 640 bytes can be stored for each decoded line.
The Xprotolab has a SWEEP feature, which increases the frequency of the wave automatically on each screen refresh of the oscilloscope.
The start and end frequencies are automatically determined by the current sampling rate. Since the sweep is synchronized with the oscilloscope, displaying perfect frequency plots is a breeze.
When adjusting the parameters, the K1 button serves as a shortcut key, which sets predefined values.
The waveform is stored in a 256 byte long buffer, this buffer is fed to the XMEGA's DAC thru the DMA. Once the waveform is set, the waveform will be generated without any CPU intervention. The maximum conversion rate of the DAC is 1MSPS, this limits the maximum output frequency of the AWG as a system. For example, if the AWG is generating a sinewave with 256 points, the maximum frequency is 3906.25Hz. If generating a sinewave with only 32 points, the maximum frequency is 31.25KHz. The AWG amplifier has a low pass filter of 44KHz.
The resolution of the generator varies depending on the frequency range: the lower the frequency, the higher the resolution:
Frequency = Cycles*125000/(Period+1)
Cycles: Integer number, with these possible values: 1,2,4,8 Period = Integer number, with values between 0 and 65535