51调用USB2.0实现高速传输
转自 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
 
warmonkey 作者
9年9个月前
1楼
【9127】是 i/n/t/e/r/f/a/c/e
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
ehco
9年9个月前
2楼
比D12神马的骚多了!赞一个!
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
wacke
9年9个月前
3楼
刚好去年玩过一段时间这个。
这个尺寸可以刚好装在塑料盒子里。
attachment icon NANDReader V001 sch.pdf 88.45KB PDF 35次下载 预览

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


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

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

warmonkey
学者 机友
文章
334
回复
6760
学术分
16
2008/10/11注册,1 天前活动

Cubesat

%7B%22isDisplay%22%3Atrue%7D
视频暂不能访问,请登录试试
仅供内部学术交流或培训使用,请先保存到本地。本内容不代表科创观点,未经原作者同意,请勿转载。
音频暂不能访问,请登录试试
文件下载
加载中...
{{errorInfo}}
{{downloadWarning}}
你在 {{downloadTime}} 下载过当前文件。
文件名称:{{resource.defaultFile.name}}
下载次数:{{resource.hits}}
上传用户:{{uploader.username}}
所需积分:{{costScores}},{{holdScores}}下载当前附件免费{{description}}
积分不足,去充值
文件已丢失

当前账号的附件下载数量限制如下:
时段 个数
{{f.startingTime}}点 - {{f.endTime}}点 {{f.fileCount}}
插入资源
全部
图片
视频
音频
附件
全部
未使用
已使用
正在上传
空空如也~
上传中..{{f.progress}}%
处理中..
上传失败,点击重试
等待中...
{{f.name}}
空空如也~
(视频){{r.oname}}
{{selectedResourcesId.indexOf(r.rid) + 1}}
处理中..
处理失败
插入表情
我的表情
共享表情
Emoji
上传
注意事项
最大尺寸100px,超过会被压缩。为保证效果,建议上传前自行处理。
建议上传自己DIY的表情,严禁上传侵权内容。
点击重试等待上传{{s.progress}}%处理中...已上传
空空如也~
草稿箱
加载中...
此处只插入正文,如果要使用草稿中的其余内容,请点击继续创作。
{{fromNow(d.toc)}}
{{getDraftInfo(d)}}
标题:{{d.t}}
内容:{{d.c}}
继续创作
删除插入插入
{{forum.displayName}}
{{forum.countThreads}}
篇文章,
{{forum.countPosts}}
条回复
{{forum.description || "暂无简介"}}
ID: {{user.uid}}
学术分隐藏
投诉或举报
加载中...
{{tip}}
请选择违规类型:
{{reason.type}}

空空如也

支持的图片格式:jpg, jpeg, png
插入公式
分享回复:{{shareId}}
加载中...
评论控制
加载中...
文号:{{pid}}
投诉或举报
加载中...
{{tip}}
请选择违规类型:
{{reason.type}}

空空如也

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

空空如也