Locale Icon
English
  • Forums

    Popular Forums

    • LTspice
    • Video
    • Power Management
    • RF & Microwave
    • Precision ADCs
    • FPGA Reference Designs

    Product Forums

    • Amplifiers
    • Clocks & Timers
    • Data Converters
    • Direct Digital Synthesis (DDS)
    • Energy
    • Interface and Isolation
    • MEMS Inertial Sensors
    • Power Management
    • Processors & DSP
    • Processors & Microcontrollers
    • Switches & Multiplexers
    • Sensors
    • Voltage References
    View All

    Application Forums

    • A2B Audio Bus
    • Audio
    • Automated Test Equipment (ATE)
    • Condition-Based Monitoring
    • Depth, Perception & Ranging Technologies
    • Embedded Vision Sensing Library
    • Motor Control Hardware Platforms
    • Precision Technology Signal Chains Library
    • Video
    • Wireless Sensor Networks Reference Library

    Design Center Forums

    • ACE Evaluation Software
    • ADEF System Platforms
    • Design Tools & Calculators
    • FPGA Reference Designs
    • Linux Software Drivers
    • Microcontroller no-OS Drivers
    • Precision Studio
    • Power Studio Designer
    • Power Studio Planner
    • Reference Designs
    • Robot Operating System (ROS) SDK
    • Signal Chain Designer
    • Software Interface Tools
  • Learn

    Highlighted Webinar

    Fast-Track Certification: Leveraging IC Safety App Notes for Functional Safety Designs

    Stop guessing, start certifying. Learn how to use IC safety application notes to streamline your FMEDA and meet IEC 61508 and ISO 13849 standards with...

    Places

    • ADI Academy
    • ADI Webinars
    • EZ Blogs
    • Video Annex
    • Virtual Classroom

    Libraries

    • 3D ToF Depth Sensing Library
    • Continuous-Wave CMOS Time of Flight (TOF) Library
    • Embedded Vision Sensing Library
    • Gigabit Multimedia Serial Link (GMSL) Library
    • Optical Sensing Library
    • Other Products Library
    • Precision Technology Signal Chains Library
    • Software Modules and SDKs Library
    • Supervisory Circuits Library
    • Wireless Sensor Networks Library

    Upcoming Learning & Events

    • 3 Real World Methods to Make Your Power Supply More Intelligent
    View All Webinars
  • Community Hub

    Challenge Yourself!

      New KCC Quiz AQQ299 about Opamp Open Loop Gain and LTspice

      A kind proposal from Al Butvidas 1. Quote of the month: " A good friend calls you in jail. A great friend bails you out of jail. Your best friend sits...

    View All

    What's Brewing

      Read a Blog, Take this Quiz for Another Chance to Win a Gift Card

      Important: Read the blog first . The quiz questions are all based on the content from the blog: The Power Problem Inside Every AI Breakthrough Everyone...

    View All

    Places

    • Community Help
    • Analog Dialogue Quiz
    • Logic Lounge
    • Super User Program

    Resources

    • EZ Code of Conduct
    • EZ How To Help Articles
    • Getting Started Guide
    • ADI: Words Matter
    • Community Help Videos
    View All
  • ContentZone

    Visit ContentZone

    Search content by industry or technology.
    • Blogs
    • Technical Articles
    • Tutorials
    • Videos
    • Webinars
    Your ADI content all in one place.
    View ContentZone

    The Latest Read

    Master FPGA-Based DSP Design: The Complete Building Blocks Guide You Need to Read

    The Engineering Mind Blog on EngineerZone presents an exceptional five-part series titled " DSP Building Blocks " that walks engineers through the essential...

    New Release

    Signal Chain Designer: DC Error Simulation
    Signal Chain Designer: DC Error Simulation

    This video covers the DC error calculation capabilities of Signal Chain Designer. DC error is unique in that often requires calibration and has so many...

    Recent Technical Insights

    Latest Technical Article from Analog.com
    PSM Integration for Enhanced Module Solutions in 48 V Data Centers

    The integration of the LTC2971 into quarter brick solutions for 48 V data centers enhances monitoring, control, and reliability by providing high precision...

EngineerZone
EngineerZone
SigmaDSP Processors & SigmaStudio Dev. Tool
  • Log In
  • User
  • Site
  • Search
OR
Ask a Question
SigmaDSP Processors & SigmaStudio Dev. Tool
  • Processors & DSP
SigmaDSP Processors & SigmaStudio Dev. Tool
Documents Updating SigmaDSP Parameter with a Microcontroller
  • Q&A
  • File Uploads
  • Members
  • Tags
  • Cancel
  • Documents
  • SigmaDSP YouTube Channel - Dave Thib
  • +AD193x: FAQ
  • +ADAU1401AEBZ: FAQ
  • +ADAU144x: FAQ
  • +ADAU1452: FAQ
  • +ADAU145x: FAQ
  • +ADAU1701: FAQ
  • +ADAU1701MINIZ- FAQ
  • +ADAU1761: FAQ
  • +ADAU1772: FAQ
  • +ADI: FAQ
  • +AN-951: FAQ
  • +bitwise logic: FAQ
  • +Compressor Table Format: FAQ
  • +Creating a simple balance crossfade control: FAQ
  • +Creating constant-dB envelope decay using an existing linear decay algorithm: FAQ
  • +Crossover with more than 3 bands: FAQ
  • +E2PROM: FAQ
  • +EEPROM: FAQ
  • +EVAL DAU144XEBZ: FAQ
  • +EVAL-ADAU1781Z: FAQ
  • +Excluding Cells from the Exported System Files: FAQ
  • +GPIO button: FAQ
  • +GPIOs or Aux ADCs: FAQ
  • +How do I execute a software safeload write?: FAQ
  • +IIR coefficient filter: FAQ
  • +IIR filter: FAQ
  • +Peak Full Range Compressor: FAQ
  • +Preserving "Ear-candy": FAQ
  • +Push Button Volume: FAQ
  • +self-boot EEPROM image: FAQ
  • +Sigma300 Family Products: FAQ
  • -SigmaDSP: FAQ
    • Booting a SigmaDSP from a microcontroller with no C compiler
    • Calculating Filter Coefficients to Store in a Microcontroller
    • Can I program multiple SigmaDSPs in parallel using one USBi?
    • Can I use SigmaDSP to decode MP3/WAV/AAC?
    • Can I write C or assembly code for SigmaDSP in SigmaStudio?
    • Can SigmaDSP do frequency-domain processing like FFT or pitch shift?
    • Can we bundle SigmaStudio with our product design?
    • Creating a delay after startup
    • Developing custom algorithms and/or using 3rd party algorithms
    • How can I estimate MIPS/Memory resource on SigmaDSP?
    • How do I create the microcontroller code to interface to my SigmaDSP?
    • How do I start a timer after power-on, or when the input signal goes away?
    • How many instructions can be executed per sample in SigmaDSP?
    • Memory requirements for booting a SigmaDSP with a microcontroller
    • Monitoring average and instantaneous signal levels
    • Playing audio samples in SigmaDSP
    • SigmaDSP PCB Layout Best Practices
    • SigmaDSP Products and Evaluation Boards - ROHS and REACH Compliance
    • SigmaStudio 3.4 Released
    • Updating SigmaDSP Parameter with a Microcontroller
    • Using two SigmaDSP evaluation boards simultaneously with one USBi board
    • Welcome to the SIGMADSP Processors and SIGMASTUDIO Development tool community
    • What are the number formats for SigmaDSP?
    • What is the step size for audio delay in a SigmaDSP?
    • What types of capacitors are good to use in the analog audio signal path?
    • Where can I buy a SigmaDSP Evaluation Board or USBi (EVAL-ADUSB2EBZ)?
    • Which SigmaDSP ICs support selfbooting from an EEPROM?
    • Which SPI Mode is used by SigmaDSP Devices?
    • Why isn't a software/documentation CD included with my evaluation board?
  • +SigmaStudio: FAQ
  • +single precision VS double precision: FAQ
  • +Stimulus-Probe Capability and Limitations: FAQ
  • +Stopwatch to Count Successive Samples: FAQ
  • +Toolbox into the schematic tab: FAQ
  • +USB communications between the PC and SigmaDSP: FAQ
  • +Using Hierarchy Boards to create re-usable code: FAQ
  • New SigmaStudio 3.2.0 beta version available
  • SigmaStudio 3.3 Released
  • SigmaStudio 3.9.2 Beta Available for Download
  • SigmaStudio Rev 3.15.2 Bug Report for SPI EEPROM Write Speed

Updating SigmaDSP Parameter with a Microcontroller

Originally authored by KJBob

     Working with SigmaStudio is like a walk in a beautiful park -- until you say the word microcontroller, then the ground opens up and you fall into the "digital snake pit" underneath.  Once you find your way down there, you'll master booting and controlling your DSP as have many before you.  I'm still not very comfortable down there either.  In spite of this (or perhaps because of it!) here's a bit of help:

    Size of write sequences:  As you found out, there's more activity on the scope than the raw data suggests.  Notice in the capture window that these are safeload writes.  Writing parameters directly to a running DSP's memory causes awful noises, the safeload method avoids that.  It does, however, involve more overhead, reflected in your scope trace.  Safeload is described on pages 30 & 37 of the ADAU1701 data sheet; you can also search for its many references in this forum.  Also, although the DSP takes 28-bit parameters padded to four bytes, actually each of them are five bytes long.  There needs to be a dummy byte in the middle, for reasons described at https://ez.analog.com/thread/6429

    Booting the -1701:  In theory it's possible to self-boot and change to uC control afterward, yet this approach appears roundly discouraged in the forum -- see for example, https://ez.analog.com/message/14318#1431
Thus, I also suggest that you boot the -1701 from your micro.  It may not be as difficult as it first appears.  ADI's orthodox boot method involving C header files and such is designed to boot any SigmaDSP -- fortunately this is a bit more than what some older models need.  At the risk of espousing heresy,  here's a primitive boot procedure:

  • Link-compile-download your design, ignore the error box if no hardware is presently connected.  The Capture Window shows only a few block writes, unlike the dozens that more powerful SigmaDSPs need -- this makes the primitive boot method possible.

  • Select Export System Files from the Actions menu, save them in your project's folder.
  • Open the resulting TxBuffer_IC1 file with Notepad.  Copy to clipboard all the lines between commented lines as shown below -- these are your DSP program instructions.

  • Paste these lines into a byte constant (or equivalent) in your uC source code.
  • Do the same with the  Param  and  IC 1.HWConfiguration blocks.  You now have  byte constants for program, parameters, and HW config in your uC code.

If anyone who has hooked up an Arduino to a SigmaDSP is willing to jump in here, that would be appreciated (I've only used PICs).  Basically you have your Arduino get the DSP's attention over the SPI bus and set up its program memory's base address (0x0000).  Write a loop that block-writes all 5120 bytes to the DSP.  Do the same for the parameters (4096 bytes) and HW controls (24 bytes).  Finally, write 0x00, 0x1C to your 1701's core control register at address 0x081C to enable the DSP core (must maintain core!).

     Best regards,

     Bob

This FAQ was generated from the following discussion: Parameter updates with Microcontroller

Tags: Audio Signal Processors adau1702 i2c spi microcontroller sigmastudio SigmaDSP Audio Processors SigmaDSP adau1701 self-boot Show More
  • Share
  • History
  • More
  • Cancel
 
Related Content
  • RE: Parameter updates with Microcontroller
    KJBob
    Hello, Working with SigmaStudio is like a walk in a beautiful park -- until you say the word microcontroller , then the ground opens up and you fall into the "digital snake pit" underneath. Once you...
  • RE: parameters with ADAU1701
    KJBob
    Hello, Safeload is a method used to write new parameters to a running DSP. It can handle up to five parameters at a time. As its name suggests, it's the safe way to change parameters while audio is running...
  • RE: Need help with dynamic programming basics ADAU1702
    KJBob
    Hello, As KKSL said, the process of integrating your DSP into a finished system does take some engineering. Because of its difficulty relative to the ease of building a SigmaStudio project, it's by far...
 
Related Content
  • RE: Parameter updates with Microcontroller
    KJBob
    Hello, Working with SigmaStudio is like a walk in a beautiful park -- until you say the word microcontroller , then the ground opens up and you fall into the "digital snake pit" underneath. Once you...
  • RE: parameters with ADAU1701
    KJBob
    Hello, Safeload is a method used to write new parameters to a running DSP. It can handle up to five parameters at a time. As its name suggests, it's the safe way to change parameters while audio is running...
  • RE: Need help with dynamic programming basics ADAU1702
    KJBob
    Hello, As KKSL said, the process of integrating your DSP into a finished system does take some engineering. Because of its difficulty relative to the ease of building a SigmaStudio project, it's by far...
analog-devices logo

About Analog Devices

  • Who We Are
  • Careers
  • Newsroom
  • What We Do (Signals+)
  • Investor RelationsExternalLink
  • Quality & Reliability
  • Sales and Distribution
  • What's New on Analog.com
  • Contact Us

Find Help

  • Support
  • Resources
  • WikiExternalLink
  • Analog Dialogue
  • ADI Developer PortalExternalLink

myAnalog

Interested in the latest news and articles about ADI products, design tools, training, and events?

Go to myAnalog
  • Instagram page
  • Twitter page
  • Linkedin page
  • Youtube page
  • Facebook
  • Legal and Risk
  • Accessibility
  • Privacy Policy
  • Privacy Settings
  • Cookie Settings

©2026 Analog Devices, Inc. All Rights Reserved

analog-devices

About Analog Devices

Down Up
  • Who We Are
  • Careers
  • Newsroom
  • What We Do (Signals+)
  • Investor RelationsExternalLink
  • Quality & Reliability
  • Sales and Distribution
  • What's New on Analog.com
  • Contact Us

Find Help

Down Up
  • Support
  • Resources
  • WikiExternalLink
  • Analog Dialogue
  • ADI Developer PortalExternalLink

myAnalog

Interested in the latest news and articles about ADI products, design tools, training, and events?

Go to myAnalog
Instagram page Facebook Twitter page Linkedin page Youtube page
  • Legal and Risk
  • Accessibility
  • Privacy Policy
  • Privacy Settings
  • Cookie Settings

©2026 Analog Devices, Inc. All Rights Reserved