cancel
Showing results for 
Search instead for 
Did you mean: 

USB Superspeed Peripherals

shhac_4101246
New Contributor

Hi,

I want to change SSC_RANGE[1:0] of LNK_PHY_MPLL_STATUS on CX3.

There is CyU3PUsbSSCDisable API to disable this function, but I can't find the API to change SSC_RANGE.

How can I change this parameter?

pastedImage_0.png

Best Regards,

0 Likes
1 Solution
KandlaguntaR_36
Moderator
Moderator

Yes, SSCDisable API should be called before ConnectState API.

I am afraid to say that we are not giving access to the user to change SSC_RANGE.

The default SSC is set to operate at -5000 ppm, which generates maximum spread in the spectrum. I don't think the higher than this ( -4500 or -4000 ppm) would help.

View solution in original post

0 Likes
12 Replies
KandlaguntaR_36
Moderator
Moderator

No API is available to vary the SSC Range.

Can you please let me know why do you want to change the SSC Range?

0 Likes
shhac_4101246
New Contributor

Hello KandlaguntaR_36,

Thanks for your reply.

Our product exceeds our emission requirement limit around 2.5 GHz that may be generated from the USB 3.0 communication.

So we'd like to know if SSC Range change can suppress this noise or not.

Is there any way to change this register value?

0 Likes
KandlaguntaR_36
Moderator
Moderator

Understood.

Is disabling the SSC helping you to meet the limit?

0 Likes
shhac_4101246
New Contributor

Hello KandlaguntaR_36,

Thanks for the reply.

We will check if it helps to meet the limit tomorrow.

Is there any way to change this register value?

Can we access to this register directly?

Best Regards,

0 Likes
KandlaguntaR_36
Moderator
Moderator

Hello,

You can access the register directly before the CyU3PConnectState API. By default, the range is set to 00 (- 5000 ppm).

Note that you can change only values related to Range: 01 (- 4500 ppm),10 (-4000 ppm),11 (-3025 ppm) in ascending order.

0 Likes
shhac_4101246
New Contributor

Hello,

Thanks for the information.

Is there any sample for direct access to the CX3 register?

Best Regards,

0 Likes
KandlaguntaR_36
Moderator
Moderator

I have tried to access the register 0xE003302C and changed the range value to 1 just before connect state and printed the values.

Found that the ConnectState API is overwriting the MPLL_STATUS register to USB3LNK->lnk_phy_mpll_status = 0x00310018 | CY_U3P_UIB_SSC_EN;

Hence, we need to modify the ConnectState API to vary the range value. I need to check internally on this.

0 Likes
KandlaguntaR_36
Moderator
Moderator

I can see that LNK_PHY_MPLL_STATUS register being overwritten at some places with some fixed values in the library. At all the places, the range is set to 0. Eventhough we tried to change this register in the firmware, it will be overwritten in the library.

Please provide the test results and without disabling the SSC. Then I will check internally.

0 Likes
shhac_4101246
New Contributor

Hello,

Thanks, so should I call disable API before calling CyU3PConnectState API?

Best Regards,

0 Likes
shhac_4101246
New Contributor

Hi KandlaguntaR_36,

We disabled SSC but the emittion got worse than SSC enabled.(I think this is expected result)

If you can provide a way to change SSC_RANGE, it's much appreciated.

0 Likes
KandlaguntaR_36
Moderator
Moderator

Yes, SSCDisable API should be called before ConnectState API.

I am afraid to say that we are not giving access to the user to change SSC_RANGE.

The default SSC is set to operate at -5000 ppm, which generates maximum spread in the spectrum. I don't think the higher than this ( -4500 or -4000 ppm) would help.

View solution in original post

0 Likes
shhac_4101246
New Contributor

Hello,

If default 00 has maximum spread in the spectrum, we don't want to change the range.

Thanks for your support!

0 Likes