Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
io_explorer_usb:refmanual [2015/06/03 21:35] – Marthaio_explorer_usb:refmanual [2022/10/04 11:38] (current) – external edit 127.0.0.1
Line 18: Line 18:
 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 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. 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 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 connectors that allow access to devices external to the I/O Explorer.+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. 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.
Line 31: Line 31:
   * Fully software compatible with the Digilent Adept Runtime system   * 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)   * 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 connectors+  * 5 12-pin and 1 6-pin Pmod ports
   * 16 discrete LEDs   * 16 discrete LEDs
   * 8 slide switches   * 8 slide switches
Line 46: Line 46:
   * UART interface port   * UART interface port
   * Provision for 4 additional RC servos using Digilent PmodCON3   * Provision for 4 additional RC servos using Digilent PmodCON3
-  * Provision for 2 additional quadrature encoders via Pmod connector+  * Provision for 2 additional quadrature encoders via Pmod port
   * Provision for up to 8 additional 10-bit A/D inputs using servo connectors   * Provision for up to 8 additional 10-bit A/D inputs using servo connectors
   * Multiple power supply options, including USB powered   * Multiple power supply options, including USB powered
Line 79: Line 79:
 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. 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 connectors 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 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. 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.
Line 97: Line 97:
 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. 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 connectors and to I2C devices powered from the I2C daisy chain connector, J12.+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 connector 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 connectors regardless of the position of the voltage select jumpers at the connectors.+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 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.+The 3.3V supply provided to the Pmod and I2C ports 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.
  
  
Line 136: Line 136:
 ---- ----
  
-===== 5. Pmod Connectors =====+===== 5. Pmod Ports =====
  
-The I/O Explorer has six Pmod connectors for connecting Digilent Pmod peripheral modules.  There are two styles of Pmod connector: six-pin and twelve-pin. Both connectors use standard pin headers with 100mil spaced pins.  The six-pin connectors have the pins in a 1x6 configuration, while the twelve-pin connectors use a 2x6 configuration.  The six-pin connectors provide four I/O signals, ground and a switchable power connection.  The twelve-pin connectors provide eight I/O signals, two power and two ground pins.  The twelve-pin connectors have the signals arranged so that one twelve-pin connector is equivalent to two of the six-pin connectors.  The power connection is switchable between the regulated 3.3V main board supply and the unregulated input supply.+The I/O Explorer has six Pmod ports for connecting Digilent Pmod peripheral modules.  There are two styles of Pmod port: 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 connectors 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 connectors 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 connectors are used.+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 connectors are used.
  
-Digilent Pmod peripheral modules can either be plugged directly into the connectors on the I/O Explorer or attached via cables.  Digilent has a variety of Pmod interconnect cables available.+Digilent Pmods 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. 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.
Line 507: Line 507:
 ==== 14.3. Connector Descriptions and Jumper Settings ==== ==== 14.3. Connector Descriptions and Jumper Settings ====
  
