cancel
Showing results for 
Search instead for 
Did you mean: 

PSoC 5, 3 & 1 MCU

Anonymous
Not applicable

I setup a basic PRiSM block connected to the onboard LED on the development kit.  I set my target Fout to 500 Hz and I see a lot of flicker.  The app note about PRiSM states that "FOUT ~= 300 Hz to have flicker free LED dimming" I can't seem to get it flicker free be 2 kHz.  I have validated Fout with my oscope and it does show 500 Hz.

   

My setting are as follows:

   

Fin                  = 2 kHz
Pulse Density = 50%
Resolution      = 8 bit

   

 

   

Fin calculation
Fout      = Fin    / 4  @ 50% pulse density
500 Hz = 2 kHz / 4

0 Likes
21 Replies
ETRO_SSN583
Esteemed Contributor

If you go to the start page of Creator there is an example project

   

that you can run. Without seeing your project archive I would suggest

   

this.

   

 

   

Regards, Dana.

   

 

   

   

 

   

0 Likes
Anonymous
Not applicable

 I have attached my project file.  I also have a capture of a pure pwm(top) vs a prism waveform(bottom).  Note this is at 25% pulse density.

   

 

   

0 Likes
ETRO_SSN583
Esteemed Contributor

If I look at periods seems to run at 8 mS or less for any period, or

   

> 100 Hz. So flicker would seem it should be be OK from this.

   

 

   

I noticed you did not terminate reset pins with a logic "0".....?

   

Also you are feeding PRIsM with ~ 100 Khz clock, is that what

   

you intended ?

   

 

   

Maybe someone else can do a setup, I am on vaca and no board

   

available.

   

 

   

Regards, Dana.

0 Likes
Anonymous
Not applicable

I have attached a way more simplified project.  I know you don't have a board but the output should be going to the onboard LED on P6_3.

0 Likes
Anonymous
Not applicable

 That was the wrong file again, that one was just a pwm.  I have now attached the right file.

0 Likes
JoMe_264151
Expert II

From your last posted example:

   

your input frequency is 2kHz, divided by 256 (you selected 8 bit resolution)  results in 8Hz which will flicker. So I'd suggest you to use 24kHz input frequency which should give you a (nearly) flicker-free ~90Hz.

   

 

   

Bob

0 Likes
ETRO_SSN583
Esteemed Contributor

You should terminate the PriSM reset input with a logic low, dont

   

leave it floating.

   

 

   

 

   

Regards, Dana.

0 Likes
Anonymous
Not applicable

 Ok, setting it to zero doesnt seem to rectify the flickering though.

0 Likes
ETRO_SSN583
Esteemed Contributor

You changed the clock per Bob's instructions in prior post ?

   

 

   

Regards, Dana.

0 Likes
Anonymous
Not applicable

 I have been trying various freqencies for a few weeks now.

   

Per this app note http://www.cypress.com/?docID=50255

   

I am at 50% duty cycle which is Fin / 4.  The equation Bob suggests is for a duty cycle 0% and 100%.  A 24kHz clock will result in an Fout being 24 kHz / 4 = 6 kHz.  This will definitely be flicker free but way to high for my inductors.

0 Likes
ETRO_SSN583
Esteemed Contributor

Are you meeting these conditions -

   

 

   

   

 

   

Also makes me wonder if there is any possibility you get "beat" notes

   

between LEDs....Can you run just one LED to confirm this is not happening.

   

 

   

Regards, Dana.

0 Likes
Anonymous
Not applicable

 yes, Fout is 500 Hz.  The latest project i have attached only contains 1 LED on the development kit board which is just an LED and resistor in series. 

0 Likes
ETRO_SSN583
Esteemed Contributor

Try to attach project again.

   

 

   

Regards, Dana.

0 Likes
Anonymous
Not applicable

