Cypress EZ-USB FX2 port pin problem


I'm just starting to work with the Cypress EZ-USB FX2 chip (56 pin version), and the port pins are causing me trouble. I can't get them to output anything.

My code is based on the a3load example. I use the EZ-USB Control Panel to load my code into the chip. To verify the build and load procedure, I added an extra vendor request code. My code executes and returns a "hello world" string to the control panel log window.

However, the next step - to toggle an I/O pin - doesn't work. Whatever I try, the pins stay where they are. I use a pin that is not-connected on the PCB. I disable alternate functions in the PORTCFGx register, and I set the corresponding OEx bit. Then I toggle the IOx bit.

Nothing happens. I tried this with several pins (even all at once), and there is no toggling observable: neither with the scope, nor by reading back the pin status from the IOx register. On the other hand I DO read back the OEx register change. I also do read correctly the status of an input pin (a pin that I externally force to a level).

What's wrong? Am I missing a register setup (I browsed the TRM back and forth, but didn't find anything)?

Could my FX2 chip be bad (pin output drivers)? The PCB is a yet untested prototype and there could be I/O collisions. However, I'm using a not-connected I/O pin for testing, to avoid sideeffects from external components (rest of I/O pins set to input).

Thanks for any hints.

Regards, Marc

Reply to
Loading thread data ...

Hello Mark,

You maybe need a resistor pull-up?


Reply to

look for the alternate configuration register for those pins,. DEpending on which port it is you will have to configure it with special registers., And one of the ports will not work unless it is taken out of the GPIF scheme.

Reply to
Elan Magavi

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.