基于ARM和Linux的字符采集与识别系统
1.2 软件设计
图像采集模块的程序设计主要任务是实现该模块各元器件的协调工作以及实现对图像数据的读取。主要分为3部分内容。
(1)CPLD上的逻辑设计。采用VHDL语言编写,该程序将外部晶振的10 MHz输入进行分频,为CIS、ADC、FIFO等提供时钟和控制信号,并为步进电机提供工作时序。
(2)嵌入式Linux系统的裁剪、配置和移植。本系统采用2.6内核,宿主机环境为Ubuntu8.04。
(3)Linux驱动程序的编写。由于采集模块对于Linux系统来说可看作为一个设备,因此该部分程序应作为嵌入式Linux设备驱动程序来编写,该驱动程序通过CPLD间接实现采集模块的逻辑控制和图像数据的读取,为应用程序的开发提供底层硬件的接口。从FIFO缓存读取图像数据采用DMA方式,DMA的目的存储器为ARM系统的SDRAM。
图像采集模块工作流程图和图像采集效果分别如图4和图5所示。
评论