The GPIO state when FX3 is loading firmware.

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

According to "EZ-USB® FX3™/FX3S™ Boot Options", The GPIO has its default state.

I have made two experiments.

1) I do not let firmware to be loaded from EEPROM to FX3 by tie PMODE to USB boot. I do not connect FX3 to USB, In that case FX3 will soon reach the default state specified at the mentioned document. That is the expected phenomenon.

2) I let firmware to be loaded from EEPROM to FX3. It takes 1 or 2 seconds for loading process. During the loading time, the GPIOs of FX3 do not follow the default state specified at the mentioned document. For example, GPIO 45 is High in default according to the document. The when loading, it is low. As soon as loading is completed, it is in its default state.

Is it true that GPIO does not in the default state during loading? Is the phenomenon expected?

Another question is how to reduce the I2C loading time?

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

Hi,

Yes the default state of GPIO45 that is documented in AN76405 is different to the default state observed while I2C Boot.

During I2C Boot the state of GPIO45 is TRISTATE.

Thank you for pointing it out. We will look more into it.

But, once the firmware loads, you can change the state of the GPIO to required using CyU3PGpioSetSimpleConfig(). Can you do this to solve the issue at your end?

Regarding I2C frequency, please refer to Bit5:4 of bImageCTL in section 11.1 of the following doc:

C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\doc\firmware\FX3_Programmers_Manual.pdf

(Frequency can't be reduced below 100kHz)

Regards,

Hemanth

Hemanth

View solution in original post

7 Replies
NoriTan
Employee
Employee
25 sign-ins 5 questions asked 10 sign-ins

Please refer following application note.

https://www.cypress.com/an76405

https://www.cypress.com/an76405

AN76405 - EZ-USB® FX3™/FX3S™ Boot Options

There is a "Default State of I/Os During Boot" table.

Regards,

Noriaki

0 Likes

Thank you. I had read the document and still have more detailed questions described above.

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

Hi,

Yes the default state of GPIO45 that is documented in AN76405 is different to the default state observed while I2C Boot.

During I2C Boot the state of GPIO45 is TRISTATE.

Thank you for pointing it out. We will look more into it.

But, once the firmware loads, you can change the state of the GPIO to required using CyU3PGpioSetSimpleConfig(). Can you do this to solve the issue at your end?

Regarding I2C frequency, please refer to Bit5:4 of bImageCTL in section 11.1 of the following doc:

C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\doc\firmware\FX3_Programmers_Manual.pdf

(Frequency can't be reduced below 100kHz)

Regards,

Hemanth

Hemanth

Thank you, although I can change the GPIO state by coding, the default state will last from the time the firmware begin to run to the time of the code that changes of GPIO state. This time is very short, but short circuit exist in this short period.

Is there any table tell me each GPIO's state when FX3 is loading firmware? My experiment tell me during this time, not each GPIO is tristated. Some GPIO is low because it can not be pulled high through pull-up resistor.

Thank you for tell me the way to change I2c frequency.

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

Hi,

The table in AN76405​ which you are referring is the one which tells about the state of GPIOs during the Bootloader execution (that is while FX3 loads firmware over I2C). But as you have pointed the GPIO45 is not HIGH as expected and is Tristated. So, can you please share your schematic with us so that we can see how a short circuit exists when the pin is tristated?

Also let us know the state of which GPIOs other than GPIO45 that you are looking for?

Regards,

Hemanth

Hemanth
0 Likes

GPIO45 should be high during I2C data downloading. I find it is low or tristate.

GPIO53 should be high during I2C data downloading. I find it is tristate.

Thank you

0 Likes

GPIO45 is tested when it does not connected with other elements. I use oscilloscope show low when booting and present a short high pulse after booting. If I use USB booting and do not download image, GPIO45 behaves the same as described in doc.

GPIO53 is connected with a pullup resistor and equivalent  pulldown resistor. the oscilloscope show middle voltage during booting and high after booting.

0 Likes