历史上的今天
返回首页

历史上的今天

今天是:2025年04月23日(星期三)

正在发生

2021年04月23日 | LCD显示电压示波系统设计方案

2021-04-23 来源:eefocus

本设计以ARM7微处理器为核心,采用arm7中的高速A/D为测压单元,提高了数据传输的可靠性;数据结果通过LCD实时显示,显示方式友好直观;采用RAM和UART分别存储和传输数据,实现了监测数据的长期存储和与PC的通信传输。采用31/2位或41/2位段位式LCD液晶数码显示器的仪表已不罕见,但段位式LCD显示器的功能较局限。对于多功能的智能仪表,采用点阵式LCD液晶显示模块,可提供更为丰富灵活的显示内容。点阵式LCD显示模块是一种集显示、控制与驱动与一体的显示器件。为了简化电路,充分发挥arm的性能,采用了320×240的16级灰度LCD。


系统总体方案设计


本系统要求软件完成的功能有以下几个方面。


实时数据采集功能。系统要求能够实时采集外部电压的实时数据。


采样数据处理功能。在系统对实时数据采集完成后,要对数据进行实时处理。实时处理主要是将外部电压进行高速A/D转换,然后动态显示。系统还可利用按键对超过报警设定值进行动态修改。


LED显示和RTC功能。本实验充分利用了LED显示和实时时钟功能。


报警处理功能。将实时数据与人机对话设定电压测量最大值进行比较,之后做出报警动作。


显示最大值功能。将实时数据中的最大值给予保存和显示。


利用EEPROM读写数据功能。系统可以在上电时读取110位上次运行的实时数据,并作为这次的历史数据。系统还可以按键来存储当前的110位实时数据。


串口发送数据功能。系统可通过按键,通过串口将100位实时数据发送到上位机显示。


为了实现系统的模块清晰,本系统采用了μC/OS-II操作系统。按照上述要求,本系统将软件划分为4个功能模块:A/D采集模块、LED显示和按键处理模块、LCD显示模块、报警、存储及串口处理模块。采样模块完成对实时数据的采样并保存;LED显示按键处理模块主要功能是对采样数据的处理,并把它们转换成有实际意义的参数;LCD显示模块是将各种参数在LCD显示出来;报警、存储及串口处理模块主要是实时对实时数据进行相应的处理。图1即为总体系统设计整体结构图。



图1 系统总体框图


系统硬件组成及功能


1 LCD显示部分


液晶显示器(LCD) 具有功耗低、体积小、重量轻、厚度薄等许多其他显示器无法比拟的优点,普遍应用于基于微处理器的仪器仪表及监视、控制等智能装置的终端显示和人机接口中。STN LCD——市面上销售的单色LCD绝大多数都是这种类型。STN LCD可选择自带LCD驱动器/控制器的STN LCD模块。TFT LCD——即俗称的“真彩色”液晶。TFT LCD通常一定要选择总线型液晶显示器,或者外接ARM的LCD驱动板也可以,总之要能够连接单片机或者arm。


2 LED显示与键盘模块


键盘显示部分是利用我们最熟悉的8位LED数码显示加8位键盘输入。图2是自制的LED显示与键盘模块的电路图。利用了飞利浦公司的SPI总线,简单实用,有五根针脚引出。



图2 LED显示与键盘模块


系统软件设计


1 设计思想


在此简易示波系统中,我们采用了LPC2138这种高性能ARM,由于ARM处理器处理速度极快,并且它内部带4路A/D转换。我们知道,ARM中的Fpclk是ARM外设的频率,常规情况下,是ARM内核工作频率的1/4,但我们可以自行修改设定Fpclk等于ARM内核的频率Fcclk,然后我们自行设定A/D转换功能不分频,并且可以设定采样的精度设为8位,这样每A/D转换一次的时间就等于arm的内核工作频率的9倍的时间,这样每次A/D的时间就相当快了,这时我们再采用两路A/D间隔采样,这样每次A/D的时间就又缩短了一半。理论上讲,这时的每次A/D采样时间差不多为2μs。这样,此系统的对外部电压的响应速度就提高了一个档次了,所以此系统的A/D性能比较高。


