引 言
ADSP-BF531处理器是ADI公司Blackfin系列产品的成员,专为满足当今嵌入式音频、视频和通信应用的计算要求和低功耗条件而设计的新型16位嵌入式处理器。它基于由ADI和Intel公司联合开发的微信号架构(Micro Signal Architecture,MSA),将一个32位RISC型指令集和双16位乘法累加(MAC)信号处理功能与通用型微控制器所具有的易用性组合在一起。ADSP-BF531处理器具有以下主要特点:最大频率为600 MHz,1200 MMACs;每一个内核中带有2个16位的乘法器,2个40位的累加器,2个40位的逻辑运算单元,4个位的视频运算单元和1个40位的移位器,在一个指令周期内可完成2个16位数的乘法,2个40位数的算术逻辑运算,4个位的视频数据算术逻辑运算,1个40位的移位运算;低功耗采用1.12 V的内核电压和3.3 V的I/O电压,片内集成调压器,并且具备动态电源管理;高达148 KB的片内存储器;丰富的外设接口,支持与SDRAM,SRAM,FLASH和ROM的无缝连接;片上JTAG仿真接口。
提出一种基于ADSP-BF531为核心,集DDS和A/D采样芯片于一体的气体浓度检测系统。该系统针对结构性微气体传感器,充分利用了DDS信号源频率、相位稳定可控的特点和DSP芯片强大的控制能力和高速的数据处理能力,具有硬件简单,成本低,可靠性高,通用性好等优点。
1 自相关检测原理
设被测信号x(k)由有用信号s(k)和噪声u(k)组成:
x(k)=s(k)+u(k)
x(k)的自相关函数为:
式中:Rs(m)为s(k)的自相关函数;Rsu(m)为s(k)与u(k)的互相关函数;Rus(m)为u(k)与s(k)的互相关函数;Ru(m)为u(k)的自相关函数。由于在电路系统中主要为白噪声,有Rsu(m)=Rus(m)=0,随着m的增大,
根据维纳一辛钦定理,功率信号的自相关函数与其功率谱密度函数具有傅里叶变换关系,所以可以用FFT计算自相关函数。但是,实际采样值只有N+1点,所以求出的Rx(m)只能是自相关函数的估计值。当用FFT计算自相关函数时,x(k)必须补N个零,使长度变成2N+1,因此功率谱密度为:
对上式进行IFFT就可以得到Rs(m)。
2 系统硬件设计
气体浓度检测系统硬件框图如图1所示。主要包括传感器激励信号的发生、传感器位置的选取,信号采集以及外部存储器的设计四个部分。其核心是ADSP-BF531芯片,它负责整个系统事务协调以及算法功能实现。系统工作过程中,DSP芯片通过设定 SPI控制器,控制DDS芯片AD9850产生一个特定的稳幅的超声频的正弦信号。这个信号通过放大器和多路开关后,施加在指定的传感器驱动电极上,并驱动传感器发生同频振动。传感器输出信号经由前置放大器放大到适当的程度,再经过高精度的A/D芯片AD9235采样后将转换结果送到DSP进行相关运算,计算出振动幅度。
2.2 DSP与A119235的接口设计
ADSP-BF531处理器提供可直接与并行A/D和D/A转换器、ITU R601/656视频编码和解码器以及其他通用外设连接的并行接口(PPI)。PPI包括一个专用时钟引脚,多达3个帧同步引脚和多达16个数据引脚。输入时钟支持系统时钟一半的并行数据传输率。PPI采用DMA方式,可以直接把数据存放在SDRAM或者送到内核进行处理。它能与12 b A/D采样芯片AD9235完全兼容,电路接口简单,A/D芯片和PPI采用同一时钟来同步数据。同时AD9235的数据溢出位作为数据最高位接到 PPI,在计算过程中,可以通过判断该位对坏数据进行剔出,其电路接口如图3所示。
3 系统软件设计
气体浓度检测系统软件设计包括DSP初始化程序、中断向量表、应用程序(包括响应外部中断程序)、数据后处理程序。检测系统启动时首先运行内部ROM固化的Boot-Loader程序,将存储在FLASH中的程序代码加载到DSP内部RAM 中。程序首先是初始化系统,通过配置DSP内部寄存器,确定DSP具体的工作状态,然后是中断响应程序以及数据后处理程序。系统程序框图如图4所示,自相关运算在中断子程序中完成,为方便移植所有程序都采用结构化C语言完成。本检测系统在工作过程中,对每一频点采样4 092点,将每个频点采样值进行自相关运算,恢复出微弱信号,并计算该频率传感器响应幅度。前面已经证明在DSP内进行自相关运算可以用FFT来实现。
FFT算法中的倒序可以由DSP变址方便实现,整个推导过程由三重循环构成,外层的循环控制有M级的顺次运算(M=log2N),内层的两个循环一起控制同一级中各个碟型运算单元,最内层的一个循环控制为同一类型的碟型运算。本程序采用基-2时间碟型运算,碟型运算的计算关系为:
这里的X(M-1)(k)和X(M-1)(j)分别表示第M-1级中上节点和下节点的值,XM(k)和XM(j)分别为第M级中上节点和下节点的值,k是j的对偶节点,依据上述公式可以实现序列的同址运算。
4 结 语
实验证明,基于微气体传感器的气体浓度检测系统能有效地检测出传感器的微弱信号。系统以 Black-fin531为核心,结合DDS技术和自相关检测方法,硬件设计简单可靠,程序采用结构化的C语言,通用性和移植性好,易于DSP实现。系统很好地满足了气体浓度检测的需要,测量精度高,算法简单,可以用于氢气等多种气体的检测。