基于C8051F320的数据采集系统USB接口方案

发布者:创新驿站最新更新时间:2012-05-23 来源: 21ic 关键字:C8051F320  数据采集系统  USB接口 手机看文章 扫描二维码
随时随地手机看文章

随着现代工业生产和科学研究对数据采集系统的要求日益提高,传输速度、纠错能力和操作安装的简易性是人们进行采集数据时一直关注的问题,这使得数据通讯技术不可避免地成为了其中的关键技术,而数据采集系统采用何种接口进行数据通讯是影响系统整体效率的重要因素之一。USB(通用串行总线)总线接口技术由于具有速度快、设备安装和配置容易、易于扩展、能够采用总线供电及使用灵活等优点,已逐渐成为现代数据传输的发展趋势[1-5]。

本文给出了一种基于C8051F320的数据采集系统USB 接口设计方案,完成了USB 接口硬件电路设计和软件程序开发,并将其应用到仓库视频监控系统中,实现了快速、方便的数据采集和传输。

2 C8051F320 单片机原理

2.1 C8051F320 的主要特点

C8051F320 是由美国Cygnal 公司推出的C8051F 系列单片机中的一款用于USB 设备的小型单片机。该器件内部集成有2304 Byte RAM 和16K Byte 的Flash 存储器。由于利用该芯片进行设计时可以不需要任何外部元件(包括电阻和晶振),因而是小型USB 应用的理想选择。与其它同类USB 产品相比,C8051F320 主要具有如下一些特点:

① 满足 USB2.0 协议;

② 可在全速(12 Mbps)或低速(1.5 Mbps)下运行;

③ 集成有一个时钟源,对于全速或低速传输均可不用外部晶振;

④ 支持 8 个灵活通用的USB 端点;

⑤ 内置一个 1K 的USB 专用缓冲存储器;

⑥ 集成了一个 USB 接收器,不需要外部电阻。

⑦ 具有高速增强型 8051 MCU 内核,该MCU 内核采用流水线式指令结构,70%的指令执行时间为一个或两个系统时钟周期,处理速度可达25MIPS(时钟频率为25MHz 时)。此外,C8051F320 还有许多其它特性,如支持在系统编程(ISP),带有可编程的数字I/O和数字交叉开关,可提供全速、非侵入式的在系统片内调试电路等。

2.2 C8051F320 的引脚及封装

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 或外部晶振输入;

1.jpg

P0.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 均为相应的端口引脚。

3 USB 接口电路设计

3.1 USB 接口硬件电路设计

由于 C8051F320 微控制器内部集成了一个USB 接收器,简单易用,因此,用它进行USB 接口的硬件设计也显得比较简单。主要包括两部分的内容,一是接口转换模块供电方式的选择,二是USB 引脚的连接。图2 是其USB 接口电路图。模块选择自供电模式,图2所示的整个模块的供电电源都来自外部5V 电源。C8051F320 中的USB 收发器内部已经集成了上拉电阻,不需要任何外部器件就可直接与USB 接口相连。

2.jpg
图 2 USB 接口连接电路图

3.2 USB 设备固件程序设计

USB 设备固件程序是USB 设备必须实现的部分,它的主要目的是:当USB 设备连接到主机上时,主机可以发现新设备,然后建立连接并完成数据传输任务,也就是能够让上位机能够正常检测和识别USB 设备。因此,本固件设计的目的是使主机能够识别C8051F320设备,以及正确的与它进行通信。同时为了在USB 上达到最大的传输速度,C8051F320 固件设计成中断驱动。[page]

C8051F320固件分为两个部分:前台主程序和后台中断服务程序(ISR)。在USB固件程序中,最重要的工作就是USB描述符的定义和USB传输中断的处理。USB描述符是USB协议定义的一套描述设备功能和属性的固定结构的描述语言。USB2.0中的描述符包括设备描述符、配置描述符、接口描述符、端点描述符等8种标准描述符和其它一些非标准描述符。USB主机通过USB描述符完成设备类型的识别和配置,客户端驱动程序通过这些信息来正确访问设备并与其通信。本文在对C8051F320的配置中除了端点0外还用到了端点1和端点2,它们的描述符如表1所示。

1.jpg

