示波器监控程序设计方案

发布者:EnchantedDream最新更新时间:2012-10-17 来源: 21IC 关键字:示波器  监控程序  C8051F020 手机看文章 扫描二维码
随时随地手机看文章

设计采用高性能单片机C8051F020为控制芯片,监控示波器面板上40个按键、3个编码开关及4个电位器的状态。分别介绍了键盘、编码开关和电位器的工作原理,以及其与单片机连接的硬件电路及软件编程的实现。按键部分采用一键多义的键盘程序设计方法,给出了键码匹配子程序流程图。

监控程序负责系统中全部硬件和软件资源的分配、调度工作,它提供用户接口,使用户获得友好的工作环境,是系统设计中一个重要组成部分。

1C8051F020单片机概述

伴随着电子技术快速的发展,越来越多的人加入电子开发的大军。在学习电子技术和研发项目的过程中,避免不了要使用一些仪器,例如万用表、示波器等等,然而对于一些非专业的爱好者,拥有一台数字示波器是比较“奢侈”的。本设计C8051F020单片机,因其具有成本低、制作简单、测量精度高等优势,恰恰满足了这一部分人的需求。

C8051F020单片机是高度集成的片上系统。在芯片内集成了2个多通道ADC子系统(每个子系统包括1个可编程增益放大器和1个模拟多路选择器)、2个电压输出DAC、2个电压比较器、电压基准、SMBus/I2C总线接口、UART、SPI总线接口、5个通用的16位定时器、1个具有5个捕捉/比较模块的可编程计数器/定时器阵列(PCA)、内部振荡器、8个8位通用数字I/0端口和64KBFLASH程序存储器,以及8051兼容的高速微控制器内核。

C8051F020单片机是所有模拟和数字外设均可由用户固件使能/禁止和配置。Flash存储器还具有在系统重新编程能力,可用于非易失性数据存储,并允许现场更新8051固件。片内JTAG调试电路允许使用安装在最终应用系统上的产品MCU进行非侵入式(不占用片内资源)、全速、在系统调试。该调试系统支持观察和修改存储器和寄存器,支持断点、观察点、单步及运行和停机命令。在使用JTAG调试时,所有的模拟和数字外设都可全功能运行。

Cygnal出的一种混合信号系统级单片机。片内含CIP-51的CPU内核,它的指令系统与MCS-51完全兼容。其中的C8051F020单片机含有64kB片内Flash程序存储器,4352B的RAM、8个I/O端口共64根I/O口线、一个12位A/D转换器和一个8位A/D转换器以及一个双12位D/A转换器、2个比较器、5个16位通用定时器、5个捕捉/比较模块的可编程计数/定时器阵列、看门狗定时器、VDD监视器和温度传感器等部分。C8051F020单片机支持双时钟,其工作电压范围为2.7~3.6V(端口I/O,RST和JTAG引脚的耐压为5V)。与以前的51系列单片机相比,C8051F020增添了许多功能,同时其可靠性和速度也有了很大提高。

2一键多义键盘工作原理

一台完善的智能仪表功能往往很多,设定的量程、参数也很多。如果还是用一键一个功能,势必要有一个很大的键盘,面板相应扩大,不美观,而且成本增加。因此在这类仪表中,键盘设计成一键多义,一个键有多种功能。

在一键多义的情况下,一个命令不是由一次按键组成,而是由一个按键序列组成。也就是说,对一个按键含义的解释,不仅取决于本次按键,还取决于以前按了些什么键。因此,对于一键多义的监控程序,首先要判断一个按键序列(而不是一次按键)是否已构成一个合法命令。若已构成合法命令,则执行命令,否则等待新按键输入。一键多义键盘管理程序,主要解决键盘按键序列的识别和如何根据键盘的按键序列去找相应的操作程序这两个问题。

上述问题可用“一图三表”的方法来解决。即,建立一张键图,依靠分析程序状态表,分析程序入口表和动作例行子程序表来完成。其中分析程序状态表总共分为4栏,分别为现状态PSTi、键码、下一状态、动作例行子程序编号。

3编码开关工作原理

编码开关有3个引脚和5个引脚的,其中2个引脚是按下功能,另外3个引脚控制编码开关的左旋和右旋功能,与引脚1、2相连的是两个长短不一的金属静片,与引脚3相连的是一周有12或24个齿的金属动片。当脉冲电位器旋转时可出现4种状态:引脚3与引脚1相连,引脚3与引脚2及引脚1全相连,引脚3与引脚2相连,引脚3与引脚2及引脚1全断开。

