微波EDA网,见证研发工程师的成长!
首页 > 测试测量 > 测试测量技术文库 > 基于A/D芯片AD1674设计的数据采集电路

基于A/D芯片AD1674设计的数据采集电路

时间:07-11 来源:嵌入式技术网 点击:

rtb(0x23f,0x02); /*write low data to 0 channel*/

outportb(0x23f,0x00); /*write high data to 0 channel*/

outportb(0x23b,0x01); /*set to write data to 1 channel*/

outportb(0x23f,LC1); /*write low data to 1 channel*/

outportb(0x23f,HC1); /*write high data to 1 channel*/

outportb(0x23b,0x0c); /*启动CH0,CH1工作*/

其中采样频率决写入计数器1的计数值。

2.4 DMA方式下PC主机中8237A DMA控制器编程

8237A DMA控制器具有4个DMA通道,该接口电路使用通道1。

outportb(0x0x,0x05); /*mask DMA channel 1*/

outportb(0x0c,0x00); /*clear byet pointer flip*/

outportb(0x0b,0x55); /*write mode word.demand mode,address tincrease,autoinitialization,write trasfer and select 1*/

outportb(0x83,SEG); /*write page number*/

outportb(0x02,LA); /*write low 8 bit address*/

outportb(0x02,HA); /*write hige 8 bit address*/

outportb(0x03,LC); /*write low 8 bit count data*/

outportb(0x03,HC); /*write hige 8 bit count data*

outportb(0x03,0x01); /*clear mask bit of DMA channel*/

其中写入11口的数值应按照具体的工作方式来确定,写入131口的页地址SEG取20位绝对地址的最高4位的数值,而将低16位地址的数值写入地址寄存器。写基值字节计数寄存器的字节总数值应为需要传输的字节数减1。

2.5 中断服务程序的编写以有中断向量的装入

void interrupt int9() /*中断服务程序*/

{ disable();

ah5=inportb(0x23d); /*输入高八位数据*/

outportb(0x23a,0x01); /*选择传输低四位数据*/

dl5=inportb(0x23d); /*输入低四位数据*/

outportb(0x23a,0x00); /*选择传输高8位数据并为A/D转换作准备*/

outportb(0x23c,0x00); /*A/D转换完毕的标志位清零*/

outportb(0x20,0x20);

enable();

}

void stall 1(void interrupt(*faddr)())

{

disable();

setvect(INT1,faddr); /*装入中断服务程序*/

enable();

}

本文介绍一种基于AD1674设计的接口电路,该电路具有查询、中断和DMA三种数据传输功能,同时采用8253定时脉冲或端口写两种A/D启动方式。其中 DMA方式实现了数据的快速传输,而两种A/D启动方式将会使采样率的设定更加灵活。应用本文原理设计的可插入通用PC机的数据采集板已用于我们的高频多谱勒和到达角探测分析系统中,取得了满意的效果。这些设计方法和原理在其它实际数据采集系统的设计过程中,也会具有重要的参考价值。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top