$5 模拟量输入输出通道-new_第1页
$5 模拟量输入输出通道-new_第2页
$5 模拟量输入输出通道-new_第3页
$5 模拟量输入输出通道-new_第4页
$5 模拟量输入输出通道-new_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、PCL-812PG实物照片CN1CN2CN3CN4工控机+采集卡构成的模拟量输出输入通道信号调理电路信号调理电路驱动电路驱动电路端子板端子板var=Inportb (基地址基地址+偏移地址偏移地址) Outportb(基地址基地址+偏移地址偏移地址, 变量名变量名)工业系统工业系统传感器传感器执行器执行器采集卡采集卡模拟量输入通道A/Dl任务:任务:把被控对象的模拟量信号(温度、压力、把被控对象的模拟量信号(温度、压力、 流量等)转换成计算机可以接收的数字量信号;流量等)转换成计算机可以接收的数字量信号;l组成:组成:一般由信号调理、多路模拟开关、前置放一般由信号调理、多路模拟开关、前置放 大

2、器、采样保持器、模大器、采样保持器、模/ /数转换器、接口和数转换器、接口和 控制电路组成;控制电路组成;l核心:核心:模模/ /数转换器,简称数转换器,简称A/D或或ADC (analog-to-digital converter)。模拟量输入通道的一般组成A/D通道内部工作原理多多路路开开关关MUX控制线控制线数据总线数据总线工业系统工业系统模拟传感器模拟传感器信号调理信号调理V1V2VkVn模拟传感器模拟传感器信号调理信号调理模拟传感器模拟传感器信号调理信号调理模拟传感器模拟传感器信号调理信号调理控制电路控制电路A/D转换转换S/HVkVGVhVd接口接口电路电路channel = kg

3、ain采样采样触发触发信号信号选通道:选通道:channel = k设定增益:设定增益:Gain选择触发方式选择触发方式先采样,再保持先采样,再保持可编程可编程放大器放大器每个通道输入的模每个通道输入的模拟量的范围不同,拟量的范围不同,选择不同的增益选择不同的增益保持保持采样采样C-+多路开关MUX的工作原理工业系统工业系统模拟传感器模拟传感器信号调理信号调理模拟传感器模拟传感器信号调理信号调理模拟传感器模拟传感器信号调理信号调理模拟传感器模拟传感器信号调理信号调理VkV1V2VkVnMUXchannel = k(0-15)A/D转换的触发方式及转换结果的传输方式1. A/D转换器接收到触发信

4、号开始才转换。转换器接收到触发信号开始才转换。A/D转换有三种触发方转换有三种触发方式式l软件触发软件触发 简单,但采样间隔精度低。简单,但采样间隔精度低。(训练中采用训练中采用)l硬件定时器触发硬件定时器触发 精确、稳定。精确、稳定。l外部脉冲触发外部脉冲触发2. 转换结果是二进制数,必须传输到内存。转换结果是二进制数,必须传输到内存。A/D转换结果有三种传转换结果有三种传输方式输方式l查询方式查询方式:CPU主动查询主动查询A/D转换完成标志位,若完成,转换完成标志位,若完成,从端从端口读取结果。口读取结果。查询占用查询占用CPU的时间。的时间。 (训练中采用训练中采用) l中断方式中断方

5、式:转换完成后,转换完成后,A/D转换器主动向转换器主动向CPU发出中断请求,发出中断请求,CPU执行执行中断服务程序,再从端口读取结果。中断服务程序,再从端口读取结果。lDMA方式方式(从略)。(从略)。采用任何处理器处理模拟信号都要考虑这些问题。采用任何处理器处理模拟信号都要考虑这些问题。DMA-Direct Memory Access,直接内存访问。由于不直接访直接内存访问。由于不直接访问计算机的问计算机的CPU,数据直接在,数据直接在RAM与设备之间传输,因而大与设备之间传输,因而大大提高了数据传输速度大提高了数据传输速度,适用于适用于高速采集。高速采集。PCL-812PG如何实现模拟

