I2C communication issue in 1.3.4 SDK

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

cross mob
Rakesh
Level 3
Level 3
25 replies posted 10 questions asked 50 sign-ins

Dear infineon team,

 I am trying to port my old code build using 1.3.1 SDK to 1.3.4 SDK. I faced a problem during I2C communication. I was sending some data through I2C before the CyU3PConnectState() API in my previous code. But while using 1.3.4 SDK the data transmitted over I2C was not written properly in registers. This is happening randomly (out of 5 times 2 or 3 times this issue occurs) . But in 1.3.4 SDK when I transmit I2C data after the CyU3PConnectState() API it is working properly. 
kindly provide a solution to sort out this issue.

Regards,

Rakesh

 

0 Likes
1 Solution
lock attach
Attachments are accessible only for community members.
AliAsgar
Moderator
Moderator
Moderator
1000 replies posted 250 solutions authored 750 replies posted

Hi Rakesh,

Please use the attached library file while building the code and let me know if the issue is reproduced. We do have a bug with the SDK 1.3.4 related to the SpiTransmitWords API. We will be fixing the issue with the SDK 1.3.5 release.

Best Regards,
AliAsgar

View solution in original post

10 Replies
AliAsgar
Moderator
Moderator
Moderator
1000 replies posted 250 solutions authored 750 replies posted

Hi Rakesh,

Could you share the firmware project with us?

Is superspeed explorer kit being used or is it a custom board?

Best Regards,
AliAsgar

 

 

0 Likes
Rakesh
Level 3
Level 3
25 replies posted 10 questions asked 50 sign-ins

Hi aliasgar,                                                                                                                                                                                                       

Thanks for your quick reply. 

We further debugged the issue and found that the CyU3PSpiTransmitWords() API is creating some sort of issue. In our code we are using CyU3PSpiTransmitWords() API to send boot data to ISP. After transmitting, we read the register back and found different values (not same as the values written using CyU3PSpiTransmitWords() API). So I think the CyU3PSpiTransmitWords() API does not transmit the data properly. I tried another method by using I2C to send boot data to ISP and the device is working fine.
It is mentioned in the 1.3.4 SDK release notes that the CyU3PSpiTransmitWords() API has been updated. Is there any possibilty to revert the changes that you have done in CyU3PSpiTransmitWords() API, so that I can understand wheather CyU3PSpiTransmitWords() API is creating this issue. Kindly provide a solution to solve this issue.
Note: same code when build using 1.3.1 SDK is working properly.

Regards,

Rakesh rajan

0 Likes
AliAsgar
Moderator
Moderator
Moderator
1000 replies posted 250 solutions authored 750 replies posted

Hi Rakesh,

Could you probe the SPI lines when transferring the data on SPI from FX3 to the ISP and check whether the probed lines are correct?

Could you also share the firmware with us? We will try to reproduce the issue at our end?

Best Regards,
AliAsgar

0 Likes
Rakesh
Level 3
Level 3
25 replies posted 10 questions asked 50 sign-ins

Hi aliasgar,


Thanks for your reply.

Update on issue:
i have reduced the spi clock frequency from 1mhz to 999khz now the CyU3PSpiTransmitWords() API sends boot data to ISP without any errors.But when i increased the frequency to 1mhz or greater again CyU3PSpiTransmitWords() API is not transmitting properly. can you please give us a solution for resolving this issue, we need to use CyU3PSpiTransmitWords() API at maximum frequency(~30Mhz).

since im using a custom board with custom firmware im not authorised to share the firmware for the time being. but i am trying to recreate the issue using example code provided by infineon if issue is recreated i will share the source code with you.

Regards,
Rakesh rajan

0 Likes
Rakesh
Level 3
Level 3
25 replies posted 10 questions asked 50 sign-ins

Hi aliasgar,

Update on the issue:
i have changed the FX3SDKVERSION value to 1_3_1 in the buid variables window(see attached image). Now the bootdata is transferred properly from CX3 to ISP. it looks like CyU3PSpiTransmitWords() API updated in 1.3.4 SDK is creating problem. is there any procedure to rebuild 1.3.4 SDK with old 1.3.1 spi.c source code.

kindly help us in resolving this issue ASAP. we are holding our 1.3.4 SDK porting process due to this issue.
Regards ,
Rakesh rajan

Rakesh_0-1652706672062.png

 

0 Likes
Rakesh
Level 3
Level 3
25 replies posted 10 questions asked 50 sign-ins

Hi aliasgar,

kindly help us in resolving the above issue ASAP. we are holding our 1.3.4 SDK porting process due to this issue.


Regards ,
Rakesh rajan

0 Likes
lock attach
Attachments are accessible only for community members.
AliAsgar
Moderator
Moderator
Moderator
1000 replies posted 250 solutions authored 750 replies posted

Hi Rakesh,

Please use the attached library file while building the code and let me know if the issue is reproduced. We do have a bug with the SDK 1.3.4 related to the SpiTransmitWords API. We will be fixing the issue with the SDK 1.3.5 release.

Best Regards,
AliAsgar

Rakesh
Level 3
Level 3
25 replies posted 10 questions asked 50 sign-ins

Hi aliasgar, 

Thanks for the reply.

I have used the attached  library and built the code using 1.3.4 SDK version . No issues in data transfer through SpiTransmitWords API. i checked with different frequencies (8,10,20,30 MHz) no issues so far.  

 please tell us approximate release date of 1.3.5 SDK . so that we can plan our porting process accordingly.

Thanks and regards,

Rakesh rajan

0 Likes
AliAsgar
Moderator
Moderator
Moderator
1000 replies posted 250 solutions authored 750 replies posted

Hi Rakesh,

Glad to know that the issue is resolved.

FX3 SDK 1.3.5 is undergoing final validation. It will be released mid-July.

Best Regards,
AliAsgar

 

0 Likes
Rakesh
Level 3
Level 3
25 replies posted 10 questions asked 50 sign-ins

Hi aliasgar,

Thanks for the information.

Regards,

Rakesh rajan

0 Likes