2 任务的划分


根据任务的划分原则,分析得出了6个任务:延时创建采样任务、采样任务、报警任务、实时时钟显示任务、串口任务、采样数据显示任务。其中采样任务安排优先级最高优先级为4,采样数据显示任务优先级为7,串口任务优先级为8,报警任务优先级为9,实时时钟显示任务为10。为了进行初始化工作,在延时创建采样任务中增加了对目标板的初始化和任务、互斥信号量、信号量的创建工作等内容。


3 共享资源的分析


在本测试要求中,采样的数据既要实时地放到LCD液晶屏上显示,而且还可以通过串口上传到上位机上,因此要采取资源同步的方法,否则有可能破坏时间,实现资源同步的方法一般有两种:关中断;使用互斥信号量。在本测试中使用互斥信号。


4 行为同步


在本测试中要用到两个行为同步,第一个是采样的数据的显示,测试要求把当前采样的数据通过LCD液晶屏上显示出来,所以要在数据显示任务中要等待采样任务完毕的信号量,当采样完毕后,发送信号量,把当前采样的结果显示出来。第二是查询历史记录,用户要查询历史记录时,才把记录显示出来,所以在查询历史记录任务里设置等待查询信号。任务之间相互配合和协调,才能得到预定的效果,这样可以实现任务的同步。



图3 采样任务流程图


5 软件设计模块流程图


嵌入式操作系统是嵌入式系统硬件和应用软件之间的接口,它的使用可以提高软件开发效率,它的可靠性和稳定性直接影响着系统的运行性能。本软件设计采用公开源码的μC/OS-II多任务实时操作系统。μC/OS-II作为一个实时微内核,实际上是一个高效的任务调度器,调度是线程级的,调度策略是采用静态分配优先级的方式,并且采用占先式的调度原则。为了实现基本的任务调度功能, μC/OS-II提供了必备的任务间通信手段,包括信号量、邮箱等。为了实现任务延时,还具有基本的时钟管理。


推荐阅读

史海拾趣

康奈特(CNNT)公司的发展小趣事

康奈特(CNNT)公司在电子行业的光学镜片领域一直保持着领先地位。早期,公司面临着镜片透光性、耐磨性等技术瓶颈。为了突破这些限制,康奈特投入大量研发资源,成功研发出了一种新型镜片材料,大幅提升了镜片的性能。这一创新不仅为公司赢得了市场认可,也为整个行业树立了新的技术标杆。

Easy Braid公司的发展小趣事

品质一直是Easy Braid公司的生命线。在竞争激烈的市场环境中,Easy Braid始终坚持使用高品质的材料和严格的生产工艺,确保每一件产品都达到最高标准。正是这种对品质的执着追求,让Easy Braid赢得了客户的信任和口碑。随着客户群的扩大,Easy Braid的品牌影响力也逐渐增强。

蓝箭(BLUE ROCKET)公司的发展小趣事

随着市场的不断扩大和需求的增加,蓝箭电子逐渐形成了年产150亿只的生产规模,成为华南地区主要的半导体器件生产基地之一。公司凭借优质的产品和服务,赢得了广大客户的认可,市场份额逐年提升。

A1 PROS公司的发展小趣事

在2000年,A1 PROS在韩国正式成立,初创期的它,主要专注于黑白CCD芯片的研发与生产。当时,随着数字技术的兴起,电子摄像头逐渐普及,市场对高质量的图像传感器需求日益增长。A1 PROS凭借其核心团队在半导体技术方面的深厚积累,成功研发出多款性能优越的黑白CCD芯片,并很快在市场上占据了一席之地。