6、量输入?1+8个问题(16见p113)1.允许哪一路进入?允许哪一路进入?2.允许进入的这一路信号需要放大几倍?允许进入的这一路信号需要放大几倍?3.模拟电压送到模拟电压送到A/D转换器后,如何使转换器后,如何使A/D开始开始(触发方式约定触发方式约定)?4.如何实现触发,使如何实现触发,使A/D转换器开始工作?转换器开始工作?5.如何知道如何知道A/D转换转换12bits已完成?已完成?6.如何将如何将A/D转换好的转换好的12bits数据传输到内存数据传输到内存(传输方式约定传输方式约定) ?7.如何将如何将12bit二进制码解为量程二进制码解为量程(譬如譬如-10V,+10V)范围的十进

7、制电范围的十进制电压值?压值?0. 如何正确访问到采集卡?如何正确访问到采集卡?基地址已设为基地址已设为0 x220可用拨位开关改变基地址可用拨位开关改变基地址w 地址:地址:Base10 w 属性:只写属性:只写w 数据格式:数据格式:CL3CL0提供了提供了A/D通道号,对应通道号,对应 015号通道号通道 0000 1111 (AD0AD15) outportb(base10, channels )BitD7D6D5D4D3D2D1D0Base+10XXXXCL3CL2CL1CL0问题问题1. 允许哪一路进入?允许哪一路进入?l地址:地址:Base9l属性:只写属性:只写l数据格式:低数

8、据格式:低3位位G0G2提供了不同增益。提供了不同增益。BitD7D6D5D4D3D2D1D0Base+9XXXXXG2G1G0Gain最大输入电压模拟输入范围outportb(base9, Gain )采集卡的最大输入电压采集卡的最大输入电压10V(5V)模拟信号输入模拟信号输入的最大电压的最大电压R0R1R2XXXXXD0D1D2D3D4D5D6D7Base+90.625V(0.3125V)1.25V(0.625V)2.5V(1.25V)5V(2.5V)10V(5V)输入范围输入范围160018110401021001000GainR0R1R2outportb(base9, 0 ); /*

9、增益为增益为1*/问题问题2. 允许进入的信号需要放大几倍?允许进入的信号需要放大几倍?S2S1S0操作模式描述操作模式描述000禁止触发禁止触发A/DA/D001仅允许软件触发查询方式传输(默认)仅允许软件触发查询方式传输(默认)010仅允许卡自带定时器触发仅允许卡自带定时器触发DMADMA传输传输110允许卡自带定时器触发查询方式或中断传输允许卡自带定时器触发查询方式或中断传输outportb(base11, 1 )BitD7D6D5D4D3D2D1D0Base+11XXXXXS2S1S0l地址:地址:Base11l属性:只写属性:只写l数据格式:低数据格式:低3位位S2S0提供模式选择。

10、提供模式选择。问题问题3.如何使如何使A/D开始开始(触发方式约定触发方式约定)?outportb(BASE12, 0 )l如果给如果给PCL812PG的的A/D转换产生一个触发脉冲,转换产生一个触发脉冲,只要向这个软件触发寄存器写一个任意值,然后只要向这个软件触发寄存器写一个任意值,然后A/D转换器将会被触发;转换器将会被触发;l软件触发寄存器软件触发寄存器l地址:地址:Base12l属性:只写属性:只写问题问题4. 如何实现触发,使如何实现触发,使A/D转换器开始工作?转换器开始工作?任意值任意值Data ReaDY说明:说明:l地址:地址:Base+4 and Base+5lAD11AD

11、0:A/D转换完成后的数据转换完成后的数据。lDRDY:转换完成标志位。:转换完成标志位。1:A/D数据没有准备好;数据没有准备好;0:A/D转换完成。转换完成。Base+4D7D6D5D4D3D2D1D0低字节数据低字节数据AD7AD6AD5AD4AD3AD2AD1AD0Base+5D7D6D5D4D3D2D1D0高字节数据高字节数据000DRDYAD11AD10AD9AD8问题问题5. 如何知道如何知道A/D转换转换12bits已完成?已完成?Base+4D7D6D5D4D3D2D1D0低字节低字节A/D7A/D6A/D5A/D4A/D3A/D2A/D1A/D0Base+5D7D6D5D4

12、D3D2D1D0高字节高字节000DRDYA/D11A/D10A/D9 A/D8地址:地址:base5(高字节)(高字节)AD11AD8 base4(低字节)(低字节) AD7AD0注意注意:读取读取A/D低字节寄存器(低字节寄存器(base+4)后,后,DRDY被重置为被重置为1。故必须故必须先读先读高字节,高字节,再读再读低字节。低字节。例:例:Hbyte=inportb(Base+5) Lbyte=inportb(Base+4)问题问题6. 如何读取如何读取A/D转换完成后的数据?转换完成后的数据?如何将高字节和低字节拼装成一个 12位二进制数?解决:解决:将高字节左移将高字节左移8位后

13、,与低字节相加。位后,与低字节相加。 例:例:temp=Hbyte8 +Lbyte(AD11AD8AD7AD0)问题7:如何用读入的12位数据表示-10V, +10V 区间十进制电压值?转换范围转换范围(量程量程) 已设置为已设置为10V。12位二进制数位二进制数04095(=212-1)inputDataInportb(Base+5)&0 x0F8 + inportb(Base+4)V_olt=(inputData-2047)*20.0/4095V_olt=inputData*20.0/4095- -10.012位A/D的量化1111 1111 1111 =40950000 0000

14、 0000 = 00111 1111 1111 =2047 0000 0000 0001 = 11111 1111 1110 =4094umaxumin+ +10V- -10V10V0V0V5V0.002442Vq=( umax-umin)/ 2n-10.004884V1.选择选择A/D通道,通过多路转换控制寄存器通道,通过多路转换控制寄存器(Base+10);2.确定增益,通过增益控制寄存器确定增益,通过增益控制寄存器(Base+9);3.选择工作模式,通过模式控制寄存器选择工作模式,通过模式控制寄存器(Base+11);4.启动软件触发,通过软件触发寄存器启动软件触发,通过软件触发寄存器(

15、Base+12) ;5.通过判断通过判断DRDY(Base+5,5),等待,等待A/D完成;完成;6.从数据寄存器从数据寄存器(Base+5)(base+4)中读数据中读数据(inportb),先读先读高高字节,字节,再读低再读低字节字节 。7.将整数值转换成模拟电压值,用作计算机显示。将整数值转换成模拟电压值,用作计算机显示。译码译码A/D转换转换A/D初始化初始化软件触发方式的A/D流程图选择通道选择通道设置增益设置增益设置触发模式设置触发模式触发触发A/D转换转换转换完成?转换完成?读取读取A/D寄存器数据寄存器数据拼接成拼接成12位二进制码位二进制码YNbase+10, channel

16、base+9, gainbase+11, 1base+12, 1DRDY=0?base+5, base+4Hbyte8)&0 x0f;Lbyte=out&0 xff;out =Outputdata*4095/10scanf(“%f”,&Outputdata)用用12位二进制编码表示位二进制编码表示n/N1 23 45 67 89 1011 1213 1415 1617 1819 20A/D 0A/D 1A/D 2A/D 3A/D 4A/D 5A/D 6A/D 7A/D 8A/D 9A.GNDA.GNDA.GNDA.GNDA.GNDA.GNDA.GNDA.GNDA.GND

17、A.GNDCN1模拟量单端输入模拟量单端输入1 23 45 67 89 1011 1213 1415 1617 1819 20A/D 10A/D 11A/D 12A/D 13A/D 14A/D 15D/A 1D/A 2V.REF1V.REF2A.GNDA.GNDA.GNDA.GNDA.GNDA.GNDA.GNDA.GNDA.GNDA.GNDCN2模拟量输入与输出模拟量输入与输出在关机状态下接线!在关机状态下接线!输入输入A/D通道的电通道的电压严禁超出压严禁超出10V!训练接线图训练接线图在关机状态下接线!在关机状态下接线!输出输出D/A通道严禁短通道严禁短路路接采集卡接采集卡CN2接信号发生

18、器或接信号发生器或直流稳压电源直流稳压电源接示接示波器波器ABB1B2B3B4B5B6B7B8B9B10B11B12B13B 14B15B16B17B18B20B19A1A2A3A4A5A6A7A8A9A10A11A12A13A14A15A16A17A18A20A19C1C20C2C21C3C22C4C23C5C24C6C25C7C26C8C27C9C28C29C10C11C30C12C31C13C32C14C33C15C34C16C35C17C36C18C37C19AD0AD8AD1AD9AD2AD10AD3AD11AD4AD12AD5AD13AD6AD14AD7AD15A.GNDA.GND

19、A.GNDA.GNDV.REFDA1Exterf2+12VDA2A.GNDGATED.GNDGATECOUT0N/CExtTrgN/CN/CExtCLK+5VExterf11192037接信号发生器或接信号发生器或直流稳压电源直流稳压电源接示接示波器波器在关机状态下接线!在关机状态下接线!输入输入A/D通道的电压严通道的电压严禁超出禁超出10V!在关机状态下接线!在关机状态下接线!输出输出D/A通道严禁短通道严禁短路路1.模拟量输出通道模拟量输出通道D/A该程序有以下功能:该程序有以下功能:将一个由键盘输入的将一个由键盘输入的010之间的十进制数字值转换成之间的十进制数字值转换成010V的模拟

20、直流电压;的模拟直流电压;产生一个方波信号,周期产生一个方波信号,周期1ms5ms可调,幅值可调,幅值010V可调;可调;产生一个正弦波信号,周期和幅值可调;产生一个正弦波信号,周期和幅值可调;这三种信号均可经由这三种信号均可经由1(2)号号D/A通道输出。这样,工控机和采集卡通道输出。这样,工控机和采集卡共同构成了一个信号发生器。演示中可以用示波器观察上述波形。共同构成了一个信号发生器。演示中可以用示波器观察上述波形。在在Turbo C环境下,单步运行程序环境下,单步运行程序DA_ONE.C(源程序见附录(源程序见附录6),),该程序将一个直流电压信号输出,电压值由键盘键入。程序运行中,该程

21、序将一个直流电压信号输出,电压值由键盘键入。程序运行中,利用利用“watch”区域观察有关变量的值,确认并记录程序中的关键语区域观察有关变量的值,确认并记录程序中的关键语句及其作用。注意对采集卡各端口的寻址和数据格式。句及其作用。注意对采集卡各端口的寻址和数据格式。 2.2.模拟量输入通道模拟量输入通道A/DA/D该程序可将以下三种信号经由该程序可将以下三种信号经由1010号号A/DA/D通道采入计算机,在显示器上显通道采入计算机,在显示器上显示:示:0010V10V的直流电压的直流电压正弦波信号正弦波信号 频率不能太大频率不能太大方波信号方波信号这相当于一个数字示波器。演示中可以用信号发生器

22、作为信号源,也可这相当于一个数字示波器。演示中可以用信号发生器作为信号源,也可以将演示程序以将演示程序D/AD/A部分所产生的信号作为信号源。可以示波器同时部分所产生的信号作为信号源。可以示波器同时测量被转换的信号。测量被转换的信号。在在Turbo CTurbo C环境下,单步运行程序环境下,单步运行程序AD_ONE.CAD_ONE.C(源程序见附录(源程序见附录6 6),该程),该程序将一个直流电压信号采入计算机,以数字形式显示,这相当于一个数序将一个直流电压信号采入计算机,以数字形式显示,这相当于一个数字电压表。程序运行中,利用字电压表。程序运行中,利用“watch”watch”区域观察有关变量的值,确认区域观察有关变量的值,确认程序中的关键语句及其作用,作记录。注意对采集卡端口的寻址。程序中的关键语句及其作用,作记录。注意对采集卡端口的寻址。#define BASS_ADDRESS 0 x220int Channel=10;main() unsigned short int DRDY; int hbyte,lbyte; float t

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论