DSP与串行AD组成的高速并行数据采集系统_第1页
DSP与串行AD组成的高速并行数据采集系统_第2页
DSP与串行AD组成的高速并行数据采集系统_第3页
DSP与串行AD组成的高速并行数据采集系统_第4页
DSP与串行AD组成的高速并行数据采集系统_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

DSP与串行A/D组成的高速并行数据采集系统[日期:200577]来源:今日电子

作者:吉林高校通信工程学院卢海军王树勋[字体:HYPERLINK"javascript:ContentSize(16)"大HYPERLINK"javascript:ContentSize(14)"中HYPERLINK”javascript:ContentSize(12)”小]摘要:依据高速定点DSP芯片TMS320VC5402的多通道缓冲串口特点和串行A/D转换芯片TLV1572的工作特性,提出了两片串行A/D和一片DSP串口的通信方案。该系统充分利用了DSP的两个缓冲串口,可以使两路A/D转换数据高速并行传输。同时文中给出了系统的硬件原理图和软件设计的部分关键程序。关键词:DSP;多通道缓冲串口;A/D转换;数据采集引言TMS320VC5402(以下简称C5402)是德州仪器公司1999年推出的定点数字信号处理器(DSP).与TMS320C54x系列的其他芯片相比,C5402以其独有的高性能、低功耗和低价格受到了人们的广泛青睐。C5402增强外设有软件等待状态发生器、锁相环时钟发生器、6通道直接存储器访问(DMA)掌握器、增强型8位并行主机接口(HPI)等.两个可编程的多通道缓冲串口(McBSP)能够全双工、快速地与其他同步串口进行数据交换,硬件连接简洁,串口的工作模式和传送数据的格式可通过编程实现。由于C5402内部没有集成A/D,因此在数据采集时需要使用A/D转换芯片,A/D芯片与C5402的接口设计成为一个重要的问题。A/D转换芯片一般有串行A/D和并行A/D。为了充分利用C5402所供应的多通道缓冲串口资源,简化系统设计,本文系统使用了TI公司的高速串行A/D来同时完成两路数据采集,大大提高了串口工作效率。串行A/D芯片TLV1572TLV1572是高速的十位串行A/D转换芯片,可以通过3或4个串行口线直接与DSP或其他数字微处理器串口相连,不需要外加规律,但是转换速度受SCLK供应时钟的限制。TLV1572与DSP的多通道缓冲串口相连是通过CS、SCLK、DO和FS四条线完成的,此时DSP的CLKR产生移位脉冲,FSR产生帧同步信号,并分别供应应TLV1572.当TLV1572与其他串口微处理器相连接时FS必须供应高电平,通过CS、SCLK、DO三条线来完成数据传输.当CS为高时,A/D芯片各管脚处于三态状态。在CS由高变低时,TLV1572检测FS引脚的状态来确定工作模式,若FS为低则为DSP模式,若FS为高则为其他微处理器模式。ﻫ图一TL1572在DSP模式下的转换时序图

