★C8051F340的USBXpress开发包USB通信设计.pdf

★C8051F340的USBXpress开发包USB通信设计.pdf

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
★C8051F340的USBXpress开发包USB通信设计

C8051F340 的USBXpress 开发包USB 通信设计 李腾飞(长江大学 计算机科学学院,荆州 434023 ) 传统的USB 设备驱动程序编写异常复杂,程序员往往很难入手。Silicon Laboratories 公司提供的USBXpress 开发 包大大简化了USB 通信的应用和相关驱动程序的开发,只要做好开发前的准备工作,USBXpress 开发包完全可 以实现USB 通信的所有功能。本文介绍USB 通信开发的全过程,以及在开发过程中需要注意的事项。(主要针 对设备端USB 通信进行讲解) 1 USBXpress 简介 由Silicon Laboratories 公司推出的USBXpress 开发包涵盖了主机端和设备端的所有函数功能,支持 C8051F32X、C8051F34X 和CP210X 设备的USB 通信。USBXpress 开发包中包含主机端的设备驱动、主机端设 备驱动安装程序、主机端的动态链接库(DLL)和设备端的函数库文件。 设备端的函数库文件提供了支持C805IF32X 和C8051F34X 设备USB 通信的API 函数,这些函数可以在Keil uVision3编译环境下被编译通过。编译前需要在工程中添加相关的文件,详见下文。 设备端函数库中主要的API 函数如下: USB Clock Start() -初始化USB 时钟 USB Init()-USB 接口初始化 Block Write() - 向Buffer 中写数据 Block Read() -从Buffer 中读数据 Get Interrupt Source()-获取API 函数的中断标志值 USB Int Enable() -允许API 函数中断 USB Int Disable() -不允许API 函数中断 USB Disable() -不允许USB 接口通信 USB Suspend() -延缓USB 中断 2 设备端的电路设计 (1)USB 插座引脚识别 在没备端电路设计的过程中,对USB 插座引脚必须对应连接,否则将直接影响到与主机端的通信。USB 插 座一般分为A 型插座和B 型插座,如图1所示,其引脚说明如表1所列。 (2)基于C8051F340 的USB 通信电路 基于C8051F340的USB 通信电路如图2所示。 (3)USB 通信电路说明 ①电路中的D-和D+不应连接其他负载电路,因为任何负载将影响数据线路上的电流,从而影响数据传输,直接 后果将导致主机端无法识别设备。 ②JTAG 口线中的VDD 引脚为+3 V 输入,输入电压过大将损坏器件。USB 插口引脚与C8051F340引脚应对应连 接,不要有误。 ③C8051F340的VBUS 、REGIN 和VDD 引脚的连接有多种方式(稳压器配置) ,详见表2 。 3 设备端的驱动程序设计 在Keil uVision3编译环境下,用USBXpress 工具包中的API 函数设计设备端的USB 通信,前提是在工 程中添加C8051F340 .h 、USB_API .h 和USBX_F34X .LIB 文件(USBXpress 工具包提供相关文件) 。 下面介绍设备端USB 的数据传输。在进行数据传输之前,必须对USB 时钟和USB 接口初始化: (1)USB 接口初始化参数定义 ①USB_VID ,16位二进制卖主ID 号,一般用SiliconLab 的ID 号(OXl0C4) 。 ②USB_PID ,16位二进制产品ID 号,一般USBXpress 规定为OXEA61 。 ③USB_MfrStr ,BYTE 型指针,指向描述厂商的字符串,不能为空。 若定义BYTE USB MfrStr[]={} ,数组中第1个数说明数组中元素的个数(元素个数=字符串元素个数*2+2),第 2个数说明字符串描述符的类型,0起间隔作用。以下的字符串定义同上。 ④USB_ProductStr ,BYTE 型指针,指向描述产品的字符串,不能为空。 ⑤USB_SerialStr ,BYTE 型指针,指向描述序列号的字符串,不能为空。 ⑥USB_MaxPower ,BYTE 型,说明总线最大电流,极限为500 mA 。若取值0x32,则表示最大电流为100 mA。 ⑦USB_PwAttributes ,BYTE 型,用于供电配置。如果设备自己供电第6位置“1”,若为总线供电则为“O” 。如果设 备提供弱上拉作用,第5位置“l”,位0~4必须为“O”,位7必须为“1”

文档评论(0)

xxj1658888 + 关注
实名认证
内容提供者

教师资格证持证人

该用户很懒,什么也没介绍

领域认证该用户于2024年04月12日上传了教师资格证

1亿VIP精品文档

相关文档