Please find attached project, project configuration below

   
        
  • Single PrISM Block
  •     
  • Fin = 2kHz
  •     
  • Pulse Density = 50%
  •     
  • Resolution 8 bit
  •     
  • Fout = 500 Hz
  •     
  • LED output P6[3], onboard LED on development kit
  •    
   

The flicker seems to get worse lower towards Fout of 300 Hz,  it goes away at high frequencies but theres soo much inductor noise. I can provide more logic captures and I am able to video flicker if that helps. 

0 Likes
ETRO_SSN583
Esteemed Contributor

I am going to advise you file a CASE and point to this thread.

   

Unless someone else can fire up a board and look at your

   

project, I can't because I am on vacation.

   

 

   

    

   

         

   

To create a technical or issue case at Cypress -

   

 

   

www.cypress.com

   

“Support”

   

“Technical Support”

   

“Create a Case”

   

 

   

You have to be registered on Cypress web site first.

   

 

   

Your clock, at 2 Khz, means you will have (from datasheet) -

   

 

   

Maximum output frequency components present for any
signal density in PrISM sequence are FIN/2 and minimum
are FIN/2n.

   


The average output frequency for 50% signal density is
average of FIN/2 (maximum value) and FIN/2n (minimum
value). For high n, the value of FIN/2n is low compared to
FIN/2 and average output frequency is nearly FIN/4.

   

 

   

So you will have worst case 2 Khz/256 or ~ 8 Hz, way into flicker.
Maybe its time to consider PWM......


   

 Regards, Dana.

0 Likes
Anonymous
Not applicable

 I hear what you are saying about the bounderies being minimum: 8 hz and maximum 1 kHz.  The datasheet says to keep these bounderies of Fout <=1kHz but above 120 Hz.  What settings would you recommend to achieve that?  It seems impossible to me.  I will open a case to understand whats going on.

   

I was interpreting that Fout was the average and not the extremes. 

0 Likes
HeLi_263931
Honored Contributor II

Why do you have an inductor in your circuit? The whole point of driving a LED with PWM or PRiSM is _not_ to use an inductor, but really run the LED pulse-based. That ensure only brighness changes, but not color / color temperatur. When you remove the inductor you can run the whole system with higher frequencies.

   

(The way how PRiSM works will not give you a narrow frequency range, for a 8-bit-PRiSM the span will always be 1:128)

0 Likes
Anonymous
Not applicable

 I am driving very high powered LEDs which cannot be driven right off the board. I am experiencing flicker on the driving of those LEDS as well as the LED on the development kit. I am hoping if I can solve this problem on the development kit, the solution will carry over to the driver board.

0 Likes
JoMe_264151
Expert II

Since the objective of PrISM is to spread the frequency over a range as large as possible I would suggest you to use PWM.

   

Choose a fixed period that already guarantees flicker-free (100-200Hz) and only vary the compare-value between 0 to 100% of the period value.

   

 

   

Bob

0 Likes
HeLi_263931
Honored Contributor II

But even with the inductor you do not drive the LEDs directly from PSoC. So you just need a FET turning the LEDs on and off, and still don't need an inductor. Or do you use an existing driver that has a PWM input?

0 Likes
ETRO_SSN583
Esteemed Contributor

 I hear what you are saying about the bounderies being minimum: 8 hz and maximum 1 kHz.  The datasheet says to keep these bounderies of Fout <=1kHz but above 120 Hz.  What settings would you recommend to achieve that?  It seems impossible to me.  I will open a case to understand whats going on.

   

I was interpreting that Fout was the average and not the extremes.

   

 

   

The graph shows you what average F to expect. So if you are varying over

   

a wide range you will get clk/2**n or some pretty low avg F.

   

 

   

If using 8 bits its a counter that has a base period of 256 counts, So for 120 Hz

   

I would suggest 30 Khz. If thats a problem for the LED driver then a PWM solution

   

would allow you better optimization, at the expense of additional EMI.

   

 

   

I am a bit un unfamiliar ground myself, dying to get home to look at this myself.

   

 

   

0 Likes