Instrument Control (GPIB, Serial, VISA, IVI)

cancel
Showing results for 
Search instead for 
Did you mean: 

TNT5002 pci-gpib Initializing?

Hello all,

 

Now,I should initialize the TNT5002,my steps as follow:

1

I did some thing:

Write     0x54004000(pbar1)+0x00000080 -----> 0x540000c0;

Write     0x54004000+0x0000208c -----> 0x540000c4

 

2

Initializing the TNT5002:

a

reset the GPIB Transfer Manager

write CMDR[SOFT_RESET] :

0x22    ------> 0x54004110

b

Assert the local power-on message

write AUXMR[CH_RST]:

0x02    -------> 0x5400410a

 

c

Configure for GPIB operation

1) Set the GPIB address in the Talker/Listener Manager

 

ADR0 (write only)

----------------------------------------------------

|   0   | DT0 | DL0 |         PRIM_ADDR[4:0]   |

----------------------------------------------------

     7       6       5         4                             0

 

Because PRIM_ADDR(GPIB address) depends on the Address Mode as selected by ADMR.

So,I write ADMR---write  the 0x31 in address 0x54004108.

Then I write 0x2e in address 0x5400410c.

 

e(14) set the device's address---talker

 

but I have no idea to confirm the result of written,please help me!

Thank you!

 

clover

 

 

0 Kudos
Message 1 of 4
(4,136 Views)

Hello Clover,

 

Please comment on what hardware you are using.  The PCI-GPIB comes with a TNT5004, not a TNT5002.  If you have created your own PCI card based on the TNT5002, then the manual will have some of this information and I'd be happy to help.  However, if you are using that PCI-GPIB (which comes with a TNT5004), I would recommend using the NI-488.2 DDK.

 

Please let me know what hardware you are using.

 

Thanks,

Steven T.

Message 2 of 4
(4,122 Views)

Hello Steven T,

 

Thank you very much for your help!I am using the HW board based on tnt5002 which was bought from NI.The name of the board is "NI PCI-GPIB High-Performance GPIB Interface for PCI",you can see the information in https://www.ni.com/en-us/shop/model/pci-gpib.html. I remembered  that I said the source code(which can be used for driver) with the board in c++ language,so I want to driver it with c.I am using the manual of tnt5002,the pci core is ok,but now I found difficulty to confirm the result for writting to 4882 regesters.If you can tell me the method of initializing the tnt5002,it's very well.For example,the 3 step:Configure for GPIB operation.

The manual said "the managers must be configured while pon is asserted",I write AUXMR[CH_RST] after the CMDR[SOFT_RESET] was writen,but I have no method to confirm the pon is really asserted.yet how to configure the serial poll response manager and parallel poll response manager?

 

Regards.

clover

0 Kudos
Message 3 of 4
(4,109 Views)

Hello Clover,

 

Sorry for the delayed response.  You are correct that the TNT5002 manual doesn't go into all of the details of configuration.  However the initialization routines as well as the data receive/transmit is the same between the TNT5002 and the TNT4882.  The TNT5002 manual goes into detail about initializing the IO Window.  After this is done, you can configure the chip for GPIB communication using the TNT4882 routines.

 

You can find the TNT4882 manual here.

 https://www.ni.com/docs/en-US/bundle/370872a/resource/370872a.pdf

 

I hope this helps,

Steven T.

0 Kudos
Message 4 of 4
(4,081 Views)