張 偉,王郅佶
(1.大連理工大學 機械工程學院,遼寧 大連 116024;2.大連第八中學,遼寧 大連 116021)
液位檢測是指用一定的方法對液體的高度進行測量,被廣泛應用于日常生產生活的諸多方面[1-2]。現有的液位檢測手段按其檢測方式大致可以分為接觸式和非接觸式兩種。非接觸式液位計主要通過超聲波、雷達技術、紅外線、激光等測量手段來進行測量,優點在于測量精度高,尤其適用于易燃易爆及腐蝕性液體的液位測量,但其對檢測環境的要求較高,且成本高、通用性低、維護麻煩,并未廣泛應用在實際測量中。基于圖像處理技術的液位檢測系統具有非接觸性、測量精度高、抗干擾性強、成本低、操作方便等優點。論文設計了采用S3C2440處理器和CMOS圖像傳感器的液位測量系統硬件部分,采用ARM9處理器S3C2440搭建嵌入式系統平臺,研究了OV9650驅動的實現過程和開發方法,并利用平臺驅動CMOS圖像傳感器OV9650達到獲取圖像信息的目的。
S3C2440芯片具有MMU虛擬內存管理,獨立的16 K指令緩存和16 K數據緩存,支持DSP指令集,支持數據Cache和質量Cache,LCD控制器,NAND控制器,3通道UART,4通道DMA,4路帶脈寬調制的定時器,I/O端口,具有日歷功能的RTC,8路10位ADC和觸摸屏接口,IIC總線接口,IIS總線接口,USB主機,USB從機,SD卡座和多媒體卡接口,2路SPI和同步時鐘發生器。
系統的存儲空間按其作用可分為程序運行空間與程序存儲空間。為保障程序代碼存儲器數據在電源正常關閉或意外瞬間斷電等系統掉電情況下不丟失,該系統采用了Flash芯片作為程序存儲器。考慮到程序運行的效率和速度,選用程序運行空間的運行速度快的SDRAM芯片作為程序運行存儲空間。
論文采用的是Omnivision公司的OV9650圖像傳感器。該傳感器具有130萬像素,包含一個1 300×1 028大小的圖像處理陣列一個模擬處理器和8位A/D轉換器。每個有源像素傳感單元都可被單獨選址和讀出,并且都具有自己的緩沖放大器。傳感器信號要經過放大器放大后才能達到A/D轉換器所需的電壓值,經過轉換后的模擬電壓以數字量的形式輸出。
S3C2440支持從Nand fl ash啟動和從Nor fl ash啟動兩種模式,其中Nandflash啟動模式下各片選的存儲空間分配是不同的。
S3C2440的時鐘控制邏輯可以產生FCLK,HCLK和PCLK 3種時鐘信號分別用作CPU時鐘、系統總線時鐘和外圍總線時鐘。如圖1所示,S3C2440的中斷源是由外設的內部單元產生,如5個定時器、9個UARTs、2個ADC等共60個中斷源,可發送中斷請求供中斷控制器接收。S3C2440存在源等待寄存器(SRCPND)與中斷等待寄存器(INTPND)兩個中斷等待寄存器,當中斷控制器接收到中斷請求時,源等待寄存器和中斷等待寄存器的中斷源對應位將會被置1。
如圖2所示,S3C2440的CAMIF單元由7部分組成:圖形多路選擇器、捕獲單元、預覽縮放器、編碼縮放器、預覽DMA、編碼DMA、特殊功能寄存器(Special Function Register,SFR)。CAMIF單元的最大輸入尺寸為4 096×4 096像素,視頻格式是ITU-RBT.601/656 YCbCr 8位標準格式。
CAMIF單元存在兩個縮放器用于接收經圖像傳感器采集及捕獲單元處理后的數據,即預覽縮放器和編碼縮放器,前者生成比RGB格式的圖像,這種圖像比直接獲取的圖像更小,此縮放器連接一路DMA通道為預覽通道;后者可以產生編碼的圖像,如YcbCr4∶2∶0等,編碼縮放器連接的DMA通道是編碼通道。預覽通道與編碼通道均連接在AHB總線上。捕獲圖像、設置圖像格式等功能的實現需要對特殊功能寄存器進行設置,具體設置方式如下。

圖1 中斷處理框

