ADSP-TS201评估板系统概述_第1页
ADSP-TS201评估板系统概述_第2页
ADSP-TS201评估板系统概述_第3页
ADSP-TS201评估板系统概述_第4页
ADSP-TS201评估板系统概述_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

1、基于ADSP-TS201评估系统概述1、ADSP-TS201的主要性能l 高达600MHz运行速度,1.6ns指令周期。l 24Mbit片内DRAM。l 双运算模块,每个计算块包含一个ALU,一个乘法器,一个移位器,一个寄存器组和一个通信逻辑运算单元(CLU)。l 双整数ALU,提供数据寻址和指针操作功能。l 集成I/O接口,包括14通道的DMA控制器,外部端口,4个链路口,SDRAM控制器,可编程标志引脚,2个定时器输出引脚等用于系统连接。l 通过共享总线可无缝连接多达8个TigerSHARC DSP。ADSP-TS201的性能直接决定了其主要优点有:l 提供高性能静态超标量DSP操作,专门

2、优化适用于通信和需要多DSP处理器的应用。l 优异的DSP算法和I/O性能表现。l DMA控制器支持14个DMA通道,可完成片内存储器,片外存储器,存储器映射外设,链路口,主机处理器和其他多处理器之间的低开销的高速传输。l 非常灵活的指令集和支持高级语言的DSP结构便于DSP编程。l 可扩展的多处理器系统,连接时仅需很低的通信开销。表1显示了ADSP-TS201的性能指标。 表1 ADSP-TS201通用算法性能Table 2-1 general purpose algorithm benchmarks on ADSP-TS201性能指标速度时钟周期1024点复数FFT(基2)15.7s941

3、964K点复数FFT(基2)2.33ms1397544FIR滤波器(每个抽头)0.83ns0.58888矩阵乘(复浮点数)2.3s13992、系统的整体结构在系统中,ADSP-TS201作为主DSP芯片,是处理核心,主要完成信号处理所要求的各种算法的实现。该芯片速度快,运算精度高,很适合浮点应用的开发。系统的逻辑控制、译码等功能由一片FPGA芯片来实现,因其具有灵活和紧凑的特点。除此之外,电路系统中还包含了硬件电路和软件算法得以实现所必须的辅助电路。其中包括512K×8位FLASH存储器,在系统中用于装载用户程序,可供硬件仿真和脱机运行,并可实现“自启动”。在存储器方面,由于有专用的

4、SDRAM接口,可以方便地使用32MB (4M x 64bit) SDRAM,用于片外存储器的扩展,使系统具有速度更快,容量更大的数据存储空间。ADSP-TS201上设置了符合IEEE1149标准的JTAG标准测试接口及相应的控制器, 从而不但能控制和观察多处理器系统中的每一个处理器的运行, 测试每一块芯片, 还可以用这个接口来装入程序,进行片上仿真。用电缆使计算机通过PCI插卡与Summit-ice仿真盒相连,用14芯JTAG 接口线连接到DSP目标板上。实验系统中还设置了按键,用于设置外部中断,LED灯,用于显示程序结果。此外还配有与PC机进行串行通信的USB接口23。本系统中采用了共享总

5、线系统与分布式并行系统混合的簇式结构。共享总线结构具有各处理器共享片内存储器和片外存储器的优点,实现无缝连接,并具有总线仲裁逻辑,可以充分利用各处理器的数据资源。分布式结构实现处理器间点对点传送,解决了共享总线的瓶颈问题。结合二者优点可以使多处理器系统适合同时处理很多不同的任务,高度并行,灵活性强15。总之,系统方案从全局设计的角度出发,更好地利用了芯片的特点,采取了更有效的设计,使电路功能更加丰富全面,有利于完成数字信号处理模块的功能。系统的整体结构如图1所示:图1 基于ADSP-TS201提出的系统设计方案3、系统硬件设计系统硬件设计包括:硬件设计方案、DSP及周边器件选型、原理图设计、P

6、CB设计等。本实验系统包含ADSP-TS201处理器及其上电复位电路、电源电路、系统时钟电路、SDRAM扩展电路、程序存储及启动调试Flash电路,一个用于逻辑控制的FPGA电路,用于ICE调试的JTAG口,用于与PC机通信的USB接口电路,以及用于测试的LED灯、按键接口。下面将分别介绍系统各部分电路。3.1、DSP处理器模块设计DSP模块是整个系统设计的核心,本系统采用两片ADSP-TS201芯片。本章将从系统设计的角度,介绍ADSPTS201芯片在连接方式,存储器组织、链路口连接、通用接口及外部中断的应用方面的特点,讨论该芯片系统设计中的辅助性问题。3.1.1、 双处理器连接方案随着VL

7、SI器件开关速度、连线延时以及VLSI理论特征尺寸限制的极限,单片处理器性能的进一步提高将越来越困难,而依靠提高主频率来提高性能的方法也越来越行不通。所以人们对运算速度的无限追求是不能通过单个处理单元的发展而实现的,只能通过并行处理技术来实现。面对宽带数字化和高抽样率、高精度带来的巨大数据量,必须采用多处理器并行处理技术。并行处理技术涉及的方面很广,包括网络拓扑结构、系统结构、算法研究等多方面。并行多处理器系统硬件平台的设计,主要应考虑根据具体应用的特点,决定采用什么样的体系结构来组成并行处理系统,以发挥系统的最佳性能,达到最好的处理效果。ADSPTS201之间的数据传输通道可选择的只有以下两

