PSoC 4 change brightness of P10 LED Matrix Panels

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

cross mob
lock attach
Attachments are accessible only for community members.
Anonymous
Not applicable

 Hi every body!

   

I have a CY8CKIT - 042 PSoC® 4 Pioneer Kit and 6 P10 LED Matrix Panels 16x32 (1 colour) connected in series. I'm using PSoC Creator 3.0 SP2.

   

Link about P10 LED Matrix Panels :

   

http://forum.arduino.cc/index.php?topic=260320.0

   

http://arectron.com/yazilim/p10-panel-kullanimi.html

   

I want change brightness of P10 LED Matrix Panels via OE pin.

   

Example: P2.0 on CY8CKIT - 042 PSoC® 4 Pioneer Kit connected to OE pin on the first P10 LED Matrix Panels.

   

Beside using PWM component, can you please tell me about another solutions to change brightness?

   

Many thanks!

   
        
0 Likes
29 Replies
ETRO_SSN583
Level 9
Level 9
250 likes received 100 sign-ins 5 likes given

Use the PrISM module ?

   

 

   

   

 

   

Regards, Dana.

0 Likes
Anonymous
Not applicable

 Hi Dana,

   

I'll try to code for PrISM.

   

Have Voltage Digital to Analog Converter component in PSoC Creator? 

   

Can I use it to change brightness?

   

Many thanks!

0 Likes
Anonymous
Not applicable

Hello Dana,

   

i don´t have any question about this topic but about deadtime.

   

i have problem producing dead band. I have read some of your contribution on that subject, and would be happy if you can help me.

   

My code is working very well apart of the issue with positve bandwith of the two phase outputs signals, that are differnts. Normally they should be equal.

   

Do you have any idea, what the problem is?

   

Thanks for repying

   

Regards

0 Likes
ETRO_SSN583
Level 9
Level 9
250 likes received 100 sign-ins 5 likes given

Have Voltage Digital to Analog Converter component in PSoC Creator? 

   

Can I use it to change brightness?

   

 

   

In your case the enable signal on the P10 is a digital signal, so the IDAC8's

   

on PSOC cannot be used for this purpose. Note its an IDAC and you create a VDAC

   

out of it by using a TIA or a resistor.

   

 

   

Regards, Dana.

0 Likes
Anonymous
Not applicable

 Thanks for your supports!  

0 Likes
ETRO_SSN583
Level 9
Level 9
250 likes received 100 sign-ins 5 likes given

My code is working very well apart of the issue with positve bandwith of the two phase outputs signals, that are differnts. Normally they should be equal.

   

Do you have any idea, what the problem is?

   

 

   

The way 2 phase signals work is they are replicas 180 degrees out of phase. Same

   

frequency and duty cycle. But that also means they would have no dead time. In order

   

to create deadtime, still keeping the frequency the same, then one pulse's duty cycle must

   

be lower than the other. So when you set up deadtime in the PWM configuration, you see

   

phase 2 has a lower duty cycle by 2 X the number of deadtime clocks.

   

 

   

Regards, Dana.

0 Likes
Anonymous
Not applicable

Hello dana,

   

 

   

thank you so much for your support. I understand now why the positives pulses are differents from each other.

   

Please could you help me to produce deaddand while keeping the bandwidth equal? The Frequencys can be different.

   

Thanks a lot again

   

Regards

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

Dear Rosine

   

To help you and others with a similar problem it would be a lot better to start a new thread for your question with a meaningful description instead of hijacking a thread with a quite different theme.

   

When later someone searches for PWM-threads he will find yours (and others) as expected.

   

 

   

Bob

0 Likes
ETRO_SSN583
Level 9
Level 9
250 likes received 100 sign-ins 5 likes given

Rosine, can you describe a little more why you need exactly same

   

PW on both phases ? What you are driving downstream that is driving

   

this specification ?

   

 

   

Also what pulse width range do you need, and what frequency of pulse

   

train is needed.

   

 

   

In general Verilog solution would be one way to achieve this. Or use a

   

LUT to trigger 2 PWM channels operating in one shot mode, that would

   

