摘要:以altera公司max700旧系列为代表,介绍了cpld在dsp系统中的应用实例。该方案具有一定的普遍适用性
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为高阻态。
图4
因为dsp自举有特定的时间要求,在复位信号结束后,配置管脚的值必须至少保持25ns。通过对复位信号作一定的延时,可以满足要求。采用cpld将信号作一定的延时,并不能简单地在信号后串接一些非门或其它门电路,因为开发软件在综合设计时会将这些门作为冗余逻辑处理,达不到延时的效果。所以采用高频时钟驱动一移位寄存器,对移位寄存器进行正确的设置后,输出即为延时后的数据。语句如下:
always@(posedge eclkout2) //采用dsp的clkout=100mhz二分频后作延时
begin
if(svs_rst_) //svs_rst_低电平,count始终置1010
begin
count=4′b1010;
end
else if(count==4′b0000) //0000则保持
begin
count=4′b0000;
end //svs_rst_高电平,count开始计数
else
begin
count=count+4′b0001; //记六次至0000
end
end
assign tp4=count[3];
仿真效果如图4所示。由仿真波形可见,cpld的信号输出完全符合dsp boot的两个要求。
2.3 hpi口接口逻辑的实现
图像压缩编码器通过dsp的hpi口与网络模块连接,实现图像的网络传输。tms320c6202的hpi口是指其扩展总线的主机口接口部分。经过编码器编码后的mpeg-4图像数据以帧为单位存放在dsp内部存储器中,外部主机通过hpi口读取。现以mcf5272微处理器与hpi口通信为例进行说明。
图5
mcf5272将10/100mb以太网控制器和一个usb模块等通信外围设备结合起来,是一款高集成的coldfire微处理器。详见参考文献[4]。
mcf5272与tms320c6202连接采用异步从属工作方式,mcf5272作为上行机,tms320c6202作为从属机。由mcf5272高位地址线模拟xcnl、xr_w信号,tms320c6202的多功能串行口3工作在gpio模式下模拟hint信号,为mcf5272提供主机口中断。本系统由cpld——max7000编程实现两者硬件接口。仿真后的时序如图5所示,实验证明可以满足双方时序要求,实现数据传输。
以上所讨论的逻辑并不复杂,采用74系列在一定程度上说也可以完成。但是,采用cpld具有以下优势:体系结构和逻辑单元灵活、集成度高、适用范围广,因而采用cpld的方案。? 在开发阶段,通过硬件实现的控制信号往往不能确定,需要试验验证。而cpld因其具有灵活性,逐渐成为dsp进行信号处理不可或缺的协处理器。将相关控制信号接人cpld,只需通过简单的编程即可实现各种需要的逻辑,避免了硬件上的改动,使硬件逻辑控制更加方便灵活,对类似设计具有普遍意义。文中讨论的防抖动以及cpld延时程序对于类似设计也有一定的借鉴意义。
本文介绍的cpld在基于dsp的mpeg-4编码压缩模块的系统中的应用实例,已通过下载验证。应用在工程实践中,结果表明该设计是方便灵活且正确有效的。
2.5软线与2.5硬线区别_家装硬线好还是软线好_硬线价格大概是多少
上海地市商会秘书长考察团到访深兰,共同推动各地传统产业转型升级
意法半导体公布上半年财报
实现三相正弦波电压发生器的电路设计
ENSP华为路由器出口NAT实验设计
CPLD在DSP系统中的应用设计
刘儿兀:下一代室内定位技术的现状与研发趋势
视觉相机技术应用于汽车座椅泡棉检查方案
猎豹移动“未来小镇”网红服务机器人
德赛西威智能驾驶获ASPICE CL3认证
软件定义的无线电的架构特点与应用
89个嵌入式相关概念你懂几个?
优酷科技跨年:郝景芳创作科幻剧情,人工智能小冰受邀出演关键角色
Bitfusion宣布推出Bitfusion Flex Beta版
5G SA架构下的三种5G语音方案介绍
精心整理的3D封装
基于BLINK的DCS控制系统仿真
我们该如何正确采用继电器的报警情况
2018年一季度全球手机单品销量排行榜
蔬菜肉类检测仪器的性能介绍