fx3's cyusb3014 io toogle speed

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

cross mob
Anonymous
Not applicable

anyone can tell me the maximum gpio's toggle speed of the cyusb3014?

0 Likes
7 Replies
Anonymous
Not applicable

It should be around 720kHz using the SDK. 1MHz should be the max possible we're trying to provide register access to do that.

   

Regards,

   

Anand

0 Likes
Anonymous
Not applicable

ASSI,i think it must be higher than 1mhz.

   

Atmel's arm926ej-s SoC or sam7 Soc has a io toggle speed at about  1/4~1/5 of the system clock.

   

So I think that fx3's io toggle speed is the same(at about 25mhz).But now i has not the chip,can't test it.

   

anyone has the real result?

0 Likes
Anonymous
Not applicable

write "00101010101010..." to the pin

0 Likes
Anonymous
Not applicable

I have tested it with a fx3 DVK and measured GPIO toggle speed with an oscilloscope. The max. toggle freq is about 270 kHz write a sequence of 0101010 to a GPIO Pin via SDK. If you want to simulate a SPI-Readaccess then this toggle frequence is only 210 kHz because of the needed GPIO-Reads. Perhaps there is a faster way to implement and someone has a good idea.

   

Regards Uli

0 Likes
Anonymous
Not applicable

Sadly all my tests reveal max toggle speed is 1MHz for a single GPIO pin,... if you play with more then one GPIO then you must divide this frequency by number of changed pins, which sucks. there is no possible paralell output for GPIOs ... on the other hand fo GPIO inputs you can read GPIO (00-31, and 32-59) pins at once  so whole 60 inputs at 2 steps (500KHz)

   

also i tested if MCU thread sheduling mess things up ... it seems that not (you achieve the same speed with or without threads usage)

   

change of GPIO clock settings do not change things .... i assume its only for GPIO contorler interface and have absolutely nothing with GPIO in/out operation speed

   

there is only one possible speed up and that is: direct register access which i donot know how to achieve on this platform (there is no source code ,... and SDK is only in object files so no diging there too, and i am used to use asm for MCUs, and also more familiar with Atmel then Cypress), but anyway the output registers are not groupped together as input registers so the division of max frequency stands there. ... speeding up with this aproach would be posible only if there is some kind of bug in SDK API

   

P.S. I am using CYUSB3014 (DVK board CYUSB3KIT-001)

   

ARM clock `200MHz

   

GPIO clock `200MHz    .... as i mentioned before this has nothing to dowith input/output speed

0 Likes
Anonymous
Not applicable

Hi Hali,

   

You are right. Please let me know if you want to do the register level access to improve the speed by a little bit.

   

FX3 GPIO Registers are described in the section 9.2 of Programmers manual of FX3.

   

Thanks,

   

Sai Krishna.

0 Likes
Anonymous
Not applicable

Hi Hali,

   

did you already have seen the SPI GPIO example in the instatlation folder <FX3 SDK\firmware\serialif_examples\cyfxusbspigpiomode> ? There is a define which uses direct register success or API success.

   

regards,

   

lumpi

0 Likes