加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長(zhǎng)期合作伙伴
立即加入
  • 正文
    • 一、緒論
    • 二、FPGA相關(guān)介紹
    • 三、系統(tǒng)設(shè)計(jì)
  • 推薦器件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

基于FPGA的單目?jī)?nèi)窺鏡定位系統(tǒng)設(shè)計(jì)(上)

2023/11/28
2539
閱讀需 25 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

今天給大俠帶來(lái)基于FPGA的單目?jī)?nèi)窺鏡定位系統(tǒng)設(shè)計(jì),由于篇幅較長(zhǎng),分三篇。今天帶來(lái)第一篇,上篇,話不多說(shuō),上貨。

隨著現(xiàn)科技的發(fā)展和社會(huì)的進(jìn)步,信息科技迅速發(fā)展,我們可從互聯(lián)網(wǎng)、電臺(tái)等媒體獲取大量信息?,F(xiàn)代信息的存儲(chǔ)、處理和傳輸變得越來(lái)越數(shù)字化。在人們的日常生活中,常用的計(jì)算機(jī)、電視、音響系統(tǒng)、視頻記錄設(shè)備、遠(yuǎn)程通訊電子設(shè)備無(wú)一不采用電子系統(tǒng)、數(shù)字電路系統(tǒng)。因此,數(shù)字技術(shù)的應(yīng)用越來(lái)越廣泛。尤其在通信系統(tǒng)和視頻系統(tǒng)中,數(shù)字系統(tǒng)尤為突出。而隨著FPGA的出世,數(shù)字系統(tǒng)更加受到人們青睞,它為數(shù)字系統(tǒng)的設(shè)計(jì)提供更加便捷的通道,使得數(shù)字系統(tǒng)設(shè)計(jì)可以芯片小型化,電路規(guī)模大型化,龐大的邏輯資源,可滿足各種數(shù)字系統(tǒng)設(shè)計(jì)。

隨著社會(huì)的發(fā)展,科學(xué)技術(shù)已經(jīng)應(yīng)用于各個(gè)領(lǐng)域,尤其是醫(yī)療領(lǐng)域尤為突出。而在醫(yī)療領(lǐng)域中,心臟電信號(hào)模擬器手術(shù)輔助儀器發(fā)展迅速。為了訓(xùn)練經(jīng)驗(yàn)少的醫(yī)生熟悉心臟手術(shù)的操作過(guò)程,而專門開發(fā)心臟信號(hào)模擬儀器,讓醫(yī)生迅速掌握心臟手術(shù)操作過(guò)程,成為一個(gè)經(jīng)驗(yàn)豐富心臟手術(shù)醫(yī)生。

因此,本文將于FPGA平臺(tái),以圖像處理結(jié)合信號(hào)采集原理,實(shí)現(xiàn)醫(yī)生在做心臟模擬手術(shù)操作導(dǎo)管的過(guò)程中,不需要觀察心臟內(nèi)部情況,即可獲取導(dǎo)管頭在心臟內(nèi)部信息的功能,采用內(nèi)窺鏡攝像頭采集視頻和并對(duì)導(dǎo)管頭進(jìn)行跟蹤定位,信號(hào)采集技術(shù)可將采集到的導(dǎo)管頭在心臟內(nèi)部觸碰區(qū)域的信號(hào)采集出來(lái)送到專業(yè)醫(yī)用儀器,進(jìn)行心臟3D建模。

本設(shè)計(jì)的實(shí)現(xiàn)對(duì)醫(yī)院培養(yǎng)的經(jīng)驗(yàn)少的醫(yī)生盡快掌握心臟手術(shù)操作流程很有價(jià)值,未來(lái)將可以培養(yǎng)更多從事心臟手術(shù)工作的醫(yī)學(xué)專業(yè)畢業(yè)的學(xué)生或剛剛從事這個(gè)行業(yè)的社會(huì)醫(yī)生。

第一篇內(nèi)容摘要:本篇會(huì)介紹緒論,包括國(guó)際醫(yī)療器械發(fā)展趨勢(shì)和現(xiàn)狀概述、FPGA發(fā)展現(xiàn)狀、FPGA 在醫(yī)療領(lǐng)域中的應(yīng)用,還會(huì)有 FPGA 相關(guān)介紹,包括FPGA工作原理和FPGA設(shè)計(jì)流程等相關(guān)內(nèi)容。還會(huì)介紹系統(tǒng)的設(shè)計(jì),包括設(shè)計(jì)任務(wù)、方案論證、關(guān)鍵問(wèn)題、解決關(guān)鍵問(wèn)題的方法、總體設(shè)計(jì)(電源模塊、采集模塊、緩沖模塊、顯示模塊)等相關(guān)內(nèi)容。

