ΣSigmaStudio Ask AI Русский Log in

Multi-Tap Voltage Controlled Delay Maximum number of samples compiler error

SigmaDSP & SigmaStudio carlos@lynx Jan 20, 2023 00:00 3 replies Original on forum ↗
Subscribe
carlos@lynx Question
Jan 20, 2023 00:00

Hello team,

I have a simple project (attached test project) in which I have 8 channels with 8 delays of the type "Multi-Tap Voltage Controlled Delay". To make the most of the available memory I have 3 channels configured to work with the DM0, 3 channels with the DM1 and 2 channels with the PM.

The problem I have and I don't know why it happens.

Having enough memory available to put in each block 12000 delay samples, when compiling the project I get the error "Object reference not set to an instance of an object".

If I change one block from DM0 to 6000 samples and one from DM1 to 6000 samples, it compiles fine and I still have 10k of RAM free in both DM0 and DM1. I don't understand how having free memory can't use the 12K samples I need.

What is the problem?

Thanks for the help

Regards

Carlos

Test_Delay.dspproj

Edit Notes
N

[edited by: carlos@lynx at 11:53 AM (GMT -5) on 20 Jan 2023]

Audio Signal Processors

COMPILER ERROR

software

sigmaStudio 4.7

max samples

sigmastudio

SigmaDSP Audio Processors

Voltage Delay

adau1466

Show More

pastedimage1674215011567v1.png
pastedimage1674215011567v1.png
Harishgowtham Reply
Jan 20, 2023 00:00

Hello Carlos,

Please try connecting the processor with the USBi in the schematic and then try compiling the project. In that way I get it compiled.

Please see if this works. If not, then please get back to us.

Regards,

Harish

6712.delay.PNG
6712.delay.PNG
carlos@lynx Reply
Jan 23, 2023 00:00

Hello Harish,

Thanks for your quick response.

I have tried what you told me and now the project compiles without errors.

Now I have a doubt. I don't use any analog eval board. I have my own hardware that communicates with the DSP through SPI and my own code loads the program into the DSP and calculates the coefficients for each block, filters, delay, etc.

Why do you have to put this block to compile it correctly?

How does this block affect my mode of operation? since I do not connect through any board via USB with the DSP.

Can I leave this block and continue working as before?

Regards

Carlos

Harishgowtham Reply
Jan 24, 2023 00:00

Hello carlos,

How are you going to program the DSP?

carlos@lynx said:
my own code loads the program into the DSP and calculates the coefficients for each block, filters, delay, etc.

Are you going to boot the DSP from a uC?

If you are booting and controlling your DSP from an external controller, then it's not a problem. You can connect the USBi with the processor in the schematic and get it compiled and then export the system files. Then it's the usual process of interfacing the DSP with the uC.

The sequence given in the IC_1.h file is very important to boot the DSP. That is exactly what sigmastudio does.

Please change the chip address accordingly in the IC_1.h file below. This address will be always zero for SPI. Since only one chip address is available in SPI mode. The 7-bit chip address is 0b0000000. The LSB of the first byte of an SPI transaction is an R/W bit.

Then you have to take care of all the parameter addresses as every uC interfacing project. These addresses will be given in the params.h file.

If you are using SPI to program the DSP then you have to put the slave control port into the SPI mode by toggling the SS pin three times(by default this port will be in I2C mode). If you use the USBi then it will automatically take care of putting the slave control port in SPI mode but if you are using your controller, then you have to add a piece of code to do that.(this code was given in the bottom of the main.c file in the Microcontroller interfacing example here).

You can program the DSP from an external source, but you have to take care of the addressing and communication protocol and boot sequences. Please refer sigmastudio's capture window, you can see an order of commands sending to the DSP. it will give you an idea of how this works. The exported files will do this from your controller. The wiki page of uC interfacing that linked above has the entire code and explanation.

I hope I have answered what you asked for. If you have specific questions, then please do reply.

Regards,

Harish

8360.add.PNG
8360.add.PNG