Texas Instruments MSP50C6xx manual Firk, Assembly Language Instructions 103

Models: MSP50C6xx

1 390
Download 390 pages 41.72 Kb
Page 189
Image 189

Individual Instruction Descriptions

4.14.19 FIRK

 

 

FIR Filter Function (Coefficients in ROM)

 

 

 

 

 

 

 

 

 

 

Syntax

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

[label]

name

 

dest, src

 

 

 

 

 

 

 

 

Clock, clk

 

Word, w

 

 

With RPT, clk

Class

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

FIRK

 

An, *Rx

 

 

 

 

 

 

 

2

 

 

 

 

 

1

 

 

 

 

2(nR+2)

 

 

 

9a

Execution

With RPT N–2:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(mask interrupts)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

RPT counter = N–2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

MR = h[0] = first filter coefficient

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x = sample data pointed by Rxeven

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

h[1] = second filter coefficient pointed by DP

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y = result stored in three consecutive accumulators (32 bit) pointed by An

 

 

 

[between every accumulation}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

IF TAG = 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ELSE

 

Rxeven = Rxeven + R5

 

{for circular buffering}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ENDIF

 

Rxeven++

 

 

 

 

 

 

{ if Rx++ is specified in the instruction}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

PC PC + 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

{final result}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y +￿k+0..N–1

h [k] · x[N1–k]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(Execution is detailed in section 4.11)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Flags Affected

None

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Opcode

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Instructions

 

16

 

15

 

14

13

 

12

11

 

10

 

9

 

8

 

7

 

6

 

5

 

4

 

3

 

2

 

1

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

FIRK An, *Rx

 

1

 

1

 

1

0

 

1

0

 

0

 

 

An

 

0

 

0

 

0

 

 

 

Rx

 

 

1

 

1

Description

Finite impluse response (FIR) filter. Execute finite impulse response filter taps

 

 

 

using coefficients from program memory and samples from data memory.

 

 

 

Address reference for data memory is indirect using specified Rx and address

 

 

 

reference for program memory is contained in DP register.

 

 

 

 

 

 

 

 

 

 

This instruction must be used with RPT instruction. When used with the repeat

 

 

 

counter it will execute 16

16 multiplication between indirect addressed data

 

 

 

memory buffer and program memory (coef), 32-bit accumulation, and circular

 

 

 

buffer operation. Each tap executes in 2 cycles. See section 4.11 for more

 

 

 

detail on the setup of coefficents and sample data. Selected register Rx must

 

 

 

be even. During FIRK execution, interrupts are queued.

 

 

 

 

 

 

 

See Also

RPT, FIR, COR, CORK

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Example 4.14.19.1

RPT 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

FIRK A0, *R0

Computes the calculation for 2 tap FIR filter with 32 bit accumulation. See section 4.11 for more detail on the setup of coefficients and sample data.

Assembly Language Instructions

4-103

Page 189
Image 189
Texas Instruments MSP50C6xx manual Firk, Assembly Language Instructions 103