基于 Linux 的 USB 主/从设备之间的三种通信方式随着简单易用的 USB 接口日益流行,在嵌入式系统中添加对 USB 接口的支持已成为大势所趋
本文通过介绍 Linux 中支持 USB 的各种模块和库,分析了在Linux 上利用 USB 实现高速串口和以太网连接等通信方式的具体方法
通用串行总线(USB,Universal Serial Bus)是一种非常有用的通信接口,其应用日益广泛
有三种方法可以使运行 Linux 操作系统的嵌入式系统支持 USB 接口,本文将对这三种方法逐一进行介绍
基于 Linux 的 USB 设备与 USB 主机一般有以下三种通信方式:1.一些功能最完备结构也最复杂的设备采纳用户定制内核模块来实现在标准 USB 总线上运行复杂的高级协议,而由 USB 主机上相应的用户驱动程序和应用来完成连接
2.另一些基于 Linux 的 USB 设备则利用 USB 总线来实现与主机上所运行的某个应用的简单的点对点串行连接
主机上的应用虽然利用了主操作系统所提供的 USB编程接口,但表面看来却似乎是在通过一个典型的串口进行通信
3.最后,还有些设备以主计算机作为网关,将 USB 设备连接到办公局域网或互联网上,从而使 USB 设备看起仿佛构成了一个以太网
这种方法专业性较强,但通常可行,是主机驱动程序使该方法成为可能
在这三种方法中,您可以根据预留给开发的时间长短和期望 USB 接口在嵌入式应用中所扮演的角色来决定选用那一种方法比较恰当
为了帮助您做出正确的选择,下一节将向您介绍这三种方法分别应用于基于 Linux 的 USB 设备时的情况,但首先让我们对 USB 接口做一个大致介绍
USB 概述 USB 是一种方便快捷的接口,可用于为计算机工作站连接一些小配件
根据 USB法律规范的定义,鼠标、键盘、音频播放和录音设备、照相机、大容量存储设备以