当前位置:首页 > 电源 > 数字电源
[导读]作为DSP 芯片与外界交换数据的重要关口,外扩存储器接口的优劣程度直接影响着DSP 的适应性和控制功能,同时,高性能、灵活性强的外部存储器接口也是利用DSP 搭建图像采集处理系统的重要保证。基于上述原因,本文提出了一

作为DSP 芯片与外界交换数据的重要关口,外扩存储器接口的优劣程度直接影响着DSP 的适应性和控制功能,同时,高性能、灵活性强的外部存储器接口也是利用DSP 搭建图像采集处理系统的重要保证。基于上述原因,本文提出了一种基于CPLD 的VC5402 存储器扩展方案,此方法具有接口灵活、调试方便的优点。


  图像采集处理系统中资源的配置情况

为了更方便地了解VC5402 与外部存储器的接口设计,本文首先介绍在设计的图像采集处理系统中VC5402的资源配置状况。


VC5402 有3 个比特位(MP/ MC # ,OVL Y,DROM)共同影响着存储器的结构,用户可以根据需要修改PMST的值来配置存储空间。


本文采用了微处理器模式,设置MP/ MC # = 1 ,片上4 k 字的ROM 不映射到程序区,即ROM 不可访问。设置OVL Y= 0 ,片内16 k 字的RAM 不映射到程序存储器,使64 k 字的程序存储空间全部配置成外部存储器,利用2 片SRAM(记为SRAM1 ,SRAM2) 存放采集到的图像数据。


DSP 每执行一次复位,都将DROM 清零,在系统中没有改变该比特位的设置, 这样使得数据存储空间的低48 k 字全都对应外部存储器,其中低32 k 字空间映射为外挂FLASH ,用来存放引导程序、中断矢量表和用户代码等内容,其他16 k 字的空间映射为SRAM(记为SRAM3)用来存放数据处理的结果。


对于扩展程序存储空间、扩展数据存储空间所需要的时延可以通过软件编程的方法对DSP 的等待状态寄存器(SWWSR) 进行设置,使之达到最快速度。这样就避免了使用硬件进行握手通信,简化了接口的设计。


  程序存储器的扩展

系统中实际采集到的图像数据量大约有1 M ×8 b ,而VC5402 的数据空间只有64 k 字,并且VC5402 内部具有16 k 字的随机存储器和4 k 字的只读存储器,远远不能满足存储要求,因此需要将数据空间扩展到1 MB才能实现图像数据的存储。由于VC5402 的程序空间可以扩展到1 M ×16 b ,而且具有专门访问扩展存储器的指令。考虑到数据空间扩展的复杂性,我们将采集到的图像数据直接存放在扩展的程序空间中。系统中选用两片SRAM( IS61LV5128AL–12) 用来存放原始数据,IS61LV5128AL–12 芯片是512 k ×8 b 的高速CMOS 静态存储器,存取速度为12 ns。


两片存储器接口的实现方案设计如图1 所示.其中SRAM-CE1 ,SRAM-CE2 ,OE ,WE分别为2 片SRAM 的片选信号、读使能信号、写使能信号,这些逻辑组合是通过CPLD 实现的。仿真波形图如图2 所示。

进行程序空间扩展时,DSP 地址线的A (0) ~A (19)位都是有效的。VC5402 的程序空间被组织为16 页,每页64 k 字。内部64 k 字的程序空间可以直接访问,当访问超过64 k 字的程序区时,DSP 并不能提供直接访问XPC寄存器的指令(程序空间是按页进行管理的,页地址放在XPC 寄存器中) ,这时使用WRITA 和READA 这两条指令可以对高端程序空间进行访问,要么把数据空间的数据送到程序空间,要么把程序空间的数据送到数据空间,采用累加器寻址方案才能影响XPC 寄存器的值。


这种方案的优点在于:不用进行数据区的扩展,直接利用VC5402 可扩展的程序区,简单方便。


 数据存储器空间的扩展

脱机运行是此系统最主要的特点,所以必须考虑到存放脱机程序这一问题。在采集处理系统中,将存放程序的FLASH 映射在VC5402 的数据空间,由于图像处理算法的复杂性,只靠VC5402 的数据空间难以满足需求,因此需要对VC5402 进行数据空间扩展。


系统中选用了FLASH 存储器SST39VF400A ,该芯片的容量是256 k ×16 b ,他是一种低电源电压芯片,工作电压为3. 3 V ,速度是70 ns ,能和VC5402 实现无缝接口,数据保存时间超过100 年,他具有容量大、掉电后数据不丢失、可在线快速读写、可整片或者分页擦除等特点,同时由于其内部已经固化了相应的程序,使用时只需向特定的地址写入特定的命令字序列,这样使得SST39VF400A 的读写操作非常简单灵活。


另外,扩展了64 k ×16 b 的SRAM( SRAM3 ,型号为CY7C1021) 用来存放数据处理的结果,映射到VC5402 的外部数据空间。CY7C1021 除了电源和地以外,还有几个关键信号引脚如CE # ,WE # ,OE # ,BL E ,BHE 等。BL E决定该芯片的低字节是否有效,即数据位的低8 位是否有效,而BHE 则决定芯片的高字节(高8 位) 是否有效,引脚为低电平时有效。因为VC5402 的数据线为16 位,即其所用的寄存器和存储器都应该是16 位, 所以应该将CY7C1021 的高低字节都使能,使其有效,将BHE ,BL E 通过360 Ω的电阻接地。


VC5402 的真正I/ O 引脚只有2 个BIO # 和XF ,而且是单向的,这样他的I/ O 引脚太少,满足不了设计的要求。本方案将VC5402 的数据总线D[ 0 :2 ]扩展为通用I/ O 口来弥补I/ O 口的不足。数据空间扩展的具体方法: 将CPLD 作为DSP 的1 个I/ O 口,DSP 的数据线D[ 0 :2 ] 接至CPLD 的输入端。当DSP 的I/ O 选通信号IOSTRB #和IS # 有效时, DSP 通过这个I/ O 向CPLD 写数据D[ 0 :2 ] ,在CPLD 内部进行逻辑组合,完成数据锁存,等到数据选通信号有效时,将锁存的数据输出,产生分页信号Page[ 0 :2 ] ,分别接在FLASH 和SRAM3 的高端地址上。


要访问扩展的数据空间,必须通过CPLD 产生的页信号进行选择。256 k ×16 b 的FLASH 被组织为8 页,每页为32 k字长,信号Page2 , Page1 , Page0 负责对FLASH 各页进行选择。64 k ×16 b 的SRAM3 被划分为4 页,每页为16 k字长,信号Page1 , Page0 负责对各页进行选择。在Flash中,每页的32 k 字被映射到数据空间的08000 H ~0FFFFH 区域;在SRAM3 中,每页的16 k 字被映射到数据空间的04000 H~07FFFH。页信号产生的程序如下:

CPLD-CS < = DSP-IS OR (NOT DSP -A7) ;

CPLD-CS-IO < = CPLD-CS OR DSP-RW

OR DSP-IOSTRB ;

CPLD-CS-M < = DSP-DS OR DSP-MSTRB

OR DSP-RW;

PROCESS(CPLD-CS-IO ,CPLD-CS-M)

BEGIN

IF CPLD-CS-IO =′0′THEN

QQ < = DSP-D ;

END IF ;

IF CPLD-CS-M =′0′THEN

Q < = QQ ;

END IF ;

END PROCESS ;


认真分析了本方案中VC5402 数据存储空间的分配特点后,使用VC5402 的DSP A15 和数据选通信号DS #的逻辑组合来选通FLASH 和SRAM3 ,具体的连接如图3所示,其转换逻辑由CPLD 编程实现。


外扩FLASH 和SRAM 的读写控制信号的逻辑也是在CPLD 中实现的,数据存储器扩展所需控制信号的仿真波形图如图4 所示。[!--empirenews.page--]

对FLASH 空间的某一地址进行访问时,应分为以下几步:

首先,解析该地址,进行地址分割,低15 位为页内地址,高3 位作为页选择地址;

其次,把页选择地址用PORTW 命令送到所分配的I/ O空间PA 中,等选通信号使能后,页地址就在所选存储器的高端地址线上;

 


最后,使用访问数据的指令。由于VC5402 的数据是16 位的,因此在调用数据指令时,需要16 位的数据。这里,低15 位来自所要访问的地址的低15 位,最高位补零。


要对Flash 存储器的高端进行访问,必须先对CPLD送数。如要寻址70000 H 存储单元时,假定AR3 辅助寄存器指向某一存储单元,CPLD 映射在VC5402 I/ O 空间的地址为PA ,其大致操作如下:

ST # 07H , *AR3

PORTW * AR3 ,PA


这样,CPLD 充当的锁存器将111 这3 位数给锁存住,在选通FLASH 时,将数据111 送至FLASH 的A15~A17端,然后再对DSP 存储器的地址0000 H 进行读写操作即可。

 

DSP 的扩展I/ O 端口

VC5402 仅有这2 个通用I/ O 引脚往往是不够的,DSP 为了一些特殊的需要提供了多个片上设备,比如3 个多功能串口、HPI 接口等。这些片上设备在系统中并没有用上,因此可以利用DSP 的扩展功能将这些设备的管脚扩展为通用I/ O 端口供系统使用。比如将HPI 端口的8 位并行数据线扩展为8 位I/ O 端口,用来和CPLD 进行通信,这些I/ O 口的扩展是通过对DSP 的相关寄存器进行相应的设置来实现的。


为了实现DSP 和CPLD 之间的交互,将HPI 的数据线用作通用I/ O 端口实现了VC5402 I/ O 口的扩展。HPI数据线扩展为通用I/ O 口的具体方法:在HPI 接口不允许,即在复位时HPIENA 引脚为低电平的情况下,使用2 个存储器映射寄存器(通用I/ O 控制寄存器GPIOCR 和通用I/ O 状态寄存器GPIOSR) 来控制HPI 数据引脚的输入输出。GPIOCR 和GPIOSR 在DSP 的物理地址分别是003CH 和003DH。


如要从扩展的HPI 口输出数据40 H ,需要进行以下3 步操作:

第一步:在复位时,将HPIENA 引脚置为低电平;

第二步:将通用I/ O 控制寄存器GPIOCR 的值设置为0x00FF ;

第三步:将通用I/ O 状态寄存器GPIOSR 的相应位设置为01000000 ,即40 H。

实现的程序代码如下:

STM # 0x003C ,AR3 ; 选中控制寄存器

ST # 0x00FF , *AR3 ; 将HPI数据端置为输出状态

STM # 0x003D ,AR3 ; 选中状态寄存器

ST # 0x0040 , *AR3 ; 输出数据40H


  结 语

利用CPLD 实现VC5402 的存储器空间扩展,大大简化了硬件电路的设计,编程灵活;调试时,只需对CPLD 电路进行调试,简单方便,此方案可以推广到其他便携式图像采集处理系统的存储器扩展中。。。 

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

数字信号处理器(DSP)在通信、控制、图像处理等多个领域扮演着越来越重要的角色。TMS320F2808PZA作为德州仪器(Texas Instruments)推出的一款高性能DSP控制器,其独特的架构和强大的功能使其在众...

关键字: tms320f2808pza 数字信号处理器 DSP

从世界上第一颗DSP诞生至今30年来,国际一线老牌芯片厂商长期占据领先技术和市场地位,国内芯片厂商在DSP上的声量很小。然而经过了6年的沉心打磨之后,湖南进芯电子开始在这一领域崭露头角。凭借着更贴近中国本土特色的差异化产...

关键字: DSP MCU 电机控制 进芯电子

Micro热插拔技术作为现代电子设备中常见的一种接口设计,其便捷性和灵活性得到了广泛应用。然而,关于Micro热插拔是否需要断电的问题,一直存在争议。本文将详细探讨Micro热插拔的原理、优缺点,以及在不同情况下是否需要...

关键字: Micro热插拔技术 现代电子设备 接口设计

正弦信号发生器是一种用于产生正弦波信号的电子设备,广泛应用于通信、测试和测量等领域。该发生器主要由两部分组成:正弦波信号发生器和调频、调相、键控等信号产生部分。

关键字: 正弦波信号发生器 CPLD

今天,小编将在这篇文章中为大家带来数字信号处理器DSP的有关报道,通过阅读这篇文章,大家可以对它具备清晰的认识,主要内容如下。

关键字: DSP 数字信号处理器

DSP的国产替代不会是一件很容易的事情,但受到当前国际竞争态势的影响,本土开发者亟需拥有降本优势、供应链安全保证,以及能协助打造极高竞争力产品的DSP芯片。也就是说,发展国产DSP是不二选择。

关键字: DSP

将DSP和单片机构成双CPU处理器平台,可以充分利用DSP对大容量数据和复杂算法的处理能力,以及单片机接口的控制能力。而DSP与单片机之间快速正确的通信是构建双CPU处理器的关键问题。

关键字: 单片机 spi通信 DSP

随着科技的不断发展,微控制器(MCU)和数字信号处理器(DSP)已经成为了电子行业中不可或缺的重要组成部分。它们在各种电子设备中发挥着关键作用,如智能手机、平板电脑、家用电器等。然而,尽管它们都是用于处理数字信号的集成电...

关键字: MCU DSP 数字信号处理器 微控制器

CPLD(可编程逻辑器件)无刷直流电机驱动设计是一种基于硬件可编程逻辑电路的电机驱动方法。CPLD无刷直流电机驱动设计的主要目的是实现高效率、高可靠性和精确控制。以下是CPLD无刷直流电机驱动设计及原理的一些基本信息:

关键字: 无刷直流电机 CPLD 可编程逻辑电路

随着环境保护和能源可持续性的日益关注,电动汽车作为一种清洁、高效的交通工具逐渐成为全球汽车行业的热点。与传统的内燃机驱动汽车相比,电动汽车具有零排放、低噪音和高能量利用效率等显著优势。

关键字: DSP 芯片 混合动力汽车
关闭
关闭