8、种方式:高速链路口和高速外部总线口。由多ADSPTS201组成的DSP系统从数据传输方式来看,不外乎以下3钟模型3:l 高速链路口耦合模型,又称为松耦合方式。l 高速外部总线口耦合模型,又称为紧耦合方式。l 高速链路口与高速外部总线口混合耦合模型。从数据流来看,高速链路口耦合模型中数据传输是串并行方式,而高速外部总线耦合模型是并行模式。前者适应于流水处理方式,后者适应于并行分布式处理方式。下面分别介绍一下三种连接方式的特点。1、 高速链路口耦合模型以高速链路口耦合组成多DSP系统,结构简单,有很高的数据传输速率。ADSPTS201的一个高速链路口单向通信包含了4位数据,时钟与握手信号一共12条

9、引线,双向通信要24条引线。在内核时钟为500MHz时,单向数据传输最高可达55MB/s,双向数据传输率可达1GB/s。用高速外部总线耦合方式,及时采用100MHz的SCLK,64位总线口,用最快的流水操作协议,不加任何等待周期,双向数据传输速率仅为800MB/s。链路口的点对点通信具有很高的传输可靠性。只要通信协议与链路口的通信协议相同,链路口也可以实现TigerSHARC DSP与外围其它设备通信,如FPGA等。采用高速链路口耦合的多处理器系统,仅需要链路口实现DSP片间通信,就可以实现无缝连接,并且避免了总线仲裁问题。高速链路口耦合模型的示意图如图3-1所示16。图3-1 高速链路口耦合

10、模型Figure3-1 high speed link port model2、 高速外部总线耦合模型以高速外部总线耦合方式组成多DSP系统,可实现在多DSP系统内的资源共享。系统中的各处理器可共享RAM、SDRAM和主机等资源,还可共享其它处理器核内资源。ADSP-TS201提供了专门的多处理器系统仲裁逻辑,最多可以由8片DSP构成多处理器系统,可通过、等引脚进行自动总线仲裁,而不需要附加任何其它仲裁逻辑。ADSP-TS201通过外部引脚ID20为每个独立的处理器分配了统一的存储空间,每个处理器通过外部口传输数据。高速外部总线耦合模型可形象表现为图2。图 2 高速外部总线耦合模型3、 高速外

11、部总线与高速链路口混合耦合模型为兼顾数据传输速率、资源共享、结构简单以及PCB设计方便等因素,可采用混合耦合模型。在本系统中,为尽可能利用ADSP-TS201的所有资源,我们便采用混合耦合模型,将2片DSP处理器的总线口都相互连接好,各DSP之间的高速链路口也都连接,建立DSP到DSP的点对点通道与DSP间资源共享的工作块模式。由于只有两片处理器,所以只使用了和引脚,对于没有使用的需要上拉处理。而在链路口连接方面,充分考虑到为使PCB阶段布线方便,而将两处理器以相互倒置的方式码放,这时四个链路口两两相对,将两片的LINK0和LINK2互连,LINK1和LINK3互连,这时可使布线无任何交叉,从

12、而使高速的链路信号不会因布线过长或过孔而产生衰减。采用两种方式结合使用,会有更高的多处理器内部传输速率,全部资源的高速应用可提供超过4GB/s的数据传输。本系统的双DSP连接方案如图3所示。图3 高速外部总线与高速链路口混合耦合模型3.1.2、 DSP存储器配置方案 ADSPTS201的32位地址总线提供了高达4GB的寻址空间,整个寻址空间对共享总线的所有单元都适用。ADSPTS201采用的是统一的存储器映射空间,片内和片外存储器都有单独而且唯一的地址空间。整个映射空间包含4个部分:主机空间、外部存储器空间、多处理器空间和片内存储器空间。除了主机空间外,每个空间又包含更小的存储空间,如外部存储

13、器寻址空间还有SDRAM空间等。另外,无论处理器内部寻址空间还是外部寻址空间,TigerSHARC处理器还保留了部分空间用于未来新处理器的扩展,但就目前处理器而言,这些保留空间都是不可以访问的。图4 ADSP-TS201的存储器映射ADSPTS201处理器寻址空间映射如图4所示。可以看出,ADSPTS201的整个寻址空间由以下几部分组成:(1) 片内存储空间,定义了处理器内部存储空间的地址映射,地址范围是0x000000000x03FFFFFF。(2) 多处理器空间,用于由多处理器构成的系统中,各个处理器之间相互共享处理器的内部存储器空间映射,地址范围是0x0C0000000x2FFFFFF。

14、(3) 外部存储块空间,用于处理器外围设备存储器接口的地址映射空间,包括通用的外部存储器设备和SDRAM存储器,地址映射范围是0x300000000x7FFFFFFF。(4) 主机寻址空间,用于片外主机接口的地址映射空间,外部主机可以是主机或者其它处理器,地址映射范围是0x800000000xFFFFFFFF。3.1.3、链路口连接设计TigerSHARC DSP的链路口为处理器内部或外部的数据传输提供了一个快速、独立的通信机制,它为系统中TigerSHARC之间提供了一种点对点的通信方法,同时也可供TigerSHARC与其它使用相同协议的I/O设备连接通信。由于链路口通信协议比较简单,并且具

15、有较高的数据传输率,因此它是构成多处理器系统的一个有效的组成部分2425ADSP-TS201有4个全双工链路口通信口,采用LVDS(Low Voltage Differential Signaling)电路,提供额外的4位全双向I/O能力。每个链路口都有一个接收通道和一个发送通道,均可独立地进行接收和发送操作,即以双倍速率(最高为CCLK时钟的上升和下降沿)锁存数据。与早先的ADSP-TS101相似,ADSP-TS201的链路口可以通过处理器核访问,也可以通过DMA的方式进行访问,不同的是,ADSP-TS101采用LVTTL进行数据传输,而ADSP-TS201采用LVDS进行数据传输,从而可以

16、使链路口工作在更高的时钟频率,获得更高的数据传输速率,以提高处理器的性能。当处理器核工作在500MHz时,每个链路口单方面的吞吐量可以到达每秒500MB,每个链路口组合起来最高吞吐量每秒可以到达1GB。ADSP-TS201的链路口结构如图5所示:图5 ADSP-TS201的链路口结构每个链路口都有自己的双缓冲输入和输出寄存器。DSP的内核可以直接写链路口的发送寄存器和读接收寄存器,或DMA控制器通过8个专用的链路口DMA通道(4个发送,4个接收)进行传输。每个链路口有3个信号用于控制操作。发送时,引脚LxCLKOUT是输出发送时钟,引脚LxCLKI控制数据流的握手输入信号,而引脚LxPCMBO

17、输出信号指示块传输是否完成。接收时引脚LxCLKI是输入接受时钟,引脚LxCLKOUT控制数据流的握手输出信号,而引脚LxPCMBI输出信号指示块传输是否完成。LxDATO3-0是发送时的数据输出总线,LxDATI3-0是接收时的数据输入总线。通过ADSP-TS201芯片的TMR0E引脚,可将链路口的数据宽度设置为1位(默认)或4位。如果需要改变该默认值,只需在TMR0E和VDD_IO之间加一个500的上拉电阻即可。值得注意的是,由于ADSP-TS201的链路口采用LVDS方式进行数据传输,因此根据LVDS传输方式的要求,需要在接收方配置100的终端匹配电阻,这样才能使链路口正常工作并进行较高

18、速的链路口数据传输。在进行PCB设计时,链路口间的连接除了要遵循最基本的PCB设计原则外,还有更严格的要求:1、每一个连接链路的LVDS接收对都需要接100 (误差1%)的电阻,且要靠近接收引脚放置。2、链路口之间的连接应该是点对点的。3、对高速4-bit操作,链路口时钟信号应放在4组LVDS数据信号之间。4、链路时钟线应放置在链路数据线之间,且保持线之间距离尽量大,线的长度尽量短,过孔尽量少,因为LVDS对之间不应有信号或过孔。5、 最好把LVDS信号单独置于一层,且放于PCB的底层或顶层。电源层或地层位于LVDS下方,也可以把LVDS信号放在电源层和/或接地层的夹层中,总之与LVDS信号层

19、相邻的上下层不能是信号层。3.1.4、 系统时钟与复位设计ADSP-TS201处理器的系统时钟有四种,它们分别是:系统时钟(SCLK)、内核时钟(CCLK)、外设总线时钟(SOCCLK)和链路口输出时钟(LxCLKOUT)。其中系统时钟为外部总线口提供时钟,并且作为外部总线信号的AC规范参考。内核时钟为内核、内部总线、存储器以及链路口提供时钟,指令执行速度也等于CCLK。CCLK=SCLKSCLKRATx,其中SCLKRATx的取值范围为412。外设总线时钟,即SOC总线工作频率,等于1/2CCLK。链路口输出时钟等于CCLK/CR,其中CR为LCTLx中速度设置位,取其值范围为14。上述4个

20、时钟间的关系如图6所示:图 6 ADSP-TS201处理器系统时钟根据对外部总线口速度和CCLK、指令执行速度等因素的综合考虑,在本系统中,SCLK取100MHz,用于设置PLL的时钟倍率的N值由三个外接引脚SCLKRAT20决定,这三个引脚连接了拨扭开关,可随时手动调整倍频系数大小,此系数在默认状态下取5,这时核时钟可由SCLK倍频产生,即核时钟 CCLKN×SCLK=500MHz。系统时钟电路的原理图如图7所示:图7 时钟系统部分原理图由于该数字电路系统属于高速电路设计,所以在时钟同步方面要求较高,在同一电路板上的各个DSP的时钟用同一驱动器的各个门分别进行驱动,不应采取串行驱动

21、方式,更不能将不同频率的时钟源用同一个时钟驱动器进行驱动。为了保证各器件时钟同步,我们引入CY230926时钟匹配器件。该器件拥有内部时钟锁相环,可以将引脚输出的时钟信号分成9条相位频率完全相同的时钟信号。系统中只需使用5路,2路DSP,2路SDRAM,1路给FPGA,这样可以避免任一时钟信号因反射而对其他时钟造成影响。此外,本系统还采用一个100MHz的外部晶体振荡器作为外部输入的低频时钟源,然后通过初始化配置片内锁相环(PLL)将外部输入的低频时钟源倍频,为系统提供高频系统时钟。ADSP-TS201处理器中有三个引脚决定复位电路,RST-IN、RST-OUT和POR-IN。其中RST-IN

22、为复位输入,是芯片硬件复位引脚,设置DSP到一种确定状态并使程序处于空闲状态。根据复位操作类型,RST-IN必须在指定时间内得到确认。RST-OUT为复位输出,是RST-IN在芯片内部的同步延迟,表示DSP复位已经完成。POR-IN为内部DRAM电源复位。在本系统设计中,RST-IN必须连接到其它所有的器件来提供统一的复位时序,每个处理器应将RST-OUT引脚连接到POR-IN。对于复位电路,本系统中同时设计了上电复位电路和手动复位电路,在系统运行中出现故障时可方便地手动复位。ADSP-TS201芯片的上电时序如图8所示:图 8 ADSP-TS201上电复位时序ADSP-TS201芯片对复位信

23、号要求在内核电压、PLL供电、I/O电压、系统和内核时钟以及初始化引脚全部稳定后,保持2ms的低电平。图9 复位模块原理图根据DSP的复位要求,我们选择了MAX811复位芯片。该芯片结构简单,功能丰富,具有手动复位功能,可随时进行人工复位,是一款性价比很高的复位芯片。复位电路的部分原理图如图9所示:3.1.5、系统引导方案ADSP-TS201系列的DSP接口丰富,支持多种程序引导加载方式,可根据实际系统设计的需要灵活选用。所谓引导,就是TigerSHARC在复位的情况下,自动从片外装载程序代码。用户在Visual DSP+下调试成功后,就要考虑如何在无仿真器的状态下,把代码加载到TigerSH

24、ARC的片内或片外存储器中。只有一种例外,那就是TigerSHARC和非易失的外部存储器相连,而且外部存储器是32位宽,复位后TigerSHARC直接执行外部存储器中的程序代码,这称为“非引导”模式。ADSP-TS201的引导方式可分为以下四种:EPROM/FLASH引导,TigerSHARC作为主动方,用外部口输出地址、读、BMS等控制信号,从EPROM或FLASH中加载代码;主机引导,TigerSHARC作为被动方,不向外部输出控制信号,外部主机或其它设备向TigerSHARC的主机、链路口传送要加载的代码;链路口引导,通过处理器的链路口实现程序的引导和加载;非引导方式,通过外部不同的St

25、rap信号,从内部存储器的不同地址开始执行程序。在四种方式中,前三种需要引导程序内核,而且都有相同的引导过程:首先,TigerSHARC自动启动一个DMA,自动把256字(32位)传送到内部存储器的地址0x000xFF,接着,执行上述256字指令(称为加载核),加载核启动其它DMA,把后续指令和数据加载到内部或外部存储器,最后加载核自我覆盖32。由于本系统采用了簇式结构的并行方式,这就使得引导方式的选择非常灵活。可以两片TigerSHARC都通过引导FLASH进行加载,也可以任一片TigerSHARC先由FLASH加载,再通过任意链路口或共享总线对另一片TigerSHARC进行加载。下面分别介

26、绍这两种引导方式27。FLASH引导:在该引导模式下,引脚和作为输出分别接FLASH片选和输出使能,FLASH的8位数据线接TigerSHARC的DATA0DATA7。在本系统中,多处理器共享总线,可以由一片FLASH对两片TigerSHARC加载,具体实现方法是将所有两片TigerSHARC的管脚接在一起,但只有主处理器驱动。FLASH芯片的具体接法详见FLASH设计分一节。链路口引导:ADSP-TS201处理器的任何一个链路口均能用于引导。链路口引导使用TigerSHARC的任何一个链路口DMA通道。处理器引脚在复位时为高电平状态,复位之后进入空闲状态,等待着链路口来启动。本系统中,将第一

27、片DSP设置为主引导模式,从片外FLASH加载,引脚接低。第二片DSP设置为引导模式,从第一片的链路口加载代码,引脚接高。ADSP-TS201的引导方式决定于引脚,该引脚是一个复用引脚,有第二功能,具体描述如下:表2 引脚功能描述Table 3-1 the pin function 信号作用于引脚描述EBOOTEPROM引导0=复位后立即从EPROM引导(默认)1=复位后进入空闲状态,等待外设通过外部端口或链路口引导在硬件设计时对引脚设计了一个拨扭开关,从而使两片DSP方便选择各种引导模式。此外,在多片处理器系统中,每个处理器都要有一个自己的ID号,用来识别各自的存储器映射空间。我们分别对两片

28、处理器的ID02进行了跳线设计,使它们可以改变自身ID号,使引导方式可以随时灵活调整。3.1.6、JTAG 在线仿真设计ADSP系列硬件仿真器是每个DSP开发者都需要的测试和调试软硬件系统的工具,它支持模拟器的大部分调试功能。仿真器通过一个名为JTAG的连接器与目标板上的DSP进行通信。因此,要使用这些仿真器,用户目标板上必须设计有ADI的JTAG DSP接口和仿真插座。JTAG是Joint Test Action Group的缩写,它符合IEEE 1149.1标准。集成电路固定在PCB上,通过边界扫描方式就可以对它进行测试。通过JTAG测试,仿真器能够访问DSP的内部,还可以转载代码,设置断

