Go Back   Home > Forums > >
Home Forums Rules Articles diyAudio Store Blogs Gallery Wiki Register Donations FAQ Calendar Search Today's Posts Mark Forums Read

Digital Line Level DACs, Digital Crossovers, Equalizers, etc.

Sure DSP ADAU1701 board with amplifier JAB3-50
Sure DSP ADAU1701 board with amplifier JAB3-50
Please consider donating to help us continue to serve you.

Ads on/off / Custom Title / More PMs / More album space / Advanced printing & mass image saving
Reply
 
Thread Tools Search this Thread
Old 30th May 2018, 12:36 PM   #11
Neil Davis is offline Neil Davis  United States
diyAudio Member
 
Join Date: Dec 2004
Location: Reston, Virginia
Sure DSP ADAU1701 board with amplifier JAB3-50
Quote:
Originally Posted by sorokin View Post
.. First of all could you please tell me is it possible to use adaptive filters inside 1701. Or can it be implemented by combining some tools of 1701?
This probably won't work, for several reasons.

First, the ADAU1701 is a stream-oriented processor rather than block-oriented. You can execute over 1000 instructions for each sample, which is fine for basic DSP operations such as filters, scaling, signal routing, etc, but it's hard to do operations that require evaluating blocks of data. The adaptive filter would need to look across many audio samples to adjust the filter parameters, and there isn't the storage in the ADAU1701 to do that efficiently.

Second, adaptive filters are tricky and best done with FIR filters. IIR filters can have settling issues if the coefficients are changed too "rapidly", so figuring out how to implement an adaptive filter with an IIR is nontrivial. But FIR filters take up a lot of resources--and the ADAU1701 is relatively "small" with only 1K of Program and Parameter RAM.

Third, the ADAU1701 could calculate a running RMS level and use that value to select the filter parameters, but it would require a lot of look-up tables to implement that capability, to translate RMS calculations to filter coefficients. That could probably be done, but tables are implemented in Parameter RAM, and there just isn't a whole lot of Parameter RAM to work with in this chip.

And finally, the ADAU1701 has very limited branching capability and implementing conditional processing is clumsy. It's not designed to be used for procedural coding, and there will probably be a need for some "if-then-else" type of logic in a well implemented adaptive filter.

A better approach would be to implement the block-level processing in a general-purpose microprocessor, and have that processor load the parameters for the filters in the ADAU1701. But an even better approach would be to implement all of the adaptive filter in the general-purpose processor. Processor boards like the Pi and many others provide plenty of speed and floating point support, and would have no trouble implementing all of the adaptive filter functionality. I wouldn't try to use the ADAU1701 for this application--it's the wrong tool for the job.
  Reply With Quote
Old 30th May 2018, 01:14 PM   #12
sorokin is offline sorokin  France
diyAudio Member
 
Join Date: Feb 2018
Location: France
Quote:
Originally Posted by Neil Davis View Post
This probably won't work, for several reasons.
Thank you for explanation!

Have you already used JAB3 and Sure's programmer for it?

I don't understand.
EEPROM memory is inside JAB3 or programmer board?

So if I want to use self boot with predefined filters, programmer should be connected to JAB3?

Potentiometers on JAB3 (filters LP, HP...) connected directly to DSP chip? or its basic configuration which written in EEPROM?

Because I confused, I wrote configuration to EEPROM from Sigma, everything was ok, then I cleared EEPROM and now JAB3 does not work like amplifier without DSP and Potentiometers don't change the situation
  Reply With Quote
Old 30th May 2018, 04:21 PM   #13
Neil Davis is offline Neil Davis  United States
diyAudio Member
 
Join Date: Dec 2004
Location: Reston, Virginia
Sure DSP ADAU1701 board with amplifier JAB3-50
I've used the JAB3 but not the programmer. I use a microprocessor to control the DSP. The code waits for the ADAU1701 to self-boot with whatever is in the EEPROM, and then the micro overwrites the Program RAM and Parameter RAM with my SigmaStudio code. That flow is documented in the articles at Audiodevelopers Reborn – A collaborative website for active speaker design.

Once the SigmaStudio is written to the EEPROM, you do not need to connect a programmer, unless you want to make changes in real-time. The ADAU1701 will boot up from the code in the JAB30 EEPROM (U4) and run your DSP code without the programmer.

if you clear the EEPROM, the ADAU1701 will execute 1024 "no-op" instructions for each sample, so you won't have any DSP functionality.
  Reply With Quote
Old 30th May 2018, 05:13 PM   #14
sorokin is offline sorokin  France
diyAudio Member
 
Join Date: Feb 2018
Location: France
Quote:
Originally Posted by Neil Davis View Post
if you clear the EEPROM, the ADAU1701 will execute 1024 "no-op" instructions for each sample, so you won't have any DSP functionality.
Thank you! I thought differently and was confused

So firstly ADAU1701 checks what in the EEPROM and self boots from it, but then if you connect programmer and PC with Sigma, ADAU1701 will be operated by PC, right?

As you know JAB3 has potentiometers on board (implementation of changing filter's shapes) and I really do not understand if ADAU1701 loaded from EEPROM with your Sigma settings what this potentiometers will change or how they will affect?

Or from the factory the manufacturer records his program on EEPROM to make its possible to use these potentiometers? It turns out when EEPROM is rewritten, then potentiometers will never work again, right? I am confused with this. Because I do not see the point if potentiometers work always and simultaneously with self boot from EEPROM.

Thank you!

Last edited by sorokin; 30th May 2018 at 05:19 PM.
  Reply With Quote
Old 30th May 2018, 05:51 PM   #15
Neil Davis is offline Neil Davis  United States
diyAudio Member
 
Join Date: Dec 2004
Location: Reston, Virginia
Sure DSP ADAU1701 board with amplifier JAB3-50
The ADAU1701 has 4 "Auxiliary ADC" inputs that can be used to read voltage levels from potentiometers, and some of the SigmaStudio processing blocks can be controlled by these inputs. Someone a while back had posted the code that Sure uses for these amps. Find that code and open it up with SigmaStudio and you will see how the potentiometers are used to control the volume and filters. Then program that code into the EEPROM on the JAB30 and your potentiometers will work once again.

Here is the link: http://www.sure-electronics.net/DSP1...rce%20File.rar

The self-boot process is documented in the ADAU1701 data sheet. You should probably keep re-reading that document until it makes sense.

Last edited by Neil Davis; 30th May 2018 at 06:17 PM. Reason: added link
  Reply With Quote
Old 8th June 2018, 09:37 AM   #16
sorokin is offline sorokin  France
diyAudio Member
 
Join Date: Feb 2018
Location: France
Urgent!
Could you please help me
how to connect sure jab 3 board with sure programmer and dsp?

do I need to power up to boards?

or jab3 has a power from programmer which connected to PC

its my second boards because first dont work any more and I do not want to burn it
  Reply With Quote
Old 9th June 2018, 12:54 PM   #17
Neil Davis is offline Neil Davis  United States
diyAudio Member
 
Join Date: Dec 2004
Location: Reston, Virginia
Sure DSP ADAU1701 board with amplifier JAB3-50
I know that the I2C lines on the JAB3 are protected with diodes, because the diode pack (U01) failed on one of my boards. It probably failed due to a voltage spike on either SDA or SCL. Also, I know that the ADAU1701 can fail if you apply voltages greater than 3.3V on the SDA or SCL pins, because I've done that before, trying to program it from a 5V Arduino CPU (different board).

I've never used the programmer, and I don't know whether there is a 5V/3.3V switch or jumper, but check for that first. Also, I know you need to be careful about connecting or disconnecting I2C devices with power on, because you can get voltage spikes that can cause damage. I think that's what caused the diodes on mine to fail.
  Reply With Quote
Old 11th June 2018, 11:36 AM   #18
hermes36 is offline hermes36  France
diyAudio Member
 
Join Date: Jun 2018
Hello,
I am currently working with JAB3, and it is a great board, but it is very hard to find any information...
So, in order to program the JAB3 with ICP1 you must follow this procedure :
1 - Plug ICP1 to your computer, the programmer should turn green in Sigma Studio.
2 - Plug JAB3 to DC, and give it a entry signal (some music from your phone...)
3 - Plug JAB3 to ICP1
4 - short circuit SW1 with a jumper cable



It should work...

I managed to do it one time, but since then I was unable to do it again...

It woks with arduino
  Reply With Quote
Old 12th June 2018, 01:22 PM   #19
ernperkins is offline ernperkins  United States
diyAudio Member
 
ernperkins's Avatar
 
Join Date: Nov 2009
Here's a video that show you how to do it: YouTube. It follows hemres36 steps, but with these notes:

- keep the jab3 SW1 shorted while programming the EEPROM
- when finished writing the EEPROM: remove SW1 short and reset the JAB3
  Reply With Quote
Old 22nd June 2018, 09:55 AM   #20
hermes36 is offline hermes36  France
diyAudio Member
 
Join Date: Jun 2018
Ok, I played a bit with Sure Wondom JAB3, and it was quite difficult to find any information on those boards, so I'll try to share here what I finally found. Most of those informations are already existing, I'm just trying to compile them in one post.
This thread was the most informative I found, thanks to ernperkins answers, so I choose to post it here.

I'm French, so please excuse my English.


I Bought a JAB3 1100 witch is a mono version.
My goal was to create a PA speaker working on battery, using the JAB3 for high frequency, and a Sure T-Amp (1x500W) for low frequency (and i finally managed it to work).
The goal was to use the ADAU1701 on the JAB3 to make an active filter, programming it with the Wondom ICP1. My first ICP1 was fried during first use, so I had to exchange it.



How to use ICP1 with Simgma studio and JAB3 :
You need to plug ICP1 to your computer before plugging it to JAB3 (it turns green in sigma studio).
You need to power JAB3, and give it an audio source before plugging it to ICP1.




Debugging :

If you are just testing your program, you can use "link compile and download" in sigma studio. You don't have to short SW1. The program will be loaded to JAB3 and you will be able to test it directly. The board program will remain unchanged when you reset it, so it's an "idiot-proof" way to test your design.
You can use level detectors and see the signal levels directly in sigma studio, and use volume control to tune it.
You will find lot of informations on how to program with Sigma Studio here.
You can inspire from the example from Sure : HERE (TY again ernperkins).


Long term programming :
The steps are detailed in the video given by ernperkins.

If you need to long term program your board, you have to short SW1 and write the EEPROM using the method given in the video (right click on adau1701, write last compilation to eeprom).

So to resume :
1 - Plug ICP1 to your computer, the programmer should turn green in Sigma Studio.
2 - Plug JAB3 to DC, and give it a entry signal (some music from your phone...)
3 - Plug JAB3 to ICP1
4 - short circuit SW1 with a jumper cable

- keep the jab3 SW1 shorted while programming the EEPROM
- when finished writing the EEPROM: remove SW1 short and reset the JAB3


I don't know why, but if you don't unplug ICP1 from JAB3 before reseting it, the ICP1 will not work any-more, refusing to upload again to eeprom. When this happen, I turn my computer in "stanby mode" for a few seconds, I restart Sigma Studio, I reset JAB3, re-plug it to ICP1 and it works back.


External volume control :
I needed an external volume control for my active speaker...
I first used the potentiometers that are on the board.
You can inspire from the Sure example.
The important things to know :
- the 4 pots are plugged to auxiliary ADC ADC0, ADC1, ADC2 and ADC3.
ADC0 : MP9
ADC3 : MP8
ADC1 : MP2

ADC2 : MP3


- you need to configure them in the "hardware configuration / register control"

turn them to ADC
Don't forget to check the box on the right (I can't see the right column it in my Sigma Studio, I have to slide...)
An externally hosted image should be here but it is no longer accessible. Please upload images instead of linking to them to prevent this.



