problem talking to dataFlash AT45 Series

Hi guys,

I’m having a bit trouble getting a PIC to communicate to a AT45DB321D DataFlash via the spi bus.

All i’m trying to do at the moment is retrieve the manufacturing ID (0x9F) opcode.

I always get the data 0X1E, 0X18 returned instead of the 0X1F, 0X27 i’m supposed to receive. Using a scope and stepping through the code everything seems ok: the SO changes from high impedance after taking the 7th clock cycle low, but for some reason it goes low when taking the 14th clock cycle low - giving me 0x1E.

Any ideas what i could be doing wrong?

Kind regards,

Damian