Philips PM3335子圖像提取模塊的設(shè)計
子圖像提取模塊的功能可描述為:采用FPGA 器件實現(xiàn),根據(jù)串行輸入的黑白圖像和同步信號,提取該圖像中設(shè)定尺寸大小的子圖像。假設(shè)輸入圖像大小為i * j,某一像素點的坐標(biāo)位置為(X,Y),要取出子圖像的大小為m * n,則用c 代碼描述為:for(b=0;b《j ; b++){for (a=0;a《i; a++){ // 取出Xa,Yb 到 Xa+m,Yb+n 的子圖像;} }
Philips PM3335根據(jù)系統(tǒng)設(shè)計的要求,線陣CCD 圖像采集模塊采用串行的方式輸出1×1024 像素的一行圖像,子圖像提取模塊接收該圖像數(shù)據(jù)、緩沖、再輸出16×16 像素的子圖像。子圖像提取模塊的外部端口,如圖1 所示。主要信號有:像素同步時鐘信號CCD_CLK、像素數(shù)據(jù)CCD_DATA、當(dāng)前輸入像素的坐標(biāo)CCD_ADDR[90] ;另外,N_RST 和SYS_CLK 為系統(tǒng)提供的復(fù)位信號和處理時鐘信號。其中,每個CCD_CLK 的上升沿出現(xiàn)時CCD_DATA 像素有效,且該像素所在的位置為CCD_ADDR[90] 值。
為了實現(xiàn)每個Philips PM3335周期內(nèi)均輸出一個子圖像,SYS_CLK應(yīng)該為CCD_CLK 的10 倍左右。
本文采用“圖像轉(zhuǎn)置緩沖區(qū)”的方法來實現(xiàn)子圖像提取模塊。“圖像轉(zhuǎn)置緩沖區(qū)”是一個按行寫入(更新)、按列讀出的一個RAM 緩沖區(qū)。在FPGA 內(nèi)部設(shè)置一個1024 個單元的RAM 緩沖區(qū),每個單元的位寬為16bits.線陣CCD 采集模塊輸出的線陣圖像與子圖像的關(guān)系,如圖2 所示。其中,第0 行表示圖像的當(dāng)前行,第N 行為歷史行,每行有1024 個像素,按照p0 至p1023 的像素順序輸出。假設(shè)當(dāng)前CCD_CLK 輸入的像素為第0行的p16 像素,則其對應(yīng)的16X16 子圖像為圖中的陰影部分。
“圖像轉(zhuǎn)置緩沖區(qū)”RAM 塊存儲圖像的結(jié)構(gòu),如圖3 所示。
Philips PM3335塊共有1024 個單元,每個單元為16 位的寬度,可存放zui近的16 行圖像數(shù)據(jù)。對比圖2 和圖3,可以發(fā)現(xiàn),RAM 塊的地址編號相當(dāng)于線陣CCD 圖像的某一行像素的位置,某個RAM單元的位D15 ~ D0 對應(yīng)某一列的zui近16 個像素,相當(dāng)于對線陣圖像轉(zhuǎn)置后再存放到RAM 塊中。對RAM 緩沖區(qū)進行寫操作時,由于線陣CCD 圖像的數(shù)據(jù)是按行逐位輸入的,每個CCD_CLK 時鐘上升沿出現(xiàn)時,僅需更新RAM 緩沖區(qū)中當(dāng)前像素對應(yīng)的比特,因此在邏輯上是根據(jù)圖像按行寫入RAM 區(qū)的。在FPGA器件中,可設(shè)計一個狀態(tài)機來實現(xiàn)“圖像轉(zhuǎn)置緩沖區(qū)”的讀寫操作,如圖4 所示。
Philips PM3335子圖像提取模塊輸出的子圖像有256 個像素,在FPGA 內(nèi)部通過寄存器暫存上一個輸出的子圖像;當(dāng)更新RAM 區(qū)的某個像素時,把16X16 的滑動窗口向右移動一列像素的位置,把滑動窗口內(nèi)的數(shù)據(jù)作為輸出,就可以得到新的子圖像。
Phoenix Contact Power Quint -PS -3x400-500AC/24?DC/40
Siemens Simatic S7 Sitop Power 20 6EP1436-3BA00 20A
Siemens S7 6ES7340-1AH01-0?AE0 6ES7-340-1AH01-?0AE0
Siemens S7 6GK7343-2AH00-0?XA0 6GK7-343-2AH00-?0XA0
ICP Electronics INC ICP PC WS-855AW ACE-832 LabVIEW 6.0
ICP Electronics INC ICP PC WS-855AW ACE-832 LabVIEW 6.0
Siemens Simodrive 611 6SN1118-0DM31-0?AA0 Version B
FANUC Fanuc Spindle Amplifier A06B-6102-H215#?H520
Siemens Simatic S5 IP242 6ES5242-1AA13 Counter Modul