便携式功率分析仪设计----功率分析仪软件设计(一)
第四章功率分析仪软件设计
4.1软件设计框架
如下图4-1所示,其中SED1335是图形液晶显示控制器,它集成在液晶显示屏幕电路中,提供独立的显示控制字,可用单片机对其进行控制,单片机通过SED1335将数据送到LCD显示。通道进来的模拟信号经由A/D转换成数字量,将这些数字量存入缓存器FIFO后,再由ARM读入进行计算处理,我们所选用的ARM LPC2138拥有强大的数据处理能力能完成数据的采集、处理、显示以及键盘操作功能。经过ARM处理的数据,系统参数等信息都将保存在FLASH中,便于调用。FLASH是非易失性存储器,可以重复进行读/写,读写时应按其时序进行。它用于存储字库和程序,本设计中使用的FLASH是ARM单片机LPC2138内部FLASH.在这里键盘按键操作和控制是直接由ARM来完成的,利用键盘扫描方式,通过定时器不断对键盘动作进行扫描,从而达到键盘控制操作的功能。本系统在调试过程中还提供了串口对外通讯,利用68013将串口转换为适合与上位机通讯的USB接口,实现与上位机通讯,达到利用电脑辅助系统调试的目的。
4.1.1软件功能设计
如上图4-2所示,功率分析仪的软件部分主要分作数据处理和测量(包含对采样数据处理、整合、计算以及对信号常用属性的测量)、液晶屏控制、键盘控制以及校准这几大部分,联机调试部分仅在本设计的试验、调试阶段使用。其中液晶屏控制和键盘控制是软件部分程序循环的重要组成部分。
4.1.2开发平台
本课题设计中采用的是32位ARM7TDMI-S CPU——LPC2138微控制器,程序开发平台选用了对该系列单片机支持较好的ADS1.2.
ADS1.2是一个使用方便的集成开发环境,全称是ARM Developer Suite v1.2。它是由ARM公司提供的专门用于ARM相关应用开发和调试的综合性软件。在功能和易用性上比较SDT都有提高,是一款功能强大又易于使用的开发工具。ADS囊括了一系列的应用,并有相关的文档和实例的支持。使用者可以用它来编写和调试各种基于ARM家族RISC处理器的应用。可以用ADS来开发、编译、调试采用包括C、C++和ARM汇编语言编写的程序。AXD提供给基于Windows和UNIX使用的ARM调试器。它提供了一个完全的Windows和UNIX环境来调试C,C++,和汇编语言级的代码。CodeWarriorIDE提供基于Windows使用的工程管理工具。它的使用使源码文件的管理和编译工程变得非常方便。但CodeWarriorIDE在UNIX下不能使用。
采用C语言编程具有以下一些特点:、
语言简洁,使用方便灵活。C语言的关键字很少,ANSI C标准一共只有32的关键字,9种控制语句,压缩一切不必要的成分。C语言的书写形式比较自由,表示方法简洁。
可移植性好。C语言是通过编译来得到可执行代码,便于移植。
表达能力强。C语言具有丰富的数据结构类型和多种运算符,可以根据需要采用整型、浮点型、字符型、数组类型、指针类型、结构类型、联合类型等各种数据类型来实现各种其它高级语言难以实现的复杂数据的结构运算。
表达方式灵活。利用C语言提供的多种运算符,可以组成各种表达式,还可以采用各种方法来获得表达式的值,从而使用户在程序设计中具有更大的灵活性。C语言的语法规则不太严格,程序设计的自由度比较大,程序的书写格式自由灵活。
本设计软件方案包括两个部分:本机程序和联机调试程序。本机程序是基于ARM Developer Suite v1.2软件编写的,联机调试程序是基于C++ Builder 6.0编写的。ARM主程序运行流程如下图4-3:
ARM主程序主要分为以下几个模块:
a)数据采集、处理:通道每个采样循环采集1K数据,ARM读取通道数据,在显示数据之前对采集数据进行相应处理、计算。
一个正常采样处理循环的主要流程如下图4-4所示:
b)数据显示:将数据处理后的数据和采集到温度值显示在液晶显示屏中(如果为调试方式,应同时将显示的数据传送给上位机)。
c)键盘扫描处理:采用阵列扫描。定时扫描方式,有按键输入则进行相应处理。
d)校准处理:主要包括通道校准、功率测量校准、频率测量校准、功率频响校准。
e)通讯模块:与上位机调试程序的接口。上层发送的校准表数据、参数等都是通过这个模块进行相应处理。该模块主要在调试阶段使用。
4.2软件算法
4.2.1功率测量算法
根据AD8318器件的原理,其采用了对数放大器电路技术,经过平方单元输出的电压值和输入信号的功率实现一一对应,从而实现峰值测量,使测量结果基本上与波形无关。在功率计算中,关键部分是测量脉冲调制信号的峰值功率值。为了得到准确的峰值,脉冲信号的触发电平的选择直接影响的峰值测量的精度。在该设计中,触发电平的选择采用了预采样的原理。其思想为,在
- 工程师分享:适用于智能电池的微控制器存储器技术(11-28)
- 最大限度延长电池使用时长的十种方法(08-06)
- 一种充电机在铁路辅助电源系统中的应用(07-04)
- 一种CSR电源控制系统设计与实现(07-04)
- 耗电流低于200 μA的低功耗4 mA至20 mA过程控制电流环路(07-02)
- 智能电表方案各家谈(05-16)