views:

95

answers:

1

I am putting together an application for OMAP 3530 SoC. This application will run some user interface code on embedded linux and invoke waveform generation code on the DSP. The DSP and Linux sides will interact over DSP/BIOS link.

My questions are:

  • What is the highest frequency at which my DSP-side code can toggle a GPIO line?
  • If I want to toggle multiple GPIO lines at this hight rate, how fast can I go?

Thanks for any insights.

-Raj

+2  A: 

Best way to find out is to hook your DSP up to a scope and measure the frequency.

Write a simple program that sits in a loop and toggles the I/O line(s).

tomlogic
Thanks for the quick response. I was hoping someone experienced could answer me along the following lines:- DSP runs at xMHz- DSP/BIOS takes y clock cycles to schedule your task- The instruction to write a 1 or 0 to a GPIO line takes z cycles
@raj.tiwari: But the answer may depend on how you wrote the code, whether it were written in C or Assembler, whether you expected other DSP/BIOS threads or interrupts to run. The maximum rate may in fact depend on the speed of the I/O, which may not be related to the processor clock at all. Get out the data sheet. If you want a continuous pulse train, you will be better off using a hardware PWM output from one of the general purpose timers than GPIO.
Clifford
@Clifford, GP Timers is a great suggestion. I will look into that. Thanks!