目录
字符识别系统概述
字符识别系统硬件平台
( 1)ARM 处理器。
采用ARM9系列S3C2410A 作为处理器, 工作频率可达203MH z, 片上资源丰富, 可以满足实时性要求, 为图像处理提供运行平台并配合CPLD 完成图像采集模块的逻辑和读写控制。
( 2)图像传感器及运动平台。
接触式图像传感器( C IS) 具有体积小、重量轻、功耗低、结构紧凑、连接方便以及无阱深等优点, 在扫描仪等领域被广泛应用。本系统采用SV643C10型C IS, 其物理分辨率600 dpi( 236 do t /mm ) , 有效扫描宽度292mm, 共688个传感器像素单元, 其像素输出频率为5MH z。
运动平台由步进电机和光电传感器等组成, 光电传感器实现对进纸的检测, 启动扫描。步进电机控制扫描件换行, 配合C IS完成图像的采集。
( 3)信号调理电路。
信号调理电路完成对C IS 输出模拟信号的差分、放大等, 实现降噪和电压匹配的作用。
( 4)高速A /D转换器。
由于C IS的像素输出频率高于处理器内部的A /D转换器, 所以本系统采用高速的外部ADC 器件TLC5540, 其最大采样率40 MB s- 1, 拥有8 位分辨率。
( 5)数据缓存。
为了实现ADC 和ARM 的速度匹配, 提高系统工作效率, 在ADC 与ARM 处理器之间加一个F IFO 存储器作为高速数据缓存, 选用Averlog ic公司的1 MB8 bit的AL4V8M 440。
( 6) CPLD模块。
实现图像采集模块的逻辑控制。为C IS传感器提供的时钟信号CP 和行转移信号SP。为ADC 提供采集时钟, 为FIFO 提供读写控制和写时钟等。
本文的CPLD 器件采用A ltera 公司的EPM 7128SLC84- 15。
( 7)存储器。
本系统采用三星公司的64 MB NAND Flash 存储器K 9F1208作为程序和数据的存储单元, 采用两片16位的HY57V561620CT- H (总容量64MB ) SDRAM作为系统内存, 同时作为DMA 方式读取缓存数据的目的存储器。其中Flash存储器存储空间分配情况如图2所示。
字符识别系统软件设计
图像采集模块的程序设计主要任务是实现该模块各元器件的协调工作以及实现对图像数据的读取。主要分为3部分内容。
( 1) CPLD 上的逻辑设计。采用VHDL 语言编写,该程序将外部晶振的10MH z输入进行分频, 为C IS、ADC、FIFO 等提供时钟和控制信号, 并为步进电机提供工作时序。
( 2)嵌入式L inux 系统的裁剪、配置和移植。
本系统采用26内核, 宿主机环境为Ubuntu804。
( 3) L inux 驱动程序的编写。由于采集模块对于Linux系统来说可看作为一个设备, 因此该部分程序应作为嵌入式L inux 设备驱动程序来编写, 该驱动程序通过CPLD间接实现采集模块的逻辑控制和图像数据的读取, 为应用程序的开发提供底层硬件的接口[ 5 ] 。从FIFO 缓存读取图像数据采用DMA 方式,DMA的目的存储器为ARM 系统的SDRAM。