上位机应用软件设计

上传人:ni****g 文档编号:467887907 上传时间:2022-09-01 格式:DOCX 页数:17 大小:292.33KB
返回 下载 相关 举报
上位机应用软件设计_第1页
第1页 / 共17页
上位机应用软件设计_第2页
第2页 / 共17页
上位机应用软件设计_第3页
第3页 / 共17页
上位机应用软件设计_第4页
第4页 / 共17页
上位机应用软件设计_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《上位机应用软件设计》由会员分享,可在线阅读,更多相关《上位机应用软件设计(17页珍藏版)》请在金锄头文库上搜索。

1、文 档 中 没 有 指 定 样 式 的 文 字1.1上位机应用软件设计在用户看来,USB系统就是USB设备到主机的连接,但对开发人员来说,这种连 接可以被分为3个逻辑层:功能层、USB设备层和USB总线接口层,且每一层都是由 主机和USB设备的不同模块组成如图1.1.1所示。主机客户软件UEB设备UEB系统软件主机接口软件数据管道控制管道.UEB接电绳吨物理信息流=逻辑信息流图1.1.1 USB通信模型在主机和设备之间通信最终都通过USB电缆进行,在上层水平层之间存在逻辑的 主机到设备信息流。主机上客户软件和设备功能部件之间的通信是基于实际应用需求 及设备所能提供的能力,客户软件与功能部件之间

2、的透明通信的要求,决定主机和设 备下层部件的功能以及它们的界面。1、客户软件负责和USB设备的功能单元进行通信,以实现其特定功能。这是本系统开发重点。 客户软件不能直接访问USB设备。它一般包括USB设备驱动程序和界面应用程序两部 分。USB设备驱动程序负责和USB系统软件实现接口,通常USB总线驱动程序发出I/O 请求包以启动一次USB数据传输。界面应用程序负责和USB设备驱动程序实现接口, 以操控USB设备,并向用户提供可视化操作。2、USB系统软件负责和USB逻辑设备进行配置通信,并管理客户软件启动的数据传输。一般包括 USB总线驱动程序、USB主控制器驱动程序和非USB主机软件三部分。

3、这部分软件通 常是由操作系统提供,本系统开发不需要涉及此部分。3、USB总线接口包括主控制器和根集线器两部分。根集线器为USB系统提供连接起点,主控制器 负责完成主机和USB设备之间数据的实际传输。该模块与USB系统软件的接口依赖于 主控制器的硬件实现。在USB系统中只允许一个主机,本系统主要分为3个不同模块:客户软件、USB 系统软件和USB总线接口。对于本弹丸速度测试系统来说,工作重点是放在客户软件 即上位机应用软件的编写,包括USB设备驱动程序和用户端应用程序。1.1.1上位机软件总规划如上节所介绍的,上位机的软件主要包括两个方面:一方面是USB设备驱动程序, 针对系统设计所使用的USB

4、接口芯片,给系统提供完善的应用层操作接口;另一方面 是本弹丸速度测试系统的用户端应用程序设计,负责和USB设备驱动程序实现接口, 以控制USB设备,这方面也就是本节着重要介绍的。整个软件采用MFC开发工具进行编写,界面简洁流畅,便于用户操作。1.1.2 CH375设备驱动程序USB设备的开发需要计算机端的驱动程序,驱动程序文件图标如图1.1.2所示。.INFCH375WDM.iSIS 系统文件 39 KB图1.1.2 CH375驱动程序CH375DIL. LJBOtject File Litr由于USB设备属于PnP(即插即用)设备,因此当第一次插入CH375设备时,PnP 管理器能够自动检测

5、硬件并分配I/O资源。系统初次使用该设备时,系统会提示安装 驱动程序,这就是在上节提到的硬件查找。CH375WDM.INF包括了安装驱动程序的 位置和信息,CH375DLL.DLL相当于给应用层的接口。0CH375DLL. H : 豪兀H Headed 13 KE图1.1.3 CH375头文件和库文件上位机要进行数据传输,就需要用到接口函数,因此需要有相应头文件和链接库 文件,如图1.1.3所示。CH375DLL.H是USB总线接口芯片CH375的应用层接口库。 在上位机程序和MCU程序中都要添加头文件CH375DLL.H和动态链接库。113上位机用户端程序设计 1.1.3.1用户界面设计用户

6、界面是用户操作的平台,在设计时应在完成各功能同时需最大程度地做到简 洁、美观、使用方便,主操作界面如图1丄4所示。图1.1.4上位机主操作界面下面介绍下主操作界面的各控件含义:“系统初始化”:测试子对话框一“数据处理”运行是否正常,同时对各变量进行初始 化。“打开USB”:测试USB设备是否已连接。若USB设备未连接时,点击此控件后会弹 出“打开设备失败”的提示框;若USB设备连接成功,点击此控件后则“USB设备信息” 栏中会出现相应的设备信息和状态提示,同时速度上传框中上会显示“准备采集速度” 字样,系统可正常进行USB通信。“选择靶种”:本系统针对光电靶和天幕靶两种靶种(区截装置),在实际

7、测试时可 以现场实验情况选择靶种。系统初始默认的靶种为光电靶。“确定”:即靶距确定键。当靶距根据现场测量输入完毕后,按“确定”键即将靶距传 给下位机MCU为计算速度v提供L,下传过程中此控件不可用,下传成功后此控件恢 复可用状态。“靶距确认框”:测试下传到MCU的靶距是否正确。用户点击“上传”控件将靶距重 新上传至上位机操作界面上相应的靶距确认框。如果上传靶距与输入的靶距不符时, 需重新系统初始化,若相同则说明靶距输入正确,可进行下一步的操作。靶距正确下 传是整个系统正确测试弹丸速度的基础。“上传速度”:当下位机LCD屏出现“请上传数据”字样,提示用户可进行上传速度操 作,点击此控件后此发弹丸

8、速度将会显示在速度上传框中。下一发弹丸射击结束后重 复这个操作即可再次上传。“原始文件保存”:保存未进行数据处理的文件,提供给用户原始测试报告,包括速度、动能、比动能等。“数据处理”:是打开子对话框数据分析的界面,界面如图1.1.5所示。图1.1.5上位机数据处理界面数据分析操作界面上包括“ctr 1列表”、“ctr 1保存”、“3。标准”控件。“ctr 1列表”:显示本次测试的所有弹丸速度、动能、比动能;“3。标准”:是根据3。准则标记异常数据,用户根据标记自主剔除异常数据;“ctr 1保存”:为保存数据处理后的文件。测试结束,原始文件和数据处理后的文件都保存完毕后,点击主界面的“结束关 闭

9、界面”退出。图1.1.6为上位机操作流程,用户可根据此流程图完成上位机测试操作。CH375在计算机应用层与本地端单片机(MCU)之间提供了端对端的连接,有两种 通信方式可供选择:单向数据流方式和请求应答方式。单向数据流方式使用两个方向 相反的单向数据流进行通信,具有较高的数据传输速率,但是数据不容易同步;请求 应答方式是使用主动请求和被动应答的查询方式进行通信,数据自动同步,具有较好 的交互性和可控性,程序设计相对简单,但是数据传输速率相对较低10。请求应答方式使用一个下传的主动请求和一个上传的被动应答进行交互式的双 向数据通信,两者是相互对应的。主动请求是指由计算机应用层下传给单片机的数据

10、请求,被动应答时指单片机收到数据请求后,上传给计算机应用层的应答数据,所有 通信都是有计算机应用层发起,然后以接收到单片机的应答结束,在操作主界面上提到的靶距“确认”、靶距“上传”、“上传速度”都是采用的的请求 应答方式的USB传输方式。下面将做具体介绍。HANDLET2DHandle;端点2下传设备打开句柄HANDLET1Handle;端点1上传设备打开句柄HANDLET2UHandle;端点2上传设备打开句柄表1.1.1读写API函数端点状态函数名函数内容函数作用写出数据块,指定端点 2 下传CH375WriteDataBOOLWINAPICH375WriteData(设备号iI ndex

11、,将指ULONG iIndex,定数据长度PVOIDiBuffer,ioLength的数据与PULONG ioLength );入写入缓冲区iBuffer,读取中断数据,指BOOL WINAPI定设备号iIndex,读端点 1 上传CH375ReadInterCH375ReadInter(取指定缓冲区ULONG iIndex,oBuffer中指定数PVOID oBuffer,据长度ioLength的PULONG ioLength );数据写出数据块,指定端点 2 上传CH375ReadDataBOOLWINAPICH375ReadData(设备号iI ndex,将指ULONG iIndex,定

12、数据长度PVOID oBuffer,ioLength的数据与PULONGioLength );入写入缓冲区iBuffer,表1.1.1为端点上传下传中使用到的CH375DLL.H头文件中的三个API函数,因 此上位机主程序需添加此头文件#include CH375DLL.H。1、靶距下传靶距下传是使用端点2下传端点。当点击“确认”控件时,执行voidCCH375UpDownDlg:OnButton2Down ()代码段,程序流程图见图 1.1.7。 程序主要语句如下:mTrdDown2=AfxBegiThread(mThreadDown2,this,THREAD_PRIORITY_NORMAL

13、,0,0, NULL);是建立端点2下传线程CCH375UpDownDlg *pDlg = (CCH375UpDownDlg *)pParam; memcpy(mBuf,pDlg-m_downdata2,datalen); 将要下传的数据传至 m Buf if(!CH375WriteData(ULONG)pDlg-T2DHandle,&mBuf0,&dlen)讦(!pDlg-m_close ) MessageBox(NULL,端点 2 下传失败!如果设备 断开过那么请先关闭本程序,DEBUG375,MB_OKIMB_ICONSTOP);elsechar tem50=;DownCount=Dow

14、nCount+1;sprintf(tem,Down: %d,DownCount);SetDlgItemText(pDlg-m_hWnd,IDC_DownCount,tem);如果上传成功,则靶距确认次数加1,否则出现错误提示框打开尚点2下传设蚤启和轴点2下传裁程送佛 点:!下必逋道耙距改噺熾会相应+1图1.1.7输入靶距下传软件流程图1轲出洁i誉确定a:靶距訐=位 |94T0D*le_5in Dovn: 3图1.1.8上位机靶距下传框如图1.1.8上位机靶距下传框,“5位”代表输入的靶距位数,如图中的“94700” 代表的0.947m, “DOWN: 3”表示这是本次测试第三次换靶距。本系统设

15、计的靶距可 输入5位或6位,因此靶距改变范围在0.1m9.99999m。2、靶距确认靶距确认是采用了端点1上传端点。靶距确认上传和输入靶距下传思路基本相 同,区别在于1、上传时读数据,下传为写数据;2、端点2下传缓冲区有64字节, 端点1上传缓冲区为8字节。软件编写思路为:1、USB设备打开,数据长度在范围以内的情况下,打开端点1上传设备:TlHandle=CreateFile(char*) &DeviceNameO,GENERIC_READIGENERIC_WRITE,FILE_SHARE_READIFILE_SHARE_WRITE,NULL,OPEN_EXIS TINGFILE_ATTRIBUTE_NORMAL,NULL);2、打开端点1上传线程:mTrdUp

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 建筑资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号