打印

一些USB的初级问题

[复制链接]
827|17
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hanwe|  楼主 | 2015-3-27 22:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我对USB的认识属于未入门级,也就是不明白,而我现在要做一个USB键盘仿真。
买了本书,看了两天,晕!
我有几个入门级问题,希望高手们赐教:
1. 如果我有USB芯片,也就是书中提到的USB微控制器,在通讯过程中,它可以帮助我完成哪些工作?USB通讯协议要求的数据包,需要我额外编程实现数据打包吗?
2. 那本书上讲的是Cypress的USB芯片,好像它的输入输出线叫D+和D-,我怎么用CYASM对它们进行读写操作?
沙发
hanwe|  楼主 | 2015-3-27 22:30 | 只看该作者
还有, 我希望达到的效果是:给USB芯片串行输入字符的ASCII码,它给我模拟键盘输出。哪位大侠能给我一些建议?

使用特权

评论回复
板凳
yufe| | 2015-3-27 22:32 | 只看该作者
先看看USB的SPEC
然后看看芯片的DATA   SHEETS

使用特权

评论回复
地板
llia| | 2015-3-27 22:33 | 只看该作者
你看一下datasheet吧,应该不需要编程实现数据包

使用特权

评论回复
5
wangpe| | 2015-3-27 22:34 | 只看该作者
对,再看看芯片的一些应用程序(Cypress网站下有)
就可以开始WORK了!

使用特权

评论回复
6
langgq| | 2015-3-27 22:35 | 只看该作者
其实搞USB   FIRMWARE还是很容易的

使用特权

评论回复
7
zhuww| | 2015-3-27 22:36 | 只看该作者
hanwe 发表于 2015-3-27 22:30
还有, 我希望达到的效果是:给USB芯片串行输入字符的ASCII码,它给我模拟键盘输出。哪位大侠能给我一些建 ...

这个没什么难的、你只要用USB四种转送方式中的interrupt和control传送、再买一个keyboard实验、就OK了

使用特权

评论回复
8
zhanglli| | 2015-3-27 22:36 | 只看该作者
首先要明白USB的spec

使用特权

评论回复
9
lium| | 2015-3-27 22:37 | 只看该作者
不初级了

使用特权

评论回复
10
guoyt| | 2015-3-27 22:40 | 只看该作者
CY的芯片驱动程序只要安装就好了,你说的通信协议都是在驱动程序中完成的,只需要编编固件程序和VC程序就可以了

使用特权

评论回复
11
yufe| | 2015-3-27 22:42 | 只看该作者
USB协议完全都是USBcontroller搞定的,包括物理连接的建立,总线的仲裁,数据编码,其实usb开发很大一部分工作是编程的问题,硬件很简单,几根线连起来,高速的话搞定板子EMC和EMI,通讯肯定就可以啦

使用特权

评论回复
12
llia| | 2015-3-27 22:43 | 只看该作者
固件编程就是单片机C语言,不怎么难,用VC编个界面也很容易。

使用特权

评论回复
13
wangpe| | 2015-3-27 22:46 | 只看该作者
给你推荐本书:USB2.0原来与工程开发 王诚儒 李英伟 还不错的

使用特权

评论回复
14
langgq| | 2015-3-27 22:46 | 只看该作者
我的理解:在固件程序中,你所做的工作有两个方面:
1,准备好你的设备描述符.
2,正确的把你的通讯数据传递给EPX端点缓存.
如果你做的是键盘的话,应该用的是控制型传输.利用EP1端点缓存就可以了.键盘数据的发送可使用中断传输.

使用特权

评论回复
15
wangzsa| | 2015-3-27 22:47 | 只看该作者
嗯,做过鼠标的,就是鼠标数据包的格式的定义。

使用特权

评论回复
16
zhuww| | 2015-3-27 22:48 | 只看该作者
然后你应用程序中需要把数据填入数据包。

使用特权

评论回复
17
hanwe|  楼主 | 2015-3-27 22:49 | 只看该作者
OK,我了解了,多谢大家

使用特权

评论回复
18
波越| | 2015-3-28 16:24 | 只看该作者
楼主的应用已经不初级了,包括了好多的问题,我是新手,希望能分享一你的学习过程。

使用特权

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

本版积分规则

979

主题

8749

帖子

4

粉丝