wiki:Internal/NoiseGenerator/Hardware/BaBo

Orbit Noise Generator Baseband Board (BaBo)

BaBo performs baseband I/Q data acquistion and generation, data processing and transmission to upstream data servers through a USB interface. BaBo top-level schematic is attached.

Hardware Components

BaBo is centered around three components:

  • Cypress EZ-USB FX2 - CY7C68013 USB microcontroller, which is an 8051 core with a USB2 interface
  • Xilinx XC3S400-4TQ144C FPGA
  • Analog Device

PCB

Programming Notes

First you must upload the firmware onto the FX2. Once the firmware is ready on the FX2. Once the FX2 is programmed, it programs the FPGA by feeding it a sequence of bits or bytes that configure all the gates and datapaths and doohickeys inside.

Relevant documentation extraction:

3.5       USB Boot Methods                                    
During the power-up sequence, internal logic checks the I2C-
compatible port for the connection of an EEPROM whose first
byte is either 0xC0 or 0xC2. If found, it uses the VID/PID/DID
values in the EEPROM in place of the internally stored values
(0xC0), or it boot-loads the EEPROM contents into internal
RAM (0xC2). If no EEPROM is detected, FX2 enumerates
using internally stored descriptors. The default ID values for
FX2 are VID/PID/DID (0x04B4, 0x8613, 0xxxyy).

3.6 ReNumeration™
Because the FX2’s configuration is soft, one chip can take on
the identities of multiple distinct USB devices.

When first plugged into USB, the FX2 enumerates automati-
cally and downloads firmware and USB descriptor tables over
the USB cable. Next, the FX2 enumerates again, this time as
a device defined by the downloaded information. This
patented two-step process, called ReNumeration™, happens
instantly when the device is plugged in, with no hint that the
initial download step has occurred.

Two control bits in the USBCS (USB Control and Status)
register control the ReNumeration process: DISCON and
To simulate a USB disconnect, the firmware sets
DISCON to 1. To reconnect, the firmware clears DISCON to 0.

Before reconnecting, the firmware sets or clears the RENUM
bit to indicate whether the firmware or the Default USB Device
will handle device requests over endpoint zero: if RENUM = 0,
the Default USB Device will handle device requests; if RENUM
= 1, the firmware will.

Appendix

Last modified 13 years ago Last modified on Feb 17, 2007, 12:35:32 AM

Attachments (5)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.