Of what is the Digital Filter Block (DFB) made?

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
crcac_264396
Level 4
Level 4
First like received

 How do the internals work on the filter block, and are they accessible for other uses? For instance, can I implement delay lines with it? 

0 Likes
16 Replies
Anonymous
Not applicable

 The Digital Filter Block is a 24-bit fixed-point, programmable limited scope DSP engine with a 32-bit AHB-Lite DMA capable

   

slave interface. DFB contains multiple single port SRAMs and standard cell flops.

   

 

   

Regarding delay lines, are you talking about the bidirectional delay lines for solving differential equations? Can you explain your requirement?

   

 

   

- srim

0 Likes
Anonymous
Not applicable

 The DFB component is expected to be available to all users with PSoC Creator v2_0 component pack (CP) 2.

0 Likes
Anonymous
Not applicable

 Hi all

   

Is possible make in new DFB component simple delay, comb filter, chaotic oscillators  and other dynamical and DSP function. Please more examples (new component only one example - matrix multiplication).

   

Is chance for new release - gui editor for filter, feedback, delay, math operation ..... ?

   

 

   

Thanks info and more example

   

 

   

P.S. DFB assembler is very hard and abstract (GUI will be better)

0 Likes
Anonymous
Not applicable

 Hi JLS,

   

Yes, you can implement the DSP functions using the DFB component. Currently there are no plans of providing a GUI interface or implementing some predefined operations with it. Currently an integrated simulator is provided with the component.

   

- srim

0 Likes
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

The DFB IS already availlable. Sit down, take some time and study the datasheet. Is is a rather complex module, but a VERY mighty one, provided with an own state-machine, an integrated assembler and simulator. At first glance I suspect that even algorithms like FFT are possible to be progrqammed into the Digital Filter Block.

   

 

   

Happy Datasheet-Reading

   

Bob

0 Likes
Anonymous
Not applicable

 Any news about example for this great module ?

   

 

   

Many thanks help

0 Likes
lock attach
Attachments are accessible only for community members.
Anonymous
Not applicable

Hi JLS1,

   

 

   

PDF format of the example project which shows the use of DFB is attached for your reference.

0 Likes
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

The attached pdf is concerned with the Filter-module and not with the Digital Filter Block, which is a different module. Any other PDFs concerning the DFB-module availlable?

   

Bob

0 Likes
Anonymous
Not applicable

Hi Bob,

   

 

   

At present there is no application note which describes the use of Digital Filter Block (DFB) by using assembly. The Filter component which is available with Creator is implemented using the DFB. The GUI will allow the user to set the appropriate frequencies.

0 Likes
Anonymous
Not applicable

 Any idea when there will be applicatipon notes using the DFB assembler 🙂

0 Likes
Anonymous
Not applicable

Oh yess! Waiting for an application note too 🙂

   

 

   

Well even smaller code snipplets (e.g. multiply two values, shift one value und add many values) would realy satisfy me 🙂

   

 

   

Franz, waiting, waiting, waiting .... for dfb 🙂

0 Likes
Anonymous
Not applicable

Yes math and basic dsp examples - many thanks !

   

 

   

Kamil 

0 Likes
Anonymous
Not applicable

 Yes, really want to do some DSP type programming with PSOC5

0 Likes
Anonymous
Not applicable

No one did some dfb assembler yet? 😞

   

 

   

Bye

   

Franz

0 Likes
Anonymous
Not applicable

Following is the code snippet for getting values (filter coefficients) from Staging registers A and B; multiplying these values and writing the output values to Holding regsiters A and B.

   

Please note that all DFB registers are 24 bit. The filter coefficients should be converted to the appropriate format and loaded in the 24 bit Staging registers. If all the coefficients are less than +/-1, then all the calculations will result in 23 bits for decimal points and one for sign format. This simplifies the calculations inside DFB as no shift operation is needed at intermediate nodes so as to align the data in the same format for addition.

   

 

   

// Clear ACU modflag and clear ACU
initial:
acu(clear, clear) dmux(sa,sa) alu(set0) mac(hold)
acu(setmod, setmod) dmux(sa,sa) alu(hold) mac(clra) jmp(eob, waitForData)

// Wait for data to be written to Staging Registers
waitForData:
acu(hold,hold) dmux(sa,sa) alu(hold) mac(hold) jmpl(in1,in2,dataRead)

// Read New Data from Staging Register and multilpy and put dat to holding register B
dataRead:
acu(hold, hold) addr(1) dmux(ba,sa) alu(seta) mac(hold)      //Move data from staging register A to ALU o/p
acu(hold, hold) dmux(sa,sa) alu(hold) mac(hold)     //Wait for ALU output
acu(hold, hold) addr(0) dmux(sa,ba) alu(hold) mac(clra)     //Multiply staging register B & ALU o/p
acu(hold, hold) dmux(sm,sa) alu(seta) mac(hold)     //Move MAC o/p to ALU
acu(hold, hold) dmux(sa,sa) alu(hold) mac(hold)     //Wait for ALU output

acu(hold, hold) addr(1) dmux(sa,sa) alu(hold) mac(hold) write(bus)      // Write the result to holding register A
acu(hold, hold) dmux(sa,sa) alu(hold) mac(hold)     //Wait for ALU output
acu(hold, hold) addr(0) dmux(sa,sa) alu(hold) mac(hold) write(bus) jmp(eob,waitForData)     // Write the result to holding register B
 

   

Regards,

   

Aniruddha

0 Likes
Anonymous
Not applicable

Not more examples ?

   

Is possible make karplus strong algoritm in DFB block ?

   

Thanks info and examples 🙂

   

 

   

Kamil

0 Likes