MiniBoard is built around a Cypress USB controller chip. It accepts commands across the USB bus and then translates these into the I2C, SPI and GPIO bus protocols as required. Separate connectors are provided for each interface. The controller chip is software based and the firmware is sourced from an onboard EEPROM. A single green LED indicator indicates the circuit is powered correctly. The circuit is powered through the USB connector.


MiniBoard





The I2C interface is an I2C master interface with line rate programmable to 10kBit/s, 20kBit/s, 40kBit/s, 60kBit/s, 80kBit/s, 100kBit/s (standard rate), 200kBit/s and 400kBit/s (high speed). The interface supports wait-stating through clock stretching by the slave.


Jumpers J1 and J2 allow the interface to have no pull-up resistors, onboard 1.5Kohm pull-up resistors to 5V or onboard 1.5Kohm pull-up resistors to 3.3V.


MiniBoard





The SPI interface is a full-duplex (simultaneous read/write) implementation allowing 10kBit/s, 20kBit/s, 40kBit/s, 60kBit/s, 80kBit/s, 100kBit/s, 200kBit/s and 400kBit/s serial clock rate.


The interface may be configured in terms of clock polarity (active-high and active-low) and clock phase (delayed or otherwise). To allow interfacing to multiple devices GPIO pins may be configured as further chip selects with active high or low polarity.

MiniBoard







32 general purpose IO pins are individually programmable as input or output.


MiniBoard





The API (Application Programming Interface) is designed for easy use in creating custom applications incorporating simple high level commands. Some examples of functions which can be called are shown over.


For the complete API specification refer to the following link:

API Specification



GPIO I2C SPI
Nano_GPIOSetDirection() Nano_IICSetFrequency() Nano_SPISetFrequency()
Nano_GPIOGetDirection() Nano_IICGetFrequency() Nano_SPIGetFrequency()
Nano_GPIOWrite() Nano_IICRead() Nano_SPISetClockConfig()
Nano_GPIORead() Nano_IICWrite() Nano_SPIGetClockConfig()
Nano_GPIOSetSingleBitDirection() Nano_IICScanConnectedDevices() Nano_SPIReadWrite()
Nano_GPIOGetSingleBitDirection() Nano_IICWriteSCL Nano_SPIRead()
Nano_GPIOSingleBitWrite() Nano_IICReadSCL Nano_SPIWrite()
Nano_GPIOSingleBitRead() Nano_IICWriteSDA  
  Nano_IICReadSDA  

In order to help the user develop custom applications, a collection of GUI and non-Windows style applications have been developed to show how to link to the API. The application examples are written in C/C++ and Visual C++ on Windows 2000/XP/Vista, Linux or Mac OS X.
The example applications can be run before you purchase the product to get a feel for what MiniBoard can do for you. Click the following link to run the application examples.

Application Examples


The application examples are well documented. Click the following link to see the application example documentation.

Application Example Documentation

Applications

MiniBoard is an interface adapter designed for controlling any test system incorporating I2C, SPI or general purpose IOs (GPIO). Today, usage of these protocols is extremely widespread including electronics for telecommunications, portable electronics and medical electronics to give some examples.

MiniBoard is simply connected to the system under test using one or more of the available interfaces. MiniBoard accepts USB commands from the host PC and then implements the necessary bus protocol for I2C, SPI or GPIO as required. The connection back to the host PC is via a standard USB cable and provides all power requirements of the MiniBoard.

The host PC includes the necessary driver and DLL to implement the high level commands so that the user can rapidly develop his/her own custom applications.

Typical applications are written in C/C++ or Visual C++. Users have therefore the choice of developing GUI style control applications or non-Windows batch style control - depending on what is required.

MiniBoard comes with a rich set of example applications and documentation making custom applications an extremely simple process even for those with little programming knowledge.