Re: [buildcheapeeg] Serial transfer data loss

From: Jim Peters (jim_at_uazu.net)
Date: 2002-03-14 17:42:47


Joerg Hansmann wrote:
> The modularEEG / RS232EEG protocol uses an effective baudrate of 17
> bytes_per_frame * 10 bits_per_byte_inclusive_start_and_stop * 256
> samples_per_second = 43520 baud.

So this gives us some headroom for flow-control delays if transmitting
at 57600, and loads of room if transmitting at 115200.

> Is your HD driver set to DMA-mode ? Or PIO mode ?

I just checked, and DMA is *disabled*. 'hdparm' won't allow me to
enable it either, so I'm guessing this is just something not supported
by the hardware/drivers on my laptop.

So what you're saying is that the processor is kept busy talking to
the hard drive, and it lets the serial buffer overflow whilst doing
that.

> The At90S4433 has 128 bytes SRAM. A part of it is used in the
> current firmware, but the rest could be used for buffering perhaps
> 4..5 data frames. Together with XON,XOFF handshake this could
> resolve data loss.

I hope so, yes. I don't think I ever saw it lose 64 bytes, even at
115200.

I've just run some more tests to make sure, also trying it the other
way around -- sending from the laptop to my big box (Celeron 900).
The big box has DMA turned on, and you can do a big 'find' without it
noticing. Also, heavy calculations don't seem to matter. However,
switching between virtual desktops (i.e. major screen redraws) causes
it to drop bytes. The largest number I saw it drop was 40. This
happens even when using an increased priority.

Actually I never saw more than 40 dropped bytes even with heavy disk
access, heavy calculations and screen switching at the same time. If
the XON/XOFF idea works out, then we might actually see 100%
reliability even on a heavily stressed system if we have the buffering
you describe.

This is all just for my systems though, and just using Linux. I have
no idea about Windows.

Jim

-- 
Jim Peters (_)/=\~/_(_) jim_at_uazu.net
(_) /=\ ~/_ (_)
Uazú (_) /=\ ~/_ (_) http://
B'ham, UK (_) ____ /=\ ____ ~/_ ____ (_) uazu.net


This archive was generated by hypermail 2.1.4 : 2002-07-27 12:28:41 BST