29、点,观察变量和存储器,检查寄存器。在发送数据和命令时DSP必须暂停,但当仿真器完成此次操作,DSP系统就可以全速运行,不影响系统的定时时序。在本系统中有两片ASDP-TS201芯片,所以需要设计一个串行连接的JTAG链来进行在线仿真。JTAG插座是一个14引脚的连接器,JTAG测试访问端口包括:TCK、TMS、TDI、TDO、引脚。为了避免噪声干扰和增强信号的驱动能力,应当将连接到仿真器的信号加4.7k左右的上拉电阻。此外,为了增加JTAG信号的驱动能力,使TCK信号的上升和下降沿单调快速,本系统设计有单独的缓冲器,这样可以产生更快的时钟并提高仿真能力。根据经验,我们选择了74系列245双向缓

30、冲芯片。JTAG的设计原理如图10所示:图10 JTAG设计原理图3.1.7、 DSP通用FLAG引脚,外部中断连接设计ADSP-TS201有4个可编程的I/O引脚(FLAG30),可以用来做输入输出。作为输出使用时,这些引脚可以驱动外设;作为输入使用时,它们可以用作条件分支的预测,默认在上电和复位后为输入。此外,ADSP-TS201还提供了4个外部重点输入引脚(),用于处理器的外部接口对程序流的控制。这4个中断源可以设置为边沿触发,也可以设置为电平触发,这可以通过SQCTL寄存器进行编程实现。若使能其中断,且该引脚输入有效,则发出一个中断。在本系统中,使用DSP通用FLAG引脚和外部中断引脚

31、连接按键和LED等,在程序运行中设置中断,可以方便观察结果。在设计时,将FLAG10-A、FLAG10-B与LED等相连,中间需加入74系列缓冲器,其它的FLAG引脚、-A、-B分别接入FPGA的通用I/O中。FLAG的引脚连接情况如图3-11所示。图11 DSP FLAG引脚连接3.2、FPGA设计TigerSHARC具有非常强大的运算能力,但整个系统往往还需要完成很多控制功能和简单逻辑。FPGA可以根据用户的设计对其内部功能进行编程和配置,使原先需要硬件电路完成的功能软件化,从而使系统具有设计周期短,设计更加灵活等优点。同时FPGA器件还有功能强大的设计软件作支持,使得FPGA成为解决系统

32、级设计的一个重要选择方案。综上所述,为了弥补TigerSHARC201逻辑控制能力的不足,在系统中采用DSPFPGA结构来实现优势互补。3.2.1 FPGA的基本结构简化的FPGA基本由5部分组成,分别为可编程输入/输出单元、基本可编程逻辑单元、嵌入式块RAM、丰富的布线资源、底层嵌入功能单元。每个单元的基本概念介绍如下:1、 可编程输入/输出单元输入/输出(Input/Output)单元简称I/O单元,它们是芯片与外界电路的接口部分,完成不同电气特性下对输入/输出信号的驱动与匹配需求。为了使FPGA有更灵活的应用,目前大多数FPGA的I/O单元被设计为可编程模式,即通过软件的灵活配置,可以适

33、配不同的电气标准与I/O物理特性;可以调整匹配阻抗特性,上下拉电阻;可以调整输出驱动电流的大小等。2、 基本可编程逻辑单元基本可编程逻辑单元是可编程逻辑的主体,可以根据设计灵活地改变其内部连接与配置,完成不同的逻辑功能。FPGA一般是基于SRAM工艺的,其基本可编程逻辑单元几乎都是由查找表(LUT,Look Up Table)和寄存器组成的。3、 嵌入式块RAMFPGA内部嵌入可编程RAM模块,大大地拓展了FPGA的应用范围和使用灵活性。FPGA内嵌的块RAM一般可以配置为单端口RAM、双端口RAM、伪双端口RAM、CAM、FIFO等常用存储结构。FPGA内部实现RAM、ROM、CAM、FIF

34、O等存储结构都可以基于嵌入式块RAM单元,并根据需求自动生成相应的粘和逻辑以完成地址和片选等控制逻辑。4、 丰富的布线资源布线资源连通FPGA内部所有单元,连线的长度和工艺决定着信号在连线上的驱动能力和传输速度。FPGA内部有着非常丰富的布线资源,这些布线资源用以完成器件内部的全局时钟和全局复位/置位的布线,器件Bank(分区)间的一些高速信号和一些第二全局时钟信号的布线及基本逻辑单元之间的逻辑互联与布线。5、 底层嵌入功能单元 底层嵌入功能单元是指那些通用程度较高的嵌入式功能模块,比如PLL、DLL、DSP、CPU等。3.2.2 FPGA的选型标准器件选型是一个综合性问题,需要将设计的需求、

35、成本压力、规模、速度等级、时钟资源、I/O特性、封装、专用功能模块等诸多因素综合考虑。通过对FPGA基本结构的分析,可以看出,在系统设计中,FPGA的选择标准主要依靠对FPGA的内部结构和用于实现可编程单元的半导体技术的判断 2829。在器件选型和规模估计上应考虑以下几个方面:1、 可编程I/O的数量,可支持的最高频率:在系统设计时需要确定FPGA应该能支持所需的I/O引脚数量,及在这些引脚当中有多少是通用的I/O引脚,有多少是用于特殊的功能,例如时钟输入、主复位段等专用I/O引脚。2、 底层配置单元的LUT和寄存器比率:一般来说,比较经典的基本可编程单元的配置是一个寄存器加一个查找表,但是不

