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_Block_Program

The I²C Device Block Program is used to test the device for production programming.  The dialog may be used in a production environment for programming devices as well.  There are no editing features for the device data on this dialog other than the setup requirements to program the data.  The dialog has five sections summarized below.

The Main Menu (1)_ contains the main navigation for quickly changing the setup.  It includes the following Dialog navigation selections. This is the same Main Menu as the I²C Device Debug and is for convenience in navigating through the IBPD-SYS system.

    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.

    Modify / Create Hex Block - This will allow the user to modify a block of data via the Modify/Create hex Block dialog and will automatically transfer the current data to that dialog.

    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.
     

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

Output File Data Monitor & Control (3)- to (17) allows the user to setup the I²C BUS control parameters to send the data to the device.

Device Receive Monitor & Control (18)- to (29) Allows the user to save the edited hex block or the entire file.

Save Received Data (30)- to (32) Allows the user to save the data received from the device after programming.

BLOCK_PROGRAM_DEVICE

I2C_Block_Program

Top

 

HexBlockProgramWrite

[1]Main Menu

The Main Menu section contains navigation for quickly changing the setup and advanced editing.  It includes the following 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.  The user may change the I²C BUS Programmer at any time.  The programmer must be re-initialize to change the BUS parameters that are displayed. The BUS Parameters are fixed at the time the programmer is initialized for the selected device.

    Open Device DB - This is the Device Database Dialog for changing the device on the fly.  This allows the user to change devices on the fly and return to this dialog for continued editing.

    Modify / Create Hex Block - This will allow the user to perform advanced editing and modifications a block of data via the Modify/Create hex Block dialog and will automatically transfer the edited data on return to the dialog.

    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 on the current Programmer Controller and I²C device being addressed since these may be changed at any time the current selected device and programmer are transmitted to each dialog.

[3]Hex Filename Active

This is the active hex file and the file size in bytes being displayed in the listbox for editing and programming.  The user has the options of using the Browse button or the Display File Data button to browse the system for a hex file.  The default directory will be displayed that has been setup in the Default Directories Dialog.  If this field is blank then the Browse System for File dialog will be displayed.

[4]File Type

This [x] checkbox allows the user to load either a Intel Hex Format or Binary File for sending to the device.  The listbox will show the type of file loaded in the Type column.  When a binary file is loaded it will always start from 0x000.  If the starting address is not 0x000 then the using the Cmd&Ctrl Bytes (10) the user may setup the starting conditions for the device.

[5]Display File Data

This button allows the user to display or redisplay the active file displayed in the Active File field (3).  This will clear any edit session of the file when redisplayed.. The file will remain unchanged until saved by the user.  The edited file remains local in an edit buffer until the session is completed and the user decides to save the data block of file.

[6]Hex Data File List

This is the Active File Data displayed in Intel ASCII Hex or Binary Format to program the device.

[7]Program Options

The user may select the way the device will be programmed and how the data is to be sent to the device.  There are several data transmission options for programming the device.  There are several checkbox options as follows.

    [x]Verify Data - This flag allows the user to validate the data sent to the device by reading the device and comparing the send file to the receive file.  The receive data is always binary data therefore in order to validate the send to receive both data types must be binary.

    [x]Send Complete File - This flag tells the system to send the entire file.  If this is a binary file and the starting address is not 0x000 then the user must setup the starting address in both send and receive sections of this dialog or the compare will fail.

 

    [x]Page Write Data - This flag set the Write to Device in Page Write mode.  The size of the page is identified and transferred from the device database and is not displayed in this dialog.  The number of bytes specified will be sent to the data in stream mode without waiting for each Write Time.  The single Write Time is applied after the page buffer is full, then repeats the process until the data selected is sent to the device.

    [x]Block Binary Format - This flag will send the data in binary byte format but maintain the Intel Hex format by sending a ":" for each hex block but send the data in 8 bit binary format and not two ASCII Hex digits per byte,  This is to accommodate the several formats for the interpreters for the data transfers in the embedded systems.  There is also a transfer speed increase as well as conversion time when sending binary bytes in Intel Hex format.

    [x]Block ASCII Hex Format - This flag will send the data in true Intel ASCII Hex format as defined in the Intel Hex Format Specification.  This is to accommodate the older interface system that have an ASCII to Binary conversion in their data transfer sequence.

    [x]Binary Data Bytes Only - This flag will send the binary data only stripping it of all Intel Hex formats.  It only sends the Data portion of the Intel Hex Format data block.

 

[8]GPIO I/O Control

This is an added feature for the Block programmer if the user uses the GPIO control for device selection.  It allows the user to control the GPIO either in the CLA Commands or the Dialog.

[9]Block Parameters 

