• 易迪拓培训,专注于微波、射频、天线设计工程师的培养
首页 > 无线通信 > 技术文章 > 基于CY7C68013A的USB通信程序开发设计

基于CY7C68013A的USB通信程序开发设计

录入:edatop.com     点击:

3 固件程序开发

构成建构所需要修改的文件大约有五个。其中Fw.c为USB固件程序的主文件,为了实现控制传输,需要修改该文件:其一是要声明用来响应自定义设备请求的两个函数,其二是设置自定义设备请求的响应部分。

Periph.c首先要设置初始化函数TD_Init(void),并应设置与EPOBUF有关的寄存器、CPU的时钟频率以及与I2C相关的寄存器:其次还要定义用来响应自定义设备请求的函数。

Fx2.h头文件中要定义自定义请求。

Dscr.a51中则需要设置的是设备描述符和配置描述符,还有接口描述符。而控制传输需要的O端点不需要设置。

Syncdly.h中要设置初始化函数TD_Init(void)的寄存器。

本文所介绍的实例中要用到的I2C总线的读写函数如下:

首先是:EZUSB_WriteI2C(BYTE addr,BYTE length,BYTE xdata*dat),其中addr用于指定I2C设备地址;length为传送数据长度;*dat为发送数据缓冲区的起始地址:该函数可用于向EZ-USB I2C接口写一串数据。在所有提供的数据被发送之前,该函数立即返回。如果当前正在发送或接收数据,则发回FALSE,且数据不被发送。如果端口不忙,数据则进入队列,并返回TRUE。

第二个函数是EZUSB_ReadI2C(BYTE addr,BYTE length,BYTE xdata*dat),其中的addr指定I2C设备地址;length为传送数据长度;*dat为接收数据缓冲区起始地址;该函数用于从EZ-USB I2C接口读一串数据。在所有被请求的数据读入缓冲区之前,该函数立即返回。用户需要不断的询问I2C的状态,以确定数据何时有效。如果当前正在发送或接收数据,则调用该函数时返回FALSE,数据也不被读出,当I2C端口不忙时,则读取数据队列并返回TRUE。

下面给出自定义请求的响应程序代码:

4 结束语

主要介绍了基于EZ-USBFX2通信的组成部分和设计过程,本设计用NI的LabVIEW作为测试系统信号源的设置数据传输部分,并通过UCY7C-68013芯片程序较好地达到了配置信号源的目的。该通信过程现已通过了NI公司的VISAInteractive Control的软件测试。事实上,该USB芯片除了配置作用外,还可以利用其他资源方便地实现测试系统的测试数据传输,从而达到充分利用资源的目的。

作者:刘德刚,唐 广 来源:国外电子元器件

上一篇:嵌入式系统的网络互连技术
下一篇:IP网络的可视化运营

手机天线设计培训教程详情>>

手机天线设计培训教程 国内最全面、系统、专业的手机天线设计培训课程,没有之一;是您学习手机天线设计的最佳选择...【More..

射频和天线工程师培训课程详情>>

  网站地图