Problem with CS8900A 5v in 8-bit

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From English to

Threaded View
Hi Group,

    We are using CS8900A 5V version and it is interfaced to
Philips 89C51RD2 in *8-bit* mode - No Interrupts.
CS8900A reads/writes registers, transmits and receives packets
continuously (works very fine) for few minutes, say 1-2 minutes
and then suddenly stops responding. If I try reading any registers
at this *moment* it reads 0x00000000, stops transmitting and receiving.
If I remove the 5V supply to the CS8900A and reconnect it,
it starts again .. but only for few minutes.

In the initialization of CS8900A both software and hardware reset
has been applied.

If anyone has ever experienced the same problem or even hasn't,
Please help...

Lawrie.

Re: Problem with CS8900A 5v in 8-bit
On 29 Jan 2004 04:19:52 -0800, snipped-for-privacy@greymatterindia.com

Quoted text here. Click to load it

I experienced the same symptons as you see, with a cs8900A, but it had
to do with a (now corrected) bug on a VxWork driver supplied by the
manufacturer. The bug prevented the packets to go out when certain
conditions where met and forced a dead-lock. Perhaps you are using or
re-using that driver...?

--
Ignacio G.T.

Re: Problem with CS8900A 5v in 8-bit
On 29 Jan 2004 04:19:52 -0800, the renowned

Quoted text here. Click to load it

Could it be this issue?

"Before issuing a skip command read the RxStatus and RxLength of the
current frame."    

Best regards,
Spehro Pefhany
--
"it's the network..."                          "The Journey is the reward"
snipped-for-privacy@interlog.com             Info for manufacturers: http://www.trexon.com
We've slightly trimmed the long signature. Click to see the full one.
Re: Problem with CS8900A 5v in 8-bit

Quoted text here. Click to load it

Hardware wise, make sure that RD/ and particularly WR/
are not bouncing low a second time.



Re: Problem with CS8900A 5v in 8-bit
Quoted text here. Click to load it

--------------------------------------------------------------------------------
Even if I just keep on reading the registers ,say the Product ID,
in a continuous while loop, I do get the correct value 0x0E630009
for few minutes then suddenly it shows 0x00000000, even if a *Reset*
is applied to the Microcontroller, thus reinitializing CS8900A,
it shows the same 0x00000000 value.
Only on *PowerUP* reset it starts again properly ....but continuing
with the same problem after few minutes.

Where as RD/ and WR/ are concerned ....
here is the sequence.....

Write Routine ....

ClrAEN();

SetIOR();        //Disable *IOR by sending high on the pin
SetIOW();        //Disable *IOW by sending high on the pin
CS_ADDR = (CS_ADDR & 0xF0) | regaddr;    //Put the even address of register
CS_DATA = regdata;    //Put the lower byte of the data             
ClrIOW();        //Active low on IOW            
delay(100);

ClrAEN();

SetIOW();                                
SetIOR();                                
CS_ADDR = (CS_ADDR & 0xF0) | (regaddr + 1);//Put the odd address of the reg
CS_DATA = regdata >> 8;  //Put the higher byte of the data  
ClrIOW();                                
delay(100);
SetIOW();


Read Routine ....

CS_DATA = 0xFF;        //Set the data port as input port

SetIOW();        //Disable *IOR by sending high on the pin
SetIOR();        //Disable *IOW by sending high on the pin             
CS_ADDR = (CS_ADDR & 0xF0) | regaddr;    //Put Even address of register
ClrIOR();        //Active Low on IOR                    
delay(100);
wdata = CS_DATA;        //Collect lower byte of data

CS_DATA = 0xFF;

SetIOW();                                
SetIOR();                                    
CS_ADDR = (CS_ADDR & 0xF0) | regaddr + 1;    
ClrIOR();                                
delay(100);
wdata |= (0xFF00 & (CS_DATA << 8));     //Collect Higher byte of data


Please suggest...

Lawrie.

Site Timeline