PSoC 5 clock questions

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

cross mob
WaMa_286156
Level 5
Level 5
First comment on blog 100 replies posted 50 replies posted

   I see there are several clock sources for the PSoC 5.  They are plainly described.

   

.

   

  However, I do have a few questions concerning the information I read:

   

.

   

1)  The PSoC designer assumes 24 mhz.  Are there any design tradeoffs if you use an 18 mhz clock as the input?  (I'm assuming you can't use USB if you do that.)

   

.

   

2)  If I wish to use a base 18mhz clock off of the IMO oscillator, can I do it? There does not appear to be a way.

   

.

   

3) Are there any example projects using the DSI (dsi_clkin) as a master clock?

   

.

   

4) Can you drive the Pierce Oscillator input (AN54439) using an external Clock Oscillator device?  Any tradeoffs?

   

.

   

5) If I must use a 24mhz input clock (say, for USB), how would I get an 18mhz stable clock for the SAR ADC to do 1msps?

0 Likes
1 Solution
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

There are different clock sources as you have seen already. Central clock is the IMO which can be fed internally, external x-tal or external clock. From the IMO the other clocks are derivated by use of a PLL and some dividers.

   

1)  The PSoC designer assumes 24 MHz.  Are there any design tradeoffs if you use an 18 mhz clock as the input?

   

You do not need to, but you may. You can set the PLL output to 36MHz from a 24MHz IMO, and set the master clock and/or the bus clock to something like 36,18 as you like.

   

2)  If I wish to use a base 18mhz clock off of the IMO oscillator, can I do it? There does not appear to be a way.

   

No, there is no way except with X-tal or external clock. I usually use 3 or 24MHz

   

5) If I must use a 24mhz input clock (say, for USB), how would I get an 18mhz stable clock for the SAR ADC to do 1msps?

   

Running the SAR ADC at 1Msps requires the use of an external clock or an X-tal preferrably at 24MHz. From that you can derive the 48MHz clock for USB, the 36MHz coming out the PLL from which you can derive a clock-component on the schematic with 18MHz. The bus-clock and themaster clock are both derived from the PLL directly.

   

 

   

Bob

View solution in original post

0 Likes
11 Replies
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

There are different clock sources as you have seen already. Central clock is the IMO which can be fed internally, external x-tal or external clock. From the IMO the other clocks are derivated by use of a PLL and some dividers.

   

1)  The PSoC designer assumes 24 MHz.  Are there any design tradeoffs if you use an 18 mhz clock as the input?

   

You do not need to, but you may. You can set the PLL output to 36MHz from a 24MHz IMO, and set the master clock and/or the bus clock to something like 36,18 as you like.

   

2)  If I wish to use a base 18mhz clock off of the IMO oscillator, can I do it? There does not appear to be a way.

   

No, there is no way except with X-tal or external clock. I usually use 3 or 24MHz

   

5) If I must use a 24mhz input clock (say, for USB), how would I get an 18mhz stable clock for the SAR ADC to do 1msps?

   

Running the SAR ADC at 1Msps requires the use of an external clock or an X-tal preferrably at 24MHz. From that you can derive the 48MHz clock for USB, the 36MHz coming out the PLL from which you can derive a clock-component on the schematic with 18MHz. The bus-clock and themaster clock are both derived from the PLL directly.

   

 

   

Bob

0 Likes
WaMa_286156
Level 5
Level 5
First comment on blog 100 replies posted 50 replies posted

  I played around with a non-standard clock (34mhz), and the "hall monitor" gave me red for USB.

   

.

   

Until I was able to either give it a 48mhz clock on the USB, or turn it off altogether,  the system errored and would not build.  I was able to get a build by unchecking the USB clock box in the GUI. 

   

.

   

Are there any known issues (other than no USB) for doing this?

0 Likes
lock attach
Attachments are accessible only for community members.
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

Worx.

   

 

   

Bob

0 Likes
HeLi_263931
Level 8
Level 8
100 solutions authored 50 solutions authored 25 solutions authored

I just tested whether I can configure that together. There is an example project 'SAR_SPIM_USB' that uses both the SAr ADC and USB. By default it uses an external crystal. I disabled the crystal, configured the IMO to 24MHz and the PLL to 36MHz.

   

Funny enough, the error message says:

   

ADD: sdb.M0059: error: Error in component: ADC_SAR_0. Internal clock frequency value must be between 1 MHz + 0.25% (1.0025 MHz) and 18 MHz - 0.25% (17.955 MHz).

   

I would like to see how to fulfill that requirement 🙂 (And even when the PLL uses a crystal as source, the project doesn't build)

   

(Edit: my mistake, see below for what went wrong)

0 Likes
HeLi_263931
Level 8
Level 8
100 solutions authored 50 solutions authored 25 solutions authored

@bob: that project configures 944444 sps, to 1Msps.

   

We actually had this discussion before: http://www.cypress.com/?app=forum&id=4749&rID=82366 but it seems that bug has not be fixed 😞

0 Likes
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

@Hli

   

There is no "bug". When you can guarantee that with your environment setting (clocks) the required 18MHz is not exceeded (which will NOT be the case when using the free-running IMO) the project will build.

   

So your choice is to use an external X-tal which - as you tell Creator - has 0% tolerance. This project will build.

   

 

   

Can you please explain what you mean with your post "that project configures 944444 sps, to 1Msps."

   

 

   

Bob

0 Likes
WaMa_286156
Level 5
Level 5
First comment on blog 100 replies posted 50 replies posted

 When I ran across that issue of clock tolerance, I simply unchecked the tolerance requirement in the GUI, and it built.

   

.

   

I don't know if this is a bug or not.  I found it peculiar, but also a work around, so it did not bother me. 

0 Likes
HeLi_263931
Level 8
Level 8
100 solutions authored 50 solutions authored 25 solutions authored

As I said - i also tested with the XTAL as clock source, and the same problems happens. I even told Creator I have a 18MHz crystal (with 0% tolerance even), and used the XTAL as direct clocksource, and the project did not build. (Edit: my mistake, see below for what went wrong)

   

To your project: I downloaded it, unzipped it, and opened it in Creator 3.1. In the schematic the clock for the ADC is set to 17MHz, and the SAR ADC says its running with 944444sps. Maybe you want to check again?

0 Likes
HeLi_263931
Level 8
Level 8
100 solutions authored 50 solutions authored 25 solutions authored

Oh, the error in may test was:

   

ADD: sdb.M0059: error: Error in component: ADC_SAR_0. Internal clock frequency value must be between 1 MHz + 0% (1.0 MHz) and 18 MHz - 0% (18.0 MHz).

   

Quite strange, maybe its because I had in on the IMO before?

0 Likes
HeLi_263931
Level 8
Level 8
100 solutions authored 50 solutions authored 25 solutions authored

Oh, the problem was before the computer, no inside. The SAR_SPIM_USB example project has two SAR ADC. I did set one to 1Msps, but attached the 18MHz clock to the other one 😞

   

Its still a strange error message, but it happens only when the internal clock is used. I don't know why Creator cannot figure out by itself that there is a proper clock available.

0 Likes
Anonymous
Not applicable

It's because the internal clock + it's maximum uncertainty is > than the maximum clock input for the ADC at 1Msps.

0 Likes