圖2 CAMIF系統框
2.1.1 設置時鐘頻率
CAMIF的輸出時鐘頻率由時鐘分割寄存器中的CAMCLK_SEL和CAMDIVN決定。當CAMCLK_SEL為1時,輸出頻率與UPLL的關系由如下等式決定:
CAMCLKOUT=UPLL/[(CAMCLK_DIV)*2]
OV9650傳感器的輸入時鐘為24 MHz,UPLL為48 MHz。所以需將CAMCLK_DIV置0。代入公式可得CAMCLKOUT=24 MHz。
2.1.2 捕獲圖像
圖像捕獲命令是由圖像捕獲使能寄存器CIIMGCPT產生,需在其他寄存器設置好之后再定義此寄存器的設置。若需要同時捕獲編碼通道和預覽通道的數據,可將全局捕獲使能控制位,即CIIMGCPT中的ImgCptEn位設置為1;若需要單獨捕獲編碼通道或預覽通道的一個數據,則可以通過設置ImgCptEn_CoSc和ImgCptEn_PrSc來實現。
在CAMIF開始捕獲圖像后,IRQ中斷請求由進行圖像捕獲的DMA通道在每一個幀同步信號CAMVSYNC的下降沿發出,在處理器中進行中斷處理。可以通過向編碼或預覽DMA通道控制寄存器的相應位寫1來結束圖像捕獲。
2.1.3 圖像格式的設定
為了提高接收到的圖像數據的準確率,傳感器接收圖像格式要與輸入圖像格式保證相互匹配,所以CAMIF單元必須設定接收圖像格式。源幀寄存器CISRCFMT是用來確定源垂直/水平像素數及接收圖像的模式分辨率等信息的。通過設置窗口選擇寄存器CIWSOFST,可以把采集到的原始圖像的中間部分保留成更低分辨率的圖像。首先打開窗口偏移功能,將CIWSOFST[32]的WinOfsEn置1。圖像兩側對中心的偏移量是通過CIWSOFST[26∶16]來設置;圖像上下對中心的偏移量通過CIWSOFST[10∶0]來確定。經過裁剪的圖像的像素大小為:剪裁后垂直像素值=接收圖像的垂直像素值-2×WinVorOfst;剪裁后水平像素值=接收圖像的水平像素值-2×WinHorOfst。
S3C2440 RISC微處理器可以支持一個多主控IIC總線串行接口。IIC總線的總線主控和外設之間的信息傳輸由一條雙向的專用串行數據線(Serial Data Line,SDA)和一條雙向的專用串行時鐘線( Safety Check List,SCL)傳遞連接。在多主控IIC總線模式中,串行數據可在多個S3C2440 RISC微處理器與設備之間雙向傳輸。主機S3C2440啟動和結束數據傳輸的功能可通過使用標準總線仲裁步驟的IIC總線來實現。
S3C2440具有130個管腳,可以分為8類多功能輸入/輸出端口(GPA~GPJ)。為滿足不同的系統配置和性能設計需求,每個端口都可以簡單地由軟件配置。需要注意的是,在主程序未開設時定義完所需的每個引腳的功能,若引腳的復用功能未使用可將此引腳配置為I/O口。
系統的電源部分主要分為兩塊:從外部引入的5V直流電源為整個系統電路提供的電源是系統總電源;主要為處理器、存儲器、周邊設備等提供所需的工作電壓是各模塊供電源。
總電源可以直接對連接在LCD和USHosts等接口上的設備供電,也可以通過低壓差線性穩壓器(Low Dropout Regulator,LDO)芯片將其轉成較低的電壓對其他模塊供電。選用National公司生產的LM1117芯片作為系統的低壓差線性穩壓器。
不同的模塊如處理器和存儲器,周邊設備、圖像傳感器等所需的工作電壓大小和數量不同,需要各模塊供電電源提供。為保證處理器和存儲器運行的穩定性,供電方式其采取單獨供電。SDRAM,JTAG,UART,Flash存儲器和復位電路等周邊設備的工作電壓為3.3 V;對于處理器S3C2440需要3.3 V和1.3 V兩組不同的工作電壓。而圖像傳感器OV9650需要1.8 V,2.8 V,3.3 V 3組不同的工作電壓。
根據性能需求該系統采用Nandflash和SDRAM作為系統存儲器。Nandflash選用64 MB的KgF1208芯片。SDRAM存儲器系統,由兩片16位的K4S561632N并聯構建成32位,兩片K4S561632N分別連接32位CPU數據總線的高16位DATA[31∶16]與低16位DATA[15∶0][3]。K4S561632H的地址總線A[12∶0]與CPU的地址總線ADDR[14∶2]相連;CPU的ADDR24,ADDR25與Bank選擇地址BA0相連,CPU的ADDR25,ADDR26與BA1相連;CPU的SCLK0,SCLK1時鐘線與系統時鐘SCLK相連;數據輸入/輸出掩碼信號LDQM/UDQM分別與CPU寫使能nWBE[3∶0] 相連;nRAS行地址選通信號、nCAS列地址選通信號nWE允許寫入信號分別連接至CPU對應管腳。具體連接如圖3所示。

圖3 SDRAM電路原理
為了方便更換和調試圖像傳感器周圍電路和軟件驅動及應用電路,靈活更換不同型號的圖像傳感器擴展板的需求,圖像傳感器硬件電路可設計成擴展板方式。通過20針Camera接口,擴展板中的OV9650管腳與主控制板中CAMIF的各個接口相連。電路原理如圖4所示。
文章給出圖像采集系統所采用的主要硬件的特點以及性能,對比了CCD和CMOS圖像傳感器的特點,并對CMOS圖像傳感器OV9650的成像原理進行了剖析。分析了S3C2440處理器各個模塊的工作原理以及控制方式,對整個圖像采集系統的電路原理以及具體的電路設計進行了詳細的說明。

圖4 攝像頭接口電路
[參考文獻]
[1]趙剛,唐得剛.幾種常用的液位在線檢測方法的比較[J].中國儀器儀表,2005(5):35-38.
[2]任開春,涂亞慶.20余種液位測量方法分析[J].工業儀表與自動化裝置,2003(5):12-16.
[3]飛凌嵌入式.飛凌開發板配套教程[M].保定:保定飛凌嵌入式技術有限公司,2008.