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

The I²C Programmer select dialog only looks for installed I²C controller devices.  On the dialogs entrance a scan of the installed drivers is performed to list all the available I²C devices.  The device selected (1) below is listed in the dialog and is displayed in the top left of the dialogs titlebar.  A device if selected has to be configured to be ready for use.  There are two sections to the I²C protocol the first is the standard Master controller that allows the user to program read and write to any I²C device that is on the I²C BUS using a Multi-Protocol [Non] Isolated Interface (MP[N]I²) controller.

Each Programmer Select dialog will show the devices installed in the system on the left part of the dialog and the Active Programmers Database device running in the system and the group and protocol they have been assigned to.  Each IBPD System  (Parent ProcessID) may run multiple protocols at the same time and will keep track of the running processes through the task manager that is internal to the IBPD System.  If the user terminates the IBPD System Main Menu all associated protocol tasks running under that parent IBPD System task will be terminated.  




Main Menu

When entering the Programmer Selection dialog for any BUS protocol the system is scanned for all devices and displayed as shown in the dialog.  When the user double clicks on a device it will asses the device and determine if it applies to the selected BUS protocol.  BASIL Networks has several other BUS protocol controller hardware devices on its roadmap for this year however, regardless of the proprietary BUS protocol hardware "all" IBPD-SYS releases will always contain the basic FTDI UM232H-B drivers for a single channel I²C along with other FTDI devices for other protocols.  This guarantees simple hardware for all standard protocol development and testing.  BASIL Networks designed its own I²C functions library in order to meet the specifications of the I²C Bus as well as add development functions to the driver.  When scanning for devices all available supported devices will be shown.

(1)Programmer Database Functions

These functions allow the user to update and save a user configuration for a specific programmer configuration for multi-programmer applications.  Programmers are defined by type and serial number.  For the I²C protocol only device type 08, FTDI  UM232H-B are allowed.  This is identified in item (15) Device Type.  If the user tries to use a device that does not support the I²C BUS protocol an error window will pop up of the error stating the only devices allowed for the selected BUS protocol.

Save User Hdwr Setup - This function allows the user to save the setup of the selected device for the I²C BUS protocol.  All parameters that have been initialized will be saved to a user selected file.  If the user did not configure the programmer prior to this function then the function will be ignored and a pop-up message will appear "Please Configure A device First".  The user will set this file at any protocol and may be called to add to it from any other protocol selected.  This allows the user to add to the database from any protocol and then set it as the default startup programmers database from the main startup menu.  The use must set each device at the selected protocol then add it to the database.  This is also used to save a unique setup for later recall.  Since this database is only loaded when a new protocol is called it is by default in a separate tasks which allows the user to configure each protocol called differently for the project.  As long as each protocol is active it only uses the database identified in the default startup programmer database that may be set by the Reset Default Hdwr Setup button.

Update User Hdwr Setup - This will update the programmer database in the buffer to a user selected file.  At this is where the devices flagged for deletion will be deleted and only remaining devices in the list will be stored in the selected database file.

(2)Reset Default Hdwr Setup

This allows the user to change the default programmers database file on the fly.  Since the file in this function contains the default programmer database to be loaded when the user calls a BUS protocol from the MAIN startup menu it is by default in a separate tasks which allows the user to configure each protocol called differently for a specific project.  The user may then change the default when reloading the MAIN IBPD-SYS program.

(3)Return to the Calling program

This program may be called from other dialogs to simplify navigation therefore the return will be to the calling program.

(4)Selected Device Information

This is user information of the selected device part number from the device database.  This information was entered when the device was created in the database.  This information field shows the user what device has been selected from the I²C Device Database.

(5) [x] I²C

This is the Flag that identifies the selected protocol and the Device Database.  This flag will be cleared if the user loads a non-I²C device database or tries to select a device that does not support I²C and will display an error message at that time.

(6)Open I2C Device DB

This function allows the user to open a user Device Database and select a part number to edit/program.

(7)Programmer Database

This is the programmer database file selected at startup in the IBPD-SYS MAIN MENU dialog.  This is the file that contains the system setup for all the BUS protocol programmers.  The hardware should be already plugged into the system prior to calling the IBPD-SYS in order for it to read all the devices on the system that apply to the IBPD-SYS.  AllUSB devices are Plug 'N' Play and may be rescanned after  they are plugged in and the system recognizes them.

(8)Load User Hdwr Setup

This function allows the user to add a new hardware setup for the selected protocol to a user created hardware protocol database,  This function allows the user to change the active programmer database for the selected protocol only.  The database must have been saved using the Save User Hdwr Setup function first then which ever devices in the database buffer on the selected protocol will be saved to the user selected file.

(9)Active Programmer Database List

