SD Card uSDHC CD_B Pin Problem

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

SD Card uSDHC CD_B Pin Problem

ソリューションへジャンプ
1,240件の閲覧回数
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 解決策
958件の閲覧回数
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 返答(返信)
957件の閲覧回数
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. 

959件の閲覧回数
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,

958件の閲覧回数
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

958件の閲覧回数
atillametetured
Contributor V

Dear Gusarambula,

This helps. Thank you very much.

Regards

0 件の賞賛
958件の閲覧回数
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,