08-17-2005 10:40 AM
08-17-2005 12:29 PM
08-18-2005 03:39 AM
2. The first time that I try transfer all the data is transferred OK into the memory. The problem is only afer the first time. The quantity of data that is transfer is the number that return the ViWrite() (read via NiSpy) -1(I check in the memory that is reset to 0 before transfer)
3. the 6 last lines in capture are:(|+ = up arrow |- = down arrow) (order DATA Control line HANDSHAKE line)
9e 00010011 DAB DAV|+ (in blue)
4. 9e is tha last byte that is write in memory.61 ise the 413 butes in buffers ( the number of bytes that success to transfer is variable no stop always to the same place in buffer) the TNT488e counts it but it no write onto the memory. The STS2 register is 9A this means that fifo B is empty(I work with 8 bits DMA).Count is ff0019d (begin in ff00000 value) (the DMA channel stop the transfer when it receive the exact number of bytes that need I put in TNT counter nymber that is OK for each DMA transfer that I will need).and the is exactly 413 bytes transfer (success 412)
5. I receive binry data and then the terminaison is with counting no with another terminator. (for normal receive my firmware may stop with 0x0a value or EOI kine assreted or with the two method. I send oxa in the end of my query response).
I hope that these information will be help you to help me
08-18-2005 09:02 AM
08-22-2005 12:04 AM
Hi
08-22-2005 12:04 AM
Hi
08-22-2005 12:04 AM
Hi
08-22-2005 12:04 AM
Hi
08-22-2005 12:04 AM
Hi
08-22-2005 12:04 AM - edited 08-22-2005 12:04 AM
Hi
I ininialize the GPIB counter with the maximum value than I may receive the enf of DMA go from the DMA channel. In the end of the transfer I stop the GPIB with STOP command. The application send the binary values hash in ~10e3 group we try to little them but this not solve the problem .
I know the transfer stop in error because application don't success to transfer the binary data block,I assume the problem result to a problem with the GPIB device because it is the initiator for each transfer. I don't understand why the transfer stops on transfer time.And I try to understand the register values but I don't success to analyse them right. in the attachment I put the GPIB init that I do when open GPIB remote session ( the instrument has other remote platform (USB LAN) and the GUI permits to user to change plafform via keyboard operation. Before begining DMA transfer I run SetGPIBDMA routine. When I finish to receive binary data and treat it I run SetGPIBNormal routine. I use RQS line to "say the application" that I ready to receive the binary block or that I finish to receive and treat it. The binary data that produces the problem is 8 bits transfers.
Message Edited by Firmware programmer on 08-22-2005 12:44 AM