第三章 数据采集常用程序设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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保持高时,通用定时器将增计数,直到计数值与比较寄存器的值