




已阅读5页,还剩37页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
序号: 编码: 第九届“挑战杯”广东大学生课外学术科技作品竞赛作品申报书 作品名称: 远程计算机故障检测系统 学校全称: 华南农业大学 申报者姓名 (集体名称): 赵伟宁 李鹏程 张敬辉 类别:自然科学类学术论文 哲学社会科学类社会调查报告和学术论文 科技发明制作A类 科技发明制作B类 报送方式:省级报送作品高校直送作品说 明1.申报者应在认真阅读此说明各项内容后按要求详细填写。2申报者在填写申报作品情况时只需根据个人项目或集体项目填写A1或A2表,根据作品类别(自然科学类学术论文、哲学社会科学类社会调查报告和学术论文、科技发明制作)分别填写B1、B2或B3表。所有申报者可根据情况填写C表。3.表内项目填写时一律用钢笔或打印,字迹要端正、清楚,此申报书可复制。4.序号、编码由第九届“挑战杯”广东大学生课外学术科技作品竞赛组委会填写。5学术论文、社会调查报告及所附的有关材料必须是中文(若是外文,请附中文本),请以4号楷体打印在A4纸上,附于申报书后,字数在8000字左右(文章版面尺寸14.522cm)。6作品申报书须按要求由各校竞赛组织协调机构统一寄送。7.其他参赛事宜请向本校竞赛组织协调机构咨询。A2申报者情况(集体项目)说明:1必须由申报者本人按要求填写;2申报者代表必须是作者中学历最高者,其余作者按学历高低排列;3本表中的学籍管理部门签章视为申报者情况的确认。申报者代表情况姓名赵伟宁性别男出生年月1985-02学校华南农业大学系别、专业、年级信息学院04软件工程学历本科学制4年入学时间2004-9作品名称远程计算机故障检测系统毕业论文题目远程计算机故障检测系统通讯地址广州天河华南农业大学华山宿舍17-507邮政编码510642办公电住地通讯地址广州天河华南农业大学华山宿舍17-507邮政编码510642住宅电他作者情况姓 名性别年龄学历所在单位赵伟宁男21本科华南农业大学信息学院李鹏程男20本科华南农业大学信息学院张敬辉男21本科华南农业大学工程学院资格认定学校学籍管理部门意见以上作者是否为2006年7月1日前正式注册在校的全日制非成人教育、非在职的高等学校中国籍专科生、本科生、硕士研究生或博士研究生。是 否 (部门签章)年 月 日院系负责人或导师意见本作品是否为课外学术科技或社会实践活动成果是 否负责人签名:年 月 日B3申报作品情况(科技发明制作)说明:1必须由申报者本人填写;2本部分中的科研管理部门签章视为对申报者所填内容的确认; 3本表必须附有研究报告,并提供图表、曲线、试验数据、 原理结构图、外观图(照片),也可附鉴定证书和应用证书; 4作品分类请按照作品发明点或创新点所在类别填报。作品全称远程计算机故障检测系统作品分类( B)A机械与控制(包括机械、仪器仪表、自动化控 制、工程、交通、建筑等) B信息技术(包括计算机、电信、通讯、电子等) C数理(包括数学、物理、地球与空间科学等) D生命科学(包括生物、农学、药学、医学、健 康、卫生、食品等) E能源化工(包括能源、材料、石油、化学、化 工、生态、环保等)作品设计、发明的目的和基本思路,创新点,技术关键和主要技术指标本作品核心为主机故障检测卡,能够在远程计算机上使用文字,图像等直观地报告被检主机出现的故障。思路:用终端检测子系统(一张PCI卡)捕捉被诊主板的BIOS启动错误代码,通过网络通信子系统发送到远程主机,最后由在远程计算机上的分析子系统将错误信息以及处理建议显示在计算机屏幕上。本系统完成可视化检测,提高主机诊断的效率,用户在远程主机上操作基本就可以完成对主机的检测;而且提供交互功能接受用户添加笔记。关键的技术有(1)PCI制板技术(2)主板侦错技术(3)单片机和串口通信(4)软件系统编程系统的主要指标有:诊断的正确率,系统操作的便易性。作品的科学性先进性(必须说明与现有技术相比、该作品是否具有突出的实质性技术特点和显著进步。请提供技术性分析说明和参考文献资料)目前对计算机的维修主要方式是凭借经验,通常的置换法、使用主板侦错卡等。侦错卡又叫POST卡、DEBUG卡。卡上的数码管可以把主板的故障信息以十六进制的数字显示出来。在PC的操作系统引导工作完成前,数码管显示的代码总处于变化状态,等待变化停止,通过查阅使用手册大概获知主机发生的故障。虽然这些辅助设备对计算机维修提供了很大的帮助,但是使用相当不方便。本系统实现了基于串口通信的远程主机诊断,它能够很好的解决以上提出的问题。用户在被诊主板接上终端检测卡以后,可以在远程主机上完成对被诊主机的重启;能够诊断主机的故障,通过对诊断信息的分析,把诊断结果以文字,图形直接显示到控制主机的屏幕上。实现可视化诊断,控制。同时,系统接受用户的输入,用户可以添加自己的记录,方便以后的查阅。本系统经济,使用方便,为主机的维修带来更多的方便。作品在何时、何地、何种机构举行的评审、鉴定、评比、展示等活动中获奖及鉴定结果本项目取得华南农业大学2006-2007年度创新项目立项支持。申报名称为:基于网络的远程主机故障诊断的研究与设计作品所处阶 段( B )A实验室阶段 B中试阶段 C生产阶段D (自填)技术转让方式普通授权许可,转让的是系统设计技术专利作品可展示的形 式 实物、产品 模型 图纸 磁盘 现场演示 图片 录像 样品使用说明及该作品的技术特点和优势,提供该作品的适应范围及推广前景的技术性说明及市场分析和经济效益预测使用步骤:1)关闭被检主机电源。2)插上检测卡,连接好卡到远程主机的串口连线。3)打开被检主机电源,在远程主机打开软件,点击“开始检测”按钮。等待软件报告结果。4)根据软件指示查阅检测结果和建议,以及需要是可以添加记录。本系统结合了软件和硬件,使用方便,操作简单。在软件上可以拓展更多的功能,这样的系统易于扩展,同时因为故障信息是基于数据库而独立于软件的,可以方便维护和通过Internet更新。根据系统的这些性能,系统可以提供给主板厂商,计算机维修部门,以及大型单位的计算机维护部门。提高这些机构的生产效率,经济效益是可观的。专利申报情况提出专利申报 申报号 申报日期 年 月 日已获专利权批准 批准号 批准日期 年 月 日 未提出专利申请科研管理部门签 章 年 月 日C.当前国内外同类课题研究水平概述 说明:1.申报者可根据作品类别和情况填写; 2.填写此栏有助于评审。和本系统功能相似的一个产品是Debug卡。目前市场上Debug卡主要分为两种类型:第一个就是ISA接口的Debug卡;还有一种是PCI接口的Debug卡。其中,基于PCI接口的Debug卡如图:在国外市场上出现这类型的产品,主要也是由中国制造,名字一般叫:Motherboard Diagnostic Debug Decode POST Card。计算机的POST码是计算机在上电自检时标记测试项目的一个8位数据。Debug卡的基本原理都是通过捕捉这个数值,然后将它显示到一个数码管上。用户通过厂家提供的数据查表可以大概知道主板发生的故障。和这些产品相比,我们的远程计算机故障检测系统主要有下面几大优点:(1) 直观的可视化诊断报告改进了传统的使用故障音或者使用16进制代码显示诊断结果的方式,使用文字,图像的方式直接将诊断的结果显示到屏幕上,用户可以直接由诊断结果知道被检主机出现的故障。(2) 方便的操作一次上卡,多次检测。只要一次插上检测卡,便可以在计算机前通过鼠标点击实现多次的检测,系统自动控制被检测主机重新启动。(3) 强大的交互功能除了使用系统固定的数据库提供诊断信息外,用户在测试的同时也可以向系统添加个人的笔记,这些笔记是用户经验的积累,对于以后的检测工作非常有利。(4) 简易的可扩展性系统的故障信息和软件系统相对独立,这为系统的数据库的更新提供了可能,更新系统时只需要通过Internet或者其他方式获得新的数据库便可以扩大系统的功能。(5) 宽广的推广前景根据系统的这些性能,系统可以提供给主板厂商,计算机维修部门,以及大型单位的计算机维护部门。提高这些机构的生产效率,经济效益是可观的。D.推荐者情况及对作品的说明说明:1由推荐者本人填写; 2推荐者必须具有高级专业技术职称,并是与申报作品 相同或相关领域的专家学者或专业技术人员(教研组 集体推荐亦可); 3推荐者填写此部分,即视为同意推荐; 4推荐者所在单位签章仅被视为对推荐者身份的确认。推荐者情况姓 名性别年龄职称工作单位通讯地址邮政编码单位电话住宅电话推荐者所在单位签章 (签章) 年 月 日请对申报者申报情况的真实性作出阐述 请对作品的意义、技术水平、适用范围及推广前景作出您的评价其它说明推荐者情况姓 名性别年龄职称工作单位通讯地址邮编单位电话住宅电话推荐者所在单位签章 签章日期 年 月 日 请对申报者申报情况的真实性作出阐述 请对作品的意义、技术水平、适用范围及推广前景作出您的评价其它说明学校组织协调机构确认并盖章 (团委代章) 年 月 日 校主管领导或校主管部门确认盖章 年 月 日E大赛组织委员会秘书处资格和形式审查意见组委会秘书处资格审查意见 审查人(签名) 年 月 日组委会秘书处形式审查意见 审查人(签名) 年 月 日组委会秘书处审查结果合格 不合格 负责人(签名) 年 月 日F参赛作品打印处远程计算机故障检测系统作者:赵伟宁 李鹏程 张敬辉指导老师:张明武单位:华南农业大学信息学院,广州,510642摘 要:本文主要阐述远程计算机故障检测系统的设计和实现。我们的远程计算机故障检测系统由故障检测系统,通信系统,分析系统三个子系统组成。其中故障检测系统和通信系统集成到一张PCI卡上,分析系统是运行在远程计算机的软件系统,PCI卡和远程主机通过串口通信。被检主机上电自检的时候,故障检测系统通过GAL器件的瞬时译码迅速捕捉被检主机的自检代码。通信系统把这个自检代码传输到远程计算机。分析系统通过分析自检代码的意义,把检测的结果报告给用户。该系统能准确的检测出主机的上电自检情况,具有准确、直观和远程可控的特点。系统的开发有利于提高当前计算机故障的检测效率。关键字:Debug卡 诊断 串口通信 AT89S51英文摘要Remote Computer Malfunction Diagonistic SystemAbstract: In this paper, it introduces the design and inplementation of RCMDS(Remote Computer Malfunction Diagonistic System) RCMDS is consisted of 3 components, including diagonistic module, communication module, and analysis module. The diagonistic module and communication module are integrated in a PCI card, which is designed and layouted by us. It can display the diagonistic result by a soffware-based analysis module, by which PCI card and terminal analysis computer are communicated in a serial way. Diagonistic module sniffers the BOIS code when motherboards power on self-test is performed.Keywords: POST Card PCI Diagonistic serial communication AT89S51目录摘 要:12英文摘要13目录141系统功能分析151.1 引言151.1.1 系统开发目的151.1.2系统适用范围151-1-3 系统模型151.2 系统功能特点161.2.1 当前市场上类似产品POST卡161.2.2系统的功能特点161.2.3 产品性能比较171.2系统的使用前景172 系统的设计182.1系统总体设计182.2 检测系统方案设计202.2.1 POST(Power on Self Test)上电自检202.2.2检测系统方案设计202.3通信系统设计242.3.1 单片机串口242.3.2单片机发送程序分析262.2.3 PC接收数据代码282.4分析系统设计302.4.1 分析系统设计302.4.2 软件运行界面323使用说明书333-1 使用系统进行主板故障检测。333-2 添加用户笔记。333-3保存检测结果343-3 配置串口参数34结束语35致谢36参考文献371系统功能分析1.1 引言计算机在开机检测的过程中如果出现了问题,显示器黑屏,用户一般是无法知道计算机出现了什么故障的。虽然一般的计算机系统都会通过声音表达出来,但是错误音的编码十分复杂,不同的BIOS表示的意义千差万别。使得主板的诊断维修十分麻烦。现在针对计算机这种故障的诊断方法一般有经验法(凭维修者的经验),排除法(添减硬件卡,组成最小系统排除故障),这些方法都是凭借着维修者的经验,带有太多的主观成分。另外一种方法是使用POST卡。但是POST卡只显示一个生硬的诊断代码,维修着需要进一步查表才可以大概知道主板的检测结果。针对主板当前维修工序的不方便,我们开展“远程主板故障诊断系统”科技创新项目的研究。该系统可以检测到主板的故障,并把这些信息用文字等便于用户接受的方式显示在远程主机的屏幕上。1.1.1 系统开发目的本作品核心为主机故障检测卡,为主板故障检测提供一个直观的诊断手段,能够在远程计算机上使用文字,图像等直观地报告被检主机出现的故障信息。提高当前主板维修的效率。1.1.2系统适用范围系统可以提供给主板厂商,计算机维修部门,以及大型单位的计算机维护部门。提高这些机构的生产效率,经济效益是可观的。1-1-3 系统模型系统只要由终端检测系统、通信系统、分析系统三个子系统组成,其模型如图1.1.1。检测到的结果将在远程计算机屏幕上显示。检测系统通信系统可视化故障信息分析系统图1.1.1 远程计算机故障诊断系统模型1.2 系统功能特点1.2.1 当前市场上类似产品POST卡所谓POST卡,又叫Debug卡,就是“开机自测卡”(Power On Self Test Card)的缩写。这种卡的作用主要是在电脑开机过程中通过截取BIOS自检信息来反映硬件故障情况。一般POST卡上都有一个两位数的显示器,或者4-8个指示灯,把显示出来的信号代码与说明表上的情况相对照就可以大概确定是什么部件出了什么故障了。下面介绍一些POST卡的功能特点。(1) PIC0054A主板侦错卡测试PCI和ISA总线速度诊断卡自身故障检测ISA和PCI总线稳定性测试功能试用版单步与代码翻查功能四数码管,诊断更准确 价格:60.00元资料来源:/biosdl/biosjg.htm华通 HT LP49C故障提示方式 四位侦错码 主要插槽类型PCI/(LPT+Usb)价格:80.00元资料来源:/C/53314/68163.html1.2.2系统的功能特点(1)直观的诊断报告改进了传统的使用故障音或者使用16进制代码显示诊断结果的方式,使用文字,图像的方式直接将诊断的结果显示到屏幕上,用户可以直接由诊断结果知道被检主机出现的故障。(2)远程选择BIOS类型BIOS的类型可以在软件上简单地选择,免去用户烦琐的查表程序。(3)远程控制重新检测一次上卡,多次检测。只要一次插上检测卡,便可以在计算机前通过鼠标点击实现多次的检测,系统自动控制被检测主机重新启动。(4)添加检测笔记除了使用系统固定的数据库提供诊断信息外,用户在测试的同时也可以向系统添加个人的笔记,这些笔记是用户经验的积累,对于以后的检测工作非常有利。(5)保存检测报告用户可以保存检测结果,该结果能显示出计算机上电自检整个过程的信息。1.2.3 产品性能比较系统和POST卡产品的主要性能区别如表1.2.1:表1.2.1 系统和POST卡产品的性能比较产品价格显示方式自动重启附属功能PIC0054A主板侦错卡6016进制代码和声音无测试PCI和ISA总线速度华通 HT LP49C8016进制代码和声音无远程计算机故障检测系统约20直观的文字,图像远程控制重启保存检测结果、添加笔记1.2系统的使用前景该系统节约了对计算机维修的硬件消耗,结合了软件的处理与显示使系统可以为维修与生产检测人员提供了一个更好的工作平台,并能够在短时间内响应客户的要求去升级和完善本系统的开发。因此,该系统可以应用于各大主板生产商,作为主板生产检测的一个手段;可以应用于各个计算机维修点;以及一些单位的维护部门。现在市场上的品牌机和笔记本电脑越来越受到消费者的青睐,但是出于生产厂商的权益考虑,用户不能私自拆开机箱。当用户的电脑出现问题时,生产厂商维修人员要上门对其进行维修。更进一步看,如果能把诊断卡集成到主板的生产中,用户只需把主板的串口连接到另一台计算机就可以进行主机的诊断。维修人员便能获知用户的故障信息,知道是否硬件出现问题,再判断是否上门服务,在上门服务时带上必要的工具和硬件,为计算机的维修省去了不少的麻烦。2 系统的设计2.1系统总体设计系统的核心是一张PCI卡,这张PCI卡检测出主板的上电自检情况,并把这些信息发送到远程计算机上,最后在远程计算机上对这些信息处理,报告。PCI卡原理图如图2.1.3(见下页)。整张PCI卡用到的元件如表2.1.1所示。表2.1.1 PCI卡用到的元件列表元器件编号名称功能P1PCI32BITPCI插脚G1GAL20V8GAL作为整个电路的译码器G2DM74LS273N寄存器用来保存一个字节的错误信息M1,M2DM74LS48N3-8译码器,做为八段显示译码器D1,D2-八段显示管U1AT 89S 5151单片机作为通讯模块的主控器件U2MAX232电平转换J1RS-232串口接口分析上述过程的数据的流动,系统逻辑上可以分为终端检测系统,通信系统,分析系统三个子系统。数据流图如下:主板Post_codePost_code串行信号故障信息用户终端检测系统通信系统分析系统故障信息库数据信息图 2.1.1 系统数据流图接着,我们就三个子系统分别详细的叙述系统的实现原理和设计。图2.1.2 系统PCI卡原理图2.2 检测系统方案设计2.2.1 POST(Power on Self Test)上电自检 检测系统基于计算机在上电时对硬件进行的检测。计算机这个检测过程为POST(Power on Self Test)上电自检。主机电源开关被打开以后,计算机系统开始检测电源的质量,如果电源可以提供稳定的电压,一个Power-Good信号将被送到计算机的CPU,接着系统在BIOS的引导下开始短暂的POST(上电自检)过程。POST过程完成系统基本硬件的检测和配置,然后将启动权交给操作系统,等待操作系统进行初始化。POST过程保证了计算机的正常运行。在短短几秒的时间内,POST可以完成对上百个硬件的检测,这些硬件包括存储器、中断、扩展卡等。这一过程是逐一进行的,BIOS厂商对每一个设备都给出了一个检测代码(称为POST-CODE即开机自我检测代码),在对某个设置进行检测时,首先将对应的POST-CODE写入诊断端口(如80H),如果该设备检测通过,BIOS将向该地址传送另一个设备的POST-CODE,并开始对此设置进行测试。相反如果某个设备测试没有通过,则此POST-CODE会在诊断端口处保留下来,检测程序也会中止,并根据预定的报警声进行报警,等待用户处理。2.2.2检测系统方案设计如果我们能把BIOS写入诊断端口的代码读出来,并把他直观的显示出来,那么我们就能对计算机的检测状况有一个清晰的了解,在这里我们通过主板的PCI总线提取错误信息。(1)诊断端口的定位由于现在大部分的BIOS都将POST-CODE写到计算机的80H端口,本系统只有针对80H端口的数据捕捉。(2)对PCI规范的实现使用PCI总线就要遵守PCI规范,PCI写时序信息如图2.2.1所示。图2.2.1 PCI写时序图根据这个时序,只要我们在BIOS向诊断端口写数据的时候同时把这个检测代码捕捉出来,就能获得BIOS写入端口的内容。而这个捕捉的过程可以使用译码方式实现。所以,把握这个时序成为了关键,由图可以看出,和我们需要的功能相关的引脚也不是太多,主要有FRAME#,C/BE3:0,AD8:0,IRDY#,TRDY#。(3)译码仔细分析图2.2.1 的时序。PCI总线在写这一操作过程中,接口控制信号 FRAME#一直失效;IRDY#(主设备准备好信号),TRDY#(目标设备准备好信号)两者同时有效;总线命令C/BE3:0为“0011”。 准确把握这些信号脚为我们的译码做好了理论上的准备。在这里我们选用GAL20V8来进行译码,如图2.2.2所示:GAL对地址线和控制信号线译码,便可以知道BIOS正在往诊断端口写数据,然后等待IRDY#和TRDY#置0信号的到来,立即产生一个WRINTE信号,该信号通知系统开始读取数据,这个数据正是我们要的检测代码。图 2.2.2 GAL20V8引脚使用图控制GAL工作的源代码如下:MODULE galTITLE mygaladdr0,addr1,addr2,addr3 pin 2,3,4,5 ; /定义GAL脚的信号addr4,addr5,addr6,addr7 pin 6,7,8,9;frame pin 10;irdy,trdy pin 15,16;cbe0,cbe1,cbe2,cbe3 pin 11,14,23,22;wrinte pin 21;rst1 pin 18;equationswrinte =addr0 # addr1 # addr2 # addr3 # addr4 # addr5 # addr6 # !addr7 # frame # !irdy # !trdy # !cbe0 # !cbe1 # cbe2 # cbe3; /对控制信号的实现及地址信号的译码rst1=1; /对寄存器复位信号的屏蔽END使用 Lattice 公司isp6_1m1.CPLD软件进行时序仿真,得到图2.2.3的仿真图。WRINTE在IRDY#和TRDY#置0信号的到来后10ns产生一个上升缘信号。短暂的延时使得数据捕捉更加准确。图 2.2.3 GAL时序仿真(4)存储在实际的电路设计中我们用到了DM74LS273N-8位寄存器保存检测代码(图2.5)。寄存器在WRINTE信号的控制下把正在数据线上传输的检测代码迅速读取并存储起来。图 2.5 寄存器引脚图到此,我们成功将BIOS的检测代码捕捉。OUT7:0将接到通信系统,由通信系统作进一步的处理。2.3通信系统设计通信系统核心是AT89S51单片机。单片机一旦发现检测系统捕捉到自检代码,则把这个代码通过串口通信传到上位机。现在详细阐述这个基于串口的通信系统:2.3.1 单片机串口1、通信协议串行通信模块的程序设计包括两方面,一方面是以89S51单片机为核心的通信程序,另一方面为PC机的通信程序。在编写程序之前,制定其双方通信协议是十分重要的,否则将无法保证通信数据的可靠性,从而失去通信的意义。通信协议如下:1)串行通信波特率为9600bps;2)帧格式为一位起始位,八位数据位,一位停止位;3)无奇偶校验位;4)PC机采用COM1通信。2、连接的方法:表2.3.1 9针串行口的针脚功能针脚功能针脚功能1载波检测(DCD)6数据准备好(DSR)2接受数据(RXD)7请求发送(RTS)3发出数据(TXD)8清除发送(CTS)4数据终端准备好(DTR)9振铃指示(RI)系统中采用51 单片机作为下位机, PC机为上位机,二者通过RS232串行口接收或上传数据和指令。我们采用了三线制连接串口,也就是说和电脑的9针串口只连接其中的3根线:第5脚的GND、第2脚的RXD、第3脚的TXD。接线图如图2.8所示。图2.3.1 RS232电缆连接图RS232信号的电平和单片机串口信号的电平不一致,必须进行二者之间的电平转换。在此使用的集成电平转换芯片MAX232为RS232CTTL电平转换芯片。它只使用单5V为其工作,配接5个1F电解电容即可完成RS232电平与TTL电平之间的转换。其原理图如图2.9所示。转换完毕的串口信号TXD、RXD直接和51串行口连接。图2.3.2 电平匹配原理图3、串口的发送51单片机内部含有一个可编程全双工串行通信接口,具有UART的全部功能。该接口电路不仅能同时进行数据的发送和接收,也可作为一个同步移位寄存器使用。发送过程:串行口的发送过程由指令MOV SBUF,A启动,即CPU由一条写发送缓冲器的指令把数据(字符)写入串行口的发送缓冲器SBUF(发)中,再由硬件电路自动在字符的始、末加上起始位(低电平)、停止位(高电平)及其它控制位(如奇偶位等),然后在移位脉冲SHIFT的控制下,低位在前,高位在后,从TXD端(方式0除外)一位位地向外发送。 2.3.2单片机发送程序分析1、串口初始化org 0000hajmp mainorg 0030hmain: mov sp,#60h mov scon,#50h;设置成串口1方式 mov TMOD,#20h;波特率发生器T1工作在模式2上 mov tl1,#0fdh;预置初值(按照波特率9600预置初值) mov th1,#0fdh;预置初值(按照波特率9600预置初值) mov pcon,#00h setb tr1;启动定时器T1 setb ea setb es用到的寄存器解析:SBUF是两个在物理上独立的接收、发送缓冲器,可同时发送、接收数据。两个缓冲器只用一个字节地址99H,可通过指令对SBUF的读写来区别是对接收缓冲器的操作还是对发送缓冲器的操作。串行口对外有两条独立的收发信号线RXD(P3.0)、TXD(P3.1),因此可以同时发送、接收数据,实现全双工。串行口控制寄存器SCON它用于定义串行口的工作方式及实施接收和发送控制。字节地址为98H,其各位定义如下表:D7D6D5D4D3D2D1D0SM0SM1SM2RENTB8RB8TIRISM0、SM1:串行口工作方式选择位,其定义如表2.3.2定义。其中fosc为晶振频率表2.3.2 串行口工作方式SM0、SM1工作方式功能描述波特率0 0方式08位移位寄存器Fosc/120 1方式110位UART可变1 0方式211位UARTFosc/64或fosc/321 1方式311位UART可变mov scon,#50h;设置成串口1方式TMOD设置定时器1的工作方式,用来产生波特率mov TMOD,#20h;波特率发生器T1工作在模式2上PCON中的SMOD用来控制波特率加倍。 mov pcon,#00h ;没有加倍波特率如前所述,在串行通讯中,收发双方的数据传送率(波特率)要有一定的约定。在8051串行口的四种工作方式中,方式0和2的波特率是固定的,而方式1和3的波特率是可变的,由定时器T1的溢出率控制。下表列出了定时器T1工作于方式2常用波特率及初值。表2.3.3 定时器T1方式2常用波特率及初值常用波特率Fosc(MHZ)SMODTH1初值1920011.05921FDH960011.05920FDH480011.05920FAH240011.05920F4h120011.05920E8hmov tl1,#0fdh;预置初值(按照波特率9600预置初值)mov th1,#0fdh;预置初值(按照波特率9600预置初值)初始化完成2、扫描程序mov p0,#0ffh mov a,p0 l1: cjne a,p0,l2 ljmp l1l2 : mov a,p0 mov sbuf,await : jbc ti,l1 sjmp waitend以上程序完成了对P0的扫描。检测系统捕捉到的检测代码由P0口传入。当P0口的据发生变化时就把这变化后的数值通过串口发送出。PC机作为上位机对串口发来的数据进行接收。为了简单阐明单片机的工作原理,可以看单片机的工作原理图(流程图):初始化串口比较P0口数据P0口数据发生变化化发送此数据NY图2.3.3 单片机工作流程图2.2.3 PC接收数据代码完成单片机和PC机的通信,接受检测代码,还需要PC机上软件的协同工作。PC机上软件使用事件接收模式,一直倾听着数据的到来,当接收到数据,则向系统发送一个消息,请求处理。软件倾听COM口的代码如下:DWORD WINAPI Listener(LPVOID pare)DWORD dwEvent;/倾听端口COMSetCommMask(g_hCom,EV_RXCHAR);while(true)WaitCommEvent(g_hCom,&dwEvent,NULL);if(dwEvent=0)/释放COM句柄,结束线程.return 0;elseif(dwEvent & EV_RXCHAR)OVERLAPPED osRead;COMSTAT comStat;DWORD haveRead;DWORD readError;memset(&osRead,0,sizeof(osRead);osRead.hEvent=CreateEvent(NULL,FALSE,FALSE,NULL);if (osRead.hEvent=NULL)AfxMessageBox(创建接收事件失败!);continue ;ZeroMemory(&comStat,sizeof(comStat);if (!ClearCommError(g_hCom,&readError,&comStat)PurgeComm(g_hCom,PURGE_RXABORT | PURGE_RXCLEAR);continue;if(ReadFile(g_hCom,&buffer,1,&recLen,&osRead)GetOverlappedResult(g_hCom,&osRead,&haveRead,TRUE);elsecontinue;elsecontinue;/不处理其他事件./发送接收数据的消息给指定的窗口.:PostMessage(wndHandle,MSG_HAVEBYTE,0,0);2.4分析系统设计2.4.1 分析系统设计分析系统运行在远程计算机上,分析通信系统传输过来的数据,从而确定BIOS正在被检主机上进行的检测项目。根据这个数据,在数据库中取出相应的信息,显示在屏幕上。在设计的时候,我们采用面向对象的方法设计,将相关的功能集中到一起,这样的设计方便代码的维护,也增加了代码的可移植性。下面是分析系统的静态类图。MyComAppMFC框架MyDataApp图2.4.1 分析系统静态类图整个设计是基于MVC(模型视图控制器)模式的,其中MyComApp完成对串口操作的封装,MyDataApp类实现对数据库操作的封装。而基本的MFC框架相当于一个控制器和视图。下面看MyComApp类,该类除了需要完成对串口的配置和初始化之外,更重要的是接受来自单片机的信息。在这个过程中,程序是被动的接收数据的,所以一直在倾听着串口的状态。基于检测代码的传送会比较快,这里采用事件驱动,异步读数据的方式完成对窗口的倾听,一旦接收到数据则向控制器发送收到数据的消息。类的成员函数声明如下:public:MyComApp(); / protected constructor used by dynamic public:BOOL SetCom(ComConfigPtr configPtr); /设置串口配置void SetProcessWnd(HWND hwnd); /设置接受消息的窗口void Write(WORD data); /向串口写数据(一个字)void ReleaseCom(); /释放串口void StopListen(); /停止倾听串口void SetRTS(); /置RTS信号,(利用此信号实现重启)char * read(); /返回接受到的数据void StartListen();/倾听串口,有数据来向处理窗口发送消息virtual MyComApp();为了使软件系统更有效的工作,需要考虑下面2个问题:1,单片机一直在发送受到的数据,知道BIOS的检测完成,寄存器的数据不再改变。但是软件不知道单片机是否已经发送了最后的检测代码。2。软件在打开的时候不知道BIOS的检测是否正在开始,甚至已经检测完毕,这样使得软件和终端的检测系统不可以同步。为了解决问题1我们设置一个计时器,设置一个超时限制,软件开始倾听数据的同时启动计时器,如果接收到一个数据,计时器重新计时;如果计时器超时,说明在这段时间内系统不再收到数据,只要这
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中学网络诈骗课件
- 社会情绪手工课件
- 抗菌技术测试题及答案解析
- 辅警铁骑岗位知识培训课件
- 交通银行2025铜仁市半结构化面试15问及话术
- 中国银行2025永州市秋招笔试创新题型专练及答案
- 邮储银行2025宜昌市秋招笔试创新题型专练及答案
- 2025年3D打印技术的个性化定制与快速制造
- 中国银行2025惠州市秋招笔试价值观测评题专练及答案
- 2025后疫情时代经济复苏的财政政策
- 2025-2026学年湘美版(2024)小学美术二年级上册(全册)教学设计(附目录P208)
- 市场管理考试试题及答案
- 2025至2030年中国大型电脑行业市场深度分析及发展前景预测报告
- 2024年秦皇岛市市直机关遴选考试真题
- 社区网格员笔试考试题库及参考答案
- 2025年中小学生科学知识竞赛试题及答案
- 2025年中医确有专长考试题及答案
- 胸腰椎压缩骨折课件
- 2025年度粉末涂料生产与销售合同范本
- 中小学教师中高级职称答辩备考试题及答案(50题)
- 2025年重庆中考道德与法治试卷真题解读答案讲解(课件)
评论
0/150
提交评论