华东师范大学本科优秀论文_第1页
华东师范大学本科优秀论文_第2页
华东师范大学本科优秀论文_第3页
华东师范大学本科优秀论文_第4页
华东师范大学本科优秀论文_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2009 届本科生学士学位论文 学校代码:10269 微电脑吸尘器控制板量产测试系统的设计和实现 The Design and implementation for Production test system of Micro-computer vacuum cleaner control panel 院 系:教育科学学院教育信息技术学系 专 业: 教育技术学 姓 名: 胡祝青 学 号: 10050340132 指导 教师: 毛敏 副教授 2009 年 5 月完成 2 目 录 摘要 1 英文摘要 1 一、引言 3 (一)问题的提出 3 (二)需求分析 3 1. 为测试提供的接口 3 2. 需要测试的参数 4 二、系统的总体设计 7 (一)功能要求 7 (二)基于单片机 的测控系统 8 1系统构成 8 2基本原理 9 (三)TC-161 测试系统的组成 .10 1ATmaga16 单片机 11 2交流信号频率采集 .11 3基准时钟频率采集 .12 4电压量采集 .13 5交流电流量采集 .13 6测试结果的呈现 .14 7模拟手柄 .14 三、硬件电路的实现 .15 (一)单片机系统 .15 1复位电路的设计 .15 2时钟电路的设计 .15 (二)数据采集电路 .15 1频率测量 .15 2电压测量 .16 3电流测量 .17 3 (三)液晶显示电路 .17 (四)模拟手柄电路 .18 四、软件的设计 .20 (一)主程序设计 .20 1简单嵌入式操作系统 sEOS 20 2主程序设计 .22 (二)数据采集程序设计 .23 1频率采集程序 .23 2电压与电流采集程序设计 .25 (三)LCD 液晶显示器程序设计 26 1HF12864B2 的相关原理介绍 .26 2LCD 液晶显示器程序设计 .29 五、调试及性能分析 .34 六、结论和展望 .35 参考文献 .36 附录 .37 致谢 .38 正文: 微电脑吸尘器控制板量产测试系统的设计与实现 1 微电脑吸尘器控制板量产测试系统的设计和实现 【摘要】:TC-161 为华师大与某日本公司合作开发的一款微电脑吸尘器内部的控制板。 本毕业设计开发了一个用以量产测试此类控制板性能好坏的单片机测试系统。 本文首先详细介绍了本次测试系统开发的需求以及所需测试的 11 个接口和 15 个参数。 其次,总结了测试系统所需实现的功能要求,接着从典型的单片机测控系统的原理及 框图入手,介绍了本次测试系统设计的组成框图以及测量原理。 再次,分块介绍了测试系统的单片机系统电路,频率、电流、电压采集电路,液晶显 示电路,以及模拟手柄电路。 最后,设计并实现了系统软件。系统软件的设计包括主程序的设计、数据采集程序的 设计和 LCD 液晶显示器程序的设计。本文还详细介绍了主程序设计所需用到的简单嵌入式 操作系统 sEOS 以及 LCD 液晶显示器的显示原理。 【关键词】:AVR 单片机 单片机测试系统 数据采集 LCD 液晶显示器 The Design and implementation for Production test system of Micro-computer vacuum cleaner control panel 【Abstract】:TC-161, which is developed by East China Normal University and a Japanese company, is a micro-computer control panel inside the vacuum cleaner. This thesis has developed a single-chip test system for the mass production of such panels to test the performance of good and bad. Firstly, the paper elaborates on the development requirement of this test system and the 11 interfaces and 15 parameters which are necessary. Secondly, it summarizes the requirement of function in this test system, and also introduces the test system design block diagram as well as the measuring principle, according to the principle and block diagram of typical single-chip test system. 2 Thirdly, it introduces the blocks of test system, such as single-chip microcomputer circuit, frequency, current, voltage acquisition circuit, liquid crystal display circuit, and circuit simulation of the handle. Finally, system software has been successfully designed. The software involves the design of main program, data collection program and liquid crystal display (LCD) program. This article also introduces the simple embedded operating system (SEOS) as well as the display principle of liquid crystal display (LCD) in detail. 【Keywords】:AVR Single-Chip Single-chip test system Data collection Liquid crystal display (LCD) Monitor 正文: 微电脑吸尘器控制板量产测试系统的设计与实现 3 4 一、引言 (一)问题的提出 日前,由华东师大与日本某公司合作开发出一系列新式智能吸尘器。该系 列吸尘器内部有一块用以控制吸尘器的工作模式以及确保吸尘器工作安全性的 微处理器控制板(以下简称“控制板” ) ,故又称“微电脑吸尘器” 。该系列控制 板有如下作用: 1、控制吸尘器的工作模式 该吸尘器具有五种工作模式,分别为空闲模式、模拟键盘关闭模式、模拟 键盘低档模式、模拟键盘高档模式、异常模式。后面将会详细介绍。 2、实现吸尘器的慢启动 在控制板的控制之下,吸尘器的电动机是慢慢地启动。 3、确保吸尘器的工作安全性 (1)温度保护:控制板能够实时监测吸尘器工作时的内部温度,当温度超 过某一范围时,则自动关闭电动机。 (2)过压保护:控制板能监测电动机的工作电压,当电压超过某一范围时, 则自动关闭电动机。 TC-161 为该系列控制板中功能最全面的一个。为方便检测 TC-161 的好坏, 并满足其工业批量生产的需求,本毕业设计开发了这个微电脑吸尘器控制板量 产测试系统(以下简称“测试系统” ) 。 (二)需求分析 在测试系统的需求分析中,用户 只提供测试需要的相关接口以及必要的 协议,而 TC-161 的各项功能的实现原理以及设计图,对此次测试系统的设计 来说可有可无。 1. 为测试提供的接口 用户最终提供的接口有 11 个,分别以 TP1、TP2、TP11 计。详细接 口如下图 1-1: 这里指 TC-161 的生产厂家 正文: 微电脑吸尘器控制板量产测试系统的设计与实现 5 图 1-1 T-161 测试治具接口 Figure 1-1 Fixture interface 各接口说明如下: TP1:接工作电源正极,用于检查测试系统是否工作在正常电压下 TP2:接地 TP3:接 NTC 热敏电阻,用于测试温度保护电路是否正常 TP4:接某交流信号,用于测试 50 赫兹的同步信号是否输入到 TC-161 TP5:接某电阻,用于测试过压保护电路是否正常 TP6:该接口用于测手元电压 TP7:该接口用于测基准时钟 TP8:手柄插头之一,通过此接口与手柄连接 TP9:手柄插头之一,通过此接口与手柄连接 TP10:用于测量通过负载(电动机)的电流 TP11:用于测量通过负载(电动机)的电流 2. 需要测试的参数 (1)必要的说明 由于即将介绍的许多参数跟如图 1-2 所示的手柄有关,所以下面就该手柄 做些必要的说明。 6 图 1-2 手柄与吸尘器的拓扑关系图 Figure 1-2 Topotaxy chart between handle and vacuum 该手柄的作用是控制 TC-161 的工作模式。TC-161 一共分 5 种工作模式: 空闲模式(开关 S1、S2 、 S3 全部断开) 、模拟键盘关闭模式(仅开关 S1 合上) 、 模拟键盘低档模式(仅开关 S2 合上) 、模拟键盘高档模式(仅开关 S3 合上) 、 异常模式(专指手柄突然掉落或者被拔下) 。每种工作模式分别对应关于电流和 关于电压的两个参数。 不难发现,以上所说的工作模式中有三个模式都带有“模拟键盘”这个四 个字。为什么有这么一说呢?原来通过该手柄控制微电脑的工作模式的方法与 传统的键盘直接控制电动机的方式不同,当按下手柄中的某一个按钮时,实际 上是在给控制板发一个信号,而控制板在查询到此信号的变化时,决定对电动 机发出停止、小功率或大功率的信号。因而,该手柄实际上是起到一个模拟键 盘的作用。 (2)需要测试的参数 1) 工作电压 此参数检测 TC-161 是否工作在正常电压范围内,由 TP1 接入。 2)NTC 热敏电阻电压 此参数检测 TC-161 内部温度保护电路是否正常, NTC 热敏电阻两端的电 压与温度成负相关,由 TP3 接入。 3)交流信号频率 正文: 微电脑吸尘器控制板量产测试系统的设计与实现 7 此参数测试 TC-161 内的信号是否同步(频率为 50Hz) ,由 TP4 接入。 4)过压 此参数测试 TC-161 的电压保护电路是否正常,由 TP5 接入。 5)基准时钟频率 此参数测基准时钟的频率,一般为 16K 赫兹左右,由 TP7 接入。 6)手元基准电压 “手元”是继承日本公司的叫法,即手柄的意思。此参数为空闲模式下 TP6 点的电压。 7)空载电流 此参数为空闲模式下通过 TC-161 电动机的电流,理论情况下应该为 0。 8)低档电压 此参数为模拟键盘低档模式下 TP6 点的电压。 9)低档电流 此参数为模拟键盘低档模式下通过 TC-161 电动机的电流。 10)高档电压 此参数为模拟键盘高档模式下 TP6 的电压。 11)高档电流 此参数为模拟键盘高档模式下通过 TC-161 电动机的电流。 12)停止电压 此参数为模拟键盘停止模式下 TP6 的电压。 13)停止电流 此参数为模拟键盘停止模式下通过 TC-161 电动机的电流。 14)手元拔出电压 此参数为异常模式下 TP6 的电压。 15)手元拔出电流 此参数为异常模式下通过 TC-161 电动机的电流 8 二、系统的总体设计 根据上一章的需求分析,作者设计出了控制板 TC-161 的测试系统,测试仪 器如图 2-1。 图 2-1 测试系统实物图片 Figure 2-1 Actual pic of test system 下面两节将详细介绍该系统的主要功能要求及其测试原理。 (一)功能要求 毋庸讳言,该测试系统最主要的功能应该是准确地测试出需求分析中的各 个参数大小并及时通过显示模块显示出来。具体地讲,应该实现以下几个功能: (1)频率的测量 可以测量出交流信号频率和基准时钟频率这两个参数。应该注意这两个频 率一个是低频一个是高频,因此运用到的测量方法会有所不同。 (2)电压的测量 可以测量以下 8 个参数的电压:工作电压、NTC 热敏电阻电压、过压、手 元基准电压、低档电压、高档电压、停止电压和手元拔出电压。其中最后五个 参数测量点为都为 TP6 这个接口。 (3)电流的测量 正文: 微电脑吸尘器控制板量产测试系统的设计与实现 9 可以测量以下 5 个参数的电流:空载电流、低档电流、高档电流、停止电 流以及手元拔出电流。注意这五个电流的侧两点都为 TP10 和 TP11 接口。 (4)测试结果的呈现 能将每一步测量的结果都实时地显示出来;需要有一个指示灯说明测量正 在进行、一个指示灯说明此控制板为坏板、一个指示灯说明此控制板为好板; 当测量出现异常,即测试的某个参数不在其指定范围之内时,有相关设备发出 报警的声音。显示面板如图 2-2。 图 2-2 测试系统显示面板 Figure 2-2 Display mainboard of test system (二)基于单片机的测控系统 由于单片机体积小、重量轻、成本低,且具有较强的控制功能和多种计算 能力,因此单片机自问世以来便大量应用于工业测控系统当中。在基于单片机 的测控系统中,经常需要对一些现场物理量进行采样,最后将采样结果或进一 步处理的结果显示出来,同时输出需要的物理量反过来控制被测对象以及相关 设备。 1系统构成 下面给出一个典型的,比较全面的单片机测控系统。如图 2-3,图中间是单 片机的主机板。图的左边为计算机的外部设备,包括键盘显示器等。图的右边 为被测控对象,总称为用户。 液晶显示屏 好板指示灯 坏板指示灯 运行指示灯 10 键盘 单 片 机 显示器 打印机 接口 接口 接口 模拟量传感器 数字量传感器 开关量传感器 模拟量输出 模拟量输出 开关量输出 接口 接口 接口 接口 接口 接口 A/D 调节放大 调节放大 调节放大 电压放大D/A 放大电路 电压转换 图 2-3 典型单片机测控系统框图 Figure 2-3 Black diagram of test and control system based on single-chip 由于本次设计的单片机系统主要任务是测试,而工业控制部分涉及得比较 少,因而下面一小节作者将详细介绍基于单片机的测试系统的原理。 2基本原理 基于单片机的测试系统的基本原理是,通过单片机 I/O 接口传输控制命令和 测试信息,通过单片机串行接口组织测试网络,运行模块化的测试程序自动完 成对不同被测对象的测试任务及测试数据的管理 2。 (1)测试方式 在测试应用中,测试往往包括了一定的数据处理要求,因此基于单片机的 测控系统执行多任务的实时性会大大降低。然而通过分解被测对象的工作状态, 以分步骤的形式分时安排测试任务,基于单片机的测控系统在处理和执行相关 测试任务中就显得游刃有余了。 测试步骤是根据被测对象的工作原理人为制定的。有了测试步骤之后,测 试软件的设计才能按模块化的方法编写,使测试程序流程更加有序和科学。 一般测试方式有两种,即步进方式和连续方式。 步进方式是指在人为的控制之下,按步骤地执行测试任务的过程。这种方 式使程序执行完一个步骤之后,进入等待的状态。 连续方式是指单片机不按测试步骤停顿,连续执行测试任务的过程。这种 2 陈步月 .基于单片机的测试技术原理与应用M.北京:机械工业出版社,2007.2,229. 正文: 微电脑吸尘器控制板量产测试系统的设计与实现 11 方式特别适合产品的合格检验和流水作业的场合 3。 (2)测试信息显示 测试信息有三种显示方式,即单片机控制 LED 数码管显示、单片机控制 LCD 液晶屏显示、通过串行接口发送数据到 PC 显示。 一般显示的测试信息类型包括:连续、步进方式选择提示、测试步骤提示、 参考数据和测试数据显示、测试步骤结果显示、最终测试结果显示等 4。 (3)测试软件设计 基于单片机的测试软件比一般的控制软件要大很多,而且相对较复杂,因 而使用模块化的设计方法更加适合不同的被测对象和不同内容的测试步骤。 (三)TC-161 测试系统的组成 按照 TC-161 测试系统的功能要求,决定采用如图 2-4 所示的模块组成系统, 主要包括单片机控制器、交流信号频率检测电路、基准时钟频率检测电路、电 压采样电路、电流采样电路、LED 指示灯电路、液晶显示电路、报警电路和模 拟手柄电路。 图 2-4 微电脑吸尘器控制板量产测试系统的组成框图 Figure 2-4 Composition block diagram of Production test system of Micro-computer vacuum cleaner control panel 该测试系统的基本原理是:利用 AVR 单片机(ATmega16L)自带的模数转 3 陈步月 .基于单片机的测试技术原理与应用M.北京:机械工业出版社,2007.2,79230. 4 陈步月 .基于单片机的测试技术原理与应用M.北京:机械工业出版社,2007.2,7984、230231. 12 换器对被测对象(频率、电压、电流等)进行采样,然后对采样数据进行处理 ,并最终将处理结果通过液晶显示屏、蜂鸣器、LED 指示灯等设备呈现出来。 在测试期间, AVR 单片机会做出相应的控制以方便测量的进行,比如控制模 拟手柄电路,模拟手柄的工作方式,从而逐步测试 TC-161 在不同工作模式下 的电压和电流。由于测试只需检验被测板是否合格,因而测试系统采取的是连 续测试方式,这大大降低了测试的周期,满足了流水作业的需要。下面简述框 图中的几个主要模块: 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 (2-1) 5 ATmega16 的数据手册 正文: 微电脑吸尘器控制板量产测试系统的设计与实现 13 单片机外部中断口测频方法可以严格按照式(2-1)进行,测量原理如图 2-5 所 示。 被测周期信号 外中断 0 触发计数 所得频率 定时器/计数器 1 定时 单片机周期信号 图 2-5 单片机外部中断测频原理图 Figure 2-5 Schematic diagram of frequency measurement by means of external interrupt 单片机的定时器/计数器 1 设置成定时器方式,由它对单片机周期信号计数 定时,形成时间间隔 T,去控制单片机外部中断的打开和关闭,显然单片机的 机器周期信号在这里用作时基。将外部中断设置成上跳沿触发或者下跳沿触发 方式,当每接收到一个被测周期信号,外部中断便被触发一次,而在时间间隔 T 内被触发的次数就是式(2-1)中的 N。再经过单片机的计算,即可得到被测 周期信号的频率。 3基准时钟频率采集 基准时钟频率的大小大概为 16KHz,若仍然采用外部中断测频法进行测量, 那么测试过程中频繁的中断会占用大量系统资源,所以本毕业设计采用 ATmaga16 定时器 /计数器 0 进行测量。 定时器/计数器的测频原理跟外部中断测频原理基本相同(见图 2-6) ,只不 过在这里扮演计数角色的不是外部中断而是定时器/ 计数器。将定时器/ 计数器 1 设置成计数器方式,由它对被测周期进行计数,技数的结果就是式(2-1)中的 N。 14 被测周期信号 定时器/计数器 0 计数 所得频率 定时器/计数器 1 定时 单片机周期信号 图 2-6 单片机定时器/ 计数器测频原理图 Figure 2-6 Schematic diagram of frequency measurement by means of Timer/Counter 4电压量采集 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交流电流量采集 对于交流电流的检测决定采用电流互感器的方法。电流互感器是利用变压 6 ATmega16 数据手册 正文: 微电脑吸尘器控制板量产测试系统的设计与实现 15 器原、副边电流成比例的特点制成。其工作原理、等值电路也与一般变压器相 同,只是其原边绕组(初级绕组)串联在被测电路中,且匝数很少;副边绕组 (次级绕组)接电流表、继电器电流线圈等低阻抗负载,近似短路。原边电流 (即被测电流)和副边电流取决于被测线路的负载,而与电流互感器的副边负 载无关。由于副边接近于短路,所以原边电压、副边电压都很小,励磁电流也很 小。 将电流互感器的原边绕组串联在被测控制板电路中,即两端分别接 TP10 和 TP11,副边绕组串联一个电阻,然后将电阻两端的电压输入单片机的 AD 口 (ADC4 )进行采样即可得到副边电流的相关量。根据当原边与副边绕组的匝 数比一定时,原边电流与副边电流成正比的特点,即可检测出交流电流的大小。 6测试结果的呈现 测试结果的呈现分三个方面:(1)通过 LCD 将测试步骤提示、测试数据、 测试结果等信息显示出来。上海恒芳电子的 HF12864B2 是一块 128*64 的汉字 图形点阵液晶显示模块,可显示汉字及图形,内置 8192 个中文汉字(16*16 点 阵) 、128 个字符(8*16 点阵)及 64*256 点阵显示 RAM(GDRAM) 7。 (2) 通过 I/O 口控制相关的 LED 指示灯的量灭来进一步说明测试的状态。 (3)通过 I/O 控制蜂鸣器,从而当测试步骤的结果出现异常时,系统会自动报警。 7模拟手柄 在测试 15 个参数当中的最后 10 个参数时,因为 它们都跟手柄有关,所以我们在测试系统中必须要电 路模拟这个手柄的存在。模拟手柄电路的关键是控制 开关的开与合,这用单刀双掷开关继电器(如图 2- 7)代替开关即可以解决。用单片机的 I/O 口给 4、5 两端通电,开关被掷向 3,断电,则开关重新回到 2。 7 恒芳 HF12864B2 型 LCD 数据手册 图 2-7 单刀双掷开关继电器 Figure 2-7 Relay-spdt 16 三、硬件电路的实现 (一)单片机系统 下面给出单片机系统的基本组成部分,复位电路与时钟电路。见图 3-1。 图 3-1 复位电路与时钟电路图 Fiture 3-1 Diagram of Reset circuit and clock circuit 1复位电路的设计 外部复位电路采用上电复位和按键复位。即当给系统上电时,VCC 与地通 过 R1 和电容 E3 导通,RST 相当于低电平,此时系统复位;当按下开关 sw1 时, 电容 E3 被短路,则 RST 低电平复位。详见图 3-1 复位电路。 2时钟电路的设计 采用外部晶振,主机时钟频率为 6MHz。详见图 3-1 时钟电路。 (二)数据采集电路 1频率测量 如图 3-2,频率的测量电路实现很简单,只要将测频率的接口 正文: 微电脑吸尘器控制板量产测试系统的设计与实现 17 (TP4 、TP7)串上一个电阻再接入单片机的外部中断口和计数器口即可。 图 3-2 频率测量电路 Figure 3-2 Circuit of frequency measurement 2电压测量 如前所述,ATmega16 片内自带了一个 8 通道的 10 位模数转换器,其接口 为 PA 口。因而只需将采样的信号串联一个 10K 的电阻接入 ADC 口即可。所 有信号在接入 ADC 口之前最好都串上一个接地电容滤波。具体电路图如图 3- 3。 18 图 3-3 电压测量电路 Figure 3-3 Circuit of voltage measurement 需要说明的两点是:(1)TP2 连接的是控制板的地线,必须与测试系统的 地线相连,所以在图 3-3 中,TP2 串联了一个 0 的电阻之后再与地相连。 (2)工作电源(TP1)的测量实际上是分压之后再接至 ADC0 的,这是出于防 止因电压过大而烧坏单片机的考虑。 3电流测量 电流的测量采取电流互感器的方法,如图 3-4 所示。T2 为电流互感器,流 经 TP10、TP11 的为交流电流,经过电流互感器之后,电流量按一定比例缩小, 通过二级管和电容的作用之后,变为直流电流量,再通过弹片机的 ADC4 口采 样,即可测出电流的大小。 图 3-4 电流测量电路 Figure 3-4 Circuit of current measurement (三)液晶显示电路 液晶显示器 HF12864B2 的引脚功能 8如图 3-5 所示, 具体介绍如下。 引脚 1:液晶电源地 引脚 2:液晶电源正端 引脚 3:LCD 驱动电压输入端,调节对比度 引脚 4:并行的指令/数据选择信号;串行的片选信 号 引脚 5:并行的读写选择信号;串行的数据口 8 恒芳 HF12864B2 型 LCD 数据手册 图 3-5 液晶显示器 HF12864B2 引脚功能图 Figure 3-5 The Pins of HF12864B2 LCD 正文: 微电脑吸尘器控制板量产测试系统的设计与实现 19 引脚 6:并行的使能信号;串行的同步时钟 引脚 714:液晶的并行数据 引脚 15:并串行接口选择:H-并行,L-串行 引脚 16:空脚 引脚 17:复位 低电平有效 引脚 18:空脚 引脚 19:背光 LED 阴极 引脚 20:背光 LED 阳极 单片机与液晶显示器接口电路图如图 3-6 所示。说明以下几点:(1)引脚 V0 的电压是通过可调电阻在 VCC 和 GND 之间分压得到,实践证明当 V0 的电 压在 4.5V 左右的时候,液晶的显示效果最好。 (2 )背光的阳极 LED_A 是通过 串上一个电阻接到 VCC 上的,实际上也可以串上可调电阻,调节背光的亮度。 (3)由于测试系统中,单片机与 LCD 的接口采取串行接口方式,因而应将引 脚 PSB 接低电平 GND。 图 3-6 单片机与液晶显示器接口电路图 Figure 3-6 Circuit of interface between single-chip and liquid crystal display (四)模拟手柄电路 模拟手柄电路如图 3-7 所示,可以发现,该图的作用原理跟前面提到的手柄 (图 1-2)是完全一样的。只不过该图是使用开关继电器代替图 1-2 所示手柄的 20 开关。此处继电器的工作原理为:当单片机的 PC45 口输出高电平的时候,继 电器内的线圈通电,开关 P14 被吸合;否则,继电器内的线圈电流为 0,开关 P14 被断开。说明以下几点:(1)图中三极管起到放大器的作用,从而以大 电压驱动继电器。 (2)稳压管的作用是在单片机口猛然由高电平到低电平时产 生强大的回流烧坏继电器线圈。 图 3-7 模拟手柄电路 Figure 3-7 Analog circuit of handle 正文: 微电脑吸尘器控制板量产测试系统的设计与实现 21 四、软件的设计 测试系统的软件采用 CodeVisionAVR 编写并编译。下面重点介绍下主程序 设计、数据采集程序设计和液晶显示程序设计。 (一)主程序设计 1简单嵌入式操作系统 sEOS 简单嵌入式操作系统(simple Embedded Operating System,简称 sEOS8)是 一种开发中小型嵌入式项目比较合适的简单操作系统。sEOS 像许多其它的嵌入 式操作系统一样,可以有效地提供周期性执行单任务的功能,亦可建立多任务 状态系统。在具体的控制系统任务中, 可根据使用要求,通过增减相应的任务 函数,增加和删除任务,使用非常方便。 sEOS 的基础是由片上的定时器在规律且精准的时间间隔产生中断(一个 “tick9”) ,每到中断来临的时候周期性地调用合适的函数,进行任务的调度, 这是 sEOS 执行多任务的基本原理。 sEOS 实时操作系统应用任务管理函数原型 10如下: void main(void) X_Init(); /初始化任务 X() sEOS_Init_Timer(n); /设定时间间隔,每隔 nms 调用中断刷新函数(ISR) while(1)/任务 X()在超级循环中有中断 ISR 调用 8 Michael J.Pont. Embedded CM. London:Pearson Education Limited 2002,143203. 9 (美)庞特著;继辉等译.C 语言嵌入式系统开发M京:中国电力出版社,2003,147. 10 Michael J.Pont. Embedded CM. London:Pearson Education Limited 2002,143203. 22 sEOS_Go_To_Sleep(); /系统运行在节电模式,提高 CPU 工作效率 该系统实现任务管理的原理,是采用定时器的溢出所产生的中断调用中断 服务例程 (ISR) ,这里设为 X()。在中断服务例程(ISR )中,实现所需的任 务调度及任务间的转移(或多状态间的转移) 。因而,在 sEOS 中,任务都是从 ISR 中被调度。 中断服务例程(ISR )函数 X()原型: void X(void) interrupt n /n 由具体的定时器决定 X_Update(); /任务调度函数,以执行具体的任务,是系统软件设计的重点 根据系统的具体任务的分配要求任务调度函数 X_Update()原型设计如下: void X_Update(void) /每隔 nms 刷新调用 switch(state) case 1: Task_1(); state = x1; /x1 的值决定了下一个 tick 会执行的任务 break; case 2: Task_2(); state = x2; /x2 的值决定了下一个 tick 会执行的任务 break; . . . case n: Task_n();/xn 的值决定了下一个 tick 会执行的任务 state = xn; break; 正文: 微电脑吸尘器控制板量产测试系统的设计与实现 23 在调度函数的 X_Update()里,switch-case 语句中每一个 case 语句对应一个 任务,当需要跳转到某一任务 Task_n()时,只要在当前任务的 case 语句里将 state 设置成 n,那么在下一个 tick 来临时,Task_n()便会被执行。 不难发现,使用 sEOS,使多任务状态系统中的任务调度变得简单,因为系 统中状态的转换只需要改变 state 的值;使实时应用程序的设计具有很大的灵活 性,因为它不需要大的改动,就可以增加新的功能。可以说,sEOS 已经被广泛 应用于单片机的工业控制与测试系统中。 然而在实际应用中,设计者通常不会完全照搬 sEOS 较为繁琐的形式,而只 是应用它利用定时器中断进行任务调度的思想。微电脑吸尘器控制板量产测试 系统的程序,正是基于 sEOS 的思想设计而成。 2主程序设计 根据测试系统的功能要求以及终合各被测参数的相关性,决定将整个测试 任务分为 15 个步骤,分别为: 步骤 1:空载测试(测空载电流) ; 步骤 2:工作电源测试(测工作电压) ; 步骤 3: NTC 测试(测 NTC 热敏电阻电压) ; 步骤 4:交流电源测试(测交流信号频率) ; 步骤 5:过压保护(测过压) ; 步骤 6:手元基准测试(测手元基准电压) ; 步骤 7:基准时钟测试(测基准时钟频率) ; 步骤 8:低档电压测试; 步骤 9:低档电流测试; 步骤 10:高档电压测试; 步骤 11:高档电流测试; 步骤 12:停止电压测试; 步骤 13:停止电流测试; 步骤 14::手元拔出测试(测手元拔出电压) ; 24 步骤 15:2 秒自停测试(测手元拔出电流) 。 根据步骤,画出主程序的框图如图 4-1 所示。图中定时中断由 maga16 的定 时器/ 计数器 1 产生。采用 T/C1 的比较匹配中断模式,可以非常精准地产生中 断(一个 tick) ,每个 tick 的时间为 25ms,即每 25ms 调用一次任务调度函数。 图 4-1 主程序流程图 Figure 4-1 Flow chart of main program (二)数据采集程序设计 1频率采集程序 如前所述,交流信号频率与基准时钟频率的测试原理基本相同,仅仅是二 者在计算 N(计数值)时所用的方式有所不同。下面分别简述二者的计数方式。 外部中断测频法计数方式: (1)在某一个 tick 到来时,开始对 INT0 进行初始化,这包括在中断控制 寄存器(GICR)中关闭中断 INT0、在通用中断标志寄存器(GIFR )中将中断 INT0 的标志位清 0、将进入外中断的次数(记为 INT0_times)置 0 等。 (2)在初始化工作完毕过后的第一个 tick 到来时,使能(打开)外中断 0。此后,每当外中断 0 被触发一次,其中断服务子程序中的 INT0_times 都会 正文: 微电脑吸尘器控制板量产测试系统的设计与实现 25 自动加 1。 (3)在采样时间为第 n 个 tick 到来时(假设 n=40) ,关闭外中断 0,读取 此时的计数值 N=INT0_times,则测量频率的结果即为:1000*N/(40*25) =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 到来时(假设 n=40) ,关闭外中断 0,此时 的计数值的算法位:N=TC_OVF_times * 256 + TCNT0 ,则测量频率的结果即为: 1000*N/(40*25)=N。 交流信号频率采集子程序见图 4-2。每当交流信号测试任务被 sEOS 所调度, 该子程序便被调用一次,直至测试任务结束任务状态跳转。 26 图 4-2 交流信号频率采集程序流程图 Figure 4-2 Program flow chart of frequency measurement about AC signal 基准时钟频率采集子程序见图 4-3。同理,每当基准时钟测试任务被 sEOS 所调度,该子程序便被调用一次,直至测试任务结束任务状态跳转。 图 4-3 基准时钟频率采集程序流程图 Figure 4-3 Program flow chart of frequency measurement about reference clock 正文: 微电脑吸尘器控制板量产测试系统的设计与实现 27 2电压与电流采集程序设计 电压与电流的测量都是通过 maga16 的 ADC 口采集得到。其软件程序非常 简单,利用 CodeVisionAVR C 编译器可以直接生成如下读取 ADC 转换值的子 程序。 #define ADC_VREF_TYPE 0x40 / Read the AD conversion result unsigned int read_adc(unsigned char adc_input) ADMUX=adc_input|ADC_VREF_TYPE; / Start the AD conversion ADCSRA|=0x40; / Wait for the AD conversion to complete while (ADCSRA ADCSRA|=0x10; return ADCW; 该函数的运用也很简单。对于 ADCi 口,其 AD 转换的结果为 read_adc(i) 。当参考电压 VREF 近似等于 5V 的时候,ADC i 口的输入电压为 VIN=read_adc(i)/1024*5000,单位为毫伏。 考虑到在数据采集时,会存在许多随机误差,因而在本测试系统中我们不 但在硬件上通过电容滤波,而且在软件上也加入了多次测量取平均值的数字滤 波方法。下面画出测量手元基准电压的流程图(图 4-4) ,其它电压与电流的测 量与此雷同。 28 图 4-4 手元基准电压测量流程图 Figure 4-4 Flow chart of reference voltage measurement (三)LCD 液晶显示器程序设计 1HF12864B2 的相关原理介绍 (1)连接时序 HF12864B2 有并行和串行两种连接方式,本测试系统采用的是串行方式, 其连接时序图如图 4-5 所示。 图 4-5 HF12864B2 串行连接时序图 Figure 4-5 Sequence chart when HF12864B2 is in series connection 串行数据传送共分三个字节完成 11: 11 恒芳 HF12864B2 型 LCD 数据手册 正文: 微电脑吸尘器控制板量产测试系统的设计与实现 29 第一字节:串口控制格式 11111ABC A 为数据传送方向控制:H 表示数据从 LCD 到 MCU,L 表 示数据从 MCU 到 LCD B 为数据类型选择:H 表示数据是显示数据,L 表示数据是控 制指令 C 固定为 0 第二字节:格式 DDDD0000,四个 D 分别为 8 位数据的高 4 位 第三字节:格式 DDDD0000,四个 D 分别为 8 位数据的低 4 位 (2)显示数据 RAM(DDRAM) DDRAM(12864bits )是存储图形显示数据的。此 RAM 的每一位数据对 应显示面板上一个点的显示(数据为 H)与不显示(数据为 L) 。DDRAM 能显 示 4 行 8 列共 32 个汉字。汉字显示位置与 DDRAM 的地址对应关系如下表(表 4-1 )。 表 4-1 汉字显示位置与 DDRAM 地址对照表 Table 4-1 Comparison table of address between display position by Chinese characters and DDRAM (2)相关指令集 HF12864B2 LCD 液晶显示器内置的指令集很多,下面列出本次系统设计所 用到或比较重要的几条指令集(见表 4-2) 表 4-2 HF12864B2 相关指令集 Table 4-2 Instruction set related 30 控 制 信 号 控 制 代 码指 令 名 称 RS R/ W D7 D6 D5 D4 D3 D2 D1 D0 清除显示 0 0 0 0 0 0 0 0 0 0 进入点设定 0 0 0 0 0 0 0 1 S 显示状态开/关 0 0 0 0 0 0 1 D C B 功能设定 0 0 0 0 1 1 X RE X X 设定 DDRAM 地址 0 0 1 D6 D5 D4 D3 D2 D1 D0 写显示数据 1 0 数 据 读显示数据 1 1 数 据 下面详细解释各个指令集功能。 1)清除显示 将 DDRAM 填满“20H” ,并设定 DDRAM 的地址计数器(AC)到“00H” , 即起到清屏的作用。该指令需执行的时间为 4.6ms。 2)进入点设定 指定在资料的读取与写入时,设定游标移动方向及指定显示开始处的位移。 S 决定从该行哪里开始显示,一般默认为 0;P 为 1 时,则向右移动光标,为 0 时,向左移动光标。该指令需执行的时间为 72us。 3)显示状态开/关 D=1:整体显示 ON ;C=1:游标 ON ;B=1:游标位置 ON。该指令需执行的 时间为 72us。 4)功能设定 HF12864B2 的指令集有两种,分别为基本指令集和扩展指令集,当

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论