基于arm7的lcd显示电压示波系统的设计
本设计以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提供了必备的任务间通信手段,包括信号量、邮箱等。为了实现任务延时,还具有基本的时钟管理。
如何管控你的电源阻抗
华为HMS Core提供的AI“一键微笑”功能
称“开启千元机快充时代” 魅蓝5s将于15日发布
路灯自动控制器电路图
MIMO技术的分类和应用模式有哪些
基于ARM7的LCD显示电压示波系统的设计
电机的旋转速度为什么能够自由地改变(电机与变频器的关系)?
大功率白光死灯不良分析报告分析
售价2199元起 iQOO Neo5 SE全渠道热销中
如何制作可跟踪200Hz脉冲红外光源的摄像机支架
Xilinx Zynq-7000系列安全配置策略
使用赛灵思插件面向 Versal AI 引擎设计
Molex连接器品质与国内厂商连接器品质的差距
人工智能无人机用于收集与数据分析
气候变暖的背后黑手:微软、苹果等IT巨头
单板计算机为什么对于嵌入式计算设计很重要?
什么是甲醛检测仪?-欧森杰
剖析汽车塑料零配件水分测试仪实验
创新电子产品层出不穷 连接器厂家会做出什么改进
如何使用LM3492MH设计LED驱动电源?