找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 41378|回复: 122

【11.02】我家云硬盘供电的三个BUG(掉盘的主要元凶)

 火.. [复制链接]
本帖最后由 flippy 于 2019-11-2 11:13 编辑

【关贴结论】我家云掉盘三大原因:
1. 供电部分有BUG(硬改可以解决)
2. 不支持硬盘休眠(修改内核启动参数,或是加入各种定时处理可以解决)
3. 不支持UAS协议(用软件方法可以解决,我自己的内核就没有编译uas驱动,因此不存在该问题)

没看到我的贴,或是不信任我的结论,那是你们的损失,不是我的损失,再见!



[11.02] 700g读写测试做完,共计1400g读写不掉盘,另外经过一整夜,硬盘没有休眠,读写文件秒成功,内核无任何报错

忘了说明:操作系统是Armbian 5.98, 内核是我自己编译的5.3.8, dtb文件也是自己改的。
重启后也不掉盘,16秒启动完成,附dmesg图:

dts文件也加入了各组电压,现在gpio生效了,1欧电阻可以拆掉了



[11.01] 正在做一些测试:
常规的读写,不掉盘, 休眠或睡眠后唤醒,会掉盘(如同楼下一位网友说的),所以只能禁用硬盘休眠了
禁用硬盘休眠的办法,从国外网站找到一种,适合armbian:
在/boot/armbianEnv.txt中,增加一行:
  1. extraargs=usbcore.autosuspend=-1
复制代码
我也是刚查到这个,已经加进去了,需要时间验证。


我用的常规读写测试脚本:
  1. #!/bin/bash

  2. i=1
  3. while [ $i -le 700 ];do
  4.         echo "$i"
  5.         dd if=/dev/zero of=test$i.dd bs=1M count=1024 oflag=direct,nonblock
  6.         dd if=test$i.dd of=/dev/null bs=1M iflag=direct,nonblock
  7.         i=$((i+1))
  8. done

  9. rm -rf test*.dd
复制代码
预计读写各700G,目前已经完成了读和写各135G, 一直正常,速度也很稳定。


先出结论吧,后面再说原因:
电路设计上的3个BUG造成了混乱的结果,电子开关到底是开还是关,根本说不准,APM4953有时会处于半导通状态,或是内阻较高的状态。造成输出端电压不稳,所以有的时候掉盘有的时候不掉盘

BUG1:原厂电路设计是两个反相器驱动PMOS,高电平有效,但PMOS是需要低电平有效的,本来不应该导通,但由于BUG2的存在,掩盖了BUG1
BUG2:  PMOS管APM4953的栅极漏电比较大,又采用了大阻值的g极电阻,因此即使驱动端是高电平,也能歪打正着的导通。
BUG3:第一级反相器并非工作在开关状态,而是处于线性放大状态,这也是造成供电不稳定的原因之一(放大了电源的纹波,直接影响第二级的反相器)
补充:如果有正确的dtb文件,可以由gpio导通第2只三极管,能改善APM4953的工作状态(掩盖BUG1和BUG2),但BUG3仍然存在.所以结论就是即使dtb的问题解决了也必须进行电路改造

解决方案有两种:
1. 去掉APM4953芯片,短接1脚与7、8脚, 短接3脚与5、6脚,这个方案最简单,缺点就是不太美观,而且开机时会对硬盘造成一定的冲击。
2. 改造电路

先看结果图:


对比原图:


两图区别:


PCB走线图示(给某些看不懂电路图的人参考)图中同一种颜色的线指向的焊点都是相连的


电路原理:
原电路(强行把智商提高到厂家设计师的水平才能勉强看懂)


图中R3上端的未知引脚应该是某个GPIO引脚,原设计可能是用这个引脚来导通Q2的(高电平有效),但实测一直是低电平,接近0v,GPIO无效,是因为目前没有我家云专用的 dtb,用的是Rock64的dtb


