基于cpld和dsp的高速外部接口

上传人:第*** 文档编号:30667274 上传时间:2018-01-31 格式:DOC 页数:5 大小:147KB
返回 下载 相关 举报
基于cpld和dsp的高速外部接口_第1页
第1页 / 共5页
基于cpld和dsp的高速外部接口_第2页
第2页 / 共5页
基于cpld和dsp的高速外部接口_第3页
第3页 / 共5页
基于cpld和dsp的高速外部接口_第4页
第4页 / 共5页
基于cpld和dsp的高速外部接口_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《基于cpld和dsp的高速外部接口》由会员分享,可在线阅读,更多相关《基于cpld和dsp的高速外部接口(5页珍藏版)》请在金锄头文库上搜索。

1、基于 CPLD 和 DSP 的高速外部接口摘要:在了解 CPLD(Complex Programmable Logic Devices)和 DSP(d igital signal processor)的基础上,利用 CPLD 强大的逻辑功能和 DSP 的高速运算能力,实现对外部接口的高速无缝连接,以提高DSP 访问外设的速率,充分发挥其高速运算能力。关键词:DSP ;CPLD;TMS320C6201;Quartus II;接口Based on CPLD and DSP high speed exterior connectionAbstract: This article in underst

2、ands CPLD and in the DSP foundation,Using CPLD formidable logical function and DSP high speed operational capability,Realization to exterior connection high speed seamless connection,Enhances the DSP visit peripheral the speed, displays its high speed operational capability fully.Key words: DSP CPLD

3、 TMS320C6201 Quartus II Connection0 引言DSP 虽然在算法处理上功能很强大,但其控制功能是非常弱的;而 CPLD 本身并不具有内部寄存器,虽然可以用 CPLD 的逻辑块来实现寄存器,但是这将耗费大量的 CPLD 资源。然而,CPLD 的强项在于时序和逻辑控制。本文介绍的逻辑控制系统就是充分利用了DSP 和 CPLD 的优点,将多个 A/D 转换单元通过 CPLD 映射到 DSP 的 I/O 地址空间,利用 CPLD 屏蔽 A/D 转换的初始化以及读写操作过程,使得 DSP 可以透过 CPLD 这个黑匣子 快速、准确地从外设中获取数据。1 CLPD 与 DSP

4、 简介1.1 CLPD 简介复杂可编程控制器件(CPLDComplex Programmable Logic Devices)是随着半导体工艺不断完善、用户对器件集成度要求不断提高的形势下所发展起来的产物。当前 CPLD 的规模已从取代 PAL 和 GAL 的 500 门以下的芯片系列,发展到 5000 门以上,现有上百万门的 CPLD 芯片系列。随着工艺水平的提高,在增加器件容量的同时,为提高芯片的利用率和工作频率,CPLD 从内部结构上作了许多改进,出现了多种不同的形式,功能更加齐全,应用不断扩展。CPLD 是由三大部分组成的。一个二维的逻辑块阵列,构成了 PLD 器件的逻辑组成核心。输入

5、/输出块。连接逻辑块的互连资源,连线资源由各种长度的连线线段组成,其中也有一些可编程的连接开关,它们用于逻辑块之间、逻辑块与输入/输出块之间的连接。1.2 DSP 简介DSPs 的速度较快,要求译码的速度也必须较快。利用小规模逻辑器件译码的方式已不能满足 DSP 系统的要求。同时,DSP 系统中经常需要外部快速部件的配合,这些部件往往是专门的电路,可由可编程器件实现。CPLD 的时序严格、速度较快、可编程性好,非常适1 周遐(1959),男,1982 年毕业于云南大学,高级工程师 副教授 研究方向:电子技术、通信技术 图 1 典型的 PLD 的框图 图 2 TMS320C6201 的硬件体系结

