1 Reply Latest reply on Jun 14, 2010 1:24 PM by dave.veach

    slave FIFO issues

    dave.veach

      This is the first time that I have posted on the Cypress forums so hopefully someone can help out. And this is my try at using an FX2. I've been working on trying to get the EZ-USB FX2 to transfer data from an ADC (Analog devices 9251) but just can't get it to work. I've tried just about everything at this point so now I'm going to the developer community for help.

         

      Our board has 3 main components at this point: a Microchip PIC32 micro-controller, the AD9251 ADC and the FX2. The PIC32 is something that I'm very familiar with and that part of the project is working well [now], The PIC32 controls the ADC and all communication with the host is done with the FX2. The idea is that you send a [vendor] command to the FX2 which uses GPIO pins to signal the PIC32 to start the ADC so that data (which is connected to the FX2 via the FD0:15 bus) will flow to the FX2 (which is configured in salve FIFO mode) and to the host.

         

      So that's how it's supposed to work. I know that the PIC32 is doing what it is supposed to do as is the ADC. Unfortunately, no data from the ADC ever gets into the EP6 FIFO of the FX2. I've read through the TRM many times, looked at what few examples there are and added a lot of debugging vendor commands so that I can see what's in the EP6 FIFO and the various registers. Everything looks like it should be working but I get no data from the ADC into the EP6 FIFO.

         

      I've attached my periph.c file (I didn't rename it yet) to show what I have done. If anyone can take a quick look at it and see if I am doing anything wrong, it would be greatly appreciated. I had originally set AUTOIN to on for EP6 (that didn't seem to work) but then tried setting when I actually get the [vendor] start command so that it did a 0->1 transition. Again, that did nothing.

         

      I'm really at a loss here. The FX2 is supposed to be a very simple chip to use. Using slave FIFO mode is "just supposed to work". Of course, like most other things that's not the case. So if anyone can point me in the right direction, it would be greatly appreciated.