【基于FPGA的圖像處理工程】邊緣檢測工程之指令檢測模塊代碼解析
【基于FPGA的圖像處理工程】
? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???—邊緣檢測工程:指令檢測模塊代碼解析
本文為明德?lián)P原創(chuàng)文章,轉(zhuǎn)載請注明出處!
本模塊的功能,是從一串輸入的數(shù)據(jù)中,檢測出指令頭55D5,檢測出包文頭后,獲取到緊接著的4個數(shù)據(jù)(2字節(jié)),并按字節(jié)為單位送給下游模塊。指令頭和無效數(shù)據(jù)則丟棄。
輸入的包文指令格式:

輸入的數(shù)據(jù)din為4比特,假設(shè)其依次輸入:
5、5、d、5、0、2、9、9、1、5、5、d、5、0、1、0、3
其中前兩個字節(jié)55d5就表示指令頭,后一個字節(jié)02表示地址,再一個字節(jié)99表示數(shù)據(jù)。緊跟著后面的1為無效數(shù)據(jù),往后又檢測到55d5,則01為地址,03為數(shù)據(jù)。把指令頭、無效的數(shù)據(jù)過濾掉(即dout_vld為0),最終輸出以字節(jié)為單位的02、99、01、03。
一、設(shè)計架構(gòu)
檢測出指令頭的方法如下:

檢測出包文頭后,需要對后面的4個數(shù)據(jù)進行計數(shù)。每2個數(shù)據(jù)組成1個字節(jié),一共有2個字節(jié)。所以指令檢測模塊采用兩個計數(shù)器的結(jié)構(gòu),這兩個計數(shù)器分別對應(yīng)接收一個字節(jié)需要的數(shù)據(jù)個數(shù)和接收字節(jié)數(shù),其結(jié)構(gòu)圖如下所示:

計數(shù)器cnt0:數(shù)據(jù)個數(shù)計數(shù)器。對接收一個字節(jié)需要的數(shù)據(jù)進行計數(shù),接收一個字節(jié)需要2個數(shù)據(jù)。該計數(shù)器的計數(shù)周期為2。
計數(shù)器cnt1:字節(jié)數(shù)計數(shù)器。對接收的字節(jié)數(shù)進行計數(shù),地址加上數(shù)據(jù)共兩個字節(jié)。該計數(shù)器的計數(shù)周期為2。
二、信號的意義

三、參考代碼
下面展出本模塊的設(shè)計,歡迎進一步交流,如果需要源代碼,歡迎與本人聯(lián)系QQ:1727673675

明德?lián)P專注FPGA研究,我司正在連載兩本書籍:?《基于FPGA至簡設(shè)計法實現(xiàn)的圖像邊緣檢測系統(tǒng)》(http://www.fpgabbs.cn/forum.php?mod=viewthread&tid=691)、
《ASIC和FPGA時序約束理論與應(yīng)用》(http://www.fpgabbs.cn/forum.php?mod=viewthread&tid=705),有興趣點擊閱讀。。