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> |
---|---|---|
|
Previous by Date: | [ts-7000] Re: TS-7550 XUARTs, jesseoff |
---|---|
Next by Date: | Re: [ts-7000] Re: TS-7550 XUARTs, Walter Marvin |
Previous by Thread: | Re: [ts-7000] TS-7550 XUARTs, Mark Featherston |
Next by Thread: | Re: [ts-7000] TS-7550 XUARTs, Walter Marvin |
Indexes: | [Date] [Thread] [Top] [All Lists] |
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