下面分析原电路为何有问题:
1. 电路结构是PMOS电子开关,有一定的延时(具体延多少时间不知道,也懒得计算了)
2. PMOS电子开关是低电平有效,也就是G极电压低时开关导通,G极电压高时开关关闭
3. 原电路用了两个三极管,两级反相,结果相当于没反相,因此上电以后G极电压是高的(BUG1), 按此电路来看,上电以后开关是永远不导通的,除非Q1的c极断开,并把Q2的b极(依靠GPIO引脚)拉高才能导通。
     问题来了:为何G极电压为高,开关仍然导通呢?
     实际测试:R5(100K)电阻上大约有6.5V的压降,导致vg对地电压大致在5.3V左右,因此vgs(12v)= 5.3 - 12 = -6.7v,可以导通,但另一路vgs(5V)只有0.xv, 为何也能导通感到很奇怪,但事实上两路都是导通的,只能归结为器件本身的特点吧。

     理论上学习过,MOS管输入阻抗是兆欧级别的,可视为无穷大,因此R5上不应该有压降才对(换了IRF9358后证实了此理论,换上9358后,R5压降为0, vgs(12v)为0, vgs(5V)为+7v, 开关不导通。因此说明APM4953本身G极有漏电,才歪打正着把开关给导通了!)这是BUG2,  APM4953的G极漏电电流大约是 6.5v /100k = 65uA
    这种BUG式的导通是有缺陷的,因为g极电压未拉低到0v,所以vgs不够大,即使导通了内阻也是比较大的。实际测试在硬盘读写过程中,5v电压一直有比较大的波动,我这台算是好的,即使波动也能保持在5v以上。
   

4. 原电路的R1(15K),R2(1K),给Q1的b极分压,实测电压vbe大约是0.52v,未达到饱和导通条件(饱和导通时,vbe应该有0.65v左右),所以这又是一个BUG(BUG3),这种设计一般是用在线性放大电路的,而开关电路要么开要么关,这种半开半关的是什么路数?
综上所述,电路设计上的3个BUG造成了混乱的结果,电子开关到底是开还是关,根本说不准,APM4953有时会处于半导通状态,或是内阻较高的状态。造成输出端电压不稳,所以有的时候掉盘有的时候不掉盘

改造后的电路:

改造原理:
1. 两级反相改成一级反相,简单明了
2. 去掉分压电阻R2(1K),让Q2能彻底导通
3. PMOS管换成IRF9358,性能优良

最后,关于电路图中的R3另一端的未知引脚,改造后由于是常通,所以用不到了,10K电阻保留没有副作用。

补充:原电路下,硬盘在读写过程中,5v电压是有波动的,波动幅度大约0.2v左右(2.5寸硬盘,没用到12v),改造之后,波动幅度0.02v左右

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

评分

参与人数 5恩山币 +6 收起 理由
xun*** + 1 感谢你的分享,无论怎样,你都是最无私的人.
Di*** + 1 几亿网民,我们俩竟然神奇的在恩山相遇了!来,1分也是分!
czy*** + 1 风清云淡、飘逸悠然……极爽!
to*** + 1 感谢你的分享,无论怎样,你都是最无私的人!来,说说,你E盘上还有啥一起给我吧!
age*** + 2 风清云淡、飘逸悠然……极爽!

查看全部评分

我的恩山、我的无线 The best wifi forum is right here.
为什么要换成irf9358

点评

不换也可以,但irf9358的性能比apm4953高两倍,可以自己去查pdf.  详情 回复 发表于 2019-10-31 22:43
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
jiguangcarl 发表于 2019-10-31 22:38
为什么要换成irf9358

不换也可以,但irf9358的性能比apm4953高两倍,可以自己去查pdf.

点评

电路图看明白了谢谢。不过掉盘到底指的什么现象?我刷的说是不掉盘的固件,一次拷200多g的文件没有问题。但是系统不熟悉,aria2显示 未连接 不能用, bt下载器下载路径设置后不管用, docker控制器账号密码不知道无  详情 回复 发表于 2019-11-1 03:50
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

技术活,路过帮顶国。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

能分析下原电路掉盘原因吗
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

摩拜大师
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

我只记得大学模电考了59分!

点评

你说的很对,我赞同你的说法。: 5.0
你说的很对,我赞同你的说法。: 5
  发表于 2020-3-4 23:03
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

来自手机 | 显示全部楼层
电路分析的很好,但是这只能解决硬盘电源问题,方案一的短接mos和飞线电源是一个效果,实测即使飞线5v和12v到硬盘,一样掉盘

点评

那还有第二招,加电容,在12v和5v的mlcc电容上并联固态电容  详情 回复 发表于 2019-10-31 23:17
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
Mrmay 发表于 2019-10-31 23:15
电路分析的很好,但是这只能解决硬盘电源问题,方案一的短接mos和飞线电源是一个效果,实测即使飞线5v和12v ...

那还有第二招,加电容,在12v和5v的mlcc电容上并联固态电容
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

改造后还会掉盘吗?

点评

还在测试中,暂时没掉,过几天可能有结果。  详情 回复 发表于 2019-10-31 23:20
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
yehgl 发表于 2019-10-31 23:18
改造后还会掉盘吗?

还在测试中,暂时没掉,过几天可能有结果。

点评

hdparm -y休眠 然后唤醒多试几次指定扛不住,不知道你刷的什么系统,开硬盘休眠试试,过段时间sda会成sdb  详情 回复 发表于 2019-10-31 23:24
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

来自手机 | 显示全部楼层
flippy 发表于 2019-10-31 23:20
还在测试中,暂时没掉,过几天可能有结果。

hdparm -y休眠 然后唤醒多试几次指定扛不住,不知道你刷的什么系统,开硬盘休眠试试,过段时间sda会成sdb

点评

好像是这样的 我用了原装3A 也用了中央供电的 都会出现sda变sdb了 要重启才行  发表于 2019-11-10 13:02
经过上网搜索,尚不确定是软件原因,有人是电源不稳定导致的,我后面会加上固态电容以及更换电源适配器再测试。  详情 回复 发表于 2019-11-1 00:02
嗯,确实出现了你说的情况,应该是内核驱动的问题  详情 回复 发表于 2019-10-31 23:44
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

本帖最后由 cfanzp 于 2019-11-1 00:10 编辑

那个10K是接去gpio的,用来控制硬盘上电的,论坛上有个大佬分析出了那个gpio的状态,包括硬盘上电,红led,蓝led,风扇pwm。据说短接了硬盘mos还是会掉盘,掉盘的原因是USB > SATA的转接芯片在linux下驱动不完善导致的,去掉那个芯片换成通用性比较好的sata桥就能完美解决。强行短接mos后会导致我家云硬盘没法进入休眠状态,硬盘会一直转。  我家云硬盘电源设计是给低功耗3.5硬盘用的,你接2.5硬盘只用5V电流稍大,不知道会出问题。还是建议用低转速的3.5硬盘,电机驱动会用12V,两路均衡一下,减轻DC-DC负担。   不过看参数确实irf9358比apm4953好很多,手头上有现成9358确实可以换上硬盘电源状态应该会更好。   

点评

短接后仍可以休眠  详情 回复 发表于 2019-10-31 23:46
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
Mrmay 发表于 2019-10-31 23:24
hdparm -y休眠 然后唤醒多试几次指定扛不住,不知道你刷的什么系统,开硬盘休眠试试,过段时间sda会成sdb

嗯,确实出现了你说的情况,应该是内核驱动的问题
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
cfanzp 发表于 2019-10-31 23:39
那个10K是接去gpio的,用来控制硬盘上电的,论坛上有个大佬分析出了那个gpio的状态,包括硬盘上电,红led, ...

短接后仍可以休眠
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-4-27 14:42

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

快速回复 返回顶部 返回列表