墨圈圜墨重EI圜 堡堕塑笠;墨王塑!!!旦!!里苴丑塑型;旦堕!堡娄逞鱼退让
基于C8051f340单片机的USBHID类设备设计
倪陈强,陈赘
(西安科技大学机械工程学院 陕西西安 710054)
摘要:USB作为近年来计算机和嵌入式领域中的热点,推动了计算机外设的飞速发展,各种具有USB接1:7的嵌入式
系统不断涌现。但是,USB协议复杂,若为每种设备都开发相应的设备驱动程序,开发周期势必加长。介绍一种USB外设
的实现
方案
气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载
.谊方案采用C8051F340单片机内置的USB接1:2,实现了基于HID类协议的USB设备的设计。采用谊方案实
现USB设备,无需专门开发谩备驱动程序。谈方案实用性强,可大大缩短开发周期。
关键词:USB;C8051F单片机;HID;API
中图分类号:TP33 文献
标识
采样口标识规范化 下载危险废物标识 下载医疗器械外包装标识图下载科目一标识图大全免费下载产品包装标识下载
码:B 文章编号:1004—373X(2007)18—064—03
DesignofUSBHIDDeviceBasedonSingleChipC8051f340
NIChenqiang,CHENYun
SchoolofMechanicalEngineering,Xi‘anUnivershyofSicienceandTechonology,Xi7an.710054,China)
Abstract:Asahotpointinrecentcomputertechnologyandembeddedsystemfield,USBvastlyimprovesthedevelopment
ofperipheraldevicesforcomputerandsomeembeddedsystermswithUSBinterfacearecomingforth.Thepaperintroducesa
schemewhichimplementsUSBdegces.Itrealizesthedesignofusbdevicesbased011HIDprotocolusingUSBinterfaceonmi—
crocontrollerC8051F34x.Itdoesn7tneedspeciallydevelopdevicedriverporgramtoimplementUSBdeviceusingthismethod,
80itcanreducethedevelopcircle.Themethodhashighpracticabilityandreliability.
Koywords:USB;(18051Fsinglechip}HID;API
基于传统I/O模式的外设必须占用PC主机的中断请
求、I/O地址等系统资源,而这些有限的主机资源无法满
足众多外设连接的需要。USB接口的出现,解决了日益
增加的PC外设与有限的主板插槽和端口数量之间的矛
盾。但是,USB设备协议比较复杂,驱动程序开发比较费
时。本文介绍一种利用C8051F340单片机和USBHID类
设备驱动程序进行USB设备开发的方法。
1 C8051F340单片机简介
系统单片机采用C8051F340,此单片机具有流水线的
指令结构;70%指令的执行时间为1或2个系统时钟,48
MHz的时钟频率,指令执行速度可达48MIPS。其内置
USB接口完全兼容USB2.0,支持全速(12MBPS)和低速
(1.5MBPS)两种运行速度,8个可灵活配置的端点,专用
的1kB的USB缓冲存储器,集成的收发器,无需外部电
阻,可方便实现与计算机的通信。片内稳压器支持USB
总线供电1片内稳压器旁路支持USB自供电。
2单片机的USB接口设计
部电阻,可以方便地与USB接口连接。USB接口与单片
机的连接如图1所示。C8051F340可以被配置为USB固
件自身供电,也可以配置为USB总线供电。将J3的
VBUS与REGIN短接起来,被配置为USB总线供电;将
J3的VDD与REGIN短接,被配置为USB固件自身供电,
并且片内稳压器被禁止;将J4的REGIN与5V网络短
接,被配置为USB固件自身供电,但片内稳压器被允许。
图1 8051F340单片机的USB的接口
C8051F340单片机内部集成了USB收发器,无需外3 USBHID设备类协议
收稿日期:2007—03—17
为简化USB设备的开发过程,USB提出了设备类的
万方数据
概念。HID设备类即人机接口设备,如键盘、鼠标等。
HID没备既口T以是低速设备也可以是全速设备,具有以下
的功能特点:适崩于传输少量或中量的数据;传输的数据
具有突发性i传输的最大速率有限制;无固定的传输率。
3。1 HID的数据传输方式
USB
规范
编程规范下载gsp规范下载钢格栅规范下载警徽规范下载建设厅规范下载
规定了4种数据传输方式:控制传输、中断
传输、同步传输和批量传输。控制传输主要用于主机与设
备问关于配置、状态和控制信息的传输,任何USB设备都
必须支持控制传输。中断传输用于数据量较小、小定时传
送、允许一定延迟、服务周期受限的设备;同步传输用于大
数据量、实时性高、允许一定差错的设备;批量传输用于大
数据量、可靠性高、实时性不很高的设备。根据HID规
范,所有HID类设备与主机问的通信采用控制传输和中
断传输2种方式,HID类设备与主机的传输管道如图2
所示。
图2 HID的数据传输方式
3.2设备描述符结构
HID设备类除支持设备(Device)描述符、配置(Con—
figuration)描述符、接口(Interface)描述符、端点(End—
point)描述符和字符串(String)描述符等标准描述符外,还
自行定义了3种类描述符,分别为HID描述符(主要用于
识别HID设备所包含的其他类描述符)、报告(Report)描
述符(提供HID设备和主机间交换数据的格式)和物理
(Physical)描述符。一个HID设备只能支持一个HID描
述符;可以支持一个或多个报告描述符}物理描述符是可
选的,大多数HID设备不需要使用他。描述符包含USB
设备的各种信息,一般以数据表的形式固化在程序存贮器
中。图3是HID类设备的设备描述符结构。
图3 HID的描述特结构
3,3设备请求
一个完善的USB设备必须能够正确地响应主机针对
该设备可能发出的所有设备请求。设备请求也可以分成
标准设备请求和类特殊设备请求。标准设备请求由USB
规范规定,类特殊设备请求由类规范规定。标准设备请求
有GetStatus(00H),ClearFeature(01H),SetFeature
(03H),SetAddress(05H),GetDescription(06H),SetDe
scription(07H),GetConfiguration(08H),SetConfigura
tion(09H),GelInterface(OAH),SetInterface(0BH)和
synchFrame(OCH)。HID类设备特殊的设备请求有Get
Report、SetReport、GetIdle、SetIdle、GetProtocol和Set
Protocol。GetReport和SetReport的作用是通过控制管
道接收和发送数据报告。
4固件程序设计
USB设备固件程序设计的核心在于对主机的请求做
出响应。主机的请求分为2类:控制传输的请求和数据传
输的请求。软件开发的主要工作是编写USB的中断服务
程序,其功能是处理USB发送、接收的不同信息,从端点0
获得主机的控制信息.或是向端点0发送设备的状惫信
息,以及向端点发送的数据等。
中断服务程序的任务是根据不同的中断请求,转入相
应的处理程序。整个中断处理过程可以分为3个步骤:
(1)通过访问USB芯片的INlINT.OUTIINT,
CMINT寄存器,判断发生的中断请求;
(2)根据不同的请求必及其他的相关信息,转入相应
的协议处理过程;
(3)根据协议处理的结果,完成相应的通信任务。
根据设备类型的不同,主机发送的令牌种类和数量都
会不同。HID类设备在响应主机命令时,除了处理普通的
USB命令,还要响应HID类设备的一些命令,中断服务程
序根据不同的请求来完成相应的动作。
5应用程序设计
在Windows98及其以后的版本中都提供了完整的
HID类驱动程序以及相应的APl鬲数,因此开发HID的
应用程序主要通过调用APl函数实现。Windows提供的
HID类驱动程序(Hidclass.sys)向下与USB底层驱动程
序通信,向上对HID子类的所有上层驱动程序提供支持,
还有用户层的Hid.dll,他的作用就像Hidclass.sys在内核
的作用一样,提供HID设备的通用命令支持。用户层的
应用程序则一般直接掘用Hid.d/l提供的API函数。
这里介绍用户模式的HID客户程序的设计过程。他
主要包括4个方面的的工作:
(1)查找所有HID设备}
(2)确定哪一个是用户需要的HID设备,并连接该
设备;
(3)获得HID设备的信息;
(4)根据用户需要,读取HID输入Report或者写
65 万方数据
■曩圈宙暖目I墨 堡堕塑量;墨王塑!!!塑!!里兰垫笪旦塑旦!里誉退鱼退i土
HID输出Report。
设备的路径获取要通过调用系统API函数来获取
用如下步骤:
采
6结语
GUlDHidGuiDl
HidDLGetHidGuid(&HidGuid)4
//根据GUID取得设备信急
hDevInfo=SetupDiGetClassDevs(&HidGuid,NULL,0,
DIGCFPRESENTlDIGCF—DEVICEINTERFACE)#//枚举设
备类的所有接口
SetupDiEnumDeviceInterfaces(DevicelnfoSet,0,&HidGuid,
Memberlndex,
&devicelnfoData)f//获取与设备相关的结构的接口信息
SetupDiGetDeviceInterfaceDetail(DevlcelnfoSet,
&devieelnfoData.DevieefnterfaceDetailData,0,
&requiredLength,0)} //获取接口的详细信急
可以从DeviceInterfaceDetailData中获得CreateFile
所需的设备路径,通过调用CreateFile获得设备的句柄。
程序可以通过文件操作函数完成对设备的读写。也可以
利用HID类的API函数.如HidD—GetAttrlbutes、HidD—
SetFeature、HidD—SetOutputReport、HidD—GetInpu—
tReport、HidDGetPreparsedData等完成与设备的通信。
利用C8051f340单片机的USB接口,采用HID设备
类驱动程序,实现了USB设备的开发。这种方法不需要
开发驱动程序,可大大提高开发效率,传输速度适用于传
输少量或中量的数据,可应用于便携式测试设备、仿真机、
开发板等嵌入式系统与计算机之间的数据通信。
参考文献
[13马伟.计算机USB系统原理及其主/从机设计[M].北京:北
京航空航天大学出版社.2004.
[2]萧世文.USB2.0硬件设计[M].北京:清华大学出版社.
2002.
[3]UniversalSerialBusDeviceClassDefinitionofHuman.In—
terfaceDeviees(HID)Versionl.OFinal.USBImplements7Fo—
rum,1996.
[4]8051F340DataBook.SiliconLaboratoriesInc,2006.
[5]蒋博.基于USB接口的称重装置[J].现代电子技术,2006,
29(4):55—56,59.
[6]曾宪武,包淑萍.多总线转多种串行总线装置的研制[J].现
代电子技术,2006,29(13):43—45.
作者简介倪陈强 男,1980年出生,助教。从事嵌入式系统应用技术的研究工作
(上接第60页)
3软件设计
将燃烧器控制端口设置为仅为输出端口,其余各端口
设置为标准输入输出端口,串口协议为8位数据位和一位
校验位,波特率2400Hz,判断有键按下,当有键按下时,
如果是数字键修改数据,如果是启停燃烧器按键则相应的
启动或停止燃烧器,采集温度并显示温度值,判断有无故
障,当有故障时发送指令给上位机,上位机语音报警。下
位机主要流程如图3所示。
4结语
通过单片机串口通讯,实现了计算机网络控制多台温
控器,实时显示温度、设定温度报警值并对某工作台出现
的故障语音报警.便于及时维修。
参考文献
[1]周立功.LPC900系列FLASH单片机应用技术[M].北京
北京航空航天大学出版社,2004.
66
囤3主程序流程图
[2]窦振中.单片机外围器件实用手册[z].北京t北京航空航天
大学出版社,1998.
作者简介陈晓东 男,1975年出生,硕士.助教。主要从事嵌入式控制方面的教学与科研工作。
万方数据
基于C8051f340单片机的USB HID类设备设计
作者: 倪陈强, 陈贇, NI Chenqiang, CHEN Yun
作者单位: 西安科技大学,机械工程学院,陕西,西安,710054
刊名: 现代电子技术
英文刊名: MODERN ELECTRONICS TECHNIQUE
年,卷(期): 2007,30(18)
引用次数: 1次
参考文献(6条)
1.马伟 计算机USB系统原理及其主/从机设计 2004
2.萧世文 USB2.0硬件设计 2002
3.Universal Serial Bus Device Class Definition of Human InterfaceDevices(HID) Version1.0Final 1996
4.8051F340 Data Book 2006
5.蒋博 基于USB接口的称重装置[期刊论文]-现代电子技术 2006(4)
6.曾宪武.包淑萍 多总线转多种串行总线装置的研制[期刊论文]-现代电子技术 2006(13)
相似文献(8条)
1.期刊论文 曹少华.张培仁.王津津.李勇.胡晓柘.CAO Shao-hua.ZHAGNG Pei-ren.WANG Jin-jin.LI Yong.HU
Xiao-zhe 基于C8051F单片机的CAN总线硬件系统设计 -测控技术2007,26(11)
从分析CAN总线控制系统的设计思路入手,着重讨论设计中的主要问题,采用RS-485/422辅助CAN总线的混合总线结构,选用C8051F系列单片机和USB转
UART桥接器CP2102作为控制核心,设计了一种多主、多功能的混合式总线监控系统.试验表明:该系统成功解决了数据传输瓶颈、数据冲突、同步等一系列
问题,具有良好的实时性和稳定性,广泛适用于各类远程大型实时监控网络.
2.期刊论文 刘丹.孙自强 基于C8051F单片机智能控制仪表的设计 -中国仪器仪表2004(7)
C8051F系列单片机是完全集成的混合信号系统级芯片(SOC),它在一个芯片内构成了一个数据采集或控制系统所需要的几乎所有模拟和数字外设及其
它功能部件.本文介绍了基于C8051F020单片机的智能控制仪表的硬件和软件设计.
3.学位论文 谢鹏 基于嵌入式Linux的无线温场测试仪 2008
恒温箱广泛应用于企业的实验室。主要有培养箱、干燥箱、老化箱、恒温恒湿箱等。温场测试仪是用来检测恒温设备的温度均匀性和波动性,以判
断恒温箱性能的好坏。每个地区的计量部门每年都要为该地区的企业检测大量的恒温箱。目前计量部门使用的温场测试仪主要有两种:一种是人工接线
手动切换通道、人工
记录
混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载
数据,另一种是人工接线,电脑自动记录。由于每检测一台恒温箱都必须接5~9支传感器,如果恒温箱台数多,工作效率就低
,并且经常拆装传感器容易损坏,为了更好地提高计量部门的工作效率,本课题在HHARM2410-Audio—R1套件的基础上,基于嵌入式Linux操作系统和高
性能CPU,对温场测试仪进行了进一步的研究和设计。 本论文研究和设计的温场测试仪由硬件系统和软件系统两大部分组成。硬件系统主要功能模
块包括:HHARM2410-Audio—R1套件的开发板、自主开发的无线收发模块和数据采集分机模块。 HHARM2410套件由核心板和底板(外设板或称基本板
)组成,核心板上集成Samsung S3C2410处理器,64M SDRAM以及16M的FLASH,为应用研发提供了足够的空间。底板上则提供以下外设接口:一个四线RS-
232串口(COM1),一个USB HOST接口,一个10M/100M自适应以太网接口,一个TFTLCD接口,一个触摸屏接口;数据采集分机由C8051F单片机组成;信号调
理采用ADT70铂热电阻信号调理器实现高精度测温;无线收发模块主要由nRF903无线收发芯片组成。 软件系统的操作系统为Linux,HHARM2410-
Audio—R1套件中已有了RS232串行通信的驱动程序和触摸屏驱动程序。本论文自主开发的分机温度采集软件、主机分机之间的通信软件及主机的图形界
面。
4.期刊论文 史萍.宋爱国.SHI Ping.SONG Ai-guo 基于C8051F的肌电信号采集仪设计 -中国医疗设备2009,24(7)
为了能实时观测患者患肢肌肉生物电活动随时间变化的图形,帮助医生
评价
LEC评价法下载LEC评价法下载评价量规免费下载学院评价表文档下载学院评价表文档下载
患者肌肉及其控制系统的功能,设计开发了一种基于C8051F320单片机的肌
电信号数据采集仪.提出将电极采样获得的肌电信号经滤波、放大后再经C8051F320单片机发送液晶屏,实时显示多通道或单通道肌电波形、并通过USB接
口与上位机进行信息传输.测试证明该仪器具有一定的实用性.
5.学位论文 邓立营 步进电动机协调运动控制的研究 2006
近年来,随着装备制造业的发展及技术革新的应用,特别是计算机,微电子及微处理器技术的不断进步,在加工制造及产品控制的过程中多电机的
协调控制越来越受到人们的重视。在机器人系统中广泛采用步进电动机进行多轴运动控制。本文研究通过C8051F单片机实现步进电机的协调控制问题。
论文首先对管道机器人模型运动特点进行分析,给出了控制要求。根据系统的控制要求确定了C8051F320单片机作为下位机控制器的核心处理器,利
用它的高速输出功能,通过分配的不同引脚,产生频率可控的脉冲串来控制两台或多台步进电机的协调运动。在硬件电路上实现光电编码器与单片机的
接口电路,可通过光电编码器,来检测电机的转速。上位机与下位单片机通过USB接口实现进行通信。C8051F320内嵌了与主机的USB接口,利用它提供的
库函数文件,在上位机USB程序中将欲传送的数据以文件的形式发送给下位机,在下位机中以数据块的形式进行接收并存于片内RAM的临时存储区中,每
个数据块最大为64Byte,当RAM中数据达到512Byte时,再将这些数据写入到一个FLAH页中。经过硬件设计及相应的上位机、下位机软件的编程,结合步
进电机的实验,结果较好的实现了预期的控制效果。可以在上位机的软件中根据实际情况来给定不同的位移曲线,对它进行插值细划,转换成相应的控
制数据。在下位机中可以利用这些数据,结合启动、停止及正反转按钮来并实现对电机的协调控制。
6.期刊论文 何青.张海岩.张志.He Qing.Zhang Haiyan.Zhang Zhi 基于C8051F的便携式多通道数据采集系统 -仪
器仪表学报2006,27(z1)
本文研究开发了一种基于C8051F单片机和USB技术的便携式多通道高速数据采集系统,采用ⅡC接口技术进行I/O口扩展,并具有和上位机进行数据传输
等特点.系统采用5.2英寸TFT实时显示各种波形画面和现场参数.系统可用于振动信号和各种电压信号的采集.
7.会议论文 何青.张海岩.张志 基于C8051F的便携式多通道数据采集系统 2006
本文研究开发了一种基于C8051F单片机和USB技术的便携式多通道高速数据采集系统,采用ⅡC接口技术进行I/O口扩展,并具有和上位机进行数据传输
等特点.系统采用5.2英寸TFT实时显示各种波形画面和现场参数.系统可用于振动信号和各种电压信号的采集.
8.学位论文 梁亚军 采用大容量闪存的便携式心电监护仪的研究 2008
心脏病是威胁人类健康的主要疾病之一,而心电图是其预防和诊断的重要依据。临床医学实践表明,对于心脏病的防治,最有效的手段是预防和保
健,而且心脏病具有突发性的特点,患者不可能长时间地静卧在医院,进行心电监护,基于长期、实时的心电监护要求,研发相应的便携式心电监护产
品就显得十分重要。 本研究完成的便携式心电监护仪包括模拟心电信号采集单元和基于双C8051F单片机的数字心电信号存储单元两部分。根据心
电信号特征,前端采集采用高性能的仪表放大器INA118前置放大,并附加信号缓冲、右腿驱动、屏蔽层驱动电路,进一步提高前置放大的共模抑制比
,硬件陷波采用开关电容滤波器LT1068-200组成八阶巴特沃兹工频陷波器,经二级主放大和信号调理后送入主单片机C8051F040的片上12位高分辨率
ADC0,主单片机C8051F040完成信号AD转换,数字滤波,规定储存格式,将数据写入双口RAMIDTIDT70V08S;从单片机C8051F340与大容量NAND型闪存
K9F2G08UXA接口,负责信号存储;C8051F340片上集成USB2.0控制器,使用USB主机和器件API函数,可以方便地和Labview设计的心电信号回放与分析软
件通信,简化系统通信接口设计。 论文对以上各项工作进行了详细的探讨,并制作了相应单元的实物模块,验证了设计的可行性;上位机采用
Labview8.5制作了人机交互界面,实现信号回放功能,为信号的进一步分析提供奠定了良好的基础。
引证文献(1条)
1.黄健.扈静.蒋增强.张铭鑫 汽车制动踏板操纵力与行程分析系统研究[期刊论文]-机械工程师 2009(5)
本文链接:http://d.g.wanfangdata.com.cn/Periodical_xddzjs200718023.aspx
下载时间:2010年1月2日