Adsp-21369

From CCRMA Wiki
Revision as of 20:38, 4 May 2008 by Turner (Talk | contribs) (Setting Up Development Board and Visual DSP++ Development Environment)

Jump to: navigation, search

Project Title -- Quick Guide to using the ADSP-21369 and Visual DSP++ development environment

People Involved

  • Andrew Best
  • Kyle Spratt
  • Baek San Chang
  • Steinunn Arnardottir
  • Turner Kirk


GOALS

  1. The main goal of this project is to create a relatively simple step by step guide of how to get an Analog Devices "adsp-21369" dsp (SHARC) chip up and running using the "ADDS-21369-EZLITE" development board and "Visual DSP++" development environment.
  2. A second goal is to create an easy to use tool that can be used to interface with the FAUST programming language in order to generate c++ code that can be imported into a Visual DSP++ project file and used with the SHARC chip.

Technical Specification of the ADSP-21369 EZ-Kit Lite development board

-The main DSP processing is performed by a SHARC processor, based on a 32-bit super Harvard architecture, with a core clock speed of 400 MHz.

-Audio I/O inteface:

4x2 RCA phono jacks for 4 channels of stereo output
2X1 RCA phono jacks for 1 channel of stereo input
3.5mm headphone jack for 1 channel of stereo output
RCA phono jack input and output for SPDIF digital input and output

-The digital-to-analog and analog-to-digital conversion is performed by a single AD1835A codec chip:

4 stereo digital-to-analog converters (DACs)
1 stereo analog-to-digital converter (ADC)
input/output sample-rates of up to 96 kHz on all channels
196 kHz sample-rate on one of the DAC channels

-The memory is broken up into multiple sections. The flash memories can store user-specific boot code, allowing the board to run as a stand-alone unit.

1M x 32-bit x 4 banks of synchronous dynamic random access memory (SDRAM)
512 Kbit x 8-bit synchronous random access memory (SRAM)
1M x 8-bit flash memory
2 Mbit serial peripheral interface (SPI) flash memory

-Universal asynchronous receiver/transmitter (UART):

ADM3202 RS-232 driver/receiver
DB9 female connector

-11 LEDs: 1 power (green), 1 board reset (red), 1 USB monitor (amber), and 8 general purpose (amber). 5 push buttons: 1 reset, 2 connected to DAI,2 connected to the FLAG pins of the processor.

-USB connection for interfacing with a computer.

-VisualDSP++ 5.0 integrated software development and debugging environment for Windows XP, allows programming of the board in assembly, C, and C++ (as well as combinations thereof).

-VisualAudio 2.5 audio software development tools and libraries, works in conjunction with VisualDSP++. Provides a set of graphical tools for developing audio processing data-flows, using a block-diagram approach. Contains tools for analysis, as well as the ability to treak the parameters of an algorithm in real-time. Comes with a collection of pre-built examples of various audio effects.

Setting Up Development Board and Visual DSP++ Development Environment

The development software used is VisualDSP++ Release 5.0 which can be downloaded here. It is compatible with Blackfin, SHARC and TigerSHARC processors.

Getting Started 
  1. Login to the windows computer
  2. Plug in DSP Board USB Cable and power adapter
    Note: Make sure that the LED next to the USB plug is lit up. This shows that the board is properly communicating with the computer.
  3. Connect an audio source to the RCA input channel labeled “Audio In” on the board.
  4. Connect your speakers to the Channel One Audio Outputs or the 1/8th Inch Stereo Headphone Jack
  5. From the Start Menu open up the Visual DSP++ programming environment
  6. At the top of the window you should see “[Target: ADSP-21369 EZ-KITLite via Debug Agent]” Which means you are properly connected to the board and are ready to program.
    Note: If it doesn’t say you are connected to a target click the “Connect to Target” button.
(Picture of “Connect to Target” button)
Running a Project 
  1. Choose “File->Open->Project” from the menu bar, navigate to the “DelayLine” folder and open the Visual DSP++ Project file.
  2. Choose “Project->Build Project” (F7) from the menu bar to build the project
  3. Once it is finished building, choose “Debug->Run” (F5) from the menu bar in order to load the program onto the board and run it.


You should now hear the Audio Input with a feedback delay

FAUST Integration Tool

We (or, more precisely Andrew, A.K.A the captain of the A-TEAM), developed a script which takes in Faust code (on .dsp format), and returns C code, ready to plug into VisualDSP++. The script is called faust2sharc, release 0.0.2 can be downloaded from here.

When modifying a code or trying out new code, it is recommended that you make sure your Faust code definitely compiles as such, by for example generating a C++ code or a block diagram using Faust.


Instructions on running faust2sharc

1) Download and install faust2sharc from the link above.

The interface should look like this:

https://cm-wiki.stanford.edu/mediawiki/images/c/c5/Faust2sharc_small_blank.jpg

2) Upload the [name_of_file].dsp file with the open file button.

3) Press generate project. This generates a [name_of_file].c file.

4) Upload the [name_of_file].c file to VisualDSP++.

5) The Faust generated diagrams can be viewed by pressing on the view diagram button. This generates a folder in your workspace called [name_of_file].dsp-svg which includes block diagrams for the project.

Special Topics

  • Declaring Memory Usage
  • Initializing the D to A and A to D Conversion Chip (AD1835A)


Resources

Analog Devices Resources


Faust Resources

LAB Session Notes

  1. Ideas for Wiki
  2. April 20th Log