机电之家资源网
单片机首页|单片机基础|单片机应用|单片机开发|单片机文案|软件资料下载|音响制作|电路图下载 |嵌入式开发
培训信息
赞助商
内嵌ARM核的FPGA芯片EPXA10及其在图像驱动和处理方面的应用
内嵌ARM核的FPGA芯片EPXA10及其在图像驱动和处理方面的应用
 更新时间:2008-8-18 13:20:59  点击数:27
【字体: 字体颜色

       随着亚微米技术的发展,FPGA芯片密度不断增加,并以强大的并行计算能力和方便灵活的动态可重构性,被广泛地应用于各个领域。但是在复杂算法的实现上,FPGA却远没有32位RISC处理器灵活方便,所以在设计具有复杂算法和控制逻辑的系统时,往往需要RISC和FPGA结合使用。这样,电路设计的难度也就相应大大增加。随着第四代EDA开发工具的使用,特别是在IP核产业的迅猛发展下产生的SOPC技术的发展,使嵌入RISC的通用及标准的FPGA器件呼之欲出。单片集成的RISC处理器和FPGA大大减小了硬件电路的复杂性和体积,同时也降低了功耗、提高了系统可靠性。Altera公司的EPXA10芯片就是应用SOPC技术,集高密度逻辑(FPGA)、存储器(SRAM)及嵌入式处理器(ARM)于单片可编程逻辑器件上,实现了速度与编程能力的完美结合。本文所介绍的图像驱动和处理系统正是应用了EPXA10的这些特点,充分发挥了FPGA逻辑控制实现简单、对大量数据做简单处理速度快的优势以及ARM软件编程灵活的特点。
 
       1 内嵌ARM核的FPGA芯片EPXA10及其主要特点

  EPXA10单片集成了ARM核、高密度的FPGA、存储器及接口和控制模块,不仅简化了ARM与FPGA之间的通讯,也使片外扩展存储器以及和外设通讯变得相对简单;同时通过在FPGA中嵌入各种IP核和用户控制逻辑可以实现各种接口和控制任务。这样的高度集成化不仅大大加快了ARM与片内各种资源的通讯速度,而且减小了硬件电路的复杂性、体积和功耗,真正实现了SOPC。

  EPXA10内部结构框图如图1所示,主要分为嵌入式处理器和FPGA两部分。

                        

       1.1 嵌入式微处理器ARM922T

  EPXA10嵌入式处理器部分集成了业界领先的32位ARM处理器(ARM922T),工作频率可达200MHz;支持32位ARMv4T指令集和16位Thumb扩展指令集;具有全性能的内存管理单元以及8K的指令缓存和8K数据缓存,以支持实时操作系统(RTOS)、C语言和汇编语言。 

       1.2 高密度的FPGA

  EPXA10片内FPGA部分具有1000000门可编程逻辑、3MB的内置RAM和512个可供用户使用的I/O管脚,可以通过嵌入各种IP核实现各种标准工业接口(如PCI、USB等)。
 
       1.3 先进的存储支持

  EPXA10嵌入式处理器部分集成了256KB单口SRAM和128KB双口SRAM;同时集成了两个先进的存储支持:(1)SDRAM控制器,用于控制单倍速/双倍速SDRAM。SDRAM的各种工作状态是依据信号线上提供的不同控制时序来确定的,实现起来非常复杂。有了SDRAM 控制器的支持,只需要在Altera公司提供的EDA开发软件Quartus II中设置好SDRAM工作所需的各种参数,就可以按照直接给出指令、地址和数据的方式对SDRAM进行操作,控制器会自动将各种指令转化成SDRAM所需的工作时序,大大降低了对SDRAM的控制难度。(2)扩展总线接口(EBI),可外接4个存储设备,如闪速存储器、SRAM等,总容量高达128MB。其中EBI接口0外接闪速存储器,用于存储用户的软件、硬件设计代码。 

       1.4 方便的接口模块

  EPXA10嵌入式处理器部分嵌入了串口通讯模块(UART),可以不用编程直接实现ARM与超级终端之间的串行通讯,实时监视软件的运行情况。如果要实现计算机与ARM之间的数据传递存储,只需用户编写基于VC++语言的串口通讯程序,这需要用到Microsoft公司提供的MSComm串行通讯控件。 

       1.5 灵活的启动方式

  EPXA10共有两种启动方式:(1)从ARM启动。这种启动方式需要将设计下载到片外闪速存储器中,而且设计中必须包含对ARM的应用。启动时AR

M为主动,配置各种寄存器及FPGA,执行软件代码。(2)从FPGA启动。这种启动方式需要将设计下载到片外E2PROM中,而且设计中可以只包含FPGA部分的应用。启动时FPGA为主动,ARM处于复位状态,配置完成后,如果有对ARM的应用,则ARM解除复位,执行软件代码;反之,ARM一直处于复位状态。
 
       2 EPXA10的工作方式

  EPXA10嵌入式处理器部分提供了两条32位AMBA微控制器总线AHB1、AHB2,分别用于片内各种资源的通讯,如图1所示。基于AHB1、AHB2总线,EPXA10的工作方式大致可分为三种:(1)ARM作为AHB1总线的主控,直接访问AHB1总线的从属资源,包括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在图像驱动和处理方面的应用

  本文所述的图像驱动和处理系统主要利用FPGA逻辑控制实现简单、对大量数据做简单处理速度快以及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 图像的处理

  本系

[1] [2] [3]  下一页
  • 上一篇: 各种光源控制电路的设计
  • 下一篇: 台湾华邦出售平面显示器产品线
  • 发表评论   告诉好友   打印此文  收藏此页  关闭窗口  返回顶部
    热点文章
     
    推荐文章
     
    相关文章
    网友评论:(只显示最新5条。)
    关于我们 | 联系我们 | 广告合作 | 付款方式 | 使用帮助 | 机电之家 | 会员助手 | 免费链接

    点击这里给我发消息66821730(技术支持)点击这里给我发消息66821730(广告投放) 点击这里给我发消息41031197(编辑) 点击这里给我发消息58733127(审核)
    本站提供的机电设备,机电供求等信息由机电企业自行提供,该企业负责信息内容的真实性、准确性和合法性。
    机电之家对此不承担任何保证责任,有侵犯您利益的地方请联系机电之家,机电之家将及时作出处理。
    Copyright 2007 机电之家 Inc All Rights Reserved.机电之家-由机电一体化网更名-声明
    电话:0571-87774297 传真:0571-87774298
    杭州滨兴科技有限公司提供技术支持

    主办:杭州市高新区(滨江)机电一体化学会
    中国行业电子商务100强网站

    网站经营许可证:浙B2-20080178-1