Hi. 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
Cypress EZ-USB FX2 port pin problem
Started by ●October 26, 2006
Reply by ●October 26, 20062006-10-26
Reply by ●October 26, 20062006-10-26
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. <jetmarc@hotmail.com> wrote in message news:1161848002.194652.11820@m73g2000cwd.googlegroups.com...> Hi. > > 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 >