阅读:25940回复:75
学USB的一点心得
学USB的一点心得
作者:jifeng EMAIL: jifenghome@163.net jifenghome@tom.com 1目标:用USB取代232。 原因:1、提高速度,2、适应没有232的电脑笔记本,3、上档次。 2知识点: 1、USB协议,比起232协议难多了,需要数字通信的基础,难。 2、USB接口器件的硬件知识和编程,硬件易懂,编程难。 3、PC的驱动程序和编程。编驱动极难,厂商通常提供,仅特殊情况时要自己编。 编程用API函数,通常有VC的例子,较难。 3方案: 1、买世面上出售的232<=>USB线,>100RMB。好处是不用任何学习,但速度提高不多。 用的是一个USB-232的片子,软件是安装一个驱动,就会多出一个Com3来, 实际上也就是USB,然后你照操作普通串口的方式去操作它就很容易了。 2、用一个USB-232的芯片自己作,比如FTDI公司的FTDI232A。大量应用才有必要。 3、用其他的USB芯片,那么PC端的程序一定要改动,但是速度可以做得很高。 USB芯片分两类,一种内含MCU例如EZ―USB,另一种不含MCU例如PDIUSBD12。 后一种的开发费用低。线路板一般需要改动,单片机的程序一般也要改。 4我的方案: 将d12+89C52放在一个小线路板上,用以取代MAX232。好处是可以塞进现用的机箱 (^_^我的机箱大),并可以继续使用光藕隔离。原有线路板就不用改动了,单片机的程序也不用改 (我把串口速率提高为128000)。 PC那里用软件调用一个DLL(周立功公司作的,速度15KB/s), 仅仅四个函数,很简单的。速度(下行)达到8KB/s,够我用的。试验已经成功了,马上要去做板了。 ××谁想要的话告诉我,我可以顺便多作几个。你自己焊上元件就能用它当个试验板, 不过体积小,用起来不一定舒服。 5速度: 对于USB来说8KB/S的速度是很慢的,USB1.1版速度可达900KB/s。 但是对于89C52的串口来说,这已经很快了(如果是上行难度更大),如果不涉及到串口, 89C52(24MHZ)的通信速度至少可达80KB/s。想再快就要用其他的MCU,比如AVR的8515。 PC机那边要用API函数来作,或者干脆自己用API写一个DLL出来,这样以后使用 比较方便。 6价格: D12要20元,89C52要8元,两个晶振(6M、24M),几个小电阻,几个小电容, 一根USB线,一块板,合计大约50元,同时少用一个MAX232和串口线可以省去几元。 如果我当年把D12设计到我的大线路板上价格会更低一些,当然使用一个同MCU控制他的 的代码要增加4K。D12的价格较低且开发设备费低,所以我选它,但是它的PCB封装 在PROTEL里没有,要自己画。 7隔离: 我的方案最大的好处是隔离,因为用串口传输仅仅要两个光藕,同时小板上的 器件由USB供电,两板之间完全电气隔离。 8即插即用: 我的设计仍要用驱动,虽然仅仅安装一次,但仍不够酷。其实可以用HID技术, 来实现即插即用,速度可达64KB/S,USB键盘、USB鼠标就用的此技术。等我以后有空时, 自己写一个基于HID的DLL,用起来岂不很酷。 9难度: USB开发涉及的相关知识很多,所以难度较大。以我自己的D12开发为例, 需要数字通信,VC++6.0编程,89c51的C编程,API,多线程,等知识。 10工具: 1、一块 USB SMART 开发板 2、操作系统Windows 98以上 3、要求安装VC++ 6.0 和 DDK 4、89C52的编程器 5、Keil C或其他C编译器 11结论: 单纯使用USB技术不是很难,但需要广泛的知识和充足的时间,关键是要有数字通信的基础。 欢迎大家来信与我讨论USB技术,最后预祝大家早日在自己的产品里用上USB技术, 届时要将好消息告诉我吆。 |
|
沙发#
发布于:2003-04-27 22:39
不错,可以给ABC以不少指导。
|
|
|
板凳#
发布于:2003-05-01 10:31
前辈,您的帖子给了我很大的信心。因非典,我的毕设用的usb smarrt开发板一直买不到,有了前辈的足迹,就是黑夜的航标,晚辈有礼了!
|
|
|
地板#
发布于:2003-05-02 22:45
小弟现在已经是深切的体会到学懂学精一门知识(目前就是指弄懂驱动的机制以及自己做驱动 ;))真的是很难,但我同时也深受鼓舞,谢谢老大指点!我有动力了! :D
|
|
地下室#
发布于:2003-05-04 20:40
大虾,我做的usb也较酷,就是速度慢,有高招吗?
|
|
5楼#
发布于:2003-05-05 18:19
遥想当年,偶亦一USB懵懂少年,后购YANYANG开发板,始初通此道,后几番改良,换DDK驱动,固件以汇编加速,速度至400KB,今读老兄帖,同感颇多,忽忆苏芮歌曰:“因为路过你的路,因为苦过你的苦……”,路漫漫,与兄共勉。
|
|
|
6楼#
发布于:2003-05-05 20:51
我也要做PCI的驱动程序,高手也给我一份吧,非常感谢。
flyycs@eyou.com |
|
7楼#
发布于:2003-05-06 11:15
如果能再告诉我做USB的MODEM驱动还需要什么知识就好了啊。
目前有这么一个项目,没搞过驱动的我该怎么对付它啊! :( |
|
8楼#
发布于:2003-05-06 14:10
谢谢大家的厚爱!我可不是高手,仅仅是有点心的胡乱讲讲罢了。大家问我要板子,我也想给大家,但它是不能用Emill发给大家的呀。我也刚入此道不久,有些朋友的问题我也答不上来。但我想经过自身的努力,大家一定可以克服困难的。
\"usb smarrt开发板一直买不到\",不会吧,我可以给你一个图,你自己作。 |
|
9楼#
发布于:2003-05-07 13:24
好的 :P
|
|
10楼#
发布于:2003-05-09 11:22
楼上的朋友你们好:
开发d12接口板,怎么可以实现 与优盘的实时存储。 多多赐教。 |
|
11楼#
发布于:2003-05-09 21:00
说USB2.0速度能达到480Mbps,实际上能达到这个速度么?实际速度都是根那些因素有关呢?请教各位大虾
|
|
12楼#
发布于:2003-05-09 22:29
480mbps只是理论上的吧(12mbps×40??)我想实际上只能接近
这个速度。 楼顶那位兄弟能否介绍一下用d12作接口芯片时提高传输速度的 经验吗?我现在用d12+msp430,传输极限速度才100来kb/s,我想应该远不至此的,毕竟430是用8M晶振的,不知是不是pc端的程序不够 优化(驱动是用周立功评估板的驱动,应用程序自己开发的),请 各位高手指教一下!! :D |
|
13楼#
发布于:2003-05-15 12:03
一般达不到480 吧
|
|
14楼#
发布于:2003-05-15 19:10
理论上是425.984MB/S
|
|
15楼#
发布于:2003-05-15 23:33
不错?
|
|
16楼#
发布于:2003-05-16 10:18
说那么多都不到点子上,
检重要的技术细节说就行了‘ 何必如此罗嗦。 :P |
|
17楼#
发布于:2003-05-16 16:28
请教PDIUSBD12可以直接由串口转成USB吗?能不能给我发一份原理图?
|
|
18楼#
发布于:2003-05-18 19:58
能给我一份你的设计资料吗?非常感谢你了!我也想学习。
qinlong@vip.sina.com |
|
19楼#
发布于:2003-05-19 23:15
请教PDIUSBD12可以直接由串口转成USB吗?
答:我先用C52接受,然后用C52的串口发. 其实,D12还是用并口方式通信较好,我的做法其实没有发挥出他的速度. |
|
上一页
下一页