[Gb-ccb] FPGA choice and configuration
Randy McCullough
rmccullo at nrao.edu
Wed Feb 25 07:32:38 EST 2004
Tim Pearson wrote:
>The biggest outstanding issue on the CCB design is that we have still
>not identified which FPGAs to use, or how many, or how to interface
>them to the computer. Until this is settled we cannot proceed with
>board layout or FPGA programming. Martin is working on this now, but
>other input would be welcome. My understanding of the issues involved
>is the following:
>
>1. We haven't been able to identify a development board with a USB
>interface that would meet our requirements. The CESYS board mentioned at
>our telecon has a USB 2.0 interface that would probably be fast
>enough, but it is (apparently) extremely difficult to use. (Martin's
>comments on this are included below).
>
>2. This is driving us to go back to Martin's original idea of laying
>out one or more FPGAs on our own circuit board, with our own USB
>interface chip. Martin is the process of acquiring a test setup for
>the USB interface chip he proposed in an earlier message.
>
>(a) A single FPGA does not provide enough I/O pins unless we go for a
>ball-grid array, which we are reluctant to do. Multiplexing the ADCs
>might allow us to use fewer I/O pins but is an added complication.
>
>(b) We can probably do it with 2, 4, or 5 FPGAs on a single board,
>with one serving as a master handling the USB communications. We need
>to check the pin count. It is possible that the master FPGA could be a
>packaged development board, but that would complicate the
>interconnects between master and slaves.
>
>(c) Using 4 identical FPGAs on separate boards allows for good
>modularity, as in Randy's proposal, but it would require
>synchronization (I think we now agree that this would be possible via
>1 PPS and 10 MHz). The computer would have to handle 4 USB
>connections, which might not work under USB 1.1, and the USB protocol
>would have to include timing to establish synchronization.
>
>Of these options, we currently favor (b) and Martin is trying to
>come up with a concrete proposal, but if you are pursuing other options
>or think that we should, please let me know.
>
>An aside: to minimize the pin count, we are assuming that the 2 least
>significant bits from each ADC will not be passed to the FPGA, even in
>dump mode (unless we find ourselves with a surfeit of pins). Let me
>know if this is unacceptable.
>
>We need more discussion via e-mail (we'll try to minimize the flaming!)
>and probably another telecon.
>
>- Tim
>
>
>Martin's comments on the CESYS USB interface:
>
>* I have been reading documentation on the Cypress USB interface that
> is used by the FPGA development board. The stuff available on
> Cesys' web-site is dominated by documentation of Windows
> software. As far as I can see, they don't give any specifics about
> the FPGA interface to the USB module. I ended up going to Cypress
> semicondutor's web-site, to look at the documentation of the USB
> module itself, separate from the FPGA board.
>
> It appears that to use this interface, I would not only have to
> program the FPGA to talk to the Cypress USB interface module, but
> also write specific firmware for the 8051 microproccessor within
> the Cypress USB module, and write a specific USB 2.0 device driver.
> This is clearly orders of magnitude more complicated than the
> simple FIFO to virtual-serial-port interface that I was going to
> use before.
>
>* It turns out that the Cypress USB interface module that this board
> uses is the same as the USB interface of an external USB 24-bit
> soundcard that I use with my laptop. This was a pain in the neck to
> get working. The problem is that the Cypress USB interface does
> something unusual (they patented the technique, so probably nobody
> else dares do anything similar). Whenever devices that use this
> module are newly plugged in to the USB bus, the Cypress USB module
> does the following.
>
> A. It identifies itself to the USB host controller as a simple USB
> peripheral with little functionality.
>
> B. The device driver on the host is then expected to send the
> Cypress module its firmware. This is a 200K file for my audio
> card.
>
> C. The Cypress USB module then disconnects itself from the USB bus,
> then immediately reconnects itself, this time identifying itself
> as a different USB device, with specifics taken from the new
> firmware.
>
> On my laptop, under RedHat, I managed to get this to work using
> free software, and a copy of the firmware file, but it takes 15
> seconds for the above process to complete, and after a reboot, it
> only works if I manually unplug it then replug it in. If I leave
> the device plugged in at boot time. Probably the boot-time poll of
> the USB bus occurs before the host's USB interface is fully
> initialized, so the immediate disconnect and reconnect confuses
> it. Other than manually unplugging and replugging in the device
> after each boot, I haven't found a solution for this problem. We
> may have similar problems with the CCB if we use this development
> board.
>
>--
>Timothy J. Pearson
>Astronomy Dept 105-24, Caltech, Pasadena, California 91125, USA
>Internet: tjp at astro.caltech.edu
>Telephone: +1 626 395-4980 FAX: +1 626 568-9352
>_______________________________________________
>gb-ccb mailing list
>gb-ccb at listmgr.cv.nrao.edu
>http://listmgr.cv.nrao.edu/mailman/listinfo/gb-ccb
>
>
>
Martin,
Can you please provide part number(s) for the original USB interface
device(s) you've been considering?
Thanks!
Randy
More information about the gb-ccb
mailing list