基于ARM和CPLD的嵌入式视觉系统设计


原标题:基于ARM和CPLD的嵌入式视觉系统设计
基于ARM和CPLD的嵌入式视觉系统设计是一种结合了ARM处理器的强大计算能力和CPLD(Complex Programmable Logic Device,复杂可编程逻辑器件)的高灵活性的设计方案。以下是对该系统的详细设计介绍:
一、系统方案与原理
在嵌入式视觉系统的设计中,目前主流的方案有两种:
图像传感器+微处理器(ARM或DSP)+SRAM:该方案系统结构紧凑,功耗低。在图像采集时,图像传感器输出的同步时序信号的识别需要借助ARM的中断。然而,中断处理时微处理器需要完成程序跳转、保存上下文等工作,这降低了图像采集的速度,因此该方案更适合对采集速度要求不高、功耗低的场合。
图像传感器+CPLD/FPGA+微处理器+SRAM:该方案借助CPLD来识别图像传感器的同步时序信号,不必经过微处理器的中断,因此系统的采集速度得以提高。但CPLD的介入会使系统的功耗相应提高。
为了综合以上两种方案的优势,可以采用“ARM+CPLD+图像传感器+SRAM”的硬件组合方案。该方案充分利用了CPLD的可编程性,通过软件编程来兼有两种方案的优势。
二、系统硬件设计
系统的硬件部分主要包括CMOS图像传感器、可编程器件CPLD、SRAM和微处理器。以下是对各硬件部分的详细介绍:
CMOS图像传感器:如OV6620,是美国OmniVision公司生产的CMOS图像传感器,以其高性能、低功耗适合应用在嵌入式图像采集系统中。OV6620集成在一个板卡上,有独立的17MHz晶振,可以输出3个图像同步的时序信号(像素时钟PCLK、帧同步VSYNC和行同步HREF),同时还可以通过8位或16位的数据总线输出RGB或YCrCb格式的图像数据。
可编程器件CPLD:如Altera公司的EPM7128S,可以通过Verilog硬件编程语言在QuartusII下编写程序。在硬件设计上,所有总线均与CPLD相连;在软件设计上,不同的模块单独按功能封装。这样以CPLD为中心,系统的其他器件均可更换而无需对CPLD部分程序进行改动,有利于系统的功能升级。
SRAM:作为系统的数据缓冲,如IS61LV5128,其随机访问的特性为图像处理程序提供了便利。
微处理器:如32位微处理器LPC2214,在PLL(锁相环)的支持下最高可以运行在60MHz的频率下,为图像的快速处理提供了硬件支持。
三、系统软件设计
在软件设计上,主要需要解决两个问题:图像采集的严格时序同步和双CPU共享SRAM的总线仲裁。
图像采集的严格时序同步:关键在于如何实时、准确地读取OV6620的时序输出信号,并据此将图像数据写入SRAM中。解决方案是用CPLD来实现时序信号的识别以及图像数据的写入。CPLD在硬件上可以识别信号的边沿,速度更快,通过Verilog语言编写Mealy状态机来实现图像数据的SRAM写入,更加稳定。
双CPU共享SRAM的总线仲裁:可以通过合理的连接方式来解决。考虑到CPLD的可编程性,将OV6620的数据总线、LPC2214的地址和数据总线以及SRAM的总线都连接到CPLD上。通过编程来控制总线之间的连接,只要在软件上保证总线的互斥性,即在同一时刻有且仅有一个控制器(CPLD或者LPC2214)来操作SRAM的总线,就可以有效地避免总线冲突。这样,硬件上的仲裁就可以通过软件来保证,该过程可以通过在CPLD中编写多路数据选择器来实现。
四、系统应用与功能
该系统可以应用于多种场合,如移动机器人等领域。作为该系统的一种应用,可以开发视觉跟踪的程序,该程序可以在目标和背景颜色对比强烈的情况下对物体进行跟踪。通过对CMOS摄像头采集来的数据进行实时处理,根据物体的颜色计算出被追踪物体的质心坐标。
此外,该系统还可以根据不同的需要提供两种模式可供选择:一种是行处理模式,该模式可以得到关于跟踪目标的更多信息,但每行处理的方式增大了处理器的负担,处理速度相对较慢;另一种是帧处理模式,该模式处理速度较快,但可能无法获取到关于跟踪目标的所有详细信息。
五、优化建议
为了提高系统的性能和效率,可以采取以下优化建议:
在ARM系统中,函数调用过程中参数个数应限制为4个或更少,以减少额外的指令和慢速的存储器操作。如果参数个数不可避免地超过4个,则可以把常用的前4个参数放在R0~R3中。
在循环语句中,用“减到0”代替“加到某个值”,以减少指令数量和提高执行效率。
由于ARM核不含除法硬件,除法运算通常用一个运行库函数来实现,运行需要很多个周期。因此,一些除法操作可以在编译时作为特例来处理,例如除以2的操作用左移代替。
避免使用大的局部结构体或数组,可以考虑用malloc/free代替,以减少内存占用和提高内存访问效率。
避免使用递归,以减少函数调用的开销和提高程序的可读性。
综上所述,基于ARM和CPLD的嵌入式视觉系统设计结合了ARM和CPLD的优势,具有结构紧凑、功耗低、采集速度快等特点。通过合理的硬件和软件设计,该系统可以实现对物体的实时跟踪和图像处理等功能,并适用于多种应用场合。
责任编辑:David
【免责声明】
1、本文内容、数据、图表等来源于网络引用或其他公开资料,版权归属原作者、原发表出处。若版权所有方对本文的引用持有异议,请联系拍明芯城(marketing@iczoom.com),本方将及时处理。
2、本文的引用仅供读者交流学习使用,不涉及商业目的。
3、本文内容仅代表作者观点,拍明芯城不对内容的准确性、可靠性或完整性提供明示或暗示的保证。读者阅读本文后做出的决定或行为,是基于自主意愿和独立判断做出的,请读者明确相关结果。
4、如需转载本方拥有版权的文章,请联系拍明芯城(marketing@iczoom.com)注明“转载原因”。未经允许私自转载拍明芯城将保留追究其法律责任的权利。
拍明芯城拥有对此声明的最终解释权。