微波EDA网,见证研发工程师的成长!
首页 > 通信和网络 > 通信网络技术文库 > 基于USB的桩基静载荷无线测控系统设计

基于USB的桩基静载荷无线测控系统设计

时间:11-24 来源:21IC 点击:
0 引 言

现代工业生产中一般通过PCI口、ISA口或是RS 232串行接口进行数据通讯,但是这些传统的接口存在着体积庞大、共享性差、电磁抗干扰性弱等缺点,因此数据容易失真,与传统的接口相比较,USB接口技术以其即插即用、热插拔、接口体积小巧、传输可靠、良好的兼容性、共享式通信和低成本等优点,成为外围设备与计算机进行连接的新型接口。
本文针对现有桩基测试数据采集方法的弊端和实时数据监测和控制的需要,设计了一个基于USB接口传输的实验系统,此系统能够实现上位机与数据采集箱之间的快速数据传输,实现上位机对各个通道的数据进行分析、管理(及对下位机的)控制,系统安全可靠。

1 测控系统设计

该系统由负责实现采集、存储、数据传输功能的数据采集箱、上位机、无线收发模块及接收机组成。结构如图1所示。数据采集箱采用传感器前端+智能采集、控制单元(应力传感器模块,位移传感器模块,振弦传感器模块,RS 232通信模块,液压控制模块)+主控单元的架构,主控卡为数据采集箱的核心,实现与上位机的通信以及与智能数据测控单元的通信。各种传感器信号首先经过智能采集单元模块进行信号调理、A/D转换,同时与主控单元模块通过CAN总线进行数据传输,这样便于其他功能的扩展。经过主控卡读取来的信号通过无线传输模块发送给接收机,接收机再通过USB与上位机通讯。主控卡中增设有大容量NandFLASH存储器,实现传感器采集数据的存储备份。当主控卡和上位机无线传输数据失败时,可以通过主控卡上预留的RS 232接口把FLASH存储器内的数据读走,FLASH存储器内的数据掉电后也可长时间保存,增强了系统的可靠性。


系统中各模块通过底板供电,为了抗干扰消除模块之间电源的相互影响,每个模块内部对+5 V电源采用DC/DC隔离。由于在桩基施工现场一般电源不太稳定,各种重型设备引起的干扰比较大,本系统各个智能采集单元相互电气隔离,通过CAN总线进行各模块之间的通讯,增强系统了的安全性。数据采集箱采用4U欧式标准机箱,机箱由插槽、背板、电源模块等构成。由于传输距离要求不高,无线模块采用的是瑞米斯公司先前生产的并口传输模块能够实现数据的高速传输。接收机实现无线数据收发功能,是由Cypress公司的CY7C68013控制芯片扩展而来。整个系统结构紧凑,搭建方便,能够达到预定要求。
2 接收机设计

接收机由Cypress公司的CY7C68013芯片扩展而来。CY7C68013包括1个8051处理器,1个串行接口引擎(SIE),1个USB收发器,8.5 KB片上RAM,4 KBFIFO存储器以及1个通用可编程接口(GPIF)。智能串行接口引擎(SIE)执行所有基本的USB功能,并将嵌入式MCU解放出来以用于实现专用的功能,保证其持续的高性能的传输速率。

2.1 硬件设计

CY7C68013有三种可用的接口模式:端口、GPIF主控和从FIFO。本系统采用此GPIF主控模式,GPIF作为内部的主控制器与FIFO直接相连,通过编程来决定控制信号的输出状态。对于接口数据的总8位,选择FD[7:0]引脚,并设置WORDWIDE=0。控制输出引脚CTLn被用作读和写选通信号。准备好输入引脚RDYn,通过GPIF采样,并且能强制进行等待,继续或重复等操作,直至进入特定的状态。GPIF地址线随着数据传输产生地址累加。芯片时钟被配置为48 MHz的内部时钟,通过IFCLK引脚输出,见图2。


2.2 程序设计

2.2.1 固件设计

固件(Firmware)直接与硬件进行通信,主要功能是负责接受和处理主机发给设备的各种请求,并向主机返回设备的状态信息。Cypress公司为了简化固件代码的开发过程,特别设计一个固件程序框架,框架如图3所示。主要工作是完成初始化、USB标准设备请求的处理和USB挂起电源管理服务。使用框架来构造固件程序,首先框架初始化内部的状态变量,调用用户初始化函数TD_Init()。该函数返回后,初始化USB接口到未配置状态并使能中断。每隔1s进行一次设备重枚举,直到端点接受到一个SETUP包。函数TD_Init()在框架初始化期间被调用,在设备重枚举和任务调度启用之前调用该函数,用来初始化用户的全局变量。


2.2.2 驱动程序

EZ-USB FX2的开发包提供了一个通用驱动程序(GPD),可直接在应用程序中调用GPD函数来实现与设备的数据交换。GPD中提供的函数可以实现获取设备信息、上传下载固件、读写设备等操作。对GPD中的EZUSBSYS.C,EZUSBSYS.H,SOURCES进行修改,在WindowsDDK与VC++6.0利用Build命令重新编译即可生成驱动程序。使用GPD前,首先在程序中包含ezusbsys.h头文件:
#include"..\..\drives\ezusbdrv\ezusbsys.h"。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top