基于vc的usb接口通信程序设计

基于vc的usb接口通信程序设计

ID:3921860

大小:388.98 KB

页数:0页

时间:2017-11-25

基于vc的usb接口通信程序设计_第页
预览图正在加载中,预计需要20秒,请耐心等待
资源描述:

《基于vc的usb接口通信程序设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、万方数据第34卷第3期2008年3月电子工程师ELECTRONICENGINEERV01.34No.3Mar.2008基于VC的USB接口通信程序设计朱丽1,陈钟荣1,张秀再2(1.南京信息工程大学遥感学院,江苏省南京市210044;2.南京信息工程大学电子与信息工程学院,江苏省南京市210044)摘要:以具有USB接口的数据采集系统为例,介绍了USB接1:2的硬件和软件开发过程。设计中利用接口简单、灵活、有较高的传输速率和即插即用特性的USB2.0芯片作为数据采集系统的数据通信硬件平台。应用程序部分利用VC++的MFC框架的兼容性、

2、稳定性和Labwindows/CVI(虚拟仪器)具有灵活的交互式编程方法和丰富的库函数等功能来开发,降低了编程难度。关键词:VC++;USB;接口通信;LabWindows/CVI中图分类号:唧34.70引言随着信息技术的迅速发展,数据采集和处理技术广泛应用于雷达、通信、遥测、遥感等领域。而在早期的计算机系统上通常使用串口或并口来发送数据,每个接口都需要占用计算机内部很多的资源,传统的接口一般采用PCI总线或RS-232串行总线。PCI总线有较高的传输速率,可达132Mbit/s,也可以即插即用,但是它们的扩充槽有限且插拔不方便;RS

3、-232串行总线连接比较方便,但是传输速率太慢,不易用于高速传送数据和传送大量数据。USB(通用串行总线)集中了PCI和RS-232串行总线的优点,具有方便的即插即用和热插拔特性以及较高的传输速率,因此,将USB技术应用于数据采集是非常合适的,可以达到数据采集系统的高速度处理。目前,USB已经推出了其协议的2.0版本,速率高达480Mbit/s。本文研发了一套基于USB接口的数据采集系统,整个系统的设计涉及到硬件、设备固件(Firmware)、USB设备驱动程序及客户应用软件。下面分别加以说明。1USB接口芯片本文介绍的USB数据采集

4、系统采用了Cypress公司EZ.USBFX2系列的CY7C68013-128AC芯片,它同时集成了8051微控制器和USB2.0收发器,在提高集成度的同时也加快了数据传输的速度。在系统中,CY7C68013—128AC既是数据采集控制器又是USB控收稿日期:2007.10·19;修回日期:2007-11-24。基金项目:江苏省教育厅:高速公路气象环境自动监测系统(江苏高校高新技术产业发展项目(JH02-121))。制器,EZ.USBFX2系列有3种型号:CY7C68013-56PVC、CY7C68013-100AC、CY7C6801

5、3—128AC。该系列的芯片都是针对USB2.0的,并且与USBl.1兼容。其中,CY7C68013-128AC是128脚,TPQF封装,功能非常完善,与另外两种相比,主要是增加了16位地址总线和8位数据总线以及更多的IO口,因此,CY7C68013.128AC的可扩展性最好。图l是该芯片的内部结构图⋯。24MHz晶振陇雠『1鲨8051n核r匈莓惺l-广—_]睁懈陛些bI垒眺戳FIF04kBIe令。。。。。。。。。。。。。。。。。。。-J8/’6图1CY7C68013·128AC内部结构2USB的固件和驱动程序设计2.1固件固件是储存

6、在程序内存中的代码,它使得USB接13芯片与主机和外设中其他电路能够通信。Cypress公司给出了一个固件库和固件框架(FrameWorks),均是用KeilC51开发的。固件库提供了一些常量、数据结构、宏、函数来简化用户对芯片的使用;固件框架实现了初始化芯片、处理USB标准设备请求以及挂起状态下的电源管理等功能。该框架不添加任何代码,编码后产生的.HEX文件载入芯片就能与主机进行基本的USB通信,只是不能完成特定的任务。对于用户而言,主要的工作就是选择适当的传输方式,添加需要使用的端点(Endpoint),考虑到本系统要求实现一定·

7、S7.万方数据·计算机与自动化技术·电子工蟹蜀2008年3月数量数据的快速采集,并要迅速地将采集到的数据传输和进行分析处理,并且对数据的完整性要求较高,我们采用了块传输方式(BulkTransfers),在TD—Init()函数中添加初始化代码,亦即选择块传输方式和选择端点2、6分别为输出、输入端口,在TD—Poll()函数中添加功能代码,以实现发送和接收数据功能,关键代码分别如下:VoidTD_Imt(void)//初始化{CPUCS=((CPUCS&一bmCLKSPD)IbmCLKSPDt);//设置时钟48MHzEP2CFG=0

8、xA0;//端点2为输出端口,类型为BULK,端点缓冲大小为512EP6CFG=OxEO;//端点6为输入端口,类型为BULK,端点缓冲大小为512;}VoidTDPoll(void)∥实现发送和接收数据功能fif(en

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。