Instances
| Instance | Domain | Base address | TrustZone | Split access | Description | ||
|---|---|---|---|---|---|---|---|
| Map | Att | DMA | |||||
|
PDM20 : S |
GLOBAL |
0x500D0000 |
US | S | SA | No |
Pulse density modulation (digital microphone) interface PDM20 |
|
PDM21 : S |
GLOBAL |
0x500D1000 |
US | S | SA | No |
Pulse density modulation (digital microphone) interface PDM21 |
Configuration
| Instance | Domain | Configuration |
|---|---|---|
|
PDM20 : S |
GLOBAL |
Use GPIO port P1 Supports 8, 16, 32, 48 kHz sample rate. CURRENTAMOUNT register included. |
|
PDM21 : S |
GLOBAL |
Use GPIO port P1 Supports 8, 16, 32, 48 kHz sample rate. CURRENTAMOUNT register included. |
Register overview
| Register | Offset | TZ | Description |
|---|---|---|---|
| TASKS_START | 0x000 |
Starts continuous PDM transfer |
|
| TASKS_STOP | 0x004 |
Stops PDM transfer |
|
| SUBSCRIBE_START | 0x080 |
Subscribe configuration for task START |
|
| SUBSCRIBE_STOP | 0x084 |
Subscribe configuration for task STOP |
|
| EVENTS_STARTED | 0x100 |
PDM transfer has started |
|
| EVENTS_STOPPED | 0x104 |
PDM transfer has finished |
|
| EVENTS_END | 0x108 |
The PDM has written the last sample specified by SAMPLE.MAXCNT (or the last sample after a STOP task has been received) to Data RAM |
|
| EVENTS_DMA.BUSERROR | 0x110 |
This event is generated if an error occurs during the bus transfer. |
|
| PUBLISH_STARTED | 0x180 |
Publish configuration for event STARTED |
|
| PUBLISH_STOPPED | 0x184 |
Publish configuration for event STOPPED |
|
| PUBLISH_END | 0x188 |
Publish configuration for event END |
|
| PUBLISH_DMA.BUSERROR | 0x190 |
Publish configuration for event DMA.BUSERROR |
|
| INTEN | 0x300 |
Enable or disable interrupt |
|
| INTENSET | 0x304 |
Enable interrupt |
|
| INTENCLR | 0x308 |
Disable interrupt |
|
| INTPEND | 0x30C |
Pending interrupts |
|
| ENABLE | 0x500 |
PDM module enable register |
|
| MODE | 0x508 |
Defines the routing of the connected PDM microphone signals |
|
| GAINL | 0x518 |
Left output gain adjustment |
|
| GAINR | 0x51C |
Right output gain adjustment |
|
| RATIO | 0x520 |
Selects the decimation ratio between PDM_CLK and output sample rate. Change PRESCALER accordingly. |
|
| PSEL.CLK | 0x540 |
Pin number configuration for PDM CLK signal |
|
| PSEL.DIN | 0x544 |
Pin number configuration for PDM DIN signal |
|
| SAMPLE.PTR | 0x560 |
RAM address pointer to write samples to with EasyDMA |
|
| SAMPLE.MAXCNT | 0x564 |
Number of bytes to allocate memory for in EasyDMA mode |
|
| PRESCALER | 0x580 |
The prescaler is used to set the PDM frequency |
|
| DMA.TERMINATEONBUSERROR | 0x700 |
Terminate the transaction if a BUSERROR event is detected. |
|
| DMA.BUSERRORADDRESS | 0x704 |
Address of transaction that generated the last BUSERROR event. |