Programming Philosophy for Open Architecture Digital Signal Processors - Working from the Outside In
Relevant Product(s)
- ControlSpace Designer
- ControlSpace ESP-88
- ControlSpace ESP-00
- ControlSpace ESP-00 Series II
- ControlSpace ESP-1240
- ControlSpace ESP-1240A
- ControlSpace ESP-1240AD
- ControlSpace ESP-1600
- ControlSpace ESP-4120
- ControlSpace ESP-880
- ControlSpace ESP-880AD
- ControlSpace EX-1280
- ControlSpace EX-1280C
- ControlSpace EX-12AEC
- ControlSpace EX-440C
Procedure
When programming a DSP system, it is often helpful to follow an “Outside In” workflow. This means that inputs and outputs are created and wired to processing objects before the internal signal routing is added to the design.
Inputs
Most commonly, this begins with the inputs needed for the system. Each input to the system should be placed and all individual channels should be labeled first. Once the inputs have all been defined, any required input processing is added and each processing object is labeled. Labeling each processing object is a simple process and can greatly reduce confusion and errors when commissioning the system.
When multiple objects need to be given similar names with an incrementing number, select all of the objects and press F2. This will open the Rename Selection dialog which allows objects to be renamed using a wildcard to represent the incrementing number.
Outputs
All system outputs are placed next. Each output is labeled and named to indicate its purpose and then output signal processing is added to each output and labeled to indicate which signals are being processed by each object.
In many cases, it is useful to create analog outputs as multiple objects. Even though the outputs for speakers, recording, and codec are all analog outputs, making each stereo pair an independent object can make the project file easier to read and understand.
Mixing and Routing
The final step when creating a project file is the required mixing and routing between the inputs and outputs. For a teleconference room with multiple microphones, an Automatic Microphone Mixer (AMM) will be needed as well as a Conference Room Router (CRR). Both the AMM and CRR should have all inputs and outputs labeled to match the inputs and outputs of the system. With everything labeled, the inputs and outputs can be quickly wired to the AMM and CRR.
Cleanup
After all of the inputs and outputs have been wired to the AMM and CRR, the readability of the project file can be improved by adjusting the port spacing on the AMM and CRR inputs and outputs. It may also be useful to move inputs or outputs up or down in the Project View to make wiring simpler to follow. To adjust the port spacing select the nodes to be adjusted and use the up/down arrows to adjust or right click on the object and select "Set Port Spacing..." to enter values for the port spacing.