Registers

nRF5340 Product Specification

Instances

Instance Domain Base address TrustZone Split access Description
Map Att DMA

PWM0 : S
PWM0 : NS

APPLICATION

0x50021000
0x40021000

US S SA No

Pulse width modulation unit 0

PWM1 : S
PWM1 : NS

APPLICATION

0x50022000
0x40022000

US S SA No

Pulse width modulation unit 1

PWM2 : S
PWM2 : NS

APPLICATION

0x50023000
0x40023000

US S SA No

Pulse width modulation unit 2

PWM3 : S
PWM3 : NS

APPLICATION

0x50024000
0x40024000

US S SA No

Pulse width modulation unit 3

Register overview

Register Offset TZ Description
TASKS_STOP 0x004

Stops PWM pulse generation on all channels at the end of current PWM period, and stops sequence playback

TASKS_SEQSTART[n] 0x008

Loads the first PWM value on all enabled channels from sequence n, and starts playing that sequence at the rate defined in SEQ[n]REFRESH and/or DECODER.MODE. Causes PWM generation to start if not running.

TASKS_NEXTSTEP 0x010

Steps by one value in the current sequence on all enabled channels if DECODER.MODE=NextStep. Does not cause PWM generation to start if not running.

SUBSCRIBE_STOP 0x084

Subscribe configuration for task STOP

SUBSCRIBE_SEQSTART[n] 0x088

Subscribe configuration for task SEQSTART[n]

SUBSCRIBE_NEXTSTEP 0x090

Subscribe configuration for task NEXTSTEP

EVENTS_STOPPED 0x104

Response to STOP task, emitted when PWM pulses are no longer generated

EVENTS_SEQSTARTED[n] 0x108

First PWM period started on sequence n

EVENTS_SEQEND[n] 0x110

Emitted at end of every sequence n, when last value from RAM has been applied to wave counter

EVENTS_PWMPERIODEND 0x118

Emitted at the end of each PWM period

EVENTS_LOOPSDONE 0x11C

Concatenated sequences have been played the amount of times defined in LOOP.CNT

PUBLISH_STOPPED 0x184

Publish configuration for event STOPPED

PUBLISH_SEQSTARTED[n] 0x188

Publish configuration for event SEQSTARTED[n]

PUBLISH_SEQEND[n] 0x190

Publish configuration for event SEQEND[n]

PUBLISH_PWMPERIODEND 0x198

Publish configuration for event PWMPERIODEND

PUBLISH_LOOPSDONE 0x19C

Publish configuration for event LOOPSDONE

SHORTS 0x200

Shortcuts between local events and tasks

INTEN 0x300

Enable or disable interrupt

INTENSET 0x304

Enable interrupt

INTENCLR 0x308

Disable interrupt

ENABLE 0x500

PWM module enable register

MODE 0x504

Selects operating mode of the wave counter

COUNTERTOP 0x508

Value up to which the pulse generator counter counts

PRESCALER 0x50C

Configuration for PWM_CLK

DECODER 0x510

Configuration of the decoder

LOOP 0x514

Number of playbacks of a loop

SEQ[n].PTR 0x520

Beginning address in RAM of this sequence

SEQ[n].CNT 0x524

Number of values (duty cycles) in this sequence

SEQ[n].REFRESH 0x528

Number of additional PWM periods between samples loaded into compare register

SEQ[n].ENDDELAY 0x52C

Time added after the sequence

PSEL.OUT[n] 0x560

Output pin select for PWM channel n