This question is related to the CoolRunner-II Starter Board that was used to be offered from Digilent. See here for schematic. See here for the reference manual. Here is the block diagram for the CPLD itself:

enter image description here

The questions surround the Atmel USB controller. This is actually Atmel AT90USB162. This part is defined by its datasheet as "The AT90USB82/162 is a low-power CMOS 8-bit microcontroller based on the AVR enhanced RISC architecture.".

The image shows USB connecting to the Atmel part connected to JTAG and also USB. The CPLD is connected to JTAG and the Atmel part. This raises the following questions:

  1. Why does Atmel microcontroller exist here? This is not an FPGA that would require an external master to configure it.
  2. If I copy this board to create my own, where do I get the program inside this microcontroller?

Basically since we have JTAG header that can be used to configure the CPLD, it is not clear what is the purpose of the Atmel part here.

enter image description here


1 Answer 1

  1. Website says :

an on-board USB2 port for board power, JTAG programming, and data transfers

So the AVR ia there as an USB interface chip for reprogramming the CPLD and communicating with the FPGA over USB.

  1. Likely nowhere. It is a custom firmware to make the boars look like a Xilinx USB programmer for PC software, and maybe to provide a USB serial port for communication.
  • \$\begingroup\$ I see. So if I was to make this board and have a USB option like this, how would I get the source code for the microcontroller? I guess that it is not really possible since it may as well be a custom USB device. \$\endgroup\$
    – gyuunyuu
    May 10, 2023 at 21:58
  • \$\begingroup\$ The first diagram implies that this USB controller is somehow part of the JTAG chain. \$\endgroup\$
    – gyuunyuu
    May 10, 2023 at 21:59
  • \$\begingroup\$ You can't get the source code. And yes, like the manual says, the MCU is an onboard USB to JTAG adapter for programming the CPLD, so you don't need an external adapter for JTAG programming this board. Just like many MCU boards have a second MCU for programming and debugging via USB. \$\endgroup\$
    – Justme
    May 11, 2023 at 4:13
  • \$\begingroup\$ ok, since this is like a general purpose application, is there some sort of standard program that exists for these USB controllers? Well, certainly the program will completely change depending on which platform we use for the microcontroller (Atmel, Cypress e.t.c.). \$\endgroup\$
    – gyuunyuu
    May 12, 2023 at 11:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.