51调用USB2.0实现高速传输
warmonkey2012/04/02电子技术 IP:广东
转自 XXXXXXXXXXXXXXXXXXXXXX/~s57uuu/uuusb/XXXXXXXXm  有修改

USB2.0带宽有480M,而且传输稳定,误码率低。
这是一个最简单的驱动程序,配合CY7C68013芯片,可以大大简化USB操作
目前已经实现了在linux下,调用libusb,进行异步fifo方式传输,大约有12MB/s的带宽

接线:
68013连接USB、晶振,EEPROM不需要接,但是I2C两条线必须上拉。
SLWR(26脚)=时钟线,PB0-7 PD0-7(2-10,12-20脚)=数据线,接到单片机
FIFOADR0、FIFOADR1、SLOE(34,35,37)接3.3V,SLCS悬空

数据发送程序(51):
send_16_bits:
CLR P3.0 ;拉低SLWR
MOV R1,P1 ;送数据到PB0-7
MOV R2,P2 ;送数据到PD0-7
SETB P3.0  ;拉高SLWR
;此时已经发送了2个字节到68013,发送数据超过512字节之后,电脑就能读取到数据了
;68013内部有1024字节的缓存
;SLWR频率不要超过6MHz
RETI

PC端程序:


---windows下也可以调用libusb,记得去掉#define LINUX 和deatch_np函数
---同步模式能用到2.0的全部带宽,以后做了再传
+40  科创币    科学人    2012/04/02 牛!
+200  科创币    ry7740kptv    2012/04/02 很好的方案!
+200  科创币    ehco    2012/04/02 比D12神马的骚多了!赞一个!
+200  科创币    我说要有光    2012/04/02 2.0
+50  科创币    caoyuan9642    2012/04/03 看起来很高级~
+50  科创币    jrcsh    2012/04/03 高质量发帖
+50  科创币    拔刀斋    2012/04/05 USB编程从此易用
+20  科创币    celeron533    2012/04/22 高质量发帖
来自:电子信息 / 电子技术
11
 
2
已屏蔽 原因:{{ notice.reason }}已屏蔽
{{notice.noticeContent}}
~~空空如也
warmonkey 作者
12年9个月前 IP:未同步
382811
【9127】是 i/n/t/e/r/f/a/c/e
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
ehco
12年9个月前 IP:未同步
382856
比D12神马的骚多了!赞一个!
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
wacke
12年9个月前 IP:未同步
383695
刚好去年玩过一段时间这个。
这个尺寸可以刚好装在塑料盒子里。
attachment icon NANDReader V001 sch.pdf 88.45KB PDF 61次下载 预览

attachment icon NANDReader V001.pdf 1.01MB PDF 57次下载 预览
未命名.jpg
+1
科创币
飞线大师
2012-04-06
刚好可以装到塑料盒里……多大的塑料盒
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
拔刀斋
12年9个月前 IP:未同步
383706
回 2楼(ehco) 的帖子
当年D12的驱动程序几乎要占满一片51单片机的资源才能塞下。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
okingkoom
12年9个月前 IP:未同步
389209
版主做了件大善事。
[s:319]
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
12年7个月前 IP:未同步
405981
正在利用CY7C68013做一个u盘之间数据传输的,刚好用到,不知如果利用ARM用于两个U盘传数据的话,速度能有多少?以前利用AVR和CH375实现U盘之间数据传输只能达到数K每秒。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
warmonkey作者
12年7个月前 IP:未同步
405986
最好用ARM本身的USB接口加上系统来实现
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
okingkoom
12年7个月前 IP:未同步
407117
回 7楼(warmonkey) 的帖子
最近在学习USB编程。手头上有个USB设备,网上查到了对应的GUID编号,请教怎么编写PC侧的软件?我只需要读取USB上传的数据。
若版主有空指导,不胜感激!
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
婺源寻芳
12年7个月前 IP:未同步
407123
Re:回 7楼(warmonkey) 的帖子
引用第8楼okingkoom于2012-06-14 04:52发表的 回 7楼(warmonkey) 的帖子 :
最近在学习USB编程。手头上有个USB设备,网上查到了对应的GUID编号,请教怎么编写PC侧的软件?我只需要读取USB上传的数据。
若版主有空指导,不胜感激!


usb编程比较麻烦些。如果只是抓数据,可以用usb串口线,串口编程简单多了。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
warmonkey作者
12年7个月前 IP:未同步
407143
回 8楼(okingkoom) 的帖子
libusb直接抓数据块就可以了
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论

想参与大家的讨论?现在就 登录 或者 注册

所属专业
上级专业
同级专业
warmonkey
学者 机友
文章
363
回复
7989
学术分
12
2008/10/11注册,5时59分前活动

Cubesat

主体类型:个人
所属领域:无
认证方式:手机号
IP归属地:未同步
文件下载
加载中...
{{errorInfo}}
{{downloadWarning}}
你在 {{downloadTime}} 下载过当前文件。
文件名称:{{resource.defaultFile.name}}
下载次数:{{resource.hits}}
上传用户:{{uploader.username}}
所需积分:{{costScores}},{{holdScores}}下载当前附件免费{{description}}
积分不足,去充值
文件已丢失

当前账号的附件下载数量限制如下:
时段 个数
{{f.startingTime}}点 - {{f.endTime}}点 {{f.fileCount}}
视频暂不能访问,请登录试试
仅供内部学术交流或培训使用,请先保存到本地。本内容不代表科创观点,未经原作者同意,请勿转载。
音频暂不能访问,请登录试试
支持的图片格式:jpg, jpeg, png
插入公式
评论控制
加载中...
文号:{{pid}}
投诉或举报
加载中...
{{tip}}
请选择违规类型:
{{reason.type}}

空空如也

加载中...
详情
详情
推送到专栏从专栏移除
设为匿名取消匿名
查看作者
回复
只看作者
加入收藏取消收藏
收藏
取消收藏
折叠回复
置顶取消置顶
评学术分
鼓励
设为精选取消精选
管理提醒
编辑
通过审核
评论控制
退修或删除
历史版本
违规记录
投诉或举报
加入黑名单移除黑名单
查看IP
{{format('YYYY/MM/DD HH:mm:ss', toc)}}