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

What Do Emissions Control, Diagnostics and Troubleshooting, OBD-II and CAN Protocol Have to Do with Each Other?

$
0
0

As mentioned in a previous article, What’s New About CAN FD?, the creation of the Control Area Network (CAN) bus started in 1983 at the Robert Bosch Company.

After finalizing the first design, the CAN protocol was introduced to the Society of Automotive Engineers (SAE) in 1986. In 1991, the CAN protocol was publicly released by its usage in the Mercedes Benz W140.  Since then, the conversion of mechanical devices to electrical components fabricated with integrated circuits has continued to grow. In addition to providing more features and lighter, smaller cars, the CAN bus has been integral for managing diagnostics and in 1996, became an essential part of environmental emissions control.

How and Why OBD-II Started

The On-Board Diagnostics (OBD-II) has been heavily used for monitoring emissions control and to minimize the pollution generated from fuel-driven vehicles. In 1996, OBD-II became mandatory for all cars and light trucks sold in the United States. In 2005, heavy duty vehicles were included.  In 2001, the European On-Board Diagnostics (EOBD) standard became mandatory for all gasoline powered vehicles sold in the European Union. Diesel powered vehicles were added in 2004.

How OBD-II Helps the Automotive Industry

Check Engine Light

You’ve probably seen that Check Engine light turn on and stay on, and after it’s been on long enough, you take it to the mechanic for diagnostics. The mechanic connects the OBD-II scanner to the OBD-II port of your vehicle to read and interpret the Diagnostic Trouble Codes (DTC). Many of these codes are related to performances that affect emissions.

Manufacturers also create codes to monitor their vehicles, a method of collecting data to determine what can be improved, as well as find defects and take remedial action. How about other information?

OBD-II Specification Includes CAN Protocol

The CAN protocol is one of the transport protocols of the OBD-II specification and is normally part of the OBD-II Data Link Connector (DLC) connector.  A universal DLC connector is illustrated below:

ODB-II PORT

Pin 2 - J1850 Bus+
Pin 4 - Chassis Ground
Pin 5 - Signal Ground
Pin 6 - CAN High (J-2284)
Pin 7 - ISO 9141-2 K Line
Pin 10 - J1850 Bus
Pin 14 - CAN Low (J-2284)
Pin 15 - ISO 9141-2 L Line
Pin 16 - Battery Power

In addition to gathering DTC information, the OBD-II connector can be used to access raw CAN bus data, which can be helpful when important information is not available via OBD-II or manufacturer standards.

Diagnostic Tools for Analyzing Raw CAN Data

In addition to the OBD-II connector under the dashboard, there may be additional connectors under the hood of the vehicle, such as access points that are specific for the CAN bus. Vehicle diagnostics with voltage meter and laptopTo look into the details of CAN data packets, Total Phase offers a variety of CAN tools, including free software options, API commands and easy to use GUI , to fine-tune the troubleshooting and diagnostics. Like the meter shown above, a Total Phase Komodo CAN Duo (or Solo) Interface can be connected between the CAN bus and your laptop, allowing you to non-intrusively monitor and filter the data in real time, as well as save for further analysis. Here is a video that demonstrates using a Komodo interface with Data Center Software.

If you’d like more information about Total Phase developments for CAN tools, please contact us at sales@totalphase.com.


How Do I Apply Low Level Commands to Test a Target SPI Device with Retries?

$
0
0

Question from the Customer:

We need to apply low level commands to determine if the target SPI device is awake. Part of that evaluation is the number of retries it takes. We’ve been using the Aardvark I2C/SPI Host Adapter – would it work for this test case? Are there some limitations we should know?

Response from Technical Support:

Thanks for your questions! The Aardvark Software API can provide the level of commands that you are looking to use. We also have a recommendation if you need higher speeds.

 

Software API Provides Low Level Commands

