欢迎来到天天文库
浏览记录
ID:18979018
大小:98.00 KB
页数:5页
时间:2018-09-27
《基于c8051f320的数据采集系统usb接口设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、1引言 随着现代工业生产和科学研究对数据采集系统的要求日益提高,传输速度、纠错能力和操作安装的简易性是人们进行采集数据时一直关注的问题,这使得数据通讯技术不可避免地成为了其中的关键技术,而数据采集系统采用何种接口进行数据通讯是影响系统整体效率的重要因素之一。USB(通用串行总线)总线接口技术由于具有速度快、设备安装和配置容易、易于扩展、能够采用总线供电及使用灵活等优点,已逐渐成为现代数据传输的发展趋势[1-5]。 本文给出了一种基于C8051F320的数据采集系统USB接口设计方案,完成了USB接口硬
2、件电路设计和软件程序开发,并将其应用到仓库视频监控系统中,实现了快速、方便的数据采集和传输。 2C8051F320单片机原理 2.1C8051F320的主要特点 C8051F320是由美国Cygnal公司推出的C8051F系列单片机中的一款用于USB设备的小型单片机。该器件内部集成有2304ByteRAM和16KByte的Flash存储器。由于利用该芯片进行设计时可以不需要任何外部元件(包括电阻和晶振),因而是小型USB应用的理想选择。与其它同类USB产品相比,C8051F320主要具有如下一些特点
3、: ①满足USB2.0协议; ②可在全速(12Mbps)或低速(1.5Mbps)下运行; ③集成有一个时钟源,对于全速或低速传输均可不用外部晶振; ④支持8个灵活通用的USB端点; ⑤内置一个1K的USB专用缓冲存储器; ⑥集成了一个USB接收器,不需要外部电阻。 ⑦具有高速增强型8051MCU内核,该MCU内核采用流水线式指令结构,70%的指令执行时间为一个或两个系统时钟周期,处理速度可达25MIPS(时钟频率为25MHz时)。 此外,C8051F320还有许多其它特性,如支持在系统编程
4、(ISP),带有可编程的数字I/O和数字交叉开关,可提供全速、非侵入式的在系统片内调试电路等。 2.2C8051F320的引脚及封装 C8051F320的引脚排列如图1所示,封装为TQFP-32。其中VDD为数字电源;GND为模拟地;REGIN为5V校准器的输入端;RST/C2CK为设备的复位引脚或EC2调试接口的时钟信号;P3.0/C2D为端口P3.0或EC2调试接口的双向信号引脚;VBUS为USB总线输入脚;D+为USB的D+;D-为USB的D-;P0.2/XTAL1为端口0.2或外部晶振输入;P
5、0.3/XTAL2为端口P0.3或外部晶振输出;P0.6/CNVSTR为端口P0.6或ADC0外部转换开始输入脚;P0.7/VRFF为端口P0.7或外部参考电源的输入端或输出端;P0.0、P0.1、P0.4、P0.5、P1.0~P1.7、P2.0~P2.7均为相应的端口引脚。 3USB接口电路设计 3.1USB接口硬件电路设计 由于C8051F320微控制器内部集成了一个USB接收器,简单易用,因此,用它进行USB接口的硬件设计也显得比较简单。主要包括两部分的内容,一是接口转换模块供电方式的选择,二
6、是USB引脚的连接。图2是其USB接口电路图。模块选择自供电模式,图2所示的整个模块的供电电源都来自外部5V电源。C8051F320中的USB收发器内部已经集成了上拉电阻,不需要任何外部器件就可直接与USB接口相连。图2USB接口连接电路图 3.2USB设备固件程序设计 USB设备固件程序是USB设备必须实现的部分,它的主要目的是:当USB设备连接到主机上时,主机可以发现新设备,然后建立连接并完成数据传输任务,也就是能够让上位机能够正常检测和识别USB设备。因此,本固件设计的目的是使主机能够识别C80
7、51F320设备,以及正确的与它进行通信。同时为了在USB上达到最大的传输速度,C8051F320固件设计成中断驱动。 C8051F320固件分为两个部分:前台主程序和后台中断服务程序(ISR)。在USB固件程序中,最重要的工作就是USB描述符的定义和USB传输中断的处理。 USB描述符是USB协议定义的一套描述设备功能和属性的固定结构的描述语言。 USB2.0中的描述符包括设备描述符、配置描述符、接口描述符、端点描述符等8种标准描述符和其它一些非标准描述符。USB主机通过USB描述符完成设备类型的
8、识别和配置,客户端驱动程序通过这些信息来正确访问设备并与其通信。本文在对C8051F320的配置中除了端点0外还用到了端点1和端点2,它们的描述符如表1所示。USB传输中断的处理也是一个重要的部分。传输中断的处理由ISR和前台主程序共同完成。这两部分的数据交换通过事件标志和数据缓冲区来实现[6]。当C8051F320的USB引擎从主机收到一个数据包时,就会产生一个中断请求,C8051F320立即响应中断,通过读取USB功能控制
此文档下载收益归作者所有