36、同厂商的寄存器和查找表的内部结构有一定的差异,而且寄存器和查找表的组合模式也不同。设计时根据需求配置LUT和寄存器的比率,优化其内部的连接结构。3、 嵌入式块RAM的结构、数量及配置方式:不同器件商或不同器件族的内嵌块RAM的结构不同,Altera的块RAM最为灵活,一些高端器件内部同时含有3种块RAM结构,分别是M512 RAM(512bit),M4K RAM(4Kbit),M-RAM(512Kbit)。 4、 可供布线资源选择连通的底层单元模块。5、 内嵌专用功能模块的规模:包含DSP、CPU等软处理器核的FPGA可以满足不同场合的需求,从而由传统的硬件设计手段逐步过渡为系统级设计平台。3

37、.2.3 CYCLONE系列 FPGACyclone系列FPGA芯片是Altera公司最新推出的FPGA系列芯片,它以自己的高性能和相对低廉的价格迅速占领了市场。Cyclone现场可编程门阵列系列基于成本优化及全层铜SRAM工艺。相对竞争对手的FPGA,仅一半的成本,依然提供强大的功能。最高达20,060 个逻辑单元和288K 位的RAM。除此之外,Cyclone 系列的FPGA 还集成了许多复杂的功能。它提供了全功能的锁相环,用于板级的时钟网络管理和专用I/O接口,可连接业界标准的外部存储器器件。Cyclone容量是以往低成本FPGA 系列的四倍,每千个LE的批量价格低于1.50美元,它成为

38、编程逻辑新的定价标准。低成本结构和Cyclone FPGA 丰富的器件资源相结合,能够实现完整的可编程芯片系统(SOPC)方案,成为大批量应用的理想选择。Cyclone FPGA使用基于二维行列结构的模式来实现用户的逻辑。行列依照不同的速度需求,为各种信号在内部LABs和片内存储单元间提供合理有效的连接。逻辑序列由LABs组成。在每个LAB中,包含10 个LEs(Logic Elements)。LE是最小的逻辑构成单元,为用户的逻辑提供高效的实现方式。M4K RAM blocks 是片内集成的双口RAM存储单元,每个blocks有4K bytes 的存储容量。这些存储单元可以实现复杂的双口存储

39、器或单端存储器,并提供高达36-bit的带宽和200MHz 的访问速度。它们以列的形式分布在LABs之间,为各个LABs中的逻辑提供了最短连接到存储单元的组织形式。Cyclone FPGA的内部逻辑单元以blocks的模式组合在一起,每一个blocks都有独立的内部供电和I/O 供电端口。也就是说,对于与不同I/O电平标准连接的端口以及需要不同运行速度的内部逻辑单元,可以选择不同的供电电压,以便合理有效地分配整个芯片的功耗,提供更强的灵活行。Cyclone FPGA还提供了全局时钟网络和内部PLL模块。内部的全局时钟网络可以提供8条全局时钟线,网络遍及整个芯片,可为内部的所有LABs,LE以及

40、M4K RAM blocks提供时钟驱动。多条全局时钟线可为不同的逻辑模块提供不同的驱动时钟,专用的全局时钟线在逻辑实现的过程中可以有效地减小逻辑的复杂程度,保证信号的完整性,还可以从一定程度上减小系统的功耗。PLL提供了倍频和相移的功能,在外部晶振频率比较低的情况下,可满足各种高速LVDS信号传输所需时钟的要求。Cyclone系列FPGA的内部有291020060个逻辑单元,内部集成高速的M4KRAM blocks,根据blocks的数量不同,最大的RAM容量可达294912bits(36864bytes)。它采用新的串行配置器件的低成本配置方案,支持单端I/O 标准和差分I/O 技术,支持

41、高达311Mbps的低速LVDS信号和高达640Mbps的高速LVDS信号,支持LVTTL,LVCOMS,SSTL-2,SSTL-3 多种I/O标准。片内集成PLL,提供倍频和相移功能。片内有多达8条全局时钟信号线。专用外部存储接口电路集成了DDR FCRAM和SDRAM器件以及SDR SDRAM存储器件。在本系统中,FPGA芯片主要完成一些逻辑和交互控制,如FIFO存储块,与TigerSHARC通信握手,系统复位等。此外,还与其它芯片配合,实现与PC机通信的USB口传输功能。在综合系统实际设计过程中,考虑到上述控制逻辑的复杂度,I/O通用引脚的资源以及今后系统功能扩展的需要并且为了合理控制开

42、发成本,根据DSP系统逻辑实现的实际需要,我们选择了Cyclone系列FPGA中的EP1C6。这款芯片是ATERAL推出的一款高性价比FPGA,内部资源丰富,宏单元数量多。它的工作电压3.3V,内核电压1.5V,采用0.13mm工艺,全铜SRAM工艺。其密度为5980个逻辑单元。包含20个128×36位的RAM(M4K模块),总的RAM空间达到92160位。内嵌2个锁相环电路和一个用于连接SDRAM的特定双向数据率接口,工作频率高达200MHz,可供用户使用的I/O数最大为185个。该芯片还提供JTAG口和AS串行引导FLASH功能,方便用户的调试。3.2.4 FPGA子系统设计FP

43、GA的正常工作依赖于三大类型的引脚。除了用户自行定义的通用I/O输入输出以外,还有内核和I/O电压。最后一类就是与FPGA调试与引导相关的功能引脚。FPGA的I/O引脚使用分布如图12所示。图12 FPGA引脚使用分布这款CYCLONE芯片的下载可以由两种方式完成。第一种是使用JTAG方式。它不用引入其它芯片,只需要增加一个10针插座即可,这样的优点在于程序下载速度快。然而,由于它必须上电后手动执行,所以只用于实验开发阶段。由于芯片组织原理的原因,FPGA的内部逻辑在掉电后就会消失,因此在每次上电时都需要先对FPGA的内部逻辑进行配置,所以另一种下载方式是通过一片外接的FLASH芯片来实现下载

