- 相关推荐
一种PC104温度采集卡的设计
摘要:介绍了一种用于12路通道温度采集的PC104采集卡的设计。重点描述了实现通道校正、采集数据的控制器的设计过程。该控制器提供了一定的数据缓冲能力和多种参数的工作方式,使得PC104采集卡的功能比较强大和全面,并且非常灵活。其设计思路值得以后类似的采集卡借鉴。实际运行结果表明,该采集卡的设计是成功的,并且工作可靠。PC104总线是一种出现已久的栈式总线,基本上属于ISA总线的变型。模块尺寸很小(90mm×96mm),多个模块通过针孔结构堆叠而成,形成的系统结构紧凑、抗冲击性能好,加上现在广泛应用的低功耗技术,使PC104总线特别适于用户自行开发特殊应用产品。
对于低速率、高精度的测量系统而言,A/D芯片AD7711是个功能完事的模拟前端。它直接从传感器接收信号,通过一个可编程的增益控制后将信号送到模拟调节器,再经滤波后输出一个16位的串行数字字。它的主要结构特点是:内部包含有一个∑-Δ A/D转换器,具有非常高的转换精度;两个通道的可编程增益前端;带内部SRAM的校正控制器,使得校正因子可读可写;时钟发生器;低通数字滤波器,具有可编程的通阻带分截点;一个双向串行通信端口,能较方便地与微处理器接口;可以单电压或双电压供电,具有较低的功耗。
对于RTD(电阻式温度检测)传感器的应用,AD7711是一款很不错的选择。本文介绍的PC104采集卡主要用于分布式温度点采集测量,上面集成了12个AD7711,形成12个通道,每个通道可以输入两路模拟信号,其中一路为单极性输入,另一路为双极性输入。
1 电路原理
PC104温度采集卡主要由12个AD7711、通道控制器、PC104栈式连接器组成,其原理框图如图1所示。板卡地址输入由拨盘开关完成。串口E2PROM用来保存每个通道的校准参数和一些板卡工作参数。另外还提供了配置ROM EPC2。
通道控制器采用Altera公司的CPLD器件FLEX10K50QC240来实现。PC104主机首先初始化通道控制器,通过板卡命令对板卡进行操作,如启动、停止、设置工作参数(如中断选择、每分钟采校次数、输出因子等)。然后通道控制器对各个AD7711通道进行操作,如写AD7711的控制寄存器、读写其校准寄存器里的校正因子、读取每个通道的采样数据。通道控制器的另一个功能是模拟PC104主机的指示对串口E2PROM进行读写操作,并提供结果。
采样频率有1Hz、2Hz、4Hz、8Hz、16Hz、32Hz、64Hz等,指定每个通道每分钟等间隔采样次数。板卡的控制器提供数据缓冲能力,每个采样周期都将12个通道的数据保存在缓冲器里。在存储了若干个采样周期的数据后,向主机发出中断,让PC104总线读走数据,输出因子则指定每次中断采样周期的个数。板卡提供八个ISA中断,主机可以选择其中一个。
AD7711每次采样16位数据,所以主机PC104总线从通道控制器读取数据时,使用16位I/O访问,因此/IOCS16和SBHE信号应当被驱动,而IOCHRDY则被用来插入等待周期。由于通道控制器和AD7711都采用10MHz时钟,所以对于CPU主频比较快的PC104总线,其ALE、/IOW、/IOR、AEN等信号的有效电平脉宽是与时钟周期有关系的,此时它们的脉宽可能比板卡的时钟周期100ns要小,故不能用它们直接作为时钟使能,而应当利用它们的沿来锁存地址,并触发得到宽脉冲信号完成使能,锁存数据。
AD7711采用自时钟方式。SCLK提供串行时钟输出;SDATA是串行数据位;/DRDY的下降沿表明数据字准备好,当传送完毕时恢复到高电平;/TFS、/RFS是发送和接收数据帧同步信号;A0是地址输入,表明是对AD7711控制寄存器操作,还是对AD7711数据或校准寄存器操作。
图2
2 通道控制器的设计
2.1 逻辑框图
这里采用CPLD器件FLEX10K50QC240来实现通道控制器的所有逻辑。其内部逻辑原理框图如图2所示。主要的功能有:①包含有若干个控制或状态寄存器,主要用来设置工作参数和对AD7711通道进行控制;②对AD7711的数字界面提供接口;③提供足够的数据缓冲能力;④具有可编程的采样时钟发生器;⑤具有内部RAM和控制读取片外串口E2PROM的能力。
当主机的PC104总线地址被驱动时,则在ALE的下降沿锁存地址。当选中板卡地址时(这里以0x280~0x28f为例),则利用/IOW的上升沿锁存数据,并根据地址译码的不同,锁存到不同的寄存器里。这里有四个控制寄存器,即通道操作寄存器(CtlReg,0x282)、板卡命令寄存器(CmdReg,0x286)、用于串口E2PROM和内部RAM的存储器操作控制寄存器(EepReg,其中包括用于控制的16位寄存器0x288和数据寄存器0x289)及参数寄存器(ParaReg,0x280)。由于通道操作寄存器是32位,主机对同一个口地址(如0x282)连续进行两个16位写操作,因此利用两个连续的/IOW写数据。通道操作寄存器低24位是写入AD7711的数据,即24位控制字或校准数据。高8位的含义如下:
R/WF1F0CHCH3CH2CH1CH0R/W:0表示写,1表示读。
F1,F0:00表示对AD7711控制寄存器操作,11表示对AD7711校准寄存器操作,01则是读取数据。
CHCH3CH3CH1CH0:1xxxx表示全通道操作,0xxxx表示某单通道操作。
因为分配给每块采集卡的I/O地址空间有限,所以利用板卡命令寄存器的低8位作为参数数据,高8位作为命令/参数类型。为了稳定可靠地锁存数据,参数寄存器的使能信号由板卡命令寄存器写造中信号延时两个野兔周期得到。参数类型是指采样速率、输出因子、中断号。板卡命令寄存器高8位提供的命令有启动(START)、停止、同步(驱动AD7711的/sync线)、复位、FIFO清零等命令。
图2中的粗线表示数据的流向。通道主控器(ChnMaster)与AD7711数字界面接口,负责产生AD7711的所有读写时序。
【一种PC104温度采集卡的设计】相关文章:
基于FPGA的前端图像采集卡的设计11-22
基于TC534的数据采集卡设计03-20
USB接口的高速数据采集卡的设计与实现03-18
基于PC104总线的故障诊断装置的设计03-18
具有USB2.0接口的高速数据采集卡设计03-18
设计住宅是设计一种生活11-22
一种MCU时钟系统的设计12-06
一种异步FIFO的设计方法03-19