基于DSP的多通道数据采集系统的设计与实现

更新时间:2023-05-30 09:31:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

基于DSP的多通道数据采集系统的设计与实现

您的论文得到两院院士关注

文章编号:1008-0570(2007)11-2-0185-03

DSP开发与应用

基于DSP的多通道数据采集系统的设计与实现

TheDSP-BasedDesignAndImplementationOfTheMulti-channelDataAcquisitionSystem

(重庆大学)王洪梅

WANGHONGMEI

摘要:本文介绍了一种基于DSP的多路数据采集卡的设计和实现方案,从系统的硬件和软件设计两个方面详细阐述了总体方案及其原理,并针对DSP的同步串行接口,研究了其串口扩展方案,实现了DSP与PC机间的串行通信。该方案具有很高的工程应用价值。关键词:数据采集;DSP

中图分类号:TP2731文献标识码:B

Abstract:TheDSP-baseddesignandimplementationofthemulti-channeldataacquisitionsystemisintroducedinthepaper.Thepa-perexpatiatesoncollectivityschemefromthehardwareandsoftwaredesign,andstudiestheextensionschemeforthesynchronousse-rialportoftheDSP.TheserialcommunicationbetweenDSPandPCisrealized.Theschemehashighengineeringapplicationvalue.Keywords:dataacquisition,DSP

引言

现代工业生产和科学研究对数据采集的要求日益提高,在瞬态信号测量、图像处理等一些高速、高精度的测量中,信号的幅值和频率变化的速度是非常快的,如何将这些高速变化的模拟信号采集到计算机里进行处理便是一个需要解决的实际问题。将DSP技术应用于高速数据采集,可以对远程采集到的数据进行实时处理,能够使采集的大量信号高速可靠地传递至主控计算机以作进一步的分析处理。

在上述应用背景下,本文设计了一种使用TMS320VC5410A作为处理器,用高速A/D转换芯片进行数据采集与处理,使用RS-232接口进行数据通信的远程数据采集卡。

如图1所示,整个采集系统由A/D转换电路、DSP处理部分、串口传输部分等组成。由于数据采集卡工作在恶劣的环境中,因此要求硬件电路在保证完成尽可能多工作的同时,使用尽可能少的器件,以保证采集板能够长时间稳定工作。

2系统硬件实现

2.1主处理器简介

随着数字信号处理器(DSP)性能的提高和价格的下降,它在电子工业领域得到了越来越广泛的应用。本数据采集卡的核心处理器选用的是TMS320VC5410A。TMS320VC5410A(以下简称5410A)是德州仪器公司(TI)推出的属于TMS320VC54X系列的高性能而专门16位定点数字信号处理芯片,是为实现低功耗、

设计的定点DSP芯片,主要应用在通信、数据采集等系统中。该芯片采用CMOS制造工艺,属于第七代DSP产品,它的工作频率可以根据需要进行调整。5410A的运行速度可达160MIPS,它的内部有64Kx16bit的DARAM以及16Kx16bit的ROM,丰富的资源配置为系统设计提供了极大的便利。该芯片支持单指令循环和块循环,支持32位长操作数指令,支持两个或三个操作数读指令,支持并行存储和并行装入的指令,支持条件存储指令及中断快速返回指令。它的存储块移动指令提供了更好的程序和数据管理。它的片内外设包括软件可编程等待状态发生器,连接内部振荡器或外部时钟源的锁相环(PLL)发生器,一个

技术创新

1系统方案设计

作为一个使用DSP芯片作为处理器的远程数据采集系统,不但要完成数据的采集工作,而且还要能够对数据进行实时处理,然后将数据传递至PC主机端。此远程数据采集系统需要完成的基本功能是:自动完成多路模拟信号的采集工作,将信号放大,滤波处理后数字化,经过短暂存储及初步处理,将数字化信号分组,传递至计算机,供分析软件进行数据分析。

16bit定时器,六通道直接存储访问(DMA)控制器,三个多通道缓

该芯片的各冲串口(McBSPs)和一个8bit增强型主机接口(HPI8)。

