Maker Pro
Maker Pro

Compact Flash problems on embedded system

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!!
 
J

Jan Panteltje

Jan 1, 1970
0
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!!

With SD cards the sector size increased to 1024 (from 512) for > 2GB.
 
P

Peter Dickerson

Jan 1, 1970
0
Jan Panteltje said:
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
 
J

Jan Panteltje

Jan 1, 1970
0
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

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:
http://www.hjreggel.net/cardspeed/special-sd.html
 
V

Vladimir Vassilevsky

Jan 1, 1970
0
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!!

Perhaps you are using the CF card in the CHS mode. Use the LBA mode.

Vladimir Vassilevsky
DSP and Mixed Signal Design Consultant
http://www.abvolt.com
 

neon

Oct 21, 2006
1,325
Joined
Oct 21, 2006
Messages
1,325
an old card might have old parts that are fine if they are connected as originaly designed Now enter a new card with much better speed capability and that causes problem because with greater speed it may see a slow parts transistion ringing on the treshold of level detection. the parts are logicaly the same except for speed.
 
J

Joel Koltner

Jan 1, 1970
0
Peter Dickerson said:
The SD Memory Card spec doesn't support cards > 2 GB.

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.")
 
J

JosephKK

Jan 1, 1970
0
Joel Koltner [email protected] posted to
sci.electronics.design:
Peter Dickerson said:
The SD Memory Card spec doesn't support cards > 2 GB.

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.")

Think about it a bit. You are requiring that card readers be
prescient
 
K

karthikbalaguru

Jan 1, 1970
0
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!!

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
 
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!!

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?
 
Top