在实际使用中,一般将引脚3接地作为数据输入端。而引脚1、2作为数据输出端与单片机I/0口相连。本设计中用到3个编码开关,其中一个将引脚1与单片机的P4.0相连,引脚2与单片机的P4.1相连。当脉冲电位器左旋或右旋时,P4.0和P4.1就会周期性地产生图1所示的波形。如果是12点的脉冲电位器旋转一圈就会产生12组这样的波形,24点的脉冲电位器就会产生24组这样的波形。一组波形(或一个周期)包含了4个工作状态。因此只要检测出P4.O和P4.1的波形,就能识别脉冲电位器是否旋转,是左旋还是右旋。

 

编码开关工作波形

 

4C8051F020单片机ADC0

C8051F020的ADC0子系统包括:一个9通道的可配置模拟多路开关(AMUX0)、一个可编程增益放大器(PGA0)和一个100ksps的12位分辨率的逐次逼近寄存器型ADC。ADC中集成了跟踪保持电路和可编程窗口检测器。AMUX0、PGA0、数据转换方式及窗口检测器都可用软件通过特殊功能寄存器来配置。只有当ADC0控制寄存器(ADCOCN)中的ADOEN位被置1时,ADC子系统才被允许工作。当ADOEN位为0时,ADC子系统处于低功耗关断方式。

ADC0端口的每一对均可用编程设置成为单端输入或差分输入。差分输入时的端口配对为(0,1)、(2,3)、(4,5)、(6,7),此设置由通道选择寄存器AMUXOSL的低4位和通道配置寄存器AMUXOCF的低4位确定。在AMXOCF中,位3~O各对应2个引脚通道。位值=0,表示是独立的单端输入(复位值均为单端输入);位值=1,表示是差分输入对。

C8051F系列单片机中ADC的速率都是可编程设置的,但最少要用16个系统时钟。一般在转换之前还自动加上3个系统时钟的跟踪/保持捕获时间(>1.5μs)。设置F020内ADC速率的方法是通过配置寄存器ADCOCF的位7~3来进行的,其复位值为11111(位7~3=SYSCLK/CLK(SAR)-1)。

一般在启动ADC之前都要处于跟踪方式,控制寄存器ADCOCN的位6如果为“O”,则一直处于跟踪方式(此时启动4种启动方式都可比跟踪启动快3个系统时钟);如为“1”,则有4种跟踪启动方式可选择,即对ADCOCN中的位3~2赋值:00为向ADBUSY写1时跟踪(软件命令),01为定时器3溢出跟踪,1O为CNVSTR上升沿跟踪(外部信号),11为定时器2溢出跟踪。

5系统硬件电路设计

键盘部分采用6×6矩阵键盘,P7.O~P7.5为行线,P3.0~P3.5为列线。P3.0与P7.O交叉处为一键,P7口接10kΩ的上拉电阻至3.3V。3个编码开关的1、2脚直接与单片机的I/0引脚相连,这里选择P4.O~P4.5,3脚接地,4、5脚用作按键使用。仅以接P4.O和P4.1引脚的编码开关为例,电路图如图2所示。模数转换部分使用内部电压基准,故将VREF引脚与VREF0引脚相连即可。采用电位器调节模拟量的输入,单端输入,电位器阻值为10kΩ,基准电压典型值为2.43V,电源电压采用3.3V供电。为使基准电压达到最大,需要一个阻值约为3.58kΩ的电阻与电位器串联接到模拟端口,硬件电路如图3所示,电位器的4、5脚也用作按键使用。[page]

 

系统硬件电路

 

 

硬件电路

 

6系统软件设计

6.1一键多义键盘程序设计

在键盘分析中,运用一个工作状态寄存器保存键盘的现状态,当键盘扫描到一个按键时,根据现状态的值从分析程序入口表中找到分析程序状态表地址,从该地址处进入分析程序状态表,找到相匹配的值,把下一状态送到现状态单元里,取出动作号,根据动作号计算出动作子程序入口地址,再执行相应子程序。图4为键码匹配子程序的流程图。

6.2编码开关程序设计

由图1可以看出,引脚1和引脚2有同时为高电平的情况,之后如果引脚2比引脚1先到达高电平则表示左旋,如果引脚1比引脚2先到达高电平则表示右旋。编程的时候依据这个特点来判断引脚1、引脚2的状态即可。以1引脚接P4.0,2引脚接P4.1为例:

 

键码匹配子程序的流程图

 

6.3模数转换软件设计

通过设置ADCO控制寄存器ADCOCN位3~2(ADOCM1~O)A/D转换启动方式选择位,来启动A/D转换:位3~2为00时,向ADOBUSY(ADCOCN位4)写1启动A/D转换;位3~2为01时,定时器3溢出启动A/D转换;位3~2为10时,CNVSTR上升沿启动A/D转换;位3~2为11时,定时器2溢出启动A/D转换。本设计采用第一种启动方式。

由于单片机的工作量并不大,所以软件设计时采用查询的方式。单片机不断地查询键盘、编码开关以及电位器的状态,如果有变化时,单片机将动作信息传递给ARM主MCU,等待主MCU的处理。由于单片机模数转换的速度非常快,因此在程序中加延时,以便观察到模数转换的变化量。另外,硬件设计时没有考虑滤波,故用软件实现滤波。一般的滤波的方法有限幅滤波法、中位置滤波法、算术平均滤波法等,现在提出一种新的滤波方法。由于使用12位A/D,但只要8位就可以达到所要的精度,所以可以采用去掉低4位的方法来实现滤波的目的。由于篇幅有限,下面只给出程序的一部分,以AIN0为例:

22.jpg

结语

本文介绍的一键多义的按键管理程序,对多按键的智能仪表可以通用。编码开关的编程方法简单易懂。在A/D转换部分,提出的去掉低4位的软件滤波方法可靠可行,对精度要求不高的场合非常适用。这3部分构成了一个完整的监控程序,当单片机监控到某一部分有变化时,就将其动作信息传递给ARM主CPU,主CPU进行相应的处理。

关键字:示波器  监控程序  C8051F020 引用地址:示波器监控程序设计方案

上一篇:数字示波器简介及分类
下一篇:双踪示波器的组成及其工作原理

推荐阅读最新更新时间:2024-03-30 22:30

示波器电流探头工作原理
电流探头测量电子在导线内运动时生成的磁场。在电流探头的量程规范内,导线周围的磁通场被转换成线性电压输出,可以在示波器或其它测量仪器上显示和分析线性电压输出。通过把导线完全绕在探头磁芯上(分芯和实芯)上,可以精确地测量磁通场。分芯探头非常方便,它们可以夹在导线上,而不必断开连接。实芯电流变压器(ct)是为永久安装或半永久安装而设计的,它们体积小,提供了非常高的频响,可以测量超快速、低振幅电流脉冲和ac信号。 电流探头在测试直流和低频交流时的工作原理 当电流钳闭合,把一通有电流的导体围在中心时,响应地会出现一个磁场。这些磁场使霍尔传感器内的电子发生偏转,在霍尔传感器的输出产生一个电动势。电流探头根据这个电动势产生一个反向(补偿)电
[测试测量]
<font color='red'>示波器</font>电流探头工作原理
利用数字存储示波器测量特殊信号
随着数字化技术、集成电路的高速发展,数字存储示波器以其强大的测试能力、稳定的性能和更快捷的数据处理方式越来越多的应用于科研生产中,已成为检测电子线路最有效的工具之一。通过示波器观察线路关键节点的电压、电流波形可以直观地检查线路工作是否正常,验证设计是否恰当。这对提高设计或产品的可靠性极有帮助,但是对线路波形的正确分析判断不仅有赖于仪器的先进程度还与工程师的测试方法和经验有关。 利用数字存储示波器测量特殊信号 数字示波器适用于测量快速脉冲信号,同时配有高增益放大器,所以灵敏度高,可观测微弱信号。在航空、航天、电子工业产品调试、测试中,数字示波器的应用也越来越普遍。现在数字示波器不再仅限于测量波形的脉冲参数,通过FFT的时/频变换可
[测试测量]
示波器的笔直分辩率对丈量的影响
通常数字示波器选用的都是8位ADC,对任何一个波形值都是用256个0和1来重组。假定示波器笔直方向满量程为8格,对应量化级数256。在笔直档位为500mV/div的情况下,笔直精度为(500mV*8)/256=15.625 mV。丈量同一个信号,在笔直档位为50mV/div的情况下,即(50mV*8)/256=1.5625 mV,笔直精度就到达了1.5625 mV。 图 丈量精度 在实习丈量中,因为丈量波形的幅值纷歧样,故笔直档位设置也会纷歧样,可是为了尽量使丈量精确,可进行以下操作: 使查验信号幅值尽量占到屏幕6div分配。例如一个峰峰值为7Vpp的正弦波,笔直档位应设为1V/div,而不是2V/div或5V/div。实习上
[测试测量]
<font color='red'>示波器</font>的笔直分辩率对丈量的影响
示波器的双线示波的实现方法
在日常使用示波器的过程中,大家经常会使用到示波器的双线示波,那么大家知道示波器的双线示波是如何实现的吗?下面中国传感器交易网的专家来给大家介绍一下示波器的双线示波的实现方法。 在电子实践技术过程中,常常需要同时观察两种(或两种以上)信号随时间变化的过程。 并对这些不同信号进行电量的测试和比较。为了达到这个目的,人们在应用普通示波器原理的基础上,采用了以下两种同时显示多个波形的方法:一种是双线(或多线)示波法; 另一种是双踪(或多踪)示波法。应用这两种方法制造出来的示波器分别称为双线(或多线)示波器和双踪(或多踪)示波器。 双线(或多线)示波器是采用双枪(或多枪)示波管来实现的。下面以双枪示波管为例加以简单说明。 双枪示波管有两个互
[测试测量]
泰克示波器实现汽车以太网测试的可靠性与互操作性
汽车以太网源于成熟的IT 技术并满足容量和集成度的需求。与非汽车以太网不同,汽车总线使用非屏蔽的单绞线以便减轻重量并降低成本。 它使用 PAM3 调制实现高数据速率和可靠性。 汽车标准在以太网中保持不变,但是,在物理层纳入明显变化以便满足汽车要求。第一版标准被称为 BroadR-Reach,随后,它被名为 100BASE-T1 (P802.3bw) 和 1000BASE-T1 (802.3bp) 的 IEEE 版本所取代。 为了确保硬件的互操作性并确保汽车在不同工作条件下可靠运行,信号电平、噪声和时钟特性具有严格约束。尽管非常适合固定以太网网络,这些标准规定的测试技术已经为习惯使用CAN 和 LIN 等更低串行总线的许多汽车工程
[测试测量]
泰克<font color='red'>示波器</font>实现汽车以太网测试的可靠性与互操作性
资深工程师教你如何用示波器
  我常常看到很多小公司用的示波器过于低端,带宽低,采样率底,认为能抓到波形就行,认为没有必要买那么好的示波器,并且认为示波器操作简单,没有那么多规范。看到他们对示波器的操作,不做测试之前的准备,拿起来就用,其实那样做是不正确的,可能往往就是这个操作不正确导致测试结果失真,影响分析。即使一些很资深的工程师可能也不会注意到一些细节。不少工程师对示波器的认识度欠缺,如何更好的使用示波器还是有待提高的。下面就以我见到的很多工程师常犯的问题予以纠正,分享一下我掌握的一些知识。   1.很多工程师直接拿起探头就测试,根本不去检查探头是否需要补偿,示波器是否需要校验。只有在一些大公司或经过培训的工程师才会在使用前做准备工作   示波器
