图2.13 串口发送数据的时序图
2.5.3 接收数据
USART模块接收器对RXD输入线重采样。重采样为16或8倍波特率时钟,由US_MR中的OVER位设置。接收器对RXD线采样。若在1.5个比特时间内采样值为0,即表示检测到起始位,然后数据、校验位、停止位等以比特速率时钟采样。
当字符接收完成,它将传输到接收保持寄存器(US_RHR),且状态寄存器(US_CSR)的RXRDY位变高。若字符接收完成而RXRDY置位,OVRE(溢出错误)位置位。最后的字符传输到US_RHR并覆盖上一个字符。对控制寄存器(US_CR)的RSTSTA(复位状态)位写1将清除OVRE位。因此,读取接收保持寄存器(US_RHR)的低八位就可以得到接收的数据。
图2.14 串口接收数据的时序图
串口接收数据的时序图如图2.14所示。在本系统中,串口接收数据是在串口中断服务程序中实现的。
2.6 主程序流程
ARM的工作过程受显控终端诊断软件的控制。ARM负责诊断仪检测过程的控制、信号产生板硬件资源的调度、部分检测信号的判断以及以太网接口、串行接口等通信接口的管理。其主程序工作流程如图所示:
图2.15 ARM主程序流程图
在选择不同电路板检测时,ARM会有不同工作流程,以信号处理检测为例介绍检测时ARM的工作流程图:
图2.16 主控器检测ARM流程图
3 终端软件程序设计
显控单元主要完成诊断仪的显示、控制、信号检测等功能,包括一台加固计算机和显控终端软件。由于数据采集器必须使用PCI总线设备,这样加固便携计算机就需要提供PCI总线插槽。加固计算机要模拟遥控显示器、同时还要与信号产生板进行通信,加固计算机需要提供一个以太网接口与信号产生板连接,一个RS-485接口用于主控制器的检测接口或用于遥控显示板的检测。
终端界面软件采用VC++语言开发,终端软件提供友好的人机界面和交互式
操作,根据通信接口数据和数据采集器采集数据自动进行故障诊断,并显示出元器件级的故障定位。
显控终端诊断软件负责诊断过程的管理,采用结构化、模块化的软件设计思想,包括主控器、视放、距离支路、码发生器、信号处理器、电源单元、遥控显示板、方位控制板、方位驱动板检测。测试流程的设计主要根据测试的工作过程、信号关系、逻辑关系及输入输出因果关系和工作时序等关系进行编制,每个测试项目的内容、顺序及参数要求依赖于各个分系统和各个板的技术参数要求。
显控终端诊断软件控制数据采集卡的工作,对采集的数据进行实时分析和参数提取,把得到的结果与理论范围相比较,同时融合ARM和FPGA检测的部分信号的诊断结果,以及与RS232接口、RS485接口、网络接口的交互数据,综合分析被测电路板的功能模块是否正常,并将故障定位。
显控终端诊断软件同时构建了友好的人机环境,提供了丰富的辅助教学资源以及详细的操作步骤提示,同时具备诊断结果和诊断过程保存的功能。
在本设计中主要完成的是终端控制软件的软件设计。以C++语言利用软件界面的模板MFC编写而成。
软件开发采用Visual C++ 6.0可视化集成开发环境。此软件是一个功能强大的可视化软件开发工具,由许多组件组成,包括编辑器、调试器以及程序向导AppWizard、类向导Class Wizard等开发工具,visual C++ 6.0版本是使用最多的经典版本。
3.1 软件终端界面开发模板MFC
MFC,微软基础类(Microsoft Foundation Classes),同VCL类似,是一种Application Framework,随微软Visual C++ 开发工具发布。目前最新版本为9.0(截止2008年11月)。该类库提供一组通用的可重用的类库供开发人员使用。大部分类均从CObject 直接或间接派生,只有少部分类例外。 电路板故障检测仪软件设计仿真+流程图(8):http://www.751com.cn/tongxin/lunwen_2634.html