随着技术的进步和大量外设的增加,不仅要求计算机并行口可以连接打印机,而且可以连接到其他外设,并要求能够双向传输数据,对高速外设还要求高速数据传输,如DPS。在科技飞速发展的今天,DSP的处理能力和速度也快速提高,广泛用户在科学研究、军事及通信等电子领域。在这些应用中免不了要和PC机进行高速数据传输。计算机并口传统的传输模式为SPP(标准并口),数据传输方向是从计算机到外围设备,只能输出数据,不能输入数据。这就限制了并行口高速数据通信的应用。于是我们在基于FIFO的DDC与DSP高速数据传输实现的方案。
1 系统器件的选用
DSP(digital signal processor)是一种独特的微处理器,是以数字信号来处理大量信息的器件。其工作原理是接收模拟信号,转换为0或1的数字信号。再对数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格式。它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器,是数字化电子世界中日益重要的电脑芯片。它的强大数据处理能力和高运行速度,是值得称道的两大特色。本设计选用TI公司的TMS320C6201 DSP,其时钟频率200MHz、1 600MIPS的数据处理能力,可以满足软件无线电的零中频信号处理要求。
HSP50214B的输出方式有三种模式:直接并行输出、缓冲模式输出和串行输出。本设计HSP50214B采用并行直接输出模式,此模式下,HSP50214B输出两组16位的实时数据:AOUT(15:0)和BOUT(15:0),AOUT端口可以输出数据I、幅度和频率。BOUT端口可以输出数据Q、相位和幅度。
2 FIFO双向接口设计
FIFO是英文First In First Out 的缩写,是一种先进先出的数据缓存器,他与普通存储器的区别是没有外部读写地址线,这样使用起来非常简单,但缺点就是只能顺序写入数据,顺序的读出数据,其数据地址由内部读写指针自动加1完成,不能像普通存储器那样可以由地址线决定读取或写入某个指定的地址。
工作过程:ADC输出的14bit中频信号经锁存器输入到HSP50214B,在HSP50214B中经程控的NCO驱动混频器后,混频得到更低的中频信号或零中频信号,该信号经积分梳状滤波器(CIC)和有限冲激响应滤波器(FIR)抽取滤波,将得到的信号以所需格式输出送DSP处理。
如果DDC直接与DSP的外部存储器接口(EMIF)连接传输数据,由于DSP需扩展外部存储器,与采样数据输入共用仅有的一条外部总线,CPU要进行外部存储器的访问,不允许数据采集始终占用外部总线。另外,如果存储控制系统不能及时接收数据,上次采样的数据会马上被下次的数据更新,造成数据丢失。因此DDC与DSP之间需采用高速缓存。
目前常用的缓存有FIFO、SRAM及双口RAM等。双口RAM和SRAM存储量较大,但必须配以复杂的地址发生器。本设计只需要单向的数据传输,对于FIFO芯片,数据顺序进出,且允许数据以不同的速率写入和读出,外围电路简单,所以选用TI公司SN74ACT7804 FIFO作为数据缓存,在HSP50214B与DSP之间将两片FIFO并列,分别缓存HSP50214B输出的AOUT和BOUT两路16bit的数据。
TI公司的SN74ACT7804是512×18bit的触发式FIOF存储器,单向数据传输,有空(/EMPTY)、满(/FULL)、半满(Half-Full)状态标志引脚,还有可编程的近满/近空(Almost-FulL/Almost-Empty)状态标志,处理数据的速度可达到50MHz。
2.1 FIFO与DDC接口设计
DDC控制器是整个控制系统的。是系统实现控制功能的关键部件。它的工作过程是控制器通过模拟量输入通道(AI)和开关量输入通道(DI)采集实时数据,并将模拟量信号转变成计算机可接受的数字信号(A/D转换),然后按照一定的控制规律进行运算,发出控制信号,并将数字量信号转变成模拟量信号(D/A转换),并通过模拟量输出通道(AO)和开关量输出通道(DO)直接控制设备的运行。
在设计DDC与FIFO接口时,应仔细考虑DDC及所选中间逻辑器件的时序和延时特性,以保证数据的有效传输。HSP50214B采用并行直接输出模式,HSP50214B输出两组16位的数据:AOUT(15:0)和BOUT(15:0),信号直接与两FIFO低16位输入数据线连接,FIFO输入时钟信号LDCK由HSP50214B的/DATARDY信号提供。当HSP-50214B中的数据在并行数据总线上准备输出时,/DATARDY引脚会在PROCCLK时钟的个下降沿产生一个下降沿的电平跳变,并会持续一个PROCCLK时钟周期的低电平。同时,可用此低电平来控制并行输出使能/OEAL、/OEAH、/OEBL和/OEBH。由于FIFO的信号输入时钟LDCK在上升沿时有效,所以需要将/DATARDY信号反向后供给。
2.2 FIFO与DSP EMIF接口
3 接口时序
设计中,FIFO采用半满信号。若FIFO使用满(/FULL)状态信号,则满(/FULL)状态位有效时,触发DMA开始数据传输;如在满信号和DMA传输之间仍有数据出现在数据线上,则因为此时LDCK对FIFO无效,待DMA开始数据传输时才允许数据写入,所以可能丢失采集数据。本设计中采用半满(HF)信号作为标志位,在半满时,开始DMA传输,不中断数据写入FIFO。由于ADC数据写入FIFO速度小于EMIF读出速度,所以后续数据不会覆盖原来的有效数据,采样数据不会丢失。
EMIF读FIFO逻辑关系如下:UNCK=/CE+/ARE,LDCK=/CE+/AWE,OE=/CE+/AOE,读FIFO时序如图3所示。
本文设计的基于FIFO和DSP的多路高速数据采集系统,实现了对两路PFN电流波形的自动、实时、高速、采样,波形在PC机上快速显示,并能对PFN运行状况快速监测。系统实际采样频率为400kHz。如果更换采样率更高的A/D转换芯片,只需修改DSP中与A/D转换相关的程序,系统采样频率可大幅度提高,采样波形将更真实地反映实际波形,就能更好地监测DDC运行状况。相信这种多路数据传输系统将得到越来越多的应用。
[1]. DDC datasheet https://www.dzsc.com/datasheet/DDC_1870710.html.
[2]. HSP50214B datasheet https://www.dzsc.com/datasheet/HSP50214B_387087.html.
[3]. SN74ACT7804 datasheet https://www.dzsc.com/datasheet/SN74ACT7804_635512.html.
[4]. TMS320C6201 datasheet https://www.dzsc.com/datasheet/TMS320C6201_891029.html.
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。