华清远见--嵌入式培训专家:交流网:“黑色经典”系列之《DSP嵌入式系统开发典型案例》第2章高速数据采集系统设计数据采集即利用计算机获取信息,通过数据采集过程,真实世界的信息变成计算机可以识别的二进制代码,并可供计算机存储和进一步处理,或者通过网络传输。数据采集卡就是实现数据采集过程的工具,对于计算机来说,就好比是人的眼、鼻、舌一样。外界的信息一般是模拟信号,计算机是用数字信号,数据采集系统通过模拟数字转换(即AD)芯片来完成这一任务,这一过程称为采样。如果每秒钟采样速率少于50幅图像,那么我们看到的电影或电视画面,就会是不连续的,采样过程也有同样的问题,对于视频、多媒体信息来说,每秒钟的采样的次数必须要足够高,才可以真实反映这些信息。信息越丰富,采样的次数就要求越高,这实际上就是信息论中著名的奈奎斯特采样定理。因此,对于信息越来越丰富的社会来说,采样的速度要求越来越高。从收音机、黑白电视机、彩色电视机到交互式多媒体终端,数字化所需要的数据采样速度呈爆炸式增长。采样的速度快必然要求后面处理过程也要加快,采用高速的数字信号处理(DSP)专用芯片,组成高速数据采集系统甚至是超高速数据采集系统成为很多领域计算机获取信息的标准外部设备。华清远见--嵌入式培训专家:交流网:高速数据采集概述高速数据采集系统具有极强的通用性,可广泛应用于军事、工业生产、科学研究和日常生活中。就像其他计算机技术一样,随着数字化生活的到来,高速数据采集系统在日常生活中的应用越来越显著。智能化建筑中各种信息,包括温度、湿度、声音、视频等各种信号都必须通过高速数据采集系统才能进入系统计算机,供智能建筑其他系统进一步处理。对于每个家庭来说,各种家用电器的智能化数字化的第一步,也是通过高速数据采集系统将外界的信息数字化。特别是对于家庭录像来说,需要同时记录视频和音频,可能还有文字等其他信息,这时需要的采样速度是非常高的,这对高速数据采集系统的性能要求极为显著。高性能的高速数据采集卡一般来说相当昂贵,这主要是由于高速电子器件成本和制作工艺,以及高密集的技术含量造成的,不过随着社会的市场需求和技术的进步,高速数据采集卡的价格不会阻碍其在日常生活中的广泛应用。典型基于DSP的数据采集系统一般包括:AD模数转换芯片、DA数模转换芯片、SDRAM动态数据存储元件、Flash静态数据存储元件、HPI主机接口、USB接口、PCI接口等。典型的数字信号处理过程如图2.1所示。DSP保护电路RAM通信口USBPCI计算机HPIEPROM显示输出键盘输入DA信号放大电路滤波电路AD图2.1典型的DSP应用系统图2.1是一个典型的DSP应用系统。输入信号可以是各种形式,它可以是语音信号、调制后的电话信号、编码的数字信号、压缩的图像信号,也可以是各种传感器输出的信号。如果输入信号的幅度较小或者过大,一般都需要经过放大器华清远见--嵌入式培训专家:交流网:单元将输入信号幅度放大或者缩小后,送到AD进行模数转换;如果输入信号带有较大的噪声,一般需要经过一个硬件的模拟滤波单元,将信号滤波整形后,送到AD进行模数转换。AD能将模拟信号变换成数字信号,但必须满足香农采样定理,也就是为了保证不丢失信息的所有信息,采样频率必须高于输入信号最高频率的2倍。AD变换后得到的数字信号输入到DSP芯片,再由DSP芯片对该数字信号进行各种数字信号算法的处理。AD完成数据采集的功能,在DSP系统中处于首要的地位,DSP对AD的控制是大部分DSP系统的重要组成部分。第2章和第3章分别介绍高速和中速两种数据采集系统的研制。目前在模拟信号到数字信号的转换过程中,模拟信号一般分为射频、中频和低频等3种频率段的信号。射频信号一般经过模拟下变频,将信号的中心频率下移到中频段或者低频段,在满足带通采样定理情况下,使用AD进行数字转换。由于有模拟下变频技术,使得数据采集仅仅受限于信号的带宽,而不受限于信号的最高频率。通常认为如果数字逻辑电路的频率超过50MHz,而且工作在这个频率之上的电路已经占到了整个电子系统一定的份量(比如说1/3),就称为高速电路。相应的,对于并行采样系统,如果采样频率达到50MHz,并行8bit以上;对于串行采样系统,如果采样频率达到200MHz,一般将这种采样系统称为高速数据采集。目前高速数据采集使用较多的采样频率一般在50M~100MHz之间。TI公司的TMS320C6000系列DSP由于具有较高的运行速度和总线速度,成为高速数据采集中广泛使用的数据处理芯片,TI公司也相应的配套一些高速的模数转换芯片。本章以TI公司的TMS320C6203B和高速AD转换器ADS5422为例,介绍高速数据采集系统的设计以及软硬件调试方法。2.2案例要求和应用对象案例要求:实现对信号频率在30MHz以下的模拟信号的采样,并分析信号的频谱,将频谱结果通过USB接口传送到计算机保存和显示。分析案例要求,本案例的关键点如下。(1)模拟到数字信号的转换速度达到高速。(2)USB传输的时间必须尽量短,从而减少在处理器和计算机通信之间的时间开销。(3)高速转换后,采样数据很大,处理器处理数据的速度必须跟上AD的速度。对于关键点(1),本案例中的模拟信号最高频率为30MHz,AD的转换速度受限于采样定理,必须达到60MHz以上,本案例选择ADS5422高速模数转换器。华清远见--嵌入式培训专家:交流网:对于关键点(2),尽量减少处理器和计算机通信之间的时间开销,使用较快的USB2.0协议的控制权,优化USB传输方案,争取实现较快的传输速度。本案例选择CY7C68013型号的USB控制权。对于关键点(3),处理器如何处理庞大的采样数据(每秒60M个数据)。首先确定使用DSP进行核心处理器,并且不再使用其他的辅助处理器(例如FPGA等)。有两种方法确保跟上AD的转换速度,简化数据处理算法或者丢弃部分数据。第一种方法,简化数据处理算法。采用较高处理速度的C64系列DSP(其最高处理速度为1000MHz),如果处理每个数据,平均到每个数据的指令周期为1000M/60M,不到17条指令。这里假设所有的指令都是单指令周期,这在实际中是不可能实现。17条指令就连一个简单数字滤波器也很难完成。第二种方法,丢弃部分数据。由于本案例只要求分析信号的频谱,并不需要对每个数据进行处理,只需要定时地对数据进行处理,将频谱分析结果上报计算机就可以。定时的时间可以根据具体的项目进行设置。这样,DSP每次处理一批数据,在处理数据的时间内,停止对数据的采样,DSP处理完该批数据后,然后启动AD,开始下一批数据的采样。丢弃部分数据的方法对于信号的频谱分析、载波分析、故障检测等非连续数据的场合是可行的方法,对于数字通信、文件传输等对误码率要求较高的无线传输场合不可行。系统的基本框图由AD、FIFO、DSP以及USB接口组成,其框图如图2.2所示。图2.2硬件结构框图系统由AD转换器、数据存储单元(FIFO)、DSP和USB接口电路,以及相应的电源转换电路、Flash程序保存单元等组成。下面将详细介绍这些单元华清远见--嵌入式培训专家:交流网:的设计。2.3器件的选择2.3.1AD转换器的选择AD转换器的主要指标如下。(1)分辨率(Resolution)。指数字量变化一个最小量时模拟信号的变化量,定义为满刻度与2n的比值。分辨率又称精度,通常以数字信号的位数来表示。(2)转换速率(ConversionRate)。是指完成一次从模拟转换到数字的AD转换所需的时间的倒数。积分型AD的转换时间是毫秒级属低速AD,逐次比较型AD是微秒级属中速AD,全并行/串并行型AD可达到纳秒级。采样时间则是另外一个概念,是指两次转换的间隔。为了保证转换的正确完成,采样速率(SampleRate)必须小于或等于转换速率。因此习惯上将转换速率在数值上等同于采样速率也是可以接受的。常用单位是Ksps和Msps,表示每秒采样千/百万次(Kilo/MillionSamplesPerSecond)。(3)量化误差(QuantizingError)。由于AD的有限分辨率而引起的误差,即有限分辨率AD的阶梯状转移特性曲线与无限分辨率AD(理想AD)的转移特性曲线(直线)之间的最大偏差。通常是1个或半个最小数字量的模拟变化量,表示为1LSB、1/2LSB。(4)偏移误差(OffsetError)。输入信号为零时输出信号不为零的值,可外接电位器调至最小。(5)满刻度误差(FullScaleError)。满刻度输出时对应的输入信号与理想输入信号值之差。(6)线性度(Linearity)。实际转换器的转移函数与理想直线的最大偏移,不包括以上3种误差。AD的其他指标还有绝对精度(AbsoluteAccuracy)、相对精度(RelativeAccuracy)、微分非线性、单调性和无错码、总谐波失真(THD,TotalHarmonicDistotortion)和积分非线性等。对于AD转换器,选取的标准主要决定于采样频率和位数,以及价格、供货周期、应用情况等其他因数。生产高速AD的主要厂家有AD公司、Maxim公司以及TI公司(也就是BB公司)。这三家公司在高速AD上的产品种类不是很多,根据对各种AD芯片的查阅,选择TI公司的AD转换芯片ADS5422。ADS5422是14bit的最高采样频率可达62Msps的高速AD转换芯片,采用单一5V电源供电,在采样频率为10M时其最大动态范围为82dB,最高信噪比达到72dB,其数字量输出可以直接和5V或者3.3V的CMOS芯片连接,模拟量输入的峰峰值为4V,可以直接输入0.5~4.5V的模拟量,封装形式为华清远见--嵌入式培训专家:交流网:脚的扁平四方封装,目前TI的官方报价为29美元/片(一次购买千片以上的单价)。国内也有该芯片出售,国内价格在300元左右。14bit的AD转换适应信号的范围为10lg(214)dB=42dB,基本上可以适应各种应用场合。ADS5422的采样频率的大小由其输入时钟决定,输入时钟的范围可以在16ns~1μs,输入时钟为16ns时对应采样频率为62MHz,AD可以接受3V或者5V的TTL或者CMOS电平。DSP可以提供该时钟信号,并且可以软件设置输入时钟的各种特征量,包括时钟频率、高电平宽度等,基本上可以满足AD5422对时钟信号的要求。这里确定AD的实际采样频率为60MHz。这样,一秒钟内采样的数据量为50M个,由于DSP系统无法及时处理这些数据,在数据处理之前,必须将这些数据保存起来,使用FIFO保存1M个数据,也就是20ms内的采样数据,1M个数据采集结束开始信号处理。由于高速AD采样导致信号不稳定,甚至出现错误。将设计多层板,加强布线的合理性,从电路板上尽可能去除干扰;其次提高算法的效率,节省计算时间。和ADS5422功能接近的其他型号的AD还有AD公司的AD9244。和ADS5422相比,两者数据位数都是14bit,在信噪比上两者相近,时钟输入和操作方法相近,电源都是5V,输出数字信号都可以和3.3V的芯片兼容;其主要优点是功耗是ADS5422的一半,500mW;其主要缺点是输入模拟电压峰峰值为ADS5422的一半,只有2V。AD公司其他的高速AD芯片还有AD6644,为其早期产品,操作方法和ADS5422、AD9244不一样,AD6644功耗达到1.3W。和AD9244相比,没有什么优点,AD9244是其替代产品。高速AD的另外一个厂家Maxim公司也有一批高速AD产