低端嵌入式系统的图像采集
4 CPLD控制逻辑设计

图4 CPLD控制逻辑流程图
因为系统主处理器LPC2104的I/O速度和内存的限制,无法完成采集一帧图像并存储的功能。这只能借助于在系统中扩展一片CPLD来协作完成系统功能。由CPLD片内的控制逻辑电路完成读取图像数据并缓存到SRAM中的功能。因为系统不是实时图像采集与处理,可以降低CMOS数字图像传感器输出图像的速率。这可以通过改变它的输入时钟来实现。系统中CPLD的时钟采用40MHz,经过10分频以后的时钟做为CMOS图像传感器的时钟。这样降低了图像输出的速率,减轻了处理器进行图像数据处理的负担,使处理器有空闲时间进行其它控制操作。由于CPLD要读取CMOS图像传感器输出的图像数据并缓存到SRAM中,因此CPLD的片内逻辑主要是根据图像传感器输出图像数据的时序和SRAM的读写时序来编写。CPLD片内的控制逻辑电路主要由一个用电子硬件描述语言verilog编写的状态机实现。另外还有一些附加的门电路、多路选择器和加法器,它们和状态机共同组成了系统的摄像头缓存控制逻辑电路。CPLD控制逻辑流程图如图4所示。
5 功能验证
为了验证系统实现了图像采集的功能,需要对CPLD缓存下来的数据进行处理并显示出图像。由于PC机具有丰富的软硬件资源,因此我们利用PC机来显示图像,验证图像采集功能的正确性。具体方法是:系统主处理器LPC2104读取SRAM中的图像数据并通过串口传送给PC机,在PC机上编写软件接收数据并做简单的处理就可以在PC机屏幕上显示出图像,从而能够验证系统的功能。
6 结束语
通过在一个低端的嵌入式处理器系统中添加CMOS数字图像传感器,并编写硬件描述语言程序、嵌入式处理器程序,实现了采集图像的功能。
本文作者创新点:利用CPLD在一个低端嵌入式系统中实现了图像采集功能。
参考文献:
[1] (英)弗伯著,田泽等译.ARM SoC体系结构.北京航空航天大学出版社,2002
[2] 杜春雷.ARM体系结构与编程.清华大学出版社,2003
[3] 李现勇.Visual C++ 串口通信技术与工程实践.人民邮电出版社,2002
[4] 李侃,廖启征.基于S3C2410平台与嵌入式Linux的图像采集应用.微计算机信息,2006,3-2:125-127
linux操作系统文章专题:linux操作系统详解(linux不再难懂)
评论