Quantcast
Channel: Total Phase Blog
Viewing all 704 articles
Browse latest View live

Using the Beagle I2C/SPI Protocol Analyzer, How Do I Capture and Filter a Specific Bit Pattern to View Only the Data That I Need to See on the SPI Bus?

$
0
0

Question from the Customer:

I’m using the Beagle I2C/SPI Protocol Analyzer and I could use some advice. I am testing SPI devices, transmitting and receiving 14 bytes of data; each pair (MISO and MOSI) is exchanged during the single byte transfer. The data is bidirectional – I’m receiving data from the master and sending the master a byte of data during the same 8 clock cycles. I want to view the data specifically when MOSI = 0xEE AND MISO = 0x6D.  Can I trigger captures for that specific bit pattern?

Response from Technical Support:

Thanks for your question! For the data condition that you want to view, we recommend using the Beagle analyzer and the Data Center Software. Together, they can filter the data you have defined.  The triggering feature that you are looking for is not available - but  with the Data Center Software, you can use the LiveFilter feature almost like a trigger to filter a specific data pattern to focus on the data that you need to see.  Simply apply the filter to focus on your event(s) of interest, and disable the filter to view the context of the event: see all the transactions that occurred before and after your event.

 

Beagle I2C SPI Protocol Analyzer Data Center Software  can filter complex data patterns
Figure 1: Beagle I2C/SPI Protocol Analyzer Figure 2: Data Center Software

 

The screen shot below is an example of what you will see when using LiveFilter in the Data Center Software with a Beagle Analyzer.

 Use Data Center Software to "trigger" data with filters
Figure 3: Data Center Software - Filter Data

 

  1. To set up the filter, click the LiveFilter tab. See Figure 3.
  2. In the text fields, enter the data patterns that you want to filter. In this case, EE for MOSI Data and 6D for MISO Data.
  3. To enable this pattern, click the checkmark  button.

 

There are many options for filtering and capturing data. For more information about filtering a capture, please refer to section 4.8 of the Data Center Software User Manual.

Additional resources that you may find helpful include the following:

We hope this answers your questions. If you have other questions about our protocol analyzers or other Total Phase products, feel free to email us at sales@totalphase.com or submit a request for technical support.


How Do I Connect the Beagle USB 480 Protocol Analyzer to Monitor USB Traffic on Embedded Copper Traces?

$
0
0

Question from the Customer:

We have a product with a processor that is connected to a peripheral device via high-speed USB. The processor and the peripheral are on the same board and the USB lines are connected by copper traces. We want to monitor the USB traffic with our Beagle USB 480 Protocol Analyzer. Because the USB signal lines between the processor and peripheral device are in copper, we cannot insert the Beagle analyzer in series - instead, we want to connect the Beagle by tapping into the USB signals in parallel. Is this possible? We're pretty sure we need some series resistors - but not sure what resistance value to use and how to make that connection. Can you help us with this?

Response from Technical Support:

Thanks for your question! Yes, you can definitely use your Beagle USB 480 analyzer to monitor the traffic over copper traces.  Monitoring an embedded USB with a Beagle USB Protocol Analyzer is fairly simple, and we have an article addressing just that in our Knowledge Base.  Here's an overview of the article:

Set Up

To monitor the D+/D- signal path of a USB bus, you don't have to "break" those lines. The VBUS, GND, D+, and D- lines can be connected to either the Type A or Type B connector on the Beagle analyzer using "T" connections, as shown below.

 

 Connect a Beagle Protocol Analyzer to an Embedded USB Bus on Copper Traces
Figure 1: Connect a Beagle USB Protocol Analyzer
to an Embedded USB

 

The process of using the Beagle analyzer to tap the USB lines in your embedded system depends on how accessible they are. If the USB signal lines are connected to a header or test pads, then the connection is straightforward.  For your situation, you will most likely need to solder the lines from a cut-up USB cable to connect to the system.  For signal integrity, keep the wires as short as possible and use twisted pairs

Regarding the use of resistors, a 20-40 ohm series resistor should be added to the D+ and D- signals between the target system and the Beagle analyzer - this prevents or minimizes signal reflections due to impedance mismatches.

VBUS

To recognize that a host is present, the Beagle analyzer will need to see 5V on VBUS. If the target system cannot provide 5V to the Beagle analyzer, it can be provided from an external source. Alternatively, this requirement can be overridden in software. You can set that up with the Data Center Software, or by customizing a program with the Beagle Software API (samples are provided that can be used as-is or modified for your specific setup). Details about API are provided in section 6 of the Beagle Protocol Analyzer User Manual.

Additional resources that you may find helpful include the following:

We hope this answers your questions. If you have other questions about our protocol analyzers or other Total Phase products, feel free to email us at sales@totalphase.com, or if you already own one of our devices and have a technical question, please submit a request for technical support. 

How Can We Utilize the Aardvark I2C/SPI Host Adapter as an I2C Slave with an Embedded Device on a Development Board?

$
0
0

Question from the Customer:

We are considering using the Aardvark I2C/SPI Host Adapter for development. We will be using it as an I2C slave device -- we have some questions:

  1. Can the Aardvark adapter accept the I2C signal driven from the I2C client driver of an embedded device on a development board running Linux? What is the hardware connection from the development board to the Aardvark adapter?
  2. What is the I2C address of the Aardvark adapter?
  3. Would a Level Shifter Board be needed when using the Aardvark adapter as a slave?

Response from Technical Support:

Thanks for your questions! Here is the information for you and your colleagues:

    1. As an I2C slave, the Aardvark can be connected to any I2C master that follows the I2C standard; connecting to an embedded development board running Linux should be no problem. For additional information about I2C standards, please refer to the Total Phase knowledge base article I2C Background as well as www.dmoz.org. For information about the Aardvark adapter pinouts and connectors, please refer to section 2.1 of the Aardvark I2C/SPI Host Adapter User Manual.
       Aardvark I2C/SPI Host Adapter
      Figure 1: Aardvark I2C/SPI Host Adapter
  1. The Aardvark I2C slave address can be assigned to any 7-bit I2C slave address that follows the I2C standard using any of our software tools: Control Center Serial SoftwareFlash Center Software, or Aardvark Software API. If you are using multiple Aardvark adapters as slave, you may find it useful to obtain the unique ID of the Aardvark adapter; you can do this through the  Aardvark Software API command aa_unique_id for the serial number of the Aardvark adapter. This can be useful should you run a project that uses multiple Aardvark adapters, and you need to identify the data sources. For details about API, please refer to section 5 of the Aardvark I2C/SPI Host.
  2. The Aardvark adapter logic level is 3.3V. The Level Shifter Board is beneficial when interfacing with other logic levels from 1.2V to 3.3V. For more information please refer to this article that explains interfacing the level shifter board with the Aardvark adapter:  Programing I2C EEPROM Using Aardvark Adapter, Level Shifter Board and Control Center.
    For built-in level shifter capability, as well as greater speed, providing power to the target device, Ethernet connectivity and  many other advanced features, we recommend the Promira Serial Platform  with the I2C Active - Level 1 Application. The Promira platform features will continue to advance, as we are continuously developing and providing more advanced Active-Level applications for I2C as well as SPI protocols.

Additional resources that you may find helpful include the following:

We hope this answers your questions. If you have other questions about our host adapters or other Total Phase products, feel free to email us at sales@totalphase.com, or if you already own one of our devices and have a technical question, please submit a request for technical support.

ISO Signal Integrity for SPI Master and Slave Communication. When and Why are Pull-Up Resistors Needed with the Aardvark I2C SPI Host Adapter?

$
0
0

Question from the Customer:

I am using the Aardvark I2C/SPI Host Adapter in SPI mode and I’ve set up a MISO message in the Control Center Software. The transaction log shows that MISO data has been written on the bus.

Looking at the SPI traffic out of the Aardvark on an oscilloscope I noticed that the slave select (SS) line idles low. This differs from the behavior of the Cheetah SPI Host Adapter. With the Aardvark adapter, in the case of an active low chip select, the chip select returns to the high state after the data is sent.

 154773-customer-scope
Figure 1: SPI Signals Viewed on an Oscilloscope

What can I do to avoid SS from idling in the low state? My concern about this - if there are any glitches on the click line, will data get shifted into the slave device!

Response from Technical Support:

Thanks for your question! The Cheetah SPI Host Adapter, which functions exclusively as a high-speed SPI master, has different signaling characteristics than that of the Aardvark adapter.  The Aardvark adapter is meant to be a general purpose device that can function as either master or slave for both SPI and I2C bus protocols.  When the Aardvark adapter is used as an SPI Master, the slave select line (SS) is actively driven low. The MOSI and SCK lines are driven as appropriate for the SPI mode. After each transmission is complete, these lines are returned to the high impedance state. This feature allows the Aardvark adapter, following a transaction as a master SPI device, to be reconnected in another SPI environment as a slave.

To ensure signal integrity, we recommend adding 10 K OHM pull-up resistors on the SS, MOSI and SCLK signals on the SPI slave target device that is connected to the Aardvark adapter. Using pull-up resistors will prevent voltage fluctuations when the Aardvark adapter stops driving the signal. For additional information, please refer to section 2.4.3  of the Aardvark I2C SPI Host Adapter Manual.

 SPI Byte Required Timing Characteristics
Figure 2: SPI Timing Characteristics

Additional resources that you may find helpful include the following:

We hope this answers your question. If you have other questions about our host adapters or other Total Phase products, feel free to email us at sales@totalphase.com, or if you already own one of our devices and have a technical question, please submit a request for technical support.

How Can the Software Tools that I Use with the Aardvark I2C/SPI Host Adapter Provide Greater Control for Programming I2C Memory Devices?

$
0
0

Question from the Customer:

I have an Aardvark I2C/SPI Host Adapter and have been successfully using the Control Center Serial Software for programming I2C memory devices. I am wondering if I can use the Aardvark adapter for a heavier workload, such as a scripting - sending multiple pre-defined commands one after the other. Is something along those lines possible with your software?

Response from Technical Support:

Thanks for yours question! You can write/read I2C/SPI data with the Aardvark adapter using Control Center Serial Software, Flash Center Software, and Aardvark Software API. Each software tool provides the ability to customize scripts as needed.

Looking at what you described, there are two options: you can use the batch mode in the Control Center software or the Aardvark Software API.  The batch mode allows you to write an xml script to perform repetitive tasks serially.  If you have a need for more complex actions such as looping or want to integrate a custom GUI, then the Aardvark API Software will work best for you. It provides the most flexibility and control of the options above.

The Aardvark Software API, can be used for creating customized programs to support the requirements of your setups. Example programs are provided with the API, which may be used as is or edited and customized for your specific requirements. The Aardvark API supports multiple operating systems and program languages, as well as synchronous and asynchronous queuing for complex programs.

For more information, please refer to section 5 of the Aardvark I2C/SPI Host Adapter User Manual.

 Aardvark I2C/SPI Host Adapter
Figure 1: Aardvark I2C/SPI Host Adapter

Other software tools that are available for the Aardvark adapter include:

  • The Control Center Serial Software, in addition to full access Aardvark adapter functionality via GUI, supports batch scripting with the Aardvark XML Batch Script Language. The batch instruction commands support I2C master, SPI master, and GPIO modes. However, the batch Instruction commands do not support the I2C or SPI slave modes. For details about batch scripting, please refer to section 5 of the Control Center Serial Software User Manual.
  • The Flash Center Software provides the ability to quickly erase, program, and verify I2C and SPI based EEPROM and flash memory Chips. It has an extensible XML parts library with built-in support for EEPROMs and serial flash chips from major manufacturers. These XML scripts can be modified to work with unreleased prototypes and devices that are not yet supported.

 

Additional resources that you may find helpful include the following:

We hope this answers your question. If you have other questions about our host adapters or other Total Phase products, feel free to email us at sales@totalphase.com, or if you already own one of our devices and have a technical question, please submit a request for technical support.

What are the Latest Tools to Design, Test and Analyze Advanced High-speed SPI and I2C Protocols for Devices, Boards, Embedded Devices and Systems, IoT and More?

$
0
0

Committed to providing intelligent, robust tools for aggressive test, development and analysis requirements, we have released two new applications for the Promira™ Serial Platform for the advanced high-speed SPI and I2C protocols: SPI Active - Level 3 and I2C Active – Level 2 Applications.

These applications instantly expand the Promira™ Serial Platform features: more powerful, faster, more configurable GPIO ports and enhanced functionalities. In just the first eight months since introducing the Promira platform, Total Phase has released five highly effective, feature rich applications delivering on our promise to make the Promira platform among the most robust and affordable tools available.

The concept for the Promira platform is to enable our customers to have exactly the tools they need when they need them – there’s no need to overbuy to get capabilities that are not immediately required. Customers can buy only what they need today and expand their capabilities with new, state-of-the-art functionality when new projects require more advanced capabilities.

Features of Promira Serial Platform Applications

Our engineers have designed each application to support the ever-increasing requirements of embedded device design and to work towards delivering the most advanced SPI and I2C protocol device to meet the needs of this growing market. Including the ability to download any application and immediately update your Promira platform as needed and in the field - you don't have to wait for shipment and delivery. With the user-friendly software tools and the easily customized Software API, you can interact with your devices and get the real-time information that you need when you need it.

PromiraVideo IoTVideo
Experience the Power of
the Promira Serial Platform
The New Promira Platform
Brings IoT One Step Closer

Here are the capabilities of our fourth and fifth generation applications:

SPI Active – Level 3 Application Features

  • Protocols Supported: SPI Single, Dual and Quad I/O
  • Master Clock Speed: 80 MHz
  • Slave Clock Speed: 20 MHz
  • Chip/Slave Select: 8
  • Single slave response of up to 256 bytes, variable word length
  • Software configurable Slave Select (SS) polarity in master mode
  • Memory Programing: EEPROM, Flash, or other SPI memory
  • UP to 16 GPIO ports
  • Voltage Levels: 0.9-3.45, 5
  • Target Power: 2 independent, 1 programmable (0.9-3.45 V), 1 switchable (3.3-5 V), 100 mA each
  • Connection Types: High Speed USB, Ethernet 10/100

I2C Active – Level 2 Application Features

  • Master Clock Speed: 3.4 MHz
  • Slave Clock Speed: 3.4 MHz
  • Slave Response: 8 responses +1, 256 bytes/unique response
  • No inter-byte delays
  • Memory Programming: EEPROM, or other I2C memory
  • UP to 12 GPIO ports
  • Voltage Levels: 0.9-3.45, 5
  • Target Power: 2 independent, 1 programmable (0.9-3.45 V), 1 switchable (3.3-5 V), 100 mA each
  • Connection Types: High Speed USB, Ethernet 10/100

The excitement around the Promira platform continues to build as we continue to develop and explore the addition of more protocols to the Promira Application library.

Note: Promira platform applications are offered in sequence - previous versions of a protocol application must be installed before using the most recent releases.

Additional resources that you may find helpful include the following:

If you have other questions about our Promira Serial Platform or other Total Phase products, feel free to email us at sales@totalphase.com, or if you already own one of our devices and have a technical question, please submit a request for technical support.

Did You Know Both the Aardvark I2C/SPI Host Adapter and the Promira Serial Platform Support IoT Development with API Scripts?

$
0
0

Question from the Customer:

I am working on an IoT product development. In this project, there are several types of I2C slave sensors including accel, mag, gyro, etc. An algorithm will be running in our application based on this sensor data.  What I want to do - simulate the sensor data coming out of sensor to the controller by injecting the pre-collected sensor data via I2C bus.

My question - can I inject a large pool of emulated data via I2C bus to the master controller with the help of python scripts? I searched long and wide for I2C/SPI debuggers that support scripts and the only one I found is the Total Phase Aardvark I2C/SPI Host Adapter. Will you please provide details about using API scripts – and how I can accomplish my goals?

Response from Technical Support:

Thanks for your question! It sounds like you plan to use the Aardvark adapter as an I2C slave and emulate various sensors in your system. This is definitely possible with the Aardvark Software API and in Python (other programming languages and multiple operating systems are also supported).

 Aardvark I2C/SPI Host Adapter
Figure 1: Aardvark I2C/SPI Host Adapter

The Aardvark adapter has the ability to act as an I2C slave, using one I2C address at a time. The Aardvark adapter will respond with one message with a maximum of 64 bytes  when the master issues an I2C read command. You can customize the response message via the API before the master issues a read, and then the Aardvark adapter will respond with that message and automatically wrap if there is a request for more than the supplied response.

The Aardvark adapter will always start responding with the beginning of the set response. If you want the response message to change, you can change it by and set an entirely new message via the API. For details about the API, please refer to section 5 of the Aardvark I2C/SPI Host Adapter User Manual.

There may be some system latencies, mainly from the USB subsystem, which results in a “time cost” for each call to the API that gets or sets data on the Aardvark adapter. Set sufficient delays between I2C commands so that you can prepare the Aardvark adapter for the next request. For more information about I2C characteristics, please refer to section 2.3 of the Aardvark 2C/SPI Host Adapter User Manual.

For a more robust and flexible  solution, we suggest looking into the Promira Serial Platform. With the appropriate Active Level Application, in your case, the I2C Active - Level 1 Application, as well as the more advanced I2C Active – Level 2 Application, it can easily meet the demands of your project.  The Promira platform supports a wider range of speeds for I2C and SPI, and offers integrated level-shifting for working with sensors at lower voltages.  In addition, the Ethernet port slows for the control of the platform over long distances, which may be especially useful for testing sensors in remote areas.  The Promira Software API is also available for creating the necessary custom applications to test your project.

The following video provides some insight about how the Promira platform supports IoT development.

 IoTvideo
Total Phase is Leading the Way to The Internet of Things

Additional resources that you may find helpful include the following:

We hope this answers your questions. If you have other questions about our host adapters or other Total Phase products, feel free to email us at sales@totalphase.com, or if you already own one of our devices and have a technical question, please submit a request for technical support.

It’s so Quick and Easy to Capture, Analyze, and Debug USB Data with Your Beagle USB Protocol Analyzer

$
0
0

Question from the Customer:

I am new to USB and just purchased my first Beagle USB Protocol Analyzer. The product manual does a splendid job explaining how USB works and the Data Center Software User Manual illustrates how easy it is to start a capture.

What I am looking for is a simple, straightforward path to getting started - after I connect the Beagle USB 12 Protocol Analyzer to the software and start capturing the data, what do I do to wade through the data - analyze and debug? Do you have tutorials for the more novice users like myself to get started, and maybe a few other tutorials to help bring me up to a more advanced level?

