基于ARM7处理器LPC2138的LCD显示电压示波系统的设计

发布者:大树下的大白菜y最新更新时间:2011-12-10 关键字:ARM7  电压示波系统 手机看文章 扫描二维码
随时随地手机看文章

本设计以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提供了必备的任务间通信手段,包括信号量、邮箱等。为了实现任务延时,还具有基本的时钟管理。

关键字:ARM7  电压示波系统 引用地址:基于ARM7处理器LPC2138的LCD显示电压示波系统的设计

上一篇:ARMv7的Cortex系列微处理器技术特点
下一篇:ARM7各种指令的周期数

推荐阅读最新更新时间:2024-03-16 12:48

ARM处理器选型指南:选ARM7还是选Cortex-M3
要使用低成本的 32位处理器,开发人员面临两种选择,基于Cortex-M3内核或者ARM7TDMI内核的处理器。如何做出选择?选择标准又是什么?本文主要介绍了ARM Cortex-M3内核微控制器区别于ARM7的一些特点,帮助您快速选择。 1.ARM实现方法 ARM Cortex-M3是一种基于ARM V7架构的最新ARM嵌入式内核,它采用哈佛结构,使用分离的指令和数据总线( 冯诺伊曼结构下,数据和指令共用一条总线 )。从本质上来说,哈佛结构在物理上更为复杂,但是处理速度明显加快。根据摩尔定理,复杂性并不是一件非常重要的事,而吞吐量的增加却极具价值。 ARM公司对Cortex-M3的定位是:向专业嵌入式市场提供低成本、低功耗的芯
[单片机]
ARM7入门13,定时器控制LED灯闪烁
主程序: /******************************************************************************* *File: Main.c *功能: 使用定时器0实现1s定时,并打开IRQ中断,控制LED闪烁 * 同时使用定时器1实现比较匹配输出 *******************************************************************************/ #include config.h #define LEDCON 0x00002000 /*P0.13引脚控制LED,低电平点亮*/
[单片机]
<font color='red'>ARM7</font>入门13,定时器控制LED灯闪烁
用ARM7-LPC2148连接7段显示器的教程
显示是任何嵌入式系统应用程序中非常重要的一部分,因为它可以帮助用户了解系统的状态,并显示系统生成的输出或任何警告消息。电子产品中使用的显示器类型很多,如7段显示器,LCD显示器,TFT触摸屏显示器,LED显示器等。 今天在本教程中,我们将用ARM7-LPC2148连接7段显示器。在详细介绍之前,我们将了解如何控制7段模块以显示任意数量的字符。 7段显示器 7段显示是显示数字和字符的最简单的显示单元之一。它通常用于显示数字,并且比点阵显示具有更亮的照明和更简单的结构。由于照明更亮,因此可以从比LCD更大的距离观看输出。如上图所示的7段显示器,它由8个LED组成,每个LED用于照亮单元的一个段,第8个LED用于照亮7段显示
[单片机]
用ARM7-LPC2148连接7段显示器的教程
ARM7和ARM-Cortex的区别,ARM为什么会有两种启动方式?
ARM为什么会有两种启动方式?ARM7和ARM-Cortex区别在哪?快速中断和中断是怎么回事? ARM的两种启动方式 (NAND FLASH. NOR FLASH)为什么会有两种启动方式? 这主要是由两种FLASH 的不同特点决定的。 NAND FLASH 容量大,存储的单位比特数据的成本要低很多,但是要按照特定的时序对NAND FLASH 进行读写,因此CPU 无法对NAND FLASH 的数据进行直接寻址,CPU 对NAND FLASH 中数据的读写是通过专门的 nand flash控制器进行的,因此 NAND FLASH 更适合于存储数据。 NOR FLASH 容量小,速度快,对NOR FLASH 进行读写时,
[单片机]
<font color='red'>ARM7</font>和ARM-Cortex的区别,ARM为什么会有两种启动方式?
基于ARM7核处理器VxWorks系统BSP设计
1 介绍 S3C4510B是三星公司推出的针对嵌入式应用的16/32 位嵌入式处理器,该微控制器专为以太网通信系统的集线器和路由器而设计,具有低成本和高性能的特点, S3C4510B中内置了ARM公司设计的16/32位ARM7TDMI处理器, 可以执行32位的arm指令,也可执行16位的THUMB指令, 并集成了多种外围部件,主要有: ● 时钟频率50MHz ● 内核/IO电压3.3V ● 8KB的Cache/SRAM ● 一个10/100Mbps 以太网控制器,MII接口 ● 两个HDLC通道,每个通道可支持10Mbps ● 两个UART通道 ● 两个DMA通道 ● 两个32位定时/计数器 ● 18个可编程I
[单片机]
基于<font color='red'>ARM7</font>核处理器VxWorks<font color='red'>系统</font>BSP设计
ARM7 Thumb系列嵌入式处理器
arm7 Thumb系列处理器是一系列高性能、低功耗的32位RISC处理器,它结合了Thumb 16位精简指令集。Thumb达到的卓越的代码效率意味着对存储器容量需求的降低,使得利用16位宽度的存储器可以达到32位存储器才能达到的高性能。 全部arm7 Thumb系列处理器被设计为用于较大芯片设计的,支持AMBA片内系统总线,各种外围设备和大量的软件开发工具、试验板、仿真模型、仿真工具。 该系列的所有成员均包含ARM的EmbeddedICE JTAG软件调试逻辑。使用了arm的软件开发工具包和 Multi-ICE 接口,EmbeddedICE逻辑允许源代码级调试、代码下载和数据断点,这些功能在arm处理器集成到大芯
[单片机]
ARM7入门14,脉宽调制PWM
每次点一下按键,就改变一次占空比 主程序: /******************************************************************************* *File: Main.c *功能: 使用PWM6输出PWM信号,通过滤波电路实现DAC转换.由KEY1控制PWM占空比,每按一次 * 按键将会改变一次PWM的占空比 *******************************************************************************/ #include config.h #define KEY1 0x00004000
[单片机]
<font color='red'>ARM7</font>入门14,脉宽调制PWM
ARM7嵌入式系统中启动程序的实现
在我们研制开发基于ARM7的嵌入式系统过程中,发现技术难点主要在于系统启动程序的编写,为此本文详细论述了在arm7基础上开发嵌入式系统时启动程序的实现。 1.启动程序流程 嵌入式系统的资源有限,程序通常都是固化在ROM中运行。ROM中程序执行前,需要对系统硬件和软件运行环境进行初始化,这些工作由用汇编语言编写的启动程序完成。 启动程序是嵌入式程序的开头部分,应与应用程序一起固化在ROM中,并首先在系统上运行。它应包含进各模块中可能出现的所有段类,并合理安排它们的次序。 写好启动程序是设计好嵌入式程序的关键,系统启动程序所执行的操作依赖于正在开发其软件的系统,一般流程如下: 进入应用程序主循环 2.详细步骤 ⑴设置入口指针 启动程序
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved