Instrument Control (GPIB, Serial, VISA, IVI)

cancel
Showing results for 
Search instead for 
Did you mean: 

TNT488 problems

Hello! I am sorry English is not my mother tongue! I use TNT4882 chip for GPIB support implementation and AT89S52 for control. I use generic pin configuration to access TNT4882-AQ. The tnt not seems to work. I do not know if the problem is hardware or software problems. Who can help me? You can see the pin configuration on the attachment.Here is the initialization code: void main(void) { MCU_Init(); TNT_RST = 0; delay(); TNT_RST = 1; delay(); CMDR = 0x22; //soft reset SPMR = 0x80; //place chip in turbo+7210 mode AUXMR = 0x80; SPMR = 0x99; AUXMR = 0x99; KEYREG = 0x00; //0x00 to KEYREG HSSEL = 0x01; //put in one-chip mode AUXMR = 0x02; //assert local pon message ADMR = 0x31; //dual primary addressing mode ADR = 0x01; //set primary GPIB address as 1 ADR = 0xE0; //disable secondary address AUXMR = 0x00; //clear local power-on message SBUF = XBYTE[0x00]; while (!TI); TI = 0; SBUF = XBYTE[0x01]; while (!TI); TI = 0; SBUF = XBYTE[0x02]; while (!TI); TI = 0; SBUF = XBYTE[0x03]; while (!TI); TI = 0; SBUF = XBYTE[0x04]; while (!TI); TI = 0; SBUF = XBYTE[0x05]; while (!TI); TI = 0; SBUF = XBYTE[0x06]; while (!TI); TI = 0; SBUF = XBYTE[0x07]; while (!TI); TI = 0; SBUF = XBYTE[0x08]; while (!TI); TI = 0; SBUF = XBYTE[0x09]; while (!TI); TI = 0; SBUF = XBYTE[0x0A]; while (!TI); TI = 0; SBUF = XBYTE[0x0B]; while (!TI); TI = 0; SBUF = XBYTE[0x0C]; while (!TI); TI = 0; SBUF = XBYTE[0x0D]; while (!TI); TI = 0; SBUF = XBYTE[0x0E]; while (!TI); TI = 0; SBUF = XBYTE[0x0F]; while (!TI); TI = 0; SBUF = XBYTE[0x10]; while (!TI); TI = 0; SBUF = XBYTE[0x11]; while (!TI); TI = 0; SBUF = XBYTE[0x12]; while (!TI); TI = 0; SBUF = XBYTE[0x13]; while (!TI); TI = 0; SBUF = XBYTE[0x14]; while (!TI); TI = 0; SBUF = XBYTE[0x15]; while (!TI); TI = 0; SBUF = XBYTE[0x16]; while (!TI); TI = 0; SBUF = XBYTE[0x17]; while (!TI); TI = 0; SBUF = XBYTE[0x18]; while (!TI); TI = 0; SBUF = XBYTE[0x19]; while (!TI); TI = 0; SBUF = XBYTE[0x1A]; while (!TI); TI = 0; SBUF = XBYTE[0x1B]; while (!TI); TI = 0; SBUF = XBYTE[0x1C]; while (!TI); TI = 0; SBUF = XBYTE[0x1D]; while (!TI); TI = 0; SBUF = XBYTE[0x1E]; while (!TI); TI = 0; SBUF = XBYTE[0x1F]; while (!TI); TI = 0; while (1); } Here is the data which i read from all TNT4882 registers after the initialization, somebody can see wrong values? Reg: 0x00 -> Val: 0x00 Reg: 0x01 -> Val: 0xFF Reg: 0x02 -> Val: 0x00 Reg: 0x03 -> Val: 0xFF Reg: 0x04 -> Val: 0x00 Reg: 0x05 -> Val: 0xFF Reg: 0x06 -> Val: 0x00 Reg: 0x07 -> Val: 0xFF Reg: 0x08 -> Val: 0x00 Reg: 0x09 -> Val: 0xFF Reg: 0x0A -> Val: 0x00 Reg: 0x0B -> Val: 0xFF Reg: 0x0C -> Val: 0x00 Reg: 0x0D -> Val: 0xFF Reg: 0x0E -> Val: 0x00 Reg: 0x0F -> Val: 0xFF Reg: 0x10 -> Val: 0x00 Reg: 0x11 -> Val: 0x00 Reg: 0x12 -> Val: 0x00 Reg: 0x13 -> Val: 0x00 Reg: 0x14 -> Val: 0xFF Reg: 0x15 -> Val: 0x3C Reg: 0x16 -> Val: 0xFF Reg: 0x17 -> Val: 0x3C Reg: 0x18 -> Val: 0x19 Reg: 0x19 -> Val: 0x00 Reg: 0x1A -> Val: 0x19 Reg: 0x1B -> Val: 0x00 Reg: 0x1C -> Val: 0x00 Reg: 0x1D -> Val: 0x00 Reg: 0x1E -> Val: 0x00 Reg: 0x1F -> Val: 0x00 Through those values,it simply does not work. I suspect my TNT4882 bad. Thinks!
0 Kudos
Message 1 of 2
(3,063 Views)
0 Kudos
Message 2 of 2
(3,051 Views)