打印

关于对U盘读取的方案,求助

[复制链接]
2309|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
startt|  楼主 | 2012-9-13 20:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
手头上的项目,需要记录数据,现在初步使用U盘来存储。因此系统USB为HOST方式。以前没做过相关的,这几天了解一下,USB协议好麻烦,还要了解文件系统。
在想是不是有芯片可以完成USB协议,文件系统的功能。单片机只需要发送命令来完成对U盘的读写。
找了很久,就看到国内沁恒有这种芯片,但是国产的芯片不大让人放心。因此是否大家可推荐下有同样功能的芯片呢。谢谢

相关帖子

沙发
zzu65| | 2012-9-14 19:59 | 只看该作者
实现u盘功能的芯片很多,只要具备usb接口和flash接口就可以了,但应该达不到所要求的直接读写u盘里面数据的功能,还需要写一些代码,可以买个开发板,参考里面的示例代码学习

使用特权

评论回复
板凳
Auir| | 2012-9-17 12:19 | 只看该作者
本帖最后由 Auir 于 2012-9-17 12:21 编辑

用这颗IC,协议都不用你做了,都做好了,别人为了做好这个协议,花了一个team,一年多的时间。

这个板子不仅可以实现 手机通过wifi方式控制音箱播放音频,
还可以实现读取SD卡或U盘中的文件播放音频,或者显示在lcd上,不过暂时未将LCD模块焊上来。



Alphascale提供完整的 前后台开发SDK,并提供linux内核的相关完整驱动。
客户仅需调用几个函数,即可实现SD卡读取文件,U盘读取文件,lcd显示 等功能。
范例如下

//-------------------------------------------------------
14.4 usb-host模块使用举例
启动USB Host模块主要调用三个函数接口,分别为\Asap1826T\Disk\Fat32.c文件中的Fat32Init()函数以及\Asap1826T\usbhost\Asap1826T_usb.c文件中的Asap1826_UsbHostIrqInit()函数和Asap1826_UsbHostprocess()函数。依次调用这三个函数,Fat32Init函数初始化文件系统,然后调用Asap1826_UsbHostIrqInit函数初始化USB Host 中断,其中在侦测到有USB设备连接上时,标记信号量g_usbconnect。Asap1826_UsbHostprocess则进行Usb Host的处理,根据信号量的值进行相应操作,可以在其中添加用户进程。
在程序中代码操作如下所示:
Fat32Init();
printf("running...\n");
Asap1826_UsbHostIrqInit();

while(1)         /* 程序在此死循环 可以添加用户例程*/
{
  Asap1826_UsbHostprocess();
}
… …
对于配置USB OTG的操作在Asap1826_UsbHostIrqInit函数中,根据具体情况进行相应的设置。代码操作如下所示:
int Asap1826_UsbHostIrqInit()
{
SetPinMux(3, 17, 3);
ClearGpio(3, 17);//USB OTG ID

SetPinMux(3, 18, 3);
ClearGpio(3, 18);//模拟开关
… …
return 0;
}
//-------------------------------------------------------

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

41

帖子

1

粉丝