September 11, 2019
The latest Five Wire software update (Free Download) incorporates I2C protocol trace
The Five Wire I2C Protocol Tool can emulate an I2C master or I2C slave device. We have now added a third option, which does not participate in the protocol but just monitors the I2C activity. Read and write data are presented at the protocol level, making it easy to debug I2C issues.
I2C Protocol Trace captures transaction activity including start, stop, read and write address and data bytes. You can stop the trace on an address NACK (when there is no responder at the address).
I2C Protocol Trace provides powerful triggering capability allowing the user to focus in on specific I2C activity. You can trigger on just I2C reads by selecting trigger Type “Read” and leaving the Addr field as “XX”. Setting the Addr field to a hex address will trigger only on a read of that address. Triggers can be further refined by selecting a data byte and value to trigger on within that read. For example, you can trigger on the second byte read, Byte Idx 1, only if the data is the specified Byte Value (e.g. “0x52”) or on a specific set of bits (e.g. “XXXXXX11”). Trace can also be triggered by an external event by selecting Type Event and selecting the event input using the menu Advanced -> Select Event. I2C Trace outputs an event (PROTB) when triggered which can be used to trigger other Five Wire tools such as Logic Analyzer to capture other context around the I2C transaction or Logic Source to stimulate the inputs of a device.
The Five Wire Logic Analyzer presents data in timing diagram format. Timing diagram format makes it easy to evaluate signal timing.
We have added a state display format which shows the data in a more compact form allowing you to focus on the series of states. To swtich between timing and state displays use the menu View -> Display Mode and select Timing Diagram or State Table.
The state display supports all of the features provided by the timing diagram including multiple protocol decode, user selectable display order and channels, channel color selection, and user annotation.
The display includes the sample number, the time of the sample relative to the trigger, the duration of the sample, and one or more channels to display.
Double clicking on a channel column opens a dialog allowing you to change the color of the channel and displays the channel name. Unused channels can be hidden by removing them from the Display order. Gaps can be added between channels by adding a period ‘.’ between the channels in the Display order.
Five Wire provides pre-defined protocol decoders that can be applied to Live Logic and Logic Analyzer data. These include I2C, SPI, RS232, LIN, and VALUE decoders. The user can further customize these decoders by modifying or writing new DCD text files which define how the data in a transaction is converted to human readable form. We have now added SCRIPT decode which gives the user even more control over the analysis of their data.
The SCRIPT decoder utilizes the ‘C’ like MBScript language included with the Five Wire product. The script is executed each time the acquisition completes. The script can access the captured data and make calculations, identify areas to highlight, decode custom transactions, etc. Two libraries have been provided (llMarkLib.mbs and laMarkLib.mbs) which makes it easy to add marks and annotations to the Live Logic or Logic Analyzer waveform display from your script.
To use a SCRIPT decoder, you first write the MBScript code that implements the decoder. You then attach the decoder in the usual way using the Analyze -> Add decoder -> SCRIPT menu. A dialog box will ask you to select the script file to run. A second script will prompt for a configuration string. The configuration string is optional and can be left blank. The configuration string is provided to the script in the cmdLine variable and can be used to select which channels to decode etc.
The MBScript code must execute and terminate. The script can use the mark libraries to place text anywhere on the display or add line or box marks to the waveform at specified times. For example, the script could analyze the characteristics of a clock signal and present its frequency, duty cycle, and variation. The SCRIPT decoder will only execute in single acquisition mode – it is ignored when continuous acquisition is selected.
Improved I2C Protocol Master address and data entry method
Changed I2C read and write value colors to make their type more visible
Added mark commands to Live Logic and Logic Analyzer to support SCRIPT decoders and other user scripts.
Added new constants to MBScript localDirectory and userScriptDirectory to simplify library inclusion
Simplified wheel scroll/zoom mode inversion using the control key
Added ‘R’ accelerator key to set Begin Analysis mark and refresh the decode
Added ‘d’ accelerator key to refresh the decode
Menu usability improvements