第三章 数据采集常用程序设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第三章数据采集常用程序设计

数据采集和处理是计算机在生产过程中应用的基础,任何计算机检测及控制系统都离不开信息的采集、处理及存储。两种典型的系统:

生产过程控制系统——工况数据采集、数据处理、决策输出、驱动执行机构;

检测监控系统——工况数据采集、数据处理、显示或描绘成曲线;

我们已经介绍过数据采集的硬件结构,本章主要介绍数据采集中一些常用的程序设计。

第一节计算机数据采集系统

一、计算机数据采集系统的任务

在现代冶金、化工、石油、电力等工业生产过程中,往往需要对大量的过程参数进行监视和测量。计算机数据采集系统的任务,就是要对生产现场的过程参数定时进行检测、记录、存储、处理、打印报表、显示及超限报警。其结构如图3-1所示。

图3-1 计算机采集系统结构图

二、计算机数据采集系统的优点

计算机数据采集系统的优点:灵活、方便、速度快、判断能力强、图形功能强。如在化工生产中,

(1)用不同的色彩,代表不同的管线中的流质;

(2)在测量点上,显示温度和压力的设定值、测量值、误差值;

(3)超限时用红灯闪烁表示,并发出报警声;

(4)可以由历史数据,生成历史趋势图、各种报表。

——注:虚拟仪器LabView和LabWindows中,有各种典型的按钮、开关、测量仪器,

可以刻度、曲线、表格、棒状图等多种显示数据。该开发平台是图形化编程,适合工程人员使用。

三、计算机数据采集常用程序

计算机数据采集中的常用程序,包括中断、定时器、采样、看门狗、判断、上下限报警、LED数码管显示、小型行列式键盘控制等。

以数字信号处理器TMS320C24X为例,介绍常用的中断、定时、采样、看门狗的程序设计知识;以单片机MCS-51系列为例,介绍判断程序设计。

第二节中断程序设计

一、中断分类

图3-2 中断分类图

从中断的来源看,分为硬件中断和软件中断;从中断是否可屏蔽来看,分为可屏蔽中断和不可屏蔽中断。

1、硬件中断和软件中断

硬件中断是由DSP的硬件所产生的中断,可由DSP的外部中断引脚(6个)产生,也可由DSP自身的外围设备产生(如定时器、A/D转换器、串行通信接口)。

软件中断是由DSP的指令产生的,如INTR、TRAP、RESET等。

2、可屏蔽中断和不可屏蔽中断

(1)可屏蔽中断:可以用软件来屏蔽或者使能的硬件和软件中断。

(2)不可屏蔽中断:中断不能够被屏蔽,DSP总是响应的中断。

二、中断优先级和向量地址

1、优先级

DSP的所有中断被赋予1~10的优先级(1为最高级)。当有多于1个的中断被挂起等待响应时,中断按照优先级别从高到低依次被响应。

所有的软件中断和硬件中断,都对应于某一个优先级。

2、向量地址

在DSP中有专门的I/0空间,存在着一系列中断向量地址,每一个优先级都对应相应的中断向量地址。

中断向量地址为两个字长,可存储跳转指令。当中断到来时,中断向量地址被加载到程序计数器,从而获取跳转指令,跳转到相应的中断处理子程序。

三、相关的寄存器

1、中断屏蔽寄存器(IMR)

IMR包含所有可屏蔽中断的屏蔽位,用于设置和读取中断的屏蔽状态。

(1)读IMR寄存器可以识别出已被屏蔽或未被屏蔽的中断。

(2)为了能够响应中断,把IMR相应位设置为1;屏蔽中断时,把IMR相应

位设置为0。

(3)复位时,IMR所有位都被设置为0,屏蔽掉所有可屏蔽的中断

2、中断标志寄存器(IFR)

IFR中包含所有可屏蔽中断的标志位,可以识别和清除有效的中断。

当一个可屏蔽中断被请求时,IFR的相应的标志位被置1,指示中断正在被挂起或者等待响应(不论是否被CPU响应);当中断未被屏蔽时,如果IFR的相应位是1,则该中断将被CPU响应。

下列情况中断标志都将被清除:

(1)系统复位

(2)中断得到处理

(3)把1写到IFR的相应位,使其变成0,即可清除尚未处理完的中断

四、中断操作步骤

1、初始化

设置中断屏蔽寄存器IMR,开启需要的中断,屏蔽不需要的中断;

2、接收中断

当硬件或软件指令产生中断请求时,IFR寄存器中相应的中断标志位被置位;

3、响应中断

(1)CPU根据中断屏蔽寄存器的设置,决定是否响应中断;

(2)若允许响应中断,CPU根据中断标志寄存器的标志位,装载中断向量地址;

(3)从中断向量地址存储的跳转指令,跳转到相应的中断服务子程序;

(4)执行中断服务程序(需考虑保存、恢复寄存器的数据)。

蓝色的表示自己需要编写程序

第三节定时器程序设计

可采用软件方式和硬件方式,达到定时的目标。

一、软件定时程序

依据:

1、执行指令需要时间;

2、如果知道CPU的时钟频率,就可

以计算出每一条指令的所需时

间;

3、通过内循环次数、外循环次数、

指令数,可以计算出定时时间

图3-3 软件定时程序流程图

二、硬件定时程序

TMS320C24X有三个通用定时器Tx(x=1、2、3),能够独立使用,自动计数。

1、时钟

(1) CPU时钟:最重要的时钟,决定CPU的指令周期,由专门的时钟源产生;(2)通用定时器时钟:可由CPU时钟分频获得;

2、控制寄存器

(1)时钟控制寄存器(CKCR)

通过设置CKCR决定CPU的时钟模式,可以直接使用外部时钟、或者倍频外部时钟。

(2)定时器控制器(TxCON,x=1、2、3)

每个定时器都有一个控制器,可以设置该定时器的时钟频率(对CPU时钟分频)和计数模式。

(3)比较寄存器(CMPRx,x=1、2、3)

存储着设定的计数值,当通用定时器的数值和比较寄存器相等时,将产生中断事件。

3、通用定时器Tx的计数模式(6种)

图3-4 计数模式示意图

(1)停止/保持模式

通用定时器的操作停止,保持当前状态。

(2)单增模式

通用定时器按照规定频率的输入时钟计数,直到定时计数器的值与比较寄存器的值匹配为止。匹配之后的下一个输入时钟的上升沿,通用定时器复位为0并且禁止继续计数。

(3)连续增模式

通用定时器按照规定频率的输入时钟计数,直到定时计数器的值与比较寄存器的值匹配。匹配之后的下一个输入时钟的上升沿,通用定时器复位为0,重复上述操作。

(4)定向增/减模式

由引脚TMRDIR来确定计数方向。

当TMRDIR保持高时,通用定时器将增计数,直到计数值与比较寄存器的值

相关文档
最新文档