Revised April 15, 2016
This manual applies to the I/O Explorer USB rev. C
DOC#: 502-174
Copyright Digilent, Inc. All rights reserved.
Other product and company names mentioned may be trademarks of their respective owners.
Page 1 of 16
The I/O Explorer board.
I/O Explorer USB block diagram.
Features include:
Two Atmel AVR microcontrollers:
AT90USB646 and ATmega165P
USB 2.0 Full Speed device
Fully software compatible with the Digilent
Adept Runtime system
C/C++/C#/Visual Basic callable API set using
the Digilent Adept System Software
Developer’s Kit (SDK)
5 12-pin and 1 6-pin Pmod ports
16 discrete LEDs
8 slide switches
4 push button switches
4 position DIP switch
2 rotary encoders with integral push button
speaker/buzzer
Two 10-bit A/D inputs
Four 12-bit D/A outputs
Up to 52 digital input/output pins
Connectors for up to 8 RC servos
1 hardware SPI master port
Up to 3 additional software SPI master ports
UART interface port
Provision for 4 additional RC servos using
Digilent PmodCON3
Provision for 2 additional quadrature
encoders via Pmod port
Provision for up to 8 additional 10-bit A/D
inputs using servo connectors
Multiple power supply options, including USB
powered
ESD protection and short circuit protection for
all I/O pins.
Overview
The Digilent I/O Explorer USB is a USB peripheral device that allows programmatic access from a personal
computer to various external Input/Output (I/O) devices.
Using the Digilent Adept Software Developer's Kit (SDK) and the Digilent Adept Runtime System it is possible to
write application programs running under either the Microsoft Windows or Linux operating systems that perform
I/O Explorer™ USB Reference Manual
Copyright Digilent, Inc. All rights reserved.
Other product and company names mentioned may be trademarks of their respective owners.
Page 2 of 16
various kinds of I/O operations to devices on the I/O Explorer board itself, or through the I/O Explorer to devices
external to the computer.
The I/O Explorer provides a number of I/O devices on the board itself, as well as RC servo connectors, and Digilent
Pmod ports that allow access to devices external to the I/O Explorer.
In addition to its use as a dedicated USB peripheral device, the I/O Explorer can also be used as a microcontroller
development board. It features two Atmel AVR microcontrollers, one having USB device capability. Digilent makes
available the firmware images needed to restore it to the factory configuration as a USB peripheral device if it has
been reprogrammed with user defined firmware.
1 Functional Description
The Digilent USB I/O Explorer is a microcontroller board that is designed to be used as a USB peripheral device to
expand the I/O capabilities of a PC running either the Microsoft Windows operating system or the Linux operating
system. The Digilent Adept Software System provides the run-time software for operation of the board, and the
Digilent Adept Software Development Kit (SDK) allows the user to write custom application software to access and
control its features. The Digilent Adept SDK comes with a variety of sample programs that illustrate operation of
various features of the I/O Explorer.
The I/O Explorer provides a number of built-in I/O devices, such as switches, push buttons, LEDs, rotary encoders,
and a speaker/buzzer. It also provides a number of connectors that allow access to and control of devices external
to the I/O Explorer.
Operation of the I/O Explorer board as a Digilent Adept compatible device requires the installation of the Digilent
Adept software available for download from the Digilent web site: www.digilentinc.com. In addition to
downloading and installing the Digilent Adept software, the Digilent Adept SDK must be downloaded and installed
in order to make effective use of the board.
In addition to the Digilent Adept SDK, the user will require some software development tool that allows writing
application programs on the target operating system. The Digilent Adept System uses the C programming language
calling conventions and any development tool that provides the ability to call C functions in a DLL (on Windows) or
a shared library (on Linux) can be used. Some version of Microsoft Visual Studio is commonly used on Windows,
and some version of the GCC tool chain is normally used on Linux.
In addition to the primary design purpose of being a dedicated USB peripheral device, the I/O Explorer can also be
used as a microcontroller development board. The I/O Explorer contains two Atmel AVR microcontrollers: IC1, the
primary microcontroller is an AT90USB646 AVR microcontroller with USB capability; IC2, the secondary
microcontroller is an ATmega165P AVR device.
Development of custom firmware to run on the I/O Explorer requires the use of some development tool that
supports the Atmel AVR microcontroller family. The most common tool used is the free Atmel AVR Studio IDE and
assembler available for download from the Atmel web site. The free GCC based WinAVR C compiler system can be
used with Atmel’s AVR Studio and provides a very powerful C language programming environment. WinAVR is
available for free download from the internet from various sources.
In addition to the development tool software, using the I/O Explorer as a microcontroller development platform
requires a programming cable, or in-system-debugger to load the user firmware into the microcontroller. The I/O
Explorer is designed to allow use of the Atmel JTAG-ICE mk II or the Atmel AVR Dragon for in-system debug. In-
I/O Explorer™ USB Reference Manual
Copyright Digilent, Inc. All rights reserved.
Other product and company names mentioned may be trademarks of their respective owners.
Page 3 of 16
system programming is normally accomplished using a Digilent programming cable, either the Digilent JTAG-USB
Programming Cable, or the Digilent JTAG-USB Full Speed Module. The use of an Atmel ISP In System Programmer is
also supported with the use of a suitable flying-lead cable (e.g. Digilent 6 Pin MTE Cable) to convert from the
Digilent 1x6 programming connector convention to the Atmel 2x3 connector convention.
For additional information useful in developing custom firmware for the board, the complete schematic is available
on the Digilent web site.
2 Power Supply
The I/O Explorer may be used either as a USB bus powered device or as a self powered device. Jumper JP6 is used
to select between these two options. Install a shorting block in the VUSB position for USB bus power. Install a
shorting block in the VEXT position for self power.
Power switch, SW10, is used to turn board power on or off. Ensure that the power switch is in the ON position to
operate the board.
When operating as a bus powered device, care should be taken in powering devices external to the I/O Explorer.
The 5V USB bus power supply is available at the Pmod ports and other points on the board. Care should be taken
not to exceed the 500mA current limit that USB bus powered devices are allowed to consume. Care should
particularly be taken not to short the USB 5V supply to ground or external voltage supplies as this could result in
damage to the USB hub or PC motherboard to which the I/O Explorer is connected.
When operating as a self powered device, there are three power supply connectors on the I/O Explorer for
connecting the external power supply: J13, J14, and J15. These three connectors are wired in parallel and only one
of the three should be used at a time.
The barrel connector, J13, will normally be used for desktop applications as a self powered device. J13 is the
connector used by the AC supply adapter optionally available from Digilent, or other sources. J13 is a 2.5mm x
5.5mm coaxial connector wired with the center terminal as the positive voltage.
J14 is a screw terminal connector for use with higher current battery packs, bench supplies or other power sources
where use of a hard wired power supply is desirable.
J15 is a two-pin male header that provides easy battery or battery-pack connection. Digilent has both two-cell and
four-cell AA battery holders with two pin connectors available for connection to J14.
The main operating voltage of the I/O Explorer can be selected between one of two voltages. Jumper JP7 is used to
select between these two voltages. With JP7 in the 3V3 position, the main board power bus is powered from the
output of the 3.3V main power supply regulator on the board. When JP7 is in the 5V0 position, the main power
supply regulator is bypassed, and the main board power bus is powered directly from the applied supply voltage.
When operating as a USB bus powered device, this will be the USB bus 5.0V power supply. When operating as a
self powered device, this will be the voltage of the external supply. In this case, the external supply should not
exceed 5.5V or damage to the board will result.
The main power supply regulator on the I/O Explorer is rated for external power from 3.6 to 9 volts DC. Using a
voltage outside this range could damage the board and connected devices.
The I/O Explorer has a second screw terminal connector, J10 that supplies power to the servo power bus, VS, to
power the RC hobby servo connectors. This allows servos to be powered from a separate power supply than the
I/O Explorer™ USB Reference Manual
Copyright Digilent, Inc. All rights reserved.
Other product and company names mentioned may be trademarks of their respective owners.
Page 4 of 16
one powering the electronics on the I/O Explorer. This can be useful when using servos that require large amounts
of power. See the section on Servo Connectors below for a discussion of the options available for powering the VS
bus.
Jumper JP3 can be used to connect the I/O Explorer unregulated power bus VU to the servo power bus, VS. When
no shorting block is installed on JP3, the VU and VS busses are separate. When a shorting block is on JP3, the two
busses are joined and the VU bus can be powered in any of the previously indicated ways, or from connector J10.
The I/O Explorer can provide power to any peripheral modules attached to the Pmod ports and to I2C devices
powered from the I2C daisy chain connector, J12.
Each Pmod port provides power pins that can be powered from either unregulated voltage, VU, or regulated
voltage, 3V3, by setting the voltage jumper block to the desired position. Note that when the operating voltage
select jumper JP7 is in the 5V0 position, the USB or external power supply voltage will be supplied to the Pmod
ports regardless of the position of the voltage select jumpers at the connectors.
The I2C power connectors provides 3.3V when the main board operating voltage (selected by JP7) is 3.3V, or the
external supply voltage when JP7 is in the 5V0 position.
The 3.3V supply provided to the Pmod and I2C connectors is provided by the onboard voltage regulator. This
regulator is capable of providing a maximum of 500mA of current. The circuitry on the I/O Explorer will consume
less than 100mA in normal operation. The remaining current is available to provide power to attached Pmod and
I2C devices. The regulator is on the bottom of the board, near the power connectors, and will get warm when the
amount of current being used is close to its limit.
3 USB Operation
When operating using the normal factory firmware, the I/O Explorer functions as a USB 2.0 compliant full speed
device. Normal operation requires installation of the Digilent Adept Runtime software system, and it is accessible
to applications software developed using the Digilent Adept Software Developer’s Kit (SDK). The Digilent Adept
Software Developer’s Kit and the Digilent Adept Runtime system is available for download from the Digilent web
site: www.digilentinc.com
By replacing the factory firmware with end-user developed firmware, the I/O Explorer can function as a user
defined USB device.
The primary microcontroller (AT90USB646) contains a USB 2.0 Compliant, Full Speed Device controller. Refer to
the Atmel data sheet for the AT90USB646 and the USB 2.0 Specification for information on developing USB device
firmware.
4 On-board I/O Devices
The I/O Explorer provides the following I/O Devices on the board:
Copyright Digilent, Inc. All rights reserved.
Other product and company names mentioned may be trademarks of their respective owners.
Page 5 of 16
2 Rotary encoders with integral push buttons
Speaker/Buzzer
When operating the I/O Explorer using the factory firmware, these devices are accessible using the DGIO API set as
described in the DGIO Programmer’s Reference Manual contained in the Digilent Adept SDK. Refer to the section
Digilent Adept Port Descriptions below for details on the ports used for access to the on-board I/O devices.
5 Pmod Ports
The I/O Explorer has six Pmod ports for connecting Digilent peripheral modules. There are two styles of Pmod
ports: six-pin and twelve-pin. Both ports use standard pin headers with 100mil spaced pins. The six-pin ports have
the pins in a 1x6 configuration, while the twelve-pin ports use a 2x6 configuration. The six-pin ports provide four
I/O signals, ground, and a switchable power connection. The twelve-pin ports provide eight I/O signals, two
power, and two ground pins. The twelve-pin ports have the signals arranged so that one twelve-pin port is
equivalent to two of the six-pin ports. The power connection is switchable between the regulated 3.3V main board
supply and the unregulated input supply.
When operating the I/O Explorer using the factory firmware, the Pmod ports are accessible via a number of the API
sets provided by the Digilent Adept SDK. In addition to the other ways that they can be used, the I/O pins on the
Pmod ports can be accessed for direct pin input or output using the DPIO API functions described in the DPIO
Programmer’s Reference Manual contained in the Digilent Adept SDK. Refer to the section Digilent Adept Port
Descriptions below for information on the various ways that the Pmod ports are used.
Digilent Pmod peripheral modules can either be plugged directly into the ports on the I/O Explorer or attached via
cables. Digilent has a variety of Pmod interconnect cables available.
See the “Connector and Jumper Block Pinout Tables” section below for more information about connecting
peripheral modules and other devices to the I/O Explorer. These tables describe the relationship between the
various Adept software interfaces and the signals available on the connector pins.
6 Analog Inputs and Outputs
The I/O Explorer provides analog input channels and analog output channels via Analog to Digital (A/D) and Digital
to Analog (D/A) converters on the board. When using the factory firmware, these analog inputs and outputs are
accessed using the DAIO API functions provided by the Digilent Adept SDK and described in the DAIO
Programmer’s Reference Manual.
The A/D converters for the analog input channels are provided by the built-in A/D converters in the two
microcontrollers.
The two analog input channels accessible through DAIO port 0 are provided by the A/D converter in the primary
microcontroller. This port supports single sample input mode as well as continuous sampling input mode. These
two analog input channels have input protection diodes to protect from out-of-range input voltages and band
limiting input filters with a cutoff frequency of 2Khz. This port supports sample rates up to 4K samples per second.
This analog input port supports two selectable internal voltage references (2.56V and 3.3V) as well as an external
reference that can be applied to the AREF1 pin on connector J2.
I/O Explorer™ USB Reference Manual
Copyright Digilent, Inc. All rights reserved.
Other product and company names mentioned may be trademarks of their respective owners.
Page 6 of 16
The analog inputs for DAIO port 0 are accessed via connectors JF and J1.
The eight analog input channels accessible through DAIO port 1 are provided by the A/D converter in the
secondary microcontroller. This port supports only single sample input mode. The inputs on this port are available
using the servo connectors S1-S8. These connectors and the corresponding I/O pins on the microcontroller are
shared between DAIO port 0, DPIO port 6, and DEMC port 3.
This analog input port supports two selectable internal voltage references (1.1V and 3.3V) as well as an external
reference that can be applied to the AREF2 pin on connector J5.
The four analog output channels accessible through DAIO port 2 are provided by a Microchip MCP4728 serial D/A
converter. This port supports only single sample output mode. The analog outputs for DAIO port 2 are accessible
via connectors JF and J1.
This analog output port supports two selectable voltage references (2.048V and 3.3V).
7 UART Interface
The I/O Explorer provides a Universal Asynchronous Receiver/Transmiter (UART) interface for asynchronous serial
communications.
The I/O signals for the UART interface are provided on Pmod connector JG. When using the factory firmware, the
UART interface is accessed using the DACI API functions provided in the Digilent Adept SDK and are described in
the DAIO Programmer’s Reference Manual. The UART interface is accessed as DACI port 0.
The signals provided at connector JG are logic level signals. If RS232 signal levels are required, a Digilent
PmodRS232 can be attached to connector JG to provide the level translation and a DB9 connector for connection
to standard RS232 serial devices.
8 RC Servo Connectors
The I/O Explorer provides eight 3-pin RC hobby servo connectors for direct control of servos in embedded
hardware actuator applications. The servo connectors are labeled S1-S8 and are accessible via the Adept system
DEMC servo interface. When programmed directly, the servo connectors are connected to the secondary
microcontroller. The servo connectors S1-S8 are accessible via DEMC port 3.
In addition to the on-board servo connectors, a second servo port, DEMC port 4, provides four additional servo
channels. This servo port can be used with a Digilent servo connector module, PmodCON3, connected to pins 7-12
of Pmod connector JE.
RC servos use a pulse width modulated signal, PWM, to control the servo position. When directly programming
the secondary microcontroller, the servo connectors on the I/O Explorer board are intended to be driven using
timer interrupts rather than directly by the pulse width modulators in the internal timers. Digilent has a reference
design available that illustrates using timer interrupts to control signal timing for the PWM signals to control RC
servos.
Loading...
+ 11 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.