Specific information about the hex block is shown in the Selected ASCII Hex Block Format Parameters.  These parameters change when the user selects a line in the listbox.  The listbox displays both ASCII Hex data and the printable ASCII character it represents.  If the byte is not within the printable range then a "." is printed.

[10]Display Format

The display is changed from byte to word format.  If data type hex is selected then the Byte format is fixed.

[11]Cmd & Ctrl Bytes

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

[12]Device Slave Address

This is the selected device slave address that is transferred from the device database.  Bit 0 is controlled by the section of the dialog for Read = 1, Write= 0.

[13]Byte Enables

These flags allow the user to select which bytes to incorporate into the data flow to the device.  The enable flags are setup when the user selects a Device Command (15) from the drop menu.

[14]BUS Commands

These are Initial Start BUS commands for the I²C protocol that are executed initially when the Send Selected Block function is executed.  Each protocol has a set of BUS commands associated with it.  The user has full override control of these parameters.

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

    (X)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 Model-2xx 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 Model-2xx 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 0 - This flag will set the state of the Sync/Trig line to either a pulse if set or a steady state if cleared.
     

[15]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

[16]Device Command

The device commands are transferred from the device database for the selected device.  This allows the user to execute series of User Commands with single select from the drop menu.

[17]Synch & Trigger 1 Control

These are the Sync & trigger controls that are sent when entering the Cmd & Ctrl Byte[1-8] sequence.  They are separate from the Initial Start Sync/Trig controls.

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

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

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

[18]Send File Data

This will send the selected hex block of data or the entire file data to the device.  There are several send data options to sending the data.  These options are in items (9) through (15) and are used to configure the Send File Data function.  There are several [x]checkbox options as shown in item (7). This allows the user to send the selected single block of data or send the entire file.  Verify data sent option or just send the data without verification.

Top


HexBlockProgramReadSection

[19]BUS Parameters

The BUS parameters are transferred from the Programmer Selection and Initialization dialog and are fixed once initialized.  The user may change these parameters by calling the Select Programmer Type from the Main Menu (1) section of the Dialog.

[20]Device Parameter

The device memory size is transferred from the device database and displayed for the user.  The Rx Byte Count is required by the user.  The user sets the Rx Byte Count for the number of bytes to read from the device.

[21]Read Data Listbox

The listbox is always set to the binary display mode when reading the device.  The starting address for reading is always set to 0.

[22]Display Format

The display may be changed from byte to word format.

[23]Cmd & Ctrl Bytes

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

[24]Device Slave Address

This is the selected device slave address that is transferred from the device database.  Bit 0 is controlled by the section of the dialog for Read = 1, Write= 0.

[25]Byte Enables

These flags allow the user to select which bytes to incorporate into the data flow to the device.  The enable flags are setup when the user selects a Device Command (27) from the drop menu.

[26]BUS Commands

These are Initial Start BUS commands for the I²C protocol that are executed initially when the Receive Device Data function is executed.  Each protocol has a set of BUS commands associated with it.  The user has full override control of these parameters.

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

    (X)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 Model-2xx 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 Model-2xx 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 0 - This flag will set the state of the Sync/Trig line to either a pulse if set or a steady state if cleared.
     

[27]BUS Delay Control

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

ReadDeviceFrame

[28]Device Command

The device commands are transferred from the device database for the selected device.  This allows the user to execute series of User Commands with single select from the drop menu.

[29]GPIO Input Data

This is the data from the GPIO bits.  The configuration is separate from the programming of the device unles the user over-rides the initial settings.

[30]Synch & Trigger 1 Control

These are the Sync & trigger controls that are sent when entering the Cmd & Ctrl Byte[1-8] sequence.  They are separate from the Initial Start Sync/Trig controls.

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

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

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

[31]Receive Device Data

This will execute the read device sequence for the specified number of bytes (19) and the selected BUS commands (25) and (28).  The data flow for the receive device data is shown in item (26).


BlockProgramSaveSection

[32]Save Data Filename

This is the user selected filename to save the received data to.  The user may Browse the system for a directory and enter a filename.  If the file exists the user will be asked if they want to overwrite the file.

[33]Save File Type

The user may select the type of file to save the data to.  The selection of the type of file allows the user to use the file in other dialogs in the IBPD-System.

    Binary - This is single byte type binary standard data file.

    Hex - This is Intel Hex Format data file.  When this is selected the user must enter the block size to the left of the Filed.  The default block size is 16 bytes (0x10 hex).

    Block Size - This is required for the Intel Hex Format file save.  It defaults to 16 bytes (0x10 hex). The data will always start at 0x00 and the block type is always Data Type 00.
     

[34]Save Received Data

Execute the command to save the data to the selected file and type.

[35]Status

This is the common Status bar that displays the status of the last function executed.

[36]Help - This Page.

Top

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