CPLD在DSP系统中的应用设计
摘 要: 以Altera公司MAX7000系列为代表,介绍了CPLD在DSP系统中的应用实例。该方案具有一定的普遍适用性。
关键词: RESET BOOT HPI CPLD的延时 时序
DSP的速度较快,要求译码的速度也必须较快。利用小规模逻辑器件译码的方式已不能满足DSP系统的要求。同时,DSP系统中经常需要外部快速部件的配合,这些部件往往是专门的电路,可由可编程器件实现。 CPLD的时序严格、速度较快、可编程性好,非常适合于实现译码和专门电路。本文以MAX7000系列为例,具体介绍其在 以 TI公司的 TMS320C6202 为平台的网络摄像机系统中的应用。
1 CPLD在DSP系统中的功能介绍
1.1 DSP系统简介
本文所论述的编码器系统是基于DSP的MPEG-4压缩编码器的,主要由前端视频采集、数据预处理以及MPEG-4视频压缩编码三部分组成。基于DSP的MPEG-4编解码器由于其所选用的DSP运算能力强、编程灵活,且实现不同的图像编码算法时只需对DSP内部的程序进行改写便可实现诸如MPEG、H.263等多种图像编码,因而具有良好的应用情景。CPLD芯片对整个编码器起着逻辑控制作用,系统结构如图1所示。
1.2 CPLD在系统中的功能要求
1.2.1产生复位信号
系统上电时,CPLD产生复位信号,使整个系统中的FPGA和DSP模块复位,进入初始状态;系统上电后,数据采集模块自动启动。
系统内共使用三种电源:5V、3.3V、1.8V。其中,5V电源由供电电源接入,3.3V、1.8V电源由TPS56300(TI产品)提供。采用TPS3307(TI产品)为系统提供电源管理,该芯片可同时管理三种电源。当监测到电源电压低于一定值时,产生复位信号。TPS3307在其自身电源电压大于1V的情况下即可以输出复位信号。
当系统出现错误时,可以采用手工方式复位。
复位信号产生原理图如图2所示。其中,RST#为整个系统的复位信号,由MAX7000输出。PBSW_RST#为手动复位信号,由按键接入MAX7000,经MAX7000去抖动后输出给TPS3307。SVS_RST#为电源管理芯片TPS3307产生的复位信号(包括手动复位和电源监控功能)。
1.2.2 BOOT模式的实现
系统复位后,DSP需要进行BOOT自举。在复位信号为低期间,BOOTMODE[4:0]管脚上的设置值被锁存,决定芯片的存储器映射方式以及自举模式。但TMS320C6202没有专门的管脚作为BOOTMODE[4:0]输入管脚,而是将扩展总线的XD[4:0]映射为BOOTMODE[4:0],利用上拉/下拉电阻在复位时进行芯片启动模式设置。总线上的其它位也在复位期间被锁定,决定系统相应的设定值。而扩展总线XD在HPI口读写时要用到,所以使用MAX7000进行隔离。系统处在复位阶段,则通过MAX7000使得DSP的相应管脚的值等于设定值,复位结束后,MAX7000相应管脚为高阻态,使得XD可以作为正常的总线使用。
DSP自举有特定的时间要求。在复位结束后,XD的配置管脚必须保持一段时间,TMS320C6202要求时间为5个时钟周期,例如在200MHz时钟情况下必须保持25ns。
1.2.3 HPI口接口逻辑实现
MPEG-4压缩编码器压缩后的数据,通过网络传输控制模块传输到网络上去,从而实现网络实时图像传输。而DSP与网络传输模块(MCF5272)通过HPI口连接。其接口逻辑由CPLD完成。硬件连线图如图3所示。
根据系统的逻辑要求以及实际的仿真结果,CPLD选用EPM7128SLC84。该芯片共有2500门,128个宏单元,最多100个用户自定义管脚。
2 CPLD逻辑控制的具体实现
2.1 复位信号的实现
复位信号逻辑产生较简单,需要处理的是按键的去抖动。由于按键是机械触点,当机械触点断开、闭合时会有抖动,为使每一次按键只作一次响应,就必须考虑去除抖动。在通过按键获得复位信号为低的信息时,不是立即认定按键已被按下,而是延时一段时间后再次检测复位信号。如果仍为低,说明按键的确按下了,这实际上是避开了按键按下时的抖动时间。同样,在检测到按键释放后,再延时几个毫秒,消除后沿的抖动,然后再对键值处理。由于抖动现象主要出现在按键按下后,采用延时方法可有效地减少按键的抖动现象。
2.2 BOOT模式的实现
为了满足在复位有效期间对相应管脚进行配置,在复位无效时,使管脚进入高阻态。以其中一个管脚为例,采用Verilog语言,用如下语句实现该功能:
assign hd0=(tp4)?rst_hd0:1′bz;
//复位有效期间,tp4为1,hd=rst_hdo,即为设定值;复位无效时,tp4=0,hd 为高阻态。
因为DSP自举有特定的时间要求,在复位信号结束后,配置管脚的值必须至少保持25ns。通过对复位信号作一定的延时,可以满足要求。采用CPLD将信号作一定的延时,并不能简单地在信号后串接一些非门或其它门电路,因为开发软件在综合设计时会将这些门作为冗余逻
RESET Boot HPI CPLD的延时 时序 相关文章:
- Reset与嵌入式系统应用的稳定性(01-09)
- VxWorks中怎么从Flash BOOT(11-15)
- U-Boot的编译与移植到QT-S3C44B0X开发板上(03-08)
- WinCE系统下BootLoader的开发(04-10)
- 嵌入式linux启动信息完全注释(04-24)
- 基于S3C2410A的嵌入式系统的U-Boot移植(01-24)