ts-7000
[Top] [All Lists]

Re: [ts-7000] TS-7550 XUARTs

To: "" <>
Subject: Re: [ts-7000] TS-7550 XUARTs
From: Walter Marvin <>
Date: Thu, 1 Sep 2011 03:51:22 -0700 (PDT)


I had to correct Technologics' "loopback" latency calculations which were incorrect and vastly understated. The other problem with this program is that it does not address the nonlinear slowdown that occurs when other user space processes are added.  My measurement was with a corrected Technologic loopback program.


From: Mark Featherston <>
To:
Sent: Wednesday, August 31, 2011 6:07 PM
Subject: Re: [ts-7000] TS-7550 XUARTs

Mike,

I'm not sure how Walter was testing the latency, or where you read
100ms, but we have a loopback test built into xuartctl which measures
the latency which is used as part of our production test.  On a stock
TS-7550:

# xuartctl --port 0 --test
loopback_test_ok=1
latency_test_tps=90
latency_us=5412.1

The latency is actually slightly better when you connect from another
system to create the port or run the test.  From my x86 workstation to
the same TS-7550:
mark $ xuartctl --port 192.168.2.197:7350 --test
loopback_test_ok=1
latency_test_tps=100
latency_us=4913.2

By default we just poll at 100hz because it's easier on the CPU.  That
behavior is standard among most other UART implementations.  You can
improve the latency by quite a bit (at the cost of some CPU usage) by
using an IRQ instead.

# xuartctl --server --irq=29
# xuartctl --port 0 --test
loopback_test_ok=1
latency_test_tps=575
latency_us=781.3

And remotely:
mark $ xuartctl --port 192.168.2.197:7350 --test
loopback_test_ok=1
latency_test_tps=607
latency_us=736.9

> Am I right there there is no device driver, and that the userspace
just mmaps the xuarts?
We do typically implement userspace drivers for our devices.  The cost
of moving these drivers to the kernel is great (large amount of
maintenance, and very lacking debug functionality), while the benefit
for speed is incredibly small.  You will be limited by the bus interface
to the FPGA before you are limited by running in userspace.  As these
are psuedo terminals, they will implement ioctls so termios will behave
as expected.  The only caveats with these devices is that you cannot
change the baudrate or mode from termios.  You can just call xuartctl to
change these for you though.

>(I would assume that I wouldn't be using their xuartctl server,
instead directly reading and writing to the xuarts)

The /dev/pts/# device is created from the xuartctl daemon.  If you
absolutely need faster latency than what this method offers, we have
other options.  However all of them will add much more complexity.  I
would suggest working with these as they are intended unless you cannot
meet your requirements.

> As long as It never ever drops characters, latency is OK.
I've never seen the xuarts drop characters.

Best Regards,
________________________________________________________________
  Mark Featherston, Technologic Systems | voice: (480) 837-5200
  16525 East Laser Drive                | fax: (480) 837-5300
  Fountain Hills, AZ 85268              | web: www.embeddedARM.com

On 08/31/2011 01:19 PM, mike ingle wrote:
> Hi Walter,
>
>
> Am I right there there is no device driver, and that the userspace just
> mmaps the xuarts? For my application, latency won't be a problem, also
> very much a fixed line setup. What little I read on the xuart indicated
> that they expect about 100ms latency in their user space server (I would
> assume that I wouldn't be using their xuartctl server, instead directly
> reading and writing to the xuarts) . As long as It never ever drops
> characters, latency is OK. Given how few of these will be built, and the
> desire to run device test routines on the server, I think 8 uarts per
> 7550 is OK. my biggest concern is that the 7550 perform as described.
>
> best regards Mike
> On Aug 31, 2011, at 11:50 AM, Walter Marvin wrote:
>
>>
>> The TS7500 and 7550 does NOT I repeat NOT have standard Linux serial
>> device driver support. The User Space servers that Technologic supply
>> limit the throughput and latency you achieve. Since your baud rate is
>> the same on all channels and the through put is relatively low you
>> might be able to get away with it. I would suggest you set up a demo
>> with one 7550 and see if it works without delays.
>>
>> I had to modify the servers and finally write my own drivers to get 50
>> ms latency and line set up flexibility. If you go to a device driver,
>> you might be able to multiplex the serial streams in hardware and
>> limit the number of 7550's. I can help you with this.
>>
>>
>> ------------------------------------------------------------------------
>> *From:* mike ingle <m("gmail.com","finndmike62");" href=""> <mailto:m("gmail.com","finndmike62");" href="">>>
>> *To:* m("yahoogroups.com","ts-7000");" href=""> <mailto:m("yahoogroups.com","ts-7000");" href="">>
>> *Sent:* Wednesday, August 31, 2011 2:34 PM
>> *Subject:* [ts-7000] TS-7550 XUARTs
>>
>> Hi all,
>>
>> I need to maintain communications with 80 devices overRS-232 serial
>> (115k). Each device streams an approximately 120 byte packet every 100ms.
>> also the host, can send packets, and expect a response at any time.
>> The packets are hex encoded with out of band start and stop characters.
>>
>> I am contemplating using 10 ts-7550s (with appropriate level shifters)
>> to control the devices, and forward the data over ethernet. The intent
>> would be to crack the serial packets (which include 2 crc32 checks)
>> down to their 60byte binary size, buffer 10 or so serial packets per
>> channel, (600bytes per ethernet packet) and send them on up to a host
>> for logging and display.
>>
>> My data rate calculations show very modest ethernet usage (8 x 600
>> bytes/s).
>>
>> On the surface the ts-7550 looks like a nice fit for this. Anyone have
>> any experience with the XUARTs , or better suggestions? Probably no
>> more than 3 <80 channel systems> will be built.
>>
>> Best Regards Mike
>>
>>
>>
>>
>
>


------------------------------------

Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/ts-7000/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/ts-7000/join
    (Yahoo! ID required)

<*> To change settings via email:
    m("yahoogroups.com","ts-7000-digest");" href="">
    m("yahoogroups.com","ts-7000-fullfeatured");" href="">

<*> To unsubscribe from this group, send an email to:
    m("yahoogroups.com","ts-7000-unsubscribe");" href="">

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/





__._,_.___


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