This is the current active programmer database of the devices active for the current session.  This is created and stored and referenced when a protocol is called and is compared to the list.  If a device matches the protocol and it is not active in another protocol it is configured automatically.  If the list does not contain any devices for the selected protocol the user must manually configure the device from the devices installed in the system list.  This section contains all the necessary process information for the protocol.

    Number In DB - This is the actual number of devices listed in the programmer database
    Delete Selected Item - This allows the user to tailor the database for a specific programmer configuration.

(10)Process Information

This section contains the parent running process and its Process ID for comparison on other processes running to identify the group parent running and its children processes.

    Parent Process Name - This is the main IBPD-SYS.EXE process currently running.
    Parent PID - This is the Process ID the Operating System Task Manager assigned to the IBPD-SYS process.
    Protocol Process name - This is the current Protocol Selected name For the I²C it is PBI2C.EXE.
    Protocol PI - This is the BPI2C.exe Process ID assigned by the Operating System Task Manager for the BPI2C.EXE process.

(11)Clear List

This function will clear the active programmer list and set the buffer to "0" devices.  It will not update the programmers database file until the Update User Hrdwr Setup button is clicked.

(12)BUS Commands & Parameters

These are mainly FTDI device parameters.  They are ignored when configuring BASIL Networks IBPD-USB-1xx Multi-Protocol Isolated Interface ( MPI² ) devices.

    Drive Only Zero - This only drives the BUS to a zero when the BUS is set to tristate mode.
    3Phase Clocking - This function allows data to be collected on both rising and falling edges of the clock pulse which is a requirement for the I²C protocol.
    Adaptive Clocking - This is used for the JTAG interface in conjunction with the ARM processor.
    Clk 60Mhz 5 - This will turn on the divide by 5 to give a 12 MHz clock for older FTDI chips.

(13)Programmer Information

This is information specific to the selected programmer.

(14)Programmer Devices Installed List

This listbox will display the devices installed in the system that are recognized by the IBPD-SYS.  Selecting the device with a single click will display the device information in the fields below the listbox.  A double click will select the device for configuration allowing the user to change any of the BUS parameters to suit the application.  This list will be compared to the Programmers database list loaded and will display the available devices in the system along with the current protocol selection of each device.  This will allow the user to select a device that has not been configured yet.  If the user selects a device that is already configured in the system a conflict will emerge and the selected device will be configured to the current selected protocol.  It is the users responsibility to insure there are adequate devices for the selected BUS protocols for development.

(15)Auto Scan on Entry

This [x]checkbox allows the user to stop the initial device scan when the Select Programmer dialog is entered.  It defaults to scan on entry.  When unchecked the global parameter is saved in a global common parameter file and is read for every BUS protocol entered.  When there are many devices connected to the system this could take several seconds for the dialog to read, test and list all the active devices connected to the system.

(16)Rescan for I²C Devices

This function will rescan the system for I²C devices attached.  Since several of the protocol programmers are PnP USB devices, plugging a in a new USB device then allowing the system to detect it,then rescan for protocol devices will display these new devices added.  Some systems take longer to recognize PnP devices and if you try to rescan before the device in attached an error may occur.

(17)Device Selected I²C BUS Commands

This section applies to the FTDI devices specifically and allows the user to setup the device to fit the application.

(18)I²C BUS Control Parameters

These are the bus timeout, read and write timing and are used to detect BUS errors.

(19)I²C BUS selected Speed

This is the I²C BUS speed.  This standard FTDI device allows the user to run the I²C BUS at non-standard speeds.  The standard I²C BUS speeds are 100K and 400K bps.  When using the advanced I²C Serial BUS Protocol extension the standard bus speeds are set by NXP Master/Slave devices to a 380Kbps max.

(20)I²C Device Information

This is the User Information area for the selected I²C controller device.

(21)Configure Device

This function configures the device to use on the IBPC-100 system.  A double click on the listbox on a device will select the device for configuration and display the default parameters for the device.  The user must configure the device through the Configure Programmer button If the configuration is successful the status bar will acknowledge the configuration and The Selected Device BUS Channel Is Not Configured notice will be removed.  The device is now ready for use with the selected protocol.  The database is also updated at this time setting the information of where the device selected and configured is being used.  Devices are configured by type and serial number and will show up in the dialogs for all protocols called.

(22)Status - This is the default status of the last command executed.

(23)Help - This Page.


One of the key features of the IBPD System is the schematic wiring diagrams for the COTS supported devices.  This allow the user to check the setup of an application.  It is something that is used often in confirmation of test criteria and reports.  Each of the test setups may be inserted into the test report and is supplied in JPG picture format in the main install directory.  They are also available in high resolution for downloading by getting the picture info in the browser then opening that link for downloading.

For the standard I²C BUS protocol there are two setups listed below:

    Standard USB C232HM - Default Option - The standard setup uses the FTDI C232HM cable assembly ready to plug into the USB port and connect through single 25mil female pin headers.

    Advanced UM232H-B - Setup Option 1 - The Advanced setup option uses the FTDI UM232H-B device that requires the user add their own cables.








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