-^ label              ^ Function                                                                                                                                                                                                                                                                                                || +^ label              ^ Function                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 || 
-| **JA-JE & JG**     | **Pmod connectors**: These connectors are used to access many of the I/O functions of the board. Refer to the Digilent Adept Port Summary table and the Connector Usage By Digilent Adept Port tables for more information.                                                                             || +| **JA-JE & JG**     | **Pmod ports**: These connectors are used to access many of the I/O functions of the board. Refer to the Digilent Adept Port Summary table and the Connector Usage By Digilent Adept Port tables for more information.                                                                                                                                                                                                                                                              || 
-| **JPA-JPE & JPG**  | **Power select jumpers for Pmod connectors JA-JE & JG**: Place a shorting block in the VU position to supply input power (normally 5V) to the Pmod connector. Place a shorting block in the 3V3 position to supply regulated power (normally 3.3V) to the Pmod connector.                               || +| **JPA-JPE & JPG**  | **Power select jumpers for Pmod connectors JA-JE & JG**: Place a shorting block in the VU position to supply input power (normally 5V) to the Pmod connector. Place a shorting block in the 3V3 position to supply regulated power (normally 3.3V) to the Pmod connector.                                                                                                                                                                                                                || 
-| **JF**             | **Analog Input/Output Connector**: This connector provides access to the analog input signals for DAIO port 0 and the analog output signals for DAIO port 2.                                                                                                                                            || +| **JF**             | **Analog Input/Output Connector**: This connector provides access to the analog input signals for DAIO port 0 and the analog output signals for DAIO port 2.                                                                                                                                                                                                                                                                                                                             || 
-| :::                | Pin 1                                                                                                                                                                                                                                                                                       | AIN0       | +| :::                | Pin 1                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | AIN0       | 
-| :::                | Pin 2                                                                                                                                                                                                                                                                                       | AIN1       | +| :::                | Pin 2                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | AIN1       | 
-| :::                | Pin 3                                                                                                                                                                                                                                                                                       | N/C        | +| :::                | Pin 3                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | N/C        | 
-| :::                | Pin 4                                                                                                                                                                                                                                                                                       | N/C        | +| :::                | Pin 4                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | N/C        | 
-| :::                | Pin 5                                                                                                                                                                                                                                                                                       | GND        | +| :::                | Pin 5                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | GND        | 
-| :::                | Pin 6                                                                                                                                                                                                                                                                                       | VU or 3V3  | +| :::                | Pin 6                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | VU or 3V3  | 
-| :::                | Pin 7                                                                                                                                                                                                                                                                                       | AOUT0      | +| :::                | Pin 7                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | AOUT0      | 
-| :::                | Pin 8                                                                                                                                                                                                                                                                                       | AOUT1      | +| :::                | Pin 8                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | AOUT1      | 
-| :::                | Pin 9                                                                                                                                                                                                                                                                                       | AOUT2      | +| :::                | Pin 9                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | AOUT2      | 
-| :::                | Pin 10                                                                                                                                                                                                                                                                                      | AOUT3      | +| :::                | Pin 10                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | AOUT3      | 
-| :::                | Pin 11                                                                                                                                                                                                                                                                                      | GND        | +| :::                | Pin 11                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | GND        | 
-| :::                | Pin 12                                                                                                                                                                                                                                                                                      | VU or 3V3  | +| :::                | Pin 12                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | VU or 3V3  | 
-| **JPF**            | ** Power select jumper for connector FJ**: This jumper selects the voltage supplied to the supply pins on JF. Place a shorting block near the board edge to select input power (normally 5V). Place the sorting block  away from the board edge to select regulated power (normally 3.3V).               +| **JPF**            | **Power select jumper for connector FJ**: This jumper selects the voltage supplied to the supply pins on JF. Place a shorting block near the board edge to select input power (normally 5V). Place the sorting block  away from the board edge to select regulated power (normally 3.3V).                                                                                                                                                                                                || 
-|| +| **J1**             | **Analog Input/Output Connector**: This connector provides access to the same signals as JF. The signal connections are labeled on the board. All even numbered pins on the connector are connected to GND. The voltage supplied on pin 13 (VJPF) is the voltage selected by JPF.                                                                                                                                                                                                        || 
-| **J2**         | **A/D Converter Reference Input**: This pin is used to supply the reference voltage for the A/D converter in the primary microcontroller (used by DAIO port 0) when the port is operating using an external reference. The voltage applied at this pin must not exceed the operating voltage of the board (normally 3.3V). The reference voltage is applied to the AREF1 pin.                                                                                                   ||                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   +| **J2**             | **A/D Converter Reference Input**: This pin is used to supply the reference voltage for the A/D converter in the primary microcontroller (used by DAIO port 0) when the port is operating using an external reference. The voltage applied at this pin must not exceed the operating voltage of the board (normally 3.3V). The reference voltage is applied to the AREF1 pin.                                                                                                            || 
-| **J2**         | **A/D Converter Reference Input**: This pin is used to supply the reference voltage for the A/D converter in the primary microcontroller (used by DAIO port 0) when the port is operating using an external reference. The voltage applied at this pin must not exceed the operating voltage of the board (normally 3.3V). The reference voltage is applied to the AREF1 pin.                                                                                                   || +| **J3**             | **Primary Microcontroller (AT90USB646) Debug Connector**: This connector allows use of an Atmel JTAG ICE mkII or AVR Dragon to perform in-system programming and debug of code running in the primary microcontroller. Note: the fuses must be set to enable the JTAG interface to allow in-system debug.                                                                                                                                                                                || 
-| **J3**         | **Primary Microcontroller (AT90USB646) Debug Connector**: This connector allows use of an Atmel JTAG ICE mkII or AVR Dragon to perform in-system programming and debug of code running in the primary microcontroller. Note: the fuses must be set to enable the JTAG interface to allow in-system debug.                                                                                                                                                                       || +| **J4**             | **USB Connector**: Micro B connector used to connect I/O Explorer to USB host port.                                                                                                                                                                                                                                                                                                                                                                                                      || 
-| **J4**         | **USB Connector**: Micro B connector used to connect I/O Explorer to USB host port.                                                                                                                                                                                                                                                                                                                                                                                             || +| **J5**             | **A/D Converter Reference Input**: This pin is used to supply the reference voltage for the A/D converter in the secondary microcontroller (used by DAIO port 2) when the port is operating using an external reference. The voltage applied at this pin must not exceed the operating voltage of the board (normally 3.3V). The reference voltage is applied to the AREF2 pin.                                                                                                          || 
-| **J5**         | **A/D Converter Reference Input**: This pin is used to supply the reference voltage for the A/D converter in the secondary microcontroller (used by DAIO port 2) when the port is operating using an external reference. The voltage applied at this pin must not exceed the operating voltage of the board (normally 3.3V). The reference voltage is applied to the AREF2 pin.                                                                                                 || +| **J6**             | **Secondary Microcontroller (ATmega165P) Debug Connector**: This connector allows use of an Atmel JTAG ICE mkII or AVR Dragon to perform in-system programming and debug of code running in the secondary microcontroller. Note: the fuses must be set to enable the JTAG interface to allow in-system debug.                                                                                                                                                                            || 
-| **J6**         | **Secondary Microcontroller (ATmega165P) Debug Connector**: This connector allows use of an Atmel JTAG ICE mkII or AVR Dragon to perform in-system programming and debug of code running in the secondary microcontroller. Note: the fuses must be set to enable the JTAG interface to allow in-system debug.                                                                                                                                                                   || +| **J7-J9**          | **Ground Posts**: These provide a GND connection for use when using external test equipment, such as an oscilloscope, to probe signals on the board.                                                                                                                                                                                                                                                                                                                                     || 
-| **J7-J9**      | **Ground Posts**: These provide a GND connection for use when using external test equipment, such as an oscilloscope, to probe signals on the board.                                                                                                                                                                                                                                                                                                                            || +| **J10**            | **Servo Bus Power**: This screw terminal connector is used to provide power to the servo power bus VS when the servo power bus is being powered separately from the board main power bus.                                                                                                                                                                                                                                                                                                || 
-| **J10**        | **Servo Bus Power**: This screw terminal connector is used to provide power to the servo power bus VS when the servo power bus is being powered separately from the board main power bus.                                                                                                                                                                                                                                                                                       || +| **J11**            | **Internal I2C Bus**: This connector provides access to the two signals for the internal I2C bus used to communicate between the two microcontrollers and the MCP4728 DAC.                                                                                                                                                                                                                                                                                                               || 
-| **J11**        | **Internal I2C Bus**: This connector provides access to the two signals for the internal I2C bus used to communicate between the two microcontrollers and the MCP4728 DAC.                                                                                                                                                                                                                                                                                                      || +| **J12**            | **TWI BUS Daisy Chain Connector**: This connector is used to connect external devices to the DTWI bus.                                                                                                                                                                                                                                                                                                                                                                                   || 
-| **J12**        | **TWI BUS Daisy Chain Connector**: This connector is used to connect external devices to the DTWI bus.                                                                                                                                                                                                                                                                                                                                                                          || +| **J13-J15**        | **External Power Supply Connectors**: These three connectors are wired in parallel and are used to connect an external power source to the board when operating the I/O Explorer as a self-powered USB device, or when not using USB.                                                                                                                                                                                                                                                    || 
-| **J13-J15**    | **External Power Supply Connectors**: These three connectors are wired in parallel and are used to connect an external power source to the board when operating the I/O Explorer as a self-powered USB device, or when not using USB.                                                                                                                                                                                                                                           || +| **JP1**            | **Primary Microcontroller (AT90USB646) In-System-Programming Connector**: This connector is used to access the primary microcontroller for in-system-programming. It is intended for use with a Digilent programming cable, although other Atmel AVR in-system programmers will work with a suitable cable adapter.                                                                                                                                                                      || 
-| **JP1**        | **Primary Microcontroller (AT90USB646) In-System-Programming Connector**: This connector is used to access the primary microcontroller for in-system-programming. It is intended for use with a Digilent programming cable, although other Atmel AVR in-system programmers will work with a suitable cable adapter.                                                                                                                                                             || +| **JP2**            | **Secondary Microcontroller (ATmega165P) In-System-Programming Connector**: This connector is used to access the secondary microcontroller for in-system-programming. It is intended for use with a Digilent programming cable, although other Atmel AVR in-system programmers will work with a suitable cable adapter.                                                                                                                                                                  || 
-| **JP2**        | **Secondary Microcontroller (ATmega165P) In-System-Programming Connector**: This connector is used to access the secondary microcontroller for in-system-programming. It is intended for use with a Digilent programming cable, although other Atmel AVR in-system programmers will work with a suitable cable adapter.                                                                                                                                                         || +| **JP3**            | **Servo Bus Power Select**: Insert a shorting block on this jumper to join the servo power bus, VS, to the main board power bus, VU. With the shorting block installed, the VS bus is powered from the main board power supply. With the shorting block removed, the VS bus is powered via connector J10.                                                                                                                                                                                || 
-| **JP3**        | **Servo Bus Power Select**: Insert a shorting block on this jumper to join the servo power bus, VS, to the main board power bus, VU. With the shorting block installed, the VS bus is powered from the main board power supply. With the shorting block removed, the VS bus is powered via connector J10.                                                                                                                                                                       || +| **JP4 & JP5**      | **TWI Bus Pull-up Enable**: These jumpers are used to enable/disable the pull-ups on the DTWI bus. Installing the shorting blocks enables the pull-ups, removing the shorting blocks disables them. The pull-ups on the I/O Explorer are implemented using current mirrors, rather than simple pull-up resistors. This provides improved reliability when driving longer busses.                                                                                                         || 
-| **JP4 & JP5**  | **TWI Bus Pull-up Enable**: These jumpers are used to enable/disable the pull-ups on the DTWI bus. Installing the shorting blocks enables the pull-ups, removing the shorting blocks disables them. The pull-ups on the I/O Explorer are implemented using current mirrors, rather than simple pull-up resistors. This provides improved reliability when driving longer busses.                                                                                                || +| **JP6**            | **Main Power Source Select**: This jumper is used to select the main power source for the board. Place a shorting block in the VUSB position to power the board from the USB connector. Place a shorting block in the VEXT position to power the board from one of the external power connectors J13, J14, or J15. An external power supply should provide a regulated 5V. An external voltage greater than 5.5V should never be applied or damage to the board will occur.              || 
-| **JP6**        | **Main Power Source Select**: This jumper is used to select the main power source for the board. Place a shorting block in the VUSB position to power the board from the USB connector. Place a shorting block in the VEXT position to power the board from one of the external power connectors J13, J14, or J15. An external power supply should provide a regulated 5V. An external voltage greater than 5.5V should never be applied or damage to the board will occur.     || +| **J7**             | **Operating Voltage Select**: This jumper is used to select the operating voltage for the board. Place a shorting block in the 3V3 position to operate the board from the internal 3.3V regulator. Place a shorting block in the 5V0 position to operate the board from the input supply (either USB or externally applied 5V) voltage.                                                                                                                                                  || 
-| **J7**         | **Operating Voltage Select**: This jumper is used to select the operating voltage for the board. Place a shorting block in the 3V3 position to operate the board from the internal 3.3V regulator. Place a shorting block in the 5V0 position to operate the board from the input supply (either USB or externally applied 5V) voltage.                                                                                                                                         ||+