版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> 基于TI VC5416的黑白圖像采集之縮放實(shí)現(xiàn)</p><p> 摘 要 本課程設(shè)計(jì)主要是設(shè)計(jì)一個(gè)基于TIVC5416的黑白圖像采集之縮放實(shí)現(xiàn),在TIVC5416 DSP芯片上完成對(duì)黑白圖像采集、縮放的編程,軟件編程主要采用模塊化的設(shè)計(jì)思想,把程序細(xì)化成易于實(shí)現(xiàn)的小模塊。編程的語言主要采用執(zhí)行效率高的匯編語言編寫。通過CCS3.0仿真平臺(tái)最終成功實(shí)現(xiàn)了黑白圖像的采集和縮放。通過最后的仿
2、真結(jié)果可知,基于TIVC5416的黑白圖像采集之縮放實(shí)現(xiàn)已初步達(dá)到了設(shè)計(jì)指標(biāo),達(dá)到了預(yù)期設(shè)計(jì)效果。</p><p> 關(guān)鍵詞:TIVC5416,黑白圖像采集,縮放,匯編語言,CCS仿真</p><p> Based on TI VC5416 black and white image acquisition of scaling realized</p><p>
3、; Abstract:This course is designed to design a black and white image acquisition based on TIVC5416 realize the scale, TIVC5416 DSP chip in to black and white image acquisition, complete with zoom programming, software p
4、rogramming mainly uses the modular design thought, the program into easy to realize the little refinement module. Programming language mainly adopts high efficiency of the assembly language. Through the CCS3.0 simulation
5、 platform ultimately successful realized the black and white im</p><p> Key words: TIVC5416, black and white image acquisition, zoom, assembly language, CCS simulation</p><p><b> 1引 言<
6、;/b></p><p> DSP[1](digital singnal processor)是一種獨(dú)特的微處理器,是以數(shù)字信號(hào)來處理大量信息的器件。其工作原理是接收模擬信號(hào),將其轉(zhuǎn)換為0或1的數(shù)字信號(hào),再對(duì)數(shù)字信號(hào)進(jìn)行修改、刪除、強(qiáng)化,并在其他系統(tǒng)芯片中把數(shù)字?jǐn)?shù)據(jù)翻譯回模擬數(shù)據(jù)或?qū)嶋H環(huán)境格式。它不僅具有可編程性,而且其實(shí)時(shí)運(yùn)行速度可達(dá)每秒數(shù)以千萬條復(fù)雜指令程序,遠(yuǎn)遠(yuǎn)超過了通用微處理器,是數(shù)字化電子世界中
7、日益重要的電腦芯片。它的強(qiáng)大數(shù)據(jù)處理能力和高運(yùn)行速度,是最值得稱道的兩大特色。DSP既是Digital Signal Processing的縮寫(數(shù)字信號(hào)處理的理論和方法)也是Digital Signal Processor(用于數(shù)字信號(hào)處理的可編程微處理器)的縮寫。我們所說的DSP技術(shù),則一般指將通用的或?qū)S玫腄SP處理器用于完成數(shù)字信號(hào)處理的方法和技術(shù)。</p><p> 1.1 課程設(shè)計(jì)的目的</p
8、><p> 科技的進(jìn)步帶動(dòng)了DSP技術(shù)的發(fā)展,現(xiàn)代控制設(shè)備的性能和結(jié)構(gòu)發(fā)生了巨大的變化,我們已經(jīng)進(jìn)入了高速發(fā)展的信息時(shí)代,DSP技術(shù)也成為當(dāng)今科技的主流之一,被廣泛地應(yīng)用于生產(chǎn)的各個(gè)領(lǐng)域。對(duì)于本次課程設(shè)計(jì),其目的在于:</p><p> (1)算法原理與方法。對(duì)算法的原理進(jìn)行詳細(xì)的闡述。</p><p> (2)實(shí)現(xiàn)平臺(tái)介紹。TI VC5416[2]及實(shí)驗(yàn)板的簡單
9、描述。</p><p> (3)硬件資源的設(shè)置。對(duì)外設(shè)及內(nèi)核的配置。</p><p> (4)算法實(shí)現(xiàn)及流程。給出算法的流程圖及核心代碼。</p><p> (5)軟仿真、調(diào)試及結(jié)果。在CCS3.3[3]開發(fā)環(huán)境下進(jìn)行軟仿真,調(diào)試,給出截圖并簡單敘述過程。</p><p> (6)畫出系統(tǒng)原理圖。采用Protel、Or CAD等原理圖
10、軟件。</p><p> 1.2 課程設(shè)計(jì)的要求</p><p> 本課程設(shè)計(jì)主要要注意以下幾方面的內(nèi)容:</p><p> (1)綜合運(yùn)用DSP基本技術(shù)和信號(hào)系統(tǒng)設(shè)計(jì)方法設(shè)計(jì)本系統(tǒng)。</p><p> (2)學(xué)會(huì)文獻(xiàn)檢索的基本方法和綜合運(yùn)用文獻(xiàn)的能力。</p><p> (3)通過課程設(shè)計(jì)培養(yǎng)嚴(yán)謹(jǐn)?shù)目茖W(xué)態(tài)度
11、,認(rèn)真的工作作風(fēng)和團(tuán)隊(duì)協(xié)作精神。</p><p><b> 1.3設(shè)計(jì)平臺(tái)</b></p><p> CCS集成開發(fā)環(huán)境。CCS(Code Composer Studio)是TI開發(fā)的一個(gè)完整的DSP集成開發(fā)環(huán)境,也是目前使用最為廣泛的DSP開發(fā)軟件之一?,F(xiàn)在,所有的TI DSP都可以使用該軟件工具來進(jìn)行開發(fā)。在CCS中,不僅集成了常規(guī)的開發(fā)工具,如源程序編輯器
12、、代碼生成工具(編譯、連接器)及調(diào)試環(huán)境,還提供了DSP/BIOSTM開發(fā)工具。DSP/BIOSTM是一個(gè)簡易的嵌入式操作系統(tǒng),它大大方便了用戶編寫多任務(wù)應(yīng)用程序。使用DSP/BIOSTM后,還能增強(qiáng)對(duì)代碼執(zhí)行效率的監(jiān)控。目前,CCS已經(jīng)成為DSP開發(fā)過程中不可缺少的工具。</p><p><b> 2 基本原理</b></p><p> 2.1 DSP系統(tǒng)簡介
13、</p><p> 數(shù)字信號(hào)處理[4]的目的是對(duì)真實(shí)世界的連續(xù)模擬信號(hào)進(jìn)行測量或?yàn)V波。因此在進(jìn)行數(shù)字信號(hào)處理之前需要將信號(hào)從模擬域轉(zhuǎn)換到數(shù)字域,這通常通過A/D轉(zhuǎn)換器實(shí)現(xiàn)。而數(shù)字信號(hào)處理的輸出經(jīng)常也要變換到模擬域,這是通過D/A轉(zhuǎn)換器實(shí)現(xiàn)的。 </p><p> 數(shù)字信號(hào)處理的算法需要利用計(jì)算機(jī)或?qū)S锰幚碓O(shè)備如數(shù)字信號(hào)處理器(DSP)和專用集成電路(ASIC)等。數(shù)字信號(hào)處理技術(shù)及
14、設(shè)備具有靈活、精確、抗干擾強(qiáng)、設(shè)備尺寸小、造價(jià)低、速度快等突出優(yōu)點(diǎn),這些都是模擬信號(hào)處理技術(shù)與設(shè)備所無法比擬的。 </p><p> 數(shù)字信號(hào)處理的核心算法是離散傅立葉變換(DFT),是DFT使信號(hào)在數(shù)字域和頻域都實(shí)現(xiàn)了離散化,從而可以用通用計(jì)算機(jī)處理離散信號(hào)。而使數(shù)字信號(hào)處理從理論走向?qū)嵱玫氖强焖俑盗⑷~變換(FFT),F(xiàn)FT的出現(xiàn)大大減少了DFT的運(yùn)算量,使實(shí)時(shí)的數(shù)字信號(hào)處理成為可能、極大促進(jìn)了該學(xué)科的發(fā)展
15、。 </p><p> 世界上三大DSP芯片生產(chǎn)商是德克薩斯儀器公司(TI) 、模擬器件公司(ADI) 和摩托羅拉公司(Motorola)。這三家公司幾乎壟斷了通用DSP芯片市場。 </p><p> 圖像信號(hào)處理的應(yīng)用已滲透到各個(gè)科學(xué)技術(shù)領(lǐng)域。譬如,圖像處理技術(shù)可用于研究粒子的運(yùn)動(dòng)軌跡、生物細(xì)胞的結(jié)構(gòu)、地貌的狀態(tài)、氣象云圖的分析、宇宙星體的構(gòu)成等。在圖像處理的實(shí)際應(yīng)用中,獲得較大成
16、果的有遙感圖像處理技術(shù)、斷層成像技術(shù)、計(jì)算機(jī)視覺技術(shù)和景物分析技術(shù)等。根據(jù)圖像信號(hào)處理的應(yīng)用特點(diǎn),處理技術(shù)大體可分為圖像增強(qiáng)、恢復(fù)、分割、識(shí)別、編碼和重建等幾個(gè)方面。這些處理技術(shù)各具特點(diǎn),且正在迅速發(fā)展中。 </p><p> 2.2 TI VC5416芯片簡介</p><p> 圖像處理用TI公司的VC5416是TI公司的一款16bit定點(diǎn)高性能DSP芯片,是VC54XX系列中
17、的第三代芯片。主要特征有:速率最高達(dá)160MIPS;3條16bit的數(shù)據(jù)存儲(chǔ)器總線和1條程序存儲(chǔ)器總線;1個(gè)40bit桶形移位器和2個(gè)40bit累加器;1個(gè)17×17乘法器和1個(gè)40bit專用加法器;最大8M×16bit的擴(kuò)展尋址空間,內(nèi)置128M×16bit的RAM和16K×16bit的ROM個(gè)多通道緩沖串口;配有PCM3002,可對(duì)語音進(jìn)行A/D和D/A轉(zhuǎn)換。由于VC5416功耗低,性能高,其
18、分開的數(shù)據(jù)和指令空間使該芯片具有高度的并行操作能力,在單周期內(nèi)允許指令和數(shù)據(jù)同時(shí)存取,再加上高度優(yōu)化的指令集,使得該芯片具有很高的運(yùn)算速度并且該芯片本身具有豐富的片內(nèi)存儲(chǔ)器資源和多種片上外設(shè),因此在工程界得到了廣泛應(yīng)用。</p><p> 2.3 CCS軟件簡介</p><p> 該課程設(shè)計(jì)是基于CCS開發(fā)環(huán)境的。CCS是TI公司推出的為開發(fā)TMS320系列DSP軟件的集成開發(fā)環(huán)境,是
19、目前使用最為廣泛的DSP開發(fā)軟件之一。它采用Windows風(fēng)格界面,提供了環(huán)境配置、源文件編譯、編譯連接、程序調(diào)試、跟蹤分析等環(huán)節(jié),并把軟、硬件開發(fā)工具集成在一起,使程序的編寫、匯編、程序的軟硬件仿真和調(diào)試等開發(fā)工作在統(tǒng)一的環(huán)境中進(jìn)行,從而加速軟件開發(fā)進(jìn)程。本課程設(shè)計(jì)通過CCS軟件平臺(tái)上應(yīng)用執(zhí)行效率高的匯編語言來實(shí)現(xiàn)黑白圖像采集及縮放實(shí)現(xiàn)。</p><p> 一個(gè)典型的CCS集成開發(fā)環(huán)境用戶界面如圖2.1所示。
20、</p><p> 圖2.1 CCS用戶界面</p><p> 由上圖知整個(gè)用戶界面由主菜單、工具欄、工程窗口、源程序編輯調(diào)試窗口、輸出窗口等組成。工程窗口用來組織用戶將若干程序構(gòu)成一個(gè)項(xiàng)目,用戶可以從工程列表中選擇需要編輯和調(diào)試的特定程序,可以在工程中添加文件。在源程序編輯窗口中用戶可以編輯程序,又可以設(shè)置斷點(diǎn)、探針調(diào)試程序。輸出窗口顯示編譯信息、程序執(zhí)行結(jié)果。</p>
21、<p> CCS主菜單中共有12項(xiàng),如圖2.2所示,各項(xiàng)功能見表2-1。</p><p> 圖2.2 CCS主菜單</p><p> 表2-1 主菜單各項(xiàng)功能簡介</p><p> 常用工具欄由CCS的一些常用命令組成,有6個(gè)工具欄,分別是: Standard Toolbar(標(biāo)準(zhǔn)工具條)、GEL Toolbar(GEL工具條)、Project
22、Toolbar(工程工具條)、Debug Toolbar(調(diào)試工具條)、Edit Toolbar(編輯工具條)和Plug-in Toolbar(插件程序工具條)。這6個(gè)工具欄可在View菜單下找到,如圖2.3所示,并可選擇是否顯示該工具欄。</p><p> 圖2.3 View 菜單</p><p> 2.4 黑白圖像采集實(shí)現(xiàn)原理</p><p> 在計(jì)算機(jī)圖
23、像處理中,圖像縮放(image scaling)是指對(duì)數(shù)字圖像的大小進(jìn)行調(diào)整的過程。圖像縮放是一種非平凡的過程,需要在處理效率以及結(jié)果的平滑度(smoothness)和清晰度(sharpness)上做一個(gè)權(quán)衡。當(dāng)一個(gè)圖像的大小增加之后,組成圖像的像素的可見度將會(huì)變得更高,從而使得圖像表現(xiàn)得“軟”。相反地,縮小一個(gè)圖像將會(huì)增強(qiáng)它的平滑度和清晰度。 </p><p> 壓縮卡的圖像采集是由VC5416直接完成的。初
24、始化結(jié)束后,VC5416按缺省模式或主機(jī)命令的要求確定圖像的大小和采集速率等參數(shù),然后根據(jù)奇、偶場信號(hào)和復(fù)合同步脈沖信號(hào)來采集圖像數(shù)據(jù)。</p><p> 采集流程可分為以下幾個(gè)步驟:</p><p><b> ?、俚却龍鲩_始。</b></p><p> ②當(dāng)場開始信號(hào)到來時(shí),VC5416進(jìn)入場處理子程序,開放行中斷做好采集一場數(shù)據(jù)的準(zhǔn)備。
25、根據(jù)奇、偶場信號(hào)可以決定是采集奇場圖像還是采集偶場圖像。</p><p> ?、郛?dāng)重復(fù)同步信號(hào)到來時(shí),VC5416進(jìn)入中斷服務(wù)子程序,并將圖像數(shù)據(jù)存入擴(kuò)展的數(shù)據(jù)存儲(chǔ)器中。當(dāng)一場或一幀圖像各行數(shù)據(jù)都采集完畢后,關(guān)閉中斷。</p><p> 基于TIVC5416的黑白圖像采集之縮放實(shí)現(xiàn)中,DSP接收到場開始信號(hào)后進(jìn)入場處理子程序中。在場處理子程序中,先確定將要采集的圖像的大小并設(shè)置采集、編碼
26、及發(fā)送過程中要使用的參數(shù),然后打開行采集中斷INT0,延時(shí)一定數(shù)目的行周期后退出場處理子程序,進(jìn)入圖像采集階段。采集中斷要完成圖像采集和其它一些任務(wù)。在每行圖像采集之間應(yīng)根據(jù)圖像大小延時(shí)一段時(shí)間,以保證采集到的圖像位于畫面的中心。采集圖像時(shí),每隔140ns讀取一個(gè)A/D轉(zhuǎn)換數(shù)據(jù),存入幀緩沖器。由于讀取A/D轉(zhuǎn)換結(jié)果與寫幀緩沖器只用了80ns,因此可以先將圖像數(shù)據(jù)減去128,再存入幀存儲(chǔ)器,這樣就進(jìn)行了JPEG編碼時(shí)就不要執(zhí)行減128操作
27、了,節(jié)約了時(shí)間。</p><p><b> 3 設(shè)計(jì)步驟</b></p><p><b> 3.1程序流程圖</b></p><p> 圖像可以看作由無數(shù)點(diǎn)(像素)組成,這些點(diǎn)與x軸的每一個(gè)角度值相對(duì)應(yīng),可以利用DSP處理器處理大量重復(fù)計(jì)算的優(yōu)勢來計(jì)算x軸每一點(diǎn)對(duì)應(yīng)的y的值(在x軸取N個(gè)點(diǎn)進(jìn)行逼近)。程序流程圖如圖3
28、.1所示。</p><p> 3.2 具體實(shí)現(xiàn)過程</p><p> CCS是一個(gè)開放的環(huán)境,可以通過設(shè)置不同的驅(qū)動(dòng)程序完成對(duì)不同環(huán)境的支持。CCS setup 配置程序就是用來定義DSP芯片和目標(biāo)板類型的。在第一次使用CCS之前必須首先運(yùn)行CCS setup 配置程序。在以后的使用中,若想改變CCS應(yīng)用平臺(tái)的類型,可以再次運(yùn)行該配置程序來改變設(shè)置。CCS軟件集成了TI公司的Simul
29、ator和Emulatord的驅(qū)動(dòng)程序,用戶可以直接用TI的仿真器進(jìn)行開發(fā)測試。其配置過程如下,雙擊桌面上的Setup CCStudio圖標(biāo),彈出如圖3.2所示的對(duì)話框。</p><p> 圖3.2 CCS配置對(duì)話框</p><p> 從Family下拉菜單中選擇C54XX,Platform下拉菜單選擇xds510 emulator,從該對(duì)話框中選擇C5416 Device Simul
30、ator選項(xiàng),然后單擊Add按鈕,如圖3.3所示。</p><p> 圖3.3用戶平臺(tái)類型</p><p> 該對(duì)話框中的Family欄用于設(shè)置DSP類型、平臺(tái)類型、是否進(jìn)行內(nèi)存映射等。在配置對(duì)話框完成后,單擊Add按鈕保存設(shè)置即完成了配置。完成配置后即可打開CCS仿真軟件進(jìn)行設(shè)計(jì)。首先創(chuàng)建源文件。</p><p> 選擇File →New →Source F
31、ile 命令,編寫源代碼(見附錄一)image.asm。</p><p> ?。?)創(chuàng)建黑白圖像采集的鏈接命令文件image.cmd(見附錄二)。</p><p> 其次是創(chuàng)建工程文件。</p><p> ?。?) 打開CCS,點(diǎn)擊Project-->New,創(chuàng)建一個(gè)新工程,其中工程名及路徑如圖3.4所示。</p><p> 圖3.
32、4 創(chuàng)建一個(gè)新工程</p><p> 點(diǎn)擊完成即可完成工程創(chuàng)建。</p><p> 右鍵點(diǎn)擊Projects,選擇Add Files to project,添加工程所需文件。如圖3.5所示</p><p> 圖3.5 添加工程文件</p><p> 在彈出的對(duì)話框中的下拉菜單中分別選擇image.asm和image.cmd點(diǎn)擊打開,即
33、可添加源程序到工程中,在Projects窗口中可見兩個(gè)源文件都已添加進(jìn)工程。如圖3.6所示。</p><p> 圖3.6 已添加源文件窗口</p><p> 然后是設(shè)置編譯與連接選項(xiàng),點(diǎn)擊Projects,選擇Build Options,在彈出的對(duì)話框中設(shè)置相應(yīng)的編譯參數(shù),一般情況下,按默認(rèn)值就可以;如圖3.7所示。</p><p> 圖3.7 編譯環(huán)境設(shè)置&
34、lt;/p><p> 同時(shí)在彈出的對(duì)話框中選擇連接的參數(shù)設(shè)置,設(shè)置輸出文件名,堆棧的大小以及初始化的方式。如圖3.8所示。 </p><p> 圖3.8 編譯環(huán)境設(shè)置</p><p> 最后是工程編譯與調(diào)試,點(diǎn)擊Projects→ Rebuild all,對(duì)工程進(jìn)行編譯,如正確則生成.out文件;若是修改程序,可以使用Project → Bu
35、ild 命令,進(jìn)行編譯連接,它只對(duì)修改部分做編譯連接工作,可節(jié)省編譯與連接的時(shí)間。編譯通過生成.out 文件。點(diǎn)擊File → load program,在彈出的對(duì)話框中載入debug 文件夾下的.out 可執(zhí)行文件,裝載完畢。</p><p><b> 4 仿真結(jié)果</b></p><p> 假設(shè)原圖像如下圖4.1所示: </p><p>
36、;<b> 圖4.1原圖像</b></p><p> 將該圖像放大兩倍,可以有很多種算法,最簡單的方法為最近領(lǐng)域插值,即將每一個(gè)原像素原封不動(dòng)地復(fù)制映射到擴(kuò)展后對(duì)應(yīng)四個(gè)像素中。如圖4.2所示。 </p><p> 圖4.2放大兩倍的圖像</p><p> 這種方法在放大圖像的同時(shí)保留了所有的原圖像的所有信息,但是會(huì)產(chǎn)生鋸齒現(xiàn)象。 <
37、;/p><p> 雙線性插值的效果對(duì)于放大的圖像而言較最近領(lǐng)域插值來得平滑,但是卻使得圖像變得模糊而且仍然會(huì)有一部分鋸齒現(xiàn)象。如圖4.3所示。 </p><p> 圖4.3雙線性插值法放大的圖像</p><p> 雙三次插值更好比雙線性插值更好。如圖4.4所示。 </p><p> 圖4.4雙三次插值法放大的圖像</p>&
38、lt;p> 對(duì)于低分辨率或顏色很少的(通常是從2到256色)圖像的放大問題,效果最好的算法是hq2x算法或類似的縮放算法。這些算法將會(huì)產(chǎn)生銳邊并保留大量的細(xì)節(jié),其效果圖4.5所示。</p><p> 圖4.5hq2x算法放大的圖像</p><p> 對(duì)于照片(以及有許多色階的光柵圖像)的縮放算法可以參看一種被稱為超采樣(supersampling)的反鋸齒算法。如圖4.6所示。
39、 </p><p> 圖4.6 縮放前后的圖像</p><p> 5 出現(xiàn)的問題及解決方法</p><p> (1)編寫相關(guān)程序中部分代碼出現(xiàn)問題無法運(yùn)行,對(duì)CCS仿真軟件也不大熟悉,通過查看原理及相關(guān)資料,了解了黑白圖像的采集原理和CCS軟件的操作說明書,從而正確編寫出了設(shè)計(jì)程序并運(yùn)行無錯(cuò)。</p><p> (2)理論驗(yàn)證時(shí)沒有徹
40、底搞清楚原理,黑白圖像采集過程中出現(xiàn)了錯(cuò)誤,導(dǎo)致程序運(yùn)行結(jié)果與理論驗(yàn)證結(jié)果不符。在查看相關(guān)書籍,同學(xué)和老師的幫助下,最終徹底弄清楚了原理,得到了所要的圖像。</p><p> ?。?)在查找相關(guān)資料時(shí)不懂取舍,導(dǎo)致查了很多無關(guān)的資料。解決方法是首先弄清楚黑白圖像采集的相關(guān)原理和課程設(shè)計(jì)的要求。</p><p> ?。?)在寫論文的過程中也出現(xiàn)了不少的問題,如Visio 2003不知道使用,
41、原理圖的繪制比較麻煩,在同學(xué)的幫助下,通過多次練習(xí),終于熟練掌握了Visio畫圖。</p><p><b> 6 結(jié)束語</b></p><p> 經(jīng)過四周的摸索以及老師同學(xué)的幫助,經(jīng)過對(duì)課程設(shè)計(jì)的多次修改,我終于順利按時(shí)完成了本次課程設(shè)計(jì)任務(wù)。在這次課程設(shè)計(jì)中,我遇到了一些課堂中從未遇到的問題,通過網(wǎng)絡(luò)查找和同學(xué)交流,大大促進(jìn)了設(shè)計(jì)進(jìn)程。并在過程中進(jìn)一步提高了自
42、身的創(chuàng)作、創(chuàng)新水平,扎實(shí)基礎(chǔ),擴(kuò)展所學(xué)。這次課程設(shè)計(jì)不僅讓我更加深刻的了解了黑白圖像采集之縮放實(shí)現(xiàn)的原理,也更加深刻理解了它在通信系統(tǒng)中的重要作用。</p><p> 在整個(gè)設(shè)計(jì)過程中,對(duì)我來說收獲最大的是那些分析和解決問題的方法與能力。從分析任務(wù)書,到如何找到設(shè)計(jì)原理,以及采用什么平臺(tái)來實(shí)現(xiàn)原理都是環(huán)環(huán)相扣的一個(gè)過程,哪一個(gè)步驟出現(xiàn)了問題都會(huì)給最終的設(shè)計(jì)帶來麻煩。</p><p>
43、我的理論知識(shí)和實(shí)際應(yīng)用脫節(jié),它需要我將學(xué)過的相關(guān)知識(shí)都系統(tǒng)地聯(lián)系起來,對(duì)學(xué)過的理論進(jìn)行深入的理解,這就為我們以后進(jìn)行社會(huì)生產(chǎn)打下了基礎(chǔ)。通過本次課程設(shè)計(jì),我真切的體會(huì)到了理論與實(shí)際工程的聯(lián)系,架起這座橋梁的就是我們的系統(tǒng)仿真。也正是因?yàn)橛辛讼到y(tǒng)仿真這個(gè)模塊才讓我們的理論在不至于和實(shí)際工程相差很遠(yuǎn),也讓我們在學(xué)校里就可以驗(yàn)證理論知識(shí),說到這里我不得不感到電子世界的奇妙。對(duì)于我們在校大學(xué)生來說很難遇到很好的機(jī)會(huì)可以把理論運(yùn)用到真正的實(shí)際工程
44、中去,因?yàn)槲覀儧]有經(jīng)驗(yàn),也因?yàn)閷?shí)際工程的嚴(yán)謹(jǐn),不存在嘗試的可能性,不允許有任何差錯(cuò)。要完整的做好一個(gè)設(shè)計(jì)需要的不僅是懂得理論就可以了。</p><p> 回顧這次課程設(shè)計(jì),感慨頗多,在短短的四周時(shí)間里,我不僅鞏固了以前學(xué)過的知識(shí),還學(xué)到了很多新知識(shí)。這次課程設(shè)計(jì)使我深刻認(rèn)識(shí)到理論和實(shí)踐相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把理論和實(shí)踐結(jié)合起來,從實(shí)踐中得出結(jié)論,才是真正自己掌握好的知識(shí),才能提高自己的
45、實(shí)際動(dòng)手能力和獨(dú)立思考解決問題的能力。同時(shí),完成課程設(shè)計(jì)的過程中我也發(fā)現(xiàn)了自己的很多不足。比如,有時(shí)候自己遇到問題做不出來就開始浮躁。通過此次課程設(shè)計(jì)我知道了做科學(xué)需要嚴(yán)謹(jǐn)?shù)膽B(tài)度和廣褒的知識(shí),為我以后更好的學(xué)習(xí)指明了一個(gè)努力的方向。我會(huì)不斷的努力學(xué)習(xí),珍惜每次機(jī)會(huì),把專業(yè)學(xué)好,鍛煉自己獨(dú)立思考問題的能力,同時(shí)培養(yǎng)自己理論聯(lián)系實(shí)際及動(dòng)手的能力。</p><p> 最后,這個(gè)設(shè)計(jì)之所以能按時(shí)完成離不開老師的指導(dǎo)和同
46、學(xué)的幫助,在此對(duì)他們表示衷心的感謝,也感謝學(xué)校給了我這次鍛煉自己和認(rèn)識(shí)自己知識(shí)水平的好機(jī)會(huì)。</p><p><b> 參考文獻(xiàn)</b></p><p> [1] 支長義等.DSP原理及開發(fā)應(yīng)用.北京:北京航空航天大學(xué)出版社,2006.</p><p> [2] 清源科技.TMS320C54xDSP硬件開發(fā)教程.北京:機(jī)械工業(yè)出版社,20
47、03.</p><p> [3] 劉益成.TMS320C54xDSP應(yīng)用程序設(shè)計(jì)與開發(fā).北京:北京航空航天大學(xué)出版社,2002.</p><p> [4] 趙紅怡.DSP技術(shù)與應(yīng)用實(shí)例(第二版).北京:電子工業(yè)出版社,2008.</p><p><b> 附件</b></p><p> 附件一:黑白圖像采集源程序
48、</p><p> //程序名稱:image.asm</p><p> //程序功能:實(shí)現(xiàn)黑白圖像采集的功能</p><p> //程序作者:唐勝艷</p><p> //最后修改日期:2011-11-4</p><p> /*圖像句柄的聲明*/</p><p> VP_Handle
49、 vpHchannel0;</p><p> VP_Handle vpHchannel1;</p><p> VP_Handle vpHchannel2;</p><p> /*確定圖像的參數(shù)*/</p><p> int numPixels = 720;//每行720個(gè)像素</p><p> int num
50、Lines = 576;//每幀576行(PAL)</p><p> /*采集與顯示緩沖區(qū)的首址*/</p><p> Uint32 capYbuffer = 0x80000000;</p><p> Uint32 capCbbuffer = 0x800675c0;</p><p> Uint32 capCrbuffer = 0x8
51、009b0a0;</p><p> Uint32 disYbuffer = 0x80100000;</p><p> Uint32 disCbbuffer = 0x801675c0; </p><p> Uint32 disCrbuffer = 0x8019b0a0;</p><p> Uint32 tempYbuffer = 0x8
52、0200000; //臨時(shí)值</p><p> /*圖像格式標(biāo)志*/</p><p> Uint8 NTSCorPAL = 0;</p><p> extern far void vectors();</p><p> extern volatile Uint32 capNewFrame;</p><p>
53、 extern volatile Uint32 disNewFrame;</p><p> void main()</p><p><b> {inti;</b></p><p> Uint8 addrI2C;</p><p> /*等待第一幀數(shù)據(jù)采集完成*/</p><p> wh
54、ile(capNewFrame == 0){}</p><p> /*將數(shù)據(jù)存入顯示緩沖區(qū),并清采集完成的標(biāo)志*/</p><p> capNewFrame =0;</p><p> for(i=0;i<numLines;i++)</p><p><b> {</b></p><p>
55、; /*傳送臨時(shí)Y緩沖區(qū)*/</p><p> DAT_copy((void *)(capYbuffer + i * numPixels), </p><p> (void *)(tempYbuffer + i * numPixels), numPixels); </p><p><b> }</b></p>&l
56、t;p> /*畫邊框*/ </p><p> drawRectangle(); </p><p> for(i=0;i<0x33ae0;i++)</p><p> { *((Uint8 *)(disCrbuffer +i)) =0x80;</p><p> *((Uint8 *)(disCbbuffer +i))
57、=0x80;</p><p><b> }</b></p><p> for(i=0;i<numLines;i++)</p><p> {/*傳送Y緩沖區(qū)*/</p><p> DAT_copy((void *)(tempYbuffer + i * numPixels), (void *)(disYbuff
58、er + i * numPixels), numPixels);</p><p><b> }</b></p><p> /*啟動(dòng)顯示模塊*/</p><p> bt656_display_start(vpHchannel1);</p><p> /*建立顯示的實(shí)時(shí)循環(huán)*/</p><p
59、><b> for(;;)</b></p><p> {/*當(dāng)采集區(qū)的數(shù)據(jù)已經(jīng)采集好,而顯示緩沖區(qū)的數(shù)據(jù)已空*/</p><p> if((capNewFrame == 1)&&(disNewFrame == 1))</p><p> {/*將數(shù)據(jù)裝入顯示緩沖區(qū),并清采集完成的標(biāo)志*/</p><
60、;p> capNewFrame =0;</p><p> disNewFrame =0;</p><p> for(i=0;i<numLines;i++)</p><p> {/*傳送臨時(shí)Y緩沖區(qū)*/</p><p> DAT_copy((void *)(capYbuffer + i * numPixels), (voi
61、d *)(tempYbuffer + i * numPixels),numPixels);</p><p><b> }</b></p><p> /*畫邊框*/ </p><p> drawRectangle(); </p><p> for(i=0;i<numLines;i++)</p
62、><p> {/*傳送Y緩沖區(qū)*/</p><p> DAT_copy((void *)(tempYbuffer + i * numPixels), (void *)(disYbuffer + i * numPixels),numPixels);</p><p><b> }</b></p><p><b
63、> }</b></p><p><b> }</b></p><p><b> }</b></p><p> /*畫矩形邊框函數(shù)的定義*/</p><p> void drawRectangle()</p><p><b> {int
64、i,j;</b></p><p><b> /*畫上邊*/</b></p><p><b> //奇數(shù)行</b></p><p> for(i=intALines-4;i<intALines;i++) //邊框長度</p><p> { for(j=intAPixels-
65、6;j<intDPixels+6;j++) //奇數(shù)行邊框?qū)挾?lt;/p><p> {*(Uint8 *)(tempYbuffer + i*numPixels + j) = 0x00;</p><p><b> }</b></p><p><b> }</b></p><p><b
66、> //偶數(shù)行</b></p><p> for(i=numLines/2+intALines-4;i<numLines/2+intALines;i++) //邊框長度</p><p> {for(j=intAPixels-6;j<intDPixels+6;j++) //偶數(shù)行邊框?qū)挾?lt;/p><p> {*(Uint8 *)
67、(tempYbuffer + i*numPixels + j) = 0x00;</p><p><b> }</b></p><p><b> }</b></p><p><b> /*畫下邊*/</b></p><p><b> //奇數(shù)行</b>
68、;</p><p> for(i=intDLines;i<intDLines+4;i++)//邊框長度</p><p> {for(j=intAPixels-6;j<intDPixels+6;j++) //奇數(shù)行邊框?qū)挾?lt;/p><p> { *(Uint8 *)(tempYbuffer + i*numPixels + j) = 0x00;<
69、/p><p><b> }</b></p><p><b> }</b></p><p><b> //偶數(shù)行</b></p><p> for(i=numLines/2+intDLines;i<numLines/2+intDLines+4;i++)//邊框長度<
70、;/p><p> {for(j=intAPixels-6;j<intDPixels+6;j++) //偶數(shù)行邊框?qū)挾?lt;/p><p> {*(Uint8 *)(tempYbuffer + i*numPixels + j) = 0x00;</p><p><b> }</b></p><p><b>
71、}</b></p><p><b> /*畫左邊*/</b></p><p><b> //奇數(shù)行</b></p><p> for(i=intALines;i<intDLines;i++)//邊框長度</p><p> {for(j=intAPixels-6;j<
72、intAPixels;j++) //奇數(shù)行邊框?qū)挾?lt;/p><p> { *(Uint8 *)(tempYbuffer + i*numPixels + j) = 0x00;</p><p><b> }</b></p><p><b> }</b></p><p><b> //偶
73、數(shù)行</b></p><p> for(i=numLines/2+intALines;i<numLines/2+intDLines;i++)//邊框長度</p><p> {for(j=intAPixels-6;j<intAPixels;j++) //偶數(shù)行邊框?qū)挾?lt;/p><p> { *(Uint8 *)(tempYbuffer +
74、 i*numPixels + j) = 0x00;</p><p><b> }</b></p><p><b> }</b></p><p><b> /*畫右邊*/</b></p><p><b> //奇數(shù)行</b></p>&
75、lt;p> for(i=intALines;i<intDLines;i++)//邊框長度</p><p> {for(j=intDPixels;j<intDPixels+6;j++) //奇數(shù)行邊框?qū)挾?lt;/p><p> {*(Uint8 *)(tempYbuffer + i*numPixels + j) = 0x00;</p><p>&l
76、t;b> }</b></p><p><b> }</b></p><p><b> //偶數(shù)行</b></p><p> for(i=numLines/2+intALines;i<numLines/2+intDLines;i++)//邊框長度</p><p> {
77、 for(j=intDPixels;j<intDPixels+6;j++) //偶數(shù)行邊框?qū)挾?lt;/p><p> { *(Uint8 *)(tempYbuffer + i*numPixels + j) = 0x00;</p><p><b> }</b></p><p><b> }</b></p>
78、<p><b> } </b></p><p> 附錄二:圖像縮放處理算法函數(shù)體程序</p><p> //程序名稱:image.cmd</p><p> //程序功能:實(shí)現(xiàn)圖像縮放的功能</p><p> //程序作者:唐勝艷</p><p> //最后修改日期:201
79、1-11-4</p><p> /*圖像縮放處理算法函數(shù)體程序*/</p><p> void zoom()</p><p><b> {</b></p><p> int i,j; //定義變量</p><p> int int CapX, int CapY; //定義橫縱
80、坐標(biāo)</p><p> for (i=0;i<numLines;i++) //定義循環(huán)變量</p><p><b> {</b></p><p> for (j=0;j<numPixels;j++) //定義循環(huán)變量</p><p> { </p><p&
81、gt; intCapX = (int)(j/fYZoomRatio+0.5); //X軸的縮放計(jì)算</p><p> intCapY = (int)(i/fXZoomRatio+0.5); //Y軸的縮放計(jì)算</p><p> //判斷是否在原圖范圍內(nèi)</p><p> if ((intCapX>=0) && (intCapX&
82、lt;numPixels)) </p><p> { if ((i<numLines/2) && (intCapY>=0) && (intCapY<numLines/2))</p><p><b> {</b></p><p><b> //傳送亮度信號(hào)</b>&
83、lt;/p><p> *(Uint8 *)(tempYbuffer + i*numPixels + j) = *(Uint8 *)(capYbuffer + intCapY*numPixels + intCapX); </p><p><b> }</b></p><p> else if ((i>=numLines/2) &
84、& (i<numLines) && (intCapY>=numLines/2) && (intCapY<numLines))</p><p><b> {</b></p><p><b> //傳送亮度信號(hào)</b></p><p> *(Uint8 *)(te
85、mpYbuffer + i*numPixels + j) = *(Uint8 *)(capYbuffer + intCapY*numPixels + intCapX); </p><p><b> }</b></p><p><b> else</b></p><p> {*(Uint8 *)(tempYbuffe
86、r + i*numPixels + j) = 0xFF;</p><p><b> } </b></p><p><b> } </b></p><p><b> else</b></p><p> {*(Uint8 *)(tempYbuffer + i*numPixe
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- dsp課程設(shè)計(jì)-- 溫度采集與顯示系統(tǒng)設(shè)計(jì)
- 基于dsp的圖像處理-dsp課程設(shè)計(jì)
- dsp課程設(shè)計(jì)fft的dsp實(shí)現(xiàn)
- dsp課程設(shè)計(jì)報(bào)告--fft的dsp實(shí)現(xiàn)
- dsp課程設(shè)計(jì)報(bào)告-數(shù)據(jù)采集處理和控制系統(tǒng)設(shè)計(jì)
- dsp課程設(shè)計(jì)-無線電系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- dsp課程設(shè)計(jì)---基于dsp的bios模塊設(shè)計(jì)實(shí)現(xiàn)
- 溫度采集系統(tǒng)課程設(shè)計(jì)
- dsp課程設(shè)計(jì)-語音采集壓縮存儲(chǔ)與回放
- 通信系統(tǒng)課程設(shè)計(jì)
- 通信系統(tǒng)課程設(shè)計(jì)
- 通信原理課程設(shè)計(jì)--數(shù)字通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 利用dsp實(shí)現(xiàn)自適應(yīng)濾波dsp課程設(shè)計(jì)
- 通信系統(tǒng)課程設(shè)計(jì)報(bào)告--現(xiàn)代通信系統(tǒng)之ngn軟交換實(shí)訓(xùn)
- dsp課程設(shè)計(jì)報(bào)告--dsp芯片應(yīng)用系統(tǒng)設(shè)計(jì)
- dsp最小系統(tǒng)課程設(shè)計(jì)
- 現(xiàn)代通信電路課程設(shè)計(jì)--模擬通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 通信原理課程設(shè)計(jì)--- 時(shí)分復(fù)用通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 課程設(shè)計(jì)報(bào)告--模擬通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 基于DSP和CPLD的圖像通信系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn).pdf
評(píng)論
0/150
提交評(píng)論