种性能指标完全能够满足本系统的要求。

由于5410A芯片内部本身不带FLASH程序存储器,因此,

在采集板上要使用FLASH存储器来保存程序,本设计使用的芯片是SST39VF400A。5410ADSP芯片内带16K字节的RAM,其中一部分用来运行程序,另外一部分可以用来存储临时数据,片内的RAM存储器不能满足数据存储容量的要求,因此在采集板上还要扩充一部分SRAM。本采集卡上使用的SRAM芯片为

图1采集系统硬件框图

王洪梅:在读研究生

基金项目:重庆市科委自然科学基金(20050207)PLC技术应用200例》

CY7C1020。

:360元/年-

185-

基于DSP的多通道数据采集系统的设计与实现

DSP开发与应用

中文核心期刊《微计算机信息》(嵌入式与SOC)2007年第23卷第11-2期

2.2A/D芯片及FPGA控制电路

A/D转换电路使用MAX1184模数转换芯片。MAX1184是一款+3V、双10位模数转换器(ADC),适合于那些低功耗、高动态性能的应用。本系统使用两片MAX1184来完成对4路模拟信号的模数变换。MAX1184的控制和时钟信号由FPGA提供。

由于多通道高速数据采集会产生巨大的数据流,一个4通道20MHz采样率16位精度数据采集板并行采样0.1S将产生16MB的数据量,而且还需要较多的片选信号,模块测试所占用的I/O口资源也比较多,用一般的芯片较难实现,而用FPGA则不但可

以较好地实现其功能,而且还可提高设计能力和设计效率。

技术创新

FPGA选用ALTERA公司生产的EP1K50,它的逻辑门数为

每个EAB实际上是4K的5万门,内含10个EAB(嵌入阵列块)。

双口RAM等。本系统应用EAB构成RAM,可以用来构造FIFO、

了四个256×16BIT的FIFO,因而可将四路A/D转换结果分别送入四个FIFO,然后在FPGA的输出端将四个FIFO中的数据交替地送给DSP,每个FIFO每次读出128个采样数据。A/D转换器的输出为10位数据,而FPGA的片内FIFO的数据字宽为16位。在存储、传送时,将高6位补0即可。四路A/D采样速度都为20MHz,这个速度对于EP1K50都是完全可以达到的。另外DSP芯片将A/D转换器、FIFO、RAM、FLASH等器件都作为统一的外设,对每一外设进行地址编码。通过FPGA将DSP的外

设操作信号转换为对具体芯片的控制信号,这样在程序的效率以及整体电路工作的协调性上都有了很大的提高。除了构造

FIFO以实现数据通道复用外,FPGA还可以作为协处理器由板上DSP控制来进行一些简单高效的数据预处理(如插值、取平均、FIR滤波等)。同时可使用EDA工具QUARTUS5.0来对EP1K50的逻辑算法进行设计、编译并仿真,然后下载到EP1K50中实现预定功能。

2.3DSP的异步串口扩展

综合考虑硬件连接和软件编程的方便性,DSP与PC机的数据接口采用RS-232串口。与其他类型的接口相比,串行接口

的最大特点是减少了器件引脚数目,降低了接口设计复杂性。串行数据传输可分为同步和异步两种模式。通用PC机的RS-

为了232接口为通用异步接口,而DSP芯片提供的是同步串口。利用DSP的McBSP同步串行接口,在扩展适当硬件的情况下,

将同步数据变换为UART异步数据格式进行传输。这样可以充分利用DSP的片上资源,从而使硬件系统尽量简单化。本系统应用美国MAXIM公司的MAX3111串行异步收发器,与DSP的McBSP口直接连接。硬件上无需任何其它外围器件,同时由于异步数据的发送和接收由MAX3111以硬件方式实现,所以软件编程需要考虑的也只是DSP与MAX3111之间的同步数据通信。这样,用最简单的硬件连接和软件编程就能实现同步到异步的串行数据格式转换。