为了拓展业务,A1 PROS积极寻求合作伙伴。2003年,它与台湾的昱生电子有限公司建立了合作关系,后者成为A1 PROS在台湾地区的主要经销商。这一合作不仅帮助A1 PROS打开了台湾市场,也为后续进军更广阔的亚洲市场奠定了基础。

Elcos AG公司的发展小趣事

在电子科技日新月异的21世纪初,Elcos AG由一群志同道合的电子工程师创立。他们看到了电子元器件市场中的机遇,决定专注于研发和生产高性能的电子元器件。初始阶段,公司面临着资金紧张、技术挑战和市场认知度低的困境。然而,凭借对技术的执着和对市场的敏锐洞察,Elcos AG逐步攻克了技术难题,并通过与几家小型电子产品制造商的合作,打开了市场的大门。

Andigilog公司的发展小趣事

在电子科技日新月异的21世纪初,Elcos AG由一群志同道合的电子工程师创立。他们看到了电子元器件市场中的机遇,决定专注于研发和生产高性能的电子元器件。初始阶段,公司面临着资金紧张、技术挑战和市场认知度低的困境。然而,凭借对技术的执着和对市场的敏锐洞察,Elcos AG逐步攻克了技术难题,并通过与几家小型电子产品制造商的合作,打开了市场的大门。

问答坊 | AI 解惑

麻烦推荐个运放,能测出1mV左右电压,失真比较小~~

本信息来自合作QQ群:电子工程师技术交流(12425841) 群主在坛子ID:Kata   麻烦推荐个运放,能测出1mV左右电压,失真比较小 用OP07可以不? …

查看全部问答>

KEIL下LPC1114代码运行问题

用keil编码1114的i2c,我在设置了编译优化选项之后出现了巨大的问题。索性,在取消掉所有的优化选项后i2c通信已经正常。   可惜结果仍然不正确,我就跟代码。这时候才发现一个无法理解的问题。我在funcA()里调用funcB()时传入一个静态myVar ...…

查看全部问答>

疑问

   大家好,我现在跟同学一起做一个有关嵌入式的东西,就是想让平台上的图像在触摸屏幕上显示出来,用软件来实现 希望大家能多多指导!!…

查看全部问答>

有关CDMA模块的AT指令问题

如题,公司用的是ANTDATA公司出的DTGS-800模块,虽然也带有文档说明,但我觉得不够详细,所以特来发帖提问,希望大家踊跃发言,问题如下: 1、读取短信的时候,怎样才能不改变短信的状态呢?例如,执行了以下AT命令 AT+UGSM=1 返回OK(DTGS-800支 ...…

查看全部问答>

求助:PWM输出8.2KHZ1:1的方波,为什么在4.3K有个的很强频率分量

设置如下: unsigned short pwmizhouqi=256;   LPC_TMR16B1->TCR = 0;      LPC_SYSCON->SYSAHBCLKCTRL |= (1PIO1_9 = 0X01;   LPC_TMR16B1->MR0 = pwmizhouqi/2;       LPC ...…

查看全部问答>

求教

MSP430f2XX  系列单片机能不能用并口JTAG下载程序?一定要用USB  二线制的吗?谢谢…

查看全部问答>

LaunchPad调试nrf24l01--续

原帖不能编辑了,就新开一帖在这里,望斑竹谅解   目前为止,基于launchpad和nrf24l01的单向收发已经实现,程序在下面放出,还有很多要改进的,仅供参考。欢迎高手拍砖。   学习经历: 1.收到板子后查了下资料,发现很丰富啊,于是 ...…

查看全部问答>

单片机编程

http://wenku.baidu.com/view/eeb3310d6c85ec3a87c2c586.html…

查看全部问答>

MPLAB IDE和PICC编译问题。

我用的是MPLAB ICE和PICC编译PIC16F722,之前编译什么的都没问题,重装系统后再安装后就再也编译不成功了,提示No installed compiler driver supports device 16F722。 编译PIC16F505没有问题。每次点Project-Select Language Toolsuite后HI-TECH ...…

查看全部问答>