欢迎光临112期刊网!
网站首页 > 论文范文 > 计算机论文 > 智能科技 > 基于DSP+FPGA的嵌入式图像处理系统的发展

基于DSP+FPGA的嵌入式图像处理系统的发展

日期:2023-01-24 阅读量:0 所属栏目:智能科技


 0 引 言
  伴随着图像处理技术的快速发展,图像处理系统的性能需求也在不断提高,特别是在实时性上的要求。基于PC或者工作站的图像处理系统,常常不是一个可行的选择,原因如下:应用对处理时间要求苛刻;CCD摄像机数据量太大。另外,这类系统的资源有效利用率较低,体积大而笨重,功耗高,不适合便携式应用场合。
  DSP是一种基于指令和代码的流水线处理器,具有强大的数据处理能力和较高的运行速度,采用C/C++或者线性汇编语言编程,可以支持复杂的算法处理,而FPGA则属于真正的并行架构,不同的处理操作无需竞争相同的资源,每个处理任务都可以不受其他逻辑块的影响自主运行,因此FPGA具有强大的并行处理能力,其现场可编程的属性也带来了更大的灵活性,但是,FPGA不擅长复杂的算法处理和逻辑控制。本文基于DSP+FPGA架构构建了一个嵌入式图像处理系统,使得DSP和FPGA可以发挥各自的特长,协同处理,与单独采用DSP或FPGA的系统相比,本系统具有更强大的数据处理能力,且更灵活、更通用。
  1 系统架构
  本系统采用DSP+FPGA架构,原理方框图如图1所示,其中DSP芯片采用TI公司单核最高性能的TMS320C6455(简称C6455)芯片作为核心处理器,负责完成视频图像的复杂算法处理,FPGA芯片采用Altera公司的Cyclone Ⅲ系列芯片EP3C55,FPGA作为DSP的协处理器,负责完成图像的采集、显示和传输等辅助功能,使得DSP可以专注于算法处理。
  DSP和FPGA之间通过32位EMIF接口实现了高速同步无缝互联, 由图1可知,本系统的动态存储器均采用DDR2 SDRAM,其中C6455所带2片DDR2存储器用来存储图像和算法数据,为C6455处理大数据量、复杂算法提供了保证。FPGA所带2片DDR2存储器用来存储捕捉的Camera图像数据,以便VGA显示和DSP读取。FPGA采集的图像数据可通过EMIF和EDMA从FPGA所带的DDR2存储器搬运到DSP所带的DDR2存储器。
 图1 系统方框图
  2 FPGA设计
  本文FPGA的主要功能围绕着DDR2存储器的读写,如图2所示。
  图2 FPGA的主要功能模块图
  相机负责向缓冲区写数据,VGA显示和DSP负责从缓冲区读数据。本文中的DDR2控制器工作于Full?rate模式下,需要向DDR2 driver提供2倍数据宽度,即64 b数据。本文对每个读写数据通道,使用独立的FIFO进行不同时钟域之间的数据传输。从CameraLink相机的LVDS接收器解码得到8 b图像数据,在向Write FIFO写之前,需要按8 B进行打包处理,合并为64 b数据;而发向VGA显示的数据在从Read FIFO中读出后,需要先经过拆包处理,得到8 b图像数据后才能送给VGA Controller;从Capture FIFO读出的数据发送给DSP之前也要经过拆包处理,将64 b数据拆为2个32 b数据后,才能发送给EMIFA,进行传输。为方便可视化验证算法处理结果,DSP算法处理结果可以通过McBSP发送给FPGA,FPGA接收到数据,将其转换为可视的屏幕位置送给VGA Controller,在屏幕上进行叠加显示。
  本系统应用于近红外图像处理领域,采用的CameraLink相机输出分辨率为1 024×768,帧率为30 f/s,而一般的液晶显示器刷新频率为60 Hz,为了将捕捉到的相机数据显示出来,需要将30帧图像插帧为60帧,但是显示时钟与相机时钟并不是同源时钟,其帧率并不是严格的两倍关系,这种相机和显示之间的异步时序关系如图3所示,所以不能简单地将一帧图像显示2次;同时,本系统的近红外图像算法处理时间根据图像的不同而具有不确定性,并非每帧图像都能在一个帧周期内处理完成。基于这两个因素,本系统没有采用常规的乒乓缓冲处理方式,而是采用了三重缓冲解决了这两个问题。
  
  图3 相机和显示的异步时序关系
  所谓三重缓冲,也即在DDR2存储器内开辟了三个缓冲:BufferA,BufferB和BufferC。其中,读写操作各占一个缓冲区,第三个存储区作为中转,先不考虑DSP从缓冲区读数据。
  三重缓冲的示意图如图4所示,假设当前缓冲区BufferA正在进行写操作,缓冲区BufferB正在进行读操作,缓冲区BufferC则有2种可能:已写满(FULL)和已读完(EMPTY)两个状态。此时,如果需要进行读写翻页操作,即读复位信号或写复位
  信号有效时,DDR2驱动程序可按不同情况给出不同的操作,如表1所示。
  例如,当读复位信号有效,写复位信号无效时,说明缓冲区BufferA尚未写满,而缓冲区BufferB已经读完,此时,需要查询缓冲区BufferC的状态,如果缓冲区BufferC处于“FULL”状态,则读缓冲区将由当前的缓冲区BufferB改为缓冲区BufferC,并将缓冲区BufferB设置为“EMPTY”状态;如果缓冲区BufferC处于“EMPTY”状态,则将重新读取缓冲区BufferB。
  
  图4 三重缓冲的示意图
  表1 三重缓冲的决策表
  再考虑DSP从缓冲区读数据的情况,为保证DSP任意时刻开始读数据,总能读到最新的数据,本文使用图像的场信号FVAL下降沿作为触发,定位DSP读数据的缓冲区地址,如果在下一个FVAL下降沿之前DSP始终未开始读数据,则在新的FVAL下降沿时刻重新定位缓冲区地址,反之,如果DSP开始读数据了,即使在FVAL下降沿未能读完,也会继续读,直到DSP读完数据,再重新定位缓冲区地址,按本文设计的方案,DSP会在很短的时间内完成读数据任务,而如果在两个FVAL内,DSP一直未完成读任务,则认为发生了错误,读控制器会进行复位矫正。
  DDR2驱动的读写控制以显示的行信号HD为周期,周期性查询是否需要进行读写操作。其状态转移示意图如图5所示。
  
  图5 DDR2读写控制的状态机
  SignalTap Ⅱ Logic Analyzer是Quartus Ⅱ自带的嵌入式逻辑分析仪,与ModelSim软件仿真有所不同,是在线式仿真,可以实时捕捉和显示信号变化。图6所示是本文用SignalTap Ⅱ捕捉到的数据波形。
  
  图6 SignalTap Ⅱ波形图
  3 C6455软件设计
  本文C6455的软件基于TI提供的抢占式多线程实时内核DSP/BIOS进行开发,网络部分使用了NDK开发套件,为了实现通过网络发送图像数据给计算机和接收来自计算机的图像数据,使用了面向无连接的UDP协议,相比TCP协议,UDP速度更快,更适合应用。C6455软件主要包含三个部分:实时性最高的硬件中断线程(HWI);采集线程和两个任务线程(TSK);处理线程和通信线程,流程图如图7所示。
  
  图7 C6455程序流程图
  4 实验结果
  本文提出的基于DSP+FPGA的图像处理系统,已经通过实验验证。图8展示了本系统图像处理算法连续运行500个周期的统计结果,图中实线为连续10个相邻离散点的平均值。由图8可见,本系统既可以使算法在超过一个图像帧周期的时间内运行,又可以使连续一段时间内平均的执行时间近似为图像帧周期。本系统满足了数据量大,算法复杂度高的系统需求,相比乒乓缓冲,本文所提出的三重缓冲具有更快的响应速度。
 

