ts-7000
[Top] [All Lists]

Re: [ts-7000] ts-7500: how fast can I get a digital ouput to pulse?

To:
Subject: Re: [ts-7000] ts-7500: how fast can I get a digital ouput to pulse?
From: Razvan-Ionut Stoian <>
Date: Tue, 19 Jul 2011 11:43:37 -0700 (PDT)



Here's an off the top of my head benchmark:

OMAP35530 (Beagleboard) - GPIO on/off time 120 nS (with mmap()) (50 nS in kernel space)
AT91SAM9G20 (TS-4***) -  GPIO on/off time 60 ns (with mmap()) (60 ns in kernel space)

hope this helps.

--- On Tue, 7/19/11, Razvan-Ionut Stoian <> wrote:

From: Razvan-Ionut Stoian <>
Subject: Re: [ts-7000] ts-7500: how fast can I get a digital ouput to pulse?
To:
Date: Tuesday, July 19, 2011, 2:25 PM

 

It's very slow. In order to make it fast and immune to the absence of real time preemption in your kernel, you should do everything at FPGA level.

All of the above apply to the majority of SBCs that have no support for RT and high resolution timers.  

1. it's slow -> it depends on how fast you can send commands to the FPGA over the bus.
2. RT preemption -> no such thing for that processor. In other words, it will be impossible to maintain a 50% duty cycle.
3. modify the Verilog source code for you FPGA, so the  GPIOs can be switched at a rate dictated by an external stable clock signal coupled to one of the FPGA inputs.

One more thing. I tried to do the same using a different processor, and the best I could get in terms of timing (RT and high resolution timers enabled) was 10 us with a jitter of  200 us for a realtime task with a period of 1 ms. So, no matter what you want to do, if you want fast and precise timings, you have to learn about FPGAs (steep learning curve, but it's worth it :-))

just my $.02
 

--- On Tue, 7/19/11, Jon L <> wrote:

From: Jon L <>
Subject: [ts-7000] ts-7500: how fast can I get a digital ouput to pulse?
To:
Date: Tuesday, July 19, 2011, 2:07 PM

 

say I want to pulse a digital output pin to pulse with a ts-7500 with a 50% duty cycle.

what is the fastest signal I can get and what is the best way to program such a signal?

I can only think of this in C:

do {
sbuslock();
setdiopin(pin, 0);
usleep(1);
setdiopin(pin,1);
sbusunlock();
}
while ( hell_not_frozen_over);

but is this reliable?

and what will this do to the other processes running on the system?

is this a cpu hog or is there a better way to do this?



__._,_.___


Your email settings: Individual Email|Traditional
Change settings via the Web (Yahoo! ID required)
Change settings via email: =Email Delivery: Digest | m("yahoogroups.com?subject","ts-7000-fullfeatured");=Change Delivery Format: Fully Featured">Switch to Fully Featured
Visit Your Group | Yahoo! Groups Terms of Use | =Unsubscribe

__,_._,___
<Prev in Thread] Current Thread [Next in Thread>
Admin

Disclaimer: Neither Andrew Taylor nor the University of NSW School of Computer and Engineering take any responsibility for the contents of this archive. It is purely a compilation of material sent by many people to the birding-aus mailing list. It has not been checked for accuracy nor its content verified in any way. If you wish to get material removed from the archive or have other queries about the archive e-mail Andrew Taylor at this address: andrewt@cse.unsw.EDU.AU