基于ARM 和Linux的字符采集與識別系統(tǒng)
( 7)存儲器。
本系統(tǒng)采用三星公司的64 MB NAND Flash 存儲器K 9F1208作為程序和數(shù)據(jù)的存儲單元, 采用兩片16位的HY57V561620CT- H (總?cè)萘?4MB ) SDRAM作為系統(tǒng)內(nèi)存, 同時作為DMA 方式讀取緩存數(shù)據(jù)的目的存儲器。其中Flash存儲器存儲空間分配情況如圖2所示。
圖2NAND Flash地址分配。
1.2軟件設(shè)計
圖像采集模塊的程序設(shè)計主要任務(wù)是實現(xiàn)該模塊各元器件的協(xié)調(diào)工作以及實現(xiàn)對圖像數(shù)據(jù)的讀取。主要分為3部分內(nèi)容。
( 1) CPLD 上的邏輯設(shè)計。采用VHDL 語言編寫,該程序?qū)⑼獠烤д竦?0MH z輸入進行分頻, 為C IS、ADC、FIFO 等提供時鐘和控制信號, 并為步進電機提供工作時序。
( 2)嵌入式L inux 系統(tǒng)的裁剪、配置和移植。
本系統(tǒng)采用26內(nèi)核, 宿主機環(huán)境為Ubuntu804。
圖3L inux內(nèi)核配置。
( 3) L inux 驅(qū)動程序的編寫。由于采集模塊對于Linux系統(tǒng)來說可看作為一個設(shè)備, 因此該部分程序應(yīng)作為嵌入式L inux 設(shè)備驅(qū)動程序來編寫, 該驅(qū)動程序通過CPLD間接實現(xiàn)采集模塊的邏輯控制和圖像數(shù)據(jù)的讀取, 為應(yīng)用程序的開發(fā)提供底層硬件的接口[ 5 ] 。從FIFO 緩存讀取圖像數(shù)據(jù)采用DMA 方式,DMA的目的存儲器為ARM 系統(tǒng)的SDRAM。
評論