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

[11-20 17:13:10]   来源:http://www.88dzw.com  嵌入式系统   阅读:8665

文章摘要: 1.7 USB通讯模式 共四种模式:控制传输、等时传输、中断传输、批量传输。 1.8端点 端点也可称为设备终端,每个 USB设备(USB芯片)内可以有1—16个端点,相对USB芯片而言,各端点在通讯中功能传输的数据包的大小和传输模式有所不同。在芯片内数据缓冲 区的地址也有所变化。 2 嵌入式芯片(LM3S310)Stellaris系列微控制器(包括 L3同S310)是以 ARM Cortex TM-M3为内核设计的。与早期的 ARM7相比较有功耗更低、中断延时更小、代码执行速度更快、价格更低等优势。3 实现原理由于 LM3S310控制器每个 GPIO都可配置为中断引脚,所以在这个应用中只需要

基于嵌入式系统的USB(HID)设备,标签:嵌入式系统开发,嵌入式开发,http://www.88dzw.com
 
1.7 USB通讯模式 共四种模式:控制传输、等时传输、中断传输、批量传输。

1.8端点

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


2 嵌入式芯片(LM3S310)

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

3 实现原理

由于 LM3S310控制器每个 GPIO都可配置为中断引脚,所以在这个应用中只需要用两个 同 Port的两个相邻引脚仿真 USB的D+和 D-,图 3所示。 

 

 


4 软件设计图 4是一个简化程序流程图,实际编程中还有很多细节,在此不再罗列。下面以中断传输为例,将一个事务不同阶段思想重点研讨。
 
LM3S310芯片利用两个 GPIO(USB)的中断监控 USB总线,当 USB总线从空闲状态变为传输状态,也就是总线由主机发起与同步域(SYN),LM3S310进入 USB接收程序。略过同步阶段,收到的第一个字节是 PID字段(包标识类型)。这字段的低四位描述此包类型方向(IN或OUT),接下来 7位表示设备的地址,然后是四位端点号索引。LM3S310根据设备地址判定主机向本设备发起的请求,如果是则根据包的类型决定继续接收数据或向主机发送数据。对OUT类型数据的后 5—16位是 CRC校验(根据配置决定 CRC的位数)。对 IN类型,LM3S310将准备好数据连同 RC校验数据一同发往主机。数据传输阶段完成后,主机或设备要确认传输成功。

对于低速设备的仿真,LM3S310芯片的速度足以满足要求(包括一些速度较快单片机,如:PIC、EMP、MSP),然而对全速设备的仿真,须要选择速度更快嵌入式芯片,软件实现的原理方法基本相同。

结论

使用微控制器仿真 USB设备的方法,极大地方便了用户的开发,同时降低了功耗、成本。本文作者创新点在于利用 MCU或嵌入式控制器实现 USB设备功能。本方法在 USB读卡器、USB编程器、USB接口转 RS232及 RS485接口等方面有良好的应用前景。

参考文献

[1]《LM3S310数据手册》   作者:Luminary  Micro 2005

 [2]《USB大全》作者:[美]Jan Axelson  陈逸 译  2001.5

 [3]《USB技术大全》电子教程  2007.2
[4]郭佑民,王杰,孙启国基于嵌入式微处理器 S3C44B0X的 USB通信.微计算机信息[J],2008,1-2: 21-23。

上一页  [1] [2] 


Tag:嵌入式系统嵌入式系统开发,嵌入式开发嵌入式系统