微波EDA网,见证研发工程师的成长!
首页 > 测试测量 > 测试测量技术文库 > 多路跟踪滤波同步数据采集系统的研究

多路跟踪滤波同步数据采集系统的研究

时间:07-06 来源:互联网 点击:

1.5 频率测量方法
电压或电流信号经滤波整形后输入到锁相环的方波信号fi,也同时输入到DSP的CPI捕获输入端,利用DSP的捕获功能,检测两个相邻脉冲上升沿的时间间隔,计算出信号的频率。为提高测量精度,每次检测出N个相邻上升沿的时间间隔,求平均得信号频率。
2 TMS320LF2407与AD73360L接口电路设计
2.1 AD73360L性能简介

  AD73360L是ADI公司推出的6独立通道的16位串行可编程A/D转换器。每个A/D转换通道由程控放大器、高过采样率的Σ-ΔA/D调制器、抽取数字滤波器等组成。具有设计简便、结构紧凑、工作稳定和可以方便地在几种采样率之间选择等优点。与并行接口相比,采用串行接口的硬件连接线大为减少,这样不仅可以减少印制电路板的面积,还可以减少电磁干扰,从而使系统更加稳定地工作。在不影响系统工作速度的条件下,在系统设计中利用串行接口代替并行接口不失为一种很好的设计方法。
2.2 AD73360L同步串行口
  AD73360L的16位同步串行口(SPORT)有输入、输出两个移位寄存器,它用6条通讯总线实现发送采样值和接收控制信息的双向同步通讯。它只能工作在主控方式。AD73360L的SPORT有三种工作模式:编程模式、数据模式和混合模式。
  在编程模式下,AD73360L首先在SCLK的下降沿检测输入帧同步SDIFS,当检测到SDIFS高电平后,从下个周期开始,在SCLK的下降沿将SDI线上的命令控制字的1位移入AD73360L的移位寄存器,连续移位16次,一个命令控制字接收完毕,存入对应的寄存器中。然后重复上述过程,直到接收到新的工作模式控制字后,才能转入新的工作模式。
  在数据模式下,只能输出采样值。当AD73360L完成一次数据采集后,首先在SCLK的上升沿向SDOFS发送一个时钟周期高电平的输出帧同步信号,将一个采样值装入移位寄存器,然后从下个周期开始,在SCLK的上升沿将移位寄存器中的采样值移位到SDO线上,连续移位16次,一个采样值发送完毕,重复上述过程,直到6个采样值发送完毕。当下次AD转换完成后,重复上述过程,重新发送一组采样数据。只有复位AD73360L,才能终止数据模式的输出过程。
2.3 TMS320LF2407同步串行口
  TMS320LF2407 DSP的16位同步串行口SPI可工作于主动或从动两种工作方式[6]。它只有一个移位寄存器,仅含有4条通讯总线:SPISOMI 从动输出/主动输入数据线;SPISIMO 从动输入/主动输出数据线;SPICLK 串行同步时钟;SPISTE 从动方式SPI端口使能,由主控机输入,低电平有效。当SPI接口有多个数据发送和接收时,在SPICLK控制下,数据是连续传输,各数据间没有间隔,除非SPISTE无效,才能停止数据的传输。
2.4 TMS320LF2407与AD73360L接口电路
  通过以上分析可知,它们之间的通讯方式存在以下三个不匹配的地方。
  (1)AD73360L发送或接收数据是根据帧同步信号实现数据起始位的识别,在时钟SCLK的控制下,通过移位方式进行数据通讯。TMS320LF2407仅提供4条通讯总线,输出数据时,不能提供输出帧同步信号,因而造成接收命令错误;接收数据时,因不能识别AD73360L发出的输出帧同步信号,而造成接收数据错位。
  (2)AD73360L发送或接收数据,在两个数据间至少存在一个时钟周期的时间间隔,TMS320LF2407则是连续传输,在两个数据间没有时间间隔。
  (3)AD73360L只能工作在主动方式,不能向DSP的SPI端口提供使能控制信号SPISTE,AD73360L不能启动TMS320LF2407接收或发送数据。
  因此,TMS320LF2406与AD73360L的两个同步串行接口不能直接匹配。为此设计了如图5所示的通讯接口电路。通过软硬件结合的方法,可以实现它们之间的双向数据通讯。图中AD73360L的两个帧同步信号连接成帧同步返回环方式,即FDOFS输出帧同步作为SDIFS输入帧同步,同时也连接到DSP的XINT1的中断输入端,作为DSP的发送或接收数据的同步信号;ADC的SCLK作为DSP的移位时钟信号;ADC的数据输出SDO作为DSP的数据输入SPISIMO;DSP的数据输出SPISOMI作为ADC的数据输入SDI;DSP的IOPE1输出作为SPI端口使能SPISTE输入;DSP的IOPE2输出控制AD73360L的复位和片选使能。

3 通讯软件设计
  首先,TMS320LF2407 DSP的IOPE1输出端置1,禁止SPI接口通讯,DSP的IOPE2输出端置0,使AD73360L复位;然后,初始化DSP的SPI通讯接口,设置SPI为从动工作方式和数据发送方式。当AD73360L可靠复位后,全部控制寄存器复位到零,默认最低的SCLK速率( DMCLK/8)和采样率(DMCLK/2048),它确保与低速微处理器的可靠通讯。当DSP将IOPE2输出端置1时,AD73360L的复位过程结束并使片选CS使能。AD73360L复位之后,默认工作在编程模式,便于对AD73360L进行初始化,并且在每个采样周期输出一个帧同步SDOFS。它既作为AD73360L的输入帧同步信号,同时也作为DSP的XINT1的输入。在对AD73360L进行初始化阶段,DSP查询XINT1的状态。当检测到XINT1引脚的帧同步脉冲的上升沿时,将一个16位控制字发送至缓冲区;当DSP检测到XINT1的下降沿时,把IOPE1置0,使SPISTE有效,允许发送数据。在SCLK的上升沿将数据移位到发送数据线SPISOMI上,然后在SCLK的下降沿,移入AD73360L内部的输入移位寄存器。在发送数据时,DSP始终查询SPI的状态,当DSP查询到一个控制字发送完毕时,立即把IOPE1置1,则SPISTE无效,禁止继续发送。然后,DSP重新查询XINT1引脚的帧同步脉冲,重复上述的发送控制命令字的过程。同时,AD73360L将接收的控制字存入相应的控制寄存器中。当最后一个控制字(数据工作模式字)输出完毕时,AD73360L初始化过程结束,以后对其编程将无效,除非重新复位AD73360L。而DSP则重新初始化SPI接口,把它设置为输入方式,并允许SPI接收中断,允许XINT1下降沿中断。每当一次A/D转换完成后,AD73360L按规定时序连续发送6个采样值和对应的6个同步脉冲,AD73360L的每个输出同步脉冲的下降沿(即SCLK的上升沿),XINT1都产生一次中断,中断服务程序中把IOPE1置0使SPISTE有效,允许接收数据。在SCLK的每个下降沿,将AD73360L输出的采样值移入DSP内部的移位寄存器中。每当DSP接收一个16位采样值后,SPI产生中断,SPI中断程序保存采样值并把IOPE1置1使SPISTE无效,禁止接收数据。接口通讯软件流程如图6所示。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top