打印

能否以ARM或者DSP作为主机,对其他USB从设备进行操作?

[复制链接]
2909|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
赵小木2012|  楼主 | 2011-5-8 18:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
赵小木2012|  楼主 | 2011-5-8 18:56 | 只看该作者
自己顶一个~~

使用特权

评论回复
板凳
dqyubsh| | 2011-5-8 19:55 | 只看该作者
回答是肯定可以。一个是外设,一个相当于主机,二者一定有办法通讯,否则就是一堆废铁。

回到简单的DOS时代,让一个并口针式打印机打印字符,需要微机上写个程序,向打印机发送控制命令和数据。

目前的USB,相当于那条并行打印电缆。但是,它比并行电缆复杂多了,多了USB协议。这个协议分了几层(物理层、链路层、应用层等等,记不太清了)。

假定DSP和ARM已经有了USB设备端口,并且已经驱动起来了(哪有这么简单!),那你要做的就是应用层的软件。

实际情况往往是,这些芯片对USB的支持也是磕磕绊绊的,也是低层次的,也是很少有人掌握的。ARM还好,有个WINCE或者LINUX操作系统撑着,有了一部分或者全部的USB支持。DSP就惨了,外扩的USB芯片支持的都不太理想,又没有像样的操作系统,为了支持USB外设,你得做很多很多工作,而且这些工作可能是没有资料或者乏有资料的。

但是,确实是可以。哈哈。

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
赵小木2012 + 1 thanks
地板
赵小木2012|  楼主 | 2011-5-8 20:18 | 只看该作者
:handshake 感谢dqyubsh的回复,之前整个人都是糊的,现在终于有点明白了。
不知道为虾米网上关于这方面的资料会这么少呢,是不是这个开发本身没有太多意义?但是现在越来越多的USB设备出现以及嵌入式的应用也普遍了,应该是有需求的吧?

使用特权

评论回复
5
赵小木2012|  楼主 | 2011-5-8 20:55 | 只看该作者
继续顶~

使用特权

评论回复
6
dqyubsh| | 2011-5-8 22:05 | 只看该作者
这个领域本来就是小众产品,最常见的情形是把USB外设接在WINDOWS系统上,很少有人把它接在便携设备上。

就拿最常见的CY7C68013来说,用它做的外设可能不少,但接在ARM上的很少。厂家提供了WINDOWS下的驱动程序以及应用层的代码,但是没有WINCE和LINUX平台的代码。官网上说,你想接WINCE,去找某某某,这人会,但厂家不支持。

同样的情况发生在DSP上就更惨了。TI有些DSP芯片自带USB接口,但驱动源代码只有买了老外的评估板才给。国内合众达,他们的评估板一般只提供一个USB的库(LIB),连源代码都木有。其它国内小公司都是抄袭合众达的评估板,把它的库直接拷贝过来。这不是扯么,谁真正研究它了。。。

TI的5509有USB,可它的代码确确实实太少了,资料也太少。厂家不给代码,让用户怎么弄!只好不用它。

在这种情形下,想接USB外设,除了要了解外设的命令集以外,还要有芯片厂家或者驱动开发人员的支持,否则,USB外设是搞不定的,太麻烦了。

使用特权

评论回复
7
lelee007| | 2011-5-9 10:55 | 只看该作者
开神马玩笑咧?现在便携设备能接USB打印机的还少么?哈哈,看来LS已经OUT啦,模模糊糊俺还没有怎么OUT

现在好多P4都支持OTG啦,更别说一些专用的便携设备了

LZ弄清楚USB怎么用,OTG没出现之前是分为DEVICE和HOST,有了OTG后,host和device就作一起了

ARM上好多都是带有host的,要支持USB打印的话到不是什么难事,移植以下host driver和usb core就OK啦,不过要把linux里边的usb core移植到裸奔系统里边来还是比较费事滴,简单的做法就是跑个OS,linux现在对USB的支持还是灰常灰常到位的,至于CE和其他的一些,俺不懂,就不乱喷了

DSP上带HOST的不是很多,当然,这里说的DSP是纯DSP哈,像OMAP这样带ARM的DSP就不提了,那个里边基本都带HOST,而且HOST是由ARM控制,不是直接由DSP来控制,很多DSP要用到USB HOST的话,还得用外置IC来括,但是DSP+HOST的方式基本无异于ARM裸奔上跑USB协议栈,比较费事

使用特权

评论回复
8
xwj| | 2011-5-9 11:45 | 只看该作者
芯片有OTG、HOST是一回事,但你能不能用起来、别人会用而你会不会用又是另一回事。

如果是跑LINUX,很多东西可以找到驱动;如果是WINCE,那就很难说了,官方支持的驱动很少的,很多东西都只有个别型号(或部分型号)有支持。

至于裸奔,可以当然可以,但难度一般都不小。

使用特权

评论回复
9
cecwxf| | 2011-5-9 19:33 | 只看该作者
将要学习USB

使用特权

评论回复
10
antlantic| | 2011-5-10 23:06 | 只看该作者
移植USB-HOST协议栈是难点, 所以能用现成的Linux/Windows是最好不过的。
要是这个USB主机只是处理单一类型USB设备,那就裸奔好了。

使用特权

评论回复
11
赵小木2012|  楼主 | 2011-5-15 22:03 | 只看该作者
对象是确类型的USB设备,我准备用DSP外加一个USB扩展芯片来做,这种方案应该是可行的吧??~~ 10# antlantic

使用特权

评论回复
12
cocoasuny| | 2011-11-21 23:04 | 只看该作者
顶一个,刚开始接触到USB开发,还是菜农阶段!

使用特权

评论回复
13
liangziusb| | 2011-11-22 09:00 | 只看该作者
其它,正确的选择就是选一个带OTG功能的芯片,接下来就是看数据手册,编程指南的东西了。

使用特权

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

本版积分规则

0

主题

14

帖子

1

粉丝