What is the max clock frequency that the GPIO can simulate ?

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

cross mob
Anonymous
Not applicable

Hi, everyone.

     I am using FX3 . Now i need use 2 GPIO pins  to simulate the serial bus , one pin is clock out and the other is data out .

     I set the GPIO as siample GPIO, and set the output value through their registers. In my test, the simulative max clock frequency is 1.03MHz.

     So What is the max clock frequency that the GPIO can simulate? I need the clock faster.

     Otherwise, Can the complex GPIO  perform faster and  simulate synchronous clock and data? I cant use other LPP ports.

0 Likes
1 Solution
YangyangC_06
Employee
Employee
750 replies posted 500 replies posted 250 replies posted

You could get a max GPIO toggle frequecny of SYSCLK/8 with a complex GPIO.

This question has been resolved long before. Please refer to the link

GPIO Toggling frequency related

View solution in original post

0 Likes
10 Replies
YangyangC_06
Employee
Employee
750 replies posted 500 replies posted 250 replies posted

You could get a max GPIO toggle frequecny of SYSCLK/8 with a complex GPIO.

This question has been resolved long before. Please refer to the link

GPIO Toggling frequency related

0 Likes
Anonymous
Not applicable

Thanks for your reply. But I can't open the page whith the link you supplied.

It shows "unauthorized". Can you check if it is invalid?

0 Likes
lock attach
Attachments are accessible only for community members.

Attached is  a simple demo project in which I have configured 4 GPIO as complex GPIO . The GPIO 0,1,2 & 3 are the GPIOs used and they are running at 48Mhz , 32Mhz, 24Mhz and 19.2Mhz. respectively.

0 Likes

To toggle a pin at max speed does not give you any control because all the CPU is used up.

The power of PSoCs shows when you use a piece of hardware ie. a PWM component that only needs the CPU when you want to change period or duty cycle of the signal.

Bob

0 Likes
Anonymous
Not applicable

Hi, bob ,

Thanks a lot .

This means that I can only use GPIO as a high speed clock, no way to use GPIO as a data line that is synchronized with the this clock. Is it right ?bob.marlowe

0 Likes

It depends on your requirment. Do you want to drive a GPIO as a clock or simulate any communication protocal such I2C,SPI, etc?

0 Likes
Anonymous
Not applicable

Hi,yyaca

I want to driver tow GPIOs  to simulate CLK Line and MOSI Line in SPI protocal with high speed.

0 Likes

We have already built an example in which FX3 drives GPIOs to simulate SPI protocol. You can refer to that.

C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\firmware\serialif_examples\cyfxusbspigpiomode

0 Likes
Anonymous
Not applicable

I have refered it . It use GPIOs as Simple. I tested CLK, it is only 125KHz, that was too slow for my requirement.

I need the one GPIO simulate CLK up to 5MHz and one GPIO simulate MOSI.

Is there have any other way to implement ?

0 Likes

You could try to rewrite the example code to write register directly. This could increase the frequency.

Refer to

Increasing Frequency of Bit-Banged GPIO Clock in EZ-USB® FX3™ - KBA90267

0 Likes