sequence the pulses, and with a combinationj of compare and period

   

writes (using PWM APIs) you could manage deadtime and frequency.

   

 

   

Regards, Dana.

0 Likes
Anonymous
Not applicable

 Did you try the TCPWM component in pwm mode with deadtime insertion and right align?

0 Likes
ETRO_SSN583
Level 9
Level 9
250 likes received 100 sign-ins 5 likes given

Eric that component creates unequal duty cycle outputs to achieve deadtime,

   

which poster does not want.

   

 

   

Regards, Dana.

0 Likes
Anonymous
Not applicable

Hello Dana,

   

Thank all of you for replying.

   

With the code, i would like to control a brodge made of MOSFETs. From the requirement i received, the Pulswidth, Dead time must  be equal.

   

your right but by using two PWMs, after flashing the code in the controler, i am just geting one output signal right, on the other output, there is no signal.

   

Please can you give an example, which is working?

   

Thank again very much

   

Regards

   

rosine

0 Likes
ETRO_SSN583
Level 9
Level 9
250 likes received 100 sign-ins 5 likes given

Rosine, post your project so we can take a look at it.

   


   

     

   

            

   

“File”                                                             Creator

   

“Create Workspace Bundle”

   

  

   

Regards, Dana.

0 Likes
Anonymous
Not applicable

Hello Dana,

   

on a subject "PWM Phase Shift", you have propose a method:

   

" Another way is to use 2 PWMs. Start one, then using a counter count the first PWMs clock and start the other after a desired number of clock delays. Use HW enables to do this. Both PWMs would have the same period, compare values."

   

Here is the link to your suggestion:    

   

         

   

http://www.cypress.com/?app=forum&id=4749&rID=102369

   

 

   

That was your suggestion, but how can you realise this? Please I think it is what i need. I have try to do it but i am getting only one output properly.

   

I will be please with any help

   

Regards

   

Rosine

0 Likes
ETRO_SSN583
Level 9
Level 9
250 likes received 100 sign-ins 5 likes given

The method I suggested would eat up some resources on PSOC 4.

   

 

   

Let me ask another question, what is the frequency you want to operate

   

PWMs at, the range of duty cycle, and the resolution of duty cycle control.

   

 

   

Reason I ask is the approach that shortens one PWM out duty cycle to

   

create the deadtime would be a small fraction difference over most of the

   

duty cycle range. So if you are led driving that effect would be small,

   

as the eye tends to integrate brighness. And if you are working with

   

leds the deatime you need probably ony 1 - 2 clocks, so in a 16 bit PWM

   

that difefrence in brightness is lost in the "noise".

   

 

   

Try it in a test bed, that should take < 5 min to set up, thats the beauty of PSOC,

   

how fast you can do quick tests and checks of ideas.

   

 

   

Regards, Dana.

0 Likes
ETRO_SSN583
Level 9
Level 9
250 likes received 100 sign-ins 5 likes given

Here is an example, deadband is 2 clocks on each side of

   

PWM2 out. So thats 4 clocks out of 500 or .8% of the duty cycle.

   

Below is drawn to scale. The 2 clocks is ~ 200 nS of deadtime.

   

I drove the PWM with a 10 Mhz clock. You can increase DT and

   

period to affect other criteria. Like if you wanted 1 uS of DT and still

   

keep delta < 1 %. In your application I do not think you will be able to

   

observe any "artifacts" due to small differences in Duty Cycle between

   

outputs.

   

 

   

0 Likes
ETRO_SSN583
Level 9
Level 9
250 likes received 100 sign-ins 5 likes given

Here is an example, deadband is 2 clocks on each side of

   

PWM2 out. Clk to PWM 24 Mhz. So thats 4 clocks out of 1199

   

or .3% of the duty cycle. Below is drawn to scale. The 2 clocks

   

is ~ 80 nS of deadtime. You can increase DT and period to affect

   

other criteria.

   

 

   

0 Likes
Anonymous
Not applicable

Hello Dana,

   