一、緒論

1.1 國(guó)際醫(yī)療器械發(fā)展趨勢(shì)和現(xiàn)狀概述

在醫(yī)療器械領(lǐng)域,有助于醫(yī)療器械的發(fā)展,恢復(fù)心臟的功能。它也是最富有成果的領(lǐng)域之一。心血管疾病的治療手段是醫(yī)療器械行業(yè)中最重要的產(chǎn)品,無(wú)論是在治療效果方面還是其帶動(dòng)的利益方面,都是一樣。心臟輔助裝置,無(wú)論是在體內(nèi)還是在體外,電子亦或機(jī)械,都變得越來(lái)越小,更容易植入。這些設(shè)備延長(zhǎng)了患者的生命,心血管疾病。在醫(yī)療領(lǐng)域中,心臟電生理領(lǐng)域發(fā)展迅速。

心臟電生理領(lǐng)域,是以作用于生物體的電作用和生物體所發(fā)生的電現(xiàn)象為主要對(duì)象的生理學(xué)的一個(gè)分支領(lǐng)域。因?yàn)榘央S著神經(jīng)等器官、組織的興奮所產(chǎn)生的動(dòng)作電位作為其活動(dòng)指標(biāo)是最容易記錄的現(xiàn)象,所以常常用記錄動(dòng)作電位來(lái)深入研究神經(jīng)系統(tǒng)等的機(jī)能。近代電生理學(xué)的發(fā)展多借助于細(xì)胞內(nèi)電極和電子管、晶體管等放大技術(shù)的發(fā)展。由于熟練外科醫(yī)生的數(shù)量較少,當(dāng)前心臟病患者有機(jī)會(huì)得到手術(shù)治療的幾率只有6%,其中很大一部分患者在等待的過(guò)程中貽誤時(shí)機(jī)而去世,絕大部分患者則在高危中帶病生存。為解除病患的疾苦,在短時(shí)間內(nèi)培養(yǎng)足量的外科手術(shù)醫(yī)生就顯得尤為重要。而當(dāng)前緊張的醫(yī)患關(guān)系,加之心臟手術(shù)自身的復(fù)雜性與危險(xiǎn)性,使得實(shí)習(xí)醫(yī)生通過(guò)在真實(shí)病患身上做手術(shù)從而獲得經(jīng)驗(yàn)的代價(jià)太過(guò)高昂,從而客觀上使得他們成為熟練外科醫(yī)生的經(jīng)驗(yàn)積累期非常漫長(zhǎng),這與實(shí)際的需求明顯相悖。因此著重于發(fā)展心臟電生理領(lǐng)域等醫(yī)療輔助手段。而這種醫(yī)療設(shè)備發(fā)展離不開圖像處理技術(shù)。

1.2 FPGA發(fā)展現(xiàn)狀

FPGA也叫做現(xiàn)場(chǎng)可編程門陣列,目前在通訊領(lǐng)域中發(fā)展迅速,各種通訊算法使用FPGA加速,可節(jié)約成本和資源,提高通訊質(zhì)量和穩(wěn)定性。隨著信息科技的發(fā)展發(fā)展,嵌入式系統(tǒng)設(shè)計(jì)技術(shù)已成為當(dāng)今信息產(chǎn)業(yè)非常流行的技術(shù)、應(yīng)用市場(chǎng)在航空航天、醫(yī)療、通信、網(wǎng)絡(luò)通信、安全、廣播、汽車電子、工業(yè)、消費(fèi)市場(chǎng)、測(cè)試和測(cè)量等領(lǐng)域。隨著技術(shù)的進(jìn)步和發(fā)展,向越來(lái)越多的應(yīng)用領(lǐng)域擴(kuò)展。越來(lái)越多的設(shè)計(jì)已經(jīng)開始從ASIC轉(zhuǎn)向FPGA,F(xiàn)PGA在以各種電子產(chǎn)品的形式進(jìn)入了我們?nèi)粘I钪小?/p>

