当前位置:首页 > 模拟 > 模拟
[导读]针对特殊测试环境下传统数据采集系统存储、传输数据的不便,设计了一种基于双模式USB接口的数据采集系统。该系统以CH375为USB接口芯片,STC12C5A60S2单片机为处理器,构成主从单片机系统,用于某型数字式随动系统的性能测试。该系统采用USB主/从双模式的采集方案,可将数据保存于USB移动存储设备或直接上传至PC机,大大提高了测试效率。

现代军事、工业自动化设备功能不断完善、集成化程度越来越高,这就对配套的数据采集以及检测系统提出了更高要求。特别是条件恶劣、野外以及空间狭小封闭的测试环境中,不仅要求系统能够快速稳定地完成数据采集,同时更需要将采集的数据保存于大容量存储设备中,方便后续的分析处理[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  硬件系统设计[3]
   本文介绍的数据采集系统用于某型数字式随动系统的性能测试,其硬件框图如图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<n;i++)                      //每次上传n字节
      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接口芯片,设计完成了主/从双模式的数据采集测试系统。充分利用接口即插即用、便携式的特点,解决了特殊环境下的测试困难问题。同时,系统具有双模式、多单片机的优势,能够满足高标准的测试需求,具有广阔的应用前景。
参考文献
[1]   薛小铃,李丽华.一种U盘存储的数据采集系统的设计[J].闽江学院学报, 2008,29(5):44-47.
[2]   南京沁恒电子有限公司.USB总线接口芯片CH375中文手册[EB /OL].[2005].http://wch.cn/download/ch375ds1.pdf
[3]   蒋乐涛.某型数字化随动系统分析及调测系统设计[D]. 南京:南京理工大学,2008.
[4]   宏晶科技有限公司.STC12C5A60S2系列单片机器件手册[EB/OL].[2009.6]. http://www.mcu-memory.com/
datasheet/stc/STC-AD-PDF/STC12C5A60S2.pdf
[5]   汤剑灵,高玉.USB通信芯片CH375在数据交换中的应用[J].电子工程师,2007,33(10).
[6]   位耀东,马海涛,董春波.基于双模USB接口的便携式比色计设计[J].微计算机信息,2009,25(6-2).

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

大家好,我是鲏。认识我的朋友都知道,我是一个实践派,相比研究枯燥的理论知识,我更喜欢做自己想做的项目,用技术来实现自己的想法的感觉真的很棒。所以从大学期间一直到现在,除了工作中的项目外,我依然保持着自己做项目的习惯,有坚...

关键字: 系统设计 技术选型 需求分析

(全球TMT2022年8月30日讯)近日,在2022英特尔中国数据中心合作伙伴技术峰会上,英特尔与浪潮信息等产业生态伙伴联合发布了《绿色数据中心创新实践 -- 冷板液冷系统设计参考》白皮书,分享冷板液冷技术关键部件的最...

关键字: 系统设计 英特尔 数据中心 生态系统

北京2022年8月30日 /美通社/ -- 近日,在2022英特尔中国数据中心合作伙伴技术峰会上,英特尔与浪潮信息等产业生态伙伴联合发布了《绿色数据中心创新实践 -- 冷板液冷系统设计参考》白皮书,分享冷板液冷技术关键部...

关键字: 系统设计 英特尔 数据中心 电量

摘要:近年来,受人类活动的影响,各大水域的水质污染问题越来越严重,大部分水资源受到严重污染,水质处理问题亟需解决。分析水体污染情况对改进水质有着重要意义,目前水质监测主要采用人工或无人船的方式。人工监测方式工作量大,影响...

关键字: 水质监测 无人机 系统设计

摘要:根据饶平县高堂水闸重建工程建设实际需求,对高堂水闸运行管理进行实时在线式监控与监测,通过闸门控制、视频监控、水情测报、安全监测和网络通信等系统的设计,为高堂水闸的水工建筑物安全、防洪调度和自动化管理提供技术支持,以...

关键字: 管理信息系统 水利工程 系统设计

湖州2022年7月26日 /美通社/ -- 近日,浙江省科技创新大会在浙江省人民大会堂隆重举行。大会正式颁布2021年度浙江省科学技术进步奖,隆重表彰为浙江科技创新事业和经济社会发展做出突出贡献的科技工作者及团队。...

关键字: 电梯 检测技术 系统设计 零部件

摘要:简要介绍了柴油发电机组和重油发电机组的构成和主要特点,以某发电厂重柴油发电机组系统设计为例,重点分析了重油发电机组燃油系统、润滑油系统、循环冷却水系统、压缩空气系统的设计要点,以提高柴油、重油发电机组的运行效率和运...

关键字: 重油发电机组 特性 系统设计

摘要:针对一种小型消费级水下机器人,分析了其系统总体设计及各关键子系统(推进系统、通信系统、控制系统及其他系统等)设计的要点和方法,举例介绍了一种五推进器小型消费级水下机器人。经验证,该设计方法可以用于同类型水下机器人的...

关键字: 推进器 系统设计 五推进器

提供全面高效的电源管理建模,适用于汽车和工业应用领域 加州山景城2022年5月24日 /美通社/ -- 新思科技(纳斯达克股票代码:SNPS)和Analog Devices, Inc. 近日宣布达成合作,通过...

关键字: ADI 电源系统 系统设计 新思科技

摘要:PLC以其体积小、占用空间小、辅助设施投入少、工作可靠和维修简单等优点,被广泛应用于各个领域。现介绍了一款可对铁、铝及颜色进行材料分拣的装置,分析了该分拣装置的总体结构设计、硬件设计和软件系统设计要点。该分拣装置成...

关键字: 自动分拣 PLC 系统设计

模拟

31144 篇文章

关注

发布文章

编辑精选

技术子站

关闭