SDIO硬件设计

1、上拉电阻

网上有很多观点认为硬件设计上一定要在 SDIO 的所有信号上加上拉电阻。根据当前对 SDIO 协议的理解,个人见解如下

首先上拉电阻的作用仅仅是使 SDIO 空闲状态,一些 IO 关闭输出的情况下,使 IO 信号保持为高电平。避免高阻态,电平不确定,导致主从机任意一方可能采样到错误的数据或信号,从而影响 SDIO 工作。SDIO 传输数据过程,IO 是一定处于输出态的,所以上拉强度不会影响 SDIO 通信(外部上拉电阻阻值常见选用10KΩ、47KΩ)。但不建议使用过大的阻值,太弱的上拉强度容易受干扰信号影响,无法保持 IO 为高电平。

CLK:CLK信号是由主机输出驱动的,IO 并不会像其他信号那样会存在三态切换,所以 CLK 一定是不需要上拉电阻的(无论SDIO主从机双方是否能使能内部上拉)。另外即使主机在不输出时钟信号的情况下会将 CLK IO 配置为高阻态,这也不需要上拉。因为 SDIO 的数据传输需要结合 CMD 信号生成一个开始时序,从机才会开始接收数据。

CMD:主机端一定要具备上拉电阻。如果主机可以使能内部上拉,则硬件上无需单独增加上拉电阻。

D0-D3:在主从机直接固定设计在 PCBA 板的情况下,只要主机或者从机一方可以使能内部上拉,则硬件上无需单独增加上拉电阻,反之硬件上应当具备上拉电阻;如果主从机并不固定连接,从机是热拔插的,则主机端设计,只有主机不具备内部上拉的情况下,硬件才需要外部上拉电阻。

CD:在支持热拔插的设计场景下,为了方便检查卡插入,会有个CD信号。比较常见的是,卡槽本身单独提供了一个 CD pin 脚,在卡插入的情况下,会与地导通拉低。这种情况下,主机内部上拉或硬件外部上拉有一个即可。另外一种比较特殊的用法,在 SDIO 主机 IO 不够用或者卡槽本身没有 CD pin 信号的情况下,复用 D3 用作 CD 信号,软件处理起来会更复杂一些,且要求从机设备使能内部上拉(TF卡/SD卡是具备的):首先软件上如果主机端有使能内部上拉,应该特别注意关闭;主机端 D3 信号硬件设计上不需要上拉电阻,使用 470KΩ 下拉电阻连接。在卡未插入情况下,D3 为低电平;卡插入且未执行 SDIO 传输操作状态下,D3 为高电平。

2、预留串联电阻

在 PCB 走线设计不太好的情况下,信号可能产生过冲、振铃,可能导致采样错误,通常每个信号串联 22Ω 或 33Ω 的电阻。

3、PCB 走线

SDIO 时钟频率并不高(通常几十 MHz),所以并不需要特别刻意要求等长走线。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