论文部分内容阅读
【摘 要】DSP是专门为了数字信号处理应用而设计的高速芯片,解决了原来处理器结构复杂、单片微机速度达不到实时系统要求的问题。本文分别从数据传输和数据处理的角度来对DSP的实时信号处理进行了探讨。
【关键词】DSP芯片;数据传输;SDRAM
由于具备强大的硬件和优化的体系结构,DSP芯片通常用于实时信号处理领域。ADSP-TS201S作为ADI公司最有代表性的DSP芯片之一,很好地解决了实时信号处理中的两个问题,即实时传输和实时处理的问题。
下面分别从数据传输和数据处理的角度来对DSP的实时信号处理进行说明。
1、ADSP-TS201S高效数据访问与传输方法
ADSP-TS201S的数据空间,根据配置方式的不同,可大致分为以下几类:片内寄存器、DRAM、外部SDRAM、其他片外存储空间。其他片外的存储空间可能包括FIFO、FPGA生成的寄存器和存储器等连接在外部总线上的存储介质。对这3种空间的访问如下:
①对于内部寄存器和DRAM的访问是通过内部总线进行访问,因此无须配置,直接访问即可。
②对于SDRAM的访问要通过DSP的外部总线访问,并使用DSP内部集成的SDRAM控制器去控制访问逻辑,因此在访问之前需要通过配置SDRCON来设置DSP内部SDRAM控制器的访问时序,就能对SDRAM进行访问,SDRCON的设置方法与SYSCON类似。
③对片外存储空间的访问,是通过总线进行数据传输,并通过DSP的控制信号对读写时序进行控制,因此需设置好SYSCON后DSP會根据设置的参数去配置总线延时值,之后DSP便能对外部存储区进行访问。
本文将主要从4个方面进行介绍:ADSP-TS201S对外部存储空间的访问与控制,ADSP-TS201S对SDRAM的访问与控制,多DSP间Link口数据传输,DMA数据传输方法。
1)ADSP-TS201S对片外存储空间的访问(非SDRAM)。对于ADSP-TS201S、片外的SDRAM、FIFO芯片、FPGA生成的寄存器,RAM、FIFO等都可以映射为其外部存储空间。由于ADSP-TS201S集成有专门的SDRAM控制接口,而对于其他片外存储空间,ADSP-TS201S在对其进行访问时,需先考察片外存储器的总线时序,并通过配置ADSP-TS201S的总线时序来实现ADSP-TS201S与片外存储器之间数据访问。
2)ADSP-TS201S对片外SDRAM的访问。ADSP-TS201S处理器有一个专用的SDRAM接口,可以实现与标准SDRAM6Mbit、64Mbit、128Mbit、256Mbit、512Mbit的无缝连接。支持1024、512、256字的页面长度,通过对sdrcon寄存器的编程可实现页面长度的选择。同时SDRAM占用ADSP-TS201S的外部存储空间地址,通过设置/mssd3~0来确定SDRAM的地址空间范围。由于内部集成了SDRAM控制器,使得ADSP-TS201S对SDRAM的读写操作与片内内存没有太大的差别,因此本文重点介绍ADSP-TS201S和SDRAM连接时的硬件电路设计。为了使得对SDRAM的控制更加具体,后面的介绍将以HY57V561620b为例进行介绍。
(1)ADSP-TS201S与SDRAM的电路接口。HY57V561620b的页面长度为512字,在与ADSP-TS201S进行连接时,可将两片SDRAM拼接成32位的总线宽度,实现与ADSP-TS201S的无缝接口。根据不同的总线宽度(32位和64位),ADSP-TS201S的地址总线与SDRAM的连接有所不同,但控制总线的连接方式没有太大的差异。
①对于32位数据总线直接相连,地址总线互联方法如下:
●SDRAM地址bit9~0与ADSP-TS201S addr9~0相连。
●SDRAM地址bit0与ADSP-TS201S的sda10引脚相连。
●SDRAM地址bit15~11与ADSP-TS201S addr15~11相连。
②对于64位数据总线,数据线直接互连,地址链接方式如下:
●SDRAM地址bit9~0与ADSP-TS201S addr10~1相连,ADSP-TS201S addr0悬空。
●SDRAM地址bit10与ADSP-TS201S的sda10引脚相连。
●SDRAM地址bit14~11与ADSP-TS201S addr15~12相连。
另外对于标准的SDRAM(3.3V),ADSP-TS201S的地址线addrl5~11都可以作为bank的选择线。对于低功率的SDRAM(2.5V),只有addr15~14可以作为bank的选择线。因此在进行接vi设计时一定注意所选择SDRAM的电参数。
(2)SDRAM接口控制寄存器配置。ADSP-TS201S内部集成了SDRAM控制器,使用硬件映射的方式对SDRAM进行管理,进而优化数字信号处理中SDRAM的使用性能。地址的映射通过页面大小和总线宽度进行译码对应。在对SDRAM数据访问之前,须先对系统寄存器和SDRAM控制寄存器进行设置,只有相应的寄存器设置完全正确,才能正常的访问SDRAM数据。
(3)SYSCON寄存器设置(数据对齐方式)。在处理器硬件复位后运行用户程序前,必须先设置系统寄存器SYSCON。在该寄存器中对系统的总线宽度进行定义,可以将处理器的外部数据总线定义成32位或64位。值得注意的是,无论是内部寻址空间还是外部存储器寻址空间,只要它们被设置了64位总线宽度、多处理器的寻址空间也必须同时设置成64位总线宽度,否则他们将不能正常工作在64位总线宽度。
(4)SDRCON寄存器设置。对SDRAM的编程控制是通过寄存器SDRCON实现的。与寄存器SYSCON类似,对SDRCON的配置必须在处理器硬件复位之后访问SDRAM之间完成,且这部分的程序应该在系统的初始化程序之中。在多处理器中,所有处理器的SDRCON寄存器必须设置成相同的配置。
3)多片DSP间的数据传输方法。由于ADSP-TS201S系列处理器具有4个全双工的链路口通信端口,因此对于多片ADSP-TS201S之间的数据通信,通常是采用链路口通信接口(Link口)来实现点对点的数据通信。
4)DMA方式的数据访问。在对少量数据进行访问时,通常采用直接对其他地址进行访问的方式。但是如果需要访问或传输的是大量数据,则通常采用DMA的传输方式。通过该方式,数据传输和DSP的运算可以同时进行,使得DSP的处理效率能得到进一步的提高。
2、ADSP-TS201S中数据处理方法的优化(实时处理)
ADSP-TS201S是一款针对高速信号处理设计的DSP,得益于强大的硬件和优化的体系结构,使得该DSP的处理速度能够超过通常的DSP,进而实现实时处理。
从优化的层次讲,算法的并行优化通常有这样几个方面,首先最直接的是在CPU结构允许范围内尽可能的指令并行,这一点与处理器有很大的相关性;二是通过循环展开及软件流水来提高并行度,避免流水线延迟,这个层面的优化灵活性很大、比较复杂,但不需要对算法结构作太多的了解;最后一点是根据处理器特性,从数学上重新优化算法结构。然而需要注意的是,在应用中常常以相反的顺序根据实际需要进行必要的优化,当代码已进行软件流水并充分并行后再想去改变算法的基本结构,就显得不是那么容易了。
【关键词】DSP芯片;数据传输;SDRAM
由于具备强大的硬件和优化的体系结构,DSP芯片通常用于实时信号处理领域。ADSP-TS201S作为ADI公司最有代表性的DSP芯片之一,很好地解决了实时信号处理中的两个问题,即实时传输和实时处理的问题。
下面分别从数据传输和数据处理的角度来对DSP的实时信号处理进行说明。
1、ADSP-TS201S高效数据访问与传输方法
ADSP-TS201S的数据空间,根据配置方式的不同,可大致分为以下几类:片内寄存器、DRAM、外部SDRAM、其他片外存储空间。其他片外的存储空间可能包括FIFO、FPGA生成的寄存器和存储器等连接在外部总线上的存储介质。对这3种空间的访问如下:
①对于内部寄存器和DRAM的访问是通过内部总线进行访问,因此无须配置,直接访问即可。
②对于SDRAM的访问要通过DSP的外部总线访问,并使用DSP内部集成的SDRAM控制器去控制访问逻辑,因此在访问之前需要通过配置SDRCON来设置DSP内部SDRAM控制器的访问时序,就能对SDRAM进行访问,SDRCON的设置方法与SYSCON类似。
③对片外存储空间的访问,是通过总线进行数据传输,并通过DSP的控制信号对读写时序进行控制,因此需设置好SYSCON后DSP會根据设置的参数去配置总线延时值,之后DSP便能对外部存储区进行访问。
本文将主要从4个方面进行介绍:ADSP-TS201S对外部存储空间的访问与控制,ADSP-TS201S对SDRAM的访问与控制,多DSP间Link口数据传输,DMA数据传输方法。
1)ADSP-TS201S对片外存储空间的访问(非SDRAM)。对于ADSP-TS201S、片外的SDRAM、FIFO芯片、FPGA生成的寄存器,RAM、FIFO等都可以映射为其外部存储空间。由于ADSP-TS201S集成有专门的SDRAM控制接口,而对于其他片外存储空间,ADSP-TS201S在对其进行访问时,需先考察片外存储器的总线时序,并通过配置ADSP-TS201S的总线时序来实现ADSP-TS201S与片外存储器之间数据访问。
2)ADSP-TS201S对片外SDRAM的访问。ADSP-TS201S处理器有一个专用的SDRAM接口,可以实现与标准SDRAM6Mbit、64Mbit、128Mbit、256Mbit、512Mbit的无缝连接。支持1024、512、256字的页面长度,通过对sdrcon寄存器的编程可实现页面长度的选择。同时SDRAM占用ADSP-TS201S的外部存储空间地址,通过设置/mssd3~0来确定SDRAM的地址空间范围。由于内部集成了SDRAM控制器,使得ADSP-TS201S对SDRAM的读写操作与片内内存没有太大的差别,因此本文重点介绍ADSP-TS201S和SDRAM连接时的硬件电路设计。为了使得对SDRAM的控制更加具体,后面的介绍将以HY57V561620b为例进行介绍。
(1)ADSP-TS201S与SDRAM的电路接口。HY57V561620b的页面长度为512字,在与ADSP-TS201S进行连接时,可将两片SDRAM拼接成32位的总线宽度,实现与ADSP-TS201S的无缝接口。根据不同的总线宽度(32位和64位),ADSP-TS201S的地址总线与SDRAM的连接有所不同,但控制总线的连接方式没有太大的差异。
①对于32位数据总线直接相连,地址总线互联方法如下:
●SDRAM地址bit9~0与ADSP-TS201S addr9~0相连。
●SDRAM地址bit0与ADSP-TS201S的sda10引脚相连。
●SDRAM地址bit15~11与ADSP-TS201S addr15~11相连。
②对于64位数据总线,数据线直接互连,地址链接方式如下:
●SDRAM地址bit9~0与ADSP-TS201S addr10~1相连,ADSP-TS201S addr0悬空。
●SDRAM地址bit10与ADSP-TS201S的sda10引脚相连。
●SDRAM地址bit14~11与ADSP-TS201S addr15~12相连。
另外对于标准的SDRAM(3.3V),ADSP-TS201S的地址线addrl5~11都可以作为bank的选择线。对于低功率的SDRAM(2.5V),只有addr15~14可以作为bank的选择线。因此在进行接vi设计时一定注意所选择SDRAM的电参数。
(2)SDRAM接口控制寄存器配置。ADSP-TS201S内部集成了SDRAM控制器,使用硬件映射的方式对SDRAM进行管理,进而优化数字信号处理中SDRAM的使用性能。地址的映射通过页面大小和总线宽度进行译码对应。在对SDRAM数据访问之前,须先对系统寄存器和SDRAM控制寄存器进行设置,只有相应的寄存器设置完全正确,才能正常的访问SDRAM数据。
(3)SYSCON寄存器设置(数据对齐方式)。在处理器硬件复位后运行用户程序前,必须先设置系统寄存器SYSCON。在该寄存器中对系统的总线宽度进行定义,可以将处理器的外部数据总线定义成32位或64位。值得注意的是,无论是内部寻址空间还是外部存储器寻址空间,只要它们被设置了64位总线宽度、多处理器的寻址空间也必须同时设置成64位总线宽度,否则他们将不能正常工作在64位总线宽度。
(4)SDRCON寄存器设置。对SDRAM的编程控制是通过寄存器SDRCON实现的。与寄存器SYSCON类似,对SDRCON的配置必须在处理器硬件复位之后访问SDRAM之间完成,且这部分的程序应该在系统的初始化程序之中。在多处理器中,所有处理器的SDRCON寄存器必须设置成相同的配置。
3)多片DSP间的数据传输方法。由于ADSP-TS201S系列处理器具有4个全双工的链路口通信端口,因此对于多片ADSP-TS201S之间的数据通信,通常是采用链路口通信接口(Link口)来实现点对点的数据通信。
4)DMA方式的数据访问。在对少量数据进行访问时,通常采用直接对其他地址进行访问的方式。但是如果需要访问或传输的是大量数据,则通常采用DMA的传输方式。通过该方式,数据传输和DSP的运算可以同时进行,使得DSP的处理效率能得到进一步的提高。
2、ADSP-TS201S中数据处理方法的优化(实时处理)
ADSP-TS201S是一款针对高速信号处理设计的DSP,得益于强大的硬件和优化的体系结构,使得该DSP的处理速度能够超过通常的DSP,进而实现实时处理。
从优化的层次讲,算法的并行优化通常有这样几个方面,首先最直接的是在CPU结构允许范围内尽可能的指令并行,这一点与处理器有很大的相关性;二是通过循环展开及软件流水来提高并行度,避免流水线延迟,这个层面的优化灵活性很大、比较复杂,但不需要对算法结构作太多的了解;最后一点是根据处理器特性,从数学上重新优化算法结构。然而需要注意的是,在应用中常常以相反的顺序根据实际需要进行必要的优化,当代码已进行软件流水并充分并行后再想去改变算法的基本结构,就显得不是那么容易了。