Problems with 26MHz Clock and maybe old stepping

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

cross mob
Anonymous
Not applicable

First of all I wanted to wish everyone here a happy new year!

   

However new year -> new problems!

   

I have got my board with the FX3 now and have detected a problem with the clock or the UART baudrate.     

 

   

I am using a 26MHz clock and not a 19,2 MHz crystal. The FSLC-Pins are "101" as described in the datasheet. I can load software to the FX3 via USB and via J-Link Debugger.

   

However the UART does not work, because the baudrate is not correct. It should be 115200 Baud but it is 156000 Baud (measured with a scope). This is 115200 * (26/19.2). This looks like the baudrate is calculated on a 19.2MHz base.

   

To find a solution, I have modified the startup code a little bit to:

   

 

   

CyU3PSysClockConfig_t clkCfg;
     

 

uint32_t sysclk;
     

 

CyU3PPartNumber_t partnumber;
     

 

   

/* Initialize the device */
     

 

 

   

clkCfg.setSysClk400 = CyTrue;
     

 

clkCfg.cpuClkDiv = 2;
     

 

clkCfg.dmaClkDiv = 2;
     

 

clkCfg.mmioClkDiv = 2;
     

 

clkCfg.useStandbyClk = CyTrue;
     

 

clkCfg.clkSrc = CY_U3P_SYS_CLK;

   

status = CyU3PDeviceInit (&clkCfg);
if (status != CY_U3P_SUCCESS)
{
     

 

    goto handle_fatal_error;
     

 

}

status = CyU3PDeviceGetSysClkFreq (&sysclk);
     

 

if (status != CY_U3P_SUCCESS)
     

 

{
     

 

    goto handle_fatal_error;
     

 

}
     

 

 
partnumber = CyU3PDeviceGetPartNumber();     

 

   

 

   

However this makes no difference to CyU3PDeviceInit (NULL).

   

The CyU3PDeviceGetSysClkFreq returns a SysClock of 403.2 MHz. This should be 416 MHz with a 26 MHz clock. Looks like the configuration pins are not detected correctly, but I have checked them several times.     

 

   

At least the partnumber is returned correctly as CYPART_USB3014.     

 

   

I have also a problem with the default VID/PID of the part. This is not 04B4/00F3 but 1480/0000. I have found an article that this is the case with an old revision of the chip. As mentioned, I have modified the Inf-File for this VID/PID. Though my board is pretty new, the chips seem to be pretty old. They are labeled:
     

 

 
CYUSB3014-BZX
     

 

I      1149
     

 

A    33 PHI
     

 

CYP657132
     

 


Do I have to expect other problems with this revision? When I am ordering new chips, how can I find out, that I get actual parts?     

 

0 Likes
2 Replies
Anonymous
Not applicable

Hi Diwo,

   

I missed your post some how....

   

Date code on the chip indicates that it is from a older lot.

   

This one is expected to have some problems. So it is better to get a new one. You should be getting the newer one with production quality from Cypress if you order it now.

   

Now I think you can order free samples from Cypress and replace the one on the board.

   

Thanks,

   

sai kirshna.

0 Likes
Anonymous
Not applicable

FYI,

   

FX3 chips with date code any later than 1201 are of production quality, Rev D.

   

Regards,

   

Sai Krishna.

0 Likes