加载中
加载中
表情图片
评为精选
鼓励
加载中...
分享
加载中...
文件下载
加载中...
修改排序
加载中...
51调用USB2.0实现高速传输
warmonkey2012/04/02电子技术 IP:广东
转自 http://lea.hamradio.si/~s57uuu/uuusb/index.htm  有修改

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
新版本公告
~~空空如也
warmonkey 作者
13年0个月前 IP:未同步
382811
【9127】是 i/n/t/e/r/f/a/c/e
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
ehco
13年0个月前 IP:未同步
382856
比D12神马的骚多了!赞一个!
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
wacke
13年0个月前 IP:未同步
383695
刚好去年玩过一段时间这个。
这个尺寸可以刚好装在塑料盒子里。
attachment icon NANDReader V001 sch.pdf 88.45KB PDF 67次下载 预览

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


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

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

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

Cubesat

主体类型:个人
所属领域:无
认证方式:手机号
IP归属地:未同步
插入公式
评论控制
加载中...
文号:{{pid}}
投诉或举报
加载中...
{{tip}}
请选择违规类型:
{{reason.type}}

空空如也

笔记
{{note.content}}
{{n.user.username}}
{{fromNow(n.toc)}} {{n.status === noteStatus.disabled ? "已屏蔽" : ""}} {{n.status === noteStatus.unknown ? "正在审核" : ""}} {{n.status === noteStatus.deleted ? '已删除' : ''}}
  • 编辑
  • 删除
  • {{n.status === 'disabled' ? "解除屏蔽" : "屏蔽" }}
我也是有底线的