Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| io_explorer_usb:refmanual [2015/06/03 21:24] – Martha | io_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' | Using the Digilent Adept Software Developer' | ||
| - | 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 | + | 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, | 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, | ||
| - | {{ : | + | {{ : |
| {{ : | {{ : | ||
| Line 30: | Line 31: | ||
| * Fully software compatible with the Digilent Adept Runtime system | * Fully software compatible with the Digilent Adept Runtime system | ||
| * C/ | * C/ | ||
| - | * 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 45: | 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 53: | Line 54: | ||
| 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 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/ | The I/O Explorer provides a number of built-in I/O devices, such as switches, push buttons, LEDs, rotary encoders, and a speaker/ | ||
| + | |||
| 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. | 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 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: | 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: | ||
| + | |||
| 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. | 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-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. | 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-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. | For additional information useful in developing custom firmware for the board, the complete schematic is available on the Digilent web site. | ||
| Line 68: | Line 76: | ||
| 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. | 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. | 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 | + | |
| + | 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. | ||
| + | |||
| The barrel connector, J13, will normally be used for desktop applications as a self powered device. | The barrel connector, J13, will normally be used for desktop applications as a self powered device. | ||
| + | |||
| 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. | 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. | J15 is a two-pin male header that provides easy battery or battery-pack connection. | ||
| + | |||
| 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 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 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. | 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. | ||
| + | |||
| 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. | 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. | ||
| - | The I/O Explorer can provide power to any peripheral modules attached to the Pmod connectors | + | |
| - | Each Pmod connector | + | 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. | ||
| 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 | + | |
| + | 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. | ||
| Line 89: | Line 111: | ||
| 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 | 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. | 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. | The primary microcontroller (AT90USB646) contains a USB 2.0 Compliant, Full Speed Device controller. | ||
| Line 98: | Line 122: | ||
| The I/O Explorer provides the following I/O Devices on the board: | The I/O Explorer provides the following I/O Devices on the board: | ||
| + | |||
| * 8 Slide switches | * 8 Slide switches | ||
| * 4 Push button switches | * 4 Push button switches | ||
| Line 111: | Line 136: | ||
| ---- | ---- | ||
| - | ===== 5. Pmod Connectors | + | ===== 5. Pmod Ports ===== |
| + | |||
| + | The I/O Explorer has six Pmod ports for connecting Digilent Pmod peripheral modules. | ||
| + | |||
| + | 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 Pmods can either be plugged directly into the ports on the I/O Explorer or attached via cables. | ||
| - | The I/O Explorer has six Pmod connectors for connecting Digilent Pmod peripheral modules. | ||
| - | 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. | ||
| - | Digilent Pmod peripheral modules can either be plugged directly into the connectors on the I/O Explorer or attached via cables. | ||
| 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. | 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. | ||
| Line 124: | Line 152: | ||
| 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 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 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. | 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. | 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. | ||
| + | |||
| The analog inputs for DAIO port 0 are accessed via connectors JF and J1. | 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. | 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. | 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. | 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). | This analog output port supports two selectable voltage references (2.048V and 3.3V). | ||
| Line 139: | Line 175: | ||
| The I/O Explorer provides a Universal Asynchronous Receiver/ | The I/O Explorer provides a Universal Asynchronous Receiver/ | ||
| + | |||
| 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 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. | 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. | ||
| Line 148: | Line 186: | ||
| The I/O Explorer provides eight 3-pin RC hobby servo connectors for direct control of servos in embedded hardware actuator applications. | The I/O Explorer provides eight 3-pin RC hobby servo connectors for direct control of servos in embedded hardware actuator applications. | ||
| + | |||
| 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. | 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. | RC servos use a pulse width modulated signal, PWM, to control the servo position. | ||
| + | |||
| There are three power options for servo connections: | There are three power options for servo connections: | ||
| + | |||
| For the first case above: | For the first case above: | ||
| + | |||
| For the second case above: Remove the shorting block from jumper JP3 to make the VS servo power bus independent from the VU bus. In this case, the VS bus is powered from screw terminal connector J10. | For the second case above: Remove the shorting block from jumper JP3 to make the VS servo power bus independent from the VU bus. In this case, the VS bus is powered from screw terminal connector J10. | ||
| + | |||
| Finally, for very high servo current applications, | Finally, for very high servo current applications, | ||
| + | |||
| The on-board servo power bus can be used to provide a maximum of 2A to each servo connector and 5A total to all servo connectors. | The on-board servo power bus can be used to provide a maximum of 2A to each servo connector and 5A total to all servo connectors. | ||
| Line 162: | Line 207: | ||
| The Digilent Two Wire Serial Interface (DTWI) provides a medium speed serial comunications interface compatible with the Inter-Integrated Circuit (I2CTM) Interface defined by Philips. | The Digilent Two Wire Serial Interface (DTWI) provides a medium speed serial comunications interface compatible with the Inter-Integrated Circuit (I2CTM) Interface defined by Philips. | ||
| + | |||
| Access to the DTWI bus is provided using the DTWI API functions as described in the DTWI Programmer’s Reference Manual in the Digilent Adept SDK. | Access to the DTWI bus is provided using the DTWI API functions as described in the DTWI Programmer’s Reference Manual in the Digilent Adept SDK. | ||
| + | |||
| The DTWI connector, J12, provides two positions for connecting to the I2C signals, power and ground. | The DTWI connector, J12, provides two positions for connecting to the I2C signals, power and ground. | ||
| + | |||
| The I2C bus is an open-collector bus. Devices on the bus actively drive the signals low. The high state on the I2C signals is achieved by pull-up resistors when no device is driving the lines low. One device on the I2C bus must provide the pull-up resistors. The I2C bus on the I/O Explorer provides selectable pull-up resistors that can be enabled or disabled via jumper blocks JP4 and JP5. The pull-ups are enabled by installing shorting blocks and are disabled by removing the shorting blocks. | The I2C bus is an open-collector bus. Devices on the bus actively drive the signals low. The high state on the I2C signals is achieved by pull-up resistors when no device is driving the lines low. One device on the I2C bus must provide the pull-up resistors. The I2C bus on the I/O Explorer provides selectable pull-up resistors that can be enabled or disabled via jumper blocks JP4 and JP5. The pull-ups are enabled by installing shorting blocks and are disabled by removing the shorting blocks. | ||
| Line 174: | Line 222: | ||
| When the I/O Explorer is operating using user developed firmware in the primary microcontroller, | When the I/O Explorer is operating using user developed firmware in the primary microcontroller, | ||
| + | |||
| When running the factory firmware in the secondary microcontroller, | When running the factory firmware in the secondary microcontroller, | ||
| + | |||
| In addition to the secondary microcontroller, | In addition to the secondary microcontroller, | ||
| + | |||
| The AT90USB646 microcontroller has a single TWI controller. This TWI controller is used to provide the public DTWI (I2C) interface, and is not used for the private I2C bus. The private I2C bus is controlled using a ‘bit-banged’ software I2C implementation. Digilent provides a reference design example as part of the I/O Explorer support documentation to illustrate this ‘bit-banged’ I2C implementation. | The AT90USB646 microcontroller has a single TWI controller. This TWI controller is used to provide the public DTWI (I2C) interface, and is not used for the private I2C bus. The private I2C bus is controlled using a ‘bit-banged’ software I2C implementation. Digilent provides a reference design example as part of the I/O Explorer support documentation to illustrate this ‘bit-banged’ I2C implementation. | ||
| Line 184: | Line 235: | ||
| Although the I/O Explorer is primarily intended to function as a dedicated USB peripheral device to provide I/O expansion capability for PC application programs, it can also be used as a microcontroller development platform to run user developed custom firmware. | Although the I/O Explorer is primarily intended to function as a dedicated USB peripheral device to provide I/O expansion capability for PC application programs, it can also be used as a microcontroller development platform to run user developed custom firmware. | ||
| + | |||
| Connectors are provided for in-system-programming and for debugging firmware running on each microcontroller. Connectors JP1 and J3 are the programming and debugging connectors respectively for the primary microcontroller, | Connectors are provided for in-system-programming and for debugging firmware running on each microcontroller. Connectors JP1 and J3 are the programming and debugging connectors respectively for the primary microcontroller, | ||
| + | |||
| The programming connectors are intended for use with a Digilent JTAG/SPI programming cable, such as the Digilent JTAG-USB Full Speed Module, although other programmers can be used with a suitable connector adapter. The debugging connectors are suitable for use with an Atmel JTAG ICE mk II or an Atmel AVR Dragon for in-system programming and debugging. | The programming connectors are intended for use with a Digilent JTAG/SPI programming cable, such as the Digilent JTAG-USB Full Speed Module, although other programmers can be used with a suitable connector adapter. The debugging connectors are suitable for use with an Atmel JTAG ICE mk II or an Atmel AVR Dragon for in-system programming and debugging. | ||
| + | |||
| In order to restore the I/O Explorer to its original functionality after having programmed it with custom firmware, it is necessary to re-program the original firmware into whichever of the two microcontrollers have been programmed with custom firmware. Digilent makes the factory firmware images available as part of the support documents for the I/O Explorer on the Digilent web site. There are two firmware image files for each microcontroller: | In order to restore the I/O Explorer to its original functionality after having programmed it with custom firmware, it is necessary to re-program the original firmware into whichever of the two microcontrollers have been programmed with custom firmware. Digilent makes the factory firmware images available as part of the support documents for the I/O Explorer on the Digilent web site. There are two firmware image files for each microcontroller: | ||
| - | The filenames for the firmware image files for the primary microcontroller are of the form: AvrFW_29_000003F2_XXXX.hex and AvrFw_29_000003F2_XXXX.eep, | + | |
| + | The filenames for the firmware image files for the primary microcontroller are of the form: AvrFW_29_000003F2_XXXX.hex and AvrFw_29_000003F2_XXXX.eep, | ||
| + | |||
| + | Similarly, the filenames for the firmware image files for the secondary microcontroller are of the form: AvrFw_210174_0101_XXXX.hex and AvrFw_210174_0101_XXXX.eep, | ||
| In order to completely restore the board to the correct state for use as a Digilent Adept Compatible USB device it is necessary to restore the device serial number after programming the firmware and EEPROM images into the primary microcontroller. This is accomplished using the AdeptUtil program that is contained in the Adept Command Line Utilities. These utility programs are installed when the Adept Runtime System software is installed. The correct device serial number is: “210174nnnnnnnn”, | In order to completely restore the board to the correct state for use as a Digilent Adept Compatible USB device it is necessary to restore the device serial number after programming the firmware and EEPROM images into the primary microcontroller. This is accomplished using the AdeptUtil program that is contained in the Adept Command Line Utilities. These utility programs are installed when the Adept Runtime System software is installed. The correct device serial number is: “210174nnnnnnnn”, | ||
| Line 194: | Line 252: | ||
| ---- | ---- | ||
| - | ===== Digilent Adept Port Summary ===== | + | ===== 12. Digilent Adept Port Summary ===== |
| The following summarizes the ports accessible via the Digilent Adept SDK when using the I/O Explorer as a USB peripheral device using the standard firmware. | The following summarizes the ports accessible via the Digilent Adept SDK when using the I/O Explorer as a USB peripheral device using the standard firmware. | ||
| Line 450: | Line 508: | ||
| ^ label ^ Function | ^ label ^ Function | ||
| - | | **JA-JE & JG** | **Pmod | + | | **JA-JE & JG** | **Pmod |
| | **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** | | **JF** | ||
| Line 465: | Line 523: | ||
| | ::: | Pin 11 | GND | | | ::: | Pin 11 | GND | | ||
| | ::: | Pin 12 | VU or 3V3 | | | ::: | Pin 12 | VU or 3V3 | | ||
| - | | **JPF** | + | | **JPF** |
| - | | **J1** | + | | **J1** |
| - | The voltage supplied on pin 13 (VJPF) is the voltage selected by JPF. || | + | |
| | **J2** | | **J2** | ||
| | **J3** | | **J3** | ||
| Line 484: | Line 541: | ||
| | **JP6** | | **JP6** | ||
| | **J7** | | **J7** | ||
| + | |||
| + | |||

