----- Original Message ----- From: Jeffrey R. French <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Monday, May 06, 2002 3:43 PM Subject: [rtl] serial cards....
> > I'm new to the rtlinux world...so please go easy. NO QUARTER GIVEN, NONE RECEIVED! What you get is what you deserve ;-) > > I working on porting a data system that currently > runs under DOS to linux. What I have are two multiport > serial cards (RocketportPCI/422, 4 port & DigiClassic, 8 port) > I have data from several sources coming in, some at regular > intervals, some at irregular intervals. > > I need to be able to timestamp fairly precisely when the > data arrives (within a few ms) I also need to be able to > time an external pulse to the datasystem clock. > > Regarding the pulse, I think I can drop it to IRQ 3 and in > rtlinux determine fairly precisely when the pulse occurs. For a project I worked on some time ago, we got a PTTI pulse from a GPS receiver and had to do "precise" timestamping because we needed to timestamp other events relative to this. Our users were happy with the results and they felt that they were getting < 10 uSec results. I had no way to (dis)prove this, but as long as they were happy I wasn't going to argue with my own success. There are some hardware solutions for precise timing of pulses that involve automatically latched counters --I've done this for sub-microsecond accuracy too. > > I'm unsure of how to handle the serial data. Both cards > have regualr linux dirvers and I can ingest data simply through > open(2) and read(2) statements in linux, but as I understand > rtlinux, one cannot use these functions in an rtlinux module. > Also, rt_com is not made to support these specialty cards. > Is the above correct? The question of whether or not their drivers can be used within rtlinux is not as simple as it seems, because it really depends on exactly what they do and when, what they call, etc... If you can stand it, it's safest to assume that they're not compatible. As far as timing the arriving signals, I can assure you that you can use an RTLinux periodic task with a frequency of a few kilohertz. At 2 KHz, this gives you a window of only 1/2 millisecond and, unless you're using really high baud rates, not much longer than the time it takes to transmit a single character. I personally have run at 2,600 Hz on a '486 and I've read of people using Pentiums clocked at a few hundred MHz to handle periodic tasks as high as 10-20 KHz. That's getting down to the single-digit millisecond range. Also, I currently use a few ACL-II boards (they were the precursors to the DigiBoards) with custom programs downloaded that concentrate whole messages and relieve the PC's CPU of the tedium of responding to each character. It wouldn't be too hard to write a program to run on the DigiClassic to do timestamping of received characters with the board's own clock either. I've never used Rocketport boards in Linux, although I did use one with AMX-86 on top of MS-DOS and found no untoward effects using the board's own drivers -- but then that's MS-DOS, not Linux and drivers are much simpler. Write me off-list if you want to go into more depth about this. Norman Dresner Fellow Support Avionics Systems Engineer & (SGI) Advanced Signal Processing Laboratory Administrator Radar Systems Engineering Department Northrop Grumman Corporation Electronic Systems E-Mail: Mornings: mailto:[EMAIL PROTECTED] Afternoons: mailto:[EMAIL PROTECTED] > > Any suggestions on how to handle this? > > Thanks > -Jeff > > -- > ---------------------------------------------------- > Dr. Jeffrey R. French - [EMAIL PROTECTED] > Physical Scientist > > NOAA/OAR/ARL Field Research Division > 1750 Foote Dr. > Idaho Falls, ID 83402 > > tel: (208) 526-0566 (office) > (208) 526-2549 (fax) > -- [rtl] --- > To unsubscribe: > echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR > echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED] > -- > For more information on Real-Time Linux see: > http://www.rtlinux.org/ > -- [rtl] --- To unsubscribe: echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED] -- For more information on Real-Time Linux see: http://www.rtlinux.org/