01-04-2006 03:46 AM
Hi.
I hope X-Mas and the new year went well for you.
Why did you send this file ? It could not be opened (even after modifying the extension).
In response to your question:
No major modifications were made to the original code, but I would like to update you regarding the problems we are facing:
We are still having the sdame problems with the missing of the first character, we thought it was all behind us (with a new problem), but we were deceived.
Our application consists of the GPIB controller + Intel PXA 255 uController. The application task is a servo motor controller. The same uController, is used in order to run the servo control loop, and the GPIB (and other various tasks). No operating system is used
The servo controller loop interrupt, is called every 64us (16KHz), and takes approx 20-30us, leaving double that time for background tasks, in our case, handling the GPIB. The same servo loop, used to call the 'famous' updateinterface function, in order not to lose GPIB events, and one of our tests was to move the updateinterface function, into the background.
This test definately improved matters with the losing of the first charachter, but still was not solved.
In addition, the host computer read problem still happens (as a result of changing the lines )
This is the place to say, that changing the lines(rhdf and go) definately improved matters. Instead of having the problem every 2 minutes, we reached between 40 minutes-1 hour.
// If talk addressed
if((iGPIBStat&TACS)==TACS)
{
Set_Timeout(SLOW_DELAY,TRUE); /* Change timeout */
// check status register
iR_adsr = (unsigned char)TNT_In(R_adsr) ;
if( ((iR_adsr & 0x20)) ||
((iR_adsr == 0)) ||
((iR_adsr & 0x2)==0) ||
((iR_adsr & 0x1)==0x1))
{
return ;
}
//
PopMsg(g_pTxBufferGPIB,&g_iTxIndexGPIB) ;
The pop message is an inner fifo of mine (data to send).
Is it possible the read problem is due to this ? Why, if I receive I am talker, I need to check I am not Serial poll ?
I am sending this to your email as well, This matter is very important and we need your full attention, if possible.
Thanks,
Benji
01-05-2006 03:16 PM
01-06-2006 01:28 AM
Scott / Ditto,
The loss of the byte is not sending the byte from the TNT to the host computer, but receiving the byte to the TNT.
Please see additional previous post.
Benji / Roni
01-06-2006 11:29 AM
01-09-2006 09:30 AM
I haven't heard from you in a few days on this. Can we get a status update?
Scott B.
GPIB Software
National Instruments
01-09-2006 10:26 AM
Hi.
1. Can I have your email,as I have a rather large mail (>5000chars) to send you. benjis@consol.co.il
2. Regarding the loss of byte - This seldom occurs now, as we inserted delays between reading bytes from the fifo. It is weird, because it also depends on the speed of the host computer - the loss of bytes issue. The fact we need to insert delays between reads is quite unacceptable, and we do not see any documentation regarding this.
The problem we are mostly having is reading data from the host PC. We read the data, but when looking in the spy, it all goes read and the EABO bit is on. The correct data is there though !!! Why a timeout
01-09-2006 10:28 AM
01-09-2006 10:43 AM
01-09-2006 04:18 PM
Our code is working in one-chip mode. We configure the Configuration Register (CFG) to have bit 3 (CCEN) with a value of “1”. As we understand the manual:
“In this mode (One-Chip), the CCR is ignored. On the last byte of a GPIB write, EOI is asserted if CCEN = 1”So it seems as the EOI is asserted automatically in this mode. We see a nice EOI pulse (although who knows, maybe it is lost sometimes …).Our questions are:
Do you have anything in the database about problems in the counters ? Do we need some time gap between writing Reset FIFO and writing to the counters(CNT0) and between writing to all four counter registers ? In our code Reset FIFO, CNT0, CNT1, CNT2 and CNT3 are written one after the other.
01-10-2006 11:04 AM - edited 01-10-2006 11:04 AM
Message Edited by ScottieB on 01-10-2006 11:05 AM