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言语程序。
其仿真成果如图2所示。
4 CPLD构成数据总线操控器
在这个高速数据收集体系中,为了进步数据传输和寻址的速度,在正常采样期间,其数据总线和地址总线并不需求CPU操控,数据存储是由体系硬件主动完结的。但当CPU2监测到输入模拟量的骤变时,再经过预订的一段持续采样时刻后,就会宣布操控信息给地址发生器和数据总线操控器,中止持续存储采样数据和主动发生地址,而由CPU2获得总线的操控权,对处在高速缓冲RAM中的毛病前后数据进行操作。为防止总线抵触,就需求一块数据总线的操控器处理好体系总线和部分总线的联系。
EPM7064能够很好地处理这个问题。在EPM7064的内部,用三态门将CPU2的读写操控线、8根数据总线以及AD9225的12根数据线及一根溢出线与操控高速缓冲RAM的读写操控线和数据线阻隔开来,由CPU2的P1.7作为CPU2或高速A/D操控总线的操控信号线,这样就能方便地完结缓冲RAM数据线拜访操控权的切换。考虑篇幅,不再详细给出完结程序。地址总线操控逻辑完结办法相似,不再介绍。
5 CPLD构成的ISA总线接口
在PC系列机中,I/O空间是独立的,共有1KB(地址编号为000H~3FFH)。由于I/O接口一部分散布在主机母板上,另一部分散布在扩展槽上,所以I/O的1024个口地址也分红两个部分,其间前512个由母板上的接口操控器运用,后512个供扩展槽内的接口操控卡运用。并且由于后512个地址中的一部分现已被装备成体系资源的接口,所以真实能被用户规划开发的I/O端口为数不多,并且不接连。这样就不能选用惯例的用PC机供给的地址总线来寻址双口RAM的办法,由于这种办法只能寻址其间为数不多并且不接连的一些单元。所以这是一个难点。为此,选用用PC机的数据线来寻址双口RAM的办法,只需占用三个I/O端口,就能寻址整个4K的RAM区。
ISA总线接口电路逻辑框图如图3所示。
选用了ISA插槽中的8位数据线、10位地址线、读写操控线IOW和IOR以及电源线,并假定运用390H、391H、392H三个端口。当PC机要拜访某一地址单元时,首要经过390H端口将低8位地址送到数据总线上。此刻由PC-AB送出的390H信号和IOW信号经解码电路输出一个锁存脉冲到锁存器(L),将此低8位地址锁存;然后经过391H端口将高4位地址送到数据总线上,此刻由PC-AB送出的391H信号和IOW信号经解码电路输出一个锁存脉冲到锁存器(H),将此高4位地址锁存;最终经过392H端口进行读写,只需PC-AB上呈现392H信号,解码电路就输出一个低电平到双口RAM的/CS,再依据相应的读写操控信号就能进行读写操作。
用ALTERA公司的EPM7064SLC84-5完结这一接口的VHDL文件如下:
仿真成果表明此电路规划彻底能够完结上述功用。PC机运用端口392H读取双口RAM中的数据时的仿真图如图4所示。
CPLD是现代电子工程范畴的一门新技术,它供给了依据计算机和信息技术的电路体系规划办法,进步了规划电路的集成度和可靠性。笔者在将ALTERA公司推出的MAX7000系列产品运用于高速数据收集方面做了测验,详细运用EPM7032和EPM7064规划了地址发生器、数据总线操控器和ISA总线的接口,现在现已将其运用在电力体系某准确毛病定位体系中。