Prev: MAKE UPTO $5000 PER MONTH! $2000 IN FIRST 20 DAYS!
Next: Dexcel Electronics Designs is Hiring in Chennai
From: D Yuniskis on 21 Jun 2010 01:38 Hi Rowan, rowan.bradley wrote: > Anyone know the quickest or easiest way of recording a serial data stream > and timestamping each byte with a resolution of at least 1ms (preferably > finer)? I can only find cheap or free programs with less resolution, or > very expensive solutions, often involving special hardware. > > I only need to monitor one port, and I don't need to send any characters > (actually I'm snooping on an RS485 bus). Are you actually interested in *every* byte or just "certain" bytes (e.g., are you looking at, perhaps, the timing of *messages*?) > I'm prepared to use an old PC with a "real" serial port, run MSDOS, Linux > or whatever other OS will do the job, use some sort of microprocessor to > capture the data (preferably one I'm familiar with, such as 8051 family or > PIC) or anything else so long as it's quick and cheap. I just need to get > the job done, preferably tomorrow! If you can find something that you can easily write / deploy code on, this is a one page program. > If possible I'd like it to run at a non-standard baud rate (62,500 baud). IIRC, a "real PC" will give you problems hitting 62,500. I think the baud rate clock is fed from too low of a frequency to give you enough precision to hit "any" baudrate you want (esp at higher rates, obviously)
From: Oliver Betz on 21 Jun 2010 05:45 "rowan.bradley" wrote: >Anyone know the quickest or easiest way of recording a serial data stream >and timestamping each byte with a resolution of at least 1ms (preferably >finer)? I can only find cheap or free programs with less resolution, or >very expensive solutions, often involving special hardware. So you already checked all solutions listed on http://wiki.oliverbetz.de/owiki.php/TerminalPrograms ? Another possibility is http://www.tech-tools.com/dv_main.htm - it's able to record and decode serial data and of course the resolution is several orders of magnitude better than you require. Not cheap but a good logic analyzer is often useful. Oliver -- Oliver Betz, Munich despammed.com is broken, use Reply-To:
From: Paul Carpenter on 21 Jun 2010 05:37 In article <EpmdnWB348YFOIPRnZ2dnUVZ_qGdnZ2d(a)giganews.com>, rowan(a)n_o_s_p_a_m.sylvester-bradley.org says... > Anyone know the quickest or easiest way of recording a serial data stream > and timestamping each byte with a resolution of at least 1ms (preferably > finer)? I can only find cheap or free programs with less resolution, or > very expensive solutions, often involving special hardware. Everything depends on many factors some of which are 1/ Do you want relative timestamp from power up or first byte received? 2/ Do you want linked timestamp (actual time) to some time stamp reference (even one system's time clock)? 3/ With later mentioned 62500bps, your accuracy could end up +/-1ms 4/ Are you timestamping each byte, or a block of data? 5/ Are you timestamping the - line start bit falling edge, middle or effective end - line Stop bit effective rising edge, middle or effective end - Byte coming out of a UART (with hardware latency from start bit) effectively Data Ready flag, which becomes skewed even with two or more bytes from double buffering or FIFOing and software/interupt latency. - Start/middle/end of any message block 6/ How much data are you expecting to capture per second/min 7/ How large a time stamp range do you need, i.e. do you need one that runs for minutes, hours, days or longer. This affects the overhead of any timestamp, the bigger it is the more to process. Also the more bytes that have to be timestamped the larger the dataset. > I only need to monitor one port, and I don't need to send any characters > (actually I'm snooping on an RS485 bus). > > I'm prepared to use an old PC with a "real" serial port, run MSDOS, Linux > or whatever other OS will do the job, use some sort of microprocessor to > capture the data (preferably one I'm familiar with, such as 8051 family or > PIC) or anything else so long as it's quick and cheap. I just need to get > the job done, preferably tomorrow! > > If possible I'd like it to run at a non-standard baud rate (62,500 baud). Using and external device will make getting that baud rate easy, how big your data set is, the time stamp data has to be affects how much storage buffering of data and in turn potentially latency for timing as recording gets bigger. If on a PC the act of updating screen or saving some of the data to disk could impact on recording timing on a heavily loaded link. If you must timestamp every byte, I would consider a seven bit relative time stamp between bytes, with MSB set as 1. Full time stamp always to have MSB set to 0, thus huge amount of data set can saved if you need a 4 byte or larger timestamp for the whole dataset. If time delta greater than 127 steps, send full time stamp. Even at 62500 bps, you are potentially storing 6250 bytes/second, with a four byte timestamp on ech byte you are then storing 5 x as much data EVERY second. This of course increases to 9x as much for 8 byte timestamp. So your data storage, buffering and processing requirements increase drastically for an external unit. Mean while in a PC storing data to disk could cause gaps in time stamp accuracy, depending on how good the disk drivers and hardware actually are. > Thanks - Rowan > > --------------------------------------- > Posted through http://www.EmbeddedRelated.com > -- Paul Carpenter | paul(a)pcserviceselectronics.co.uk <http://www.pcserviceselectronics.co.uk/> PC Services <http://www.pcserviceselectronics.co.uk/fonts/> Timing Diagram Font <http://www.gnuh8.org.uk/> GNU H8 - compiler & Renesas H8/H8S/H8 Tiny <http://www.badweb.org.uk/> For those web sites you hate
From: Stefan Brröring on 21 Jun 2010 06:24 > Anyone know the quickest or easiest way of recording a serial data stream > and timestamping each byte with a resolution of at least 1ms (preferably > finer)? I can only find cheap or free programs with less resolution, or > very expensive solutions, often involving special hardware. > > I only need to monitor one port, and I don't need to send any characters > (actually I'm snooping on an RS485 bus). > > I'm prepared to use an old PC with a "real" serial port, run MSDOS, Linux > or whatever other OS will do the job, use some sort of microprocessor to > capture the data (preferably one I'm familiar with, such as 8051 family or > PIC) or anything else so long as it's quick and cheap. I just need to get > the job done, preferably tomorrow! > If you only want to analyse a serial data stream and if you are sure, that the bits are correct, you can simply read the data with a PC. I don?t think, that you need a microcontroller. The simplest way is, you take the B wire (or D-) of the RS485 signal and connect it via a 1K resistor with the RXD* line of the PC and the GND line of your RS485 Device with the GND-Line of the PC-Com-Port. This is electrically not ideal, but should normaly work. But You should not connect the TXD* line (the one, where you see about -8V) of the PC to the RS485 bus. A better solution of course would be the use of a RS485 tranceiver which is used only in read-mode, e.g. max485. Now take a simple program, e.g. in Turbo-Pascal under DOS or Delphi under Windows and record the data. For a one-cannel solution, i would prefer delphi. For a two-channel solution, where i need the timing between the two signals, it might be better in DOS. With some experience in serial communication, this should be done in about half an hour. With MSDOS or Windows, you can use every baudrate that is a factor/divider of 115200. best regards Stefan DF9BI
From: Stef on 21 Jun 2010 07:12
In comp.arch.embedded, Oliver Betz <obetz(a)despammed.com> wrote: > "rowan.bradley" wrote: > >>Anyone know the quickest or easiest way of recording a serial data stream >>and timestamping each byte with a resolution of at least 1ms (preferably >>finer)? I can only find cheap or free programs with less resolution, or >>very expensive solutions, often involving special hardware. > > So you already checked all solutions listed on > http://wiki.oliverbetz.de/owiki.php/TerminalPrograms ? > > Another possibility is http://www.tech-tools.com/dv_main.htm - it's > able to record and decode serial data and of course the resolution is > several orders of magnitude better than you require. Not cheap but a > good logic analyzer is often useful. Much cheaper and possibly enough for this job: http://www.saleae.com/logic/ -- Stef (remove caps, dashes and .invalid from e-mail address to reply by mail) I'm having a tax-deductible experience! I need an energy crunch!! |