Just in case anyone is following the Compact Flash problem I was having, or comes across it in some archive in the future, here is the end of the story: Problem: we found some CF cards which would ignore the ~CS line. If the ~WR line was activated (to write to another device in the circuit) when ~CS was inactive, the card would still be written to. This would corrupt data being read back from it. We had a variety of brands of card which exhibited this behaviour. Other cards (of the same branding) worked fine. The manufacturer has eventually got back to us and confirmed that their cards which use an "F2 controller" are not compliant with the CF standard: "A write request (IOWR or WE active while CE1 and CE2 are high) can destroy data in 8 bit transfer mode." But there is no way to identify cards which use this controller chip. So be warned - if you are using CF cards in a design which shares ~WR with other devices, ensure that the ~WR signal (or ~IOWR presumably) to the card does not go active unless you really want to write to the card. We modified our circuit to gate the ~WR signal with the ~CS signal so that ~WR could not go active without ~CS. This fixed the problem so that our device will work with non-compliant cards. But this is not documented anywhere!! So beware. I have informed the Compact Flash Association about this, they have been very responsive and are investigating it. -- Tim Mitchell tim@sabretechnology.co.uk http://www.sabretechnology.co.uk
Message
RE: [AVR-Chat] Re: Compact Flash Weirdness - being written to while CS inactive
2006-05-22 by Tim Mitchell
Attachments
- No local attachments were found for this message.