Sign in

username:

password:



Not a member?

Search c55x



Search tips

Subscribe to c55x



c55x by Keywords

AIC23 | C5509 | CCS | CSL | EMIF | EVM | GEL | GPIO | HPI | Interfacing | JTAG | McBSP | OMAP | Omap15 | OMAP59 | RTDX | SDRAM | TMS320VC5509 | USB | XDS5

Discussion Groups

Discussion Groups | TMS320C55x | c5509/5510 - Syncing Clock Input and Output Signal

Technical discussions about the TI C55x DSPs (including the c5501, c5502, c5503, c5507, c5509, c5510 and OMAP5910).

  

Post a new Thread

c5509/5510 - Syncing Clock Input and Output Signal - smiffoz - Sep 14 7:42:19 2007



Hi all,

I am using the c5509 or c5510 DSP, and I'm trying to resolve the 
following problem.

My HW designer has created a circuit to generate a 20KHz clock, and 
my firmware has to create a 20KHz conversion start signal from the 
DSP that is synced to this clock (as per the figure below):

-----_____-----_____-----_____-----_____  20KHz Clock

_---------_---------_---------_---------  20KHz CONVST

I originally thought I could put the 20KHz signal onto the timer 
input (TIN) and then generate the CONVST output on TOUT. 
Unfortunately, I cannot do this as the TIN and TOUT functionality is 
mutually exclusive.

I then considered using 20KHz Clock on an external interrupt signal, 
and toggling a GPIO line (for CONVST) in the ISR for this interrupt. 
However, as there are other interrupts present and no means of 
prioritising them on the 5509/5510, I cannot guarantee that the 
CONVST will be synced to the Clock.

A further solution I considered was using 20KHz clock on TIN, and 
using TEVT to trigger a DMA transfer to CE3, and using the CE3 
signal as the CONVST. Again, this does not work, as in auto-reload 
mode, the timer period [(TDDR+1) x (PRD+1)] must be 4 cycles or 
greater, and I would need it to be 1 cycle as my input and required 
output are both 20KHz.

Does anyone have an idea how I might resolve this issue ?

Cheers,

Scotty



(You need to be a member of c55x -- send a blank email to c55x-subscribe@yahoogroups.com )

Re: c5509/5510 - Syncing Clock Input and Output Signal - Jeff Brower - Sep 14 10:23:23 2007

Scotty-

> I am using the c5509 or c5510 DSP, and I'm trying to resolve the
> following problem.
> 
> My HW designer has created a circuit to generate a 20KHz clock, and
> my firmware has to create a 20KHz conversion start signal from the
> DSP that is synced to this clock (as per the figure below):
> 
> -----_____-----_____-----_____-----_____  20KHz Clock
> 
> _---------_---------_---------_---------  20KHz CONVST
> 
> I originally thought I could put the 20KHz signal onto the timer
> input (TIN) and then generate the CONVST output on TOUT.
> Unfortunately, I cannot do this as the TIN and TOUT functionality is
> mutually exclusive.
> 
> I then considered using 20KHz Clock on an external interrupt signal,
> and toggling a GPIO line (for CONVST) in the ISR for this interrupt.
> However, as there are other interrupts present and no means of
> prioritising them on the 5509/5510, I cannot guarantee that the
> CONVST will be synced to the Clock.
> 
> A further solution I considered was using 20KHz clock on TIN, and
> using TEVT to trigger a DMA transfer to CE3, and using the CE3
> signal as the CONVST. Again, this does not work, as in auto-reload
> mode, the timer period [(TDDR+1) x (PRD+1)] must be 4 cycles or
> greater, and I would need it to be 1 cycle as my input and required
> output are both 20KHz.
> 
> Does anyone have an idea how I might resolve this issue ?

Yes, use the programmable logic that should be on your board -- FPGA, CPLD, etc.  All
you need is an inverted, somewhat reshaped version of the main clock.  The conversion
start signal should drive the ADC, and either a) the same or derived signal should
drive an ISR (or DMA read) on the DSP, or b) a "conversion done" signal from the ADC
should drive the ISR or DMA read.

-Jeff



(You need to be a member of c55x -- send a blank email to c55x-subscribe@yahoogroups.com )

Re: c5509/5510 - Syncing Clock Input and Output Signal - iewil2000 - Sep 14 10:55:42 2007

--- In c...@yahoogroups.com, "smiffoz" <smiffoz@...> wrote:
>
> Hi all,
> 
> I am using the c5509 or c5510 DSP, and I'm trying to resolve the 
> following problem.
> 
> My HW designer has created a circuit to generate a 20KHz clock, and 
> my firmware has to create a 20KHz conversion start signal from the 
> DSP that is synced to this clock (as per the figure below):
> 
> -----_____-----_____-----_____-----_____  20KHz Clock
> 
> _---------_---------_---------_---------  20KHz CONVST
> 
> I originally thought I could put the 20KHz signal onto the timer 
> input (TIN) and then generate the CONVST output on TOUT. 
> Unfortunately, I cannot do this as the TIN and TOUT functionality 
is 
> mutually exclusive.
> 
> I then considered using 20KHz Clock on an external interrupt 
signal, 
> and toggling a GPIO line (for CONVST) in the ISR for this 
interrupt. 
> However, as there are other interrupts present and no means of 
> prioritising them on the 5509/5510, I cannot guarantee that the 
> CONVST will be synced to the Clock.
> 
> A further solution I considered was using 20KHz clock on TIN, and 
> using TEVT to trigger a DMA transfer to CE3, and using the CE3 
> signal as the CONVST. Again, this does not work, as in auto-reload 
> mode, the timer period [(TDDR+1) x (PRD+1)] must be 4 cycles or 
> greater, and I would need it to be 1 cycle as my input and required 
> output are both 20KHz.
> 
> Does anyone have an idea how I might resolve this issue ?
> 
> Cheers,
> 
> Scotty

Scotty,

Interrupt won't give a GPIO output of reliable frequency even if you 
were able to put it in the highest priority. Each time your interrupt 
has to preempt different number of layers of other ISRs.

DMA might work. Note that the cycles DMA requires are CPU cycles. 
Couldn't you tolerate several CPU cycles delay? That's only 0.01% of 
20KHz.

Or you can try McBsp. 20KHz inputs to CLKR, and set CLKX or FSX as 
slave to CLKR. But you have to find the register to reverse the phase 
or put appropriate delays, I guess it has least laterncy and it's 
doable.

Wei 
>



(You need to be a member of c55x -- send a blank email to c55x-subscribe@yahoogroups.com )