二通道8位30MHZ高速AD板
AC1030
AC1030
二通道8位30MHZ高速A/D板
AC1030板简介
AC1030是一种高性能价格比的高速存储A/D板, 设计时考虑为用户提供尽可能高的A/D采样性能,可广泛应用于各种中、高速模拟信号的测量分析, 多路信号采集。
主要特点、性能:
- 2路输入(DB25-F 孔式连接器, 方便连线).
- 二路8位30MHZ转换速率A/D
- A/D输入带宽>10MHZ
- A/D测量精度: 分辨率
30MHZ :?1.5% 8位 ?1.5LSB
20MHZ以下 :?1.0% 8位 ?1LSB
- A/D 输入阻抗 1 0KΩ
- 输入电压 0 - ?1V, 0 - 2V, 软件设置
1
AC1030
- 板上 128 KB RAM, 提供最大 64K / 路采样长度
- 存储式A/D板, 可脱机采样, 数据存储在板上, 不占用PC内存
- 中断占用: PC的IRQ 3,5,7 通道, 跳线器选择
- A/D结束方式: 查询, 中断
- A/D起动方式: 软件起动, 外触发, 支持外时钟操作 (注)
- A/D采样速度由:
软件设置四种板上时钟源: 30M, 20M, 2M, 200KHZ
及 软件设置的 1, 2, 4, 8倍分频器决定, 对应共16种采
样速度
- 采样长度 256 - 65000点, 分为255个段, 软件控制。
- A/D 外触发启动电平: TLL 电平, 3V - 5V, 上升沿启动,
驱动电流 < 0.2mA
- 外时钟: TTL 电平, 最大频率 < 35MHZ, 外时钟上升沿
有效, 1:1必需是方波
- AC1030占用8个I/O地址, I/O地址可由跳线器在: 100H
- 3F0H 间选择
* : 外时钟是指, A/D的工作定时时钟除可由板上时钟供给外, 还可以由用户自行提供, 使AC1030能应用于许多特殊的场合, 如: 要与外部信号同步采样等
2
AC1030
目录:
AC1030简介.
?1. AC1030原理
?2. AC1030地址设定与操作说明
. AC1030地址设置
. AC1030 I/O 口功能
?3. AC1030编程及硬件
. A/D接口
. 工作原理
. A/D 增益及输入极性, 中断选择
. A/D 模式及编程
?4. AC1030电缆接口说明
. AC1030各电缆联接器接线说明
. AC1030连接器位置示意
3
AC1030
?1. AC1030原理说明
AC1030由二路A/D转换器, 数据RAM , 定时及采样控制电路构
成。如下图:
输入缓冲64K BYTE30MHX 2A/D X2
输入缓冲
外部时钟输入RAM地址控制
内部时钟采样控制30M、20M程控分频200K1,2,4,8倍
外部触发输入
工作原理:
A/D采样由板上时钟控制, 时钟由分频器控制, 分频比为: 1, 2, 4, 8倍, 由软件控制。对应A/D的时钟(A/D采样速度)为: Fin / N ( N = 1,2,4,8倍), Fin为时钟输入, 共有五种由软件选择, 为: 30M, 20M, 2M, 200KHZ及外时钟。
4
AC1030
?2. AC1030板控制地址设置与操作说明
?2.1 : 地址设定
板上占用3条地址线A0-A2, 称为"基地址" base, 余下的7条I/O译码地址(A3-A9),称为"段地址" seg ,由S2 (位置见复录) 7位跳线器选择开关选择, 其定义如下:
注:由跳线器短路时, 相应地址选位为"0"
1 2 3 4 5 6 7
A3 A4 A5 A6 A7 A8 A9
跳线器
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
示方法:
"1" : 表示此位(二个针)由跳线器短路块(称为JUMPER)断路
"0" : 表示开路, 不插JUMPER
地址选择方法如下: S2 的 1 - 7 位选择地址A3-A9共7位, 所以段地址 seg 只能在100-3F8H中选择(低3位地址被AC1030占用)。跳线器为"1"时, 相应的地址选为"0"。
5
AC1030
AC1030实际地址: (adr) = 基地址 (base) + 段地址 (seg)
例: 欲选择操作段地址 seg 为:210H, S2的设定方法如下:
1 2 3 4 5 6 7
1 0 1 1 1 1 0
A3 A4 A5 A6 A7 A8 A9
* 本卡出厂前即设为此地址 (210H) 。
A0 - A2基地址 base 由AC1030板占用, 分配如下:
基地址 读操作(RD) 写操作(WE) ,,,,,,,,,,,,,,,,,,,,,,,,,,,
2H A/D状态 STATE A/D工作模式: MODE
5H 空 启动A/D RUN
0H 读A/D通道 1 的数据 AC1030占用
1H 读A/D通道 1 的数据 AC1030占用
6H 空 AC1030 复位: REW
3H A/D 采样时钟控制: TCN
4H 空 采样长度计数器数值: LCN ,,,,,,,,,,,,,,,,,,,,,,,,,,,
6
AC1030
** I/O操作: 输入 输出
汇编: IN AX,DX OUT DX,AX
MSC : i=inp(adr) outp(adr,data)
BASIC : i=inp(adr) out adr,data
例: 如果我们已设定段地址为: 210H , 要进行A/D起动(RUN)操作,
则地址
为: 210H + 2H = 212H 写操作.
?2.2 : 详细说明:
? 2H 写操作 (MODE)
功能: 设置A/D的启动方式, 输入电压, 及中断控制
D7 D6 D5 D4 D3 D2 D1 D0
???
中断控制 A/D输入 A/D启动方式
D7:
D7=1: 中断开放
D7=0: 禁止中断
7
AC1030
D3, D2: A/D输入范围控制, =0 : 输入为 0 - 2V, =1: 输入为 0 - ?1V
D3控制A/D输入通道"2", D2控制"1"号通道。
即:
D2=0 "1"号A/D输入为 0-2V / D2=1 "1"号A/D输入为 0 - ?1V D3=0 "2"号A/D输入为 0-2V / D2=1 "2"号A/D输入为 0 - ?1V
D0: D0=0 A/D转换开始由软件控制(RUN控制)
D0=1 A/D转换开始由外触发控制(上升沿)
例: 设置中断禁止, A/D通道"1"输入0-2V, "2"号为0-?1V, 软件启动, 则:
MODE = 08H
MSC: outp(0x212,0x8);
BASIC: OUT &H212, &H8
注: 程序例设: 地址为 210H, 下同
8
AC1030
? 2H 读操作 (STATE)
功能: 判断A/D是否转换结束. 如果D0=0则A/D转换结束, D0=1 A/D正在转换.
D7 D6 D5 D4 D3 D2 D1 D0
D0 =0 A/D END 结束
D0 =1 A/D BUSY 忙
例:
MSC: int ac1030_base=0x210;
int ac1030_state; // 地址
int i;
ac1030_state=ac1030_base+2;
do
i=inp(ac1030_state) & 1; // if D0=0 A/D end
while(i!=0);
// A/D 转换完
BASIC: 10 I=INP(&H212)
20 I = I AND 1
30 IF I <> 0 THEN GOTO 10
9
AC1030
REM A/D 结束
? 5H 写操作 (RUN)
功能:
软件启动模式: 起动A/D转换
外触发采样模式: 启动A/D 外触发模式, 在外触发有效时A/D开始启动
例:
MSC: int ac1030_base=0x210;
int ac1030_run; // 启动地址
ac1030_run=ac1030_base+5;
outp(ac1030_run,0); // 启动 A/D 或 外出发模式
BASIC: 10 OUT &H215,0
? 3H 写操作 (TCN)
功能: (1) A/D时钟分频比
(2) A/D时钟输入选择
10
AC1030
D7
D6 D4-D6 = 0 - 4, A/D时钟输入(FIN)选择A/D ,
TSS
D5
TSS= 0: FIN = 30M
D4 1: FIN = 20M
2: FIN = 2M
D3 3: FIN = 200KHZ
4: FIN = 外时钟
D2
D1
A/D 分频选择, TDS, TDS= 0:
D0 A/D时钟 ACK = FIN
TDS,1: ACK = FIN / 2
2: ACK = FIN / 4
3: ACK = FIN / 8
A/D的采样频率由 ACK 决定, ACK 由TSS及TDS决定, 时钟为上升沿
有效
11
AC1030
ACK = FIN / N, N是TDS选择的倍率, N=1, 2, 4, 8
例: 设: AC1030的BASE地址是 0x210 (210H), 选择A/D采样速度为: 10M,
即: FIN=20M (TSS=1), 分频为二倍(TDS=1)
TCN = 11H
MSC: outp(0x213,0x11);
BASIC: OUT &H213, &H11
? 6H 写操作 (REW)
功能: 复位AC1030; 强行中断AC1030的采样; AC1030的RAM地址归零
在启动A/D之前或A/D转换完读书据之前, 都要进行此操作。当要重新读入以前的A/D结果时, 亦需进行REW操作.
例: outp(ac1030_rew,0);
........
启动 A/D , 或开始读A/D数据
12
AC1030
BASIC: OUT &H216,0
? 0H, 1H A/D数据读操作 (RAD1, RAD2)
功能: 读二个通道中对应的某道的A/D转换值, 0H读对应读A/D通道"1"的结果, 1H读A/D "2" 号通道的结果, 但注意: "每次只能读一个通道的数据"。
A/D结果到电压的转换方式为:
设: DATA为一个结果(DATA=0 - 255), V是电压
单极性输入(0-2V): V = DATA * 2.0 / 255 (V)
双极性输入(0-?1V):
V = (DATA-128) * 1.0 / 128 (V)
例: 对A/D进行了采样操作, 读入"1"号A/D的前 100 个结果, "2"号A/D的前120个结果
MSC:
int data1[100]; // A/D 一号结果
int data2[120]; // A/D 二号结果
int ac1030_addata=0x210; // 读地址
int ac1030_rew=0x216; // REW复位地址
13
AC1030
int i,j;
outp(0x216,0); // REW 复位, 地址归零
for(i=0;i<100;i++)
data1[i]=inp(0x210); // 读"1"号数据
outp(0x216,0); // REW 复位, 地址归零
for(i=0;i<120;i++)
data2[i]=inp(0x211); // 读"2"号数据
BASIC:
10 OUT &H216,0 REM REW 复位
20 FOR I=0 TO 100
30 DATA1(I) = INP(&H210) REM 读"1"号A/D结果
30 NEXT I
40 OUT &H216,0 REM REW 复位
50 FOR I=0 TO 120
60 DATA2(I) = INP(&H211) REM 读"2"号A/D结果
14
AC1030
70 NEXT I
A/D的结果是在RAM中顺序存放的, 第一次读出的是A/D的第一点, ..., 第N次读出的是第N点, 板上的地址计数器会在一次读操作后, 自动将地址加"1", 不许要额外的地址操作
? 4H 写操作: (LCN)
功能: 地址计数器操作, 控制采样长度(二路A/D的采样长度一样, 并共用地址计数器)
LD: 8位地址(采样长度)计数值, LD = 1 - 255
采样长度为: L = LD * 256
例: 采样长度为: 4096点(1000H点), 则 L = 10H
MSC: outp(0x214,0x10);
BASIC OUT &H214, &H10
15
AC1030
?3. AC1030的编程及硬件说明
安装:
.1. 关掉主机电源, 打开机箱
.2. 将AC1030插入一个总线槽, 并固定好
.3. 将所有的外部连线接好, 盖上机箱
*** 由于A/D采样速度快, 输入带宽宽,
A/D输入连接线最好采用高频同轴电缆
?3.1 AC1030 A/D部分工作原理
AC1030的A/D部分由: 输入通道开关, 放大器及A/D转换器、 定时单元、中断、A/D控制逻辑等构成。A/D的工作及数据RAM的存储是在定时器控制下进行的。
A/D的启动有: (1) 软件方式 :
(2) 外触发方式:
(1) 软件方式: MODE的D0=0时, 当对AC1030的积存器设置完后,
16
AC1030
写RUN命
令启动A/D
(2) 外触发: 同(1)的工作方式 (MODE的D0=1), 但开始启动A/D后, A/D不
转换, 直到由一个外触发信号(TTL电平, 上升沿)到来时, A/D才开始如(1)似
的工作。
查询到A/D转换结束后, 写REW(AC1030复位)后, 读入A/D的转换结果, 重新写REW可以再次读入A/D的结果。
?3.2 输入极性选择, 中断通道选择:
? MODE(2H)的D3,D2位分别选择"2"及"1"号A/D的输入极性
单极性 =0 输入 0 - 2V
双极性 =1 输入 0 - ?1V
17
AC1030
D3 D2 "1"号A/D输入范围 "2"号A/D输入范围
??????????????????????????
0 0 0 - 2V 0 - 2V
0 1 0 - ?1V 0 - 2V
1 0 0 - 2V 0 - ?1V
1 1 0 - ?1V 0 - ?1V
??????????????????????????
对应的A/D电压转换方法:
输入单极性:
Vin = N * 2000.0 / 255.0 (mV)
N: A/D 8位转换结果 , N=0-255
输入双极性
Vin = (N-128) * 1000.0 / 128.0 (mV)
N: A/D 转换结果
? S1: 用来选择中断IRQ的通道, 并只能选择一个通道(从IRQ3,5,7中), 当相应的位被短路时, 即是选择了此道
18
AC1030
1 2 3
IR3 IR5 IR7
?3.3 A/D的工作模式及编程:
AC1030的A/D工作模式可分为以下几种:
启动方式: 1. 软件, 2. 外触发
结束方式: A. 中断, B. 软件查询
时钟源: X. 内 Y. 外
以上的控制方法已在上一章中详细的说明了。
我们知道, 存储式A/D板编程简易, 并且一旦完成设置启动, 程序即可不管, 由板上逻辑自行控制采样, 与DMA模式相比, 不占用PC机的内存及机时, 对机器的速度无
要求
对教师党员的评价套管和固井爆破片与爆破装置仓库管理基本要求三甲医院都需要复审吗
。更可以由多块AC1030并行工作, 以扩大输入通道数, 这时启动可由外触发控制共同启动。
(1) A/D 读数方式:
每次写REW(6H)复位后可读相应通道的数据, 但每次只能读一个通
19
AC1030 道的结果, 见前一章
(2) 采样长度:
地址计数器中设置的数据(LD)即是总采样长度 L = LD * 256,
LD=1 - 255
(3) 编程框图
设置:
设置 MODE, 模式
?
设置定时器TCN
?
设置采样长度LCN
(地址计数器)
?
复 位 REW
?
启动A/D, RUN
?
20
AC1030
END
读数: NO
STATE的 D0 ? =0, A/D ? END ?
YES ?
?
写 REW, 复位
?
读"1"号A/D数据(地址0H读)
?
写 REW, 复位
?
读"1"号A/D数据(地址0H读)
?
写 REW, 复位
?
读"2"号A/D数据(地址1H读)
例: . 设置采样速度为: 30MHZ
. 软件启动
21
AC1030
. "1"A/D号输入为: 0 - 2V, "2"号为: 0 - ?1V
. 采样长度为: 3F00H (16128点)
. A/D中断禁止, 软件查询结束
则: MODE = 08H
LCN = 3FH
TCN = 0H (ACK=30M/1, TDS=0, TSS=0)
MSC例:
#include
int i,j,k;
int data1[17000]; // "1" 号A/D数据
int data2[17000]; // "2" 号A/D数据
float v1[17000]; // "1" 号A/D电压数据
float v2[17000]; // "2" 号A/D电压数据
int td=0x0;
int ld=0x3f;
// td : data of timer 定时器数据
// ld: data of adr. counter 计数器数据
main()
22
AC1030
// set mode
outp(0x212,0x8); // 模式
// timer 定时器设置
outp(0x213,td);
// adr. counter // 采样长度
outp(0x214,ld);
// rew
outp(0x216,0); // 复位
// start
outp(0x215,0); // 启动
// if A/D end A/D 是否完 ?
do
i=inp(0x212) & 1;
while(i!=0); `
23
AC1030
// rew & read data
outp(0x216,0); // 复位
for(i=0;i 0 THEN GOTO 70
90 OUT &H216,0 **** 读"1"数据
100 FOR I=0 TO 100
110 DATA1(I)=INP(&H210)
120 NEXT I
130 OUT &H216,0 **** 读"2"数据
140 FOR I=0 TO 100
150 DATA2(I)=INP(&H211)
160 NEXT I
170 END
A/D采样中的一些问题讨论:
- 信号的内阻匹配:
AC1030的输入阻抗:10K欧姆, 对8BIT的AC1030, 内阻应小于:
25
AC1030 100欧, 否则会带来采样误差.
- 输入最好应用同轴电缆, 应用75Ω或51Ω匹配
26
AC1030
?4. AC1030电缆接口说明
?4.1 外部连结器示意图:
P1是9脚DB9-F(阴, 孔式)联接器, 外触发及外部时钟信号都由此引入, 在DB9的座上面有对应的管脚号码。定义如下: 脚3:外部时钟输入
脚4:外部触发输入
脚7、8、9:地线
输入的二个Q9(BNC)头对应二路模拟输入,上部的对应输入通道1,下面的对应输入通道2。
27
AC1030
?4.2 AC1030板跳线器/连接器位置示意图:
AC1030 输入1
P1 9芯插座
S2 S1 输入2
地址选择 中断选择
1 7 1 3
28