ts-7000
[Top] [All Lists]

Re: [ts-7000] TS-7550 XUARTs

To:
Subject: Re: [ts-7000] TS-7550 XUARTs
From: Mark Featherston <>
Date: Wed, 31 Aug 2011 15:07:09 -0700
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 < <>>
>> *To:*  <>
>> *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:
     
    

<*> To unsubscribe from this group, send an email to:
    

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

<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