关键词:嵌入式系统,PC104,数据采集,大规模可编程逻辑器件
1 引言
随着科技和经济的发展,嵌入式系统已经被广泛应用到家用市场、工业市场、商业市场、通讯市场和国防市场。PC104是一种嵌入式平台,该平台与IBM的PC机兼容,具有灵活的可扩展性,其小巧的尺寸非常适合嵌入式系统的应用。现代的数据采集要求高速,高精度,需要一个处理能力强的嵌入式平台,PC104正好符合这一要求。
本文基于PCM-3350型PC104嵌入式开发平台,采用MAX1308AD转换芯片,设计了一个16通道,最高采集速度可达1Msps,分辨率为12bit,能够进行通道扫描采集和单通道采集的数据采集系统。
2 数据采集系统设计
数据采集系统主要由放大电路、光耦隔离电路、多路选择开关、带采样保持器的AD模数转换器、时钟电路、CPLD控制电路、数据缓存(FIFO)等部分组成,总结构框图如图1所示:
图1 数据采集系统总体框图
2.1 A/D转换数据采集电路
A/D转换选用max1308AD芯片,它是一种采样速率最高可达1Msps,分辨率为12bit的采集芯片,多达8个通道的同时采样,+5V模拟电源,+3V至+5V数字电源,其硬件系统连接如图2所示:
图2 max1308AD硬件连接
2.2 FIFO存储电路
FIFO电路芯片选用IDT公司的IDT7203,它是一个双端口的存储缓冲芯片,具有2048×9 的存储结构,具有12ns 的高速存取时间,结构简单,便于操作,并具有控制端、标志端、扩展端和内部RAM 阵列,内部读、写指针在先进先出的基础上可进行数据的自动写入和读出。
2.3 CPLD控制电路设计
CPLD(EPM7160STC100-6)的设计是本采集系统的核心,它能够对PC104地址总线进行译码,所产生的逻辑控制信号对各个单元的工作状态起控制作用。
数据的读取可以采用查询的方式。当FIFO的空标号有效时,就产生一个中断,使主机停止对FIFO的读取。在PC104 ISA部分,用到ISA的16位数据总线D[0..15]。A[0..9]是PC104的地址总线;IOW和IOR是对指定设备的读写信号;AEN是允许DMA控制地址总线、数据总线及读写命令线进行DMA传输及对存储器和IO设备的读写。系统工作流程如图3所示:
图3 系统工作流程
数据采集系统的工作逻辑框图如图4所示:
图4 数据采集系统的逻辑框图
其中,地址译码、控制器:只有地址选中该模块时,A/D 才能工作,同时使PC104工作在16位数据线方式,A0到A3分别控制着转换通道的选择;启动触发器:用于控制A/D转换的启动,其操作通过写信号和CONVST等信号进行;中断响应寄存器:用于查询A/D转换完毕,FIFO为空引起的中断。启动触发器和中断响应寄存器都位于状态控制器内部;读数据寄存器:当FIFO不为空,在FIFO中的转换结果直接进人数据总线,第12位到15位 由CPLD提供,使数据与其相等再进入16位数据总线,完成整个转换过程。
2.4 采集卡的地址分配
由于该数据采集卡是作为PC104的标准外设进行工作的。PC104规定,外设的操作地址为A[9:0],在系统软件设计中要防止地址冲突。PC104中使用A0~A9地址位来表示I/O端口地址,即可有1024个口地址,前512个供系统板使用,后512个供扩充插槽使用,当A9=0时表示为系统板上的口地址;当A9=1时表示扩充插槽接口卡上的口地址[2]。
因此本采集的的板卡地址由A[9:3]来确定,偏移地址由地址线的A[2:0]所确定,选择该地址就意味着相应的操作,CPLD对地址经过译码后就产生相应的控制。对于板卡的地址,为了方便,还可在板卡上设置跳线。
采集卡的基地址分配和译码地址分配见表1,本文设计的数据采集卡的地址范围是:2E0H—2F7H,不会发生地址冲突。
2.5 其他部分电路设计
由于MAX1308内部含有多路模拟开关,因此,采用2片MAX1308就可以进行16个通道的同时采样。硬件方面,为了减少延时,提高速度,将CPLD或FIFO 和数据采集部分集中到一块四层印制电路板,然后通过连接器连接到PC104。电源部分应将数字电源和模拟电源分开。考虑到对于A/D转换的精度、稳定,使用6N137光耦隔离。
3 PC104平台
PC104平台硬件采用PC/104总线标准结构设计的产品PCM一3350主板。它是研华新一代高速低耗PC/104系列的代表产品。控制器模块包括一个主控32位微处理器单元,具有32MRAM和内置的非易失存储器用于数据和程序存储,提供VGA,LCD显示器接口;该模块还具有一系列标准通讯口从而提供多种通讯方式,包括串行通讯(RS232,RS485)、以太网等以及一个PC104总线接口。
4 软件设计
由于PC104CPU模块支持可读写的固态盘,这种以半导体存储设备来代替通常使用的磁盘驱动器,可以大大提高系统的可靠性,降低系统的功耗和成本。本系统中,根据固态盘的特点,操作系统软件采用DOS6.22,以TuborC 2.O作为开发环境,应用程序采用C语言和汇编语言相结合来实现除此在编写软件时,首先要设置好I/0板卡的基地址,再根据基地址来确认其他外围寄存器端口地址,包括读写端口、控制字和通道选择等地址。
5 结束语
数据采集技术是信息科学的重要组成部分,已广泛应用于国民经济和国防建设的各个领域,并且随着科学技术的发展,数据采集技术将有广阔的发展前景。本文基于PC104的嵌入式平台,采用MAX1308AD转换芯片,设计了一个16通道,最高采集速度可达1Msps, 分辨率为12bit的数据采集系统,由于其小型化易携带的特点,此数据采集系统可方便地用于野外作业。另外,随着PC104加入嵌入式领域,嵌入式系统的设计者就可以使用于桌面PC所兼容的软件。 PC104已经被广大用户证明是嵌入式领域的理想解决方案,尤其当它结合了PCI总线之后,它将如虎添翼。PC/104 的发展前景非常看好,“堆栈型PC”的前途无限光明。
本文作者创新点:把各个电路模块的控制信号集中到一片CPLD芯片上,采用柔性电路设计方法,增强了电路设计的灵活性和可开发性。
参考文献
[1] (美)Wayne WolF著,孙玉芳等译.嵌入式计算系统设计原理[M].北京:机械工业出版社, 2002:1~36.
[2] 王少,吕超.嵌入式计算机模块PC104在工程中的应用[J].光电技术应用.2003(5):48~50.
[3] 张丕壮.超声检测系统中数据采集电路的柔性设计[J].测试技术学报.2005(2): 226~229.
[4] 沈羽,齐伟,民张毅.实时高速数据采集与存储系统的一种实现方法[J].微计算机信息.2006(1):83~85.
[5] PC/104 Embedded Consortium, PC/104 SpecificationVersion 2.5[S],November 2003.
[6] 肖忠祥,孟开元等.数据采集原理[M].西安:西北工业大学出版社, 2001:1~10.
基于PC104的数据采集系统的研究与实现