Embedded Freaks..

November 22, 2010

Understanding NXP LPCxxxx Series Timer

Filed under: ARM9, Cortex-M, embedded-tips — Tags: , , , — kunilkuda @ 10:24 am

Not very sure about how the NXP LPCxxxx timer works ? Well, so do I =)

But after working with few of LPCxxxx series, I finally can get a good view of how the Timer works. Here’s a block diagram of how the Timer works (at least in LPC23xx, LPC24xx, LPC31xx, LPC32xx, LPC111x, LPC176x)

LPCxxxx Timer Diagram

Note how each registers (CCR, CRx, MATx, MCR, etc) are matched to the block diagram functions.

In new LPCxxxx MCUs, the PWM (single edged PWM) is mux-ed with EMR functions. Hence, NXP added PWMC register to control which block (PWM or EMR) that controls the MATx pins.

LPCxxxx PWMC Register

So, how does the PWM block differs from EMR block ? Well, in PWM block, when TC = 0, the MATx pin will always toggled to LOW (VSS). In EMR block, it’s not.

Here’s some illustration of PWM using EMR:

LPCxxxx PWM with EMR block

Here’s illustration of PWM using PWM block:

LPCxxxx PWM with PWM block

Leave a Comment »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: