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

发布者:岭南布衣最新更新时间:2011-05-16 关键字:双模式USB接口  数据采集系统 手机看文章 扫描二维码
随时随地手机看文章

    现代军事、工业自动化设备功能不断完善、集成化程度越来越高,这就对配套的数据采集以及检测系统提出了更高要求。特别是条件恶劣、野外以及空间狭小封闭的测试环境中,不仅要求系统能够快速稳定地完成数据采集,同时更需要将采集的数据保存于大容量存储设备中,方便后续的分析处理。目前,由于高速率、低成本、易扩展的优点,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移动硬盘)。外部控制器可以通过该芯片直接以扇区为单位进行读写操作控制。如果需要处理与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所示。


  采用Keil编写U盘操作程序时,需要将CH375HF6.LIB库文件和CH375HF6.H添加到项目中。主机模式单片机程序基本框架如下:

  CH375_WR_CMD_PORT(CMD_SET_USB_MODE);

  //设置USB工作模式

  CH375_WR_DAT_PORT(6);

  //模式代码,已启用的USB主机模式    DelayuS(20);

  //延时

  while(CH375DiskConnect( )!=ERR_SUCCESS)

  //查询U盘是否连接

  DelaymS(200);                    //延时,等待U盘工作正常

  while(CH375DiskReady( )!=ERR_SUCCESS)

  //检查U盘是否准备好

  ……

  CH375DiskQuery( );

  //查询U盘信息:总容量、剩余容量、文件系统

  ……

  while ( i!=ERR_SUCCESS )

  {strcpy( mCmdParam.Open.mPathName, "TEST" );

  //目录名

  i=CH375FileOpen( );}                          //打开目录

  while(i!=ERR_SUCCESS)

  {strcpy(mCmdParam.Open.mPathName,TESTData);

  //输入文件名

  i=CH375FileOpen( ); }                    //打开文件

  ……

  mCmdParam.Write.mSectorCount=SecCount;

  //写入所有扇区的数据

  current_buffer=& FILE_DATA_BUF[0];

  //设置存放数据的缓冲区的起始地址

  CH375FileWrite( );                          //向文件写入数据

  ……

  CH375FileClose( );                        //关闭文件

  3.2 从机模式

  此模式下,单片机通过CH375与PC机进行通讯,完成采集方案下载与数据上传,程序流程图如图5所示。


  单片机重新初始化CH375并设置为设备工作模式。测试芯片正常连接后,系统可接收PC机发送的数据。主控单片机根据下载的采集方案进行采集测试,并将结果数据存入采集缓冲区,待缓冲区满,则向PC机请求上传。采集结束,数据全部上传,系统完成一个从机模式采集工作过程。从机模式单片机程序基本框架如下:

  CH375Init();                            //初始化CH375

  DelaymS(50);                                   //延时

  CH375_WR_CMD_PORT(CMD_SET_USB_MODE);

  //设置USB工作模式

  CH375_WR_DAT_PORT(2);

  //模式代码,已启用的内置固件USB设备模式    DelayuS(20);

  //延时

  CH375_WR_CMD_PORT(CMD_CHECK_EXIST);

  //测试工作状态

  CH375_WR_DAT_PORT(0x57);             //写入测试数据    DelayuS(10);

  //延时

  If(CH375_RD_DAT_PORT( )==0xA8);

  //读出测试数据是否按位取反,判断工作状态

  ……

  CH375_WR_CMD_PORT(CMD_GET_STATUS);

  //中断子程序中,读取中断状态命令

  int_sn=CH375_RD_DAT_PORT( );            //读中断号     ……

  if (int_sn ==USB_INT_USB_EP2_OUT)

  CH375_WR_CMD_PORT(CMD_RD_USB_DATA);

  //读取上位机测试方案数据并释放缓冲区

  ……

  test_all( );                 //按下载方案测试采集数据

  ……

  While (flag_upload == 0)                  //数据上传未结束

  {

  ……

  CH375_WR_CMD_PORT(CMD_WR_USB_DATA 7);

  //批量上传采集数据

  CH375_WR_DAT_PORT(n);            //写入上传字节数

  for (i=0;i

  CH375_WR_DAT_PORT(*test_buf ++);

  //上传采集结果,指针自动加1

  ……

  }

  ……

  if (int_sn ==USB_INT_USB_EP2_IN)

  //中断子程序中,中断号为端点2发送数据完毕

  CH375_WR_CMD_PORT(CMD_UNLOCK_USB);

  //释放缓冲区

  基于CH375双模式USB接口芯片,设计完成了主/从双模式的数据采集测试系统。充分利用接口即插即用、便携式的特点,解决了特殊环境下的测试困难问题。同时,系统具有双模式、多单片机的优势,能够满足高标准的测试需求,具有广阔的应用前景。

关键字:双模式USB接口  数据采集系统 引用地址:基于双模式USB接口的多处理器数据采集系统设计

上一篇:基于双模式USB接口的多处理器数据采集系统设计
下一篇:USB端口对NiMH电池智能充电的实现

推荐阅读最新更新时间:2024-05-02 21:23

USB2.0接口和DSP构成的高速数据采集系统
随着USB2.0/DSP数字信号处理理论和计算机的不断发展,现代工业生产和科学技术研究都需要借助于数字处理方法。进行数字处理的先决条件是将所研究的对象进行数字化,因此数据采集与处理技术日益得到USB2.0/DSP重视。 在图像USB2.0/DSP处理、瞬态信号检测、软件无线电等一些领域,更是要求高速度、高精度、高实时性的数据采集与处理技术。现在的高速数据采集处理卡一般采用高性能数字信号处理器(DSP)和高速总线技术的框架结构。DSP用于完成计算量巨大的实时处理算法,高速总线技术则完成处理结果或者采样数据的快速传输。DSP主要采用TI或者ADI公司的产品,高速总线可以采用ISA、PCI、USB等总线技术。 目前,使用USB2.
[嵌入式]
一种基于Compact PCI总线的数据采集系统设计
引言   数据采集的实时性和可靠性是关系工业控制系统性 能的重要因素,数据采集系统的速率主要取决于A/D转换、通信接口和总线传输的速率。 TI公司推出的DSP芯片TMS320F2812具有很高的工作频率和丰富的外设资源,能够满足采集系统的实时性要求,同时又降低了系统设计的成本。Compact PCI总线作为PCI总线向工业控制领域的拓展,除了 具备高速的传输速率,还具备优良的机械特性和电气特性。本文研制了一种基于Compact PCI总线的数据采集系统,系统以DSP作为控制核心,可以进行模拟信号采集、并行接口和串行接口的数据信号的采样。 1 Compact PCI总线简介   Compact PCI总线与PCI标准完全
[嵌入式]
基于MSC1210Y5的多通道数据采集系统
1 引言 以MSC1210Y5为核心的数据采集部分在工作时投放与水下、工作在无人值守的自容方式。由于海洋环境恶劣,所以仪器必须具有很好的可靠性及精确度,否则,就有可能给航行在测点附近海域的船舶提供不准确的海洋环境参数,笔者在灯船水文气象实测数据自动显示助航系统水下分机的设计中,成功应用了具有增强型8051内核微控制器和闪存的精密模数转换器MSC1210Y5,避免了微控制器和AD转换电路的单独分立设计,简化了电路,降低了功耗,增强了可靠性,提高了整个系统的工作速度。 2 MSC1210Y5的特性 MSC1210Y5是TQFP-64封装的低功耗完全集成混合信号IC,供电电压为2.7V-5.25V,它具有高精度的积分型模数转换器,
[应用]
SimpliciTI网络协议的无线数据采集系统设计
引言 随着生产技术的现代化进程,各种生产环境条件下的监控系统也在不断发展,传统的监控系统多采用有线的方式。无线传感器网络的出现提供了另外更好的选择。对比于传统的有线网络,无线局域网的应用价值体现在: 可移动性。由于没有线缆的限制,用户可以在不同的地方移动工作,网络用户不管在任何地方都可以实时地访问信息。 布线容易。由于不需要布线,消除了野外布线的繁琐工作,因此安装容易,建网时间可大大缩短。 组网灵活。无线局域网可以组成多种拓扑结构,可以十分容易地从少数用户的点对点模式扩展到上百个用户的基础架构网络。 另外,无线网络通信范围不受环境条件的限制,室外可以传输几公里、室内可以传输数十、几百米。在网络数据传输方面也有与有线网络等
[单片机]
SimpliciTI网络协议的无线<font color='red'>数据采集系统</font>设计
一种基于单片机的车辆虚拟仪表数据采集系统设计
  1 引言   现在总线技术有很多种。从成本上讲,RS-232/485的成本都比CAN低;速度上讲,工业以太网等也都不错。为什么唯独CAN在汽车电子中得到亲睐?   从成本上来说,CAN比UART、RS-232/485高,但比以太网低;从实时性来说:CAN的实时性比UART和以太网高,为了保证安全,车用通信协议都是按周期性主动发送,不论是CAN还是LIN,对实时性要求高的消息其发送周期都小于10ms(每辆车都有好几条这样的消息),发动机、 ABS和变速器都有几条这样的消息;从可靠性来说,CAN有一系列事故安全措施,这是UART和以太网都不具备的,多点冗余也是UART(点对点传输)和工业以太网(数据传输距离短)难于实现的,所以C
[单片机]
一种基于单片机的车辆虚拟仪表<font color='red'>数据采集系统</font>设计
基于AD7892SQ和CPLD的数据采集系统
0 引 言 本系统以AD7892SQ和CPLD(复杂可编程逻辑器件)为核心设计了一个多路信号采集电路,包括模拟多路复用、集成放大、A/D转换,CPLD控制等。采用硬件描述语言Verilog HDL编程,通过采用CPLD使数据采集的实时性得到提高。 1 硬件设计 针对多路信号的采集,本系统采用4/8通道ADG508A模拟多路复用器对检测的信号进行选择,CMOS高速放大器LF156对选中的信号进行放大,AD7892SQ实现信号的A/D转换,CPLD完成控制功能。电路如图1所示。 AD7892SQ是美国AD公司生产的LC2MOS型单电源12位A/D转换器,可并行或串行输出。 AD7892SQ A/D转换器具有如下特点:单
[嵌入式]
基于USB总线的嵌入式CCD图像数据采集系统的设计
CCD图像数据的采集与普通视频信号的采集相比,其最大的特点是数据传输速率高,传输通道多。目前,通用的CCD图像数据采集方法是在计算机中插入高速数据采集卡,采集卡与CCD相机间通过点对点物理层接口(如RS-422、RS-485)进行数据传输,高速数据采集卡接收到数据并通过PCI总线将数据写入计算机内存,然后利用采集卡的存储功能将数据通过IDE接口写入计算机硬盘。这种方法虽然简单可靠,但对多通道、高速图像数据的采集在数据传输和存储方面有一定的局限,容易引起数据帧的丢失,并且随着传输通道的增多,引起传输导线数量增加,系统功耗及噪声也随之增大。通用串行总线USB能很好地解决这些问题,具有连接方便、无需外接电源、即插即用、支持热插拔、高带宽
[单片机]
基于USB总线的嵌入式CCD图像<font color='red'>数据采集系统</font>的设计
isp1032E在高精度数据采集系统中的应用
 引言   isp在系统可编程技术是相对于以往可编程器件(PLD)实现逻辑设计时必须有专用的烧录器而言的,它不需要将isp器件拆上拆下即可实现对所需电路逻辑设计的反复设计和编程。这样就给系统设计研发、电路板调试和升级维护带来了极大的方便,从而缩短了系统的研发周期,实现了硬件电路的软件化设计。   相对于常用的PLD器件,isp器件具有体积小、容量大、编程方便、便于在线调试等优点,可实现较大规模的电路设计,且可实现编程加密。尤其在输入输出管脚众多的情况下,可以大大优化系统设计、节省系统空间。而相对于FPGA器件而言,isp器件的容量要小些,但其片内的逻辑一经加载就不会因掉电而再丢失。若要改变逻辑,只需通过下载电缆重新加载即可
[嵌入式]
isp1032E在高精度<font color='red'>数据采集系统</font>中的应用
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

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

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