




已阅读5页,还剩41页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
微电脑吸尘器控制板量产测试系统的设计和实现THEDESIGNANDIMPLEMENTATIONFORPRODUCTIONTESTSYSTEMOFMICROCOMPUTERVACUUMCLEANERCONTROLPANEL目录摘要1英文摘要1一、引言3(一)问题的提出3(二)需求分析31为测试提供的接口32需要测试的参数4二、系统的总体设计7(一)功能要求7(二)基于单片机的测控系统81系统构成82基本原理9(三)TC161测试系统的组成101ATMAGA16单片机112交流信号频率采集113基准时钟频率采集124电压量采集135交流电流量采集136测试结果的呈现147模拟手柄14三、硬件电路的实现15(一)单片机系统151复位电路的设计152时钟电路的设计15(二)数据采集电路151频率测量152电压测量163电流测量17(三)液晶显示电路17(四)模拟手柄电路18四、软件的设计20(一)主程序设计201简单嵌入式操作系统SEOS202主程序设计22(二)数据采集程序设计231频率采集程序232电压与电流采集程序设计25(三)LCD液晶显示器程序设计261HF12864B2的相关原理介绍262LCD液晶显示器程序设计29五、调试及性能分析34六、结论和展望35参考文献36附录37致谢38微电脑吸尘器控制板量产测试系统的设计和实现【摘要】TC161为华师大与某日本公司合作开发的一款微电脑吸尘器内部的控制板。本毕业设计开发了一个用以量产测试此类控制板性能好坏的单片机测试系统。本文首先详细介绍了本次测试系统开发的需求以及所需测试的11个接口和15个参数。其次,总结了测试系统所需实现的功能要求,接着从典型的单片机测控系统的原理及框图入手,介绍了本次测试系统设计的组成框图以及测量原理。再次,分块介绍了测试系统的单片机系统电路,频率、电流、电压采集电路,液晶显示电路,以及模拟手柄电路。最后,设计并实现了系统软件。系统软件的设计包括主程序的设计、数据采集程序的设计和LCD液晶显示器程序的设计。本文还详细介绍了主程序设计所需用到的简单嵌入式操作系统SEOS以及LCD液晶显示器的显示原理。【关键词】AVR单片机单片机测试系统数据采集LCD液晶显示器THEDESIGNANDIMPLEMENTATIONFORPRODUCTIONTESTSYSTEMOFMICROCOMPUTERVACUUMCLEANERCONTROLPANEL【ABSTRACT】TC161,WHICHISDEVELOPEDBYEASTCHINANORMALUNIVERSITYANDAJAPANESECOMPANY,ISAMICROCOMPUTERCONTROLPANELINSIDETHEVACUUMCLEANERTHISTHESISHASDEVELOPEDASINGLECHIPTESTSYSTEMFORTHEMASSPRODUCTIONOFSUCHPANELSTOTESTTHEPERFORMANCEOFGOODANDBADFIRSTLY,THEPAPERELABORATESONTHEDEVELOPMENTREQUIREMENTOFTHISTESTSYSTEMANDTHE11INTERFACESAND15PARAMETERSWHICHARENECESSARYSECONDLY,ITSUMMARIZESTHEREQUIREMENTOFFUNCTIONINTHISTESTSYSTEM,ANDALSOINTRODUCESTHETESTSYSTEMDESIGNBLOCKDIAGRAMASWELLASTHEMEASURINGPRINCIPLE,ACCORDINGTOTHEPRINCIPLEANDBLOCKDIAGRAMOFTYPICALSINGLECHIPTESTSYSTEMTHIRDLY,ITINTRODUCESTHEBLOCKSOFTESTSYSTEM,SUCHASSINGLECHIPMICROCOMPUTERCIRCUIT,FREQUENCY,CURRENT,VOLTAGEACQUISITIONCIRCUIT,LIQUIDCRYSTALDISPLAYCIRCUIT,ANDCIRCUITSIMULATIONOFTHEHANDLEFINALLY,SYSTEMSOFTWAREHASBEENSUCCESSFULLYDESIGNEDTHESOFTWAREINVOLVESTHEDESIGNOFMAINPROGRAM,DATACOLLECTIONPROGRAMANDLIQUIDCRYSTALDISPLAYLCDPROGRAMTHISARTICLEALSOINTRODUCESTHESIMPLEEMBEDDEDOPERATINGSYSTEMSEOSASWELLASTHEDISPLAYPRINCIPLEOFLIQUIDCRYSTALDISPLAYLCDINDETAIL【KEYWORDS】AVRSINGLECHIPSINGLECHIPTESTSYSTEMDATACOLLECTIONLIQUIDCRYSTALDISPLAYLCDMONITOR一、引言(一)问题的提出日前,由华东师大与日本某公司合作开发出一系列新式智能吸尘器。该系列吸尘器内部有一块用以控制吸尘器的工作模式以及确保吸尘器工作安全性的微处理器控制板(以下简称“控制板”),故又称“微电脑吸尘器”。该系列控制板有如下作用1、控制吸尘器的工作模式该吸尘器具有五种工作模式,分别为空闲模式、模拟键盘关闭模式、模拟键盘低档模式、模拟键盘高档模式、异常模式。后面将会详细介绍。2、实现吸尘器的慢启动在控制板的控制之下,吸尘器的电动机是慢慢地启动。3、确保吸尘器的工作安全性(1)温度保护控制板能够实时监测吸尘器工作时的内部温度,当温度超过某一范围时,则自动关闭电动机。(2)过压保护控制板能监测电动机的工作电压,当电压超过某一范围时,则自动关闭电动机。TC161为该系列控制板中功能最全面的一个。为方便检测TC161的好坏,并满足其工业批量生产的需求,本毕业设计开发了这个微电脑吸尘器控制板量产测试系统(以下简称“测试系统”)。(二)需求分析在测试系统的需求分析中,用户只提供测试需要的相关接口以及必要的协议,而TC161的各项功能的实现原理以及设计图,对此次测试系统的设计来说可有可无。1为测试提供的接口用户最终提供的接口有11个,分别以TP1、TP2、TP11计。详细接口如下图11这里指TC161的生产厂家图11T161测试治具接口FIGURE11FIXTUREINTERFACE各接口说明如下TP1接工作电源正极,用于检查测试系统是否工作在正常电压下TP2接地TP3接NTC热敏电阻,用于测试温度保护电路是否正常TP4接某交流信号,用于测试50赫兹的同步信号是否输入到TC161TP5接某电阻,用于测试过压保护电路是否正常TP6该接口用于测手元电压TP7该接口用于测基准时钟TP8手柄插头之一,通过此接口与手柄连接TP9手柄插头之一,通过此接口与手柄连接TP10用于测量通过负载(电动机)的电流TP11用于测量通过负载(电动机)的电流2需要测试的参数(1)必要的说明由于即将介绍的许多参数跟如图12所示的手柄有关,所以下面就该手柄做些必要的说明。图12手柄与吸尘器的拓扑关系图FIGURE12TOPOTAXYCHARTBETWEENHANDLEANDVACUUM该手柄的作用是控制TC161的工作模式。TC161一共分5种工作模式空闲模式(开关S1、S2、S3全部断开)、模拟键盘关闭模式(仅开关S1合上)、模拟键盘低档模式(仅开关S2合上)、模拟键盘高档模式(仅开关S3合上)、异常模式(专指手柄突然掉落或者被拔下)。每种工作模式分别对应关于电流和关于电压的两个参数。不难发现,以上所说的工作模式中有三个模式都带有“模拟键盘”这个四个字。为什么有这么一说呢原来通过该手柄控制微电脑的工作模式的方法与传统的键盘直接控制电动机的方式不同,当按下手柄中的某一个按钮时,实际上是在给控制板发一个信号,而控制板在查询到此信号的变化时,决定对电动机发出停止、小功率或大功率的信号。因而,该手柄实际上是起到一个模拟键盘的作用。(2)需要测试的参数1工作电压此参数检测TC161是否工作在正常电压范围内,由TP1接入。2)NTC热敏电阻电压此参数检测TC161内部温度保护电路是否正常,NTC热敏电阻两端的电压与温度成负相关,由TP3接入。3)交流信号频率此参数测试TC161内的信号是否同步(频率为50HZ),由TP4接入。4)过压此参数测试TC161的电压保护电路是否正常,由TP5接入。5)基准时钟频率此参数测基准时钟的频率,一般为16K赫兹左右,由TP7接入。6)手元基准电压“手元”是继承日本公司的叫法,即手柄的意思。此参数为空闲模式下TP6点的电压。7)空载电流此参数为空闲模式下通过TC161电动机的电流,理论情况下应该为0。8)低档电压此参数为模拟键盘低档模式下TP6点的电压。9)低档电流此参数为模拟键盘低档模式下通过TC161电动机的电流。10)高档电压此参数为模拟键盘高档模式下TP6的电压。11)高档电流此参数为模拟键盘高档模式下通过TC161电动机的电流。12)停止电压此参数为模拟键盘停止模式下TP6的电压。13)停止电流此参数为模拟键盘停止模式下通过TC161电动机的电流。14)手元拔出电压此参数为异常模式下TP6的电压。15)手元拔出电流此参数为异常模式下通过TC161电动机的电流二、系统的总体设计根据上一章的需求分析,作者设计出了控制板TC161的测试系统,测试仪器如图21。图21测试系统实物图片FIGURE21ACTUALPICOFTESTSYSTEM下面两节将详细介绍该系统的主要功能要求及其测试原理。(一)功能要求毋庸讳言,该测试系统最主要的功能应该是准确地测试出需求分析中的各个参数大小并及时通过显示模块显示出来。具体地讲,应该实现以下几个功能(1)频率的测量可以测量出交流信号频率和基准时钟频率这两个参数。应该注意这两个频率一个是低频一个是高频,因此运用到的测量方法会有所不同。(2)电压的测量可以测量以下8个参数的电压工作电压、NTC热敏电阻电压、过压、手元基准电压、低档电压、高档电压、停止电压和手元拔出电压。其中最后五个参数测量点为都为TP6这个接口。(3)电流的测量可以测量以下5个参数的电流空载电流、低档电流、高档电流、停止电流以及手元拔出电流。注意这五个电流的侧两点都为TP10和TP11接口。(4)测试结果的呈现能将每一步测量的结果都实时地显示出来;需要有一个指示灯说明测量正在进行、一个指示灯说明此控制板为坏板、一个指示灯说明此控制板为好板;当测量出现异常,即测试的某个参数不在其指定范围之内时,有相关设备发出报警的声音。显示面板如图22。图22测试系统显示面板FIGURE22DISPLAYMAINBOARDOFTESTSYSTEM(二)基于单片机的测控系统由于单片机体积小、重量轻、成本低,且具有较强的控制功能和多种计算能力,因此单片机自问世以来便大量应用于工业测控系统当中。在基于单片机的测控系统中,经常需要对一些现场物理量进行采样,最后将采样结果或进一步处理的结果显示出来,同时输出需要的物理量反过来控制被测对象以及相关设备。1系统构成下面给出一个典型的,比较全面的单片机测控系统。如图23,图中间是单片机的主机板。图的左边为计算机的外部设备,包括键盘显示器等。图的右边为被测控对象,总称为用户。液晶显示屏好板指示灯坏板指示灯运行指示灯键盘单片机显示器打印机接口接口接口模拟量传感器数字量传感器开关量传感器模拟量输出模拟量输出开关量输出接口接口接口接口接口接口A/D调节放大调节放大调节放大电压放大D/A放大电路电压转换图23典型单片机测控系统框图FIGURE23BLACKDIAGRAMOFTESTANDCONTROLSYSTEMBASEDONSINGLECHIP由于本次设计的单片机系统主要任务是测试,而工业控制部分涉及得比较少,因而下面一小节作者将详细介绍基于单片机的测试系统的原理。2基本原理基于单片机的测试系统的基本原理是,通过单片机I/O接口传输控制命令和测试信息,通过单片机串行接口组织测试网络,运行模块化的测试程序自动完成对不同被测对象的测试任务及测试数据的管理2。(1)测试方式在测试应用中,测试往往包括了一定的数据处理要求,因此基于单片机的测控系统执行多任务的实时性会大大降低。然而通过分解被测对象的工作状态,以分步骤的形式分时安排测试任务,基于单片机的测控系统在处理和执行相关测试任务中就显得游刃有余了。测试步骤是根据被测对象的工作原理人为制定的。有了测试步骤之后,测试软件的设计才能按模块化的方法编写,使测试程序流程更加有序和科学。一般测试方式有两种,即步进方式和连续方式。步进方式是指在人为的控制之下,按步骤地执行测试任务的过程。这种方式使程序执行完一个步骤之后,进入等待的状态。连续方式是指单片机不按测试步骤停顿,连续执行测试任务的过程。这种2陈步月基于单片机的测试技术原理与应用M北京机械工业出版社,20072,229方式特别适合产品的合格检验和流水作业的场合3。(2)测试信息显示测试信息有三种显示方式,即单片机控制LED数码管显示、单片机控制LCD液晶屏显示、通过串行接口发送数据到PC显示。一般显示的测试信息类型包括连续、步进方式选择提示、测试步骤提示、参考数据和测试数据显示、测试步骤结果显示、最终测试结果显示等4。(3)测试软件设计基于单片机的测试软件比一般的控制软件要大很多,而且相对较复杂,因而使用模块化的设计方法更加适合不同的被测对象和不同内容的测试步骤。(三)TC161测试系统的组成按照TC161测试系统的功能要求,决定采用如图24所示的模块组成系统,主要包括单片机控制器、交流信号频率检测电路、基准时钟频率检测电路、电压采样电路、电流采样电路、LED指示灯电路、液晶显示电路、报警电路和模拟手柄电路。图24微电脑吸尘器控制板量产测试系统的组成框图FIGURE24COMPOSITIONBLOCKDIAGRAMOFPRODUCTIONTESTSYSTEMOFMICROCOMPUTERVACUUMCLEANERCONTROLPANEL该测试系统的基本原理是利用AVR单片机(ATMEGA16L)自带的模数转3陈步月基于单片机的测试技术原理与应用M北京机械工业出版社,20072,792304陈步月基于单片机的测试技术原理与应用M北京机械工业出版社,20072,7984、230231换器对被测对象(频率、电压、电流等)进行采样,然后对采样数据进行处理,并最终将处理结果通过液晶显示屏、蜂鸣器、LED指示灯等设备呈现出来。在测试期间,AVR单片机会做出相应的控制以方便测量的进行,比如控制模拟手柄电路,模拟手柄的工作方式,从而逐步测试TC161在不同工作模式下的电压和电流。由于测试只需检验被测板是否合格,因而测试系统采取的是连续测试方式,这大大降低了测试的周期,满足了流水作业的需要。下面简述框图中的几个主要模块1ATMAGA16单片机ATMEL公司的MAGAAVR单片机不但性能优越,同时也有非常好的性能价格比。ATMEGA16是中档型的AVR芯片,它的引脚数为40,在片内集成了1K字节的SRAM,16K字节的FLASH,512字节的PROM,两个8位和1个162E位共3个超强功能的定时/计算器,以及USART、SPI、多路10位ADC、WDT、RTC、ISP、IAP、TWI、片内高精度RC振荡器等多种功能的接口和特性,较全面的体现了AVR的特点,不仅适合对AVR了解和使用的入门起步学习,同时也满足一般的普通应用,在实际中得到了大量的使用5。考虑到测试时需要用到定时器、外部中断口以及众多的ADC口,因此作者最终选择了ATMEGA16作为主控芯片。2交流信号频率采集考虑到MEGA16的3个定时计数器引脚可能会全部都被占用,因而在被测信号频率50HZ不是很高不至于引起CPU繁忙的前提下,可以考虑使用外部中断口(INT0)来测量交流信号的频率。若用T表示一定的时间间隔,用N表示在该时间间隔内的周期信号重复出现的次数,则周期信号的频率表达式为TF(21)5ATMEGA16的数据手册单片机外部中断口测频方法可以严格按照式(21)进行,测量原理如图25所示。被测周期信号外中断0触发计数所得频率定时器/计数器1定时单片机周期信号图25单片机外部中断测频原理图FIGURE25SCHEMATICDIAGRAMOFFREQUENCYMEASUREMENTBYMEANSOFEXTERNALINTERRUPT单片机的定时器/计数器1设置成定时器方式,由它对单片机周期信号计数定时,形成时间间隔T,去控制单片机外部中断的打开和关闭,显然单片机的机器周期信号在这里用作时基。将外部中断设置成上跳沿触发或者下跳沿触发方式,当每接收到一个被测周期信号,外部中断便被触发一次,而在时间间隔T内被触发的次数就是式(21)中的N。再经过单片机的计算,即可得到被测周期信号的频率。3基准时钟频率采集基准时钟频率的大小大概为16KHZ,若仍然采用外部中断测频法进行测量,那么测试过程中频繁的中断会占用大量系统资源,所以本毕业设计采用ATMAGA16定时器/计数器0进行测量。定时器/计数器的测频原理跟外部中断测频原理基本相同(见图26),只不过在这里扮演计数角色的不是外部中断而是定时器/计数器。将定时器/计数器1设置成计数器方式,由它对被测周期进行计数,技数的结果就是式(21)中的N。被测周期信号定时器/计数器0计数所得频率定时器/计数器1定时单片机周期信号图26单片机定时器/计数器测频原理图FIGURE26SCHEMATICDIAGRAMOFFREQUENCYMEASUREMENTBYMEANSOFTIMER/COUNTER4电压量采集ATMEGA16有一个10位的逐次逼近型ADC(模数转换器)。ADC与一个8通道的模拟多路复用器连接,能对来自端口A的8路单端输入电压进行采样。单端电压输入以0V(GND)为基准6。ADC通过逐次逼近的方法将输入的模拟电压转换成一个10位的数字量。转换的结果被存入ADC结果寄存器(ADCL,ADCH)。单次转换的结果如下VREFINADC1024式中,为被选中引脚的输入电压,为参考电压。VIN则所测的电压值为INREF1024C测试系统需要测量的电压的地方有4处,因而可分别用ADC0、ADC1、ADC2、ADC3连接被测电压量,再分时采集每一路的ADC值,进行计算后即可得到所测电压值。5交流电流量采集对于交流电流的检测决定采用电流互感器的方法。电流互感器是利用变压6ATMEGA16数据手册器原、副边电流成比例的特点制成。其工作原理、等值电路也与一般变压器相同,只是其原边绕组(初级绕组)串联在被测电路中,且匝数很少;副边绕组(次级绕组)接电流表、继电器电流线圈等低阻抗负载,近似短路。原边电流(即被测电流)和副边电流取决于被测线路的负载,而与电流互感器的副边负载无关。由于副边接近于短路,所以原边电压、副边电压都很小,励磁电流也很小。将电流互感器的原边绕组串联在被测控制板电路中,即两端分别接TP10和TP11,副边绕组串联一个电阻,然后将电阻两端的电压输入单片机的AD口(ADC4)进行采样即可得到副边电流的相关量。根据当原边与副边绕组的匝数比一定时,原边电流与副边电流成正比的特点,即可检测出交流电流的大小。6测试结果的呈现测试结果的呈现分三个方面(1)通过LCD将测试步骤提示、测试数据、测试结果等信息显示出来。上海恒芳电子的HF12864B2是一块12864的汉字图形点阵液晶显示模块,可显示汉字及图形,内置8192个中文汉字(1616点阵)、128个字符(816点阵)及64256点阵显示RAM(GDRAM)7。(2)通过I/O口控制相关的LED指示灯的量灭来进一步说明测试的状态。(3)通过I/O控制蜂鸣器,从而当测试步骤的结果出现异常时,系统会自动报警。7模拟手柄在测试15个参数当中的最后10个参数时,因为它们都跟手柄有关,所以我们在测试系统中必须要电路模拟这个手柄的存在。模拟手柄电路的关键是控制开关的开与合,这用单刀双掷开关继电器(如图27)代替开关即可以解决。用单片机的I/O口给4、5两端通电,开关被掷向3,断电,则开关重新回到2。7恒芳HF12864B2型LCD数据手册图27单刀双掷开关继电器FIGURE27RELAYSPDT三、硬件电路的实现(一)单片机系统下面给出单片机系统的基本组成部分,复位电路与时钟电路。见图31。图31复位电路与时钟电路图FITURE31DIAGRAMOFRESETCIRCUITANDCLOCKCIRCUIT1复位电路的设计外部复位电路采用上电复位和按键复位。即当给系统上电时,VCC与地通过R1和电容E3导通,RST相当于低电平,此时系统复位;当按下开关SW1时,电容E3被短路,则RST低电平复位。详见图31复位电路。2时钟电路的设计采用外部晶振,主机时钟频率为6MHZ。详见图31时钟电路。(二)数据采集电路1频率测量如图32,频率的测量电路实现很简单,只要将测频率的接口(TP4、TP7)串上一个电阻再接入单片机的外部中断口和计数器口即可。图32频率测量电路FIGURE32CIRCUITOFFREQUENCYMEASUREMENT2电压测量如前所述,ATMEGA16片内自带了一个8通道的10位模数转换器,其接口为PA口。因而只需将采样的信号串联一个10K的电阻接入ADC口即可。所有信号在接入ADC口之前最好都串上一个接地电容滤波。具体电路图如图33。图33电压测量电路FIGURE33CIRCUITOFVOLTAGEMEASUREMENT需要说明的两点是(1)TP2连接的是控制板的地线,必须与测试系统的地线相连,所以在图33中,TP2串联了一个0的电阻之后再与地相连。(2)工作电源(TP1)的测量实际上是分压之后再接至ADC0的,这是出于防止因电压过大而烧坏单片机的考虑。3电流测量电流的测量采取电流互感器的方法,如图34所示。T2为电流互感器,流经TP10、TP11的为交流电流,经过电流互感器之后,电流量按一定比例缩小,通过二级管和电容的作用之后,变为直流电流量,再通过弹片机的ADC4口采样,即可测出电流的大小。图34电流测量电路FIGURE34CIRCUITOFCURRENTMEASUREMENT(三)液晶显示电路液晶显示器HF12864B2的引脚功能8如图35所示,具体介绍如下。引脚1液晶电源地引脚2液晶电源正端引脚3LCD驱动电压输入端,调节对比度引脚4并行的指令/数据选择信号;串行的片选信号引脚5并行的读写选择信号;串行的数据口8恒芳HF12864B2型LCD数据手册图35液晶显示器HF12864B2引脚功能图FIGURE35THEPINSOFHF12864B2LCD引脚6并行的使能信号;串行的同步时钟引脚714液晶的并行数据引脚15并串行接口选择H并行,L串行引脚16空脚引脚17复位低电平有效引脚18空脚引脚19背光LED阴极引脚20背光LED阳极单片机与液晶显示器接口电路图如图36所示。说明以下几点(1)引脚V0的电压是通过可调电阻在VCC和GND之间分压得到,实践证明当V0的电压在45V左右的时候,液晶的显示效果最好。(2)背光的阳极LED_A是通过串上一个电阻接到VCC上的,实际上也可以串上可调电阻,调节背光的亮度。(3)由于测试系统中,单片机与LCD的接口采取串行接口方式,因而应将引脚PSB接低电平GND。图36单片机与液晶显示器接口电路图FIGURE36CIRCUITOFINTERFACEBETWEENSINGLECHIPANDLIQUIDCRYSTALDISPLAY(四)模拟手柄电路模拟手柄电路如图37所示,可以发现,该图的作用原理跟前面提到的手柄(图12)是完全一样的。只不过该图是使用开关继电器代替图12所示手柄的开关。此处继电器的工作原理为当单片机的PC45口输出高电平的时候,继电器内的线圈通电,开关P14被吸合;否则,继电器内的线圈电流为0,开关P14被断开。说明以下几点(1)图中三极管起到放大器的作用,从而以大电压驱动继电器。(2)稳压管的作用是在单片机口猛然由高电平到低电平时产生强大的回流烧坏继电器线圈。图37模拟手柄电路FIGURE37ANALOGCIRCUITOFHANDLE四、软件的设计测试系统的软件采用CODEVISIONAVR编写并编译。下面重点介绍下主程序设计、数据采集程序设计和液晶显示程序设计。(一)主程序设计1简单嵌入式操作系统SEOS简单嵌入式操作系统(SIMPLEEMBEDDEDOPERATINGSYSTEM,简称SEOS8)是一种开发中小型嵌入式项目比较合适的简单操作系统。SEOS像许多其它的嵌入式操作系统一样,可以有效地提供周期性执行单任务的功能,亦可建立多任务状态系统。在具体的控制系统任务中,可根据使用要求,通过增减相应的任务函数,增加和删除任务,使用非常方便。SEOS的基础是由片上的定时器在规律且精准的时间间隔产生中断(一个“TICK9”),每到中断来临的时候周期性地调用合适的函数,进行任务的调度,这是SEOS执行多任务的基本原理。SEOS实时操作系统应用任务管理函数原型10如下VOIDMAINVOIDX_INIT/初始化任务XSEOS_INIT_TIMERN/设定时间间隔,每隔NMS调用中断刷新函数ISRWHILE1/任务X在超级循环中有中断ISR调用8MICHAELJPONTEMBEDDEDCMLONDONPEARSONEDUCATIONLIMITED2002,1432039(美)庞特著继辉等译C语言嵌入式系统开发M京中国电力出版社,2003,14710MICHAELJPONTEMBEDDEDCMLONDONPEARSONEDUCATIONLIMITED2002,143203SEOS_GO_TO_SLEEP/系统运行在节电模式,提高CPU工作效率该系统实现任务管理的原理,是采用定时器的溢出所产生的中断调用中断服务例程(ISR),这里设为X。在中断服务例程(ISR)中,实现所需的任务调度及任务间的转移(或多状态间的转移)。因而,在SEOS中,任务都是从ISR中被调度。中断服务例程(ISR)函数X原型VOIDXVOIDINTERRUPTN/N由具体的定时器决定X_UPDATE/任务调度函数,以执行具体的任务,是系统软件设计的重点根据系统的具体任务的分配要求任务调度函数X_UPDATE原型设计如下VOIDX_UPDATEVOID/每隔NMS刷新调用SWITCHSTATECASE1TASK_1STATEX1/X1的值决定了下一个TICK会执行的任务BREAKCASE2TASK_2STATEX2/X2的值决定了下一个TICK会执行的任务BREAKCASENTASK_N/XN的值决定了下一个TICK会执行的任务STATEXNBREAK在调度函数的X_UPDATE里,SWITCHCASE语句中每一个CASE语句对应一个任务,当需要跳转到某一任务TASK_N时,只要在当前任务的CASE语句里将STATE设置成N,那么在下一个TICK来临时,TASK_N便会被执行。不难发现,使用SEOS,使多任务状态系统中的任务调度变得简单,因为系统中状态的转换只需要改变STATE的值;使实时应用程序的设计具有很大的灵活性,因为它不需要大的改动,就可以增加新的功能。可以说,SEOS已经被广泛应用于单片机的工业控制与测试系统中。然而在实际应用中,设计者通常不会完全照搬SEOS较为繁琐的形式,而只是应用它利用定时器中断进行任务调度的思想。微电脑吸尘器控制板量产测试系统的程序,正是基于SEOS的思想设计而成。2主程序设计根据测试系统的功能要求以及终合各被测参数的相关性,决定将整个测试任务分为15个步骤,分别为步骤1空载测试(测空载电流);步骤2工作电源测试(测工作电压);步骤3NTC测试(测NTC热敏电阻电压);步骤4交流电源测试(测交流信号频率);步骤5过压保护(测过压);步骤6手元基准测试(测手元基准电压);步骤7基准时钟测试(测基准时钟频率);步骤8低档电压测试;步骤9低档电流测试;步骤10高档电压测试;步骤11高档电流测试;步骤12停止电压测试;步骤13停止电流测试;步骤14手元拔出测试(测手元拔出电压);步骤152秒自停测试(测手元拔出电流)。根据步骤,画出主程序的框图如图41所示。图中定时中断由MAGA16的定时器/计数器1产生。采用T/C1的比较匹配中断模式,可以非常精准地产生中断(一个TICK),每个TICK的时间为25MS,即每25MS调用一次任务调度函数。图41主程序流程图FIGURE41FLOWCHARTOFMAINPROGRAM(二)数据采集程序设计1频率采集程序如前所述,交流信号频率与基准时钟频率的测试原理基本相同,仅仅是二者在计算N(计数值)时所用的方式有所不同。下面分别简述二者的计数方式。外部中断测频法计数方式(1)在某一个TICK到来时,开始对INT0进行初始化,这包括在中断控制寄存器(GICR)中关闭中断INT0、在通用中断标志寄存器(GIFR)中将中断INT0的标志位清0、将进入外中断的次数(记为INT0_TIMES)置0等。(2)在初始化工作完毕过后的第一个TICK到来时,使能(打开)外中断0。此后,每当外中断0被触发一次,其中断服务子程序中的INT0_TIMES都会自动加1。(3)在采样时间为第N个TICK到来时(假设N40),关闭外中断0,读取此时的计数值NINT0_TIMES,则测量频率的结果即为1000N/(4025)N。定时器/计数器测频法计数方式(1)在某一个TICK到来时,开始对T/C0进行初始化,这包括在T/C控制寄存器(TCCR0)中关闭T/C0、在T/C寄存器(TCNT0)中将计数值清0。这里与外中断测频法不同的是,由于待测频率很大,势必会多次超过T/C0的最大计数值(255)而溢出,因而需要一个变量TC_OVF_TIMES来记录T/C0溢出的次数。所以,初始化的工作还需加上一条,即将TC_OVF_TIMES置0。(2)在初始化工作完毕过后的第一个TICK到来时,打开T/C0。此后,TCNT0便会自动对输入的信号上跳沿或下降沿进行计数,每当T/C0溢出中断一次,其中断服务子程序中的TC_OVF_TIMES都会自动加1。(3)在采样时间为第N个TICK到来时(假设N40),关闭外中断0,此时的计数值的算法位NTC_OVF_TIMES256TCNT0,则测量频率的结果即为1000N/(4025)N。交流信号频率采集子程序见图42。每当交流信号测试任务被SEOS所调度,该子程序便被调用一次,直至测试任务结束任务状态跳转。图42交流信号频率采集程序流程图FIGURE42PROGRAMFLOWCHARTOFFREQUENCYMEASUREMENTABOUTACSIGNAL基准时钟频率采集子程序见图43。同理,每当基准时钟测试任务被SEOS所调度,该子程序便被调用一次,直至测试任务结束任务状态跳转。图43基准时钟频率采集程序流程图FIGURE43PROGRAMFLOWCHARTOFFREQUENCYMEASUREMENTABOUTREFERENCECLOCK2电压与电流采集程序设计电压与电流的测量都是通过MAGA16的ADC口采集得到。其软件程序非常简单,利用CODEVISIONAVRC编译器可以直接生成如下读取ADC转换值的子程序。DEFINEADC_VREF_TYPE0X40/READTHEADCONVERSIONRESULTUNSIGNEDINTREAD_ADCUNSIGNEDCHARADC_INPUTADMUXADC_INPUT|ADC_VREF_TYPE/STARTTHEADCONVERSIONADCSRA|0X40/WAITFORTHEADCONVERSIONTOCOMPLETEWHILEADCSRAADCSRA|0X10RETURNADCW该函数的运用也很简单。对于ADCI口,其AD转换的结果为READ_ADCI。当参考电压VREF近似等于5V的时候,ADCI口的输入电压为VINREAD_ADCI/10245000,单位为毫伏。考虑到在数据采集时,会存在许多随机误差,因而在本测试系统中我们不但在硬件上通过电容滤波,而且在软件上也加入了多次测量取平均值的数字滤波方法。下面画出测量手元基准电压的流程图(图44),其它电压与电流的测量与此雷同。图44手元基准电压测量流程图FIGURE44FLOWCHARTOFREFERENCEVOLTAGEMEASUREMENT(三)LCD液晶显示器程序设计1HF12864B2的相关原理介绍(1)连接时序HF12864B2有并行和串行两种连接方式,本测试系统采用的是串行方式,其连接时序图如图45所示。图45HF12864B2串行连接时序图FIGURE45SEQUENCECHARTWHENHF12864B2ISINSERIESCONNECTION串行数据传送共分三个字节完成1111恒芳HF12864B2型LCD数据手册第一字节串口控制格式11111ABCA为数据传送方向控制H表示数据从LCD到MCU,L表示数据从MCU到LCDB为数据类型选择H表示数据是显示数据,L表示数据是控制指令C固定为0第二字节格式DDDD0000,四个D分别为8位数据的高4位第三字节格式DDDD0000,四个D分别为8位数据的低4位(2)显示数据RAMDDRAMDDRAM(12864BITS)是存储图形显示数据的。此RAM的每一位数据对应显示面板上一个点的显示(数据为H)与不显示(数据为L)。DDRAM能显示4行8列共32个汉字。汉字显示位置与DDRAM的地址对应关系如下表表41。表41汉字显示位置与DDRAM地址对照表TABLE41COMPARISONTABLEOFADDRESSBETWEENDISPLAYPOSITIONBYCHINESECHARACTERSANDDDRAM(2)相关指令集HF12864B2LCD液晶显示器内置的指令集很多,下面列出本次系统设计所用到或比较重要的几条指令集(见表42)表42HF12864B2相关指令集TABLE42INSTRUCTIONSETRELATED指令名称控制信号控制代码RSR/WD7D6D5D4D3D2D1D0清除显示0000000000进入点设定00000001S显示状态开/关0000001DCB功能设定000011XREXX设定DDRAM地址001D6D5D4D3D2D1D0写显示数据10数据读显示数据11数据下面详细解释各个指令集功能。1)清除显示将DDRAM填满“20H”,并设定DDRAM的地址计数器(AC)到“00H”,即起到清屏的作用。该指令需执行的时间为46MS。2)进入点设定指定在资料的读取与写入时,设定游标移动方向及指定显示开始处的位移。S决定从该行哪里开始显示,一般默认为0;P为1时,则向右移动光标,为0时,向左移动光标。该指令需执行的时间为72US。3)显示状态开/关D1整体显示ON;C1游标ON;B1游标位置ON。该指令需执行的时间为72US。4)功能设定HF12864B2的指令集有两种,分别为基本指令集和扩展指令集,当RE0时为基本指令集,RE1时为扩展指令集;X表示可0可1,这里默认为0。该指令需执行的时间为72US。5设定DDRAM地址设定DDRAM地址到地址计数器(AC)。地址计数器具有自动加一功能,在每一次读/写数据后它将自动加一,所以在连续进行读/写数据时,地址计数器不必每次都设置一次。该指令需执行的时间为72US。6写显示数据该操作将8位数据写入先前已确定的显示存储器的单元内。操作完成后地址计数器自动加一。该指令需执行的时间为72US。7读显示数据该操作将LCM接口部的输出寄存器内容读出,然后地址计数器自动加一。该指令需执行的时间为72US。2LCD液晶显示器程序设计液晶显示器的程序设计必须从底层写起,逐步提高,最后完成显示一行文字的功能。即先从模拟LCD的同步时钟开始写起,逐步往上深入,最终写出能随意显示某行文字的程序。(1)模拟同步时钟子程序此函数的每执行一次,即产生一个同步脉冲。程序如下DEFINERSTLCDPORTC0DEFINECS1PORTC1DEFINESCLKPORTC2VOIDSCLKPULSEVOIDSCLK1SCLK0(2)向LCD发送一位数据子程序此函数是向R/W(SIN)口写入一位(BIT)数据。程序如下DEFINEUCHARUNSIGNEDCHARDEFINESIDPORTC3VOIDOPSIDUCHARTSIDT(3)向LCD发送一字节数据或指令子程序如前所述,发送一字节的数据需分三个字节完成第一个字节的格式为11111ABC,其中A为RW,B为RS;第二个字节格式为DDDD0000,其中四个D为待传送数据或指令的高四位;第三个格式为DDDD0000,其中四个D为待传送数据或指令的低四位。详细程序实现如下DEFINEUCHARUNSIGNEDCHARVOIDOUT_BYTEUCHARBYTE,UCHARRW,UCHARRSUCHARI,J,TEMPTEMP0X80SCLK0/第一字节开始/OPSID1FORI0I1SCLKPULSE/传送该位/传送四个“0”FORI0I4IOPSID0SCLKPULSE(4)LCD初始化子程序程序原型如下调用方式VOIDINILCDVOID函数说明用于开机初始化LCD液晶显示器。LCD的初始化程序算法如下LCD初始化启动延时功能设定/OUT_BYTE0X30,0,0,即只需基本指令集执行72US/即延时72US设置显示状态/OUT_BYTE0X0C,0,0,即开整体显示,光标不显示、不闪烁执行72US/即延时72US进入点设定/OUT_BYTE0X06,0,0,即光标向右移动执行72US/即延时72US清屏/OUT_BYTE0X01,0,0执行46MS/即延时46MS(5)LCD显示一行数据子程序在初始化LCD之后,便可显示一行数据了。要显示一行数据,首先要将每行对应的DDRAM地址写入地址计数器,再连续写入字符或汉字的编码数据。对于某一行来说,由于地址计数器是自动累加的,故而DDRAM地址只需写入一次。程序原型如下调用方式VOIDLCDUCHARROW,UCHARP函数说明欲显示的内容存在UNSIGNEDCHAR型数组P16中,ROW指示该数据显示在第几行(一共四行)。程序流程见图46。图46LCD显示某行数据程序流程图FIGURE46PROGRAMFLOWCHARTOFSOMEROWDATADISPLAYEDBYLCD五、调试及性能分析本测试系统开发时的一个主要思想是,测试系统的本质目的是检查被测板(控制板)电路的正确以及各器件功能的好坏,并不是真正地去测量某个电路上的电压是多少伏、电流是多少安或者频率是多少赫兹。因而测量的手段是将被测电路的电压量、电流量、频率量转化成一个单片机能识别的相关量,而判断被测板好环的方法是将该相关量与工业上能确定绝对OK的控制板的相关量比较,如果比较结果相差无几,则说明被测板同样是OK板,否则就是NG板。出于以上思想的考虑,在系统软件开发的初期并没有也无法确定15个被测参数的精确范围。因而在调试阶段,最终要的一个任务便是确定被测参数的范围。1调试方法(1)将软件参数的范围改成能让每一步都能顺利通过的模式,编译下载至ATMAGA16芯片中,然后拿一块(最好是几块)OK板放到开发好的测试仪器上测试。记录下液晶显示器上显示的每一个所测参数的相关量,测试完成之后,根据所测数据初步确定每一个参数的上下限范围,然后将范围写入软件中。将修改后的软件编译下载至ATMEGA16中,至此该测试系统便宣告设计完成。(2)接下来的工作,便是将该系统投入生产线测试。继续收集测试过程中每一块被判为NG板的当前参数的测量数据,如果不同NG板的相同参数的数据具有一定的有效性和准确性,则说明这些被测板被判为NG板的原因可能不是工业故障而是软件限定的范围太窄,这时候,就需要再次修改该参数的范围。这样经过反复的修改,最终确定下来的参数范围便是最接近该批次控制板的。2性能分析经过反复的测试试验,最终确定了一套精确的基于TC161的参数范围。在该参数范围下,本测试系统能够准确地判断出被测板(TC161)的好环。对于NG板,该测试系统还能够准确地把错误定位在某个具体参数上,根据该参数可以判断出哪部分电路出了问题,进而把错误位置确定在一个比较小的方便人工检查的范围内,最终为人工检修提供了很好的帮助。六、结论和展望微电脑吸尘器控制板TC161是一块功能多样结构复杂的电路板,本课题设计并实现了一款用于量产测试TC161好环的基于ATMEGA16单片机的测试系统。经过多次的生产线测试证明,该系统能够快速并且准确地判定被测板性能的好坏,而且只需稍加改进,也可以测试TC161同类批次的其他型号(如TC131)控制板。然而,有于时间有限,该系统还可以在以下几个方面进行改进1、液晶显示问题。如今测试的系统,在测试完当前参数之后,除非该参数因不在指定范围内而跳至异常状态下时能看到显示的结果,在正常情况下,结果的显示都是一闪而过。因而需要在每测试完一步的时候,都作适当的延时,以让人眼能够及时捕捉到。然而,这势必会引起测试周期过长的问题。2、测试周期问题。节约测试时间可以从两个方面来考虑。(1)软件方面,可以适当减少某些参数的采样时间。比如低档电压、高档电压、停止电压等的测量时间可以通过改进软件算法而适当缩小。(3)硬件方面,可以改变测电流的原理,比如不用电流互感器而用AD524,此方法可以准确地采样电流量而无需软件滤波,从而节约了测量时间。参考文献1于永,戴佳,常江51单片机C语言常用模块与综合系统设计实例讲M北京电子工业出版社,20074,1051312欧阳文ATMEL89系列单片机的原理与开发实践M北京中国电力出版社,10076,65673楼然苗,李光飞单片机课程设计指导M北京北京航空航天大学出版社,20077,1912164陈步月基于单片机的测试技术原理与应用M北京机械工业出版社,20072,7984、2292415求是科技单片机典型模块设计实例导航M北京人民邮电出版社,20087,2936沈兆军,毛敏,刘锦高基于SEOS思想的PID数字控制器设计J工业控制计算机2005,184,59617王文勇高压断路器机械特性单片机测试系统的研制D厦门大学,200298王义军一种新型高压断路器机械参数测试系统的研制D东北电力学院,199939(美)庞特著;陈继辉等译C语言嵌入式系统开发M京中国电力出版社,200310MICHAELJPONTBEDDEDCMLONDONPEARSONEDUCATIONLIMITED2002,14320311PAULHOROWITZ,WINFIELDHILLTHEARTOFELECTRONICSSECONDEDITIONENGLANDTHESYNDICATEOFTHEPR
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 往年的公文写作试题及答案高分拿下
- 水利水电工程环境评价的标准及试题及答案
- 2025年量子密钥分发在工业互联网安全领域的应用创新报告
- 医疗美容行业2025年医疗美容行业技术创新与市场监管研究报告
- 隔热膜行业未来发展趋势与市场潜力解析
- 经济法专题讨论考试试题及答案
- 工程项目管理软技能试题及答案
- 管理学在实际中的应用试题及答案
- 2025年文化娱乐行业消费者行为与市场细分创新路径实践案例深度解析
- 建筑行业新业态发展的潜在机会试题及答案
- 十字相乘法因式分解习题100道及答案
- 翻译员工作合同
- NB-T31052-2014风力发电场高处作业安全规程
- 2024年湖南高考历史真题
- 体育行业投标书
- 山东省潍坊市潍城区2023-2024学年七年级下学期期末考试英语试题
- 慢性淋巴增殖性疾病的诊断课件
- 2024年高校教师资格证资格考试题库含答案(满分必刷)
- JT∕T 794-2019 道路运输车辆卫星定位系统车载终端技术要求
- 资产处置报废方案
- QBT 2198-1996手电筒行业标准
评论
0/150
提交评论