LabWindows/CVI

cancel
Showing results for 
Search instead for 
Did you mean: 

RS232: Intel x AMD

Hi,

I'm having a weird problem with a CVI application using serial lib I wrote: it works just fine on Intel processors, but behaves badly on AMD!

I tried diferent OS's (2k, XP, 98), processor families (old Pentium, Pentium 4, Celeron, K6/2, Duron) and clocks (from 150MHz up to 1.6GHz). The result is always the same, works fine on a Pentium 150MHz but fails on a Duron 1GHz!

System architecture: one serial device sending data at 115.2K, CVI application polling incoming data buffer and saving it to hard-disk (well, processing and showing on screen, too). Data throughtput is something around 7Kbytes/sec.

Does anybody ever experienced something like this? Any comments would be appreciated.

Thanks,

Dieter
0 Kudos
Message 1 of 4
(3,168 Views)
Dieter,

We have no reports of that problem happening before, nothing related to an specific brand of processors. What do you mean by "behaves badly"? Does the app reads data at all?

One possibility that I'm thinking here is that AMP computers does not support the baud rate that you are desire, would be good to test with lower baud rates to see if that makes any difference.

Please keep me posted about this.

Regards,

Juan Carlos
N.I.
0 Kudos
Message 2 of 4
(3,168 Views)
Hello, thanks for your answer.

On AMD computers the application reads data, missing an arbitrary number of packets (info is sent on ~40bytes chunks). At this situation I can still plot my waveforms on screen (since thay are acquired @ ~100 samples per sec), but I know that I'm missing points, since I have some data integrity checking. As an example, on one system we miss one packet every 15secs, aprox.

I have tested a lower baud rate before my posting, but it didn't work as well (and I must have the 115.2k throughtput). I have also played with the LW lib, changing input buffer size, no success.

Regards,

Dieter
0 Kudos
Message 3 of 4
(3,168 Views)
schwanke wrote in message
<50650000000500000048130100-1042324653000@exchange.ni.com>...
>Hello, thanks for your answer.
>
>On AMD computers the application reads data, missing an arbitrary
>number of packets (info is sent on ~40bytes chunks). At this situation
>I can still plot my waveforms on screen (since thay are acquired @
>~100 samples per sec), but I know that I'm missing points, since I
>have some data integrity checking. As an example, on one system we
>miss one packet every 15secs, aprox.
>
>I have tested a lower baud rate before my posting, but it didn't work
>as well (and I must have the 115.2k throughtput). I have also played
>with the LW lib, changing input buffer size, no success.
>
>Regards,
>
>Dieter

Dieter, just a couple of ideas
.

Reduce the receive buffer size in the Windows control panel. If your source
device can use handshaking (preferably hardware), be sure it is enabled
on both ends.

Do the AMD machines you tried all have the same motherboard chipset? If so,
google for any issues with that chipset.

You could install a serial card with a larger buffer. Most PC serial ports
have a
16 byte buffer. Inexpensive cards are available with 64 byte buffers, and
more
expensive cards are available with much larger buffers. At 115200 bps, a 16
byte buffer will fill in 1.4 ms. A 64 byte buffer will give the computer 5.5
ms to
empty the buffer.

Hope this helps,
Reed.
0 Kudos
Message 4 of 4
(3,168 Views)