Response from Technical Support:

Thanks for your question! In addition to the user manuals, we have many resources for you to learn how to use the Beagle USB 12 Protocol Analyzer. For starters, we recommend the Beagle USB 12 Protocol Analyzer Quick Start Guide. It gives you a good jumpstart about using the Beagle analyzer with the Data Center Software: how to configure the Beagle analyzer for the desired speed, capture USB data, and then save or export the data for future analysis.

Beagle USB 12 Host Analyzer for Analyzing Raw Data Packets
Figure 1: Beagle USB 12 Protocol Analyzer
Full/Low speed USB 2.0 Data Descriptor Parsing

For easy to follow demonstrations about using the data, we have two videos that may be useful to you. Both videos refer to using a Beagle 480 analyzer - they also apply to the Beagle 12 analyzer because the Data Center software is used for both devices.

videoUSBDebug-290 VideoBusTree-290
USB Debugging using a Real-Time USB Bus Monitor Video Using the Bus Tree Feature of the Data Center Software for USB Debugging and Analysis Video

 

Additional resources that you may find helpful include the following:

We hope this answers your question. If you have other questions about our protocol analyzers or other Total Phase products, feel free to email us at sales@totalphase.com, or if you already own one of our devices and have a technical question, please submit a request for technical support.


Total Phase Beagle USB Protocol Analyzer - Named One of 5 Most Useful Tools that every USB Developer to Capture and Analyze Data, and Fully Test and Verify USB Devices

$
0
0

Were you among the crowd of attendees at Colin O’Flynn’s presentation “USSSSB: Talking USB from Python" at ESC Silicon Valley? Jacob Beningo, CSDP, president/consultant for EDN Network, attended O’Flynn’s presentation and agrees, the Total Phase Beagle USB Protocol Analyzer is among the Most Useful Tools for USB Developers. Here's the excerpt from Jacob’s most recent article about the tools he finds most useful for USB debugging and development:

"A software protocol analyzer is a great tool provided that the PC is able to recognize the USB device. In an event where the USB clock is off and unable to enumerate, though, a software analyzer isn’t going to be very useful for debugging. Fortunately there is also a hardware protocol analyzer available to embedded developers working with USB. One example is the Total Phase Beagle USB protocol analyzer. The Beagle High Speed (Beagle USB 480 Protocol Analyzer) version costs just a hair over $1000, which is well worth it given the amount of time a debug session could take without the right tools. The Beagle is a hardware protocol analyzer that monitors the bus traffic on the physical pins and is able to not only record but also decode USB traffic in real-time."

Using the USB 480 Protocol Analyzer to capture USB 2.0 bus data Beagle480Ports-250
Figure 1:Beagle USB 480 Protocol Analyzer Figure 2: Beagle USB 480 Front Ports

The Beagle USB analyzers are hardware–based USB analyzers that offer a number of advantages over software-based analyzers, such as:

  • Independent; not affected by host computer
  • Ability to debug embedded hosts
  • Detection of:
    • Speed negotiation
    • Low-level bus events
    • Timing issues
    • Transmission errors
  • Cross-platform support (GUI runs on Windows, Linux, Mac OS X)

In addition, the Total Phase Data Center Software, connected to the Beagle analyzer, gives you the ability to monitor, display and filter data in real-time. Data can be parsed, filtered, and for high-speed devices, class-level decoding can be applied, all in real-time. For more complex trouble-shooting, triggers can be set on certain Beagle analyzer models, and digital I/Os can be configured to synchronize with external logic.

Do you have the right tools for the job? Total Phase offers a range of protocol analyzers - check our USB Analyzer Product Guide and see what we have to offer for low, full- and high-speeds, USB 2.0 and USB 3.0.

Additional resources that you may find helpful include the following:

If you have other questions about our protocol analyzers or other Total Phase products, feel free to email us at sales@totalphase.com, or if you already own one of our devices and have a technical question, please submit a request for technical support.

Sending CAN Messages From Komodo CAN Duo Interface Channel and Monitoring It With The Other Channel Using Komodo GUI and Data Center

$
0
0

Did you know that with the Komodo CAN Duo Interface you can record activity on the bus and export the trace in a format that allows you to edit and make modifications? Once you've done that, you can replay the modified data to simulate changes to your system. I wanted to make sure you were aware of this unique feature of our CAN tool. This feature is specific to the Komodo CAN Duo Interface, as it is a two-channel device.

 
Figure 1: Komodo CAN Duo Interface Channel

To use this feature, connect your Komodo CAN Duo Interface to your CAN system and to your analysis PC.  Launch both the Data Center Software and the Komodo GUI Software.  Connect to the device in both pieces of software.  Due to the dual channels on the Komodo interface, it is able to connect to both the Komodo GUI and Data Center Software simultaneously.

In the Data Center Software, start the capture. Next, in the Komodo GUI, configure the data that you want to send in Active CAN Mode. If you are using our CAN/I2C Activity Board, connect to the Activity Board mode and hit Play.

 Komodo CAN Interface GUI Software Panel
Figure 2: Komodo GUI Interactive Panel

As data is sent across the CAN bus via the Komodo GUI, the Data Center Software is passively monitoring and capturing all of the CAN data.

Once you have collected the information that you want to replay, hit Stop in both pieces of software. In the Data Center Software, export the data to a Komodo GUI Batch File (.kba). This creates an editable file that you change modify and load into the Komodo GUI Software via Batch Mode to replay data on the system. This allows you to simulate changes on your system.

For more details and complete instructions, please refer to our knowledge base article Sending CAN Messages From Komodo Duo Interface Channel and Monitoring It With The Other Channel Using Komodo GUI and Data Center.

Additional resources that you may find helpful include the following:

We hope this answers your questions. If you have other questions about our CAN interfaces or other Total Phase products, feel free to email us at sales@totalphase.com, or if you already own one of our devices and have a technical question, please submit a request for technical support.

How Do I Debug SMBus Communication between my Aardvark I2C/SPI Host Adapter and a Smart Battery Pack?

$
0
0

Question from the Customer:

I am using the Aardvark I2C/SPI Host Adapter and I am trying to connect it to the SMBus compatible NL2020 Standard Smart Li Ion Battery Pack. Unfortunately, I’m not getting an acknowledgement from the battery after executing a read/write command.  Here are the details of my application:

  • The address of the battery is 0x16.
  • I have the Aardvark adapter’s SCL connected to the battery’s clock, and the SDA line to the battery’s data line, and ground to the battery’s negative terminal.

Can you tell me how to use the Aardvark adapter to communicate with my device? My understanding is that the Aardvark adapter is SMBus compatible.

Response from Technical Support:

Thanks for your question! The Aardvark I2C/SPI Host Adapter is definitely compatible with the SMBus protocol, since SMBus is based on I2C. Without knowing the exact commands that are being sent and the instruction set of your NL2020 device, it would be difficult to pinpoint the exact issue. Your command may not be formatted correctly, and therefore unrecognized by the device. On the other hand, it’s possible that the Aardvark adapter is correctly sending data, but the device is not properly configured to respond to that data.

To get a better idea of what is happening on the bus, we highly recommend using our Beagle I2C/SPI Protocol Analyzer, which supports SMBus decoding, to get more visibility and information.

Beagle I2C/SPI Protocol Analyzer
Figure 1: Beagle I2C/SPI Protocol Analzyer

The Beagle analyzer works as a passive tap onto your SMBus lines and displays all the bus traffic sent between the Aardvark adapter and your device in real-time.  It is a great tool to use to debug the communication between masters and slaves, and with the Data Center Software, it allows you to search and filter through the bus data in real-time. 

Data Center Software views live data
 Figure 2: Parsed SMbus Traffic as Seen in Data Center Software

Additional resources that you may find helpful include the following:

We hope this answers your question. If you have other questions about our Host Adapters or other Total Phase products, feel free to email us at sales@totalphase.com or submit a request for technical support.

How Can We Utilize the Aardvark I2C/SPI Host Adapter as an I2C Slave with an Embedded Device on a Development Board?

$
0
0

Question from the Customer:

We are considering the Aardvark I2C/SPI Host Adapter for development - using it as an I2C slave device and have some questions:

  1. Can the Aardvark adapter accept the I2C signal driven from the I2C client driver of an embedded device on a development board running Linux? What is the hardware connection from the development board to the Aardvark adapter?
  2. What is the I2C address of the Aardvark adapter?
  3. Would a Level Shifter Board be needed when using the Aardvark adapter as a slave?

Response from Technical Support:

Thanks for your questions! Following is the information for you and your colleagues are looking for:

  1. As an I2C slave, the Aardvark can be connected to any I2C master that follows the I2C standard; connecting to an embedded development board running Linux should be no problem. For additional information about I2C standards, please refer to the Total Phase knowledge base article I2C Background as well as www.dmoz.org. For information about the Aardvark adapter pinouts and connectors, please refer to section 2.1 of the Aardvark I2C/SPI Host Adapter User Manual.
     Aardvark I2C/SPI Host Adapter
    Figure 1: Aardvark I2C/SPI Host Adapter
  2. The Aardvark I2C slave address can be assigned to any 7-bit I2C slave address that follows the I2C standard using any of our software tools: Control Center Serial SoftwareFlash Center Software, or Aardvark Software API.
  3. If you are using multiple Aardvark adapters as slaves, you may find it useful to obtain the unique ID of the Aardvark adapter; you can do this through the  Aardvark Software API command aa_unique_id for the serial number of the Aardvark adapter. This can be useful should you run a project that uses multiple Aardvark adapters, and you need to identify the data sources. For details about API, please refer to section 5 of the Aardvark I2C/SPI Host Adapter User Manual. The Aardvark adapter logic level is 3.3V. The Level Shifter Board is beneficial when interfacing with other logic levels from 1.2V to 3.3V. For more information please refer to this article that explains interfacing the level shifter board with the Aardvark adapter:  Programing I2C EEPROM Using Aardvark Adapter, Level Shifter Board and Control Center.
  4. For built-in level shifter capability, as well as greater speed, providing power to the target device, Ethernet connectivity and many other advanced features, we recommend the Promira Serial Platform with the I2C Active - Level 1 Application. The Promira platform features will continue to advance, as we are committed to continuously developing and providing more advanced Active-Level applications for I2C as well as SPI protocols.

Additional resources that you may find helpful include the following:

We hope this answers your questions. If you have other questions about our host adapters or other Total Phase products, feel free to email us at sales@totalphase.com, or if you already own one of our devices and have a technical question, please submit a request for technical support.

How Do I Capture USB Data Streams from a Remote Location for Test and Analysis at the Local Office?

$
0
0

Question from the Customer:

We are going to test new software that interacts with several low-speed serial devices over the USB bus. The hardware is offsite, not at our local office. Is it possible to capture USB data streams with the Beagle 12 USB Protocol Analyzer from a remote location and analyze it at another location? Also, how many Beagle adapters can we run from a computer? As there are multiple serial devices and we need to gather data at multiple test points from that location.

Response from Technical Support:

Thanks for your questions!  You can definitely launch more than one Beagle analyzer per computer – all you need is one instance Data Center Software open for each Beagle USB 12 Protocol Analyzer.

 Beagle USB 12 Host Analyzer for Analyzing Raw Data Packets
Figure 1: Beagle USB 12 Protocol Analyzer Full/Low speed USB 2.0 data

How many analyzers you can run on one computer depends on how many USB devices the computer can support. For your remote test and analysis, you can easily capture and store data, and send the capture file to another location.  The steps below describe how to do this.

 DC-example-hub-mouse
Figure 2: Data Center Software User Interface

 

  1. In the remote location, install the instances of the Data Center Software (free download, no fees or licenses required) that you need for each Beagle analyzer, and connect each Beagle analyzer to the computer via the USB ports.
  2. Next, capture the USB bus data and save the Data Center Software transaction log to a TDC file:
    1. Launch the Data Center Software to capture data.
    2. At the menu bar, select File, then select Save As, enter the file name and then click Save.
  3. After capturing the data, you can easily share the TDC file with anyone. You can email the file to a colleague or save it to a shared drive.
  4. At your office, open the TDC file with the Data Center Software and view the transaction log:
    1. Launch the Data Center Software
    2. From the menu select File, then select Open, choose the TDC file, and then click Open.

Additional resources that you may find helpful include:

We hope this answers your questions. If you have other questions about our protocol analyzers or other Total Phase products, feel free to email us at sales@totalphase.com, or if you already own one of our devices and have a technical question, please submit a request for technical support.

Use the Total Phase Promira Serial Platform or the Aardvark I2C/SPI Host Adapter in All Stages of the Product Life Cycle

$
0
0

How nice would it be to use the same tools for all phases of the product life cycle, from development to production to field support? Imagine a phase-to-phase transition that doesn’t require new tool validation. The Promira Serial Platform is so versatile that you can use it during design, release, manufacturing and support.

  • Proof of concept - Use the Promira platform to emulate proposed master/slave functions, verifying the feasibility of the design. The built-in level shifter provides you with the flexibility to work at different voltage levels; especially now that sub-3.3V signal levels are becoming increasingly popular in embedded systems.
  • Development - Test and debug the design by sending commands as a master or receiving data as a slave during both proof of concept and development stages. Total Phase accessory boards and software tools are also available to quickly bring your product to market.
  • Manufacturing - Use the Promira Serial Platform to easily program registers, BIOS, or firmware into EEPROMs and Flash memory. With the ability to communicate via Ethernet, you can set up several Promira platforms for remote use on a high volume production floor. Just before the product is shipped, burn the security features into each device. Ethernet connectivity allows you the run the Promira platform over long distances, which is useful in large production environments.
  • Quality Testing - Execute programs to run test cycles on the devices, and validate performance. With the higher speeds of I2C and SPI supported by the Promira platform, the read and write times can be significantly shortened, saving time and money during the test process.
  • Support - Not all equipment is portable and cannot easily be brought into the shop or factory for maintenance and repair (an ATM for instance). For complete customer service and in the field support, include the pocket-sized Promira platform in the field service kit for on-site trouble-shooting and repair. (Listen to this interview for more details.)
 Promira Serial Platform supports SPI slave/master  Aardvark I2C/SPI Host Adapter

Figure 1: Promira Serial Platform
High Speed I2C/SPI via USB, Ethernet, High Speed

Figure 2: Aardvark I2C/SPI
Host Adapter Low-Cost All-Purpose Tool

For some projects, you may find the low-cost Aardvark I2C/SPI Host Adapter as the effective tool to function as a master or slave for I2C or SPI protocols. The Promira Serial Platform expands those capabilities with many advanced features, including higher speeds, built-in level shifting, providing up to 200mA to the target devices, and communication via Ethernet or High-Speed USB.

Additional resources that you may find helpful include the following:

If you have questions about our host adapters or other Total Phase products, feel free to email us at sales@totalphase.com, or if you already own one of our devices and have a technical question, please submit a request for technical support.

Quickly Design and Verify I2C Prototypes with the Aardvark I2C/SPI Host Adapter, a Beagle I2C/SPI Protocol Analyzer and an API Script

$
0
0

Total Phase tools are well-known for analysis, trouble-shooting and debugging, as well as programming and testing devices on the production floors – do you know how well our tools work for prototyping and debugging new design concepts? Here is an example of how two easy-to-use tools; the Aardvark I2C/SPI Host Adapter and the Beagle I2C/SPI Protocol Analyzer, can be used to prototype an I2C embedded system.

Aardvark I2C/SPI Host Adapter Beagle I2C/SPI Protocol Analyzer

Figure 1: Aardvark I2C/SPI Host Adapter

Figure 2: Beagle I2C/SPI Protocol Analyzer

In this example, the prototype design is a subsystem that monitors the acceleration and vibration of a remote-controlled vehicle. Here is the list of the tools used for this project:

  • The Aardvark adapter acts as the I2C master and is used to poll the accelerometer for its current position relative to gravity.
  • A custom GUI application is created using the Aardvark API to control the Aardvark adapter to collects and visually display accelerometer’s orientation in 3D.
  • A third-party I2C/SPI 3-Axis accelerometer board is used for simulating the accelerometer.
  • The Beagle analyzer and Data Center Software is used to non-intrusively capture the sent between the Aardvark adapter and the accelerometer for detailed analysis and verification.
  • PC (can be Windows, Linux, or Mac)
  • 10-Pin Split Cable
  • 2 USB cables

Here’s an overview of the steps to run and analyze this prototype:

  1. Connect the Aardvark adapter and the Beagle analyzer to the computer with USB cables.
  2. Connect the accelerometer board to the Aardvark adapter. Connect the female end of the 10-pin header cable from the Aardvark adapter to the male end of the header socket on the board labeled “Aardvark.”
  3. Connect the Beagle analyzer with the female-end of the 10-pin header socket to the 10-pin split cable. Then connect the 10-pin split cable to SDA, SCL and Ground cables as labeled on the board.
  4. Launch the customized API software.
  5. Launch the Data Center Software: Connect the Beagle analyzer, set the Device Settings (I2C) and the Capture Settings, and then Run Data.
     DC-setup
    Figure 3: Setting Up Data Center Software
  6. For simulation data, move the accelerometer board and observe and real-time data, which can be saved for further analysis.
 Data Center Real-Time Data
Figure 4: Real-Time Data Viewed on the Data Center Software
 Setup for Prototyping

Figure 5: Equipment and Software Setup for Real-Time Prototyping

Additional resources that you may find helpful include the following:

If you have questions about our host adapters, protocol analyzers or other Total Phase products, feel free to email us at sales@totalphase.com, or if you already own one of our devices and have a technical question, please submit a request for technical support.


USB Power Delivery Analyzer Summary and Resources

$
0
0

Earlier this week we announced the availability of a new product – the USB Power Delivery Analyzer.  With a very competitive price point, this early entrant into the ecosystem is a Type-C connector sniffing dongle, able to act as USB 3.1 Gen 2 data pass through while simultaneously recording traffic on CC1 or CC2.   Your HDMI, DVI, and Thunderbolt traffic are also passed through, giving you the perfect opportunity to view the power negotiation and then watch the screen come to life as soon as the negotiation is complete.

 USB Power Delivery Analyzer

Figure 1: USB Power Delivery Analyzer

Total Phase worked closely with Google to bring this product to life.  Originally part of Google’s Chromium project (code named “Twinkie"), when coupled with the open source PulseView visualization software this matchbox-sized device enables easy monitoring and decoding of CC1/CC2 (configuration channel), while concurrently passing through USB 2.0 and USB 3.1 traffic (up to 10 Gbps).

The power negotiation, including alternate video display modes (VDM) for HDMI, Display Port, and Thunderbolt are monitored on the CC1/CC2 lines and transmitted to the analysis PC via the included USB A to USB Micro-B cable.

The open source PulseView software provides a digital representation of the negotiation between host and source allowing users to decode the BMC and PD packets.

PulseView display of captured power delivery readings

Figure 1: PulseView Software - View of Captured Data

Additionally, the USB Power Delivery Analyzer can be used as a Power Sink displaying different colored-LEDs based on the voltage (5V, 20V and other).

Additional resources that you may find helpful include the following:

If you have questions about our host adapters, protocol analyzers or other Total Phase products, feel free to email us at sales@totalphase.com, or if you already own one of our devices and have a technical question, please submit a request for technical support.

How to Monitor and Analyze USB Power Delivery with the USB Power Delivery Analyzer

$
0
0

Delivering power over USB has become increasingly more important, as many consumer products and IoT devices are becoming more complex and require more power and better power supply negotiation. In response to this demand, the new USB Type-C standard, along with the also-new USB Power Delivery (PD) spec, was created to meet these growing demands.

Do you know how well your product works in this environment? Our new USB Power Delivery Analyzer gives developers the visibility and transparency to debug their USB PD applications.

USB Power Delivery Analyzer

Figure 1: USB Power Delivery Analyzer

We'll show you an example of how to monitor your USB PD system using the USB Power Delivery Analyzer. This example monitors power delivery between a SanDisk USB Type-C Flash Drive and a Google laptop with Type-C receptacles. For more detailed step-by-step instructions, please refer to our knowledge base article Monitoring Flash Drive Power Delivery Using USB Power Delivery Analyzer, Sigrok and PulseView. Of course, you can modify the steps for other devices and setups.

The equipment used in this example:

Overview of the setup:

  1. Connect the Chrome laptop power supply between the power source and the Chrome laptop Type-C receptacle.
  2. Using a cable, connect the USB Power analyzer to the Linux laptop.
  3. Connect the USB Power analyzer target USB plug to the Chrome laptop Type-C receptacle, and the USB Power analyzer target USB receptacle to the Flash Drive USB Type-C plug.
    System Setup for USB Power Delivery Measurements  Closeup of System Setup for USB Power Delivery Measurements
    Figure 2: System Setup

    Figure 3: Close-up of the USB Power Analyzer Setup

  4. Launch the Ubuntu Linux system.
  5. Download and install the USB Power Delivery Analyzer software packages and the Ubuntu software.

Capture, Monitor and Analyze the USB trace:

  1. Open a software terminal and activate the Sigrok application.  You should see the light on the USB power analyzer blink red and green, and then a blue light. The blue color indicates the USB power analyzer is capturing data.
  2. Open another terminal and activate the PulseView application. You can now set up this application and monitor the captured data as shown below:
 Realtime Data of USB Power Delivery Measurements

Figure 4:  Real-Time Captured Data

Additional resources that you may find helpful include the following:

If you have questions about our USB Power Delivery Analyzer or other Total Phase products, feel free to email us at sales@totalphase.com, or if you already own one of our devices and have a technical question, please submit a request for technical support.

How much power can be delivered to downstream devices like I2C and SPI EEPROMs from the USB port when using the Aardvark I2C/SPI Host Adapter?

$
0
0

Question from the Customer:

I have a project where I’ll be using the Aardvark I2C/SPI Host Adapter, powered by its USB port, to test and provide power to I2C and SPI EEPROMs. I have a couple of questions:

  • Does it matter if the USB port (that is powering the Aardvark adapter) is from a USB hub or a USB host controller?
  • I’ll be writing up a program to test these devices. How do I set up pins 4 and 6 on the Aardvark adapter to provide power?

Response from Technical Support:

Thanks for your questions! The Aardvark adapter is compatible with USB hubs as well as USB host controllers. However, for your use, we recommend connecting the Aardvark adapter to a USB host controller.

 Aardvark I2C/SPI Host Adapter

Figure 1: Aardvark I2C/SPI Host Adapter

  • USB hubs are rated to provide a maximum of 100 mA per USB device, which is about how much power the Aardvark adapter itself will consume.
  • If the Aardvark adapter is directly plugged into a USB host controller, that USB port could provide up to 500 mA, which leaves approximately 400 mA for any downstream target device.  In addition to the power consumption of the devices, the Aardvark adapter can drive the output signals with up to 10 mA current, source or sink. The Aardvark adapter always reports itself to the host as a low-power device (<100 mA). Based on this specification, we strongly recommend not drawing large amounts of current from the USB host. For details about signal level and voltage ratings, please refer to section 2.2 of the Aardvark I2C/SPI Host Adapter User Manual.

Regarding the pins to use to deliver power from the Aardvark adapter, the Aardvark adapter is configured to perform, as listed below:

  • NC/+5V (Pin 4): I2C Power
  • NC/+5V (Pin 6): SPI Power

By default, these pins are left unconnected when the Aardvark adapter is shipped. Setting up these pins depends on the hardware version of the Aardvark adapter.

  • For our current Aardvark models, hardware version 2.00 or later, you can switch pins 4 and 6 on/off using the software API, specifically the command aa_target_power. For additional information about API commands, please refer to section 5 of the Aardvark I2C/SPI Host Adapter User Manual.  For more information, you can also refer to our knowledge base article "Using the Aardvark with Python on 64-bit Windows".
  • For older Aardvark adapters of versions earlier than 2.00 (before 2013), in addition to using the API commands, jumpers inside  the Aardvark must be set up.  To connect VDD to pins 4 and 6, connect jumpers J301 and J302. (Note:  opening the Aardvark enclosure will negate any hardware warranty).

Additional resources that you may find helpful include the following:

We hope this answers your questions. If you have other questions about our host adapters or other Total Phase products, feel free to email us at sales@totalphase.com, or if you already own one of our devices and have a technical question, please submit a request for technical support.

It’s so Quick and Easy to Capture, Analyze, and Debug USB Data with Your Beagle USB Protocol Analyzer

$
0
0

Question from the Customer:

I am new to USB and just purchased my first Beagle USB Protocol Analyzer. The product manual  does a splendid job explaining how USB works and the Data Center Software User Manual illustrates how easy it is to start a capture.

What I am looking for is a simple, straightforward path to getting started - after I connect the Beagle USB 12 Protocol Analyzer to the software and start capturing the data, how do I wade through the data? Do you have tutorials for the more novice users like myself to get started, and maybe a few other tutorials to help bring me up to a more advanced level?

 Beagle USB 12 Host Analyzer for Analyzing Raw Data Packets

Figure 1: Beagle USB 12 Protocol Analyzer
Full/Low speed USB 2.0 Data Descriptor Parsing

Response from Technical Support:

Thanks for your question! In addition to the user manuals, we have many resources for you to learn how to use the Beagle USB 12 Protocol Analyzer. For starters, we recommend the Beagle USB 12 Protocol Analyzer Quick Start Guide. It gives you a good jumpstart about using the Beagle analyzer with the Data Center Software: how to configure the Beagle analyzer for the desired speed, capture USB data, and then save or export the data for future analysis.

For easy to follow demonstrations about using the data, we have two videos that may be useful to you. Both videos refer to using a Beagle 480 analyzer - they also apply to the Beagle 12 analyzer because the Data Center software is used for both devices.

 

 USB Debugging using a Real-Time USB Bus Monitor Video Using the Bus Tree Feature of the Data Center Software for USB Debugging and Analysis Video
 USB Debugging using a Real-Time USB Bus Monitor Video  Using the Bus Tree Feature
of the Data Center Software for
USB Debugging and Analysis Video

Additional resources that you may find helpful include the following:

We hope this answers your question. If you have other questions about our protocol analyzers or other Total Phase products, feel free to email us at sales@totalphase.com, or if you already own one of our devices and have a technical question, please submit a request for technical support.

The Beagle USB 480 Protocol Analyzer: Advanced Debugging Using the Digital I/O Port

$
0
0

Introduction

USB is everywhere. The familiar ports can be found in wide variety of applications: from consumer devices like smartphones and laptops, to infotainment systems in newer automobiles, and of course, embedded systems.

With its growing presence in electronic devices, the popularity of USB is continuing to create a need for improved development, support, and testing processes. Developers are faced with the challenge of keeping up with these new demands – specifically supplying applications for debugging these USB applications more efficiently and with more detailed real-time data. Total Phase has kept up with demand and delivers the tools needed to meet your USB development challenges.

The Beagle USB 480 Protocol Analyzer monitors USB traffic at Low, Full and High Speeds. But that’s not all; it is designed to do much more  – utilizing the DIN 9 port will provide powerful, advanced troubleshooting by allowing you trigger debuggers and external logic, and correlate what’s occurring in USB with the data in your embedded system.

This application brief describes various trouble-shooting techniques applying the Beagle analyzer's USB monitoring capability with the digital I/O port with the Total Phase Data Center Software.

 Beagle USB 480 Protocol Analyzer  

 

Beagle 480 USB Protocol Analyzer - Digital Port Pinout

Figure 1: Beagle USB 480 Protocol Analyzer Figure 2: DIN 9 Port Details:
Pin 1-4 input; Pin 5-8 output; Pin 9 ground

How the Data Center Software Works with the Beagle Analyzer

The Data Center Software, connected to the Beagle analyzer, displays and filters captured USB traffic, all in real-time. The data can be parsed and filtered and for high-speed devices, class-level decoding can be applied. For advanced troubleshooting, triggers can be set up, which include synchronizing to external logic.

Tracking and Correlating USB and Non-USB Events

Here is an easy and straightforward example of how the I/O ports can be utilized to monitor the status of your USB code, with the additional visibility and feedback of what your code is doing.

Configure the firmware on the DUT to output signals or toggle when certain tasks start and when they end, such as specific data patterns or a series of packets. These signals can be set up for more than task, each assigned to a separate output pin. An example setup can include:

  • Assign one pin to a low-level USB task
  • Assign a second pin to the higher-level class
  • Assign another pin to the user software

Trigger the Debugger and Find the Code Problem

In the process of debugging USB applications, it can be difficult pinpoint the exact nature of errors.  If the embedded system is paused, the USB connection will be interrupted and your connection will be cut.

The Beagle analyzer, with the Data Center software, enables you to step through the code for the USB DUT, while seeing the USB traffic at the same time, giving you the tools you need to identify the issue and where it is in your code

Using the Data Center software, you can set up data match triggers and feed the triggers into your debugger to create break conditions, all in real-time.  This allows you to choose a specific USB event and associate it with a specific section of your code, all through the Beagle analyzer’s digital output.  In addition to data matches, you can trigger on other USB packet types such as SETUPs, ACKs, corrupted packets, and more.

Data Center Software View Panel
Figure 3: Data Center Software Viewing Panel

 Synching for Reverse Engineering

For reverse engineering, you can set up the analyzer to accept triggers, based on a specific data pattern from the target device. Using this pattern synchronized to the data on the bus, you will be able to "lock in" and start read messages that are sent and received.

Synching with External Test Systems

Not all problems are due to erroneous digital signals; problems can occur in the analog domain, such as voltage spikes or ground bounce that cause random failures, or failures that only occur at specific data rates. These problems are very difficult to troubleshoot – especially if your only debug tool is an oscilloscope. But synchronize the oscilloscope with the Beagle analyzer and lock into the details. For these challenges, the Beagle 480 analyzer can be used to trigger an oscilloscope when it sees an erroneous packet, allowing you to correlate the analog data on the oscilloscope to that problem. Having such details can help you repeat the condition of the problem, and then find the problem in a much tighter range, that is much easier to work with.

Conclusion

As you can see, the Beagle USB 480 analyzer provides USB debugging capabilities beyond that of just monitoring USB data.  Using the digital inputs and outputs give engineers additional visibility into their application by synching the analyzer with external test devices, such as debuggers and oscilloscopes.  With the complex embedded systems that engineers are designing today, USB is only part of the picture and advanced debugging tools and strategies are a requirement for developing solid products. The Beagle USB 480 analyzer satisfies this requirement by being able to correlate USB events with what is occurring with the rest of the system, drastically reducing development time and streamlining the debugging process.

Additional resources that you may find helpful include the following:

If you have other questions about our protocol analyzers or other Total Phase products, feel free to email us at sales@totalphase.com, or if you already own one of our devices and have a technical question, please submit a request for technical support.

Viewing all 704 articles
Browse latest View live