图二TL1572在微处理器模式下的转换时序图当TLV1572工作在DSP模式时,必须保证在CS变低时,FS为低电平,并且要锁存肯定时间。CS为低时,DO跳出三态状态,但是直到FS为高时芯片才脱离休眠状态。TLV1572在每个时钟SCLK的下降沿检测FS的状态,一旦检测到FS为高,TLV1572开头采样。在FS的下降沿,A/D芯片通过移位时钟将数据移到DO上。在6个前导0传送之后,DSP可以在时钟的下降沿得到A/D转换的数据,如图1所示。在最低位移出之后,A/D芯片自动进入休眠状态,直到FS下一次有效。如果FS在16位传输完成后立即有效,则A/D开头新的数据转换,此时A/D为连续转换。若FS在TLV1572转换数据的过程中变高,则A/D芯片被复位,开头新的数据转换周期。因此可以通过设置FS,转变数据传输的位数。当TLV1572工作在非DSP模式下时,FS引脚必须接高电平。在每次转换的过程中都必须供应16个时钟信号,若微处理器无法一次接收16位数据,可以分成8位两次接收,两次接收的时间间隔不能大于100μs,此时CS必须始终处于有效状态.在DSP模式下转换的开头是由FS信号有效来决定的,而在微处理器模式下,数据转换CS有效后的第一个时钟信号上升沿开头的,如图2所示。在微处理器模式下,也可以通过设置CS来转变传送的位数。C5402的多通道缓冲串口C5402供应两个高速、全双工、多通道缓冲串行口McBSP0、McBSP1,用数据线D(R/X)、帧同步线FS(R/X)和移位时钟线CLK(R/X)实现发送数据和接收数据。McBSP通过6个引脚(DX、DR、CLKX、CLKR、FSX和FSR)与外设接口.(1)CLKX(发送时钟输入或输出)芯片内部发送以为寄存器(XSR)通过该时钟信号将数据发送到DX引脚.该串口可以通过PCR寄存器的CLKXM位配置成使用内部时钟或者使用外部时钟。(2)FSX(发送帧同步输入或输出)FSX是发送开头的标志,串口可以通过PCR寄存器的FXM位配置成输入或输出。(3)DX(串行数据发送)串口数据发送是通过该口进行的。(4)CLKR(接收时钟)CLKR用来接收外部时钟信号,该时钟信号将DR数据移入接收移位寄存器(RSR)。可以通过PCR寄存器的CLKRM位配置成使用内部时钟或者使用外部时钟。(5)FSR(接收帧同步输入)FSR接收帧同步脉冲信号,标志数据接收开头。可以通过PCR寄存器的FRM位配置成输入,也可以配置成输出。(6)DR(串行数据接收)串口数据接收是通过该口进行的。接收过程中,数据首先通过移位时钟CLKR的作用下移入RSR(接收移位寄存器),然后,RSR中的数据再拷贝到DDR(数据接收寄存器),拷贝完成时,产生RINT中断通知CPU来响应或REVTA中断通知DMA响应,同时设置RRDY中断标志位,也可以用查询方式来完成,从数据寄存器中读出数据。CLKX、CLKR、FSX、FSR即可以由内部采样率发生器产生,也可以由外部设备驱动。McBSP分别在相应时钟的上升沿和下降沿进行数据检测。每个McBSP最多可支持128通道的发送和接收,串行字长可选,包括8、12、16、20、24和32位,还支持μ率和A率数据压缩扩展。系统硬件设计在分析了C5402多通道缓冲串口和串行A/D转换器TLV1572工作特点后,可以利用TLV1572工作在DSP模式,使其与C5402进行接口,在同步时钟信号的作用下完成A/D转换的数据传输。图3为整个数据采集系统的硬件原理图,本系统依据C5402的多通道缓冲串口特性,充分利用两个缓冲串口与两片串行A/DTLV1572进行数据传输.为了达到与C5402很好匹配,A/D电源和参考电压都接了3.3V.A/D的FS接DSP的FSX和FSR,使数据输入的帧同步信号由DSP产生。SCLK接DSP的CLKX和CLKR,这样数据的输入和输出时钟均来自DSP。C5402与两片A/D进行数据传输时,设置串口中断工作在00模式,即串口数据到达触发中断,这样CPU可以依据哪片A/D传输数据产生相应的串口中断RINT0或RINT1。当两个串口的数据同时到达,即同时申请中断时,C5402的CPU会依据中断优先级响应RINT0中断,然后再响应中断RINT1.为了保证数据通信的牢靠性,避开数据冲突,在响应RINT1中断的过程中,串口0无中断恳求.C5402芯片内配置有4K×16bit片内屏蔽式的ROM(F000FFFF)。在4KROM资源里包含了Bootloader程序,它允许程序放在外部较慢的存储器或微处理器中,并调到高速的DRAM存储器中运行,大大减小了C5402内部掩膜的需要,降低了电路设计成本.系统独立工作的内部规律由CPLD来完成,如图4所示。C5402上电复位装载时,由于Bootloader程序在初始化时设置XF为高电平,在系统进入并行引导装载模式后,C5402从数据寻址为0FFFFh单元(A15=1,选中Flash)中读取将要载入的程序存储区首地址,和并行转载数据流。此时,C5402可以将AT29LV1024Flash地址08000h~0FFFFh单元中的数据读到C5402对应于0000h~7FFFh寻址区的片内DARAM和片外SRAMIS61LV6164中.Bootloader程序结束后,在这个系统中,用户程序的第一条语句为RSBXXF,即置XF引脚为低电平,Flash始终不选通.这样,SRAM的高32K区域(08000h~0FFFFh)被释放出来,可以作为DSP系统运行时的数据区或程序区使用。系统软件设计系统的软件设计主要包括多通道缓冲串口的初始化、串口中断服务程序和并行装载程序设计等。●程序设计应注意的问题ﻫ(1)McBSP工作在数据接收中断方式,因此全局中断和串口中断的相应位应该合理设置。同时,在设置中断向量表时,使中断向量表的位置与处理器模式状态寄存器PMST中的中断向量指针IPTR相对应,使IPTR的9位地址指向128字的中断向量所在的程序页,同时,中断向量表要严格依据C5402规定的格式编写,否则不能正确地产生需要的中断结果。ﻫ(2)要实现DSP数据采集系统的脱机独立运行,需要给每台DSP配备独立的程序存储器,在整个系统上电或者复位时,由引导装载程序将存于片外的程序代码装载到片内DARAM或者系统的扩展存储器中,然后运行程序来完成对McBSP进行设置和其他程序。ﻫ(3)为了实现两路A/D和C5402之间的时序匹配,避开数据冲突,需要注意C5402采样率发生寄存器SRGR1中CLKGDV位的设置,使C5402工作时钟周期大于两个串口中断的响应时间。