i would like to know how to calculate the switching frequency from the  Turn-on delay time [td(on)], Rise time(tr), Turn-off delay time (td(off)) and Fall time(tf).

   

Thank for replying

   

Regards

   

Rosine

0 Likes
ETRO_SSN583
Level 9
Level 9
250 likes received 100 sign-ins 5 likes given

The PWM out switching freq = Fpwmclkin / Period, period is the

   

setting you invoke in its properties or by using API to write period.

   

 

   

The turn on delay or in this case deadtime is the number of input

   

clks you set in properties, or again by API write. The dead ime is

   

= DTclks / Fpwmclkin. So if your Fpwmclkin = 1 Mhz (1 uS period)

   

and DTclks = 2, then deadtime = 2 uS.

   

 

   

Rise and fall times speced for GPIO in datasheet.

   

 

   

Regards, Dana.

0 Likes
Anonymous
Not applicable

Hello Dana,

   

the PWMs will be produce to drive the Full-Bridge. I was thinking, that the switching frequency of the MOSFETs is very important

   

in order to calculate the accurated dead time.

   

Thanks

   

Regards

0 Likes
ETRO_SSN583
Level 9
Level 9
250 likes received 100 sign-ins 5 likes given

Its preferred that you use an integrated H Bridge as PSOC

   

outputs cannot create fast MOSFET gate drive as the GPIO

   

is very limited in source/sink current. The integrated H Bridge

   

will have timing specs so you create a dead time value to handle

   

worst case potential overlap in the H Bridge source and sink MOSFET

   

swicthing.

   

 

   

On another matter, if you are switching large inductive currents

   

board layout very important, especially Power and Ground. See

   

attached.

   

 

   

    

   

         

   

http://www.cypress.com/?rID=39677     AN57821 - PSoC® 3, PSoC 4, and PSoC 5LP Mixed Signal Circuit Board Layout Considerations

   

http://www.cypress.com/?rID=40247     AN58827 - PSoC® 3 and PSoC 5LP Internal Analog Routing Considerations

   

 

   

    

   

          http://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CC0QFjAA&url=http%3A%2F%2Fwww.an...

   

 

   

    

   

          http://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CB4QFjAA&url=http%3A%2F%2Fwww.an...

   

 

   

                http://www.ti.com/general/docs/lit/getliterature.tsp?literatureNumber=sdya011&fileType=pdf

   

 

   

Regards, Dana.

0 Likes
Anonymous
Not applicable

Hello Dana,

   

is there an asynchronous Toggle Flip Flop by cypress?

   

Thank for the reply.

   

Regards

   

Rosine

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

See http://www.cypress.com/?rID=73664

   

How 'asynchronous' does it need to be -  a toggle FF always has a clock input...

0 Likes
ETRO_SSN583
Level 9
Level 9
250 likes received 100 sign-ins 5 likes given

This might also be of use -

   

 

   

    

   

              

   

          

   

http://www.cypress.com/?rID=80799     Using clocks as data PSOC 4

   

 

   

Regards, Dana.

0 Likes
Anonymous
Not applicable

Hello Dana,

   

can you give me an example how to create a software interrupt?

   

Thank you so much for replying

   

Regards

   

Claire

0 Likes
HeLi_263931
Level 8
Level 8
100 solutions authored 50 solutions authored 25 solutions authored
        @Rosine: if you have new question that don't belong to the topic, please open a new one. Noone will supsect a question about software interrupts in a thread talking about the PSoC4 LEDs - so you won't probably get a good answer   
0 Likes
ETRO_SSN583
Level 9
Level 9
250 likes received 100 sign-ins 5 likes given

Claire, tell me what you are trying to accomplish -

   

 

   

1) What will you use to trigger the ISR

   

2) What the ISR has to do

   

3) Is it as one time only ISR or a periodic one ?

   

4) Why is it software only ?

   

 

   

Regards, Dana.

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

Started to answer Rosine's question in this thread.

   

 

   

Bob

0 Likes
Anonymous
Not applicable
        ccttmm can you send me an email please or reply here with your email? I have a similar project here in the works and I could really use your help and program. thanks simcole@yahoo.com   
0 Likes