[测试测量]
资深工程师教你如何用<font color='red'>示波器</font>
正确使用10x无源探头的方法
前言 10x无源探头是我们最常使用的探头,几乎每个示波器都标配这种探头,但是即使这样,我们对它的认识上还是存在很多误区,并且错误的使用,导致测试结果的不准确,本文将介绍如何避免常见错误,并最大程度地利用好无源探头。 10x无源探头的最佳用法 使用10x无源探头时,有五个重要的最佳测量准则要遵守,以获得10x探头的最佳性能并避免常见的错误:1. 使用示波器前面板上的校准参考信号来补偿探头。2. 始终尝试使用可最大程度地减小环路电感的前端,较小的弹簧接地线或使用同轴连接DUT,将减少振铃失真,并将探测带宽扩展到最高频率。3. 始终尝试使用同轴与DUT连接,以减少从本地环境拾取射频干扰(RF)4. 探测低阻抗源时,考虑增加一个200
[测试测量]
正确使用10x无源探头的方法
RIGOL DS6000系列数字示波器荣获A&D 100 大奖
2011年6月22日,RIGOL DS6104数字示波器喜获美国A&D Magazine评选的R&D 100年度产品大奖。A&D 100年度产品大奖是用于表彰年度科技创新产品的一项大奖,由专家和杂志编辑共同组成的评选委员会评出,其评审标准的重点在科技创新产品与市场需求紧密结合方面。评选产品的来源为工业领域,研究所,国家实验室和私人研究机构,包括新材料,新产品和新技术等多个领域。 A&D 100 Award 自设立49年以来,已成为全球高科技领域极为推崇的大奖,被誉为科技界的“创新奥斯卡”。 今年,RIGOL DS6104数字示波器与安捷伦,卡尔蔡司,戴尔,戴安,日立,英特尔,洛斯阿洛莫斯国家实验室,麻省理工大学,三菱,吉
[测试测量]
RIGOL DS6000系列数字<font color='red'>示波器</font>荣获A&D 100 大奖
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
最新测试测量文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved