亚洲日韩久久|国偷自产一区二区三区蜜臀国|国产一区二区日韩|99热这里只亚洲无码,无码

紫光同創(chuàng)PGL22G開發(fā)平臺試用連載(6)---邊緣檢測之綜合篇

日期:2020-08-27 來源:電子創(chuàng)新網(wǎng)作者:毛華望閱讀:10

大家好:我是毛華望。目前在參加紫光同創(chuàng)PGL22G開發(fā)平臺試用。連載第6篇。

在第三篇里,不進行modelsim仿真了,而是直接上板在線邏輯分析儀去完成的原因,是因為我使用modelsim的仿真能力有限。通信模塊串口已經驗證可以了,邊緣檢測模塊也可以了。剩下的內容就是一個存儲數(shù)據(jù)和控制數(shù)據(jù)了,內容相對來說不難。感覺問題不大。最好的仿真其實是應該在tb.v文件里面寫入sobel數(shù)據(jù)的,然后在讀回來,進行整套仿真的。當然憑能力的了。我只會局部仿真一下。

程序部分的整體流程。首先串口的數(shù)據(jù)進來,模塊已經寫好了。數(shù)據(jù)緩存就是一個ram存儲器。同樣的數(shù)據(jù)緩存2也是一個ram緩存區(qū)。 Sobel已經仿真驗證過了。目前就剩下控制單元來調度數(shù)據(jù)和控制指令了。

仿真的時候有看到,3行,計算出一行的結果。所以,用串口調試工具,發(fā)3行圖像數(shù)據(jù),然后讓串口回1行結果。最后在拼接起來形成一張整圖。

第一部分:程序篇。

前面已經把主要模塊的內容都寫完了。現(xiàn)在就是要把模塊連接起來完成功能。

主要模塊的內容呢?? 4個存儲單元。 RAM256X8 。

Sobel 計算單元 compute。

Rx 和tx

這4個存儲器中。 第1個,存入上一行視頻數(shù)據(jù)。 第 2個,存入當前行數(shù)據(jù)。 第 3個存入下一行數(shù)據(jù)。 第4個,存入輸出數(shù)據(jù)。 就是因為這樣的結構,所以,再用串口傳送數(shù)據(jù)的時候,一定要按照要求存入數(shù)據(jù)才行。必須是前一行, 當前行,下一行。不是直接發(fā)送就可以了的。

這是框圖“數(shù)據(jù)緩存RAM”,雙端口 RAM,用了3個。

這里是框圖的“sobel計算單元”。連接上。

這里就是框圖中的,“數(shù)據(jù)緩存RAM 2”

這里是框圖 “控制單元”。我沒有單獨寫一個模塊,直接在頂層寫的控制狀態(tài)機。

我這里用了8個狀態(tài)機去完成。

分別是寫入狀態(tài)0前一行數(shù)據(jù)200個, 狀態(tài)1寫入當前行數(shù)據(jù)200個,狀態(tài)2寫入后一行數(shù)據(jù)200個。狀態(tài)3,sobel計算。 狀態(tài)4,讀前一行數(shù)據(jù), 狀態(tài)5,讀當前行數(shù)據(jù)。狀態(tài)6,讀后一行數(shù)據(jù)。 狀態(tài)7,tx返回計算結果。

狀態(tài)0. 寫入前一行數(shù)據(jù)。 寫地址增加, rx來的數(shù)據(jù)寫入存儲器。 打開使能。

寫入到200的時候。換狀態(tài)機,寫當前行。

狀態(tài)1,內容是一樣的。只是寫入的是當前行。 地址,數(shù)據(jù)和使能換到當前行存儲器。

狀態(tài)2,差不多一樣的。

狀態(tài)3是把sobel計算完的結果,寫入到存儲器里。

寫地址增加,打開寫使能。

狀態(tài)4,5,6. 內容是一樣的。

讀地址加1, 打開讀使能。 輪著打開不同的存儲器。

狀態(tài)機7, tx發(fā)送給上位機。

第二部分:matlab篇。

略:

第三部分: modelsim仿真

略:

邊緣檢測三部曲就這樣完成了。再會。

打賞
聯(lián)系客服 投訴反饋  頂部