USB传输中断的处理也是一个重要的部分。传输中断的处理由ISR和前台主程序共同完成。这两部分的数据交换通过事件标志和数据缓冲区来实现[6]。当C8051F320的USB引擎从主机收到一个数据包时,就会产生一个中断请求,C8051F320立即响应中断,通过读取USB功能控制器的三个中断寄存器CMINT、IN1INT和OUT1INT来判断中断来源(USB复位中断、端点0中断、端点1输入中断、端点2输出中断),然后根据不同的中断来源跳入相应的处理模块以进行不同的中断处理,并在处理完毕后返回。其中,端点0是每个USB
设备都必须支持的默认控制传输端点,主要用于主机对USB设备的配置、状态信息的获取和设备错误的纠正等,它的中断处理模块由控制输出和控制输入两部分组成。每次传输首先由设置事务开始,然后根据设置事务数据不同的中断来源跳入相应的处理模块以进行不同的中断处理,并在处理完毕后返回。同时在ISR中,固件将数据包从C8051F320的USB引擎内部缓冲区移到一个自定义的数据缓冲区,并在随后请求清零其内部缓冲区,以使其能够继续接收新的数据包。然后返回到主循环,检查自定义缓冲区内是否有新的数据并开始其它的任务。由于这种结构,主循环只用检查自定义缓冲区内需要处理的新数据,专注于新数据的处理,而ISR也能够以最大速度进行数据的传输。这样,程序对USB的操作更加简单,也便于程序的维护。主程序和端点0的控制传输程序流程分别如图3、图4所示。端点1和端点2的程序流程与之类似。

4数据的接收和显示

在主机中安装基于C8051F320USB设备的驱动程序(可以在新华龙网站上下载)之后,该设备就会被默认成该主机的一个串口,因此在主机的处理中可以将它当作一个虚拟的串口进行处理,读取其数据就如读串口数据一样方便,很快就能够建立快速通信平台。主机软件采用VC++开发的,串行通信部分采用API函数直接进行编写。它为应用程序提供了通过串行接口收发数据的方法。主机软件使用API文件函数进行串口通信的控制。具体函数以及使用,可以查阅MSDN。将基于C8051F320的USB接口电路应用到仓库视频监控系统中,其系统结构框图如图5所示。

2.jpg

5结束语

本文利用C8051F320速度快、处理能力强、结构简单等特点,设计了一种基于C8051F320的数据采集系统USB接口方案,给出了USB接口电路具体的设计方法,并对主机的数据和显示进行了开发。将设计的USB接口应用到仓库视频监控系统中,能够实现快速、方便的数据传输,数据通信能达到上兆的传输速率,满足了实时、快速传递数据的要求。

关键字:C8051F320  数据采集系统  USB接口 引用地址:基于C8051F320的数据采集系统USB接口方案

上一篇:51单片机8*8点阵LED显示原理及程序
下一篇:采用MCS51单片机的大屏幕LED显示屏高速控制方案

推荐阅读最新更新时间:2024-03-16 13:00

通用USB接口模块设计之AVR单片机
1 引言 USB接口以其数据传输快、连接简单、易于扩展、支持热插拔等特点已成为外设与PC通信的主要方式之一。随着嵌入式系统的发展,嵌入式微处理器需增加通用的USB接口,以便实现与PC等USB主机系统的通信。针对这样的需求,这里采用PHILIPS公司的USB接口器件PDIUSBD12和Atmel公司的AVR系列单片机ATmega8设计一种通用的USB接口模块。该模块可方便为各种嵌入式微处理器增加USB接口,从而实现与USB主机系统的高速通信。 2 系统硬件设计 该系统模块的控制核心是AVR高速单片机ATmega8。AVR单片机是新一代基于哈佛结构的高速RISC微控制器,具有速度快、价格低、可靠性高,I/O口线驱动能力强和片内集成
[单片机]
通用<font color='red'>USB接口</font>模块设计之AVR单片机
基于CAN的多通道数据采集系统的设计
    近年来随着我国航空工业的不断壮大,我国航空发动机的自主设计研制进程也越来越快。在任何型号航空发动机定型之前都要经过各种严格的测试,如振动、压力、噪声、转速及发动机电子控制单元输出信号的检测等。通过对其进行的各项测试才能及时发现其设计缺陷,并根据测试记录的数据进行改进。因此设计完成一套适合航空发动机动态测试的多通道数据采集系统就显得尤为重要了。     航空发动机的动态测试需要数据采集系统配合上位机来完成。数据采集系统将各传感器及发动机控制单元输出的信号进行调理、采集、分析处理后上传至上位机,并及时接收发动机的电子控制单元输出的数字信号,配合上位机完成相应的控制。现有测试当中数据采集系统都是采用数据采集卡,另外配备调理电