6、构合于实现译码和专门电路。本文的介绍的是美国 TI(Texas Instrument,德州仪器,简称 TI)公司的 TMS320C6201 芯片。内部包含三个主要部分:CPU、存储器和辅助资源。图给出了TMS320C6201 的硬件体系结构。2 设计原理2.1 设计思路首先构建系统框架如图 3 所示:图 3 系统框袈由图可以看见,在 DSP 上连接了若干外设,只要知道外设的地址,通过地址映射的方法,DSP 可以方便的访问这些外设。以下为 MAP1 方式下的 DSP 内存映象图,未列的空间为没有定义。起始地址#长度 用 途 备 注0x0000,0000#10000 内部程序存贮器(IPM) 64

7、KB0x0040,0000#80000 SBSRAM 512KB0x140,0000#0x200000 FLASH 2MB0x160,0000#0x80000 控制寄存器定义0x168,0000#0x80000 为用户保留的异步接口空间 UCE1#0x170,0000#0x1000 双口 RAM 定义0x178,0000#0x20 RS422 控制寄存器定义0x200,0000#0x1000000 SDRAM1 16MB0x300,0000#0x1000000 SDRAM2 16MB0x8000,0000#0x10000 内部数据存贮器(IDM) 64KB当片内的 RAM 容量不能满足系统的程

8、序/数据空间要求时,用户必须在片外进行存储器扩展,这就需要利用外存储器接口(EMIF) 。实际上,DSP 内部各个模块与片外的存储器打交道时,都必须通过 EMIF 的控制。EMIF 支持的存储器包括:同步突发静态 RAM ( SBSRAM );同步动态 RAM ( SDRAM) ;异步器件(包括异步 SRAM , ROM 和 FIFO 等,EMIF 为它们提供了高度可编程的接口时序,以满足不同的需求) ;外部共享存储空间的器件。需要强调的是,C6000 用的 EMIF 第一次对这些存储器提供了无缝接口(glueless intederface)能力,这给开发人员带来了极大的方便。在 C6000

9、 中,异步接口的每个读 /写周期由三个阶段构成:建立,触发,保持。建立:从存储器访问周期开始(片选、地址有效)到读/写有效之前。触发:读/ 写信号从有效到无效。保持:从读/写信号无效到该访问周期结束。CEx 空间控制寄存器对于读和写操作的这三个阶段的时间是可以进行独立的设置的。需要注意的是,建立时间和保持时间可设置的最小值是 l (单位是 CPU 时钟周期) ,如果用户设置为 O ,系统将当作 1 看待。保持时间可以设置为 0 。另外,不论是连续存取操作,还是单次存取,在存取第一个数时,EMIF 会自动维护最小的建立时间为 2 ,即便是用户将 setup time 设为 1 ;读取最后一个数据

10、后,CEx 信号将在保持(7-hold time )个时钟周期后恢复为高;写完最后一个数据后,CEx 信号将在( 3 + hold time)个时钟周期为高 ,如果 hold time 位设为 0, CEx 信号在 4 个时钟周期后恢复为高。2.2 ROM 接口设计在 ASRAM 设计中我们没有用到/ARE 和 ARDY 信号。其中地址空间信号实际是从CPLD 映射过来的,并非 DSP 内部自行运算得到的。ROM 接口设计:ROM 在接口时序上,与 ASRAM 基本没什么不同。它的特殊性有两个,一是只有读操作,二是空间配置有所讲究。C6000 EMIF 的异步接口支持 8bit/16bit R

11、OM 存取。当从这些所谓“窄存储器空间”读取数据时,EMIF 会自动将多次读的数据合成一个 32bit 值 EMIF 在这种情形下工作时:不管存取的存储器的宽度怎样,每次读始终是按 32bit 进行的。输出的地址会自动进行移位,这保证了在对窄存储器存取操作时提供正确的地址。对 16bit ROM,地址自动左移一位,对 8bit ROM,地址自动移两位。移出的高位地址被舍弃。EMIF 总是先读取较低地址的数据,将其排在 LSB ,再读取下一个数据,依次放在较高的字节位置。这意味着,不论用户将芯片的 LENDLAN 位设置为何值,ROM 中数据的存放必须是 little endian 的。在 RO

