您好,  [请登录] [QQ登录]  [支付宝登录[免费注册]

商品分类

分享到: 百度搜藏 搜狐微博 新浪微博 腾讯微博 QQ收藏 人人网 Facebook Twitter

DSP与串行A/D构成的高速并行数据征求体系

发布日期:2011-05-22

  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芯片tlv1572

  tlv1572是高速的十位串行a/d转换芯片,可以通过3或4个串行口线直接与dsp或其他数字微处理惩罚器串口相连,不必要外加逻辑,但是转换速率受sclk提供时钟的限定。tlv1572与dsp的多通道缓冲串口相连是通过cs、sclk、do和fs四条线完成的,此时dsp的clkr孕育产生移位脉冲,fsr孕育产生帧同步信号,并分别提提供tlv1572。当t-lv1572与其他串口微处理惩罚器相连接时fs必须提供高电平,通过cs、sclk、do三条线来完成数据传输。当cs为高时,a/d芯片各管脚处于三态状态。在cs由高变低时,tlv1572检测fs引脚的状态来确定事变模式,若fs为低则为dsp模式,若fs为高则为其他微处理惩罚器模式。

tl1572在<adsp模式下的转换时序图 hspace=0 src="http://image.mcuol.com/News/070329174707420.jpg" width=553 border=0>

图一 tl1572在dsp模式下的转换时序图

tl1572在微处理惩罚器模式下的转换时序图

图二 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/d tlv1572举行数据传输。

整个数据征求体系的硬件原理图

  为了到达与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(f000-ffff)。在4k rom资源里包括了bootloader步伐,它容许步伐放在外部较慢的存储器或微处理惩罚器中,并调到高速的dram存储器中运行,大大减小了c5402内部掩膜的必要,低落了电路计划本钱。体系独立事变的内部逻辑由cpld来完成,如图4所示。

体系独立事变的内部逻辑由cpld来完成

  c5402上电复位装载时,由于bootloader步伐在初始化时设置xf为高电平,在体系进入并行引导装载模式后,c5402从数据寻址为0ffffh单位(a15=1,选中flash)中读取将要加载的步伐存储区首地点,和并行转载数据流。此时,c5402可以将at29lv1024 flash地点08000h~0ffffh单位中的数据读到c5402映射于0000h~7fffh寻址区的片内daram和片外sram is61lv6164中。

  bootloader步伐结束后,在这个体系中,用户步伐的第一条语句为rsbx xf,即置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,spsa1

  stm #00c0h, spsd1 ;内部孕育产生时钟孕育产生fsg

  ;==串口0吸取停止子步伐===

  .sect "brint0"

  host_brint0:

  rsbx intm ;关停止

  ldm drr0,a

  stl a,*ar4+ ; 吸取

  ……

  其他处理惩罚步伐

  rete

 
  结束语

  本文先容了两片串行a/d与c5402构成的数据征求体系,该体系硬件连接大略,a/d的采样率可以通过串口时钟机动设置,通用性强。该数据征求体系已经告成应用到实行室的信号处理惩罚体系中,表现出计划机动、高速、可靠等好处。