[导读]0 引言CY7C68013中集成有增强的8051微控制器及I2C兼容控制器,其传输速率可达100 kHz或400kHz。LabVIEW是一种以图形化语言为基础设计虚拟仪器的软件,LabVIEW采用图形
0 引言
CY7C68013中集成有增强的8051微控制器及I2C兼容控制器,其传输速率可达100 kHz或400kHz。LabVIEW是一种以图形化语言为基础设计虚拟仪器的软件,LabVIEW采用图形模式的结构框图来构建程序代码,LabVIEW程序由数据流驱动,数据流控制着程序的执行顺序。LabVIEW功能强大,它带有可扩展函数库和子程序库的通用程序设计系统,它的VISA(VIRtual INStrumentSoftware Architecture)是一个用来与各种仪器总线进行通讯的高级应用编程接口(API),且不受平台、总线和环境的限制。
I2C (Inter-Integrated Circuit)总线是由飞利浦公司开发的两线式串行总线,主要用于连接微控制器及其外围设备。它由数据线SDA和时钟SCL构成,用于发送和接收数据。其最主要的优点是简单和有效。
一般情况下,一个完整的USB通信系统的软件通常需要上位机程序、驱动程序和固件程序三个部分。
1 上位机程序开发
采用NI公司的LabvIEW实现上位机程序开发,开发时可采用控制传输方式。控制传输中使用函数“VISA打开”来打开指定的USB设备,而“VISA USB控制输出”函数则用来完成定义请求0xBl,它可将“写入缓冲区”中的数据写入FPGA寄存器。使用函数“VISA USB控制输入”来完成自定义请求0xB2,并将FPGA寄存器中的数据读回到“读取缓冲区”中。其程序框图如图1所示。
波形设置上位机程序时,可利用子VI产生弹出窗口的功能来实现程序通道的设置,而通过事件结构、case结构、循环结构则可实现任意波形产生的子VI;通过case结构可实现六种基本波形设置的子VI设计。
2 驱动程序开发
设计时可采用NI公司的VISA来开发驱动程序。当进行USB通信时,VISA提供两类函数供LabVIEW调用,即USB INSTR设备与USB RAW设备。 USB INSTR设备是符合USBTMC协议的USB设备,使用USB INSTR类函数控制时,其通信无需配置NI-VISA;而USB RAW设备则是指除了明确符合USBTMC规格的仪器之外的任何USB设备,通信时都要配置NI-VISA。配置NI-VISA的详细步骤和过程可参考NI*****上免费提供的文档《使用NI-VISA控制USB设备》。
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芯片除了配置作用外,还可以利用其他资源方便地实现测试系统的测试数据传输,从而达到充分利用资源的目的。
本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
导读:学单片机的大概最先、最常写的通信程序应该就是串口程序了,但是如何写出一个健壮且高效的串口接收程序呢?
关键字:
串口接收程序
通信程序
串口程序
1.串行口方式0应用编程 8051单片机串行口方式0为移位寄存器方式,外接一个串入并出的移位寄存器,就能扩展一个并行口。 <单片机串行口通信程序设计硬件连接图>例:用8051单片机串行口外接CD4094扩...
关键字:
串行口
通信程序
摘要:介绍了分布式控制系统中上位PC机与下位单片机异步串行通信的通信协议;同时介绍了在VC++6.0环境下用PComm编写的PC机通信程序来实现上位机和下位机异步串行通信的方法,给出了PComm编程实例和下位机程序模块流...
关键字:
通信程序
PC机与单片机
PCOMM
IO
摘要:通过分析网卡基本通信过程控制和数字信号处理器(DSP)对网卡直接编程方法,成功设计基于DSP的网络通信程序,从而最终实现DSP系统数字化和网络化的融合。 关键词:DSP 网络通信程序 通信协议 网卡 DSP芯片...
关键字:
DSP
网络通信
通信程序
寄存器
摘要:通过分析网卡基本通信过程控制和数字信号处理器(DSP)对网卡直接编程方法,成功设计基于DSP的网络通信程序,从而最终实现DSP系统数字化和网络化的融合。 关键词:DSP 网络通信程序 通信协议 网卡 DSP芯片...
关键字:
DSP
网络通信
通信程序
寄存器
摘要:文中介绍了TMS320 C64155 DSP EMAC接口的构成以及工作原理和关键数据结构,参考相关的以太网驱动程序,完成了基于C6455 DSP的以太网通信程序的设计。该网络通信程序实现了某款信号处理机与上位...
关键字:
以太网通信
通信程序
TMS320
BSP
pic单片机双机异步通信(dhd0)1 单片机PIC1编程(发送部分)#include/*该程序实现单片机双机异步通信功能,该程序是发送部分*/unsigned char tran[8]; /*定义一个数组存储发送数据*...
关键字:
双机
异步通信
通信程序
PIC单片机
单片机串口通信是单片机非常好用的一项功能,可以和电脑和其他的单片机进行通信和交换数据从而达到某种效果。近期我们做了个程序:利用单片机串口通信编译一个程序在打开时向电脑发送问候语“hello”,然后
关键字:
串口通信
单片机
通信程序
BSP
1.串行口方式0应用编程 8051单片机串行口方式0为移位寄存器方式,外接一个串入并出的移位寄存器,就能扩展一个并行口。
<单片机串行口通信程序设计硬件连接图>例:用8051单片机串行口外接CD4094扩展...
关键字:
单片机串行
单片机教程
通信程序
51单片机
摘要:USB总线(Universal Setial Bus通用串行总线)是用来连接外围设备与计算机的新式接口,文中给出了利用CY7C68013芯片上所集成的I2C控制器来控制USB设备上数据传输的实现方法。该方法同时利用...
关键字:
程序开发
CY7C68013A
通信程序
USB通信
在使用Visual C++开发串行通信程序时,利用两种方法进行串行通信。一种是直接利用VC++访问串口,一种是利用Microsoft公司提供的ActiveX控件Microsoft Communications Contr...
关键字:
串行通信
通信程序
VC++
BSP
在计算机网络中,文件传输是一项重要的应用。研究了面向对象的网络编程语言Java的网络类库文件,利用Socket套接字实现基于TCP/IP协议网络的通信。在Client与Server间通过一个双向的通信连接,进行数据交换。...
关键字:
JAVA
网络通信
通信程序
BSP
本文研发了一套基于USB接口的数据采集系统,整个系统的设计涉及到硬件、设备固件(Firmware)、USB设备驱动程序及客户应用软件。下面分别加以说明。
关键字:
接口通信
USB接口
通信程序
BSP
本文基于ARM720T内核的HMS30C7202嵌入式系统和Redhat9.0操作系统,对基于TCP/IP协议的嵌入式板机网络通信程序的设计与开发技术进行了研究,设计了程序,实现了PC机和板子之间的网络通信服务。
关键字:
嵌入式系统
通信程序
HMS
BSP
通过分析网卡基本通信过程控制和数字信号处理器(DSP)对网卡直接编程方法,成功设计基于DSP的网络通信程序,从而最终实现DSP系统数字化和网络化的融合。
关键字:
DSP
网络通信
通信程序
寄存器
通过分析网卡基本通信过程控制和数字信号处理器(DSP)对网卡直接编程方法,成功设计基于DSP的网络通信程序,从而最终实现DSP系统数字化和网络化的融合。
关键字:
DSP
网络通信
通信程序
寄存器
介绍了分布式控制系统中上位PC机与下位单片机异步串行通信的通信协议;同时介绍了在VC++6.0环境下用PComm编写的PC机通信程序来实现上位机和下位机异步串行通信的方法,给出了PComm编程实例和下位机程序模块流程图。
关键字:
通信程序
PC机与单片机
PCOMM
缓冲区