本文链接:http://www.qk112.com/lwfw/jsjlw/zhinengkeji/242375.html

论文中心更多

发表指导
期刊知识
职称指导
论文百科
写作指导
论文指导
论文格式 论文题目 论文开题 参考文献 论文致谢 论文前言
教育论文
美术教育 小学教育 学前教育 高等教育 职业教育 体育教育 英语教育 数学教育 初等教育 音乐教育 幼儿园教育 中教教育 教育理论 教育管理 中等教育 教育教学 成人教育 艺术教育 影视教育 特殊教育 心理学教育 师范教育 语文教育 研究生论文 化学教育 图书馆论文 文教资料 其他教育
医学论文
医学护理 医学检验 药学论文 畜牧兽医 中医学 临床医学 外科学 内科学 生物制药 基础医学 预防卫生 肿瘤论文 儿科学论文 妇产科 遗传学 其他医学
经济论文
国际贸易 市场营销 财政金融 农业经济 工业经济 财务审计 产业经济 交通运输 房地产经济 微观经济学 政治经济学 宏观经济学 西方经济学 其他经济 发展战略论文 国际经济 行业经济 证券投资论文 保险经济论文
法学论文
民法 国际法 刑法 行政法 经济法 宪法 司法制度 法学理论 其他法学
计算机论文
计算机网络 软件技术 计算机应用 信息安全 信息管理 智能科技 应用电子技术 通讯论文
会计论文
预算会计 财务会计 成本会计 会计电算化 管理会计 国际会计 会计理论 会计控制 审计会计
文学论文
中国哲学 艺术理论 心理学 伦理学 新闻 美学 逻辑学 音乐舞蹈 喜剧表演 广告学 电视电影 哲学理论 世界哲学 文史论文 美术论文
管理论文
行政管理论文 工商管理论文 市场营销论文 企业管理论文 成本管理论文 人力资源论文 项目管理论文 旅游管理论文 电子商务管理论文 公共管理论文 质量管理论文 物流管理论文 经济管理论文 财务管理论文 管理学论文 秘书文秘 档案管理
社科论文
三农问题 环境保护 伦理道德 城镇建设 人口生育 资本主义 科技论文 社会论文 工程论文 环境科学