新闻中心

EEPW首页>嵌入式系统>设计应用> 内嵌ARM核的EPXA10在图像驱动和处理方面的应用用

内嵌ARM核的EPXA10在图像驱动和处理方面的应用用

作者: 时间:2012-10-29 来源:网络 收藏

1.3 先进的存储支持

嵌入式处理器部分集成了256KB单口SRAM和128KB双口SRAM;同时集成了两个先进的存储支持:(1)SDRAM控制器,用于控制单倍速/双倍速不同控制进序来确定的,实现起来非常复杂。有了SDRAM控制器的支持,只需要在Altera公司提供的EDA开发软件Quartus II中设置好SDRAM工作所需的各种参数,就可以按照直接给出指令、地址和数据的方式对SDRAM进行操作,控制器会自动将各种指令转化成SDRAM所需的工作时序,大大降低了对SDRAM的控制难度。(2)从启动。这种启动方式需要将设计下载到片外E2PROM中,而且设计中可包含部分的应用。启动时为主动,ARM处复位状态,配置完成后,如果有对ARM的应用,则ARM解除复位,执行软件代码;反之,ARM一直处于复位状态。

图3

2的工作方式

嵌入式处理器部分提供了两条32位AMBA微控制器总线AHB1、AHB2,分别用于片内各种资源的通讯,如图1所示。基于AHB1、AHB2总线,EPXA10的工作方式大致可分为三种:(1)ARM作为AHB1总线的主控,直接访问HAB1总线的从属资源。包括SDRAM控制器、片上SRAM、中断控制器等。(2)ARM作为AHB1总线的主控,通过AHB1-2桥访问AHB2总线上的从属资源,包括UART、EBI、SRAM、STripe-To-PLD桥等,同时通过Stripe-To-PLD桥对FPGA进行访问和控制。(3)FPGA通过AHB2的总线主控PLD-To-Stripe桥访问AHB2总线上的从属资源,包括SRAM、SDRAM控制器,UART等。

EPXA10片内集成了软件可编程锁相环路(PLL),为微控制器总线及SDRAM控制器提供了灵活精确的时钟基准。

3 EPXA10在和处理方面的应用

本文所述的和处理系统主要利用PPGA逻辑控制实现简单、对大量数据做简单处理速度快以及ARM软件编程灵活的特点,系统框图如图2所示。在芯片FPGA部分,构造了CMOS驱动模块,驱动CMOS图像传感器使之能够采集图像数据。然后图像数据经数据接收模块存入片外SDRAM中,并经串口传入PC机,要将图像数据在PC机中显示成图像,还需编写基于CDib类的图像显示程序;同时将图像数据经芯片ARM部分的图像处理算法(本系统采用Sobel算子)处理,处理后的图像数据才能经串口传给PC机进行显示。为了验证基于ARM的图像处理算法实现的正确性,还将这一算法在PC机中进行了实现,最后针对同一幅图像,将两种实现的结果进行了比较。


3.1 图像的驱动

3.1.1 CMOS图像传感器的驱动

要使CMOS图像传感器的成像,必须设计正确的驱动时序,包括行同步、列同步、场同步及曝光时间设定等时序。利用FPGA逻辑编程简单的特点,用硬件描述语言Verilog HDL编程,可在FPGA中实现CMOS图像传感器的驱动时序,该驱动时序的仿真结果如图3所示。图中,ld_y为行选通信号;ld_x为列选通信号;cal为场选通信号;clk_adc为内部A/D转换器所需的时钟;addr为行列地址线;sys_reset为曝光时间设定信号;s和r为内部放大器选通信号。

3.1.2 图像的采集

CMOS图像传感器输出的信号为数字信号(即数字图像数据),所以图像的采集要通过FPGA中的数据接收模块将图像数据保存到片外SDRAM中。数据接收模块状态机如图4所示。标志Flag为1,开始采集数据。因为CMOS图像传感器在每个A/D转换时钟周期输出一个数据(如图3所示),接收模块也相应地设计成一个时钟接收周期接收一个数据(Burst状态),这样就发挥了FPGA对大量数据处理速度快的优势。

3.1.3 图像的显示

ARM将SDRAM中的图像数据经串口传给计算机,在计算机中用VC++语言编写串口协议和图像显示程序,将CMOS图像传感器采集到图像显示在屏幕上,以便于监测验证。

3.2 图像的处理

本系统采用的图像处理算法基于Sobel边缘检测算子。图像的边缘是由灰度不连续性所反映的,是的最基本信息。边缘检测算子检查每个像素的的领域并对灰度变化率进行量化,也包括方向的确定,大多数使用基于方向导数掩模求卷积的方法。就sobel算子而言,如图55所示,采用了两个3×3卷积核形成边缘算子模板,紧邻中心像素的像素有4个,和中心像素成斜对角的像素也有4个,距离中心素近的模板值的系数为2,成斜对角的比较远,所以其系数为1,该系数反映了这样一点:领域对当前像素的灰度梯度的影响程度越近影响越大,越远影响越小。图像中的每个点都用这两个核做卷积,一个核对垂直边缘响应最大,而另一个核对水平边缘响应最大,两个卷积的最大值作为该点的输出位,反映了当前位置灰度梯度(图像边缘)的主要方向和大小。运算结果反馈了一幅边缘幅度图像。



评论


相关推荐

技术专区

关闭