44、的。本系统使用被动配置芯片EPCS1完成对FPGA的上电配置工作。用于JTAG的下载线可同时烧写串行配置芯片,使操作更加简单。由于Cyclone FPGA具有以上所提到的各种丰富的内部资源,整个FPGA子系统变得非常简单:由EP1C3和EPCS1组成,主要工作都由软件上的FPGA内部逻辑的编写来完成,系统的稳定性得到进一步提高。FPGA下载方式设计的部分原理图如图3-13所示。在本系统中,我们同时设计两种下载方式:在系统调试初期,可采用上电后手动运行的方式;在系统调试后期性能稳定时,可直接使用JTAG下载方式。这样看似是冗余的电路设计,实际是为了增加调试经验,避免多层板不方便修改的弊端,从而达

45、到减小投资风险,提高系统实用性的目的。图13 FPGA设计部分原理图3.3、SDRAM设计 本系统在数据处理过程中,会遇到大量的临时数据。为了进一步扩大处理能力,系统通过外接SDRAM存储器来扩展片内存储空间。SDRAM与传统的DRAM不同,它使用同步接口,按照系统时钟频率每个周期传输一次,具有极高的数据吞吐量。ADSP-TS201处理器为SDRAM提供了专门的寻址空间,这些寻址空间通过SDRAM存储器引脚来选择,地址寻址空间范围为0x4000 0000到0x7FFF FFFF。TigerSHARC201本身拥有SDRAM控制器,这极大地方便了SDRAM的接口设计,不用外接电路或考虑时序,只需

46、要进行简单的控制寄存器SDRCON初始化设置即可。SDRAM控制器控制ADSP-TS201与同步DRAM间的数据传输。使用外部端口和SDRAM控制引脚,每个SCLK周期吞吐32位或64位数据。ADSP-TS201的SDRAM接口支持3.3V的标准SDRAM和2.5V的低压SDRAM,且提供标准SDRAM16Mbit,64Mbit,128Mbit和256Mbit,512Mbit的无缝连接。每个SDRAM块接口最大直接可连接64M 32 bit的SDRAM。基于SDRAM专用接口,物理连接得到简化。其中控制线和数据线可以直接连接,而地址线则要根据具体的使用特点来判断调整。本系统为了增加存储空间,最

47、大限度地使用总线吞吐率,决定采用64位的SDRAM。根据TigerSHARC201规定,结合使用的SDRAM的页尺寸,最终选择了Micron公司的MT48LC8M32B2芯片31。该芯片的特点为:1、容量为2128Mbit,配置成8M32bit。2、3.3V LVTTL标准SDRAM。3、具有四个块,每个页面大小为256个字。4、采用自刷新模式,刷新周期为64ms。5、所有的输入/输出数据都在SDCLK时钟上升沿采样有效。本系统由两个32位芯片组合完成64位功能,共提供64MByte存储空间,且多处理器共享SDRAM。ADSP-TS201与SDRAM的连接如图3-14所示。 图14 SDRAM

48、连接图考虑到ADSP-TS201的SDRAM控制器的特点,在实际连接时值得注意的是,脚SDA10用来给SDRAM提供特殊的控制。SDA10允许在刷新或者预充电命令过程中同时访问SDRAM的所有块,该引脚必须连接到SDRAM的A10。在正常读写操作时,该引脚为地址信号,当SDRAM刷新计数满时,该引脚作为DSP向SDRAM发出的刷新命令信号。即使在DSP被主机控制的模式下,该引脚也已通过特殊的设置,能访问SDRAM中所有的SDRAM组,从而使DSP可以对SDRAM器件进行模式的刷新。在64位数据总线系统中,SDA10替换A11,而且如果访问空间是的话,引脚A11不使用。 DSP地址线中的A14、

49、A13与SDRAM的BA1、BA0相连接,用于SDRAM的组选择。此外,在多处理器环境下,SDRAM可由多个DSP所共享,这时多个DSP输出的SDRAM的控制信号线应互联。SDRAM的输入信号总是由总线主处理器所驱动的,从处理器能检测这些命令。这种功能使ADSP-TS201在SDRAM刷新计数方面能保证同步,防止在总线权交接时进行不必要的刷新操作。 3.4、FLASH设计ADSP-TS201片内没有提供ROM,不能将应用程序和数据直接固化在DSP内部,通常需要将程序存放在外部存储器。系统复位后,处理器通过不同的端口和加载方式将程序调入处理器内部运行。ADSP-TS201的程序支持4种方式的程序

50、加载和引导:EPROM或者FLASH加载、主机加载、链路口加载和从处理器内部地址运行的非引导方式。如果在进行系统设计时FLASH并不是用来作为处理器程序加载和引导,而是作为实时数据存储的,那么此时的FLASH不需要通过EPROM接口进行连接,而只需将FLASH作为一般的外部存储设备连接即可。在实际连接中EPROM和FLASH接口完全一样,不同的是EPROM可以使用编程器将程序写入到EPROM后,再将EPROM插入到电路板上即可,而一般FLASH为表贴器件,不能插拔,需要由处理器将程序烧写到FLASH。在本系统运行过程中,需要执行FFT、FIR等一系列数字信号处理算法。这些算法需要一些蝶形系数和

