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




