完成SL811HS 主控

整个SL811HS模块是微雪电子公司的,模块没有任何问题。CPU用的是fpga,都是老大用IO口进行配置,自己不了解。用SL811HS来挂载U盘的。

开始做,心急,没有想好怎么做,也碰到很多问题。

首先,底层io口模拟读写时序搞了半天,然后就去测中断,发现中断不稳定。好吧,那放弃了。

然后开始进行枚举。一直超时,查网上资料,一直以为是时钟源的问题,换了各种时钟源,调试了快半个月,还是不行。吐血中,去查看usb协议才发现没有sof。最后才发现是写寄存器的时候有错误,不懂为什么他竟然能够连续写。各种不懂,改过来之后,还是不行,各种找,最后才发现原来源代码中的CPU是单片机,大端模式,fapa是小端模式。然后就发现枚举成功。枚举成功之后还是发现各种问题。

1、U盘兼容性,网上各种资料,然后才进行修改。首先我对NAK进行多次尝试,没有一检测到NAK就返回错误,而是让他进行多次尝试,最大的尝试我看过有的U盘竟然要达到20000次,蛋疼死了。对了,还有的时候会返回0x42,也就是既有NAK,也有error,我也把他当成nak处理了,好像是没有问题。还有对timeout,我也是采取同样的方法进行多次尝试。我认为这种是有的情况下U盘响应速度过慢,导致超时了。还有就是对stall进行处理。这个是要去看协议的。在usbmassbulk_10.pdf这个文档里面有讲,不懂可以问我。虽然我也不是特别了解。

2、加上文件系统出现的问题。加上文件系统之后发送写一个文件会乱七八糟。最后经过各种查找,发现是连续读寄存器出现问题,就是时序有问题。这个是我最蛋疼的问题。我各种修改软件都没有效果。到最后重新焊接下连接才可以,到现在都不懂是为什么。

还有其他因为编译器而出现的不同情况而导致的问题,就不详细讲解了。

还有就是速度问题。因为批量传输不需要帧同步,所以可以不用帧同步的。

现在我测试的U盘写速度有的可以达到500KB,读可以达到600KB。兼容性还是不错的,至少我在测试我手上的13个U盘都没有兼容性问题。8G的U盘都没有任何问题。好吧,我的QQ是1043865531,大家有问题可以问我哦。但是我有的时候可能没在,就不好意思了。

我在做这个的时候感觉很多时候很无助,因为我压根就对USB协议不懂,拿到这个芯片出现问题我真的是查了半个多月还没有半点头绪的。怎么也没有想到是那个问题。我也在网上问了很多人,但是都没有人回答我。我当时都快想要放弃了,但是我最后还是坚持把这个弄好。毕竟不能轻易放弃!!!!!!!做完这种感觉确实不难,但是用了我2个月的时间。哎,菜鸟就是很容易把简单的东西做成复杂的东西,而且还喜欢胡思乱想。

我希望大家在做总结的时候可以留下自己的联系QQ,这样大家就可以互相讨论,互相帮助了。虽然这样可能会占用大家一点时间,但是这可以给很多人帮助。

好吧,谢谢了。。接下去我会用这个芯片做成设备模式,希望大家能帮助我这个菜鸟。

你可能感兴趣的:(SL811HS,SL811HS)