基于DSP的最小图像采集处理系统设计

技术分类: 微处理器与DSP  | 2007-06-22
来源:电子设计信息网 | 作者:戴春雷 张海

  LCD模块的驱动

  采用液晶显示模块可以使图像处理结果实时显示出来,方便调试和演示,成本也较低。本系统选用北京宁和电子科技发展有限公司开发的NHC_34彩色液晶显示控制模块。该模块支持256色彩色显示,每个像素点用1个字节表示,分辨率为320×234;支持标准Intel8位异步总线时序,有2页显示缓存,可任意设定显示页和操作页。

  LCD模块读写周期最短为350ns,而DSP外部总线接口时钟频率一般在100MHz以上,即小于10ns。通过配置EMIFCE3空间控制寄存器CECTL3(地址为0x01800014),可以将CE3空间的读写周期延长,与LCD模块无缝连接。但这样液晶模块的读写操作会过长地占用系统总线,降低对其他存储空间(尤其是对SDRAM)的访问效率,进而影响系统的整体速度。

  本系统采用了数据锁存和总线缓冲的方法,通过377锁存器模拟低速总线控制信号时序,利用244数据缓冲器对低速总线数据进行隔离。图3给出了DSP与LCD模块硬件连接图。系统有2片74HC377(简称为“377”),一片用来锁存模拟LCD模块的读写控制信号(控制377),另一片用来锁存写入数据(数据377),由异步写使能控制线AWE作为377的触发沿输入;CE3和EA20、EA21经过译码产生2个377的使能信号,DSP写数据377的地址为0xB0000000,写控制377的地址为0xB0040000。数据377的输出经一片总线缓冲器HC244(写出244,HC244简称为“244”)连接到LCD模块总线上,该244输出使能信号来自控制377。另有一片HC244(读入244)用来将LCD模块总线接到DSP低8位总线上,其输出使能信号同样由CE3和EA20、EA21经过译码产生,地址为0xB0080000,是DSP对LCD模块的读地址。

LCD模块与DSP的硬件连接

图3 LCD模块与DSP的硬件连接

  DSP根据LCD模块总线时序,通过定时器延时中断来间隔地写入数据到控制377,以模拟相应低速总线的控制信号,并适时从读入244读取数据(读周期),或者写入数据到数据377(写周期),就可以完成对LCD模块的读/写操作。LCD写周期驱动例程如下(该程序通过延时来控制时间间隔):

       #defineSET_CS_LCD() ctrl377valu|=0X01;ctrl377reg=ctrl377valu
     /*向液晶模块写入数据子程序。subaddress:0~3为A1、A0的值;writevalu:待写入LCD的数据*/
     voidWrite2LCD(unsignedcharsubaddress,unsignedchar
     writevalu){
           ctrl377valu|=subaddress<<3;
           ctrl377valu&=(subaddress<<3)|0XE7;
                  /*根据A0、A1的值更新ctrl377valu的对应位*/
           ctrl377valu&=~0x23;/*使能CS、WR和LCD_wren*/
           ctrl377reg=ctrl377valu;
                          /*输出控制数据到377控制锁存器*/
     LCD_wr_ reg="writevalu";
                             /*输出待写数据到377数据锁存器*/
     DELAY(WR_LCD_DELAYTIME310);
     /*延时T420ns×6=120ns*/
     SET_WR_LCD();
                      /*置位WR信号,上升沿将数据写入LCD*/
  &   DELAY(WR_LCD_DELAYTIME);                   /*延时20ns*/
     SET_CS_LCD();
                              /*置位CS,使地址信号无效*/
     DELAY(WR_LCD_DELAYTIME35);/*延时100ns*/
     SET_WREN_LCD();
                           /*写出244输出禁止,数据无效*/
     DELAY(WR_LCD_DELAYTIME32);
                                 /*延时40ns,周期结束*/
     }

  软件系统设计

  软件系统流程如图4所示。DSP在复位完成之后首先进行系统的初始化,配置锁相环、EMIF和GPIO,并硬件复位OV7620,通过GPIO模拟SCCB总线配置其内部功能寄存器,之后对LCD模块清屏。当EDMA没有被使能时,OV7620的同步信号仍能被EDMA事件寄存器捕获并保持,所以把EDMA的初始化放在OV7620和LCD模块的初始化之后,并在使能之前清事件标志。在中断被使能之后,OV7620的帧同步信号会触发系统中断,开始进行数据的循环采集,并在每帧数据采集完成之后置位相应标志,通知主程序进行处理。主程序在接到通知后对OV7620的原始数据进行插值和平滑,生成待处理的RGB24位色图像数据。图像处理和运算的结果被送到LCD模块进行动态显示,LCD的显示任务主要由中断服务程序完成,而此时主程序已开始等待和处理下一帧图像。

DSP视频采集系统软件流程

图4 DSP视频采集系统软件流程

  结论

  本系统通过总线隔离和地址译码,只使用简单的逻辑芯片将OV7620接入DSP,并充分发挥EDMA独立传送的特点,仅占用DSP少量的软件开销和总线资源,就完成图像数据的采集。与采用视频接口芯片、外围FIFO和CPLD/FPGA等方案相比,很大程度上降低了系统成本,缩短了开发周期,而对系统总线的占用却并没有增加。利用数据锁存和总线缓冲实现了对LCD模块异步低速总线的接入;利用EDMA进行总线模拟,进一步降低DSP对LCD模块读/写的参与,减少系统中断次数,优化系统性能,能够将图像处理的结果实时和直观地显示出来。

  与其他DSP嵌入式系统相比,本系统具有处理速度快、接口简单、成本低、能实时显示的特点,适用于视觉导航、视频实时处理等要求高速处理图像的场合,以及有实时演示要求的场合。

1
0
(请您对文章做出评价)
1】【2
加载中

对文章的评论

更多评论

剩余字数:  

相关在线研讨会

我要参加

Fluke红外热像仪技术研讨会–设备预测性维护

时间:2008-10-29 10:00:00-12:00:00
简介:通过本次研讨会,您可以了解红外热像检测的原理及在设备预测性维护方面的应用;红外热像仪可以及时发现设备出现的早期隐患,并对问…

浏览该文章的用户还看过...

  • 文 章

  • 论 坛

  • 博 客

  • 小 组

设计资源与分销

  • 博客推荐

  • 论坛推荐

  • 在线研讨会