新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于嵌入式系统的USB(HID)设备设计

基于嵌入式系统的USB(HID)设备设计

作者:时间:2013-10-12来源:网络收藏

  0 引言

  目前在数字化电子产品领域应用越来越广泛。随着其成本的降低,大有取代单片机的趋势。 设备以其小巧、便携、即插即用、成本低廉等优势在当前的桌面应用中有相当的比重,尤其是(人机接口)设备,其免驱的特点(不用安装驱动程序)更是给用户带来极大方便。现在市场上 设备多是由专门的 控制芯片来实现其应用控制,芯片内集成了USB 协议,成本较高。PCB 板的面积较大。本文提出了仅用一片MCU(微处器-单片机)或芯片来实现其与PC 机的通讯的方法。就单片机而言,多数单片机速度较慢,对事件的响应能力较弱,对全速USB 应用不是很好的选择。而,由于其速度较之单片机快很多,内部RAM 容量较大,用其来仿真USB 设备是个理想的策略。

  本文将以LM310 嵌入式芯片仿真USB()键盘为例,研究其仿真USB 的方法。

  1 USB 协议规范

  1.1 总线定义:

  USB 又称通用串地总线,共有四条线,如图1 所示,VBUS 是设备供电接线,电压+5V,最大供电电流500mA,向设备提供电源。具有过流保护、供电控制等功能。D-低速信号线;D+全速信号线;GND 电源地。


  1.2 USB 版本

  常规USB 通讯协议有USB1.1、USB2.0。USB1.1 版本的USB 设备,支持全速12Mb/S 低速通讯(1.5Mb/S);USB2.0 版本的USB 设备,支持高速通讯(480Mb/S)。由于USB2.0 的通讯速率太高,所以用芯片仿真无法实现(必须由单独芯片控制)。

  1.3 总线长度

  USB1.1 版本的设备总线长度不大于5 米,通过集线器或中继器,可达到30 米95 个中断器或集线器)。U2.0 设备总线长度不大于3 米。

  1.4 通讯建立

  串口通讯另一个标准RS232 的通讯发起方可以从两端发起,而USB 通讯发起方总是在主机端(HOST),设备端总是响应主机端的通讯请求。主机端如果是PC 机,每隔1ms 发起一次对一个设备的通讯建立请求,设备接收到访问己方请求后,立即与主机建议起通讯连接。

  1.5 电气特性

  对于“D-是低带信号总线,D+是高速信号总线是高速总线”的说法是不准确的,因为USB 信号总线是平衡差分式的,这点类似于485 总线。所谓“在-是低速信号总线”是指当US 阳低速设备(如鼠标、键盘) 时,D-这条线在USB 设备端加1.5K 上拉电阻。反之对于全速设备(如U 盘、打印机、扫描仪),D+信号线加1.5K 上拉电阻。

  关于D+、D-信号线上的电压浅谈一下,类似于485 总线,当485 总线的A 相电压大,B相电压200mV 时,差分放大器输出逻辑“1”,反之“0”,USB 总线在低速设备端D-电压如大于2.0V,D+电压小于0.8V 为逻辑“1”反之为“0”,在主机端,一根为大于2.8V,另一根小于0.3 发,在此主机端不做深入探究。

  1.6 NRZI 编码及位填充

  由于USB 总线没有同步时钟信号线,想要主机与设备建立良好通讯同步效果,只有从数据序列中提取同步时钟。类似RS232 串口通讯,USB 通讯的建立也有起始信息,RS232 是一个起始位,而USB 起始位也有8 位,称之为同步域(或段)格式为01010100。由于RS232 的通讯速率较低,所以两端同步时钟不大于5%即可实现良好通讯。然而USB 通讯最低速率也大于1Mb/S,对于时钟的同步要求严格的多,况且USB 的数据包中的每个字节不象RS232 每个字节都有起始位(仅在包头有同步域)。鉴此,USB 通讯时必须在数据包的位序列中提取同步信息。想象一下,如果数据包序列中数据位全是逻辑“1”或者全是逻辑“0”,芯片是无法提取同步信息的,为此需要一个高效的编码方案,于是就有了NRZI 和位填充概念。何谓NRZI,看图2 所示,NRZI 是非“1”跳变。由图可知问题只解决一半,USB 规范约定当序列1 1中连续出现6 个逻辑“1”时加进一位“0”,如此问题全部解决,只不过是需要在接收后除去加进的一个位“0”,加进一位“0”的过程就是位填充。


  1.7 USB 通讯模式

  共四种模式:控制传输、等时传输、中断传输、批量传输。

  1.8 端点

  端点也可称为设备终端,每个USB 设备(USB 芯片)内可以有1—16 个端点,相对USB 芯片而言,各端点在通讯*能传输的数据包的大小和传输模式有所不同。在芯片内数据缓冲区的地址也有所变化。

  2 嵌入式芯片(LM3S310)

  Stellaris 系列微控制器(包括L3 同S310)是以ARM CortexTM-M3 为内核设计的。与早期的ARM7 相比较有功耗更低、中断延时更小、代码执行速度更快、价格更低等优势。

上拉电阻相关文章:上拉电阻原理
三维扫描仪相关文章:三维扫描仪原理

上一页 1 2 下一页

关键词: 嵌入式系统 USB HID

评论


相关推荐

技术专区

关闭