基于CPLD的水下冲击波记录仪的设计
随着大规模集成电路和单片机的迅速发展,复杂可编程逻辑器件(CPLD)具有使用灵活、可靠性高、功能强大的优点,在电子产品设计中得到了广泛的应用。CPLD可实现在系统编程,重复多次,而且还兼容IEEE1149.1(JTAG)标准的测试激励端和边界扫描能力,使用CPLD器件进行开发,不仅可以提高系统的集成化程度、可靠性和可扩充性,而且大大缩短产品的设计周期。由于CPLD采用连续连接结构,易于预测延时,从而使电路仿真更加准确。CPLD是标准的大规模集成电路产品,可用于各种数字逻辑系统的设计。近年来,随着采用先进的集成工艺和大批量生产,CPLD 器件成本不断下降,集成密度、速度和性能都大幅度提高,这样一个芯片就可以实现一个复杂的数字电路系统;再加上使用方便的开发工具,给设计修改带来很大方便。本文以Xilinx公司的CoolRunner系列CPLD芯片为例,实现对水下爆炸时冲击波信号数据的记录。
2 水下冲击波记录仪的组成及工作原理
2.1 功能介绍
该水下冲击波记录仪电路主要用于测试水下爆炸时冲击波的强弱,通过专用数据处理软件它能够对采集到的冲击波信号的数据进行波形重现, 并从波形上可读出冲击波的压力峰值及其上升时间和作用时间。
2.2 体系结构组成
水下冲击波记录仪由数据记录器、接口、测试数据处理软件三部分组成。数据记录器是一个集压力传感器、瞬态波形记录器、接口、电源等于一体的微型测试装置,内置电压放大器,直流供电,输入信号经放大、高速A/D转换后实现自动数字存储。
2.3 工作原理
压力传感器的主要作用是敏感水下冲击波的强弱,其输出通过恒流源电路把冲击压力信号转换为电压信号。调理电路将信号转换到模数转换器的模拟量输入范围之后,由模数转换器对其进行采集,通过中心控制模块对转换后的数字信号的幅值进行判断并对存储器地址进行初始化、递推,数字信号即被存储。读数时计算机通过并口发出读数时钟及命令,对三路存储器进行路选、片选并将其中的数据读出。
记录仪触发方案采用负延迟内触发:当信号幅值大于或等于传感器输出满量程的10%时启动负延迟,而当信号幅值小于此值时系统处于循环采集状态,从而可以有效地防止干扰引起的误触发与不触发并准确、完整地记录整个冲击波波形。水下冲击波记录仪的原理组成框图见图1。
图1 水下冲击波记录仪工作原理图
3 CPLD的应用
在本设计中主要使用Xilinx公司开发的CoolRuner CPLD芯片完成设计。本文设计中所采用的是该系列中的XCR3256器件,可实现6000门的数字逻辑电路,内嵌256个宏单元,支持4个全局时钟,具有低功耗、可快速ISP、延时可预测等特点。我们选用XCR3256芯片实现水下冲击波记录仪主控模块,该主控模块用于对各外围器件的控制,协调各外围器件的工作。外围器件主要有电源芯片组、静态RAM存储器、晶体振荡器、A/D转换器、LED、并口等。其中晶体振荡器包括产生主时钟的12MHz晶振和产生延时计数时钟的1MHz晶振。主控模块与各外围器件的框图如图2所示。
图2 水下冲击波记录仪主控模块与各外围器件电路原理框图
3.1 灵活性强,开发周期短
图2中A/D转换器采用AD7470。它的启动转换输入端CONVST由主时钟分频得到且采样频率可编程。可编程延时电路是通过一个四路拨码开关对CPLD输入不同的电平组合实现的,通过设定CPLD数字逻辑对产生延时计数时钟的1MHz晶振计数,输入不同的电平组合从而译码产生不同的延迟时间,而更改电平组合只需对记录仪的面板操作即可。CPLD器件配以ISE开发系统可完成设计输入、编译、验证及编程,设计校验可进行完整的模拟, 最坏情况下的定时分析和功能测试。设计人员无需编程器就可重构数字系统,具有“硬件软做”的特点。
3.2 功耗低,集成度高
图2中电源管理电路中的电源芯片主要包括MAX1658、MAX1659和MAX1616,它们的共同点就是都有一个SHDN输入端,当SHDN端为低电平时,无论电压输入端输入多大电压,输出电压均为0V,而只有当SHDN端为高电平,输入端接入合适电压时,输出端才能产生相应的电压值供系统正常工作。由于装置最终工作在水下,需要电池供电,这就要求电路必须低功耗。
记录仪工作时共有5个状态:低功耗延时设置待上电状态、低功耗待触发状态、数据记录状态、数据保持状态、读出数据状态。状态的转换是在中心控制模块的控制之下完成的。系统自带了一个数据保持电源,因此不用时系统处于数据保持状态。主控模块上电以后,通过四路拨码开关设置延时时间,延时时间到了之后其它模块自动上电,处于待触发状态,准备对数据进行采集。随着触发信号的到来,系统状态被转换至数据记录状态,记录完毕后,系统进入低功耗数据保持状态等待被回收。取回装置后,读数时系统转换为读出数据状态,读数结束后系统又处于数据保持状态,等待下一次记录。这样系统每记录一次,其对应的状态就要循环一次。在系统工作的不同阶段,我们可以通过CPLD内部数字逻辑来控制各个电源芯片的SHDN输入端,让必须工作的芯片的SHDN输入端置高,不需要工作的芯片的SHDN输入端置低,从而实现了低功耗。
Xilinx器件的集成度范围可达300~250000可用门,可以很容易地集成现有逻辑功能, 无论这些逻辑是由多个离散逻辑器件、多个PLD或是FPGA组成的,还是由几个定制的器件组成的。在系统设计中,集成度提高意味着设备规模减小,元器件数量减小,而元器件数量减小就必然降低功耗,特别是嵌入式阵列块(EAB)的使用,可以把存储器集成到CPLD芯片中,特别有利于芯片上系统的设计,降低了系统的成本,设备功耗,而且能够提高系统的性能和可靠性。
3.3 低成本,高可靠性
采用CPLD器件来进行电路设计, 可以大幅度地减少印制板的面积、焊点和接插件, 降低装配和调试费用。大量的分立器件在进行印制板电装时, 往往会发生由于虚焊或接触不良而造成故障, 并且这种故障常常难以发现, 给调试和维修带来极大的困难。因此, 采用CPLD 器件后, 由于集成度提高, 元器件数量减少, 印制板数量减少, 因而分机组合减少, 降低设备的综合成本, 使得设备的可靠性大大提高。
4 设计过程
Xilinx公司的CPLD开发工具ISE,支持多种输入方式,给设计开发提供了极大的方便,因此本系统采用ISE进行设计。它可以便捷地完成设计输入、编辑、与校验工具连接,设计人员可以使用标准的EDA设计输入工具来建立逻辑设计,使用ISE编译器对XCR3256器件进行编译,其设计流程如图3。
4.1 设计输入
设计输入方式有原理图输入,硬件描述(HDL)语言输入,波形输入等多种方式。记录仪电路的各个功能块: 单向总线缓冲器的产生, A/D时钟信号、写信号及片选信号的产生,地址发生器的产生,读、写命令及数据的传输控制,对读数时钟的消抖等都是采用硬件描述语言(VHDL)来实现的,最后采用原理图输入把各个功能块连接在一起。采用语言描述的优点是效率较高, 结果也较容易仿真, 信号观察较方便。
4.2 设计处理
分别在设计文件中读取信息并产生编程文件和仿真文件及自动错误定位, 设计规则检查以及各器件划分,编译器还能实现用户指定的定时要求,例如:传播延时(tPD),时钟频率(f osc)等。
- 基于TMS320F2812的分布式温度采集记录仪的设计与实现(11-29)
- 基于DSP的分布式温度采集记录仪的设计与实现(09-17)
- 基于AVR单片机的自行车行车记录仪,包括软硬件具体方案(06-03)
- 基于车载CAN总线记录仪的大容量存储系统设计方案(12-21)
- 车载CAN总线记录仪进行大容量存储系统的设计(12-13)
- 基于LPC2104型CPU的汽车行使记录仪(10-15)