WZab's animated logo

DSP56002EVM based system for analysis of TCD signal

The DSP56002EVM module, available from Motorola is a cheap and usefull tool for getting familiar with DSP56002 processor. However this simple system may also be suitable for more serious applications. I have used it for analysis of the signal obtained from Transcranial Doppler - a device for noninvasive measurement of the blood flow velocity in the cerebral vessels. Two analogue signals provided by the TCD device (the "in-phase" component and the "quadrature" component) are connected to the analog inputs of the EVM board.
Block diagram of the system

The signals are separated into two components: one associated with flow toward the transducer, and the second - associated with flow outward the transducer. The calculated spectrum and estimated mean and maximum frequencies are sent through the serial interface. Additionally the calculated maximum frequency is output as the analogue signal through the headphones output of the EVM (However you must be aware, that the "ground" pin in headphones jack of EVM is not connected to the EVM's ground!!!).

Software of the system

The software is written in the DSP56002 assembly language.
The source consists of four assembly files:
1. evm_tcd.asm
This is the main source file, which includes the rest of them.
The procedures implemented in this file initialize the EVM's hardware and start the data acquisition. The analog signals connected to the codec's input are sampled with frequency of 9.6 kHz. The samples are then stored into the circular buffer. Whenever the specified amount of data is available, the user provided "ProcessData" routine is executed. This file may be used for any application which requires the block processing of sampled data.
Some of the procedures are based on the "ada_init.asm" and "txrx_isr.asm" files copyrighted by Motorola. Some information is obtained from the CS4215 codec's datasheet.
2. process.asm
This file, included by evm_tcd.asm, implements the data processing routine, which analyses the acquired segment of data, and calculates: spectrum (with FFT), mean frequency, and max frequency (with percentile method).
The data sent through the serial interface contain: I hope that in the future I will find some time to add other algorithms of analysis.
3. sincos.asm
This file may be found in the 56000.zip archive on the Motorola's WWW site. Please fill in the form after downloading.
4. fftr2a_x.asm
This file is a slightly modified version of "fftr2a.asm" file, available in the 56000.zip. Here is the patch file, containing my modifications. In Unix you should use "patch -p0 < fftr2a.patch; mv fftr2a.asm fftr2a_x.asm" to obtain this file.

Information available on Motorola's WWW site

Some parts of my code are based on the sample code provided by Motorola on their DSP Development Software Download Area "Dr. Bub".
I used some code from "ada_init.asm" and "txrx_isr.asm" files available in the evm27.zip file, and "fftr2a.asm" and "sincos.asm" available in the 56000.zip After downloading the above files you should fill in the form.
Additionally I have used information available in the following books, included with the EVM board, but also available in the Internet:
  1. DSP56000 24-bit Digital Signal Processor Family Manual
  2. DSP56002 Digital Signal Processor User's Manual
  3. DSP56002 Data Sheet

If you have any comments about this page, or about my code, please mail me
Wojciech Zabolotny
Last modified: Tue Sep 1 15:49:10 CEST 1998