PM511PF.docx
- 文档编号:10149706
- 上传时间:2023-02-08
- 格式:DOCX
- 页数:36
- 大小:640.93KB
PM511PF.docx
《PM511PF.docx》由会员分享,可在线阅读,更多相关《PM511PF.docx(36页珍藏版)》请在冰豆网上搜索。
PM511PF
多功能数据采集版PM511PF
1.概述
PM511P是一块PC104总线的多功能数据采集板,适用于工业现场、实验室、嵌入式设备等多种场合,具有16路A/D转换通道、4路D/A通道、24路可编程开关量输入输出、3路计数通道,也可根据用户需要选配功能,节约工程成本。
主要技术指标
♦模入部分:
输入通道数:
单端16路,双端8路
输入信号范围:
0~10V,-5V~+5V,-10V~+10V
输入精度:
12BIT
增益范围:
1~1000硬件增益
AD频率:
100KHz
A/D启动方式:
软件启动/定时启动/外触发
A/D转换结束识别:
查询方式/中断方式
FIFO缓冲区:
8K
♦模出部分:
输出通道数:
4路独立D/A
输出范围:
0~5V,-5V~+5V
输出精度:
12BIT
♦开关量部分:
使用器件:
82C55
开关通道:
24路可编程TTL电平开关量输入、输出
♦计数部分:
使用器件:
82C54
计数通道:
3路
最大计数频率:
10MHz
♦电源功耗:
+5V(±10%)@400mA
♦使用环境要求:
工作温度:
0℃~70℃或-40℃~+80℃
相对湿度:
40%~80%
存贮温度:
-40℃~+85℃
外形尺寸:
长×高=91mm×96mm
2.工作原理
PM511PF是PM511P板的升级板,由A/D部分,D/A部分,I/O部分,计数部分等四个功能部分构成。
带有8K硬件缓冲。
采样频率更快,可100K。
开关量加入上拉下拉功能,使上电状态受控。
2.1布局图
图1PM511PF布局图
2.2A/D部分
A/D采用BB公司的ADC774芯片或AD公司的AD1674芯片,实现12BIT,100KHz的数据采集,有调零调满电路和单、双极性以及单、双端选择跳线,并配有滤波电路,信号由双排插针接口J1引出。
2.3D/A部分
D/A采用BB公司的DAC7625芯片,可以实现12BIT4通道模拟量输出,通过调整跳线JP1实现各档电压输出,信号由双排插针接口J1引出。
2.4开关量输入输出部分
24路可编程开关量输入输出,由一片8255实现,信号由双排插针J3引出。
2.5脉冲计数部分
3路计数通道,由一片82C54实现,信号由双排插针J3引出。
3.操作说明
3.1跳线功能参考表
表2跳线功能对照表
JP1
JP2
JP3
JP4
JP7
JP8
JP9
D/A输出
方式选择
单双端
选择
单双极性选择
量程
选择
中断
选择
地址
选择
开关初值选择
下图为跳线参考图
JP1(D/A输出方式选择)
JP2(A/D单双端选择)
JP3、JP4
本卡由这两个跳线组合实现A/D量程及单双极性的变化。
JP7(中断选择)
本卡提供中断5,7,12,可以通过JP4来选择。
JP8(基地址选择)
基地址由跳线JP7控制,地址分配如下所示:
JP9(开关量上电状态选择)
开关量拉高开关量拉低
3.2I/O地址参照表
表1端口地址与功能表
端口操作地址
读操作
写操作
基地址+0H
启动A/D转换
A/D通道输出/单双端选择
基地址+1H
状态寄存器
A/D转换方式与中断控制寄存器
基地址+2H
读A/D转换结果
清的中断标志位(FIFO半满中断除外)
A/D定时启动分频系数
基地址+4H
从FIFO中返回AD数据
输出D/A通道
基地址+6H
返回FIFO当前状态
BIT0:
只读,0,FIFO空,1,fifo非空
BIT1:
只读,0,半满,1,没有达到半满
BIT2:
只读,0,FiFO满,1,FIFO不满
输出D/A数据
基地址+8H
82C55PA口
82C55PA口
基地址+9H
82C55PB口
82C55PB口
基地址+AH
82C55PC口
82C55PC口
基地址+BH
82C55控制字
82C55控制字
基地址+CH
82C540通道
82C540通道
基地址+DH
82C541通道
82C541通道
基地址+EH
82C542通道
82C542通道
基地址+FH
/
82C54控制字
3.3调节电位器说明
3.3.1A/D相关电位器
W1:
单极性零点调节
W2:
单、双极性满度调节
W3:
双极性零点调节
3.3.2D/A相关电位器
W4:
D/A输出通道一零点调节
W5:
D/A输出通道一满度调节
W6:
D/A输出通道二零点调节
W7:
D/A输出通道二满度调节
W8:
D/A输出通道三零点调节
W9:
D/A输出通道三满度调节
W10:
D/A输出通道四零点调节
W11:
D/A输出通道四满度调节
3.4A/D操作
A/D操作有四种方式:
软件启动、定时启动和外触发启动以及外触发控制定时启动。
3.4.1相关寄存器
1)控制/状态寄存器
参见表3,此寄存器为一个字节,当进行读操作时可以得到当前A/D转换的状态;当进行写操作时可以控制A/D转换方式。
表3控制/状态寄存器
端口地址
操作命令
D7
D6
D5
D4
D3
D2
D1
D0
基地址+1H
字节读/写
nch
INT3
INT2
INT1
IE
ADE
ADC
SAD
读写,1:
自动切换通道
0:
定时或者外触发时固定通道
读1:
FIfO半满中断标志位
写1:
使能FIfO半满产生中断
读1:
定时中断标志位
写1:
使能定时产生中断
读1:
AD转换结束中断标志位
写1:
使能AD转换结束产生中断
读1:
外触发信号中断标志位
写1:
使能外触发信号产生中断
读写,3:
外触发信号控制定时启动有效(6)
2:
外触发信号单次启动AD转换有效(4)
1:
定时启动AD有效
(2)
0:
软件启动AD有效(0)
只读,1:
表示正在转换
0:
表示转换结束
注意:
当定时启动有效时,外触发启动无效。
用户读回D3~D6状态可确定中断使尤哪种方式产生的。
2)AD通道选择/启动AD寄存器(基地址+0)
参见表4,此寄存器为一个字节,当进行写操作时选择通道;当进行读操作时启动A/D转换。
表4A/D通道选择寄存器
端口地址
命令
D7
D6
D5
D4
D3
D2
D1
D0
功能
基地址+0H
字节写
/
/
/
0
0~15
0
0
0
单端选通道
基地址+0H
字节写
/
/
/
1
0
0~7
0
1
双端选通道
基地址+0H
字节读
/
/
/
/
/
/
/
/
启动A/D转换
*此寄存器D4位选择单双端输入。
3)AD结果/分频系数/中断状态寄存器(基地址+2)
参见表5、表6,当对此寄存器进行读操作时以字方式,低12位有效,返回A/D转换结果,同时清中断标志位(FIFO产生的中断无法用这种方法清除,可以通过从FIFO中读数,改变FIFO半满信号的方法实现),使下一次中断可以产生。
当对此寄存器进行写操作时以字节方式,低5位有效,设定定时启动A/D转换时的分频系数。
表5A/D结果寄存器
端口地址
命令
D7
D6
D5
D4
D3
D2
D1
D0
基地址+2H
字读
BIT7
BIT6
BIT5
BIT4
BIT3
BIT2
BIT1
BIT0
基地址+3H
/
/
/
/
/
BIT11
BIT10
BIT9
BIT8
由此寄存器返回的码值与实际电压值有如下对应关系:
0V~10V:
实际值=(码值/4095×10)V;
-5V~+5V:
实际值=(码值/4095×10-5)V;
-10V~+10V:
实际值=(码值/4095×20-10)V;
关于分频:
511PF所使用的时钟基准为200K,定时方式采样频率与时钟基准的关系是:
采样频率=时钟基准/(分频系数+1)
本卡最大采样频率为100kHz,所以分频系数最小为1(100k=200K÷(1+1)),分频系数最大可达4095。
BIT0为分频系数的低位,BIT15位分频系数的高位,因此分频系数范围是1~4095。
3.4.2软件启动A/D
软件启动A/D流程如图2。
3.4.3定时启动A/D转换
本卡为A/D转换提供一个频率为200K的时钟,用户可以对其进行分频,用以定时启动AD转换。
分频系数与定时启动频率有如下关系:
定时启动频率=200KHz÷(分频系数+1)分频系数范围是1~4095
定时启动A/D流程如图3:
3.4.4外触发启动A/D转换
外触发信号必须为TTL电平,否则可能损坏板卡。
外触发信号的高低电平时间均要大于100nS。
外触发启动A/D流程如图3:
3.4.5关于单端、双端
单端采样时,采样信号使用同一个地,双端采样时,高八路通道作为低八路通道的负端,采样信号可不共地,分别接到相应通道地正端和负端,因此双端通道数是单端通道数的一倍。
3.4.6关于中断
本卡提供四个中断源,1.AD转换结束中断
2.FIFO半满中断
3.定时中断
4.外触发中断
这四个中断可以同时使用,使用某中断源需使能控制寄存器对应位,当中断产生后,可以通过读回控制寄存器的值来判断最近一次中断是尤哪个中断源产生的(具体请参照表3的介绍)。
外触发中断信号的高低电平时间均要大于100ns。
3.5D/A操作
3.5.1相关寄存器
1)D/A通道选择寄存器
参见表7,此寄存器为一个字节,只能进行写操作以选择通道
表7D/A通道选择寄存器
端口地址
命令
D7
D6
D5
D4
D3
D2
D1
D0
功能
基地址+4H
字节写
/
/
/
/
/
/
0
0
选中通道1
基地址+4H
字节写
/
/
/
/
/
/
0
1
选中通道2
基地址+4H
字节写
/
/
/
/
/
/
1
0
选中通道3
基地址+4H
字节写
/
/
/
/
/
/
1
1
选中通道4
2)D/A输出寄存器
参见表5,此寄存器为一个字,只能进行写操作。
码值与实际电压值关系请参考A/D结果寄存器部分。
表8D/A输出寄存器
端口地址
命令
D7
D6
D5
D4
D3
D2
D1
D0
基地址+6H
字读
BIT7
BIT6
BIT5
BIT4
BIT3
BIT2
BIT1
BIT0
基地址+6H
/
/
/
/
/
BIT11
BIT10
BIT9
BIT8
其中BIT0为D/A输出的低位,BIT11为D/A输出的高位。
因此D/A输出的码值范围为0~4095
单极性时码值与实际电压关系遵照下面公式:
实际值=码值÷4095х5(V)
双极性时码值与实际电压关系遵照下面公式:
实际值=码值÷4095х10-5(V)
3.5.2操作步骤
先选择输出通道,然后输出电压。
注意输出电压操作为字操作。
3.6开关量操作
82C55内部寄存器映射到本卡上对应空间如表9所示。
表982C55映射寄存器
地址
D7
D6
D5
D4
D3
D2
D1
D0
说明
基地址+8H
D7
D6
D5
D4
D3
D2
D1
D0
82C55PA口
基地址+9H
D7
D6
D5
D4
D3
D2
D1
D0
82C55PB口
基地址+AH
D7
D6
D5
D4
D3
D2
D1
D0
82C55PC口
基地址+BH
D7
D6
D5
D4
D3
D2
D1
D0
82C55控制字
82C55有3种工作方式:
●方式0——基本输入输出方式
●方式1——选通输入输出方式
●方式2——双向传送方式
这3种工作方式由控制字决定。
其中以方式0最常用,当工作在方式0下时,控制字的D7=1,D6=0,D5=0,D2=0,由D4、D3、D1、D0四位决定A口、B口、C口的输入输出方式,表10标明了82C55工作在方式0下时控制字的D4、D3、D1、D0与三个端口输入输出方式的对应关系。
表1082C55方式0端口定义
D4
D3
D1
D0
A口
C口
(高四位)
B口
C口
(低四位)
0
0
0
0
输出
输出
输出
输出
0
0
0
1
输出
输出
输出
输入
0
0
1
0
输出
输出
输入
输出
0
0
1
1
输出
输出
输入
输入
0
1
0
0
输出
输入
输出
输出
0
1
0
1
输出
输入
输出
输入
0
1
1
0
输出
输入
输入
输出
0
1
1
1
输出
输入
输入
输入
1
0
0
0
输入
输出
输出
输出
1
0
0
1
输入
输出
输出
输入
1
0
1
0
输入
输出
输入
输出
1
0
1
1
输入
输出
输入
输入
1
1
0
0
输入
输入
输出
输出
1
1
0
1
输入
输入
输出
输入
1
1
1
0
输入
输入
输入
输出
1
1
1
1
输入
输入
输入
输入
详细操作请参照82C55使用手册。
3.7计数器部分
计数器由一片82C54完成,可以完成对最高频率为10M的脉冲进行计数,82C54内部寄存器映射到本卡上对应空间如表11所示。
表1182C54映射寄存器
地址
D7
D6
D5
D4
D3
D2
D1
D0
说明
基地址+CH
D7
D6
D5
D4
D3
D2
D1
D0
计数器0
基地址+DH
D7
D6
D5
D4
D3
D2
D1
D0
计数器1
基地址+EH
D7
D6
D5
D4
D3
D2
D1
D0
计数器2
基地址+FH
SC1
SC0
RL1
RL0
M2
M1
M0
BCD
控制字
82C54的全部功能是由CPU编程设定的。
CPU通过输出指令给82C54装入控制字,从而设定其功能。
各位的功能见表12~表15:
表12SC1、SC0——计数器选择
SC1SC0
选择计数器
00
选择0#
01
选择1#
10
选择2#
11
非法
表13RL1、RL0——CPU读/写操作
RL1RL0
操作类型
00
计数器封锁操作
01
读/写计数器低8位
10
读/写计数器高8位
11
先读/写低8位,后读/写高8位
表14M2、M1、M0——工作方式选择
M3M2M1
计数工作方式
000
方式0
001
方式1
010
方式2
011
方式3
100
方式4
101
方式5
表15BCD——计数方式选择
BCD
数码形式
0
十六位二进制计数
1
四位十进制(BCD)码计数
82C54的三个计数器是独立的16位减法计数器。
计数器的工作方式由工作方式寄存器确定。
计数器在编程写入初始值后,在某些方式下计数到0后自动预置,计数器连续工作。
CPU访问计数器时,必须先设定工作方式控制字中的RL1、RL0位。
计数器对CLK计数输入端的输入信号进行递减计数。
选通信号GATE控制计数工作的进行,其功能如表16所示。
表16选通信号GATE的功能
低电平或进入低电平
上升边沿
高电平
方式0
禁止计数
----
允许计数
方式1
----
1.初始化和计数
2.下一个时钟后清除输出
----
方式2
1.禁止计数
2.使输出立即变为高电平
1.重新装入计数器
2.启动计数
允许计数
方式3
1.禁止计数
2.使输出立即变为高电平
初始化和计数
允许计数
方式4
禁止计数
计数未结束时初始化和计数
允许计数
方式5
----
初始化和计数
----
82C54的三个计数器按照各工作方式寄存器中控制字的设置进行工作。
可以选择的工作方式有六种。
这六种方式是:
方式0:
计数结束时中断。
编程后自动启动,计数器减1计数,计数到终点(减至0)后输出高电平,可用于中断请求信号,GATE为低电平时停止计数,回到高电平后继续往下计数。
再次启动要重新装入计数值或重新编程。
方式1:
可编程单脉冲输出。
GATE上升沿进行初始化并开始计数。
输出低电平的宽度等于计数时间。
单脉冲输出可用GATE上升沿多次触发。
方式2:
比率发生器。
编程后重复地循环计数。
计数到终点时输出一个时钟周期宽度的低电平脉冲,自动初始化后继续计数。
用GATE的上升沿初始化,并开始计数。
GATE为低电平时停止计数。
方式3:
方波发生器。
这种方式是在编程后重复地循环计数,输出波形为方波。
如果初始计数值为偶数,每个时钟输入脉冲使计数器减2,达到计数终点时输出电平改变。
如果初始计数值为奇数,则输出高电平时第一个时钟输入脉冲使计数器减1,随后每个输入脉冲使计数器减2;输出为低电平时第一个时钟输入脉冲使计数器减3,随后每个输入脉冲使计数器减2,到达计数终点时输出电平改变,计数器自动初始化后继续计数。
用GATE的上升沿初始化并开始计数,GATE为低电平时停止计数。
方式4:
软件启动选通脉冲输出。
编程后自动启动,计数到终点后输出一个时钟周期的低电平脉冲。
用GATE的上升沿初始化并开始计数,GATE为低电平时停止计数。
方式5:
硬件启动选通脉冲输出。
编程后,等待GATE上升沿进行初始化并开始计数,计数到终点后输出一个时钟周期的低电平脉冲,计数器开始计数后不受GATE信号电平的影响,这种选通脉冲的输出可用GATE的上升沿多次触发。
在工作方式控制字中,如果设置计数器锁存操作,则该控制字中工作方式选择位M1、M0和计数方式选择位BCD无效。
即设置锁存操作时不影响计数器的工作方式,计数器锁存操作,是在计数器计数过程中,在不影响正在进行的计数操作的条件下,把当前的计数值锁存到寄存器,供CPU读取,这时在工作方式控制字中,SC1、SC0指定要锁存的计数器,RL1、RL0=00表示锁存操作,其余4位无效,计数器按原来设定的方式工作。
当本卡A/D转换选择定时器定时触发启动工作方式时,一般将82C54的工作方式设置为方式2(即比率发生器),
3.8上电状态
A/D选通的通道为0通道,D/A选通的通道为0通道,D/A4个通道输出为最小值,单极性为0V,双极性为-5V。
24路开关量全部为输入。
3.9跳线出厂设置
地址为100H,A/D输入方式为0~10V,D/A输出方式为0~5V,中断没有接。
4.接口定义
4.1模拟量输入输出接口(J1)定义
参见表20
表20模拟量接口定义表
插座引脚号
信号定义
插座引脚号
信号定义
1
A/D1(A/D1+)
2
A/D9(A/D1-)
3
A/D2(A/D2+)
4
A/D10(A/D2-)
5
A/D3(A/D3+)
6
A/D11(A/D3-)
7
A/D4(A/D4+)
8
A/D12(A/D4-)
9
A/D5(A/D5+)
10
A/D13(A/D5-)
11
A/D6(A/D6+)
12
A/D14(A/D6-)
13
A/D7(A/D7+)
14
A/D15(A/D7-)
15
A/D8(A/D8+)
16
A/D16(A/D8-)
17
GND
18
GND
19
D/A4
20
D/A3
21
D/A2
22
D/A1
23
GND
24
GND
25
GND
26
GND
4.2开关量及计数输入接口(J3)定义
参见表21
表21开入接口定义表
插座引脚号
信号定义
插座引脚号
信号定义
1
GND
2
GND
3
GND
4
EIN
5
PB0
6
PB1
7
PB2
8
PB3
9
PB4
10
PB5
11
PB6
12
PB7
13
PC0
14
PC1
15
PC2
16
PC3
17
PC4
18
PC5
19
PC6
20
PC7
21
PA0
22
PA1
23
PA2
24
PA3
25
PA4
26
PA5
27
PA6
28
PA7
29
GND
30
GND
31
OUT0
32
GATE0
33
CLK0
34
OUT1
35
GATE1
36
OCLK1
37
OUT2
38
GATE2
39
CLK2
40
OCLK
注:
ClK0为8253计数通道0输入端
OUT0为8253计数通道0输出端
GATE0为8253计数通道0门控端
以此类推。
EIN为外触发信号输入端
OCLK为内部时钟信号输出端
5.编程举例
5.1C语言A/D采集示例
#include"stdio.h"
#include"dos.h"
#include"conio.h"
voidmain()
{
intch;/*定义通道变量*/
floatvalue[10000];/*定义数组变量*/
intd,i,j,base;/*定义过程变量*/
intmax,min;
clrscr();/*清屏*/
base=0x100;
outportb(base+1,0);
printf("\nInputchannlenumber:
");/*输入通道号*/
scanf("%d",&ch);
outportb(base,ch);
for(j=0;j<1000;j++);/*延时等待通道切换完成*/
for(j=0;j<100;j++){/*设采样次数*/
inportb(base);/*启动A/D*/
while(inportb(base+1)&1);/*查询A/D转换状态*/
d=inport(base+2)&0xfff
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- PM511PF