You can use the Aardvark Software API for your custom application. The Aardvark API supports Windows, Linux, and Mac operating systems, and several languages (C, Python, C#, and VB) and includes example applications that can be used as is or customized as needed.

Regarding sending retries to the target device, you can customize your application with several loop conditions as well as take count of the number of retries.

 

Aardvark Adapter Operations and Limitations

Here is an overview of the Aardvark adapter.

The Aardvark adapter is a general-purpose device that can actively communicate on an I2C or SPI bus, providing master and slave capability along with other I2C/SPI features.

Speed

  • Supports I2C master/slave up to 800 KHz
  • Supports SPI master up to 8 MHz
  • Supports SPI slave up to 4 MHz

Data Buffers

The Aardvark adapter immediately sends the data to the PC, the PC buffers the data to the OS, and the API reads the data from the OS.

  • The API receive buffer size is 16 Kbyte.
  • The I2C/SPI slave response size is 64 bytes.

Data Rates

The Aardvark adapter can only transfer up to 8 bits SPI data without td delay.

  • The maximum bitrates are only achievable within each individual byte and do not extend across bytes.
  • There are various overheads and delays that decrease the overall speed of data transfer, such as SS# assertion to first clock (t1, 10 - 20 us), setup time for each byte (td, 7 - 9 us for SPI master, 4 us min for SPI slave), last clock to SS# deassertion (t2, 5-10 us), and time between start of bytes (tb, min 10 us for SPI slave).
  • The GUI and the OS may add additional delay due to internal overhead. In addition, the Aardvark adapter also has a 2ms round-trip latency, which is caused by the full-speed USB link between the computer and the Aardvark adapter. These delays will further reduce the throughput across multiple transactions.

Recommended Platform for Greater Speed

For greater speed and other advantages, we suggest taking a look at the Promira Serial Platform. One difference is how their API functions are executed.

Aardvark Software API vs Promira Software API

For Aardvark Software API, everything is a block function that waits for the response from the device. It means any function takes at least USB latency which is 1-2ms. This is a bit slower than other devices, as the Aardvark adapter uses USB Full-speed (12 Mbit/s).

The Promira Serial Platform uses Ethernet and Ethernet over USB, which is faster than Full-speed USB.  In addition, Promira Software I2C/SPI API Active provides queue functionality so that multiple commands can be queued up and shifted to the device at once. For details about queuing, please refer to the Queue Overview section of the Promira Serial Platform I2C/SPI Active User Manual.

More Differences - Compare Total Phase I2C/SPI Tools

What else is different between the Aardvark adapter and the Promira platform? For a quick comparison, here is a table that summarizes the features of the Promira Serial Platform and other Total Phase I2C/SPI tools:

Compare the features of the Promira and the I2C/SPI Active Applications, and the Cheetah and Aardvark host adapters.

We hope this answers your questions. Additional resources that you may find helpful include the following:

More questions? More ideas? Send us a message at sales@totalphase.com. You can also request a demo that applies to your application.

Request a Demo

USB Power Delivery Analyzer Supports the New USB 3.2 Specification

$
0
0

Over the years, USB-IF, the organization that oversees USB technology, has progressively released improved USB specifications that offer significantly faster speeds and additional features. From USB 2.0 that introduced High-speed USB to USB 3.1 Gen 1 and Gen 2, we have seen major developments since USB was first introduced in 1996, especially with improvements in data rates.

How USB Performance has Advanced since 1996

In 2017, USB-IF released its latest specification, USB 3.2, which offers the fastest data transfer rates yet. This version of the specification allows for USB speeds of up to 20 Gbps. This is accomplished by including two-lane operation using existing USB Type-C cables. Because of this configuration, it is able to operate twice as fast as USB 3.1 Gen 2, which runs at 10 Gbps. It is important to note that cable length must be sub 1 meter for passive cables to experience the increase in speed.  This version of the specification utilizes the existing SuperSpeed USB physical layer data rates and encoding techniques. It also includes minor updates to the hub specification to address increased performance.

Advanced USB Analysis with the USB Power Delivery Analyzer

Total Phase’s USB Power Delivery Analyzer supports USB 3.2 devices.  The USB Power Delivery Analyzer works in conjunction with our Data Center Software to capture, decode, and display Power Delivery (PD) traffic on the CC1 and CC2 lines in real time. The Data Center Software also monitors and presents the current and voltage bus measurements in an easy to read, correlative graph. This graph shows the current for VBUS and VCONN and displays voltage for VBUS, VCONN, and CC1/CC2 lines. Since all widgets in the Data Center Software are correlated, matching specific data transactions in the trace with power measurements on the graph is easy. The PD power negotiation data can be seen in the transaction log, and all other USB 2.0, USB 3.1 Gen 1 and Gen 2, and USB 3.2 signals are able to pass through. The Data Center Software has also released new features to support PD 3.0 which include extended messages, handling of new messages, and DisplayPort VDM decoding.

Capture and View USB Power Delivery Data in Real Time

The Data Center Software transaction view displays captured data in real time, monitors and plots current and voltage levels, and provides details about the underlying PD data:

Power Delivery Analyzer information displayed via Data Center SoftwareLearn more about the USB Power Delivery Analyzer or our Data Center Software to see how they can work for your projects. Have any questions?  Feel free to contact us at sales@totalphase.com. You can also request a demo that applies to your application.

Request a Demo

How Can I Run Parallel Scripts with the Promira Serial Platform To Toggle GPIO During SPI Writes?

$
0
0

Question from the Customer:

I am using the Promira Serial Platform with Promira Software API I2C/SPI Active. I’m looking to create a script (in Python) so that the SPI and GPIO commands occur in parallel; the GPIO toggles during SPI writes. Here is a summary of what I’m looking to do:

 

start gpio toggle;
submit spi write queue;
delay;
stop gpio toggling;

How can I make that work?

Response from Technical Support:
Thanks for your question! You can toggle GPIOs in parallel while the SPI lines are toggling by using separate queues to execute GPIO and SPI commands.

How to Create Separate Queues (Multiple Threads)

To create a separate queue for GPIO:

gpio_queue = ps_queue_create(conn, PS_MODULE_ID_GPIO);

 

To create a separate queue for SPI:

spi_queue = ps_queue_create(conn, PS_MODULE_ID_SPI_ACTIVE);

Here is a summary of what you could do:

The queue handles gpio_queue and spi_queue can be used to send commands in each queue.

For SPI and GPIO queue operations to perform simultaneously:

  • Create a routine to queue GPIO toggling functions in a GPIO queue
  • Call that routine by submitting the queue in a separate thread before spi_write starts.
  • Once the SPI write operation is complete, you can stop the thread execution and destroy GPIO queue with the API command ps_queue_destroy.

For more information about queuing and related commands, please refer to the Queue Overview and API Documentation sections in the Promira Serial Platform I2C/SPI Active User Manual. Also, functional API programs are provided with Promira Software API I2C/SPI Active, which can be used as is or modified as needed. For the operations you need, we suggest looking at spi_eeprom.py and modifying the commands for your specifications.

We hope this answers your question. Additional resources that you may find helpful include the following:

We hope this answers your question. Need more information? You can contact us at sales@totalphase.com, as well as  request a demo that applies to your application, as well as ask questions about our Total Phase products.

Request a Demo

How Can I Best Read the Packets from the USB Power Delivery Analyzer to Ensure I Capture All the Data?

$
0
0

Question from the Customer:

I’m using the USB Power Delivery Analyzer and I have questions about using the Software API.

  • Does the API only read from the hardware buffer of the USB PD analyzer?
  • API - Start Capture - How does this work? Does it start monitoring to save the data from any buffer or a specific buffer (hardware or software buffers)?
  • API - Read USB PD packet – My understanding is this API reads a single packet. Is there a delay between consecutive read requests? My concern, would any packets between read commands be missed? Is there a time limitation, such as a delay, I need to factor in for programming the readings?

As an alternative, could I use the Data Center Software to read all the data packets?

Response from Technical Support:

Thanks for your questions! It is possible to use the Data Center Software to monitor PD data packet captured with the USB Power Delivery Analyzer.  When using the Data Center Software, you can configure the capture size.   When using the API, in addition to Start Capture, there are three specific API commands for reading data from the USB PD Analyzer.

 

Using the Data Center Software to Configure Capture Size

The capture size is dependent upon your computer’s RAM size.  You can set the capture size limit in the Data Center Software Capture Settings menu.  To configure the capture size:

  1. Choose Analyzer-> Capture Settings.
  2. Use the slide bar to modify the capture size.

Capture Settings via Data Center Software

 

Using API Functions to Read Capture Data

The internal hardware buffer of the USB Power Delivery Analyzer is 1024 packets, which contains both empty and valid packets. In the hardware buffer, only half of the packets are filled with the incoming packets. To read the packets, read functions must be performed in the mean interval – this avoids the loss of packets.

The Start Capture (pd_capture_start) API function is used to start monitoring packets. About pd_capture_start:

int pd_capture_start (Pd pd);Arguments:
pd  - handle of a PD analyzer

Return Value:
A PD status code of PD_OK is returned on success.

 

We suggest downloading the USB Power Delivery Analyzer Software API and referring to the example file capture_usbpd. Using this program, you can save the transaction to a file and then analyze the captured information.

 

API Commands to Read Packets

  • Read USB PD API – reads from the analysis system – the internal buffer
  • Read USB PD API - returns only one packet for a single API call
  • Read USB PD Raw Packet API - reads from the Hardware buffer

 

More API Information

For more information, please refer the API Documentation section of the USB Power Delivery Analyzer User Manual.   Additional resources that you may find helpful include the following:

We hope this answers your question. Need more information? You can contact us at sales@totalphase.com. You can also request a demo that applies to your application.

Request a Demo

You Can Easily Create and Verify XML Part Files for your SPI Flash Device using Flash Center Software and Cheetah GUI Software

$
0
0

Question from the Customer:

I purchased a Cheetah SPI Host Adapter to read and write to a SPI Flash device and it is working well for that task. The board I am working on also contains a SPI FRAM (Cypress FM25V01) and I wonder if a device file can be created so that I can read/write to this part? I glanced at some of the Flash Center Software xml part files but it wasn't intuitively obvious how to set this up.

Response from Technical Support:

Thanks for your question! The Flash Center Software does not have built-in support for the Cypress FM25V01. However, you can write your own XML file for this device and add it to the parts library. For information, please refer to the section Adding Memory Devices in the Flash Center Software User Manual.

 

You Can Modify XML Part Files that Are Provided with Flash Center Software

We recommend starting with an existing part file for a similar device and then modifying the XML fields to match your particular device parameters.  The various fields such as the device ID and timing parameters are available in the device's data sheet.

As a reference for your own XML file, you can take a look at 'st-spi-flash-m25pe.xml' under parts in the Flash Center Software GUI installation folder.

 

Flash Center Software - easily program SPI devices Cheetah GUI Software

 

Verify Your XML Part Files with Cheetah GUI Software

To verify that your commands work, you can download the Cheetah GUI Software application,  connect to the Cheetah adapter and then manually send and receive commands. We suggest that you start with a simple READ ID command and work your way through the other commands.

For more information about using GUI, please refer to our Knowledge Base article Writing and Reading from SPI Flash Using Cheetah Adapter and Cheetah GUI.  This article provides detailed instructions on how to communicate with an SPI flash chip using the Cheetah adapter and the Cheetah GUI Software. You will need to modify it for the FRAM chip.

We hope this answers your questions. Additional resources that you may find helpful include the following:

More questions? More projects? You can contact us at sales@totalphase.com with your questions about Cheetah SPI Host Adapter and other Total Phase products. You can also request a demo that applies to your application.

Request a Demo

How Do I Filter Data on Two Addresses using Command Line Instructions?

$
0
0

Question from the Customer:
I have captured hours of data using Data Center Software (.tdc files). I’d like to filter data starting with a specific address, such as 0xF0 OR 0xFF. How can I do that? Also, is it possible to filter data on two addresses?

I’m also looking into using command line instructions (CLI), such as:

filter({'addr_10bit': _not(None), 'data': {_not((['^', 0xf0], 'hex')), _not((['^', 0xff], 'hex'))}, 'addr_unknown': False})

Do you have any guidance for implementing filters via the Command Line?

Response from Technical Support:
Thanks for your question! You can filter captured data in the Data Center Software. It’s easy to filter for a single address such as 0XF0 or 0xFF in the LiveFilter pane by entering the address under Device Address.  You can also identify the device in the device tree under the Bus Pane and right click to filter. You can filter data for two addresses using a two-stage process. The instructions are provided in the following sections.

Filter Data on One Address

  1. Click View -> navigator.
  2. Click on the LiveFilter tab
  3. Find the Address field.  For I2C, it is labeled “Addresses.” For CAN, the field is labeled “ID.” For USB, the field name is “DEV.”
  4. Enter the value of the desired address. In this case, 0XF0 or 0xFF.

Two-Stage Filtering for Two Addresses

It is possible to filter data for two addresses in the Data Center Software.  It takes two stages to complete:

  1. Open the .tdc file.
  2. Filter the data for address 0xF0 using the instructions above.
  3. Save a copy of the filtered data to a new .tdc file, by selecting the option Save only filtered view.
  4. Reopen the newly saved .tdc file.
  5. Filter the data for address 0xFF using the instructions above.

For more information about filtering a capture, refer to the section Filtering in the Data Center Software User Manual.

 

Two-Stage Filtering Using Command Line Instructions

The command line can be used, but the format must be correct. Here is an example of CLI that should work. Similar to above, it would be done in two stages:

 

Stage 1: filter({'addr_10bit': _not(None), 'data': _not(([0xf0], 'hex'))})
Stage 2: filter({'addr_10bit': _not(None), 'data': _not(([0xff], 'hex'))})

 

For more information about using CLI, refer to the section Command Line Window in the Data Center Software User Manual.

We hope this answers your question. Additional resources that you may find helpful include the following

Have more questions? Please contact us at sales@totalphase.com. You can also request a demo that applies to your application.

Request a Demo

How are CC2 and VCONN Voltages Measured with the USB Power Delivery Analyzer?

$
0
0

Question from the Customer:

I’m starting to use the USB Power Delivery Analyzer. Looking at the power measurements, I see different voltages for the CC2 pin and VCONN. My understanding is VCONN reads 5V, but the VCONN is the voltage on the non-used CCx pin, which will read at 3V.  Can you explain why the voltage readings are different?

Response from Technical Support:

Thanks for your question! Following are a summary of how the USB Power Delivery Analyzer takes measurements, and the specifications per pin.

How the USB Power Delivery Analyzer Measures Power

The USB Power Delivery Analyzer is rated for 3A continuous and up to 20V on VBUS. It has two different ADCs (analog-to-digital converters) – because of this, you may see a variation based on the setup and orientation - the CCx and VCONN voltages are read by different ADCs. There are also maximum reading levels per pin, as described below.

Maximum Voltage and Reading Levels per Pin

  • CC1 - 3.3V
  • CC2 - 3.3V
  • CC2 - 5.25 V,  3A: (V-Vconn and I-Vconn, respectively)
  • VBus 5.25 V max, 3A (V-VBus and I-VBus, respectively)

Details about USB Power Delivery Analyzer Voltage Readings

Here are details about the voltage measurements:

  • CC1/CC2 Voltage - Up to 3.3V – this reading is useful for "traffic indication".
  • VCONN Voltage - Measured on CC2 signal (pin B5) of the USB Type-C  receptacle. Note - you may need to flip the USB PD analyzer over if VCONN ends up on the CC1 signal pin (A5).
  • VCONN Current - Measured across a 0.015 Ohm shunt resistor between the CC2 (pin B5) USB Type-C receptacle and the CC2 (pin B5) USB Type-C plug.
  • VBUS Voltage - Measured via an INA231 ADC (analog-to-digital converter) on the VBUS lines of the USB Type-C receptacle connector pins A4, A9, B4, and B9.
  • VBUS Current - Measured via an INA231 ADC across a 0.015 Ohm shunt resistor between the VBUS input Type-C receptacle and the VBUS Type-C plug.

Additional resources that you may find helpful include the following:

We hope this answers your question. Need more information? You can contact us at sales@totalphase.com. You can also request a demo that applies to your application.

Request a Demo


How Much Power Can the Promira Serial Platform Provide to a Target System?

$
0
0

The Promira Serial Platform is a versatile tool that can be configured for a variety of use cases and applications. It has a field upgradeable design that allows for multiple protocols and speed rates, and offers some of the most advanced features within our line of tools.

One of these features is its power providing capability, which allows users work with a wide range of power and voltage levels in one device. The Promira can provide up to 200 mA supplemental power – 100 mA at 5 V and 100 mA available from 0.9 V- 3.3 V. It also has integrated voltage level shifting where it does not require a separate Level Shifter Board.

How do the Aardvark and Cheetah Host Adapters Compare?

Other Total Phase host adapters, such as the Aardvark I2C/SPI Host Adapter and Cheetah SPI Host Adapter, do not offer the same high-power or built-in level shifting capabilities as the Promira Serial Platform.  For instance, the Aardvark I2C/SPI Host Adapter can provide less than 100 mA to downstream devices; a maximum of 25 mA may be drawn from each pin:

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

With the Cheetah SPI Host Adapter, it is also possible to power a downstream target, such as an SPI EEPROM, but it is ideal if the downstream device does not consume more than 20-30 mA.

What the Promira Serial Platform Provides

The Promira platform is an advanced tool that surpasses these capabilities, allowing users to safely use the tool as a high-power source to power systems. For instance, it can provide low voltages compatible with a target system, but it can also can power up target systems using higher power levels when necessary.

 

How to Configure the Promira Serial Platform Power Features

Here is a quick step-by-step guide to configure the power features on your Promira Serial Platform:

  1. Connect the Promira Serial Platform to the respective target system and host PC.
  2. Open the Control Center Software and connect your Promira Serial Platform by clicking “Adapter” > “Connect”. Connect to device with matching serial number.
  3. Configure power preferences by clicking “Adapter” and choosing:
    1. Configure Target Power (pin 4, 6)
    2. Configure IO Power (pin 22, 24)
    3. Level Shift (0.9 V- 3.3V)
Configure Promira Target Power Promira-level-shift

For more information about the Promira Serial Platform, please visit the product page or the Promira Serial Platform datasheet.

Please contact sales@totalphase.com for any additional questions. You can also request a demo for your application.

Request a Demo

Continuity Testing of USB Type-C Cables Using the Advanced Cable Tester

$
0
0

Question from the Customer:

I am using the Promira Serial Platform with the Advanced Cable Tester – Level 1 Application on two functionally identical USB Type-C cables. However, the report doesn’t show these cables as identical: one cable passed everything on the physical wiring section, but the other cable failed on SBU1 and SBU2 under the physical wiring section. I have checked all wiring and functions of these two cables to make sure the setups are the same.  How are these results measured?

Response from Technical Support:
Thanks for your question! Here’s an overview about how the Advanced Cable Tester works:

Continuity Testing on USB Type-C Cables

For the digital pins, which are defined as SBU1, SBU2, DP1/DM1, and DP2/DM2, a simple continuity test is used to verify presence or absence. This test fails if the lines are AC coupled between the U and D ports of the Advanced Cable Tester.

This test consists of applying a voltage at one end of the cable and measuring the incoming signal at the far end of the cable. The inputs are weakly pulled to the voltage rail (supply voltage) to prevent false readings from a floating conductor.

Additional Information about the Advanced Cable Tester

For more information about the Advanced Cable Tester, we have some articles that may interest you:

Introduction to using the Advanced Cable Tester:

 

 

Advantages of Using the Advanced Cable Tester:

In this “Fish Fry” audio recording, our CEO, Gil Ben-Dov, talks about the advantages of using the Advanced Cable Tester.

Additional resources that you may find helpful include the following:

We hope this answers your question. Need more information? You can contact us and request a demo that applies to your application, as well as ask questions about our host adapters and other Total Phase products.

Request a Demo

What’s the New USB Power Delivery Protocol All About?

$
0
0

In its early days, the Universal Serial Bus protocol, commonly known as USB, was initially created and used as a vessel to power on and transfer data from one device to another. Initially many USB devices on the market required an external power adapter, and over time this proved to be costly and inefficient for manufacturers and users. The increasing need for a common source to supply power and efficiently charge devices initiated a new function for the USB cable; the USB interface was updated to offer charging capabilities on small devices that required 2.5 W-4.5 W of power.

 

A New Cable is Introduced

Today, many devices on the market are becoming increasingly technical, include more components, and require much more power to operate. To meet these new requirements, the USB-IF has introduced a new type of cable that is more advanced, powerful, and versatile than any other cable on the market, called USB Type-C. The Type-C cable comprises a receptacle with 24 pins, is fully reversible, supports USB data, power charging and video, and can handle up to 20 volts and 100w of power.

 

How is Power Charging Enhanced in Type-C?

Power Delivery (PD) is a protocol built within the structure of USB technology (including USB 2.0 to USB 3.2) of Type-C cables. Type-C offers unique CC lines where PD communication and negotiation can take place between devices, including power sources and power sinks. Once the negotiation has occurred, current and voltage are supplied through the VBUS; any further data transfer occurs on the High speed or SuperSpeed lines and does not interfere with the PD traffic.

 

What Functions does Power Delivery Have?

Each USB cable provides a charging standard of at least 5V of power, but with the newest Type-C technology, the voltage can go as high as 20V at 5A, which means that USB PD 3.0 can provide up to 100W power!

Because of the increased power capabilities, power management across the peripherals is an essential feature in Power Delivery communication. It allows for a “handshake” between the devices where the power source presents its power supplying capabilities, and the power sink accepts the power it is capable of handling.

If a power source can supply up to 20W of power, but the sink can only handle 10W, the negotiation process will establish this relationship and the source will only supply the lesser amount. Without this negotiation occurring, harmful power levels could be exchanged, causing shortages or overheating.

Bidirectional power allows for sources and sinks to become exchangeable with the power supply roles. Typically, sources are ports that supply power over the VBUS. They usually are considered downstream facing ports, where the USB data flows from the host or hub to the peripheral. A sink is a port that consumes power from the VBUS and normally is a type of device. It is possible for these roles to be swapped, where the source and sink are now performing the opposite function.

For instance, some laptops can operate using a dual role port where it “self-charges” from a local power supply, but it can also become a power source itself, allowing a connected cell phone to be “bus-powered” through a USB cable to gain a charge.

 

Total Phase Supports Power Delivery

Total Phase offers the USB Power Delivery Analyzer, which allows testers to monitor and capture real-time Power Delivery traffic on the CC1 and CC2 lines between two Type-C devices. While connected, it passes through any USB 2.0 or USB 3.2 signals, and enables capture of PD negotiation for power, USB data roles, and DisplayPort, or other Type-C alternate modes. Using the Data Center Software, users can monitor detailed sink/source charging level negotiation, test the interaction between source and sink, monitor upstream/downstream port data and power role swap, view current and voltage measurements, and much more. The newest release of the Data Center Software offers added support for PD 3.0 that offers extended messages, handling of new messages, and DisplayPort VDM decoding.

Have any questions about using the Power Delivery Analyzer for your project? Feel free to contact us at sales@totalphase.com. You can also request a demonstration for your application.

Request a Demo

What Are the Best Tools For Programming I2C and SPI Devices with OneWire Commands? Can LabVIEW Be Included?

$
0
0

Question from the Customer:

I have a project that uses the STMicroelectronics STM32F401RCT6 device. I need to open communication with 1-wire commands,  which would enable me to use microwire communication to operate the STM32F401RCT6 unit. We are using LabVIEW for this project.

How can I best approach this? Which tools do you recommend? Is LabVIEW available?

Response from Technical Support:

Thanks for your questions! The device that you are using, STM32F401RCT6, has both I2C and SPI interfaces. To communicate with peripherals, I2C uses two signals and SPI uses four signals. We have two devices that you can use for programming I2C and/or SPI devices:<br />

Following are our recommendations and suggestions for your setup.

You Can Use GPIO or I2C/SPI Interfaces for OneWire Commands

For 1-wire commands, you can use the GPIO interface - however the speed would be slower. For better performance, we recommend using either I2C/SPI interfaces for communication: Promira platform or Aardvark adapter.

 

LabVIEW Drivers

The Promira platform and the Aardvark adapter can be used to program devices using LabVIEW drivers.

Using the Promira Serial Platform with I2C or SPI Devices

The Promira™ Serial Platform is our most advanced serial device that offers many benefits.

Summary of Promira Platform Features and Advantages

There features are supported with all Active applications:

  • Integrated level shifting enables working at a variety of voltages ranging from 0.9 to 5.0 volts without additional accessory boards.
  • High-speed USB connectivity to the host system provides high performance for benchtop programming, testing, and emulation.
  • Ethernet connectivity enables remote control for automation.
  • With the ability to provide a total of 200 mA of power, the Promira platform can easily power your target device(s) - simplifies connectivity and troubleshooting.

You Can Customize the Promira Serial Platform for Your Setup

With the following applications, you can set up the Promira Platform as needed for your project.

  • I2C Active - Level 1 Application – supports high speed I2C programming up to 1 MHz, high performance debugging, and emulation; I2C programming speeds are twice as fast as the Aardvark I2C/SPI Host Adapter.
  • I2C Active - Level 2 Application - supports the I2C High Speed Mode specification: high speed I2C programming, high performance debugging, and emulation. Provides I2C programming speeds up to 3.4 MHz for Master and Slave.
  • SPI Active - Level 1 Application - supports clock speeds up to 12.5 MHz for master and 8 MHz for slave functionality: fast programming, ultra-high performance debugging and emulation. SPI programming speeds are over eight times faster than the Aardvark I2C/SPI Host Adapter.
  • SPI Active - Level 2 Application - SPI programming speeds are even faster than before - supporting clock speeds of up to 40 MHz for master and 20 MHz for slave functionality, the Promira platform equipped with the SPI Active - Level 2 Application provides fast programming, ultra-high performance debugging and superior emulation for your SPI protocol needs.
  • SPI Active - Level 3 Application - supports clock speeds up to 80 MHz for master and 20 MHz for slave functionality, ultra-high performance debugging and emulation.

Note – each application is licensed separately. Also, to install Level 2 and Level 3 applications, the lower level applications must already be installed.

Aardvark I2C/SPI Host Adapter Features

The Aardvark I2C/SPI Host Adapter is a cost-effective general device that supports these features:

  • I2C master and slave up to 800 kHz
  • I2C multi-master support
  • SPI master up to 8 MHz
  • SPI slave up to 4 MHz
  • GPIO with selectable pins

Compare Total Phase I2C and SPI Tools

Here’s a table so you can easily view and compare the features of our I2C and SPI tools:

Compare the features of the Promira and the I2C/SPI Active Applications, and the Cheetah and Aardvark host adapters.

Additional resources that you may find helpful include the following:

We hope this answers your question. Want more information? Please  contact us at sales@totalphase.com. You can also request a demo that applies to your application, as well as ask about our Total Phase products.

Request a Demo

Are Counterfeit Lightning Cables Safe to Use?

$
0
0

It seems Apple devices and accessories are ubiquitous these days. While it is common for Lightning cables to be used daily, it is not always clear which ones are safe and which ones can lead to problems down the road. The article, “Why Counterfeit Lightning Cables Kill iPhones” written by Motherboard, discusses an unrelenting issue occurring in the charging world of electronic devices, particularly with Apple iPhones.

 

Counterfeit Cables in Sheep's Clothing

There is an abundance of knock-off Apple iPhone chargers on the market, and while it may seem safe to use them with your iPhone or other Apple devices, it turns out they can actually harm your phone all the way down to the motherboard, causing irreparable damage.

The article discusses how some of the Apple accessories on the market are not MFi (Made for iPhone) approved, meaning that they are not reviewed and tested against Apple’s standards and specification compliances. Charging cables that are MFi approved have been permitted by Apple and are considered safe for use by the general public.  These cables will always include an MFi approved label.

 

Why Counterfeit Cables May Be Unsafe

Counterfeit cords that aren’t regulated are often produced with no safety precaution mechanism; they do not always include Apple’s certified E75 chip, which is a regulator of power allowances between the phone and the cable. Cables without this regulator chip, or cables with reverse engineered E75 chips, can cause the charger to overpower the iPhone and burn the Tristar (U2) chip on the motherboard.

The article mentions, "MFi cables are designed to work with an iPhone. The Tristar (or U2 chip) regulates the amount of power that your phone’s logic board can receive. A bonafide MFi charger has what’s called an E75 chip. The E75 is like a bouncer. It scans the crowd outside of the door, makes sure everything is chill, and then tells your phone that it’s okay go ahead and take in the voltage. Then, the E75 validates the message with a super-secret password. If you plug in a cord that doesn’t have an E75, you’ll see an "Accessory not supported" message on your phone. No password, no charging."

 

Permanent  Damage Can Occur with Unregulated Lightning Cables

Those that have been unfortunate enough to use these unregulated charging cords and have experienced phone damage may suffer these consequences permanently.

The article adds, "If you think you’ve already damaged your phone due to a bum charging cord, I’m afraid there’s no good DIY fix…swapping out the battery or changing the charging port won’t work. It’s the motherboard that needs a little TLC. The Geniuses at the Apple won’t be able to help, either—they can’t make repairs to the motherboard."

Moral of the story is that while it may seem trivial or too expensive to purchase an MFi approved cord, going with this option may actually be saving you a lot of grief and money in the end.

 

How Can These Problems Be Avoided?

Advanced Cable Tester

 

The good news is that Total Phase offers tools that help prevent situations like these for manufacturers and sellers. The Total Phase Advanced Cable Tester is a tool that thoroughly tests cables against multiple standards, including USB and Lightning. Our easy to read pass/fail confirmation is designed to quickly provide insight of a good cable, which can be useful for those in a manufacturing setting. Our tests include continuity checks on pins preventing shorts on the VBUS to data signals, measuring DCR and IR drops on the VBUS and GND power pins, verifying and comparing the E-marker capabilities to advertised data, and even testing for signal integrity of SuperSpeed and High-Speed USB 2.0 pairs to ensure they meet the relevant specifications.

 

Benefits of the Advanced Cable Tester

The main user interface of the Advanced Cable Tester provides users with preset test profiles, which are standard test profiles provided for common cable types. The Advanced Cable Tester supports testing of both Full-Featured and USB 2.0 Type-C cables. Adapter cards are available for legacy connectors, enabling testing of additional types of cables, including Lightning:

  • Standard-A to Micro-B (USB 2.0 & USB 3.1)
  • Standard-A to Type-C (USB 2.0 & USB 3.1)
  • Standard-A to Lightning (USB 2.0)
  • Type-C to Micro-B (USB 2.0 & USB 3.1)
  • Type-C to Lightning (USB 2.0)
  • Lightning to Micro-B (USB 2.0 & USB 3.1)

Test profiles:

Test profiles

For more information about the Advanced Cable Tester, please visit:

Here is  the link to the entire article “Why Counterfeit Lightning Cables Kill iPhones”.

 

Have questions? Contact sales@totalphase.com for any additional information.

How Do I Set Up SDC or MMC Cards in SPI Mode to Verify Files were Successfully Programmed?

$
0
0

Question from the Customer:

I would like to use the Aardvark I2C/SPI Adapter in SPI mode and the Aardvark Software API to communicate with SDC and MMC cards. I need to verify that files were successfully programmed in the production environment. Can I search for files on an SDC Card using the Aardvark I2C/SPI Host Adapter?

Response from Technical Support:

Thanks for your question! You can search for and verify files on SDC or MMC cards, but first you must set up the SDC or MMC cards in SPI mode. For this process, we recommend using the Promira Serial Platform and Promira Software API I2C/SPI Active. This setup requires setting up the sequence using low-level bit level programming. You can do this sequencing with the Promira platform, which can be configured to communicate with various bit-size bytes (2-32 bits), a feature that the Aardvark adapter does not support.

 

Accessing SDC and MMC Cards in SPI Mode

Here is an overview about communicating with the SDC/MMC cards via SPI:

  • SDC/MMC cards can be accessed using an SPI bus, as the physical pins are similar.
  • Before the cards can be accessed using the SPI bus, they must to be put in SPI mode. Putting a card in SPI mode requires a specific power-up sequence.

ELM-ChaN published an article that describes the process to set up SDC and MMC cards in SPI Mode, which is performed during the initialization sequence.

 

The Required Power-Up Sequence for SPI Modes

Here is a summary of the power-up sequence:

  1. Power ON
  2. Wait 1 ms
  3. Send at least 74 clock pulses on the clock pin while CS and DI are high. After this step, the card will be in SPI mode.

The following diagram shows the details of this operation:

 SDC/MMC Initialization Flow Chart

Source: ELM-ChaN

Advantages of Using the Promira Serial Platform

As previously mentioned, the Aardvark adapter does not support the required initialization sequence, as it only supports 8 bit words.  We recommend the Promira Serial Platform because it supports variable bit-length. There are multiple SPI Active applications available for the Promira platform.  The  SPI Active - Level 1 Application fulfills the requirements that you specified. Here is a summary of the features of the three levels of SPI Active applications:

  • SPI Active - Level 1 Application supports active communication on the bus, including high speed programming up to 12.5 MHz for Master and 8 MHz for Slave.
  • SPI Active - Level 2 Application supports active communication on the bus, including high speed programming up to 40 MHz for Master and 20 MHz for Slave. Dual SPI is supported.
  • SPI Active - Level 3 Application and active communication on the bus, including high speed programming up to 80 MHz for Master and 20 MHz for Slave. Dual and Quad SPI are also supported.

NOTE:  using the SPI Active - Level 2 and Level 3 Applications require the installation of the previous Active levels.

The Promira platform also has built-in features, such as level shifting, more power to deliver to target devices, Ethernet connectivity and more. For a complete list of features, please refer to the Promira Serial Platform data sheet.

Additional resources that you may find helpful include the following:

  • Promira Serial Platform I2C/SPI Active User Manual
  • Promira Serial Platform Quick Start Guide
  • Aardvark I2C/SPI Host Adapter User Manual

We hope this answers your question. Looking for more information? You can ask us at sales@totalphase.com. You can also request a demo that applies to your application.

Request a Demo

The Lowdown on the New USB Fast Charger

$
0
0

USB-IF, the organization that manages all USB specifications, has developed its own USB Charger program that aims to create a more cohesive and all-purpose line of chargers that consumers can use across all compliant USB Type-C devices. USB Fast Chargers are a recent addition to the USB Charger program. The USB Fast Charger supports the Programmable Power Supply (PPS) in the Power Delivery 3.0 specification, which allows devices and chargers to perform a more precise and fine-tuned voltage level negotiation between each other.

 

What the New USB Fast Charger Supports

With fixed sources, voltage levels are supplied in increments of 5V, 9V, 15V, and 20V. The Programmable Power Supply function in the USB Fast Charger will allow the power source to provide a more refined range of voltages including 3.0 V to 5.9 V, 3.0 V to 11.0V, 3.0 V to 16.0V, and 3.0 V to 21.0 V. PPS also adjusts current limits in smaller increments so that devices do not attempt to overdraw current levels. Overall, the Programmable Supply helps reduce conversion loss during charging. This concept, along with the USB Type-C connector, will create a more efficient and flexible charging experience for consumers. USB-IF believes that the USB Fast Charger will even become the industry standard for charging.

 

Advancements and New USB Fast Charger Logo

USB-IF USB Fast Charger Logo

The new USB Fast Charger marker will incorporate the USB certified logo, and it will also include the maximum power level (in watts) the charger can supply. There will be various power levels available, including 45W and 65W. These chargers will also be backwards compatible with devices that support USB Type-C and USB Power Delivery.

 

Total Phase Supports Type-C and Power Delivery Devices

Total Phase supports the development and manufacturing of Type-C cables and devices utilizing Power Delivery. Our USB Power Delivery Analyzer monitors and displays Power Delivery traffic on the CC1 and CC2 lines of Type-C cables in real time. Users can easily see the power negotiation process and quickly find bugs in the process. The USB Power Delivery Analyzer is able to monitor the PD traffic of the USB Fast Charger as it charges devices.

 

How Cables are Tested

The Advanced Cable Tester allows users to test Type-C cables (and legacy USB cables) against specific safety and compliance spec parameters. These tests include: continuity checking, DC resistance, cable IR drop, E-marker verification, and signal integrity of the cables. Manufacturers creating USB Fast Charger cables can also use this tool to help gain important insight in the cable as a first line of defense for compliance testing.

If you have any questions, please contact sales@totalphase.com. You can also request a demo for your specific application.

Request a Demo


How Can I Set Up the Master eSPI Behavior I Need with the Promira Serial Platform?

$
0
0

Question from the Customer:

I am using the Promira Serial Platform with eSPI Analysis Application  and the eSPI Active Example Files. I’m using the espi_generator.py script to emulate a master eSPI. For this setup, I need the help with the following:

  • I need to add WAIT_STATEs
  • Also, I need to generate additional clock cycles when the slave device sends WAIT_STATE (0x0F) in  the Response Phase

Response from Technical Support:

Thanks for your question!  For the Promira Serial Platform, the behavior of the emulator is driven by the emulator code. You can use espi_generator.py as a reference to write your own code to emulate the types of eSPI master behavior that you need.

Promira Serial Platform supports eSPI Master operations  eSPI Analysis Application

Modify Emulation Code for the eSPI Master Functions

We recommend using the Promira platform with a slave that inserts wait states.  Here is an outline of what to insert in the emulation code:

  1. Send one byte to read during response phase
  2. Check the byte read back, and check if the value is WAIT_STATE
  3. Repeat steps 1-2 until the response byte matches the expected value.

We hope this answers your question. Additional resources that you may find helpful include the following:

More questions? More projects? You can contact us at sales@totalphase.com. You can also request a demo that applies to your application.

Request a Demo

Power Delivery and Type-C Cables Work Together – How Do I Measure and Evaluate Both?

$
0
0

Question from the Customer:

I have an evaluation to run for a customer that includes both power and resistance measurements. Here’s what I know I can do so far – what do I need to add to this setup?

I am using the USB Power Delivery Analyzer with the Data Center Software to check CC status between a USB Type-C Device and USB Type-C AC Adapter.

What do I need to add to my set up to check the CC1/CC2 hardware connection, such as Rd/Rp measurements?

Response from Technical Support:

Thanks for your question! For this evaluation, we recommend using both the USB Power Delivery Analyzer and the Advanced Cable Tester.

Why Use the USB Power Delivery Analyzer and Advanced Cable Tester Together

The USB Power Delivery Analyzer acts as a pass through of signals through CC1 and CC2. It is able to monitor the PD traffic between a Type-C Source and Type-C Sink.  The Advanced Cable Tester can check Rp/Rd values of the cable. This way, you can monitor and collect all the data you need for the evaluation for your customer.

What the USB Power Delivery Analyzer Provides for Power Measurement

The hardware capabilities of the USB Power Delivery Analyzer include:

  • Sniffing Power Delivery (PD) traffic on Control Channel (CC) lines
  • Transparent interposing on a USB Type-C connection
  • Monitor VBUS and VCONN voltages and currents
  • Injecting PD packets on CC1 or CC2 lines

Here is a video about using the USB Power Delivery Analyzer:

 

 

How the Advanced Cable Tester Completes the Evaluation

The Advanced Cable Tester – Level 1 Application for the Promira Serial Platform can measure Rp/Rd/Ra, as well as other important cable traits such as continuity, E-marker accuracy, DCR of individual ground and power pins as well as the DCR for power and ground wires of the entire cable.

The Advanced Cable Tester can be used for legacy cables including USB 3.1 Standard-A and USB 3.1 Micro-B connectors.  For more information, here is a video about using the Advanced Cable Tester

 

 

Additional resources that you may find helpful include the following:

We hope this answers your question. Need more information? You can contact us at sales@totalphase.com. You can also request a demo that applies to your application.

Request a Demo

How Do I Unlock the Write Protection to Enable Programming an SPI Quad Serial Flash Chip?

$
0
0

Unlock the Write Protection to Enable Programming an SPI Quad Serial Flash ChipQuestion from the Customer:

I’m struggling to add a Microchip SST26VF016BT-104I/SN serial flash to the Flash Center Software. There are enough similarities between the older device SST25VF016BT (which is currently supported in your library) that I should be able to modify that XML file. However, the write protection schemes seem to be very different.  So far I haven’t been able to make the right changes to get this to work.

Can you look at the datasheets and the migration file, and show me what changes to make in the XML file so I can start programming the SPI quad device?

Response from Technical Support:

Thanks for your question! To enable programming, we added a command to unlock the Global Block Protection. This releases the write protection lock of all the blocks in the memory.

How to Unlock the Write Protection Lock

Here is the command we added: writeStatusRegisterEnableInstruction. To accelerate the programming speed, we also set the writeSize to 256. You can adjust this parameter for your programming specifications. Here is the recommended command for your xml file:

<?xml version="1.0" encoding="UTF-8"?>
<devices>
<default version="1.0">
<manufacturerName> SST </manufacturerName>
    <deviceAlgorithm>SPI flash</deviceAlgorithm>
    <addressWidth>3</addressWidth>
    <writeSize>256</writeSize>
    <readInstruction>0x03</readInstruction>
<writeStatusRegisterEnableInstruction>0x06</writeStatusRegisterEnableInstruction>       
    <eraseInstruction>0x20</eraseInstruction>
    <eraseSize>4*1024</eraseSize>
    <eraseTime>18000</eraseTime>
    <hasEraseAll>true</hasEraseAll>
    <eraseAllInstruction>0xc7</eraseAllInstruction>
    <eraseAllTime>70000</eraseAllTime>
</default>
<device version="1.0">
    <deviceName>SST26VF016B</deviceName>
    <deviceDescription>
    SST SST26VF016B 2 Megabyte SPI Flash
    </deviceDescription>
    <capacity>2*1024*1024</capacity>
    <maxBitrate>40*1000</maxBitrate>
    <writeTime>5000</writeTime>
    <readDeviceIdInstruction>0x9f</readDeviceIdInstruction>
    <expectedDeviceId>\xbf\x26\x41</expectedDeviceId>
    <userTransaction1>\x98\x00</userTransaction1>
</device>
</devices>

 

Restart Flash Center Software

Note: after editing the XML file, to ensure the changes are implemented, you must restart the Flash Center Software.

Additional resources that you may find helpful include the following:

We hope this answers your question. If you need more information, please contact us at sales@totalphase.com.  You can also request a demo that applies to your application.

Request a Demo

How Do I Use the USB Power Delivery Analyzer and Data Center Software to Verify Power Data Objects?

$
0
0

Question from the Customer:

We need to check if the Power Delivery Object (PDO) is correct on the factory side. To do so, we are planning to run tests by switching PDOs and then check if our Type-C docking station can switch to different voltage levels: 5V, 9V, 15V, and 20V. Can the USB Power Delivery Analyzer support this?  Here are the details of what we’re looking for:

Per USB-IF:

  • Power Data Objects (PDO)
  • Source/Sink Capabilities are sent as a string of 1-7 PDOs

Multiple types defined:

  • Fixed, Variable, Battery Supplies

Each object contains:

  • Voltage, Operating/Max Current
  • Misc. Characteristics (suspend behavior, swappable etc.)

Can you please advise if this is supported with the USB Power Delivery Analyzer?

Response from Technical Support:

Thanks for your question! Here is the information your requested.

How the USB Power Delivery Analyzer and Data Center Work Together

Using the USB Power Delivery Analyzer with the Data Center Software supports monitoring and decoding Power Delivery (PD) protocol traffic on the CC1/CC2 (configuration channel) pins while concurrently passing through USB 2.0 and USB 3.2 data. The USB Power Delivery Analyzer non-intrusively monitors PD data through the USB Type-C connection.

 

USB Power Delivery Analyzer Data Center Software

 

Power Profiles are no longer used. Instead, the latest version of the Power Delivery specification uses a varying current across 5, 9, 12 and 20v, which can be monitored by the USB Power Delivery analyzer.

 

A Built-in Example of a Power Delivery Trace

To become familiar with real-time monitored data, we recommend downloading the Data Center Software and viewing the example Power Delivery trace. The Data Center Software captures all PD traffic and displays the decoded information.  Here are the steps to take:

  1. Open Data Center Software and press 'F4' on your keyboard. This opens  the Example Captures window.
  2. Scroll down until you see the PD trace file usbpd-laptop-2-auxmodedevice.tdc.
  3. Select that file and click OK.

The displayed example trace is from a real-time capture between a Type-C SINK and SOURCE. Looking at it, you can see how the PD messages are decoded and displayed. You should see similar information when you do a capture on your system.

Additional resources that you may find helpful include the following:

We hope this answers your question. Need more information? You can contact us at sales@totalphase.com. You can also request a demo that applies to your application.

Request a Demo

How Do I Define Erase Values in an SPI Flash Device XML File for the Flash Center Software?

$
0
0

Question from the Customer:

I am using the Cheetah Host Adapter with the Flash Center Software, and I am working with a Micron MT25QL512 SPI Flash device. I am following the instructions to add a new device via an XML file. However, when I try to import that file, the following error is displayed:

 Flash Software error message

About my setup:

The device is powered independently of the Cheetah adapter, and the power feature has been disabled in Flash Center Software.

Here is information from the Flash Programmer log file, which includes the error message:

Timestamp Len Data
2017-Jan-23 08:06:35.186 Connected to Cheetah SPI at index 1 TP1364-071043 (USB 2.0).
2017-Jan-23 08:06:35.389 Supported Features: SPI(Standard)
2017-Jan-23 08:06:35.654 Adapter 1: Requested bitrate (133000 kHz) is not supported by the adapter. Bitrate set to 50000 kHz.
2017-Jan-23 08:06:51.349 In  \Users\Desktop\New folder\micron-spi-flash-MT25Q.xml, the following memory devices had undefined values or values set to zero:
MT25QL512 512-Mbit 3.3V

 

I have observed that if I change the parameter hasEraseAll from true to false, then the XML file is accepted and it works.

My questions:

  • Why would Flash Center accept the hasEraseAll parameter when it is false instead of true?
  • The MT25Q device from Micron has the erase all function, which is command 0xC7 – how do I enable this function?

Please review my xml file and let me know how to make it work.

Response from Technical Support:

Thanks for your questions! Here are details about hasEraseAll command and the related parameters.

The Requirements for hasEraseAll to Support Chip Erase

When hasEraseAll is set to true, this indicates that the device supports the chip erase command. In this case, both eraseAllInstruction and eraseAllTime must be defined.

The Parameters Required with hasEraseAll

Looking at your XML, we see that eraseAllInstruction is defined as 0xC7, but eraseAllTime is missing.

  • The parameter eraseAllTime is the number of microseconds required to execute the chip erase operation.
    • Use the minimum or the typical value, so the Flash Center Software can poll the device to wait for additional time if necessary.
    • If there are multiple speed grades for the memory part, we recommend using the lowest time value for this parameter, which must be non-zero.

After setting eraseAllTime, you should be able to continue programming your device with no errors.

Additional resources that you may find helpful include the following:

We hope this answers your question. If you need more information, please contact us at sales@totalphase.com.  You can also request a demo that applies to your application.

Request a Demo

Viewing all 822 articles
Browse latest View live