\n

FMAC

Peripheral Memory Blocks

address_offset : 0x0 Bytes (0x0)
size : 0x400 byte (0x0)
mem_usage : registers
protection :

Registers

FMAC_X1BUFCFG (X1BUFCFG)

FMAC_CR (CR)

FMAC_SR (SR)

FMAC_WDATA (WDATA)

FMAC_RDATA (RDATA)

FMAC_X2BUFCFG (X2BUFCFG)

FMAC_YBUFCFG (YBUFCFG)

FMAC_PARAM (PARAM)


FMAC_X1BUFCFG (X1BUFCFG)

FMAC X1 buffer configuration register
address_offset : 0x0 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

FMAC_X1BUFCFG FMAC_X1BUFCFG read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X1_BASE X1_BUF_SIZE FULL_WM

X1_BASE : Base address of X1 buffer
bits : 0 - 7 (8 bit)
access : read-write

X1_BUF_SIZE : Allocated size of X1 buffer in 16-bit words The minimum buffer size is the number of feed-forward taps in the filter (+ the watermark threshold - 1).
bits : 8 - 15 (8 bit)
access : read-write

FULL_WM : Watermark for buffer full flag Defines the threshold for setting the X1 buffer full flag when operating in circular mode. The flag is set if the number of free spaces in the buffer is less than 2FULL_WM. 2: Threshold = 4 3: Threshold = 8 Setting a threshold greater than 1 allows several data to be transferred into the buffer under one interrupt. Threshold should be set to 1 if DMA write requests are enabled (DMAWEN = 1 in FMAC_CR register).
bits : 24 - 25 (2 bit)
access : read-write

Enumeration:

0x0 : B_0x0

Threshold = 1

0x1 : B_0x1

Threshold = 2

End of enumeration elements list.


FMAC_CR (CR)

FMAC control register
address_offset : 0x10 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

FMAC_CR FMAC_CR read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 RIEN WIEN OVFLIEN UNFLIEN SATIEN DMAREN DMAWEN CLIPEN RESET

RIEN : Enable read interrupt This bit is set and cleared by software. A read returns the current state of the bit.
bits : 0 - 0 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

Disabled. No read interrupt requests are generated.

0x1 : B_0x1

Enabled. An interrupt request is generated while the Y buffer EMPTY flag is not set.

End of enumeration elements list.

WIEN : Enable write interrupt This bit is set and cleared by software. A read returns the current state of the bit.
bits : 1 - 1 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

Disabled. No write interrupt requests are generated.

0x1 : B_0x1

Enabled. An interrupt request is generated while the X1 buffer FULL flag is not set.

End of enumeration elements list.

OVFLIEN : Enable overflow error interrupts This bit is set and cleared by software. A read returns the current state of the bit.
bits : 2 - 2 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

Disabled. No interrupts are generated upon overflow detection.

0x1 : B_0x1

Enabled. An interrupt request is generated if the OVFL flag is set

End of enumeration elements list.

UNFLIEN : Enable underflow error interrupts This bit is set and cleared by software. A read returns the current state of the bit.
bits : 3 - 3 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

Disabled. No interrupts are generated upon underflow detection.

0x1 : B_0x1

Enabled. An interrupt request is generated if the UNFL flag is set

End of enumeration elements list.

SATIEN : Enable saturation error interrupts This bit is set and cleared by software. A read returns the current state of the bit.
bits : 4 - 4 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

Disabled. No interrupts are generated upon saturation detection.

0x1 : B_0x1

Enabled. An interrupt request is generated if the SAT flag is set

End of enumeration elements list.

DMAREN : Enable DMA read channel requests This bit can only be modified when START= 0 in the FMAC_PARAM register. A read returns the current state of the bit.
bits : 8 - 8 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

Disable. No DMA requests are generated

0x1 : B_0x1

Enable. DMA requests are generated while the Y buffer is not empty.

End of enumeration elements list.

DMAWEN : Enable DMA write channel requests This bit can only be modified when START= 0 in the FMAC_PARAM register. A read returns the current state of the bit.
bits : 9 - 9 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

Disable. No DMA requests are generated

0x1 : B_0x1