1.3 FPGA在醫(yī)療領(lǐng)域中的應(yīng)用

圖像處理應(yīng)用于各大領(lǐng)域中,尤其是在醫(yī)療儀器領(lǐng)域中尤為重要,在醫(yī)療領(lǐng)域中的對(duì)心電圖的處理,內(nèi)窺鏡采集圖形處理,隨著電子科技的迅速的發(fā)展,F(xiàn)PGA逐漸在圖像處理領(lǐng)域發(fā)揮著越來(lái)越重要的作用,其并行處理機(jī)制加快算法的實(shí)時(shí)處理,各種算法的實(shí)現(xiàn)基本上是流水算法,更加快了整個(gè)系統(tǒng)的實(shí)時(shí)處理速度,實(shí)時(shí)幀速保證在每秒25幀以上,甚至可達(dá)到每秒60幀左右的幀速。另外,F(xiàn)PGA不僅可以應(yīng)用于圖像處理,在通信領(lǐng)域也很強(qiáng)大,早期,F(xiàn)PGA最先應(yīng)用于通信領(lǐng)域,基帶編碼、調(diào)制解調(diào)等算法實(shí)現(xiàn),隨著FPGA的進(jìn)一步發(fā)展,逐漸應(yīng)用于圖像領(lǐng)域,醫(yī)療儀器的發(fā)展離不開圖像技術(shù)和通信技術(shù)。因此,F(xiàn)PGA將在醫(yī)療領(lǐng)域?qū)l(fā)揮著越來(lái)越重要的作用。

本設(shè)計(jì)是對(duì)心臟手術(shù)模擬器所用的導(dǎo)管頭進(jìn)行定位,旨在抓取導(dǎo)管頭的坐標(biāo)并顯示供醫(yī)生觀察,方便醫(yī)生觀察心臟手術(shù)內(nèi)部的情況,還有導(dǎo)管頭所處的位置信息。而且在此基礎(chǔ)上可擴(kuò)展為多目攝像頭,根據(jù)采集到的位置信息自動(dòng)切換場(chǎng)景,定位導(dǎo)管頭的空間坐標(biāo)。

二、FPGA相關(guān)介紹

2.1 FPGA工作原理

基于FPGA特殊的電路結(jié)構(gòu),F(xiàn)PGA能實(shí)現(xiàn)電路可編程主要體現(xiàn)在以下三個(gè)方面:

a. 可編程邏輯塊

b. 可編程IO

c. 可編程布局布線

其基本結(jié)構(gòu)由某種存儲(chǔ)器(SRAM、 FLASH等)制成的4輸入或6輸入1輸出的“真值表”加上一個(gè)D觸發(fā)器構(gòu)成。任何一個(gè)4輸入1輸出組合邏輯電路,都有一張對(duì)應(yīng)的“真值表”,同樣的如果用這么一個(gè)存儲(chǔ)器制成的4輸入1輸出的“真值表”,只需要修改其“真值表”內(nèi)部值就可以等效出任意4輸入1輸出的組合邏輯。這些“真值表”內(nèi)部值是什么?就是那些01編碼而已。如果要實(shí)現(xiàn)時(shí)序邏輯電路怎么辦?這不有D觸發(fā)器嘛,任何的時(shí)序邏輯都可以轉(zhuǎn)換為組合邏輯+D觸發(fā)器來(lái)完成。但這畢竟只實(shí)現(xiàn)了4輸入1輸出的邏輯電路而已,通常邏輯電路的規(guī)模那是相當(dāng)?shù)拇笈?。那怎么辦呢?這個(gè)時(shí)候就需要用到可編程連線了。在這些連線上有很多用存儲(chǔ)器控制的鏈接點(diǎn),通過(guò)改寫對(duì)應(yīng)存儲(chǔ)器的值就可以確定哪些線是連上的而哪些線是斷開的。這就可以把很多可編程邏輯單元組合起來(lái)形成大型的邏輯電路。最后就是可編程的IO,這其實(shí)是FPGA作為芯片級(jí)使用必須要注意的。任何芯片都必然有輸入引腳和輸出引腳。有可編程的IO可以任意的定義某個(gè)非專用引腳(FPGA中有專門的非用戶可使用的測(cè)試、下載用引腳)為輸入還是輸出,還可以對(duì)IO的電平標(biāo)準(zhǔn)進(jìn)行設(shè)置。

2.2 FPGA設(shè)計(jì)流程

下面將介紹一些常用的FPGA開發(fā)工具、仿真工具以及綜合工具。

a. 設(shè)計(jì)輸入工具

目前設(shè)計(jì)輸入工具有原理圖輸入、硬件描述語(yǔ)言輸入、IP核輸入等,其中原理圖輸入比較直觀,但是不夠靈活,不適合大型系統(tǒng)設(shè)計(jì),因此硬件描述語(yǔ)言輸入彌補(bǔ)了這一缺點(diǎn)。

b. 綜合工具

目前有三種主流的綜合工具,分別是Synopsys公司的Synplify/Synplify Pro、Leonardo Spectrum以及Xilinx自身的XST等。當(dāng)然,Altera公司的Quartus II中擁有自帶的綜合工具。

Synplify/Synplify Pro由于其先進(jìn)的時(shí)序驅(qū)動(dòng)和行為最好算法引擎,具有占地面積小、合成速度快,大型集成工具的優(yōu)點(diǎn),使其得到了廣泛使用。邏輯的合成主要是將硬件描述語(yǔ)言轉(zhuǎn)換為電路且優(yōu)化。

c. 仿真工具

目前最為人所熟悉和使用的仿真工具是ModelSim。仿真速度快、仿真精度高是ModelSim的主要特點(diǎn)。此外,還有一些頗具影響力的仿真工具,例如Cadence Verilog-XL和Synopsys VCS。ActiveHDL也是一款很有特色的仿真工具,它可以利用狀態(tài)機(jī)分析視圖進(jìn)行狀態(tài)機(jī)調(diào)試。

d. 布局布線工具

實(shí)現(xiàn)工具綜合后的開發(fā)環(huán)境主要是ISE、Quartus II自己的映射和布局布線。

一般會(huì)有靜態(tài)時(shí)序分析,主要報(bào)告關(guān)鍵路徑和最大時(shí)鐘頻率。配置下載主要是基于不同的工具來(lái)生成一個(gè)流文件,并下載到FPGA中。

關(guān)于FPGA的設(shè)計(jì)流程主要有以下幾個(gè)方面分別是功能定義/設(shè)備選型、設(shè)計(jì)輸入、功能仿真、綜合優(yōu)化、綜合后仿真、實(shí)現(xiàn)、布局布線后仿真、板級(jí)仿真和芯片的編程與調(diào)試步驟,如圖2.1所示。

圖2.1 FPGA設(shè)計(jì)基本流程圖

三、系統(tǒng)設(shè)計(jì)

3.1 設(shè)計(jì)任務(wù)

本文設(shè)計(jì)是在攝像頭的視覺(jué)中,可抓取到運(yùn)動(dòng)物體的位置,根據(jù)醫(yī)學(xué)設(shè)備導(dǎo)管的特點(diǎn),導(dǎo)管整根導(dǎo)管從顯示屏邊緣進(jìn)入到攝像頭視覺(jué)中,不論從那個(gè)方向進(jìn)入,本文旨在抓取導(dǎo)管頭端的位置,其他部分不需要。本設(shè)計(jì)基于FPGA實(shí)現(xiàn),邏輯宏單元不能高于80%。

3.2 方案論證

備選方案:

方案一:基于顏色的攝像頭定位系統(tǒng)設(shè)計(jì)

方案二:基于幀差法的攝像頭定位系統(tǒng)設(shè)計(jì)

方案三:基于背景差法的攝像頭定位系統(tǒng)設(shè)計(jì)

論證方案:

方案一:基于顏色抓取導(dǎo)管頭,是抓取特定的顏色分量或者是某個(gè)范圍內(nèi)的顏色空間來(lái)分割前景和背景,此方法需要在導(dǎo)管頭上涂上特定的顏色,攝像頭通過(guò)識(shí)別顏色來(lái)獲取導(dǎo)管頭的位置,此方案需要外部處理導(dǎo)管頭,而且對(duì)背景要求比較高,故而舍去此方案。

