Difference between revisions of "Adsp-21369"

From CCRMA Wiki
Jump to: navigation, search
Line 5: Line 5:
 
Firstly, the technical specifications for the EZ-KIT Lite boards will be given, along with pointers to the manuals and data sheets provided for the specific hardware and software being used.  Next, a step-by-step guide will be given for interfacing the development boards with the VisualDSP++ IDE, which is currently installed on a Windows XP machine located in the MaxLab.  An modified version of one of the example projects is provided, containing comments and annotations that will hopefully be useful to the novice user.  Afterwards, specials topics are discussed which might be useful to the beginning user, and DSP projects both begun and proposed are described, including a project which converts code written in the Faust language into a project file for the VisualDSP++ IDE.
 
Firstly, the technical specifications for the EZ-KIT Lite boards will be given, along with pointers to the manuals and data sheets provided for the specific hardware and software being used.  Next, a step-by-step guide will be given for interfacing the development boards with the VisualDSP++ IDE, which is currently installed on a Windows XP machine located in the MaxLab.  An modified version of one of the example projects is provided, containing comments and annotations that will hopefully be useful to the novice user.  Afterwards, specials topics are discussed which might be useful to the beginning user, and DSP projects both begun and proposed are described, including a project which converts code written in the Faust language into a project file for the VisualDSP++ IDE.
  
The reader of this wiki is assumed to be familiar with programming in C/C++, as well as familiar with general signal processing theory.  However, no prior experience with dedicated DSP hardware nor embedded systems is required, and in fact it is assumed that the reader is entirely unacquainted with the field.  It is hoped that this wiki will continue to grow as more people use the boards for their audio processing  projects, with each new project contributing its own formulated hints as to how one might get the best results when using this hardware.
+
The reader of this wiki is assumed to be familiar with programming in C/C++, as well as familiar with general digital signal processing theory.  However, no prior experience with dedicated DSP hardware nor embedded systems is required, and in fact it is assumed that the reader is entirely unacquainted with the field.  It is hoped that this wiki will continue to grow as more people use the boards for their audio processing  projects, with each new project contributing its own formulated hints as to how one might get the best results when using this hardware.
  
== Technical Specifications of the ADSP-21369 EZ-Kit Lite development board ==
+
== Technical Specifications 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.
 
-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.

Revision as of 00:54, 5 May 2008

Using the ADSP-21369 EZ-KIT Lite and Visual DSP++ Integrated Development Environment

Through our friends at Analog Devices, Inc., CCRMA is now in posession of a few Analog Devices development boards (sometimes called 'Evaluation Kits'). At the current time, these include two ADSP-21369 EZ-KIT Lite development boards using SHARC processors, along with one (put technical name here) development board using the Blackfin processor. The purpose of this wiki is to serve as a resource of information for CCRMA students interested in using these development boards for projects involving audio signal processing. At the moment only the SHARC boards have been used, so the focus lies solely on them. Hopefully information on using the Blackfin board will come in turn.

Firstly, the technical specifications for the EZ-KIT Lite boards will be given, along with pointers to the manuals and data sheets provided for the specific hardware and software being used. Next, a step-by-step guide will be given for interfacing the development boards with the VisualDSP++ IDE, which is currently installed on a Windows XP machine located in the MaxLab. An modified version of one of the example projects is provided, containing comments and annotations that will hopefully be useful to the novice user. Afterwards, specials topics are discussed which might be useful to the beginning user, and DSP projects both begun and proposed are described, including a project which converts code written in the Faust language into a project file for the VisualDSP++ IDE.

The reader of this wiki is assumed to be familiar with programming in C/C++, as well as familiar with general digital signal processing theory. However, no prior experience with dedicated DSP hardware nor embedded systems is required, and in fact it is assumed that the reader is entirely unacquainted with the field. It is hoped that this wiki will continue to grow as more people use the boards for their audio processing projects, with each new project contributing its own formulated hints as to how one might get the best results when using this hardware.

Technical Specifications 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. Download and unzip the "DelayLine" folder
  2. In the Visual DSP++ Environment, choose “File->Open->Project” from the menu bar, navigate to the “DelayLine” folder and open the Visual DSP++ Project file
  3. Choose “Project->Build Project” (F7) from the menu bar to build the project
  4. 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

Project Members

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

LAB Session Notes

  1. Ideas for Wiki
  2. April 20th Log