\n
address_offset : 0x0 Bytes (0x0)
size : 0x400 byte (0x0)
mem_usage : registers
protection :
FMAC X1 buffer configuration register
address_offset : 0x0 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
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 control register
address_offset : 0x10 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
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 status register
address_offset : 0x14 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
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 write data register
address_offset : 0x18 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
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 read data register
address_offset : 0x1C Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
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 X2 buffer configuration register
address_offset : 0x4 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
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 Y buffer configuration register
address_offset : 0x8 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
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 parameter register
address_offset : 0xC Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
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 Embeetle, an IDE designed from scratch for embedded software developers.