ISP技术在高速数据采集模块中的应
摘要:提出了一种基于ISP技术实现高速数据采集的方法,给出了使用VHDL语言和原理图完成数据采集模块中地址发生器和比较电路的部分逻辑设计,只要将所设计的程序下载到可编程器件ispLSI2032中即可实现预期功能。同时,ispLSI2032器件的高密度和可编程性也提高了硬件电路的集成性、可靠性及保密性。
关键词:ISP(在系统可编程);VHDL;高速采集;ispLSI2032
随着深亚微米及纳米半导体制造技术的进步,可编程逻辑器件在电路设计中的应用已十分广泛。ISP(在系统可编程)器件是先进的可编程器件,javascript:window.open(this.src);" style="cursor:pointer;"/>它的优点是不需要编程器即可直接对安装在用户目标板上的ISP器件进行编程,而且编程、调试都很方便。当产品升级换代时,只要通过软件对ISP器件重新编程即可,便可使其具有新的逻辑功能,而不需要增加硬件投入。
目前,ISP芯片内部资源越来越多,速度也越来越快,开发的软件功能也更加完善。VHDL就是随着PLD发展起来的一种硬件描述语言,是一种应用于电路设计的高层次描述语言。本文将介绍一种在高速数据采集模块中部分电路采用ISP技术进行设计的方法。
1 高速数据采集模块的实现
高速数据采集模块的系统框图如图1所示。图中的ispLSI2032是整个数据采集系统的控制核心它内部包括了地址信号产生、锁存、ADC转换数据的比较、数据存储器的读写控制以及大部分控制逻辑晶振电路产生的12MHz时钟可直接在is-pLSI2032内部进行2分频以得到6MHz的采样时钟。高速数据缓存部分由两片SRAM构成该SRAM可提供自己的地址线、数据线和控制线。两个端口可分别与ispLSI2032和单片机的P0口连接。用is-pLSI2032可递增RAM的地址同时可提供写入脉冲以将A/D转换数据写入RAM。当A/D转换的数据超出某一上下限时,系统会将地址数据写入is-pLSI2032内部的锁存器中并在其后打开锁存,同时将地址送到单片机的P0口,单片机由此地址读出RAM中相应地址的数据,并通过RS232口传送到PC机或其它外设。
图2所示是该数据采集系统的基本硬件电路图。图中的A/D转换芯片选用的是美国MAXIM公司的12位A/D转换器MAX120,它有全控制模式、独立模式、慢存储模式、ROM模式和连续转换模式5种工作模式。在此电路中,MAX120工作于连续转换模式, 由于MAX120芯片的MODE=DGND,因此,它的INT/BUSY为BUSY输出。单片机启动转换时,INT/BUSY变为低电平,同时将INT0(P3.2)置低,以使计数器的计数状态与MAX120的INT/BUSY信号一致,也就是说,每转换完一次,计数器就加以产生新的存储器地址;转换结束后,INT/BUSY转变为高电平,数据在引脚D0~D11处有效,此时WE信号为低,存储器写端口打开,并将ADC所转换的数据写入与计数器所产生地址对应的存储单元。继而INT/BUSY信号再次变低, MAX120进入下一次转换。直到采集的数据超出某一上下限,ADC模块中的比较器产生一信号使单片机外部中断,进而转入中断数据处理。其后单片机将读取存储在锁存器中的地址信号,并将其存储;同时由此地址读出存储在存储器中的超出上下限的数据。单片机定时取数时,先将INT0(P3.2)置高,此时地址产生器的累加由单片机控制(通过T0口,即P3.4)。单片机控制计数器重新计数并产生地址数据,产生的地址送到单片机P0口,并由此地址读取存储器中相应地址的数据,最后通过RS232口传送到PC或其它外设。
图2
2 ispLSI2032 的结构原理
2.1 ispLSI2032的主要结构
ispLSI2032的结构主要包括全局布线区、万能逻辑模块、输出布线区、输入总线和巨块五个部分。其中全局布线区(Global Routing Pool)位于芯片中央,它将所有片内逻辑联系在一起,其输入输出之间的延迟是恒定和可预知的。GRP在延时恒定并且可预知的前提下,提供了完善的片内互连性能。这种独特的互连性保证了芯片的高性能,从而可容易地实现各种复杂的设计。
万能逻辑模块是该器件的基本逻辑单元,它由逻辑阵列、乘积项共享阵列、输出逻辑宏单元和控制逻辑组成。当乘积项共享阵列将乘积项分配给或门后,可通过一个可编程的与/或/异或阵列输出来控制该单元中的触发器,从而使乘积项的共享更加灵活。每个输出逻辑宏单元有专用的触发器,每个触发器与其它可组态电路的连接类似GAL的OLMC,也可以被设置为组合输出或寄存器输出。片内灵活的时钟分配网络可进一步加强GLB的能力。每一个GLB的时钟信号既可选用全局同步时钟,也可选用片内生成的异步乘积项时钟。
输出布线区是介于GLB和IOC之间的可编程互连阵列,通过对该区的编程可以将任一个GLB输出灵活地送到I/O端口的某一个上,以便在不改变外部管脚排列的情况下,修改片内逻辑电路的结构。
输入输出单元(Input Output Ce