The Ultimate Integrate Part 5.


Hardware more or less done, time to tackle the DSP. I tend to use a lot of system blocks in SigmaStudio, especially aliases. Things like Hierarchy Boards, T-Connections and Aliases are support blocks and they do not consume any resources like memory or CPU cycles in the DSP. They are used as logical blocks to help out with the design. This is what my "Main" Schematics looks like in SigmaStudio. It contains the following Hierarchy Boards:
  • GPIO
  • Input Control
  • Mono Control
  • Speaker EQ
  • Headphone EQ
  • Volume Control
The "GPIO" Hierarchy Board contains the GPIO input and output allocations. A Hierarchy Input is used for the DSP onboard LED and a set of Hierarchy Outputs are used for a potentiometer and all switches on the front panel. These inputs and outputs can now be used by all other Hierarchy Boards. 
The next Hierarchy Boards is "Input Control". It contains the analog input followed by DC Blocking (because any DC on the input can throw of calculations in the DSP core). A Signal Detection block is used as a clipping detector. The onboard LED is lit whenever left or right inputs reaches 0 dB and will stay lit until the level has fallen back below 0 dB again for at least 2 seconds. Next up are low cut and high cut filters (implemented using the Nth Order Filter). They will be switched out by the "Direct" switch through GPIO.
The "Mono Control" Hierarchy Board uses a Signal Merger to merge the left and right signal into a mono signal. It can be switched in by the "Mono" switch through GPIO.
Next up is the "Speaker EQ" Hierarchy Board. It contains one Paramtric EQ block per channel. They will be switched out by the "Direct" switch through GPIO.
The "Headphone EQ" Hierarchy Board contains cross feed implemented by the SuperPhat Spatializer block. It will be switched out by the "Direct" switch through GPIO. The cross feed is followed by one Paramtric EQ block per channel. They will be switched in by the "EQ" switch through GPIO.
Last but not least, the "Volume Control" Hierarchy Board. It looks a bit crowded but most of it is just repetition. A analog potentiometer controls both the Single Slew External Volume block and the Loudness (Low and High) External Control block through GPIO. The loudness block will be switched out replaced by the Single Slew External Volume by the "Direct" switch through GPIO. The final output level can be adjusted by a separate Single Volume (shared) block for speakers and headphone out. They are used to match the prefered output level with the position of the volume control knob. They will be replaced by voltage dividers between the DSP and the power amplifier board as soon as preferred attenuation has been defined.
Now waiting for the final piece to be delivered from Italy...