Enable. DMA requests are generated while the X1 buffer is not full.

End of enumeration elements list.

CLIPEN : Enable clipping
bits : 15 - 15 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

Clipping disabled. Values at the output of the accumulator which exceed the q1.15 range, wrap.

0x1 : B_0x1

Clipping enabled. Values at the output of the accumulator which exceed the q1.15 range are saturated to the maximum positive or negative value (+1 or -1) according to the sign.

End of enumeration elements list.

RESET : Reset FMAC unit This resets the write and read pointers, the internal control logic, the FMAC_SR register and the FMAC_PARAM register, including the START bit if active. Other register settings are not affected. This bit is reset by hardware.
bits : 16 - 16 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

Reset inactive

0x1 : B_0x1

Reset active

End of enumeration elements list.


FMAC_SR (SR)

FMAC status register
address_offset : 0x14 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

FMAC_SR FMAC_SR read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 YEMPTY X1FULL OVFL UNFL SAT

YEMPTY : Y buffer empty flag The buffer is flagged as empty if the number of unread data is less than the EMPTY_WM threshold. The number of unread data is the difference between the read pointer and the current output destination address. This flag is set and cleared by hardware, or by a reset. Note: after the last sample is read from the Y buffer there is a delay of 3 clock cycles before the YEMPTY flag goes high. To avoid any risk of underflow it is recommended to insert a software delay after reading from the Y buffer before reading the FMAC_SR. Alternatively, an EMPTY_WM threshold of 2 can be used.
bits : 0 - 0 (1 bit)
access : read-only

Enumeration:

0x0 : B_0x0

Y buffer not empty. If the RIEN bit is set, the interrupt request is asserted until the flag is set. If DMAREN is set, DMA read channel requests are generated until the flag is set.

0x1 : B_0x1

Y buffer empty.

End of enumeration elements list.

X1FULL : X1 buffer full flag The buffer is flagged as full if the number of available spaces is less than the FULL_WM threshold. The number of available spaces is the difference between the write pointer and the least recent sample currently in use. This flag is set and cleared by hardware, or by a reset. Note: after the last available space in the X1 buffer is filled there is a delay of 3 clock cycles before the X1FULL flag goes high. To avoid any risk of overflow it is recommended to insert a software delay after writing to the X1 buffer before reading the FMAC_SR. Alternatively, a FULL_WM threshold of 2 can be used.
bits : 1 - 1 (1 bit)
access : read-only

Enumeration:

0x0 : B_0x0

X1 buffer not full. If the WIEN bit is set, the interrupt request is asserted until the flag is set. If DMAWEN is set, DMA write channel requests are generated until the flag is set.

0x1 : B_0x1

X1 buffer full.

End of enumeration elements list.

OVFL : Overflow error flag An overflow occurs when a write is made to FMAC_WDATA when no free space is available in the X1 buffer. This flag is cleared by a reset of the unit.
bits : 8 - 8 (1 bit)
access : read-only

Enumeration:

0x0 : B_0x0

No overflow detected

0x1 : B_0x1

Overflow detected. If the OVFLIEN bit is set, an interrupt is generated.

End of enumeration elements list.

UNFL : Underflow error flag An underflow occurs when a read is made from FMAC_RDATA when no valid data is available in the Y buffer. This flag is cleared by a reset of the unit.
bits : 9 - 9 (1 bit)
access : read-only

Enumeration:

0x0 : B_0x0

No underflow detected

0x1 : B_0x1

Underflow detected. If the UNFLIEN bit is set, an interrupt is generated.

End of enumeration elements list.

SAT : Saturation error flag Saturation occurs when the result of an accumulation exceeds the numeric range of the accumulator. This flag is cleared by a reset of the unit.
bits : 10 - 10 (1 bit)
access : read-only

Enumeration:

0x0 : B_0x0

No saturation detected

0x1 : B_0x1

Saturation detected. If the SATIEN bit is set, an interrupt is generated.

End of enumeration elements list.


FMAC_WDATA (WDATA)

FMAC write data register
address_offset : 0x18 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

FMAC_WDATA FMAC_WDATA read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 WDATA

WDATA : Write data When a write access to this register occurs, the write data are transferred to the address offset indicated by the write pointer. The pointer address is automatically incremented after each write access.
bits : 0 - 15 (16 bit)
access : write-only


FMAC_RDATA (RDATA)

FMAC read data register
address_offset : 0x1C Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

FMAC_RDATA FMAC_RDATA read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 RDATA

RDATA : Read data When a read access to this register occurs, the read data are the contents of the Y output buffer at the address offset indicated by the READ pointer. The pointer address is automatically incremented after each read access.
bits : 0 - 15 (16 bit)
access : read-only


FMAC_X2BUFCFG (X2BUFCFG)

FMAC X2 buffer configuration register
address_offset : 0x4 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

FMAC_X2BUFCFG FMAC_X2BUFCFG read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X2_BASE X2_BUF_SIZE

X2_BASE : Base address of X2 buffer The X2 buffer base address can be modified while START=1, for example to change coefficient values. The filter should be stalled when doing this, since changing the coefficients while a calculation is ongoing affects the result.
bits : 0 - 7 (8 bit)
access : read-write

X2_BUF_SIZE : Size of X2 buffer in 16-bit words This bitfield can not be modified when a function is ongoing (START = 1).
bits : 8 - 15 (8 bit)
access : read-write


FMAC_YBUFCFG (YBUFCFG)

FMAC Y buffer configuration register
address_offset : 0x8 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

FMAC_YBUFCFG FMAC_YBUFCFG read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Y_BASE Y_BUF_SIZE EMPTY_WM

Y_BASE : Base address of Y buffer
bits : 0 - 7 (8 bit)
access : read-write

Y_BUF_SIZE : Size of Y buffer in 16-bit words For FIR filters, the minimum buffer size is 1 (+ the watermark threshold). For IIR filters the minimum buffer size is the number of feedback taps (+ the watermark threshold).
bits : 8 - 15 (8 bit)
access : read-write

EMPTY_WM : Watermark for buffer empty flag Defines the threshold for setting the Y buffer empty flag when operating in circular mode. The flag is set if the number of unread values in the buffer is less than 2EMPTY_WM. 2: Threshold = 4 3: Threshold = 8 Setting a threshold greater than 1 allows several data to be transferred from the buffer under one interrupt. Threshold should be set to 1 if DMA read requests are enabled (DMAREN = 1 in FMAC_CR register).
bits : 24 - 25 (2 bit)
access : read-write

Enumeration:

0x0 : B_0x0

Threshold = 1

0x1 : B_0x1

Threshold = 2

End of enumeration elements list.


FMAC_PARAM (PARAM)

FMAC parameter register
address_offset : 0xC Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

FMAC_PARAM FMAC_PARAM read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 P Q R FUNC START

P : Input parameter P. The value of this parameter is dependent on the function This bitfield can not be modified when a function is ongoing (START = 1)
bits : 0 - 7 (8 bit)
access : read-write

Q : Input parameter Q. The value of this parameter is dependent on the function. This bitfield can not be modified when a function is ongoing (START = 1)
bits : 8 - 15 (8 bit)
access : read-write

R : Input parameter R. The value of this parameter is dependent on the function. This bitfield can not be modified when a function is ongoing (START = 1)
bits : 16 - 23 (8 bit)
access : read-write

FUNC : Function 2: Load X2 buffer 3: Load Y buffer 4 to 7: Reserved 8: Convolution (FIR filter) 9: IIR filter (direct form 1) This bitfield can not be modified when a function is ongoing (START = 1)
bits : 24 - 30 (7 bit)
access : read-write

Enumeration:

0x1 : B_0x1

Load X1 buffer

End of enumeration elements list.

START : Enable execution Setting this bit triggers the execution of the function selected in the FUNC bitfield. Resetting it by software stops any ongoing function. For initialization functions, this bit is reset by hardware.
bits : 31 - 31 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

Stop execution

0x1 : B_0x1

Start execution

End of enumeration elements list.



Is something missing? Is something wrong? can you help correct it ? Please contact us at info@chipselect.org !

This website is sponsored by EmbeetleEmbeetle, an IDE designed from scratch for embedded software developers.