[嵌入式]
基于BlueCore2External蓝牙芯片的USB接口设计
1 前言 蓝牙是一种全新的无线数据交换技术,他的应用省却了各种数字设备之间需要经过 复杂的软件安装与调试的有线连接过程,做到紧紧咬合、无缝连接,使各种电子设备与家用 电器融为一体,给人们的生活和工作带来全新的感受。 蓝牙技术集成到各种数字设备中的方式有2种:一种是单微控制器方式,即所有的蓝牙低层传输协议(包括蓝牙射频、基带与链路控制器、链路管理器)与高层传输协议(包括逻辑链 路控制与适配协议、服务发现协议、串口仿真协议、网络封装协议等)以及用户应用程序都 集成到一个模块当中,整个处理过程由一个微处理器来完成;另一种是双微控制器方式,即 蓝牙协议与用户应用程序分别由主机和主机控制器来实现(低层传输协议一般通过蓝牙硬件模块实
[网络通信]
完全隔离式电导率测量数据采集系统
连接/参考器件 AD5934 250 kSPS、12位阻抗转换器网络分析仪 AD8606 精密、低噪声、轨到轨输入/输出、CMOS、运算放大器(双通道) ADG715 CMOS、低电压、I2C控制、八通道单刀单掷开关 ADuM1250 双通道I2C数字隔离器 ADuM5000 2.5 kV、隔离式DC/DC转换器 评估和设计支持 电路评估板 CN-0349电路评估板(EVAL-CN0349-PMDZ) SDP-I-PMOD转接板(SDP-PMD-IB1Z) 系统演示平台,SDP-B (EVAL-SDP-CB1Z) 设计和集成文件 原理图、布局文件、物料清单 电路功能与优势 图1显示的电路提供了完
[测试测量]
完全隔离式电导率测量<font color='red'>数据采集系统</font>
基于FPGA的高速数据采集系统的设计方案
  1.引言   传统的数据采集系统,通常采用MCU或DSP作为控制模块,来控制A/D,存储器和其他一些外围电路。这种方法编程简单,控制灵活,但缺点是控制周期长,速度慢。特别是当A/D本身的采样速度比较快时,MCU的慢速极大地限制了A/D高速性能的使用。MCU的时钟频率较低并且用软件实现数据的采集,软件运行时间在整个采样时间中占的比例很大,使得采样速率较低。   随着数据采集对速度性能的要求越来越来高,传统的采集系统的弊端越来越明显。本设计采用FPGA,各模块设计使用VHDL语言,其各进程间是并行的关系。它有MCU无法比拟的优点。FPGA的时钟频率高,全部控制逻辑由硬件完成,实现了硬件采样,速度快。   2.系统的总体设计
[单片机]
基于FPGA的高速<font color='red'>数据采集系统</font>的设计方案
USB接口的高速数据采集卡的设计与实现
现代工业生产和科学研究对数据采集的要求日益提高,在瞬态信号测量、图像处理等一些高速、高精度的测量中,需要进行高速数据采集。现在通用的高速数据采集卡一般多是PCI卡或ISA卡,存在以下缺点:安装麻烦;价格昂贵;受计算机插槽数量、地址、中断资源限制,可扩展性差;在一些电磁干扰性强的测试现场,无法专门对其做电磁屏蔽,导致采集的数据失真。 通用串行总线USB是1995年康柏、微软、IBM、DEC等公司为解决传统总线不足而推广的一种新型的通信标准。该总线接口具有安装方便、高带宽、易于扩展等优点,已逐渐成为现代数据传输的发展趋势。基于USB的高速数据采集卡充分利用USB总线的上述优点,有效解决了传统高速数据采集卡的缺陷。 1 USB数据采
[单片机]
<font color='red'>USB接口</font>的高速数据采集卡的设计与实现
基于CY7C68013芯片高速USB数据采集系统方案设计
在图像处理、瞬态信号测量等一些高速、高精度的应用中,需要进行高速数据采集。USB 2.0接口以其高速率等优点渐有取代传统ISA及PCI数据总线的趋势,热插拔特性也使其成为各种PC外设的首选接口。EZ-USB FX2是Cypress公司推出的集成USB 2.0的 微处理器 ,它集成了USB 2.0收发器、SIE(串行接口引擎)、增强的8051 微控制器 和可编程的外围接口。本文将介绍基于EZ-USB FX2系列CY7C68013芯片的高速数据采集系统的设计,该系统具有限幅保护功能,固件和驱动程序的编写简便,能够完成对数据的高速采集和传送。   数据采集系统方案设计   数据采集系统的框图如图1所示,硬件电路如图2所示。其中,AD1
[嵌入式]
高精度单片数据采集系统MAX1400的原理及应用
    摘要: MAX1400是美国MAXIM公司推出的一种基于∑-△A/D转换技术的高精度单征数据采集系统芯片。文中介绍了它的工作原理、内部结构及编程要点,并给出了MAX1400应用在压力变送器中的一种典型应用电路。     关键词: 数据采集系统  A/D转换  ∑-△A/DC  MAX1400 传统的数据采集系统大多采用Nyquist率ADC(积分型、逐次比较型、闪烁型等),当需要较高分辨率时(16bit以上),这些传统的A/D转换技术将面监很多困难,因为它们需要复杂的高阶模拟抗混迭滤波器、定时以及幅度误差都极小的采样-保持电路等,因而实现起来困难较大,成本很高。新型的∑-△A/D转换技术能够比较低的成本获
[半导体设计/制造]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved