利用USBXpress开发包简化应用程序实现USB通信设计_第1页
利用USBXpress开发包简化应用程序实现USB通信设计_第2页
利用USBXpress开发包简化应用程序实现USB通信设计_第3页
利用USBXpress开发包简化应用程序实现USB通信设计_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、【Word版本下载可任意编辑】 利用USBXpress开发包简化应用程序实现USB通信设计 2、设备端的电路设计 (1)USB插座引脚识别 在没备端电路设计的过程中,对USB插座引脚必须对应连接,否则将直接影响到与主机端的通信。USB插座一般分为A型插座和B型插座,如图1所示,其引脚说明如下表1所列。 (2)基于C8051F340的USB通信电路 基于C8051F340的USB通信电路如图2所示。 利用USBXpress开发包简化应用程序实现USB通信设计(3)USB通信电路说明 电路中的D-和D+不应连接其他负载电路,因为任何负载将影响数据线路上的电流,从而影响数据传输,直接后果将导致主机端

2、无法识别设备。 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接口初始化: 利

3、用USBXpress开发包简化应用程序实现USB通信设计(1)USB接口初始化参数定义 USB_VID,16位二进制卖主ID号,一般用SILICONLab的ID号(OXl0C4)。 USB_PID,16位二进制产品ID号,一般USBXpress规定为OXEA61。 利用USBXpress开发包简化应用程序实现USB通信设计USB_ProductStr,BYTE型指针,指向描述产品的字符串,不能为空。 USB_SerialStr,BYTE型指针,指向描述序列号的字符串,不能为空。 USB_MaxPower,BYTE型,说明总线电流,极限为500 mA。若取值0 x32,则表示电流为100 mA。

4、 USB_PwAttributes,BYTE型,用于供电配置。如果设备自己供电第6位置“1”,若为总线供电则为“O”。如果设备提供弱上拉作用,第5位置“l”,位04必须为“O”,位7必须为“1”。 USB_bcdDevice,无符号int型,用BCD码表示设备的版本号,如2.13版为Ox0213。 (2)USB中断函数 设备端USB通信中API函数的功能,都在一个中断模块里面实现,为此必须提供一个中断向量。其中,0 x008B(Interrupt 17)是F34X设备的中断向量。在main函数中,只有允许了USB中断(调用USB Int Enable函数),才能进入中断。一旦进入中断服务程序,

5、必须先获得中断标志(调用Get_Interrupt_Source函数,返回BYTE型中断标志),后续操作根据获得的中断标志值与工具包自定义的中断标志值判断执行。自定义的中断标志值主要有:USB_RESET(复位中断)、TX_COMPLETE(发送完成中断)、RX_COMPLETE(允许接收中断)、DEVICEOPEN(设备实例在主机端打开)、DEVICE SUSPEND(延缓信号)等。 中断函数如下: 在main函数中开展初始化之后,若中断允许,通过函数Block_write来发送数据,发送数据的字节数不能超过4096。发送结束后将触发中断,从而进入中断服务程序开展判断操作。如果主机端向设备端

6、的Buffer写入数据完成,也将触发中断,判断执行Block_Read操作将Buffer中的数据存入指定的存储单元。 发送数据的函数原型为:Block_write(数据存储单元首地址,发送的字节数)。 (3)主机端USB应用程序设计 在VC+6.O编译环境下开发主机端的USB通信应用程序,需要注意在编译之前向工程中添加开发包提供的SiUSBXp.dll、SiUSBXp.h和SiUSBXp.lib文件。 为了能让主机端识别USB设备并与之通信,在运行应用程序之前,要安装主机端的驱动程序(开发包已提供)。安装了驱动程序,主机端才能识别USB设备,在设备管理器中可以找到USB设备的相关描述信息。 对USB设备的描述信息,除了可以修改设备端发送过来的描述符之外,还可以修改在主机端驱动安装目录下*.inf文件中的信息。 结语 本文详细介绍了USB通信的开发过程、电路设计和设备端的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论