新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于Linux 以太网的远程数据采集系统

基于Linux 以太网的远程数据采集系统

作者:时间:2012-08-15来源:网络收藏

摘要:本文所研究的结合了Socket 技术,USB 技术、嵌入式技术(ARM+ )等,开发了一套。采集的信号,经过CPU 处理后通过USB 总线传输到Arm- 平台或者本地PC 机,实现本地监测。又可以通过传输采集的数据量到PC 机,实现远端用户通过Internet 对卡进行访问与监测。

本文引用地址:http://www.eepw.com.cn/article/148607.htm

引言

我们生活在一个五彩缤纷的模拟世界,而在数字化高速发展的今天,如何将模拟的信号 转化到数字领域显得尤其重要,这就需要数据采集技术。随着网络技术的发展,越来 越能够满足工业应用的需要。现场总线的通信功能完全可由以太网较好地完成。最近几年, 交换式以太网技术的出现大大地提高了以太网的确定性,这同时也使以太网技术在工业领域 的使用更加广泛。

1. 数据采集的总体设计

本文以太网的数据采集系统的设计目标是系统能够采集 0~2.5V 的电压信号量,然后通 过USB 接口将处理了的采样信号传输到嵌入式平台,并且可以通过以太网传输到用户。 一个良好的高速数据采集系统受很多方面的制约,例如采样的频率、AD 的精度、传输 的速度和平台通用性等等,本系统主要依靠采用高性能AD 和改变采集卡CPU 对采样的控 制方式和采样信号的处理方式来解决。设计中使用了CYPRESS 公司的EZ-USB FX2 系列芯 片CY7C68013。这款芯片有GPIF(General ProgrammableInterface)模式,可以提供高速的数 字逻辑信号给外围设备(这里给AD),该模式不受CPU 控制,是独立于CPU 存在的。这就 克服了CPU 对于高速采样的瓶颈约束,提高了对采样频率的控制能力。对于高性能AD, 文中采用了Analog devices 公司的AD7492,该芯片采样可以达到1MSPS,是12 位并行的 持续逼近型高速模数转换芯片,系统总体框图如图1。



图1 总体框图

2. 数据采集卡设计

该数据采集卡完成的不仅仅是一个数据采集的功能,而在于为以后的设计提供详细的设 计基础和平台,这些功能都可以方便的移植到以后的仪表设计中。数据采集卡的总体框图如 图2 所示,输入信号是0~2.5V 的电压信号量,需要经过限压、滤波等处理,然后直接输入 到ADC 的IN 引脚(板上的IN 引脚端子)。AD 转换的启停等控制由CPU 完成,转换时序由 GPIF 控制器控制。CPU 的GPIF 方式以查询的形式检测ADC 的BUSY 引脚,向GPIF 控制 器报告信号采集的状态。为了达到改变采样频率的目的,利用定时器按照采样频率要求控制 CPU 的IO 端口,进而控制GPIF 流程的启停。一次采集流程结束后会自动保存采集上来的 数据到寄存器中,然后CPU 处理寄存器中的数据并送到USB 输出缓冲区便可输出至USB 端口。



图 2 数据采集卡的总体框图

2.1AD 转换部分硬件设计

该设计中使用了 AD7492 作为主采样器件,AD7492 很容易与微处理器或DSP 接口。输 入信号从CONVST 的下降沿开始被采样,转换也从此点启动。AD 的输入为0-2.5V 单极性 电压。REFOUT 引脚接有最小100nF 的电容,REFOUT 引脚接有最小100nF 的电容,以稳 定内部参考电压值。CPU 负责控制AD 的启动、停止和读取采集数据等工作。设计中使用 了GPIF 模式,由AD 的连接图可以看出,68013 的CTL 引脚、RDY 引脚和AD 直接连接, 对AD 的时序进行控制。CONVST 脚接到PA7 ( 68013 的IOA^7 )用于控制采样的启停,从 而可以控制采样频率,CTL, RDY 引脚的行为由GPIF 控制,其电路图如图3 所示。



图 3 ADC 外围接线图

2.2CPU 与EEPROM 的接口电路

CY7C68013 芯片本身不带ROM,所以扩展一片64Kbit 的I2C 串行E2PROM 存储程序 代码。该芯片为低功耗应用而开发,可以充分利用FX2 的I2C 接口而不用占用其它IO 接口。 E2PROM 的连接决定了采集卡作为USB 设备上电枚举的过程。如果上电没有检测到 E2PROM 的存在,则会采用默认PID, VID。枚举;上电如果检测到连接有E2PROM 时,loader: 读E2PROM 的第一个字节来决定如何枚举,电路图如图4 所示。



图 4 EEPROM 外围接线图

2.3CPU 与键盘、显示的接口电路

由于 56 引脚的68013 只有PA, PB, PD 三组IO,对于12 位的AD,使用了PB, PD 的第 二功能,配置为FD(Fifo Data)。这样就只剩下PA 口8 个引脚可用,不足以完成键盘、显示、 测试预留等功能。所以采用了PCF8574 I2C 转I0 口的方式进行扩展。这样也可以留出足够 的IO 口用于扩展和测试,连接如图5。



图 5 CPU I/O 扩展

3.系统应用软件设计

软件设计主要涉及到三个方面:一是对用CY7C68013 做CPU 的数据采集卡的固件设计 和应用程序设计。CYPRESS 公司为其旗下的产品做了很好的技术支持,例如对该款芯片提 供了完善的固件架构。用户的应用只要在此固件基础上开发即可。二是针对数据采集卡设计 ARM-LINUX 的USB 设备驱动程序。三是ARM-LINUX 平台,为提供给用户可视 化界面设计应用程序及PC 上通过以太网采集的应用程序的设计。

3.1 USB 数据采集卡驱动程序

编写一个 USB 设备的驱动程序,首先需要把驱动程序的对象注册到USB 子系统中,然后再使用厂商标识和设备标识来判断是否已经安装了硬件。注册是在USB 驱动程序模块初

始化代码中完成。例如在初始化代码中有这样的语句:

usb register(sample_driver);

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

pid控制相关文章:pid控制原理


linux相关文章:linux教程



上一页 1 2 下一页

评论


相关推荐

技术专区

关闭