Address Decoding & Interfacing for DSP's - diyAudio
Go Back   Home > Forums > Source & Line > Digital Source

Digital Source Digital Players and Recorders: CD , SACD , Tape, Memory Card, etc.

Please consider donating to help us continue to serve you.

Ads on/off / Custom Title / More PMs / More album space / Advanced printing & mass image saving
Reply
 
Thread Tools Search this Thread
Old 20th September 2004, 01:16 PM   #1
diyAudio Member
 
Join Date: Dec 2002
Location: Australia
Default Address Decoding & Interfacing for DSP's

I've started thinking seriously about my DSO project and I'm found some problems in designing the hardware.
This is my first DSP project so please bare with me
The dsp I'm using the the Ti TMS320VC5416 along with the CC studio (trial ).
I've only worked with PIC's before hand but know a little about proper buses (as oposed to the bit banging i'm used to).
My problem arises when I want to read the data from a 32k FIFO (16 bit data from a 120msps ADC) into the DSP's on chip memory via DMA or otherwise for FFT, interpolation etc. Basically, I don't know how to get the FIFO to act as a memory mapped device. I assume the best option would be a device (address decoder) that generates a strobe only when a certain address is outputed from the DSP so the FIFO can output the data onto the bus at the correct time. This would allow me to read the data off FIFO by polling the same memory location (Correct me if i'm wrong). Can anyone help me out with a 16 bit example (even an 8bit I can expand on).
The other problem is interfacing a graphic lcd to the DSP. I have the same addressing problem as the FIFO except even with the maximum number of waitstates on the bus the LCD is still too slow to be directly interfaced as a memory mapped perhibital.
Is there any way around this?
I though of may having some addressed GPIO pins for the task but I'm unsure of how to implement those aswell....

If any could help it would be very much appreciated
Thanks
Matt
  Reply With Quote
Old 20th September 2004, 04:10 PM   #2
sek is offline sek  Germany
diyAudio Member
 
sek's Avatar
 
Join Date: May 2003
Location: Berlin
Hi,

which FIFO do you want to connect, and what type of (hardware and software) connection have you tried? If it has a serial interface, it certainly is no memory mapped device per se, you'd have to interface it manually then...

Also, have you considered using a timer interrupt, NOP wait counter or similar in order to achive the slow timing of the LCD (assuming the hardware connection works)? You could maybe just call a routine that waits for the right amount of DSP clock cycles before transmitting the next word, but then, you'd have to consider compiler optimization and hardware parallelization in the DSP...

I'm sure TI supplies some hints on those problems in their knowledge base. Don't just look for code examples prepared for your DSP. Look for examples in the older processor generations, too. Basically you don't have to wait for someone who invents running code for you setup, all you need is algorithms and their examples. I'm not too sure, but I remember having seen memory interfacing examples in the TMS320Cxx sections. There's stuff for days to study in there...

Hope this helps,
Sebastian.
  Reply With Quote
Old 21st September 2004, 12:34 AM   #3
ingrast is offline ingrast  Uruguay
diyAudio Member
 
Join Date: Sep 2004
Location: Montevideo
Default Re: Address Decoding & Interfacing for DSP's

Quote:
Originally posted by fr0st
... I assume the best option would be a device (address decoder) that generates a strobe only when a certain address is outputed from the DSP so the FIFO can output the data onto the bus at the correct time. This would allow me to read the data off FIFO by polling the same memory location
You are on the right track. Consider the FIFO as a regular peripheral (I/O port) to be read as usual. For this you must decode an address and generate a strobe (usually Output Enable) that is the Read strobe gated by the decoder. You have no means of addressing a particular word within the FIFO, must keep track by yourself where you are. FIFOs are no more than long wide shift registers where you only see input and output port.

Quote:
...The other problem is interfacing a graphic lcd to the DSP. I have the same addressing problem as the FIFO except even with the maximum number of waitstates on the bus the LCD is still too slow to be directly interfaced as a memory mapped perhibital.
You may try buffering the LCD with an input tristate buffer and output latch. THis works the same as the former case, decode an I/O address (or several if required) and generate an Output Enable with the Read strobe, and a Clock for the latch with the Write strobe, both gated by the decoder.
This ensures stable signals for the LCD module for as long as you need under program control, may be software loops or timer interrupts (much better).

Rodolfo
  Reply With Quote

Reply


Hide this!Advertise here!
Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
CS decoding chips - the differences ttan98 Digital Source 3 24th August 2007 04:15 AM
Decoding LFE cujo75 Subwoofers 12 28th November 2006 08:06 PM
decoding input guinness Car Audio 1 17th November 2004 12:22 AM
I need help decoding transformer wiring smmcbride Solid State 4 19th December 2002 12:27 AM
Dolby digital 5.1 and decoding... scottylans Digital Source 5 22nd November 2002 04:13 PM


New To Site? Need Help?

All times are GMT. The time now is 12:45 AM.


vBulletin Optimisation provided by vB Optimise (Pro) - vBulletin Mods & Addons Copyright © 2014 DragonByte Technologies Ltd.
Copyright 1999-2014 diyAudio

Content Relevant URLs by vBSEO 3.3.2