BASIL_NETWORKS


Banner_Txt_I2C_Protocol

 

HomeABOUTPRODUCTSSERVICESSUPPORTCONTACTARTICLESBLOG
SystemsPeripheralsInstrumentsResearchNetworksSoftwareProgrammersOEM
IBPD-I2C CtrlrIBPD-I2C SlaveIBPD-SPI CtrlrIBPD-SPI-SlaveMore Protocols
 
I2C Main MenuI2C ProgrammersI2C Device DatabaseI2C Device DebugI2C GPIO DebugI2C Hex Block DebugI2C Program DeviceI2C Cmd File ConfigureI2C  Directories

Banner_I2C_Protocol_Device_Debug

The I²C Device Debugger is a good starting point for testing and troubleshooting an I²C BUS system.  The control that this dialog gives the user is much different from the other general software protocol debug dialogs.  The dialog has four main sections as described below.  The Two main section Write Device and Read Device allow the user to manipulate data for testing and troubleshooting the I²C BUS system.  The main difference of this dialog is that it only allows the user to load a binary byte file to write to the device.  The user may edit the file data in the listbox before sending the data to the device.

(1)_MAIN MENU

This section allows the user easy navigation for quickly changing the setup. It includes the following Dialog navigation selections.

    Select Programmer Type - This is the Programmer Device Select dialog that scans and shows the available I²C Controllers connected to the system.

    Open Device DB - This is the Device Database Dialog for changing the device on the fly.

    Reset I²C BUS Device - This will send a Reset command to the current device selected on the I²C BUS.  Not all devices incorporate this function.
     

Programmer & Device Information - (2)_This is information on the current Programmer Controller and I²C device being addressed.

I²C Write Device - The number of elements of control (3)- to (20)- allow the user to setup the write properties for writing to the device.

I²C Read Device - The number of elements of control (21)- to (35)- allow the user to setup the read properties for reading from the device.

Device_Debug_Dialog

I2C_Device_Debug_Dialog

Top

[1]MAIN MENU

This section allows the user easy navigation for quickly changing the setup. It includes the following Dialog navigation selections.

    Select Programmer Type - This is the Programmer Device Select dialog that scans and shows the available I²C Controllers connected to the system.

    Open Device DB - This is the Device Database Dialog for changing the device on the fly.

    Reset I²C BUS Device  - This will send a Reset command to the current device selected on the I²C BUS.  Not all devices incorporate this function.

    I2C GPIO Setup & Debug - This function allows the user to control the General Purpose I/O BUS on the I²C IBPD-xxx controller.  The bits may be programmed as Inputs or outputs.  The user may Write and Read from the GPIO BUS independently of the device selected.  Once setup the configuration is rippled through the I²C Debug dialogs.


[2]Programmer & Device Information

This is information of the current Programmer device and I²C device being addressed.


DebugDevice_WriteDevice_Section

[3]Active Data File

This is the binary data in byte format selected by the user which contains the data the user wants to write to the device.

[4]Edit Data Listbox

The data in this listbox may be entered from a file (3) or manually via the Add Byte button.  The user may edit the data at any time then send the updated data to the device.  If loaded from a file the file is not changed.

[5]Cmd & Ctrl Bytes

These bytes are setup initially from the Device Database when a Command (12) is selected from the drop menu.  The user may edit these bytes at any time.  They are in ASCII Hex format only.

[6]Total Send Byte Count

This is the total byte count that will be set to the device when the Send Frame (15) is clicked.  The total byte count is the bytes in the listbox plus the bytes in the Cmd & Ctrl area set.

[7]Device Slave Address

This is the device Slave Address from the device database.  The user may edit this address at any time.  Bit 0 of this address is controlled by the Dialog when Sending and Receiving data.

[8]Byte Enable (x) Checkbox

The byte enable is a feature that allows the user to bypass the field associated with it.  Each Byte and data field has an associated (x) checkbox that when checked the data is sent to the device as entered,  When cleared the field is not entered as part of the bytes sent and is ignored.

[9]Sync / Trig (x) Flags

These flags are used to set the type of synchronization. The system has two sets of Synchronization times, one at the start of the block of data being sent and one at the Cmd & Ctrl (5) block.  The synchronization may be steady state or pulsed.  The sync/Trig level for the Cmd & Ctrl section is at Byte[1] and Byte[8].

[10]Parallel 8 Bit Port

This port is only available if the with the MPNI² and MPI² devices are used as the I²C Controller.  It is active prior to the Start of the data transfer Send Frame and remains until changed until the start of another Send Frame.  The over-ride checkbox allows the user to enter a new value and bit direction for each frame without going to the I2C GPIO Setup dialog.  The GPIO Setup dialog allows the user to send and receive data through the GPIO Port .

[11]BUS Delay Control

These are delay time between groups of date.  The Send Frame and the Delay Times are shown in the diagram below.

SendFrame_Delays

[12]Cmd & Ctrl Commands

These Bytes [1-8] are transferred to the I²C BUS as shown above in item 11_. They are automatically transferred from the device database each time the user selects a command from the drop menu.  Once setup the user has full override control of these bytes.

[13]Save Write Data Filename

This field allows the user to save the Write to Device data sent to a file.  The user may browse the system for a directory and create a filename to save the data to.

[14]Save Write Data File

Execute the save data to the specified file in the Filename field.  The file is saved in Binary Byte format only.

[15]Send Frame

This will Send the block of data as shown in item 11_ to the selected device.

[16]Device Write Time

This is the time required for the device to complete a write data cycle.  It is transferred from the device database when the user selects a command from the drop menu (12).  The user has full override control of this time.

[17]Start Address

This is the actual start address the user wants the data transfer to start at in the device.  This is separate from the raw Byte[1-8] data sent.

[18]BUS Parameters

These are the BUS parameters setup when the programmer was initialized.  They are fixed and may only be changed at the Select Programmer Type Dialog.  The User may change these at any time and continue testing in this dialog.

[19]Write BUS Command

These are BUS associated commands for the I²C protocol.  Each protocol has a set of BUS commands associated with it.  The user has full override control of these parameters.

    Start Command - Executes an I²C Start command on the BUS then waits for the data or next command.

    Stop Command - Executes an I²C Stop command on the BUS releasing the devices and goes into an IDLE state.

    (X)FAST Xfer Bits - This function will send the bits at a faster clock rate and allows the user to set the initial Start/Stop times for very fast transfers.  It is only implemented in the IBPD-USB-1xx isolated interfaces.

    (X)Fast Xfer Bytes - This function will send the bytes at a faster clock rate and allows the user to set the initial Start/Stop times for very fast transfers.  It is only implemented in the IBPD-USB-1xx isolated interfaces.

    (X)Rx Break On Ack - This flag will break the receive bytes process if the ACK at the end of the byte is active.

    (X)Tx Break On Ack - This flag will terminate the sending of bytes if the received ACK bit is active.

 

    (X)Sync/Trig 0 Start - This flag will set the Sync/Trig line at the initial Start of the Frame.

    (X)Sync/Trig 0 Stop - This flag will set the Sync/Trig line at the Stop Command of the Frame.

    (X)Pulse - This flag will set the state of the Sync/Trig line to either a pulse if set or a steady state if cleared.

 

[20]Load TX Data File

This will load the selected data file specified in the Transmit to Device field (3) to the listbox.

Top


DeviceDebug_ReadDevice

 

[21]Data Received Listbox

The data in this listbox is the data received from the device when the Receive Frame (31) button is clicked. The data may be edited at any time after it is received. The starting address may be changed for convenience of displaying and comparing data to the Transmit section of the dialog as well.

[22]Cmd & Ctrl Byte Setup

The Receive Cmd & Ctrl Bytes are different from the Write Cmd & Ctrl Bytes such that the Receive Bytes are separated into a Write Only Byte[1-4] and Read Only Bytes[5-8].  This is done because setting up a read sequence differs in many device that just writing to the device.  This allows the most flexibility in setting up nested multiplexed BUS architecture for reading the data through the multiplexors.

[23]Receive Byte Count

This is the actual maximum number of bytes to be read from the device.  The user may set this to a high number and use the Break on NAck flag and the number will be displayed in the "hex Bytes Xfered" field in the Listbox area of the dialog.

[24]Device Slave Address

This is the device Slave Address from the device database.  The user may edit this address at any time.  Bit 0 of this address is controlled by the Dialog when Sending and Receiving data.

[25]Byte Enable (x) Checkbox

The byte enable is a feature that allows the user to bypass the field associated with it.  Each Byte and data field has an associated (x) checkbox that when checked the data is sent to the device as entered,  When cleared the field is not entered as part of the bytes sent and is ignored.

[26]Sync / Trig (x) Flags

These flags are used to set the type of synchronization. The system has two sets of Synchronization times, one at the start of the block of data being sent and one at the Cmd & Ctrl (5) block.  The synchronization may be steady state or pulsed.  The sync/Trig level for the Cmd & Ctrl section is at Byte[1] and Byte[8].

[27]GPIO Input Data

The current state of the GPIO data bits at the time of the read frame.

[28]BUS Delay Control

These are delay time between groups of date.  The Read Frame and the Delay Times are shown in the diagram below.

ReadDeviceFrame

[29]Cmd & Ctrl Commands

These Bytes [1-8] are transferred to/from the I²C BUS as shown above in item (27). They are automatically transferred from the device database each time the user selects a command from the drop menu.  Once setup the user has full override control of these bytes.

[30]Save Read Data Filename

This field allows the user to save the received data from the device to a file.  The user may browse the system for a directory and create a filename to save the data to.

[31]Save Read Data File

Execute the save received data to the specified file in the Filename field.  The file is saved in Binary Byte format only.

[32]Read Frame

This will execute the receive device data by the flow diagram shown in item (27) from the selected device.

[33]Device Read Time

This is the time required for the device to complete a read data cycle.  It is transferred from the device database when the user selects a command from the drop menu (28).  The user has full override control of this time.

[34]Start Address

This is the for the user to set the start address in the received data listbox.  The receive process uses this address as the starting point of the receive data from device process.  This is separate from the raw Byte[1-8] data send/receive.

[35]BUS Parameters

These are the BUS parameters setup when the programmer was initialized.  They are fixed and may only be changed at the Select Programmer Type Dialog.  The User may change these at any time and continue testing in this dialog.

[36]Read BUS Commands

These are BUS associated commands for the I²C protocol.  Each protocol has a set of BUS commands associated with it.  The user has full override control of these parameters.

    Start Command - Executes an I²C Start command on the BUS then waits for the data or next command.

    Stop Command - Executes an I²C Stop command on the BUS releasing the devices and goes into an IDLE state.

    (X)FAST Xfer Bits - This function will read  the bits at a faster clock rate and allows the user to set the initial Start/Stop times for very fast transfers.  It is only implemented in the IBPD-SYS-USB-xxx MP[N]I² interfaces.

    (X)Fast Xfer Bytes - This function will read the bytes at a faster clock rate and allows the user to set the initial Start/Stop times for very fast transfers.  It is only implemented in the IBPD-SYS-USB-xxx MP[N]I² interfaces.

    (X)Rx Break On Ack - This flag will break the receive bytes process if the ACK at the end of the byte is active.

    (X)Tx Break On Ack - This flag will terminate the sending of bytes if the received ACK bit is active.

 

    (X)Sync/Trig 0 Start - This flag will set the Sync/Trig line at the initial Start of the Frame.

    (X)Sync/Trig 0 Stop - This flag will set the Sync/Trig line at the Stop Command of the Frame.

    (X)Pulse - This flag will set the state of the Sync/Trig line to either a pulse if set or a steady state if cleared.

 

[37]Status - This is the common Status bar that displays the status of the last function executed.

[38]Help - This help page.

Top

 
 
Copyright© 1990-2018 BASIL Networks, PLLC. All rights reserved
webmaster