12、M 的设计中:第一,没有用到写信号;第二,虽然是 8bit/16bit ROM,仍然是EA2(EMIF-侧)与 A0(ROM-侧)相连;第三,ROM 的片选信号 CS 很明确地是与 CE1相连。这是因为 C6201 的 4 个外部存储空间 CE0-CE3 中,只有 CE1 可以与 8bit/16bit 的“窄存储器”接口:需要用到 ROM boot 时,ROM 是必须配置在 CE1 空间的。图 4 SRAM 接口关系框图 图 5 LASH 存储器接口关系框图2.3 FLASH 存储器接口设计一般来说,闪存的读操作与先写入的 ASPAM 是完全相同的,只是写操作相对而言要复杂些,原因在于闪存写入

13、时,需要先写入一串命令字序列。但从接口设计的角度而言,闪存与前面的 ASRAM/ROM 在接口设计上基本一致,并没有什么特殊的地方。关键是在应用时需要根据具体芯片的要求,在软件上配合完成写操作。Flash 型存储器的写操作由清“0”、置“1”和编程操作构成,清 “0”和置“1” 操作按扇区(一块存储区) 。本文提到的 FLASH 存储器的起始地址为 0x140,0000,长度为 0x200000,当地址映射到其中的区间时,DSP 访问 FLASH。RS422 是一个接口电路,通过提供平衡电路来改进接口电气特性,通过传输线驱动器将逻辑电平变为电位差,实现信息传送。通过传输线接收器将电位差变为逻辑

14、电平,实现信息接收。因而可以支持较高的传输速率和较长的传输距离,在最大传输率 10 Mb/s 的情况下,电缆允许长度为 120m;如果采用低传输率,如 90kb/s 时,最大距离可达 1200m。UCE1(为用户保留的异步接口空间)的起始地址为 0x168,0000,长度为 0x80000。保留一定的异步接口空间不是必须的,但是对用户来说是非常方便的,用户可以根据自己的需求自主的来定义这部分空间。3 利用 Quartus II 进行仿真测试与结果分析连接接口仿真波形:图 6 连接接口仿真波形图从仿真结果中可以看出 AEB_DG 和 AEB_DDIR 的传递延迟大约为 10ns。为看清系统是否有

15、芯片感应时间引起的延迟,所以在测试中引入 HOLDA 在 40ns-45ns 时为 0,由仿真结果可以看到没有明显的芯片感应时间引起的延迟。在 AEB_DDIR 的后段见到了一些不正确的尖峰信号,这些尖峰信号称为“毛刺” 。如果一个组合逻辑电路中有“毛刺”出现,就说明该电路存在“冒险” 。所以要消除竞争冒险的发生条件,避免毛刺的产生。毛刺并不是对所有的输入都有危害,例如 D 触发器的 D 输入端,只要毛刺不出现在时钟的上升沿并且满足数据的建立和保持时间,就不会对系统造成危害,因此可以说 D 触发器的 D 输入端对毛刺不敏感。 根据这个特性,应当在系统中尽可能采用同步电路,这是因为同步电路信号的

16、变化都发生在时钟沿,只要毛刺不出现在时钟的沿口并且不满足数据的建立和保持时间,就不会对系统造成危害。 (由于毛刺很短,多为几纳秒,基本上都不可能满足数据的建立和保持时间)所以该处可以在 AEB_DDIR 输出信号前连接一个或一组 D 触发器,利用 D 触发器的 D 输入端对毛刺信号不敏感的特点,在 AEB_DDIR 输出信号的保持时间内,用触发器读取组合逻辑的 AEB_DDIR 输出信号,这种方法类似于将异步电路转化为同步电路。接口测试仿真波形一:从仿真结果看到,当地址映射为 140,0000 时,DSP 访问外设 Flash,与设计要求一致,同时 FL_CE1、FL_OE 和 FL_WE 的延迟大约为 9ns,是内部传递的时间延迟,没有芯片感应时间引起的延迟。 图 7 接口测试仿真波形一图 图 8 接口测试仿真波形二图接口测试仿真波形二:从仿真结果看到,当地址映射

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 工程造价

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号