內(nèi)嵌ARM核FPGA芯片EPXAl0及其在圖像驅(qū)動應(yīng)用
2 EPXAl0的工作方式
EPXAl0嵌入式處理器部分提供了兩條32位AMBA微控制器總線AHB1、AHB2,分別用于片內(nèi)各種資源的通訊,如圖1所示?;贏HB1、AHB2總線,EPXAl0的工作方式大致可分為三種:(1)ARM作為AHB1總線的主控,直接訪問AHB1總線的從屬資源,包括SDRAM控制器、片上SRAM、中斷控制器等。(2)ARM作為AHB1總線的主控,通過AHBl-2橋訪問AHB2總線上
的從屬資源,包括UART、E-BI、SRAM、Stripe-To-PLD橋等,同時(shí)通過Stripe-To-PLD
橋?qū)PGA進(jìn)行訪問和控制。(3)FPGA通過AHB2的總線主控PLD-To-Stripe橋訪問AHB2總線上的從屬資源,包括SRAM、SDRAM控制器、UART等。
EPXAl0片內(nèi)集成了軟件可編程鎖相環(huán)路(PLL),為微控制器總線及SDRAM控制器提供了靈活精確的時(shí)鐘基準(zhǔn)。
3 EPXAl0在圖像驅(qū)動和處理方面的應(yīng)用
本文所述的圖像驅(qū)動和處理系統(tǒng)主要利用FPGA邏輯控制實(shí)現(xiàn)簡單、對大量數(shù)據(jù)做簡單處理速度快以及ARM軟件編程靈活的特點(diǎn),系統(tǒng)框圖如圖2所示。在芯片F(xiàn)PGA部分,構(gòu)造了CMOS驅(qū)動模塊,驅(qū)動CMOS圖像傳感器使之能夠采集圖像數(shù)據(jù)。然后圖像數(shù)據(jù)經(jīng)數(shù)據(jù)接收模塊存入片外SDRAM中,并經(jīng)串口傳人PC機(jī),要將圖像數(shù)據(jù)在PC機(jī)中顯示成圖像,還需編寫基于CDib類的圖像顯示程序;同時(shí)將圖像數(shù)據(jù)經(jīng)芯片ARM部分的圖像處理算法(本系統(tǒng)采用Sobel算子)處理,處理后的圖像數(shù)據(jù)才能經(jīng)串口傳給PC機(jī)進(jìn)行顯示。為了驗(yàn)證基于ARM的圖像處理算法實(shí)現(xiàn)的正確性,還將這一算法在PC機(jī)中進(jìn)行了實(shí)現(xiàn),最后針對同一幅圖像,將兩種實(shí)現(xiàn)的結(jié)果進(jìn)行了比較。
3.1圖像的驅(qū)動
3.1.1 CMOS圖像傳感器的驅(qū)動
要使CMOS圖像傳感器成像,必須設(shè)計(jì)正確。的驅(qū)動時(shí)序,包括行同步、列同步、場同步及曝光時(shí)間設(shè)定等時(shí)序。利用FPGA邏輯編程簡單的特點(diǎn),用硬件描述語言Verilog HDL編程,可在FPGA中實(shí)現(xiàn)CMOS圖像傳感器的驅(qū)動時(shí)序,該驅(qū)動時(shí)序的仿真結(jié)果如圖3所示。圖中,ld_y為行選通信號;ld_x為列選通信號;cal為場選通信號;clk_adc為內(nèi)部A/D轉(zhuǎn)換器所需的時(shí)鐘;addr為行列地址線;sys_reset為曝光時(shí)間設(shè)定信號;s和r為內(nèi)部放大器選通信號。
評論