Digilent I/O Explorer Reference Manual Download Page 8

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 

8

 of 

16

 

 

10  Private I

2

C Bus 

When the I/O Explorer is operating using user developed firmware in the primary microcontroller, there is a 
private I2C bus controlled by the primary microcontroller that is used to talk to two peripheral devices: The 
secondary microcontroller, and the Microchip MCP4728 Digital to Analog (D/A) converter. 

When running the factory firmware in the secondary microcontroller, this microcontroller appears as an I2C slave 
device on the private bus. The command protocol for this interface is described in the document: Digilent I/O 
Explorer Slave Device Communications Protocol available on the Digilent web site. This document is contained in 
the reference design example that illustrates the used of the command protocol to talk to the secondary 
microcontroller. The primary microcontroller can send commands to the secondary microcontroller for access to 
many of the on-board I/O devices, such as the switches, push buttons, LEDs, etc. 

In addition to the secondary microcontroller, there is also a Microchip MCP4728, four channel, D/A converter on 
the private I2C bus. When using the factory firmware in the primary microcontroller, this D/A converter provides 
the analog outputs accessible through the DAIO API functions. When running user defined firmware on the 
primary microcontroller, this device is directly accessible to the user firmware. 

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. 

 

11  Developing Custom Firmware for the I/O Explorer 

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, IC1, an Atmel AT90USB646. Connectors JP2 and J6 are the programming and debugging 
connectors respectively for the secondary microcontroller, IC2, an Atmel ATmega165P. 

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: one to restore the program flash memory, and one to restore the EEPROM. Both firmware images 
must be programmed into the 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, where “XXXX” represents the firmware 
version number. The .hex file is the image for the program flash, and the .eep file is the image for the EEPROM. 

Summary of Contents for I/O Explorer

Page 1: ...agram 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 A...

Page 2: ...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...

Page 3: ...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 w...

Page 4: ...lected 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...

Page 5: ...ed 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...

Page 6: ...tory 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...

Page 7: ...de a maximum of 2A to each servo connector and 5A total to all servo connectors 9 Digilent Two Wire Serial Interface DTWI The Digilent Two Wire Serial Interface DTWI provides a medium speed serial com...

Page 8: ...s part of the I O Explorer support documentation to illustrate this bit banged I2C implementation 11 Developing Custom Firmware for the I O Explorer Although the I O Explorer is primarily intended to...

Page 9: ...is installed The correct device serial number is 210174nnnnnnnn where nnnnnnnn is the last six digits of the bar code label attached to the bottom of the board After reprogramming the firmware onto th...

Page 10: ...el 0 Single value Ranged OUT Speaker Buzzer frequency Port 3 Channel 0 Single value Ranged IN Quadrature encoder input on JE7 JE8 Channel 1 Single value Ranged IN Quadrature encoder input on JE9 JE10...

Page 11: ...ervo control Pmod connector JE7 JE10 13 Connector Usage by Digilent Adept Port The following summarizes the connectors on the board and how they are used by the Digilent Adept system ports Pmod Connec...

Page 12: ...pin 5 7 9 11 Connector J12 DTWI Port 0 14 Microcontroller Pin and Connector Tables 14 1 IC1 AT90USB646 Port Connections MCU Port Bit Signal Connector Pin Notes RA00 U1 PA0 AD0 JA 01 RA01 U1 PA1 AD1 J...

Page 13: ...JC 03 RE03 U1 PE3 UID JC 04 RE04 U1 PE4 TOSC1 INT4 JC 07 RE05 U1 PE5 TOSC2 INT5 JC 08 RE06 U1 PE6 AIN0 INT6 JC 09 RE07 U1 PE7 AIN1 INT7 JC 10 RF00 U1 PF1 ADC0 JF 01 J1 01 DAIO Port 0 ch 0 RF01 U1 PF2...

Page 14: ...D04 U2 PD4 N A LED LD4 DGIO Port 0 chan 0 RD05 U2 PD5 N A LED LD5 DGIO Port 0 chan 0 RD06 U2 PD6 N A LED LD6 DGIO Port 0 chan 0 RD07 U2 PD7 N A LED LD7 DGIO Port 0 chan 0 RE00 U2 RXD PCINT0 PE0 N A En...

Page 15: ...e 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 C...

Page 16: ...econdary 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 S...

Page 17: ...Mouser Electronics Authorized Distributor Click to View Pricing Inventory Delivery Lifecycle Information Digilent 410 174P 410 174...

Reviews: