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 12:01:50 -0700 (PDT)


The OP didn't say anything about his project.

Regarding the FPGA approach, I wouldn't be so worried about a crash course in Verilog, given the number of online Verilog tutorials.

@ OP

about the 10 us thrown in my first reply. I got that short delay using nanosleep() in librt.so.

--- On Tue, 7/19/11, Melvin Newman <> wrote:

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

 

My pointless two cents on this, I ran into this with a project involving a TS-7260 trying to control servos. Depending on what your application is, it may be better to have the TS board control a pic chip that does all of your signal generation. I used a product (no longer maintained: http://www.serialwombat.com/) that was run from the TS board.

Using the FPGA is the "right way" ... however its a very steep learning curve... one that I did not have the time for when I had this problem.

- Melvin

On Tue, Jul 19, 2011 at 2:25 PM, Razvan-Ionut Stoian <m("yahoo.com","razvan_ionut_stoian");" target="_blank" href="/mc/compose?to=">> wrote:
 

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 <m("yahoo.com","jleslie48");" target="_blank" href="/mc/compose?to=">> wrote:

From: Jon L <m("yahoo.com","jleslie48");" target="_blank" href="/mc/compose?to=">>
Subject: [ts-7000] ts-7500: how fast can I get a digital ouput to pulse?
To: m("yahoogroups.com","ts-7000");" target="_blank" href="/mc/compose?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