新闻中心

EEPW首页>模拟技术>设计应用> 基于双模式USB接口的多处理器数据采集系统设计

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

作者: 时间:2010-09-03 来源:网络 收藏
从控单片机组共有4片STC12C5A60S2,每片第一串口与主控机相连,实现主、从机数据与控制传输。其中3片经并行口、1片经第二串行口与随动数控电路通讯。从控机与随动系统数控电路进行并口通讯的各信号线包括:8 bit数据总线D0~D7,通讯启动信号START,应答信号ACK,同步信号SYN,中断信号INT。
 系统工作模式由主控单片机外接键盘动态切换。开机后默认工作于主机模式,等待存储设备连接。单片机检测存储设备连接并判断符合要求后,系统可正常测试采集数据,并转存于外接存储设备,供后期导入PC机分析处理。测试条件允许时,也可将系统设置为与PC机直接相连的从机模式。这时,数据采集过程完全由上位机控制,可实现较为复杂的性能参数与故障分析测试,提高工作效率。
3系统软件设计
使用51系列兼容单片机C语言编程软件Keil uVision3编写单片机程序,完成数据采集、通讯控制、数据处理等功能。主程序流程如图3所示。

本文引用地址://m.amcfsurvey.com/article/187811.htm

3.1 主机模式程序设计
 厂家提供了适用于单片机操作U盘的文件级子程序库CH375HF6.LIB,将主机模式下处理存储设备的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__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( ); //关闭文件



评论


相关推荐

技术专区

关闭