方案二:幀間差分法是一系列連續(xù)的圖像中,相鄰的兩幀圖像做差分來(lái)確定目標(biāo)輪廓的算法。對(duì)于目標(biāo)處于復(fù)雜背景下也可很好的提取出目標(biāo)輪廓的一種算法。具體做法是當(dāng)視頻場(chǎng)景中出現(xiàn)動(dòng)態(tài)物體時(shí),相鄰兩幀圖像相減,然后去相減結(jié)果的絕對(duì)值,最后在二值化處理,即可得到運(yùn)動(dòng)圖像的輪廓。如果場(chǎng)景中沒(méi)有運(yùn)動(dòng)的物體處理結(jié)果中沒(méi)有任何目標(biāo)輪廓。這種方法類似于高通濾波器,高頻動(dòng)態(tài)部分突顯,低頻抑制,獲取目標(biāo)輪廓。但是也是由于這種方法對(duì)高頻噪聲比較敏感,所以在處理之前一般要去噪聲處理。

幀間差分法的優(yōu)點(diǎn)是由于幀間差分法是針對(duì)于運(yùn)動(dòng)物體變化來(lái)獲取輪廓的,所以光線,背景等環(huán)境對(duì)這種算法的影響不大,處理結(jié)果比較穩(wěn)定。缺點(diǎn)是由于幀間差分法是每隔一段時(shí)間將相鄰兩幀的結(jié)果幀差,兩幀之間的時(shí)間的選擇對(duì)結(jié)果的影響較大,在不同的應(yīng)用場(chǎng)合中選擇不同時(shí)間間隔,如果時(shí)間間隔較小而運(yùn)動(dòng)物體比較快,會(huì)導(dǎo)致形成兩個(gè)目標(biāo)物體,因?yàn)閮蓚€(gè)目標(biāo)沒(méi)有重復(fù)的部分。如果時(shí)間間隔較大而運(yùn)動(dòng)物體較慢,會(huì)導(dǎo)致檢測(cè)不到目標(biāo)物體,因?yàn)橄噜弮蓭瑘D像幾乎沒(méi)有重疊。

基于幀差法抓取導(dǎo)管頭,通過(guò)導(dǎo)管頭的動(dòng)態(tài)變化來(lái)獲取導(dǎo)管頭的位置,此方案無(wú)需對(duì)導(dǎo)管頭進(jìn)行處理,而且對(duì)背景復(fù)雜度要求較低。然而,獲取的目標(biāo)二值圖像主要體現(xiàn)邊緣,中間空缺,需要做幀緩沖,在基于FPGA實(shí)現(xiàn)上,實(shí)現(xiàn)難度也略大。

方案三:背景差分法是非常經(jīng)典且實(shí)用簡(jiǎn)單的算法,原理非常簡(jiǎn)單,就是處理帶有目標(biāo)的圖像之前,預(yù)先存儲(chǔ)一張未帶有目標(biāo)的圖像,即背景圖像,將其存儲(chǔ)起來(lái),等到實(shí)時(shí)處理時(shí),將實(shí)時(shí)圖像與背景圖像相減,即可得到目標(biāo)圖像的輪廓。但是這種方法有一個(gè)致命的缺點(diǎn),即當(dāng)背景發(fā)生變化時(shí),實(shí)時(shí)圖像與背景圖像相減的結(jié)果就不一定是目標(biāo)輪廓了,因此這種算法會(huì)受到背景環(huán)境變化的影響,導(dǎo)致誤判目標(biāo)。要解決環(huán)境變化的影響,需要對(duì)背景的存儲(chǔ)實(shí)時(shí)更新,即要實(shí)現(xiàn)背景更新算法,背景更新算法有很多,而且需要做多幀圖像的緩沖,常用的背景更新算法有均值法、中值法、卡爾曼濾波法、高斯濾波法等。

基于背景差法抓取導(dǎo)管頭,通過(guò)抓取的實(shí)時(shí)圖像減去背景圖像從而獲得目標(biāo)圖像導(dǎo)管頭的位置,此方案也不需要外部處理導(dǎo)管頭,而且對(duì)背景復(fù)雜度要求較低,獲取的目標(biāo)二值圖像飽和。然而,由于環(huán)境的可變性,導(dǎo)致結(jié)果定位不準(zhǔn)確。因此,需要對(duì)背景圖像實(shí)時(shí)更新。此方法的最大的難點(diǎn)就是在基于FPGA硬件算法上,背景更新算法實(shí)現(xiàn)難度比較大,背景更新算法的不同效果也有差異,根據(jù)實(shí)現(xiàn)的環(huán)境和難度,均值法、中值法、卡爾曼濾波法等算法相對(duì)適合FPGA實(shí)現(xiàn)。

