Yahoo Groups archive

Lpc2000

Index last updated: 2026-04-28 23:31 UTC

Message

Re: [lpc2000] Re: CS8900A question

2005-11-03 by Michael Anburaj

Robert,

I wrote the CS8900A driver myself & using it with
LPC2106. LPC2106 p0.16 has issues, other than that at
-O2 optimisation level & GCC I had to add 4 nops after
bring the RD low.

like this,

rd_low
nop
nop
nop
nop
read_data
rd_high

Other than this pretty much everything is toggled at
high speeds & it works great.

Cheers,
-Mike.

--- rseku <rseku@...> wrote:

> I think I have the same problem with CS8900A.
> I use MAM=full, and cclk=60MHz
> Could You please explain where this delay loop
> should be added:
> 1. between bits toggling I0SET=IOW, and I0CLR=IOW
> 2. between cs8900_read() and cs8900_write()
> functions
> 
> robert
> 
> Luciano Almeida wrote:
> 
> > I had the same problem.
> > 
> > Solution: insert some delay cycles between the
> write and the read. (I put :
> > static int dummy = 1;
> > #define delay()	{int
> >
>
delayCtr=0;for(delayCtr=0;delayCtr<10;delayCtr++){dummy+=dummy;dummy+=delay;
> > }}
> > ) and didn't give a second tought about it. (yes,
> it's dumb, but it seems to
> > work. Yes, it can be improved).
> > 
> > What can be? I think it has something to do about
> the pin toggle time (lower
> > than the time between the read and the write of de
> arm) or to the timings of
> > the CS8900 (I think it says something like 135 ns
> between the write and read
> > times). (This is a guess, remember.)
> > 
> > As you can guess, I didn't investigate it...
> > 
> > Funny thing is that I only saw this with the GCC,
> when I tried the
> > crossworks, the code worked. (I used the uIP and
> FreeRTOS).
> > 
> > Best of lucks,
> > 
> > Luciano
> > 
> > 
> >>-----Original Message-----
> >>From: lpc2000@yahoogroups.com 
> >>[mailto:lpc2000@yahoogroups.com] On Behalf Of
> ian_wraith
> >>Sent: Monday, July 11, 2005 4:17 PM
> >>To: lpc2000@yahoogroups.com
> >>Subject: [lpc2000] Re: CS8900A question
> >>
> >>Hello
> >>
> >>--- In lpc2000@yahoogroups.com, Ian Wraith
> <i.wraith@s...> wrote:
> >>
> >>>There are no problems initialising the CS8900 and
> I can 
> >>
> >>even read its 
> >>
> >>>EISA company ID correctly.
> >>
> >> I have just double checked this and it seems I
> can't read 
> >>the company ID correctly after all. When I check
> this my 
> >>program returns a value of 0x6355 where as the
> actual value 
> >>should be 0x630E. So I can read the first byte
> correctly but 
> >>the lower one is always
> >>0x55 (an alternating pattern of 0's and 1's). My
> problem 
> >>therefore is in the code that reads a word from
> the CS8900.
> >>
> >> My apologies for wasting peoples time.
> >>
> >>Regards
> >>
> >>Ian
> >>
> >>
> >>
> >>
> >> 
> >>Yahoo! Groups Links
> >>
> >>
> >>
> >> 
> >>
> >>
> >>
> >>
> > 
> > 
> > 
> > 
> >  
> > Yahoo! Groups Links
> > 
> > 
> > 
> >  
> > 
> > 
> > 
> 
> 
> 



	
		
__________________________________ 
Yahoo! Mail - PC Magazine Editors' Choice 2005 
http://mail.yahoo.com

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.