What is GPIO state of FX3 after it is loaded with slave fifo example(AN65947)?

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
MaXi_1246331
Level 4
Level 4
50 replies posted 25 replies posted 10 replies posted

What is GPIO state of FX3 after it is loaded with slave fifo example(AN65947)? I observe GPIO 50 and 52 are not tristated. I connect these pins to other device. They should be tristated when loaded with this firmware. The default states are tristated, but after booting with slave fifo example,32 bits mode, they are NOT traistated.Why?

Thank you.

0 Likes
1 Solution
Hemanth
Moderator
Moderator
Moderator
First like given First question asked 750 replies posted

Hi,

As mentioned in the thread The GPIO state when FX3 is loading firmware.

Can you please change the GPIO state using CyU3PGpioSetSimpleConfig() to solve your problem?

Regards,

Hemanth

Hemanth

View solution in original post

3 Replies
Hemanth
Moderator
Moderator
Moderator
First like given First question asked 750 replies posted

Hi,

The default state of GPIOs during different Boots is mentioned in Table 31 of the following document.

https://www.cypress.com/file/201991/download

Please check if the same state is being retained after Boot. Can you please let me know which Boot option do you use? What is the state of the GPIO 50 and 52 that you see after boot? How do you confirm it is not tri-stated?

Regards,

Hemanth

Hemanth
0 Likes

FX3 and xilinx FPGA are connected following the suggestion of AN84868 "Configuring an FPGA Over USB Using Cypress EZ-USB FX3
". GPIO 50 are used for FPGA's "done" signal. GPIO 52 are used for FPGA INIT_B signal.

AN84868 is more difficult. Currently, I do not download firmware of  AN84868, but rather AN65947, Slave FIFO application. I download firmware to EEPROM and boot FX3 in I2C->USB mode. After wait for enough time (at least 10 seconds),  I begin to configure FPGA in JTAG mode but I fail. I observe The GPIO 52 (Init_b) keeps at high level and GPIO 50 (done) keeps at low level. This is why the JTAG configuration fails. I remove the series resistor the route of GPIO52 to INIT_B  and GPIO 50 to Done. Then I succeed in JTAG configuration. I observe FPGA's INIT_B present a low pulse after FPGA receives the configuration command by JTAG. The FPGA's Done pin shows high level after configuration,

I read Table 31 of the booting option document and confirmed GPIO52 and GPIO 50 should be tristated before and during booting.

0 Likes
Hemanth
Moderator
Moderator
Moderator
First like given First question asked 750 replies posted

Hi,

As mentioned in the thread The GPIO state when FX3 is loading firmware.

Can you please change the GPIO state using CyU3PGpioSetSimpleConfig() to solve your problem?

Regards,

Hemanth

Hemanth