根據(jù)上述方案的論證,總結(jié)出表一方案特點(diǎn)。

表3.1 方案特點(diǎn)

論證結(jié)果:綜合上述三種方案的論證,結(jié)合方案在本設(shè)計(jì)實(shí)現(xiàn)特點(diǎn)和難易度,選擇方案二來(lái)實(shí)現(xiàn)本次設(shè)計(jì)。

3.3 關(guān)鍵問(wèn)題

1. 圖像幀緩沖問(wèn)題;

2. 圖像預(yù)處理;

3. 幀差處理問(wèn)題;

4. 乒乓操作問(wèn)題;

5. 格式轉(zhuǎn)換問(wèn)題;

6. 二值圖像投影問(wèn)題;

7. 判斷正確的目標(biāo)坐標(biāo)問(wèn)題。

3.4 解決關(guān)鍵問(wèn)題的方法

圖像幀緩沖:關(guān)于本方案的設(shè)計(jì),圖像的幀緩沖是技術(shù)重點(diǎn)也是技術(shù)難點(diǎn),本方案需要至少三個(gè)端口同時(shí)訪問(wèn)sdram,第一個(gè)是camera寫入到sdram 不同兩個(gè)的存儲(chǔ)區(qū),第二個(gè)和第三個(gè)是將兩個(gè)存儲(chǔ)區(qū)的數(shù)據(jù)同時(shí)輸出,所以為了達(dá)到這一點(diǎn)要求需要做sdram雙緩沖,sdram寫一端接了兩個(gè)fifo,讀一端接了兩個(gè)fifo,這樣就可以滿足上面的方案需求。

圖像預(yù)處理:圖像預(yù)處理是通過(guò)形態(tài)學(xué)算法處理的,有腐蝕算法和膨脹算法,其中腐蝕算法可去除孤立噪點(diǎn),而膨脹算法可擴(kuò)充目標(biāo)像素點(diǎn)數(shù)。

幀差處理:幀差就是兩幀圖像相減得到的值,到底是前一幀減去后一幀還是后一幀減去前一幀,理論上來(lái)說(shuō)都可以,這本項(xiàng)目中,我使用兩幀相減的絕對(duì)值來(lái)輸出,所以,不管是誰(shuí)減誰(shuí)都無(wú)所謂了。

乒乓操作:乒乓操作問(wèn)題是很多通信、圖像項(xiàng)目中都會(huì)用到的技術(shù)手法,原理就是寫操作是當(dāng)采集到的第一幀圖像來(lái)到時(shí),將這幀圖像存儲(chǔ)到第一個(gè)緩沖區(qū)中,當(dāng)?shù)诙瑘D像來(lái)到時(shí),將這幀圖像存儲(chǔ)到第二個(gè)緩沖區(qū)中;當(dāng)?shù)谌龓瑘D像來(lái)到時(shí),將這幀圖像存儲(chǔ)到第一個(gè)緩沖區(qū)中,當(dāng)?shù)谒膸瑘D像來(lái)到時(shí),將這幀圖像存儲(chǔ)到第二個(gè)緩沖區(qū)中,...,以此類推;讀操作同理。關(guān)于緩沖區(qū)的切換是一個(gè)易錯(cuò)的問(wèn)題,如果使用采集模塊或輸出模塊的完成信號(hào)來(lái)切換緩沖區(qū),會(huì)造成數(shù)據(jù)堆積在fifo中被復(fù)位信號(hào)清除,導(dǎo)致部分?jǐn)?shù)據(jù)丟失。所以我采用sdram內(nèi)部發(fā)出完成信號(hào)來(lái)作為乒乓操作緩沖區(qū)的切換信號(hào)。

格式轉(zhuǎn)換:在格式轉(zhuǎn)換中,需要把YUV422轉(zhuǎn)成YUV444,再把YUV444轉(zhuǎn)成RGB888,最后把RGB888轉(zhuǎn)成RGB565,其中YUV444轉(zhuǎn)成RGB888采用查找表的方式。

二值圖像投影:二值圖像投影分為水平方向投影和垂直方向投影,水平方向投影就是把x軸方向各個(gè)地址對(duì)應(yīng)的數(shù)據(jù)加在一塊,垂直方向投影就是把y軸方向各個(gè)地址對(duì)應(yīng)的數(shù)據(jù)加在一塊。最終存儲(chǔ)起來(lái)就得到二值圖像的投影。

判斷正確的目標(biāo)坐標(biāo):投影的結(jié)果可以算出四條邊界線,可確定目標(biāo)所在區(qū)域范圍。通過(guò)邊界線可得到具體的端點(diǎn)坐標(biāo),示意圖如圖3.1所示。示意圖圖3.2為圖3.1可放大區(qū)的放大圖像,通過(guò)橫軸的邊界線可以獲取到端點(diǎn)5和端點(diǎn)6,然后計(jì)算出他們的中心端點(diǎn)7,接著用右邊界線減去端點(diǎn)7的縱坐標(biāo)得到的結(jié)果和用端點(diǎn)7的縱坐標(biāo)減去左邊界線的結(jié)果相比較,可確定導(dǎo)管頭擺放的方向,然后判斷處在邊界上的點(diǎn)為非目標(biāo)點(diǎn),未處在邊界上的點(diǎn)為目標(biāo)點(diǎn),最后將目標(biāo)點(diǎn)輸出,即為導(dǎo)管頭端坐標(biāo)。

圖3.1 二值投影示意圖

圖3.2二值投影放大示意圖

3.5 總體設(shè)計(jì)

系統(tǒng)設(shè)計(jì)旨在完成導(dǎo)管頭在視頻中的二維坐標(biāo)定位,按照模塊分類可分為以下幾大模塊,采集模塊、緩沖模塊、處理模塊、解碼模塊、顯示模塊等幾大模塊組成具體如圖3.3所示。

圖3.3系統(tǒng)整體框圖

3.5.1 電源模塊

FPGA系統(tǒng)因?yàn)橛兄?a class="article-link" target="_blank" href="/tag/%E4%BD%8E%E5%8A%9F%E8%80%97/">低功耗和高性能等特點(diǎn),其設(shè)計(jì)應(yīng)用于各大領(lǐng)域中。而其系統(tǒng)級(jí)的供電問(wèn)題對(duì)于電源的有效管理也是非常重要的。

在本系統(tǒng)中,各路模塊需要供電電壓,如VCC(5V)、3.3V、2.8V、2.5V、1.2V,這些電壓將采用AMS1117芯片產(chǎn)生。AMS1117是一個(gè)正向低壓降穩(wěn)壓器,AMS1117有兩種:一種為固定輸出電壓,輸出電壓值有:1.2V、1.5V、1.8V、2.5V、2.8V、3.0V、3.3V;另一種為可調(diào)輸出電壓。對(duì)于AMS1117廠家做了保護(hù)系統(tǒng),防止過(guò)熱和過(guò)流。接一個(gè)22uF的電容,使AMS1117更加穩(wěn)定。

3.5.2 采集模塊

本設(shè)計(jì)將采用攝像頭傳感器來(lái)作為采集模塊,攝像頭主要分為數(shù)字?jǐn)z像頭和模擬攝像頭,也就是市場(chǎng)經(jīng)常用到的CMOSCCD攝像頭。模擬攝像頭也就三根線,RGB,通過(guò)AD轉(zhuǎn)換為數(shù)字信號(hào),終端接受信號(hào),解碼,便能得到視頻圖像。所有CCD芯片都屬于模擬的設(shè)備。當(dāng)圖像進(jìn)入計(jì)算機(jī)是數(shù)字的。如果信號(hào)在攝像頭、采集卡兩部分完成數(shù)字化的,這個(gè)是模擬攝像頭。數(shù)字?jǐn)z像頭事實(shí)上是由內(nèi)置于攝像頭的數(shù)字化設(shè)備完成數(shù)字化過(guò)程,這樣可以減少圖像噪音。數(shù)字?jǐn)z像頭比模擬攝像頭信噪比更高,而且更增加攝像頭的動(dòng)態(tài)區(qū)間、最大化圖像灰度區(qū)間。

基于開發(fā)難度我選擇使用OV7670 CMOS攝像頭,如圖3.4所示,在接口方面大致相同,主要有以下這些:

1) 都有配置寄存器來(lái)設(shè)置傳感器功能參數(shù),其使用SCCB總線IIC總線協(xié)議;

2) 都有XCLK,PCLK,F(xiàn)RAME_VALID,LINE_VALID,DOUT[7..0]信號(hào),主要是Sensor驅(qū)動(dòng)時(shí)鐘的輸入以及采樣時(shí)鐘,幀有效信號(hào),行有效信號(hào),圖像數(shù)據(jù)的輸出。為了兼容,攝像頭的輸出都設(shè)置了8位,PCLK是像素時(shí)鐘的2倍。

3) 另外還有STROBE,STABDBY,或者PWDN,閃燈,以及Sensor的開關(guān),等功能,不同的攝像頭可能功能有所不同。

3.5.3 緩沖模塊

SDRAM芯片設(shè)計(jì)具有價(jià)格低廉,緩沖速度快等特點(diǎn),因此作為本設(shè)計(jì)首先存儲(chǔ)器芯片,Synchronous Dynamic Random Access Memory,同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器,同步是指 Memory工作需要同步時(shí)鐘,內(nèi)部的命令的發(fā)送與數(shù)據(jù)的傳輸都以它為基準(zhǔn);動(dòng)態(tài)是指存儲(chǔ)陣列需要不斷的刷新來(lái)保證數(shù)據(jù)不丟失;隨機(jī)是指數(shù)據(jù)不是線性依次存儲(chǔ),而是自由指定地址進(jìn)行數(shù)據(jù)讀寫。

本設(shè)計(jì)選用hynix公司生產(chǎn)的型號(hào)為H57V2562GTR 256M (16Mx16bit) Hynix SDRAM Memory 可穩(wěn)定運(yùn)行到200MHz時(shí)鐘,4個(gè)bank,13位地址寬度,數(shù)據(jù)寬度為16位,可存儲(chǔ)YCbCr(4:2:2)數(shù)據(jù)流,工作在視頻采集環(huán)境下,可設(shè)置為頁(yè)寫突發(fā),配合突發(fā)中斷,構(gòu)成任意突發(fā)長(zhǎng)度讀寫,增加緩沖速度,應(yīng)用于視頻實(shí)時(shí)處理。

3.5.4 顯示模塊

本設(shè)計(jì)選擇使用VGA接口作為顯示設(shè)備如圖3.5所示,其通用性比較高,目前各種計(jì)算機(jī)設(shè)備均使用這種接口,VGA是社會(huì)上一種比較通用視頻傳輸標(biāo)準(zhǔn),其分辨率很高、輸出頻率迅速、色彩豐富多樣等諸多好處,在市場(chǎng)上大量應(yīng)用。不支持熱插拔,不支持音頻傳輸。

本篇到此結(jié)束,下一篇帶來(lái)基于FPGA的單目?jī)?nèi)窺鏡定位系統(tǒng)設(shè)計(jì)(中),介紹硬件設(shè)計(jì),包括電源電路、FPGA外圍電路、采集電路、緩沖電路、顯示電路等相關(guān)內(nèi)容,以及介紹軟件設(shè)計(jì),包括采集模塊、緩沖模塊、處理模塊、解碼模塊、顯示模塊等相關(guān)內(nèi)容。

推薦器件

更多器件
器件型號(hào) 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊(cè) ECAD模型 風(fēng)險(xiǎn)等級(jí) 參考價(jià)格 更多信息
ATF1508ASV-15AU100-T 1 Microchip Technology Inc 15NS 100 TQFP IND TEMP GREEN
$38.21 查看
5M2210ZF324I5N 1 Intel Corporation Flash PLD, 11.2ns, 1700-Cell, CMOS, PBGA324, 19 X 19 MM, 1 MM PITCH, LEAD FREE, FBGA-324

ECAD模型

下載ECAD模型
$250.25 查看
EP2C8T144C8N 1 Altera Corporation Field Programmable Gate Array, 516 CLBs, 402.5MHz, 8256-Cell, CMOS, PQFP144, LEAD FREE, TQFP-144

ECAD模型

下載ECAD模型
$27.44 查看

相關(guān)推薦

電子產(chǎn)業(yè)圖譜

任何技術(shù)的學(xué)習(xí)就好比一個(gè)江湖,對(duì)于每一位俠客都需要不斷的歷練,從初入江湖的小白到歸隱山林的隱世高人,需要不斷的自我感悟自己修煉,讓我們一起仗劍闖FPGA乃至更大的江湖。