1 Reply Latest reply on Aug 26, 2011 6:17 AM by o.t

    CY7C67300 is not responding

    o.t

      Hi, I'm using Xilinx ML403 development kit which contains CY7C67300-100AXI. I'm trying to establish an USB communication via cy chip using HPI interface. I'm using fpga(virtex4) as uBlaze processor.

         

      Xilinx tools contains sample project which configures cy as host, and reads the inputs from a USB keyboard. At my first try, the given code worked properly. However, after several days, when I loaded the very same bit file into the fpga, it did not work.

         

      As to remember, given code works as follows, hard resets the cy, loads binary file into the cy, soft resets the cy, wait for COMM_ACK( 0x0FED ) from the cy, sets the program counter. Then communication is established. However, in my second try rather than sending COMM_ACK message, cy sends 0xFA58 constantly. Eventhough I looked at AN6010 "Using HPI", I have found no meaning for this message 0xFA58.

         

      Simultaneously, direct connection with cy is also gone. When I connected the peripheral2 port of ML403 to my computer(Windows XP Pro SP2), after the installation of the driver, I was able to use bash environment and read the values of the internal memory of cy using qtudump command. Now, when I plug the USB cable in, my computer does not recognize anything; not fail to enumerate, simply recognize no new device attached. And of course, bash environment returns "USB device not found" error.

         

      Is there anyone who experinced the same or similar problem? I don't know where to start debugging. Can there be any physical damage on the cy chip? Or, do some booting/loading functionality work incorrectly?

        • 1. Re: CY7C67300 is not responding
          o.t

          I realized that problem had occured due to loading incorrect binary file into eeprom. Since at start-up, cy boots from eeprom, it was failing to start properly.

             

          In order to solve the problem, I shorted the two pins of cy, that is GPIO_30 and GPIO_31. These pins are also connected to the 24LC128(eeprom) as given in the schematics of ML403 board. I turn on the board with that shorted pins, then computer recognized the cy. Then, I disconnected the shorted pins, afterwards loaded "eeprom.bin" file using qtui2c command. This file is provided in the xilinx web site for USB reference designs of ML40x boards. ( http://www.xilinx.com/products/boards/ml403/reference_designs.htm ). Now cy works properly.