MAX3111通用异步收发器是MAXIM公司专门为小型微处理系统进行最优化设计的UART。它包括一个振荡器和一个可编程波特率发生器;具有一个可屏蔽的中断源;另具有一个8字节的接收FIFO(先入先出)缓冲器。它应用SPI/MICROWIRE

接口技术直接与主控制器进行通信,线路简单、体积小,通信速率可达230KBITS/S。另外其内部除具有UART之外,还包括两个RS-232电平转换器,这样无需再接入普通的MAX232进行电平转换,即可应用一个芯片实现微控器(具有SPI/MI-CROWIRE接口)与PC机或其它设备之间的异步数据传输。

数据传输部分主要包括以下几部分:

(1)McBSP串口初始化

在本设计中应将5410A的McBSP串行口配置为SPI模式,以DSP作为主设备。

(2)MAX3111工作模式及波特率设置

在进行通信之前,DSP必须首先根据命令序列格式向MAX3111写入配置命令

字,之后才能进行正确的数据传输,如8位数据位、一位停

使能接收和发送中断的止位、无奇偶校验位、波特率为115200、

异步数据传输。示例程序如下:

McBSP0_initializing:stm#0,spsa0

stm#0001100000000000b,spsd0;dlb=0,rjust=00,clkstp=11,dxena=0,rintm=00

stm#1,spsa0

stm#0000000100000000b,spsd0;free=0,soft=1,xintm=00stm#2,spsa0

stm#0000000001000000b,spsd0;1word/frameand16bits/wordforreceive

stm#3,spsa0

stm#0000000001000001b,spsd0;rcompand=00,rfig=0,rdatd-ly=01

stm#4,spsa0

stm#0000000001000000b,spsd0;1word/frameand16bits/wordfortransmit

stm#5,spsa0

stm#0000000001000001b,spsd0;xcompand=00,xfig=0,xdatd-ly=01

stm#6,spsa0

stm#0000000000011101b,spsd0;fwidisignored,clkgdv=11101b=29

stm#7,spsa0

stm#0010000000000000b,spsd0;clksm=1,fsgm=0,fperisig-nored

stm#0eh,spsa0

stm#0000111100001101b,spsd0;fsxm=1,clkxm=1,fsxp=1,clkxp=0,clkrp=1

(3)中断服务程序

在进行中断方式数据传输时,需要注意的是:虽然DSP的McBSP有自身的发送和接收中断,但由于McBSP与MAX3111之间的同步串行数据传输速率高于MAX3111将数据以一定波特率(最高230KBPS)异步发送的速率,因此如果应用McBSP的发送中断,将造成发送数据的丢失。同时,在SPI协议中,数据的传输是由SPI主设备发起的,所以在SPI方式下的McBSP并不能产生接收中断。因此,应用的关键之一是将MAX3111的IRQ中断信号连接至DSP的一外部中断,以实现中断方式下可靠、

正确的数据传输。

通过简单的硬件电路将同步接口转换为异步串行接口,充分利用了DSP的在片硬件资源,很好地解决了DSP的异步串口扩展问题。

3系统软件的设计

数据采集卡的实时系统控制软件采用模块化的设计方法,包括:DSP初始化模块、采样控制、DSP数据处理部分以及DSP

现场总线技术应用200例》

-360/:

基于DSP的多通道数据采集系统的设计与实现

您的论文得到两院院士关注发送数据至上位机部分。

固化在采集板上的DSP处理程序的程序主流程图如图2所示。

DSP开发与应用

[1]TMS320C54DSPCPUAndPeripheralsReferenceSet.TexasInstrument,Vol1,April,2001

[2]MAXIM2001NewReleaseDataBook.MAXIM,2001

[3]沈兰荪.高速数据采集系统的原理与应用[M].北京:人民邮电出版社,1995.

[4]王文武.基于FPGA和DSP的并行数据采集系统的设计[J]微计算机信息,2004,20(11);68-69.

[5]杨志方.基于FPGA的多路高速数据采集系统的实现[J].武汉化工学院学报,2006,28(3);58-61.作者简介:王洪梅(1977年~),女,四川泸县人,1999年毕业于西

