|
从同事手里接过一个项目,据反馈这个写不了8G的SD卡。我了解一下关于SD卡操作的类容,并对照盘古、原子的SD卡代码进行修改,后来发现果然是源代码中的问题,修改之后可以读写SD卡了。 但是高兴过早了,还有一个问题,在写数据时常发现写入的数据被分成好几个文件,且名字都不一样,但是里面的内容却是正确的。 我原来以为是SD卡供电不稳造成的,于是在SD卡供电的地方加了一个103的坦电容,想让电源稳定一点。 在测试时发现,中断里去写又发生问题了,文件又写成多个了!! 于是将SD卡写入部分放到主程序中去执行,调试时,SD卡写入没有问题,自己运行时,写入还是多个文件。 俺也是初学,那个叫揪心呀!! 先看图吧,也许就发现问题了。 原来的原理图
在其布线的时候,将电源先输送到了LCD上,请看这个PCB图。 PCB图
电源在L1那里输出给了LCD和SD卡,当然还有后面的STM32了(略)。 由于LCD是要不停地显示数据的,如果LCD在刷新的话,那么就有可能影响后面电路。 主要是,单步调试时,写入正常!!!这个时候没有刷新问题。 管它呢,反正俺是初学呢,先给输出搞一个大电容先!!! 由于是要稳定SD卡,所以,在输出的SD卡分支上,加上了一个大一点的坦电容,当时那个个头还挺大个的呢! 俺是这个处理的,请看图。 加电容
然后再测试,发现没有问题鸟!!! 一个电容,搞了老长时间了,悲剧的! 在这里没有使用到任何辅助工具,实在是被动得很。 不知道,有没有高手指点一下,如果遇到这种问题,一般从什么地方下手去处理,处理的一般步骤是什么个样子的呢? |
微信公众号
手机版
SOT23-5 封装。第 4 脚一般是加个 103 或 104 的电容对地。
第 5 脚是输出,没有接一个电容,就直接串了个电感。
这个 PCB 设计,还真是马马虎虎。
绿色箭头指向的地方,建议加上电容。
最左侧的:10uF。
其余:100nF。
U1用的是这个:XC9216-GE
谢谢指点,嘿嘿,俺接到这个时也不明白为什么非得那样搞哇。