PC/104模块Diamond-MM-AT的原理与应用

2007-03-09 19:03:27来源: 互联网
摘要:介绍了12位模拟I/O PC/104模块Diamond-MM-AT的主要参数、内部结构、引脚功能及特性,给出了Diamond-MM-AT与PC/104及传感器的硬件连接关系同时给出了它们的一个成功的A/D转换应用程序。 关键词:Diamond-MM-AT模块;A/D转换; PC/104; 数据采集 1 主要特点 随着数字信号处理技术及各种故障分析技术的快速发展,在一些由工控机构成的较小系统中,对信号进行实时采集与处理已越来越受到人们的重视。PC104系统模块以其结构紧凑,体积小,可扩展性强等特点,在信号采集和故障分析中得到了广泛的应用。Diamond-MM-AT 是一个高性能12bit模拟量I/O口输入输出PC/104模块,它包括A/D,D/A转换通道和定时/计时器,其标准模板结构可与PC/104处理器进行模块组合。 Diamond-MM-AT模块的主要功能如下: A/D转换精度为12位,可支持的最大采样频率为100kHz;具有16条模拟量输入通道和2条12位D/A转换通道;有8个数字输入口和8个数字输出口;带有32位可编程控制计数/定时器;可编程设置D/A转换量程。 2 插口及引脚功能 图1所示是Diamond-MM-AT模块的外形简图。其中J1、J2为扩展总线端口,主要用于与PC/104处理器总线相连接。U7为A/D转换器。J4是为A/D设置跳线器,用来设置模拟量是单极或双极输入以及输入的量程。J5是D/A设置跳线器,用于设置模拟量是单极或双极输出以及输出的参考电压值。U15是D/A转换器。J6是设置DMA(直接存储器存取)标准的中断级和基地址设置跳线器,模块默认基地址为:0x300。J3为50针的I/O端口,它的具体排列如图2所示,各端口定义如下: Vin7/7+~Vin0/0+:单极模式模拟量A/D输入端口7~0;同时可用作双极模式模拟量A/D正极输入端口7~0; Vin15/7-~Vin8/0-:单极模式模拟量A/D输入端口15~8;也可用作双极模式模拟量A/D负极输入端口7~0; Vout0Vout1:分别为D/A转换输出端口0和1; Vref Out:+5/-5V精确参考电压输出端口; Vref In0Vref In1:自定义D/A转换参考电压量程输入端口; Dout7~Dout0:数字输出端口0~7,兼容TTL/CMOS电平; Din7~Din0:数字输入端口0~7,兼容TTL/CMOS电平;其中Din2/Gate0 数字输入端口2还可作为计数器0的控制门,并当该端口为高电平时计数;而Din0/Gate1/2数字输入端口0则可作为计数器1和2的控制门,并可由控制寄存器11来进行设定; In0-:计数器0输入端(下降沿触发); Out0Out2:分别为计数器0和2的输出端口; +15V模拟电源; +5V:与PC/104扩展总线电源相连,用来提供+5V电源; Agnd:模拟地; Dgnd:数字地; Diamond-MM-AT模块通常占用16位地址空间。 3 硬件连接关系 Diamond模块与PC/104处理器及传感器的硬件连接框图如图3所示。 图中当传感器测取待检测信号并输入调理板进行放大滤波处理后,即可将其调制到合适的电压信号范围,并输入到Dia-mond-MM-AT模块相应的I/O端口,然后由Dia-mond-MM-AT模块将其转换为所需要的数据量或模拟量,最后由PC/104处理器通过扩展总线控制读写数据的处理、显示和存储。其电源由PC/104总线提供,在Diamond-MM-AT模块端口J1中,B1为GND,B3为+5V,B5为-5V,B7为-12V,B9为+12V。 4 数据采集应用程序 下面是以PC/104作处理器和Diamond-MM-AT模块进行组合,以对检测的模拟量信号进行A/D转换的读写程序及对各控制寄存器的配置方法。笔者已在实践中对该程序进行了测试,并已成功运用到某测试工程设计中。 #define Base 0x300 Main Void{ union { unsigned int m; unsigned char n[2];}T; int dat[3000]; int i, cd; int freq=2000;  // 设定采样频率为2kHz; outportb(Base+9, 0x83); // 允许中断,由计数器触发; outportb(Base+10, 0x08); // 计数器1产生1MHz方波 outportb(Base+11, 0x05); // A/D输入范围为0~5V T.m=(int)(500000/ freq); // 0.5MHz/Freq求写入记数器值; outportb(Base+15,0x54); // 设定计数器1读/写低字节; outportb(Base+13,0x01); // 向计数器1写低字节(二分频); outportb(Base+15,0xb4); // 设定计数器2先读/写低字节,再读/写高字节; outportb(Base+14,T.n[0]); // 向计数器2写低字节; outportb(Base+14,T.n[1]);// 向计数器2写高字节; outportb(Base+2,0xcc);   // 设定测取通道为C通道(即第12通道); for(i=0;i<3000;i++)  // 循环采集3000个数据; { outportb(Base+1,0xff); // 清除FIFO; outportb(Base+8,0xff); // 设定中断寄存器8,等计数器触发; while((inportb(Base+8)&0x10)==0x00);   // 等待A/D转换结束; cd=inportb(Base+0))// 读取低八位数据; cd=cd/16;    // 数据右移四位,除去右四位的通道标志; dat[i]=inportb(Base+1); // 读取高八位数据; dat[i]=dat[i]*16; // 高八位数据左移四位; dat[i]=dat[i]+cd;  // 高八位与低四位相加即得A/D转换结果12位数据; } …… 5 结束语 Diamond-MM-AT是标准的PC/104连接模块,具有体积小,结构紧凑等优点,并具有A/D、D/A、I/O转换等多种功能。由于PC/104可支持高级语言编程,因此,程序开发和设计非常方便,可在很大程度上缩短开发时间。可以预见:随着电子技术的发展,这种模块化器件必将有着广阔的发展应用前景。
编辑: 引用地址:http://www.eeworld.com.cn/designarticles/sensor/200703/11466.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部

小广播

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 安防电子 医疗电子 工业控制

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved