微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > MCU和DSP > 基于双模式USB接口的多处理器数据采集系统设计

基于双模式USB接口的多处理器数据采集系统设计

时间:08-06 来源:电子技术应用 点击:

现代军事、工业自动化设备功能不断完善、集成化程度越来越高,这就对配套的数据采集以及检测系统提出了更高要求。特别是条件恶劣、野外以及空间狭小封闭的测试环境中,不仅要求系统能够快速稳定地完成数据采集,同时更需要将采集的数据保存于大容量存储设备中,方便后续的分析处理[1]。目前,由于高速率、低成本、易扩展的优点,USB总线已成为计算机与外设之间数据交换的主流总线协议。采用USB接口的各种大容量移动存储设备具有高速、抗震、稳定的优点,特别适用于以上的数据采集场合。

 本文采用USB总线接口芯片CH375设计了具有主/从双模式的多单片机数据采集系统,既能完成与上位机的实时通讯,也可在环境条件恶劣时作为便携式系统完成采集数据在USB移动存储设备上的转存。


1 双模式USB接口芯片CH375简介

 CH375是南京沁恒有限公司生产的USB总线通用接口芯片,支持USB-HOST主机方式与USB-DEVICE/SLAVE设备方式,并可动态切换。CH375具有8 bit数据总线,读、写、片选控制以及中断输出,可以方便地挂接到单片机等控制器的系统总线上。主机模式下,芯片还提供了串行通讯方式,控制器可以通过串口操作USB移动存储设备。此外,CH375内置了处理Mass-Storange海量存储设备的专用通讯协议固件,支持常用的USB全速设备,兼容USB2.0设备(U盘、闪盘以及USB移动硬盘)[2]。外部控制器可以通过该芯片直接以扇区为单位进行读写操作控制。如果需要处理与PC机兼容的文件系统,可以利用厂家提供的C语言子程序库实现USB存储设备的文件级接口,从而降低开发难度、节约成本。


2 硬件系统设计

本文介绍的数据采集系统用于某型数字式随动系统的性能测试,其硬件框图如图1所示。

 系统硬件主要由主控单片机、信号调理模块、USB通讯模块、从控单片机组以及键盘显示模块五部分构成。工作时,先由主控单片机向从控单片机组发出测试开始指令,从控单片机组完成与被测随动系统数控电路的通讯,一方面测试通讯情况是否正常,另一方面维持随动系统正常工作。通讯测试结果经串行口由从控机组送回主控机,作为性能测试的部分结果数据。随动系统正常运行后,信号调理模块将被测信号滤波整理,分批送入主控单片机的ADC输入端,主控单片机经CH375将被测数据写入USB存储设备或发送至PC机直接处理。

 基于USB主机模式下文件级子程序库编程的需要,主控单片机采用宏晶科技有限公司的STC12C5A60S2。该单片机工作频率可达35 MHz,具有1280 B片内RAM数据存储器与60 KB片内Flash程序存储器,8通道10 bit高速ADC,2个全双工异步串行口[4],完全满足数据采集与CH375主/从双模式的控制要求。

 USB主机接口电路如图2所示。CH375芯片工作于并口方式,将其TXD引脚接地,并行接口挂接到单片机系统总线上。其8 bit双向数据总线D0~D7直接与单片机的P0数据总线相连,地址输入线A0,读、写选通引脚RD、WR和片选信号CS,分别连接至单片机的P5.0~5.3引脚。中断请求输出INT连接到单片机的中断输入INT0引脚,中断请求为低电平有效。

 从控单片机组共有4片STC12C5A60S2,每片第一串口与主控机相连,实现主、从机数据与控制传输。其中3片经并行口、1片经第二串行口与随动数控电路通讯。从控机与随动系统数控电路进行并口通讯的各信号线包括:8 bit数据总线D0~D7,通讯启动信号START,应答信号ACK,同步信号SYN,中断信号INT。

 系统工作模式由主控单片机外接键盘动态切换。开机后默认工作于主机模式,等待USB存储设备连接。单片机检测存储设备连接并判断符合要求后,系统可正常测试采集数据,并转存于外接存储设备,供后期导入PC机分析处理。测试条件允许时,也可将系统设置为与PC机直接相连的从机模式。这时,数据采集过程完全由上位机控制,可实现较为复杂的性能参数与故障分析测试,提高工作效率。


3 双模式系统软件设计

使用51系列兼容单片机C语言编程软件Keil uVision3编写单片机程序,完成数据采集、通讯控制、数据处理等功能。主程序流程如图3所示。

3.1 主机模式程序设计

 厂家提供了适用于单片机操作U盘的文件级子程序库CH375HF6.LIB,将主机模式下处理USB存储设备的API进行了封装,支持FAT12、FAT16和FAT32文件系统[5]。该文件级子程序库的所有API函数在调用后都有操作状态返回,但不一定有应答数据,API参数在CH375HF6.H文件内进行说明。调用的API子程序主要有:芯片初始化CH375Init( ),查询设备准备好CH375DiskReady(),查询存储设备信息CH375DiskQuery(),新建文件CH375FileCreate(),打开文件CH375FileOpen(),写文件数据CH375ByteWrite(),关闭文件CH375FileClose()等[6]。操作U盘存储采集数据的程序流程如图4所示。

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

网站地图

Top