DSP和CPLD的空间瞬态光辐射信号实时探测研究
摘要:探测系统对输入的空间瞬态光辐射信号进行实时识别处理,反演估算出空间瞬态信号能量大小并报告发生时刻。采用DSP+CPLD的数字处理方案,利用DSP的高速数字信号处理特性及COLD的复杂逻辑可编程特性,可实现对瞬态信号的实时识别和处理。其中用CPLD实现A/D变速率采样,解决了嵌入式系统线路板面积有限与实时处理需要大容量存储空间的矛盾。
关键词:DSP CPLD 实时处理
我国现役空间瞬态光辐射信号探测系统中,老型号较多,大部分没有配备自动检测和录取设备。空间瞬态信号的录取、数据的处理和上报大多由人工进行,难以胜任复杂环境下快速、准确录取信号以及气象情报入网的要求。为适应现代化气象分析的要求,采用DSP+CPLD的方式将极大地提高现有空间瞬态信号探测的自动录取和分析能力。
javascript:window.open(this.src);" style="cursor:pointer;"/>
在实时信号处理技术中,DSP+CPLD方式是目前国际上比较通用的方法,如美国、俄罗斯等多采用这种方式。DSP是一种可编程的数字微处理器。与单片机相比,DSP芯片具有更适于数字信号处理的软件和硬件资源,可用于复杂的数字信号处理算法。本文采用美国TI公司的TMS320C3X系列浮点DSP芯片TMS320C32作为整个系统的主机,利用其完成系统的控制和数字信号处理功能。
CPLD是一种多用途、高密度的复杂可编程逻辑器件,可将系统的部分或全部功能集成在一块芯片上,并且具有设计方便灵活、易于修改等特点,javascript:window.open(this.src);" style="cursor:pointer;"/>可大大缩短研制时间,并减小系统硬件复杂度。本文采用美国ALTERA公司的MAX7000S系列CPLD芯片EPM7128SLC84,利用CPLD实现A/D变速率采样及其它逻辑控制。
1 系统组成及基本原理
本探测系统主要解决了嵌入式系统线路板面积有限与实时数据处理需要大量存储空间的矛盾,实现实时处理信号。
如图1所示,空间瞬态光辐射信号实时探测系统主要由三大模块组成:前级预处理电路模块、A/D变速率采样模块、DSP信号识别及存储模块。
各模块的主要功能为:
(1)前级预处理电路模块,负责空间瞬态光辐射信号的光电转换、背景扣除、动态范围压缩等任务;
(2)A/D变速率采样模块,负责触发信号产生、上升速率初判、信号采集时序控制、A/D变速率采样及FIFO缓冲存储等任务;
(3)DSP信号识别及存储模块,负责对空间瞬态信号进行快速识别处理,反演计算出能量大小,报告事件发生时刻并存储和传输数据;同时控制整个系统、并与PC机或其它系统传输数据发送。
javascript:window.open(this.src);" style="cursor:pointer;"/>
2 前级预处理电路模块
2.1光电转换
由于空间瞬态光辐射信号速度快、动态范围大,故对光辐射探测器要求较高。本文采用日本滨松公司的S2387-1010R硅光电二极管,它具备灵敏度高、动态范围大、时间响应快和覆盖范围大等特性。
2.2 背景扣除
太阳光辐射能量比空间瞬态光辐射信号能量高几个数量级。对于系统而言,由于太阳光的影响,目标信号十分微弱,大多掩埋在强噪声之中。因此必须对强背景信号进行扣除处理,提取出有用目标事件瞬态信号。
在信号自动处理和分析技术中,强背景下弱信号的提取是一个难点。本文根据背景信号变化缓慢而目标信号变化快速的特点,采用高通滤波器对信号进行背景扣除。
高通滤波器在技术实现上可以采用数字电路,也可以采用模拟电路。为简化电路、减轻后续处理电路压力,本文采用电容、电阻等构建一个模拟高通滤波器进行背景扣除,其原理如图2所示。
javascript:window.open(this.src);" style="cursor:pointer;"/>
由图2可知,滤波器的传递函数为:
H(s)=R/[(1/sC)+R]=sRC/(1+sRC)
选择适当电阻、电容值即可实现对目标信号的背景扣除。
2.3 动态范围压缩
空间瞬态光辐射信号的动态范围太大,如果直接对其进行A/D转换,则A/D的量化分辨率至少要15bit,并且因bit数多而增加后级数字信号处理的数据量、降低系统的实时性。因此采用对数放大器对信号的动态范围进行对数压缩。采用12bit的A/D转换器即可满足要求,且减少了处理的数据量,提高了系统实时性。本文采用美国TI公司的TL441M对数放大器。它是由四级30dB对数放大器级联成的单片高性能对数放大器芯片,可以得到120dB的输入电压动态范围。
javascript:window.open(this.src);" style="cursor:pointer;"/>
3 A/D变速率采样模块
3.1 阈值触发
如图3所示,经前级预处理后,目标信号进入阈值触发电路中的电压比较器。DSP设置阈值信号,锁存后经D/A转换输出到电压比较器,与输入的目标信号进行比较:若目标信号超过阈值信号,则产生触发信号并驱动时序控制电路及A/D转换电路工作;否则不工作。
3.2 CPLD控制A/D变速率采样
为了进一步减少信号处理的数据量,实现实时处理,本文采用了变速率采样的方法解决线路板面积有限与数据处理需要大容量存储空间的矛盾。
由空间瞬态光辐射信号特征可知,其初始值变化速度快,高频分量所占比重较大;而后面信号变化速度逐渐减小,越靠后信号越接近缓变信号,低频含量高。所以采用采样间隔逐渐增大的方法实现变速率采样。javascript:window.open(this.src);" style="cursor:pointer;"/>
如图4所示,初始采样频率为f,每隔M个采样点采样频率下降一半,一直到采样结束。在电路实现中采用的方法是:A/D转换器按照固定的转换速率进行模拟量到数字量的转换,而CPLD控制采样数据的变速率接收并存储至FIFO。
FIFO存储数据由其写使能控制信号WEN(低电平有效)决定:当WEN为低电平时,数据在每个写时钟信号WCLK的上升沿写入FIFO;当WEN为高电平时,数据保持不变。因此,控制FIFO变速率接收数据即控制它的写使能信号WEN为低电平的间隔变速率变化。如图5所示,在CPLD中由写时钟信号WCLK每隔M点二分频后、再调整占空比即可实现WEN的时序信号。
CPLD对FIFO变速率接收采样数据的逻辑控制,用美国ALTERA公司的软件MUX+plus II可由三种方法实现:一是用计数器、分频器等画电路图实现;二是用VHDL语言或AHDL语言编程实现;三是输入时序波形文件实现。针对本系统而言,采取第二种方法较为简便,用VHDL语言编程实现的算法流程图如图6所示。
本文中A/D转换器采用美国AD公司的AD678,它是一个12bit的多用途A/D转换器,内部包括采样保持器、微处理器接口、基准电压源和时钟驱动电路,具有高可靠性和低功耗等特性。
3.3 由CPLD进行上升速率初判
目标信号幅度值从超过阈值起始点开始的一段时间内的上升速率是判断其能量范围的重要判据。因此电路中采用CPLD对A/D采样的数据做初步判断。当目标信号上升速率满足设定要求时,产生上升速率触发信号,并与其它结果做符合判定;否则丢弃当前数据,等待下一次探测数据。
3.4 FIFO存储
FIFO(First In First Out)是一种先进先出的存储器,即先读入的数据先读出。FIFO存储器自身的访问时间一般为几十纳秒。A/D转换器等外设速度一般比DSP慢。如果采用FIFO,A/D可以先将数据送往FIFO,一旦FIFO满,FIFO再向DSP申请中断。这样可以省去DSP等待与查询的时间,而且中断次数也可以减少,从而提高传输速度。
本系统中,FIFO作为缓冲存储器给上升速率初判电路和DSP处理器提供数据,同时作为变速率采样结果的暂存单元。本文采用美国IDT公司的IDT72XXX系列同步并行FIFO实现对数据的缓存。
javascript:window.open(this.src);" style="cursor:pointer;"/>
4 DSP信号识别及存储模块
4.1 DSP处理及存储
目标信号自动识别能量范围和录取的核心是DSP信号处理模块。为了满足实时处理的要求,硬件的选取应以尽可能少的占用系统时间资源为基础。从这个基本原则出发,采用TMS320C32作为处理器。它是目前TI公司浮点DSP系列中性价比较高、在国内已得到广泛应用的芯片。它的指令周期为33/40/50ns,具有丰富的硬件资源,如内部有512字节的RAM、串行口、分开的程序总线、数据总线和DMA总线等,并且外部存储器宽度可变、有程序引导(Boot-load)功能。在软件方面,它丰富的指令系统、灵活的程序控制、流水线操作和多样的寻址方式等特点使其特别适合于数字信号处理。
DSP处理模块主要由DSP、慢速EPROM、高速SRAM、绝对时钟芯片RTC(Real-Time-Clock)及RS232串口组成,javascript:window.open(this.src);" style="cursor:pointer;"/>其运行机制如图7所示。其中,选择慢速EPROM主要是为了降低系统成本,本文采用美国ATMEL公司的AT27C010芯片。用于存储程序和初始化数据。高速SRAM用于程序执行和数据的暂存,本文采用美国ISSI公司的IS61C6416芯片,它与慢速EPROM配合,既降低了系统成本,又能使程序快速运行,实现对信号的实时处理。
如图7,一旦目标事件发生,输入信号经A/D转换后,数据缓存在FIFO中,以备DSP调用。DSP上电复位后,将存储在慢速EPROM中的程序装载到高速SRAM中运行,对暂存在FIFO中的目标信号数据进行能量范围的识别和处理;然后从绝对时钟芯片RTC取得目标事件发生的时刻值,和处理结果一起存储在SRAM中;并将信号处理结果与发生时刻值从RS232串口输出到PC机。
如图8所示,系统工作流程是:空间瞬态光辐射信号经光辐射探测器转换为电信号,经前级预处理电路放大、去噪并压缩动态范围;若信号超过阈值,则阈值触发电路触发A/D采样后暂存在FIFO中,否则不触发A/D;由上升速率初判电路初步检测信号初始值的上升速率?熏当上升速率满足设定要求时,产生上升速率触发信号,否则丢弃当前数据;上升速率触发信号产生后,DSP从FIFO中取得数据,对信号进行模式识别和处理,存储处理结果并经接口电路传送到PC机。
4.2 绝对时钟芯片RTC
所谓绝对时钟是指不仅支持每天时间的更新,而且支持日期(世纪、年、日、星期)更新的一种永久性时钟电路。本文采用美国MOTORALA公司的DS12887时钟芯片,它对年、月、日、时、分、秒、星期进行自动记录,内含114字节的RAM单元和内置晶振电路,支持多种中断方式,备用电池可供其工作10年,是目前计算机上的主流实时时钟芯片。
4.3 RS232串口
由于RS232串口电平标准采用了负逻辑,与DSP的电平标准不兼容,所以采用RS232串口收发的数据需要进行电平转换。本文采用美国MAXIM公司的MAX232芯片作为电平转换器件,它仅需+5V电源,电平转换所需的±10V电源由片内电荷泵产生。
DSP芯片自带的串口为同步串口,而RS232信号是异步信号,故需外加异步串行通信接口芯片UART(Universal Asynchronous Receiver/Transmitter)。本文采用美国TI公司的TL16C550芯片,它具有全双工、双缓冲器发送器和接收器。如图7所示,UART接收DSP发送的处理结果和发生时刻值,存入自身所带的FIFO中,再通过MAX232进行电平转换,最后从RS232串口中输出到PC机。
本系统采用DSP+CPLD模式实现对空间瞬态光辐射信号的实时处理,有效解决了线路板面积有限和实时处理需大容量存储空间的矛盾,从而使系统性价比达到最佳状态。实验表明,系统可识别一般空间瞬态信号,结果较为理想。