C语言在测量和控制中的应用 教学课件 ppt 作者 王彤第4章 数据采集与存储

上传人:w****i 文档编号:92479337 上传时间:2019-07-10 格式:PPT 页数:80 大小:2.40MB
返回 下载 相关 举报
C语言在测量和控制中的应用 教学课件 ppt 作者 王彤第4章 数据采集与存储_第1页
第1页 / 共80页
C语言在测量和控制中的应用 教学课件 ppt 作者 王彤第4章 数据采集与存储_第2页
第2页 / 共80页
C语言在测量和控制中的应用 教学课件 ppt 作者 王彤第4章 数据采集与存储_第3页
第3页 / 共80页
C语言在测量和控制中的应用 教学课件 ppt 作者 王彤第4章 数据采集与存储_第4页
第4页 / 共80页
C语言在测量和控制中的应用 教学课件 ppt 作者 王彤第4章 数据采集与存储_第5页
第5页 / 共80页
点击查看更多>>
资源描述

《C语言在测量和控制中的应用 教学课件 ppt 作者 王彤第4章 数据采集与存储》由会员分享,可在线阅读,更多相关《C语言在测量和控制中的应用 教学课件 ppt 作者 王彤第4章 数据采集与存储(80页珍藏版)》请在金锄头文库上搜索。

1、第4章 数据采集与存储,哈尔滨工业大学航天学院,C语言在测量与控制中的应用系列课件,第四章 数据采集,计算机内是数字信号,传感器输出多数是模拟电压或电流。,模拟信号:是一种连续时间信号,在t0的时间区间内,除若干个第一类间断点外,都可以给出确定的函数值,幅值的取值也可以是连续的。函数定义在连续的时间区间上,即自变量是连续的,函数的值域也是连续的。,数字信号:是一种离散时间信号,只在时间的一些离散点上(如采样时刻)由定义。幅值的取值也是离散的,只能用一组有限字长的数码表示。函数的定义域是离散的,值域也是离散的。,4.1 A/D转换与D/A转换,A/D转换器将模拟信号转换成数字信号 D/A转换器将

2、数字信号转换成模拟信号,传感器,计算机,A/D,D/A,非电物理量,模拟电信号,数字信号,数字信号,模拟电信号,A/D转换器,A/D转换可看作:采样、量化和编码的过程 。,T-采样周期 单位 s fs=1/T 采样频率 单位 Hz s=2fs=2 /T 采样角频率 单位 弧度/秒,量化,量化:用有限字长的一组数去逼近离散模拟信号的幅值。 计算机内,任何数值都可以表示成二进制数字量最低位的整数倍。数字量最低位所代表的数值称为量化单位或量化当量q。 若A/D的字长为N位 q=1/2N,N=8 28=256 q=1/256 N=10 210=1024 q=1/1024 N=12 212=4096 q

3、=1/4096 N=16 216=65536 q=1/65536 字长越长,分辨率越高。A/D所允许模拟信号幅值变化的全部范围,只能用2N个有限的数值表示。,编码,编码:将量化后的数值变成按某种规律编码的二进制数,如原码,反码,补码,偏移码,BCD码等。,使用接口是要搞清其编码规则,若接口编码与计算所用数据类型编码规则不同,要进行编码的变换。,A/D转换需要时间,1ms为低速,1ms1s为中速, 1 s为高速。,字长8位 低分辨率 1016位 中高分辨率,D/A转换,D/A转换可看成解码和保持的过程。,解码:根据D/A的编码规则,将数字量折算成电压或电流值 (仅是采样时刻的)。,保持:解决采样

4、时刻之间的插值问题,常用零阶保持器,常值外推。,零阶保持器,4.2 接口的编码与变换,计算机内部的数都使用二进制数表示,编码不同,一组二进制数表示的数值或含义也不同。,13,非法,9,-5,-2,-3,+5,原码,通常,计算机内有符号定点数的最高位(MSB)是符号位,表示正、负;后面是数值位,表明绝对值的大小。,数值位= 绝对值的无符号二进制码 00011111B= +31 10011111B= -31,反码,数值位=,正数:绝对值的无符号二进制码 负数:绝对值的无符号二进制码取反,00011111B= +31 11100000B= -31,补码,数值位=,正数:绝对值的无符号二进制码 负数:

5、绝对值的无符号二进制码取反,末位加1,00011111B= +31 11100001B= -31,分数二进制码,在分数二进制码中,每个数值位的权用满刻度的分数表示,满刻度为1。n位分数二进制码,从左到右第一位即最高位的权为2-1,第n位即最低位的权为2-n。,4位分数二进制码 MSB 第2位 第3位 LSB 权 1/2 1/4 1/8 1/16 0 0 0 1 1/16=0.0625 0 0 1 0 2/16=0.125 0 1 0 0 4/16=0.25 1 0 0 0 8/16=0.5 1 1 1 1 15/16=0.9375,分数补码,有符号的定点小数可用分数补码表示。分数补码从左到右第

6、一位即最高位MSB是符号位,0表示正数,1表示负数。第2位的权为2-1,第n位即最低位LSB的权为2-n+1。,4位分数补码 MSB 第2位 第3位 LSB 权 符号位 1/2 1/4 1/8 0 1 1 1 +7/8=+0.875 0 0 0 1 +1/8=+0.125 0 0 0 0 0 1 1 1 1 -1/8=-0.125 1 0 0 0 -8/8=-1.0,一个A/D、D/A接口板的例子,A/D 10 bit -2.560V +2.555V D/A 8 bit -2.56 V +2.54 V,D/A的分辨率比A/D少两位,A/D只能输出8位,低2位舍去。,从分数补码的角度考虑,舍去的

7、低2位只是很小的零头。并不意味着输出信号仅为输入的1/4,只是相当量化的误差大了。,A/D 1bit 5mV D/A 1bit20mV,偏移码,数值位=,正数:绝对值的无符号二进制码 负数:绝对值的无符号二进制码取反,末位加1,10011111B= +31 01100001B= -31,格雷码,格雷码亦称反射二进制码,常用于数字测量元件,如光电码盘,光栅。 格雷码从一个数变到相邻的另一个数,只改变一位。当变化位产生错误时,产生的误差最小。,电平变化时,读数容易出错 !,格雷码与 二进制码 的比较,十进制数 二进制码 格雷码 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1

8、 2 0 0 1 0 0 0 1 1 3 0 0 1 1 0 0 1 0 4 0 1 0 0 0 1 1 0 5 0 1 0 1 0 1 1 1 6 0 1 1 0 0 1 0 1 7 0 1 1 1 0 1 0 0 8 1 0 0 0 1 1 0 0 9 1 0 0 1 1 1 0 1 10 1 0 1 0 1 1 1 1,二进制码格雷码,1,0,1,1,格雷码二进制码,1,1,0,1,4.3 计算机总线与功能扩展板卡及模块,总线是连接多个数字系统或部件的公共信息通道,它由若干公共信号线组成。 总线是传送信息代码的公共途径,由其构成系统与系统之间,板与板之间,芯片与芯片之间标准的信息通道。,

9、片内总线是微处理器芯片或其它接口器件集成电路内 的信息通道。,片间总线也称元件级总线或片总线,是由集成电路内部引出的总线。通常是在一块印刷电路板内,实现电路板内各元件相互连接的信号线。元件级总线通常包括地址线、数据线和控制线。,内总线也称为系统总线、板级总线,也就是通常所说的计算机总线,用于计算机系统内主板与各插件板相互连接。内总线通常采用并行总线的方式,总线通常都有几十条或上百条线。常见的系统总线有XT总线、ISA(AT)总线、EISA总线、STD总线、多总线(MULTIBUS)、MCA总线、VME总线等。,外总线也称通讯总线,它是各计算机之间,计算机与其它系统(如仪器、仪表、控制装置)之间

10、信息的传输通道。 如RS232C、RS485总线, IEEE488总线, USB总线 。,局部总线 在CPU与高速外设之间又开辟了一条高速数据通道,与系统总线配合使用。常见的局部总线标准有VESA局部总线和PCI局部总线。,标准工业结构总线ISA,ISA总线是在62引脚的PC/XT总线基础上扩展了36个引脚形成的,共98个引脚分布在双面印刷板上。 ISA总线分成两部分,左面一部分可接触62个引脚(A1A31,B1B31),与62引脚的PC/XT总线基本兼容;右面一部分可接触36个引脚(C1C18,D1D18),是ISA总线扩展的部分。 ISA总线的数据线共16条,地址线共24条,接到总线上的中

11、断申请线共11条,DMA通道扩展为8个 ,时钟频率8MHz。,ISA总线数据采集卡,62+36=98线 数据线16条,62线 数据线8条,PCI局部总线,PCI总线支持33MHz,66MHz的时钟频率和32位、64位数据宽度,即工作频率高,数据通道宽,传递数据快。 可与ISA、EISA、MCA等计算机总线配合工作。 有5V和3.3V两种信号环境。 目前有多个版本,发展前景良好。,PCI总线数据采集卡,带ISA和PCI槽的主板,ISA插槽,联想工控机无源底板上的ISA和PCI总线插槽,USB总线数据采集模块,4.4 HY-1232A/D、D/A板,A/D 12位 32通道 (031) 输入电压

12、5 V 输入阻抗 100M A/D转换时间 10s D/A 12位 1路 输出电压 5 V、05V、010V 建立时间 25 s 输出电流 10mA(最大值) 工作温度 0+60 存储温度 -25+85 计算机总线 ISA总线(标准工业结构总线) 板上有6位地址开关,可设基地址。1232占用8的连续的I/O端口地址, 出厂基地址设为 280H , 则地址为 280H 287H 。,基地址的设定,基地址计算公式: 基地址=512(0x200)+所有有效位之和 (ON为1),基地址 设置开关,基地址=0x200+0x80=0x280,板内寄存器描述(1),基地址+0:写输入通道选择寄存器,且触发A

13、/D转换。 D7 D6 D5 D4 D3 D2 D1 D0,C4C0二进制编码选择通道031,基地址+1:读A/D转换结果低8位 D7 D6 D5 D4 D3 D2 D1 D0,基地址+2:读A/D转换结果高4位 D7 D6 D5 D4 D3 D2 D1 D0,板内寄存器描述(2),基地址+3:写D/A低8位寄存器 D7 D6 D5 D4 D3 D2 D1 D0,基地址+4:写D/A高4位寄存器,且送出D/A12位数据 D7 D6 D5 D4 D3 D2 D1 D0,基地址+5:读A/D完成位寄存器 D7 D6 D5 D4 D3 D2 D1 D0,IO : A/D转换完成位 IO= 0 :A/

14、D转换未完成 IO= 1 :A/D 转换完成,A/D输入汇编程序,MOV AL,0 MOV DX,280H OUT DX,AL ADOK?: MOV DX,285H IN AL,DX AND AL,AL JNS ADOK? MOV DX,282H IN AL,DX AND AL,0FH MOV AH,AL MOV DX,281H IN AL,DX,D/A输出汇编程序,将AX中的数据从D/A输出 MOV DX,283H OUT DX,AL MOV AL,AH MOV DX,284H OUT DX,AL,A/D输入C程序,从0通道输入12位数据赋给整型变量dbyte int dbyte ; out

15、portb(0x280,0x00); do ; while(!(inportb(0x285),D/A输出C程序,将整型变量da中的低12位从D/A输出 outportb(0x283,(da,1232的编码,思考题,1 . 要求从A/D输入数据,并在屏幕上显示电压值。,2 . 从A/D输入数据后,从D/A输出相同(或最接近的)电压值。,3. 编写8位格雷码转换成二进制码的程序。,4. HY-1232接口板A/D输入程序中的do-wile循环是否可改用wile循环?,4.5 用位字段结构处理二进制位字段数据,哈尔滨工业大学航天学院,C语言在测量与控制中的应用系列课件,位字段结构的概念,结构是一种复合数据类型,它可以由不同数据类型的数据组成。组成结构的每个数据项称为结构的成员。,可编程接口器件有一个命令字寄存器或控制字寄存器,通过编程,确定芯片的工作方式。命令字中的一位或几位组合起来,成为一个位字段,决定一项功能。,位字段结构是一种特殊形式的结构,它的成员项是二进制位字段。位字段结构中每个成员项的一般形式为: 数据类型 成员名:位数; 其中数据类型一般采用 unsigned 型或 int 型,结构的定义,结构用关键字struct定义, 结构定义的一般形式如下: struct 结构名 数据类型 成员名1; 数据类型 成员名2; 数据类型 成员名n; ;,例如定义一个有关学生的学号、姓名

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号