Hi, I have a embedded 8051 based system which uses Compact flash cards to do data logging. Problem is that I can only use some cards (probably older) in the system. It seems as if when I use newer high speed cards, the processor cannot read the data registers in these cards. Has anyone come across a similar problem? I have played around with my bus access times and this doenst seem to work either. Please help!!
Compact Flash problems on embedded system
Nov 12, 2007
8 Replies
On a sunny day (Mon, 12 Nov 2007 01:37:37 -0800) it happened snipped-for-privacy@za.saabgroup.com wrote in :
With SD cards the sector size increased to 1024 (from 512) for > 2GB.
What! This is news to me. The SD Memory Card spec doesn't support cards > 2 GB. For that you need to use SD/HC (high capacity), which definitly has 512 sectors. I have one 4G SD/HC card that I can read on my system but isn't recognised by my 1 yr old laptop :(.
Peter
On a sunny day (Mon, 12 Nov 2007 11:58:08 GMT) it happened "Peter Dickerson" wrote in :
Oh well, I did read this, and it would explain why some cards do not work in my system with my driver. Maybe I did not exactly describe it right, here is some better info:
formatting link
Perhaps you are using the CF card in the CHS mode. Use the LBA mode.
Vladimir Vassilevsky DSP and Mixed Signal Design Consultant
formatting link
True, although 4GB "SD" (not SDHC) cards that use what most people seemed to have thought of as the "obvious" extension aren't that uncommon.
Although a year from now they won't be, now that SDHC is taking off.
It is too bad that using SDHC cards in SD readers generally just produces random/weird errors messages (e.g., "I/O timeout") -- if the committee had been smarter perhaps they could have required that all readers first check the "spec" the card was made to and just issue an obvious error message if the reader didn't support it ("This card was manufactured to a newer specifiction [SDHC 2.0] than your reader supports [SDHC 1.0] and cannot be accessed.")
Joel Koltner snipped-for-privacy@yahoo.com posted to sci.electronics.design:
Think about it a bit. You are requiring that card readers be prescient
This can be due to some forward/backward compatitibility problem. Check if there is any firmware upgrade / add-on cards available to meet the newer high speed cards with the corresponding card reader Vendor website.
Karthik Balaguru
I think I may have found a problem (hopefully the problem). Seems as if some of the newer high speed CF cards do not support 8-bit operation in True IDE mode. I have a card which works and when using this, I write to the features register to put the card in 8-bit mode. This works well and I can read the card Identity. When using the high speed cards and trying to put this in 8-bit mode, the Status and Error registers returns Command aborted. It also looks as if when I try reading the data register, the Address pointer in the CF does not increment. This is probably due to me now not being able to read a complete word from the CF. Anyway thats my theory. What do you guys think?
Join the Discussion
Have something to add? Share your thoughts — no account required.
Didn't find your answer?
Ask the community — no account required