CPLD在高速数据采集系统中的应用
发布时间:2008/5/28 0:00:00 访问次数:521
摘要:cpld在高速数据采集系统中的应用。介绍了高速数据采集系统的整体框架,分析了其中的通用部分;altera公司推出的max7000系列产品的特点及其开发软件max+plusii;根据高速数据采集系统的需要,以vhdl语言的形式介绍了由max7000系列产品构成的地址发生器、数据总线控制器和isa总线接口,指出了在设计过程中要注意的问题。
关键词:cpld 高速数据采集系统 isa总线接口
cpld是复杂的pld,专指那些集成规模大于1000门以上的可编程逻辑器件。它由与阵列、或阵列、输入缓冲电路、输出宏单元组成,具有门电路集成度高、可配置为多种输入输出形式、多时钟驱动、内含rom或flash(部分支持在系统编程)、可加密、低电压、低功耗以及支持混合编程技术等突出特点。而且cpld的逻辑单元功能强大,一般的逻辑在单元内均可实现,因而其互连关系简单,电路的延时就是单元本身和集总总线的延时(通常在数纳秒至十数纳秒),并且可以预测。所以cpld比较适合于逻辑复杂、输入变量多但对触发器的需求量相对较少的逻辑型系统。
max7000系列产品与高速数据采集系统的要求相符,十分适合于高速设计。由max7000系列cpld设计的高速数据采集系统已经应用在电力系统某精确故障定位系统中。
1 高速数据采集系统的硬件结构
对于一般的高速数据采集系统而言,除了采用高速的a/d转换器、高速存储器等高速器件之外,还要解决如何高速寻址、如何控制总线逻辑、如何进行高速存储以及如何方便地与pc机交换数据等问题。这些问题都是设计一个高速数据采集系统所要共同面对的问题。兼顾这些共性问题,笔者设计了一套以精确故障定位为目的的高速数据采集系统。
该系统的硬件框图如图1所示。在没有故障发生的时候,输入的模拟量通过高速ad芯片ad9225(其转换速率可达到25msps,分辨率为12位)转换成数字量,然后通过cpld构成的数据总线控制器,以高4位和低8位的形式分别存储在两片横向并联的缓冲ram 628512(存储时间为70ns)中。存储地址由cpld构成的地址发生器产生,地址发生器产生的地址范围可由存储器的容量决定。地址产生器循环计数,数据循环存储。此间的运行完全不需要cpu控制,系统硬件可自动完成高速数据采集,使硬件的高速性能得到充分运用。cpu2采用ad公司的aduc812,它本身就是全集成的高性能12位数据采集系统,内部集成了1个12位的adc。当其检测到输入的模拟量发生了突变时,再经过预定的持续采集时间后,给出触发信号到数据总线控制器和地址总线控制器,由cpu2取得数据总线和地址总线控制权,然后通过双口ram2以及cpld构成的isa总线接口,将缓冲ram 628512中的数据传入pc机。再联合由gps、cpu1和双口ram1构成的精确授时系统,就可用于精确故障定位或故障录波了。
2 max7000系列cpld及其开发平台介绍
由于高速数据采集系统的特殊要求,在众多的cpld器件中,选择了altera公司的max系列器件。max系列的高性能和高密度是基于它先进的max(multiple array matrix--多重阵列矩阵)架构,因此为高速应用提供了非常高的性价比。max7000系列还提供了业界速度最快的可编程逻辑解决方案。它基于cmos eeprom工艺,传播延迟最小为3.5ns,可以实现速度高于200mhz的计数器,并且为高密度的器件提供了非常宽的选择余地,十分适合高速设计时应用。该公司的max+plusii软件是一款易于使用的开发工具,其界面友好,集成化程度高,兼容工业标准,支持flex\max\acex 1k等系列产品。并且为大学提供了学生版软件,在功能上与商业版类似,仅在可使用的芯片上受限制。由于max7000系列的这些优点,以下的设计都基于max7000系列产品。
3 cpld在高速寻址中的应用
一般的数据采集均需由cpu将a/d转换的结果读入,然后再转存到片外的存储器中,这样至少需要4个机器周期。如果按照一般一个机器周期为1μs,那么最高采样率只能达到250khz,绝难满足高速采样的需要。在本系统中,直接将采样数据存到高速缓冲ram中,而存储器寻址则采用altera公司的epm7032lc44-6构成的地址发生器来完成。写信号可采用a/d转换的时钟信号,但需经过一系列分频及逻辑组合,也可另由电路产生或放在地址发生器中。epm7032lc44-6构成地址发生器的基本原理是采用5片级联的74161组成20位的同步计数器,第20位接在高速缓冲ram的片选线上,用来切换缓冲存储器组。用cpu2的p1.7控制计数允许端,异步清零,则20位地址线输出保持同步。其具体的实现可以采用图形编辑输入或者文本编辑输入的方法。下面给出其vhdl语言程序。
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity untitle4 is
port
摘要:cpld在高速数据采集系统中的应用。介绍了高速数据采集系统的整体框架,分析了其中的通用部分;altera公司推出的max7000系列产品的特点及其开发软件max+plusii;根据高速数据采集系统的需要,以vhdl语言的形式介绍了由max7000系列产品构成的地址发生器、数据总线控制器和isa总线接口,指出了在设计过程中要注意的问题。
关键词:cpld 高速数据采集系统 isa总线接口
cpld是复杂的pld,专指那些集成规模大于1000门以上的可编程逻辑器件。它由与阵列、或阵列、输入缓冲电路、输出宏单元组成,具有门电路集成度高、可配置为多种输入输出形式、多时钟驱动、内含rom或flash(部分支持在系统编程)、可加密、低电压、低功耗以及支持混合编程技术等突出特点。而且cpld的逻辑单元功能强大,一般的逻辑在单元内均可实现,因而其互连关系简单,电路的延时就是单元本身和集总总线的延时(通常在数纳秒至十数纳秒),并且可以预测。所以cpld比较适合于逻辑复杂、输入变量多但对触发器的需求量相对较少的逻辑型系统。
max7000系列产品与高速数据采集系统的要求相符,十分适合于高速设计。由max7000系列cpld设计的高速数据采集系统已经应用在电力系统某精确故障定位系统中。
1 高速数据采集系统的硬件结构
对于一般的高速数据采集系统而言,除了采用高速的a/d转换器、高速存储器等高速器件之外,还要解决如何高速寻址、如何控制总线逻辑、如何进行高速存储以及如何方便地与pc机交换数据等问题。这些问题都是设计一个高速数据采集系统所要共同面对的问题。兼顾这些共性问题,笔者设计了一套以精确故障定位为目的的高速数据采集系统。
该系统的硬件框图如图1所示。在没有故障发生的时候,输入的模拟量通过高速ad芯片ad9225(其转换速率可达到25msps,分辨率为12位)转换成数字量,然后通过cpld构成的数据总线控制器,以高4位和低8位的形式分别存储在两片横向并联的缓冲ram 628512(存储时间为70ns)中。存储地址由cpld构成的地址发生器产生,地址发生器产生的地址范围可由存储器的容量决定。地址产生器循环计数,数据循环存储。此间的运行完全不需要cpu控制,系统硬件可自动完成高速数据采集,使硬件的高速性能得到充分运用。cpu2采用ad公司的aduc812,它本身就是全集成的高性能12位数据采集系统,内部集成了1个12位的adc。当其检测到输入的模拟量发生了突变时,再经过预定的持续采集时间后,给出触发信号到数据总线控制器和地址总线控制器,由cpu2取得数据总线和地址总线控制权,然后通过双口ram2以及cpld构成的isa总线接口,将缓冲ram 628512中的数据传入pc机。再联合由gps、cpu1和双口ram1构成的精确授时系统,就可用于精确故障定位或故障录波了。
2 max7000系列cpld及其开发平台介绍
由于高速数据采集系统的特殊要求,在众多的cpld器件中,选择了altera公司的max系列器件。max系列的高性能和高密度是基于它先进的max(multiple array matrix--多重阵列矩阵)架构,因此为高速应用提供了非常高的性价比。max7000系列还提供了业界速度最快的可编程逻辑解决方案。它基于cmos eeprom工艺,传播延迟最小为3.5ns,可以实现速度高于200mhz的计数器,并且为高密度的器件提供了非常宽的选择余地,十分适合高速设计时应用。该公司的max+plusii软件是一款易于使用的开发工具,其界面友好,集成化程度高,兼容工业标准,支持flex\max\acex 1k等系列产品。并且为大学提供了学生版软件,在功能上与商业版类似,仅在可使用的芯片上受限制。由于max7000系列的这些优点,以下的设计都基于max7000系列产品。
3 cpld在高速寻址中的应用
一般的数据采集均需由cpu将a/d转换的结果读入,然后再转存到片外的存储器中,这样至少需要4个机器周期。如果按照一般一个机器周期为1μs,那么最高采样率只能达到250khz,绝难满足高速采样的需要。在本系统中,直接将采样数据存到高速缓冲ram中,而存储器寻址则采用altera公司的epm7032lc44-6构成的地址发生器来完成。写信号可采用a/d转换的时钟信号,但需经过一系列分频及逻辑组合,也可另由电路产生或放在地址发生器中。epm7032lc44-6构成地址发生器的基本原理是采用5片级联的74161组成20位的同步计数器,第20位接在高速缓冲ram的片选线上,用来切换缓冲存储器组。用cpu2的p1.7控制计数允许端,异步清零,则20位地址线输出保持同步。其具体的实现可以采用图形编辑输入或者文本编辑输入的方法。下面给出其vhdl语言程序。
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity untitle4 is
port
上一篇:基于EIP的配电自动化解决方案