C8051F340的USBXpress开发包USB通信设计

[09-13 16:55:32]   来源:http://www.88dzw.com  接口定义   阅读:8254

文章摘要: 传统的USB设备驱动程序编写异常复杂,程序员往往很难入手。Silicon Laboratories公司提供的USBXpress开发包大大简化了USB通信的应用和相关驱动程序的开发,只要做好开发前的准备工作,USBXpress开发包完全可以实现USB通信的所有功能。本文介绍USB通信开发的全过程,以及在开发过程中需要注意的事项。(主要针对设备端USB通信进行讲解)1 USBXpress简介由SilicON Laboratories公司推出的USBXpress开发包涵盖了主机端和设备端的所有函数功能,支持C8051F32X、C8051F34X和CP210X设备的USB通信。USBXpre

C8051F340的USBXpress开发包USB通信设计,标签:接口技术,微机原理与接口技术,http://www.88dzw.com

     传统的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)。

[1] [2]  下一页


Tag:接口定义接口技术,微机原理与接口技术接口定义
分类导航
最新更新
热门排行