若TLV1572以400KSPS转换速率来计算,每片A/D应该是每2。5μs向DSP发送一次数据,申请中断,CPU响应中断来接收数据。DSP工作在100MHz时,时钟周期为10ns,因此每个缓冲串口中断服务程序中可以执行一个少于125个时钟周期的程序而不影响串口的接收,若串口中断程序的时间不够用,还可以适当降低A/D转换速率,为串口中断供应更长的中断服务时间.●串口接收的部分初始化程序

下面依据多通道缓冲串口的特性和两路串行A/D工作的要求,主要介绍一下串口接收的软件设计和串口部分关键设置。ﻫ;=====初始化串口0=====ﻫstm#0,SPSA0

stm#0000h,SPSD0;#0000H写入SPCR10ﻫstm#1,SPSA0ﻫstm#0000h,SPSD0;#0000H写入SPCR20ﻫstm#2,SPSA0ﻫstm#0040h,SPSD0;#0040H写入RCRC10,每字16位ﻫstm#3,SPSA0ﻫstm#0040h,SPSD0;#0040H写入RCR20,每帧一段,每段一字ﻫstm#6,SPSA0

stm#000fh,SPSD0;#0009H写入SRGR10,时钟周期CLKG=6。4MHzﻫstm#7,SPSA0ﻫstm#300fh,SPSD0;#3010H写入SRGR20,帧周期为16个CLKG

stm#0eh,SPSA0ﻫstm#0a04h,SPSD0;#0A04H写入PCR0,FSX,CLKX输出,FSR,CLKR输入ﻫ;=====初始化串口1=====ﻫ串口1的初始化程序参见串口0ﻫ;=====启动接收=======

stm#0,SPSA0ﻫstm#0001h,SPSD0;启动串口0接收ﻫstm#1,SPSA0

stm#00c0h,SPSD0;内部产生时钟产生FSGﻫstm#0,SPSA1ﻫstm#0001h,SPSD1;启动串口1接收ﻫstm#1,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论