You will find lot of informations on ADAU1701 inputs (and lot more) on this document.


Since the potentiometers are soldered to the four auxiliary ADC input, you have to de-solder them from the board if you want to use an external pot. Since I didn't want to make some soldering on the board, I finally chose to use a rotary encoder.



Rotary encoder :

I used a keyes rotary encoder module. It works OK, even if it don't 100% comply to analog devices application note.
Don't forget to check the pins used in the input section of hardware configuration.


That all for today, I'll try to complete this post when I could...
  Reply With Quote

Reply


Sure DSP ADAU1701 board with amplifier JAB3-50Hide this!Advertise here!
Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
ADAU1701 DSP with RaspberryPi, how to I2S? JoeCraig PC Based 1 2nd August 2018 01:42 PM
Sure Electronics New Tripath Board 4*100W class-D Amplifier Board 7788q Class D 354 17th March 2017 01:19 PM
Unknown Board DC12V TPA3116 amplifier board DIY L163-9 AUS Ben Class D 0 8th December 2016 04:05 AM
HIFI 700W Subwoofer Mono Amplifier Board By 10 Pairs 1943/5200 Amp Board For Subwoofe nelnar Solid State 2 21st July 2014 06:35 PM
FS: Analogue Devices ADAU1701 DSP Board truecolour Swap Meet 2 5th February 2013 12:02 PM


New To Site? Need Help?

All times are GMT. The time now is 04:16 AM.


Search Engine Optimisation provided by DragonByte SEO (Pro) - vBulletin Mods & Addons Copyright © 2018 DragonByte Technologies Ltd.
Resources saved on this page: MySQL 14.29%
vBulletin Optimisation provided by vB Optimise (Pro) - vBulletin Mods & Addons Copyright © 2018 DragonByte Technologies Ltd.
Copyright ©1999-2018 diyAudio
Wiki