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