安通信学院,现为重庆大学通信工程学院在读研究生。主要研究方向为:信号与信息处理。

Biography:WangHongmei,femail,wasbornin1977,Luxian,Sichuan.GraduatedfromXianCollegeofCommunicationsin1999.Nowisreadingthegraduatestudentatthecollegeofcom-municationsengineering,ChongQingUniversity.Themainresearchdirectionissignalandinformationprocessing.(400030重庆重庆大学通信工程学院)王洪梅

通讯地址:(400030重庆重庆大学通信工程学院主教2310室)王洪梅

(收稿日期:2007.9.23)(修稿日期:2007.10.15)

图2程序主流程图

采集卡启动DSP芯片首先通过BOOTLOADER程序将存储在FLASH中的程序代码转移到RAM中,高速运行程序。程序首先进行初始化,然后由DSP本身完成对数据的自动采集,计算机并不参与采集的具体过程。采集后的数据暂时存储在

(上接第196页)

李铁才,唐降龙,佟喜峰.指纹识别系统的设计与实现[2]谢健阳,

[J]微计算机信息,2006,8:156-157

[3]TexasInstruments.TMS320C54xOptimizingCCompilerUser’sGuide[R].1998

[4]张雄伟,曹铁勇.DSP芯片的原理与开发应用[M].北京:电子工业出版社,2000

作者简介:苑玮琦(1960-),男,汉族,博士,教授,博士生导师,主要从事应用计算机视觉研究。张永辉(1981-),男,汉族,沈阳工业大学,硕士生,检测技术与自动化装置专业,研究方向为机器视觉。

技术创新

FPGA芯片内部的FIFO中,当采集到一定数量的一组数据,由DSP芯片对数据根据需要进行处理。例如,对信号进行互相关、

自相关、压缩算法等分析计算。这样经过处理后的数据量大大减少,再上传给主机以减轻了传输压力和主机处理负担,从而避免了数据通讯瓶颈。经过处理获得的数据,DSP芯片将其按照处理数据。DSP程序使RS-232协议送至PC机,以进一步分析、

用与其配套的集成可视化开发环境CCS(CodeComposerStidio)进行开发,编程语言使用C语言与汇编语言相结合的方法,程序整体使用C语言编写以提高程序开发周期。对于实时性要求强或有比较复杂算法的部分,为提高DSP代码芯片的执行效率,使用汇编语言编写。

Biography:YuanWeiqi(1960-),male(Han),LiaoNingprovince,ShenYangUniversityofTechnology,doctor,professor,doctortutor,researchareaiscomputervisionandimageprocess-ing.

(110023沈阳沈阳工业大学)苑玮琦张永辉

通讯地址:(110023沈阳沈阳工业大学562信箱)张永辉

(收稿日期:2007.9.23)(修稿日期:2007.10.15)

4结束语

本文介绍了一种基于DSP芯片、通过RS-232进行数据传递的数据采集系统方案。该方案在强大的DSP处理器控制下利用高速A/D芯片完成多路模拟信号的采集工作,采集后的数据可以进行实时处理与传输。该系统可以广泛应用于需要较高频率远程模拟信号的采集处理场合,将采集后的数据送至计算机进行分析处理,为后续工作提供了充足的数据基础。

本文作者创新点:本文提出了一种基于DSP的多路数据采集卡的设计和实现方案,并针对DSP与PC机间的串行通信要求,提出了一种DSP的同步串行接口扩展方案。该方案具有很高的工程应用价值。

书讯

《嵌入式系统应用精选200例》110元/本(免邮资)汇至《80C51宏汇编程序设计语言》

22元/本(免邮资)汇至

地址:北京海淀区皂君庙14号院鑫雅苑6号楼601室

微计算机信息杂志收邮编:100081电话:010-62132436010-62192616(T/F)

:360元/年-

参考文献

PLC技术应用200例》

187-

本文来源:https://www.bwwdw.com/article/w674.html

Top