51、窗的参数。如果使用时重新用公式计算,会大大降低系统的运算速度,所以如果提前将这些参数存储在掉电非易失性存储器中,在使用时就可以方便读取。在本系统设计中,FLASH除了可以用于引导外,还可以用于保存一些数据处理的参数,来提高系统整体运行速度。我们选择了ATMEL公司的AT49BV32233。该芯片具有功耗低、容量大、速度快、掉电后可以信息保留、又可以在线写入(写入前自动擦除)等优点,并且可以按页连续字节写入,读出速度高。与EEPROM相比,其具有更优越的性能和更低的价格。具体而言,该芯片的主要性能为:1、快速读取时间:70ns。2、单一电压下在线编程(编程前自动擦除)电压:2.7V-3.6V。3

52、、大存储容量:4Mbit(512kb×8)。4、以256字节为一页的页写入操作,片内带256字节的地址数据锁存.5、有位宽选择和写保护的功能。我们在系统中使用了两片上述FLASH芯片,存储空间共达到8Mb。在硬件连接方面,将FLASH两端的片选线都接入了FPGA中,并由FPGA内部生成需要的逻辑加以连接。FLASH的引脚连接原理图如图3-15所示。图15 FLASH设计原理图3.5、USB接口设计ADSP-TS201是一款浮点运算芯片。芯片内部设计结构着重速度和运算能力,而没有设计串口,在控制方面略显不足。为了调试方便,我们在系统设计中增加了扩展USB接口。这样,在DSP运算出结果后

53、,可以将数据发送至FPGA中,再通过USB接口发送至PC进行信号观测。系统使用的FT245BM芯片是美国FTDI公司生产的一种USB专用芯片3435。它具有功能强、体积小、传输速度快、易于与微处理器接口等优点。芯片内部主要由USB收发器、串口接口引擎(SIE)、USB协议引擎和FIFO控制器等构成,片内128byte的接收FIFO和384byte的发送FIFO使得芯片可以实现高速数据吞吐。而内嵌的EEPROM接口单元可外接串行存储器,用来存储USB取电模式及各种产品息。FT245BM还包括1个内置的3.3V的稳压器,6MHz的振荡器、8倍频的时钟倍频器、USB内部锁相环。与其它USB芯片相比,

54、应用FT245BM芯片进行USB外设开发,只需熟悉单片机(MCU)编程及简单的VC或VB 编程,而无需考虑固件设计以及驱动程序的编写,从而能大大缩短USB外设产品的开发周期。此外,FT245BM支持USB1.1及USB2.0规范,数据传输速度可达到1M byte/s。因此,FT245BM是开发USB外设所需接口芯片的极佳选择。3.5.1 USB芯片工作原理FT245BM芯片可实现USB接口与并行I/O接口之间数据的双向转换。一方面,当USB收发器从主机接收USB串行数据后,由串行接口引擎将数据转换成并行数据,存储在FIFO接收缓冲区,FIFO控制器检测到读信号RD为低,就把接收缓冲区的数据送到

55、并行数据线D0-D7上;另一方面,当FIFO控制器检测到写信号WR为高时,就从数据线D0-D7上读取并行数据,存储在FIFO发送缓冲区,并行数据经串行接口引擎转换成USB串行数据,再通过USB收发器传送到主机。可见FT245BM芯片自身就可完成数据转换,而不需要设计者考虑硬件设计细节。在本系统中,利用FPGA的可编程特性和总线共享结构,采用FPGA与USB相连的结构完成通信功能。FT245BM与FPGA的数据交互,主要通过8根数据线及读写控制线来完成,USB设计原理图如图16所示。图16 USB设计原理图FPGA中对应的Verilog HDL程序如下所示:module usb(inCLK,re

56、set,data_in,fdrxf,FDRD,outCLK,data_out,wr);input inCLK,reset,fdrxf;input7:0 data_in;output outCLK,wr,FDRD;output7:0 data_out;reg FDRD;reg7:0 data_out;reg outCLK,wr;reg count;reg 7:0temp_data;always(posedge inCLK or negedge reset)beginif(reset=0) FDRD<=1;else if(fdrxf=1) FDRD<=1;else if(fdrxf=

57、0)FDRD<=FDRD;endalways(negedge FDRD )begin temp_data7:0<=data_in7:0; data_out7:0<=temp_data7:0;outCLK<=0;wr<=1;endendmodule3.5.2 软件设计 当FT245BM的USB接口连接到主机后,必须在PC机上安装一个由FTDI公司免费提供的虚拟串行口VCP(Virtual COM Port)驱动程序。用户可以在这虚拟串口上进行应用程序的开发。该虚拟串口可以像一个标准的物理串口那样被访问。可本质上所有针对虚拟串口的数据通信都是通过USB总线完成的,在设备端则通过并行I/O口完成。在PC端,应用VB对虚拟串口(通常为COM3)进行应用编程。我们直接应用MSComm控件,将MSComm3.CommPort置为3,MSComm3.Seetings置为“9600,n,8,1”(该速率为默认设置,实际上VCP驱动程序总是使数据以最快速率传输);通过MSComm3.PortOpen设置COM3的开关状态;通过MSComm3.Input和MSComm3.Out

温馨提示

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

评论

0/150

提交评论