SD Card uSDHC CD_B Pin Problem

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

SD Card uSDHC CD_B Pin Problem

跳至解决方案
2,423 次查看
atillametetured
Contributor V

Hello,

On our custom board (imx6q) we skipped the fact that when not used CD_B pin should be grounded. We have no means to alter this pin physically. On this port we have SD Card connector witch CMD, CLK and D[0..3]. 

Now, I wish to ask, am I doomed? Can I still somehow force controller belive that there is a card inserted even though we left the designated pin (CD_B) floating?

I greatly appreciate any help on this subject since this is very critical for booting of our custom board. Please someone come up with a solution.

Thanks in advance,

Mete

标签 (2)
1 解答
2,141 次查看
gusarambula
NXP TechSupport
NXP TechSupport

Hello Atilla Mete Turedi,

Yes, either option should theoretically work. The main problem with the internal pull down option is that it may not be enough to set state so maybe you can do a couple of tests.

The SW override option should work but please keep in mind that you would need to do the card initialization with the card inserted in order for it to work correctly. In this initialization speed and other variables are determined. This is important especially if you plan supporting different cards. You would need to reset the module or force the initialization before reading the card.

Regards,

在原帖中查看解决方案

5 回复数
2,140 次查看
atillametetured
Contributor V

Going around the ref manual a bit, I bumped into a probable solution. Can I set CDSS = 1 and CDTL = 1 of uSDHCx_PROT_CTRL register to make iMX believe that there is a card inserted all the time.

Another solution I can come up with is, can I perhaps enable the PD on CD_B pin and fake card existence?

Help please. 

2,142 次查看
gusarambula
NXP TechSupport
NXP TechSupport

Hello Atilla Mete Turedi,

Yes, either option should theoretically work. The main problem with the internal pull down option is that it may not be enough to set state so maybe you can do a couple of tests.

The SW override option should work but please keep in mind that you would need to do the card initialization with the card inserted in order for it to work correctly. In this initialization speed and other variables are determined. This is important especially if you plan supporting different cards. You would need to reset the module or force the initialization before reading the card.

Regards,

2,141 次查看
atillametetured
Contributor V

Hello Gusarambula,

Thanks for your rapid reply. So you advise the option with the uSDHCx_PROT_CTRL manipulation is the better of two, am I right? 

You said I need to init the card before it can work properly. So lets assume each time the cpu boots the card is already inserted and at each boot I perform card initialization and do not remove/insert any other card as long as the processor is not reset. Do you see any problems with this?

I think why you mention this might be a problem is I never get the interrupt from CD_B so I never realize card removal or insertion which is obvious. But the way I described it, I never need to sense any removals or insertions. And I can just init whatever card is present as a regular task of the boot process and as long as the card inserted doesnt chage during run time, etc not hot swapped, I avoid problems. Can you confirm this?

Thanks in advance,

Mete

2,141 次查看
atillametetured
Contributor V

Dear Gusarambula,

This helps. Thank you very much.

Regards

0 项奖励
回复
2,141 次查看
gusarambula
NXP TechSupport
NXP TechSupport

Hello Atilla Mete Turedi,

Correct, if you do not need to remove the SD card after booting you may do as you suggest and you shouldn’t have issues that I’m aware of, although you wouldn’t have the full functionality of being able to replace the SD card while the board is running.

Regards,