版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
課程設(shè)計(jì)任務(wù)書學(xué)院信息科學(xué)與工程專業(yè)電子信息工程學(xué)生姓名班級(jí)學(xué)號(hào)課程設(shè)計(jì)題目數(shù)字圖像處理在DSP上的實(shí)現(xiàn)(縮?。┱n程設(shè)計(jì)目的與要求:技術(shù)要求:1.能從計(jì)算機(jī)上讀取圖片2.編寫程序,在TMS320C5509上實(shí)現(xiàn)工作計(jì)劃與進(jìn)度安排:2012年12月31日選題目查閱資料2013年01月04日查閱資料2013年01月05日2013年01月09日上機(jī)調(diào)試2013年01月10日撰寫課程設(shè)計(jì)報(bào)告、答辯指導(dǎo)教師:年月日專業(yè)負(fù)責(zé)人:年月日學(xué)院教學(xué)副院長(zhǎng):年月日成績(jī)?cè)u(píng)定表學(xué)生姓名班級(jí)學(xué)號(hào)專業(yè)電子信息工程課程設(shè)計(jì)題目數(shù)字圖像處理在DSP上的實(shí)現(xiàn)縮小評(píng)語組長(zhǎng)簽字:成績(jī)?nèi)掌谀暝氯照訲MS32C5501為例,介紹了其系列DSP(digitalsignalprocessing)芯片HPI(hostportinterface)口的各個(gè)組成部分及其功能,并以AT89C51單片機(jī)作為主處理機(jī),闡述了與TMS320C5501之間實(shí)現(xiàn)數(shù)據(jù)共享的方法,成功地解決了主處理機(jī)通過HPI接口對(duì)DSP內(nèi)部數(shù)據(jù)進(jìn)行在線修改和實(shí)時(shí)監(jiān)控的問題。最后給出了如何用HPI口實(shí)現(xiàn)程序的加載引導(dǎo),以提高程序運(yùn)行速度的方法。
關(guān)鍵詞:TMS320C5501,DSP,HPI口;目錄1、課題分析 01、基本原理 11.1 數(shù)字圖像處理常用方法 11.2 數(shù)字圖像處理的優(yōu)點(diǎn) 21.3數(shù)字圖像縮小基本原理 32、TMS320C5X的硬件結(jié)構(gòu) 52.1C55X的CPU體系結(jié)構(gòu) 52.2指令緩沖單元(I) 52.3程序流程單元(P) 52.4地址程序單元(A) 62.5數(shù)據(jù)計(jì)算單元(D) 63、數(shù)字圖像縮小設(shè)計(jì)方法 73.1設(shè)計(jì)思路 73.3實(shí)驗(yàn)步驟 74、數(shù)字圖像縮小的CCS實(shí)現(xiàn) 94.1簡(jiǎn)述CCS環(huán)境 94.1.1CCS主要特點(diǎn) 94.1.2DSP/BIOS和API函數(shù)以及RTDX插件 94.2CCS配置 104.3CCS環(huán)境中工程文件的使用 104.3.1建立工程文件 104.3.2創(chuàng)建新文件 114.3.3向工程項(xiàng)目中添加文件 114.4編譯鏈接和運(yùn)行目標(biāo)文件 124.4.1對(duì)程序進(jìn)行編譯鏈接 124.4.2裝載.out文件 125、運(yùn)行結(jié)果 13附錄程序清單 15參考文獻(xiàn) 201、課題分析DSP作為一種先進(jìn)的可編程處理器,近幾年來應(yīng)用極其廣泛。其中,TMS320C55X是TI公司推出的定點(diǎn)系列數(shù)字信號(hào)處理芯片,它具有運(yùn)算速度高、CPU結(jié)構(gòu)優(yōu)化、功耗低和智能化外設(shè)等特點(diǎn),特別適用于實(shí)時(shí)嵌入式系統(tǒng)的開發(fā)。它已成為數(shù)字產(chǎn)品設(shè)計(jì)中低成本、低功耗、高性能的數(shù)字信號(hào)處理芯片的首選,在便攜式儀器、消費(fèi)類電子、醫(yī)療設(shè)備等領(lǐng)域得到廣泛的應(yīng)用。但我們?cè)趯W(xué)習(xí)中發(fā)現(xiàn)TMS320C55X系列芯片存在2個(gè)應(yīng)用問題:①DSP應(yīng)用系統(tǒng)一旦開發(fā)完成投入使用后,再想對(duì)DSP內(nèi)的數(shù)據(jù)進(jìn)行監(jiān)控,或者在線修改很不方便,不管是接串口,還是接I/O口都要占用DSP的硬件資源,同時(shí)軟件的開銷也非常大。②在DSP擴(kuò)展程序/數(shù)據(jù)存儲(chǔ)器時(shí),F(xiàn)LASH因其燒寫方便而較為常用,但這類器件數(shù)據(jù)存取速度慢,難以滿足DSP系統(tǒng)高速運(yùn)行的要求。這也是限制TMS320C55X廣泛應(yīng)用的一個(gè)因素。此外,TI的TMS320C55系列DSP芯片內(nèi)部提供了標(biāo)準(zhǔn)的8位HPI主機(jī)接口,用來與主設(shè)備或者主處理器接口,在通過HPI口和主機(jī)通信的過程中,完全沒有硬件和軟件的開銷,而由DSP自身的硬件協(xié)調(diào)沖突,從而不會(huì)打斷DSP正常程序的運(yùn)行,且利用HPI口,還能成功地進(jìn)行程序加載引導(dǎo)。傳感器采集到的模擬信號(hào)經(jīng)過濾波放大后,由模/數(shù)轉(zhuǎn)換器轉(zhuǎn)換成相應(yīng)的數(shù)字信號(hào),再由DSP(TMS320C55x)進(jìn)行數(shù)字信號(hào)處理,將處理后的數(shù)據(jù)通HPI(主機(jī)接口)傳送到單片機(jī)89S51中,單片機(jī)內(nèi)嵌入TCP/IP協(xié)議,它主要負(fù)責(zé)數(shù)據(jù)的遠(yuǎn)程通信,完成網(wǎng)絡(luò)數(shù)據(jù)的拆包與主機(jī)接口數(shù)據(jù)的打包。單片機(jī)通過并行接口與以太網(wǎng)控制器連接,以中斷方式實(shí)現(xiàn)并行通信。以太網(wǎng)控制器接收到網(wǎng)絡(luò)傳輸?shù)降臄?shù)據(jù)后,通過MAC比較、CRC校驗(yàn)后,存到接收緩沖區(qū);收滿一幀后,以中斷方式通知單片機(jī)。單片機(jī)對(duì)接收到的數(shù)據(jù)進(jìn)行判斷,如果是UDP數(shù)據(jù)包,則檢查IP地址和端口號(hào),如果正確則接收數(shù)據(jù)包,并解包,然后將數(shù)據(jù)部分發(fā)送至DSP。反之,如果接收到DSP發(fā)送來的數(shù)據(jù),則將數(shù)據(jù)按照UDP協(xié)議格式打包,然后送到以太網(wǎng)控制器中的發(fā)送緩沖區(qū),傳輸?shù)骄W(wǎng)絡(luò)上。TMS320C55x系列DSP與PC機(jī)通信的方式有兩種:一種是利用DSP的主機(jī)接口HPI與PC并行口連接,由軟件來設(shè)定通信波特率和握手方式。另一種方式是通過專用的異步通信芯片來實(shí)現(xiàn),它可以實(shí)現(xiàn)DSP與PC機(jī)的高速數(shù)據(jù)通信。本次設(shè)計(jì)主要采用第一種方式來實(shí)現(xiàn)。1、基本原理數(shù)字圖像處理常用方法1.圖像取樣和量化一幅圖像的x和y坐標(biāo)及幅度可能都是連續(xù)的。為了把它轉(zhuǎn)換成數(shù)字形式,必須在坐標(biāo)和幅度上都做取樣操作。數(shù)字化坐標(biāo)值稱為取樣,數(shù)字化幅度值稱為量化。2.圖像增強(qiáng)和復(fù)原圖像增強(qiáng)和復(fù)原的目的是為了提高圖像的質(zhì)量,如去除噪聲,提高圖像的清晰度等。圖像增強(qiáng)不考慮圖像降質(zhì)的原因,突出圖像中所感興趣的部分。如強(qiáng)化圖像高頻分量,可使圖像中物體輪廓清晰,細(xì)節(jié)明顯;如強(qiáng)化低頻分量可減少圖像中噪聲影響。圖像復(fù)原要求對(duì)圖像降質(zhì)的原因有一定的了解,一般講應(yīng)根據(jù)降質(zhì)過程建立“降質(zhì)模型”,再采用某種濾波方法,恢復(fù)或重建原來的圖像。3.彩色圖像處理彩色圖像處理已經(jīng)成為一個(gè)重要領(lǐng)域,因?yàn)榛诨ヂ?lián)網(wǎng)的圖像處理應(yīng)用在不斷增長(zhǎng)。彩色圖像處理可分為兩個(gè)主要領(lǐng)域:全彩色處理和偽彩色處理。在第一類中,圖像用全彩色傳感器獲取,如彩色電視攝像機(jī)或彩色掃描儀。在第二類中,對(duì)特定的單一亮度或亮度范圍賦予一種顏色。到目前為止,數(shù)字彩色圖像處理多為偽彩色處理。4.圖像編碼壓縮圖像編碼壓縮技術(shù)可盡量減少描述圖像的數(shù)據(jù)量,以便節(jié)省圖像傳輸、處理時(shí)間和減少所占用的存儲(chǔ)器容量。這一過程實(shí)際上就是將二維像素陣列變換為一個(gè)在統(tǒng)計(jì)上無關(guān)聯(lián)的數(shù)據(jù)集合。壓縮可以在不失真的前提下獲得,也可以在允許的失真條件下進(jìn)行。編碼是壓縮技術(shù)中最重要的方法,它在圖像處理技術(shù)中是發(fā)展最早且比較成熟的技術(shù)。5.圖像分割圖像分割是數(shù)字圖像處理中的關(guān)鍵技術(shù)之一。分割將圖像細(xì)分為構(gòu)成它的子區(qū)域或?qū)ο蟆7指畹某潭热Q于要解決的問題。圖像分割是將圖像中有意義的特征部分提取出來,其有意義的特征有圖像中的邊緣、區(qū)域等,這是進(jìn)一步進(jìn)行圖像識(shí)別、分析和理解的基礎(chǔ)。對(duì)圖像分割的研究還在不斷深入之中,是目前圖像處理中研究的一個(gè)熱點(diǎn)。6.圖像描述圖像描述是圖像識(shí)別和理解的必要前提。作為最簡(jiǎn)單的二值圖像可采用其幾何特性描述物體的特性,一般圖像的描述方法采用二維形狀描述,它有邊界描述和區(qū)域描述兩類方法。對(duì)于特殊的紋理圖像可采用二維紋理特征描述。隨著圖像處理研究的深入發(fā)展,已經(jīng)開始進(jìn)行三維物體描述的研究,提出了體積描述、表面描述、廣義圓柱體描述等方法。數(shù)字圖像處理的優(yōu)點(diǎn)1.再現(xiàn)性好數(shù)字圖像處理與模擬圖像處理的根本不同在于,它不會(huì)因圖像的存儲(chǔ)、傳輸或復(fù)制等一系列變換操作而導(dǎo)致圖像質(zhì)量的退化。只要圖像在數(shù)字化時(shí)準(zhǔn)確地表現(xiàn)了原稿,則數(shù)字圖像處理過程始終能保持圖像的再現(xiàn)。
2.處理精度高按目前的技術(shù),幾乎可將一幅模擬圖像數(shù)字化為任意大小的二維數(shù)組,這主要取決于圖像數(shù)字化設(shè)備的能力?,F(xiàn)代掃描儀可以把每個(gè)像素的灰度等級(jí)量化為16位甚至更高,這意味著圖像的數(shù)字化精度可以達(dá)到滿足任一應(yīng)用需求。對(duì)計(jì)算機(jī)而言,不論數(shù)組大小,也不論每個(gè)像素的位數(shù)多少,其處理程序幾乎是一樣的。換言之,從原理上講不論圖像的精度有多高,處理總是能實(shí)現(xiàn)的,只要在處理時(shí)改變程序中的數(shù)組參數(shù)就可以了?;叵胍幌聢D像的模擬處理,為了要把處理精度提高一個(gè)數(shù)量級(jí),就要大幅度地改進(jìn)處理裝置,這在經(jīng)濟(jì)上是極不合算的。
3.適用面寬圖像可以來自多種信息源,它們可以是可見光圖像,也可以是不可見的波譜圖像(例如X射線圖像、射線圖像、超聲波圖像或紅外圖像等)。從圖像反映的客觀實(shí)體尺度看,可以小到電子顯微鏡圖像,大到航空照片、遙感圖像甚至天文望遠(yuǎn)鏡圖像。這些來自不同信息源的圖像只要被變換為數(shù)字編碼形式后,均是用二維數(shù)組表示的灰度圖像(彩色圖像也是由灰度圖像組合成的,例如RGB圖像由紅、綠、藍(lán)三個(gè)灰度圖像組合而成)組合而成,因而均可用計(jì)算機(jī)來處理。即只要針對(duì)不同的圖像信息源,采取相應(yīng)的圖像信息采集措施,圖像的數(shù)字處理方法適用于任何一種圖像。
4.靈活性高圖像處理大體上可分為圖像的像質(zhì)改善、圖像分析和圖像重建三大部分,每一部分均包含豐富的內(nèi)容。由于圖像的光學(xué)處理從原理上講只能進(jìn)行線性運(yùn)算,這極大地限制了光學(xué)圖像處理能實(shí)現(xiàn)的目標(biāo)。而數(shù)字圖像處理不僅能完成線性運(yùn)算,而且能實(shí)現(xiàn)非線性處理,即凡是可以用數(shù)學(xué)公式或邏輯關(guān)系來表達(dá)的一切運(yùn)算均可用數(shù)字圖像處理實(shí)現(xiàn)。1.3數(shù)字圖像縮小基本原理在計(jì)算機(jī)圖像處理中圖像縮放imagescaling是指對(duì)數(shù)字圖像的大小進(jìn)行調(diào)整的過程。圖像縮放是一種非平凡的過程需要在處理效率以及結(jié)果的平滑度smoothness和清晰度sharpness上做一個(gè)權(quán)衡。當(dāng)一個(gè)圖像的大小增加之后組成圖像的像素的可見度將會(huì)變得更高從而使得圖像表現(xiàn)得“軟”。相反地縮小一個(gè)圖像將會(huì)增強(qiáng)它的平滑度和清晰度。壓縮卡的圖像采集是由TMS320C5509直接完成的。初始化結(jié)束后TMS320C5509按缺省模式或主機(jī)命令的要求確定圖像的大小和采集速率等參數(shù)然后根據(jù)奇、偶場(chǎng)信號(hào)和復(fù)合同步脈沖信號(hào)來采集圖像數(shù)據(jù)。采集流程可分為以下幾個(gè)步驟①等待場(chǎng)開始。②當(dāng)場(chǎng)開始信號(hào)到來時(shí)TMS320C5509進(jìn)入場(chǎng)處理子程序開放行中斷做好采集一場(chǎng)數(shù)據(jù)的準(zhǔn)備。根據(jù)奇、偶場(chǎng)信號(hào)可以決定是采集奇場(chǎng)圖像還是采集偶場(chǎng)圖像。③當(dāng)重復(fù)同步信號(hào)到來時(shí)TMS320C5509進(jìn)入中斷服務(wù)子程序并將圖像數(shù)據(jù)存入擴(kuò)展的數(shù)據(jù)存儲(chǔ)器中。當(dāng)一場(chǎng)或一幀圖像各行數(shù)據(jù)都采集完畢后關(guān)閉中斷?;赥MS320C5509的黑白圖像采集之縮放實(shí)現(xiàn)中DSP接收到場(chǎng)開始信號(hào)后進(jìn)入場(chǎng)處理子程序中。在場(chǎng)處理子程序中先確定將要采集的圖像的大小并設(shè)置采集、編碼及發(fā)送過程中要使用的參數(shù)然后打開行采集中斷INT0延時(shí)一定數(shù)目的行周期后退出場(chǎng)處理子程序進(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操作了節(jié)約了時(shí)間。
2、TMS320C5X的硬件結(jié)構(gòu)2.1C55X的CPU體系結(jié)構(gòu)C55X有1條32位的程序數(shù)據(jù)總線(PB),5條16位數(shù)據(jù)總線(BB、CB、DB、EB、FB)和1條24位的程序地址總線及5條23位地址總線,這些總線分別與CPU相連??偩€通過存儲(chǔ)單元接口(M)與外部程序總線和數(shù)據(jù)總線相連,實(shí)現(xiàn)CPU對(duì)外部存儲(chǔ)器的訪問。這種并行的多總線結(jié)構(gòu),使CPU能在一個(gè)CPU周期內(nèi)完成1次32位程序代碼讀、3次16位數(shù)據(jù)讀和兩次16位數(shù)據(jù)寫。C55X根據(jù)功能的不同將CPU分為4個(gè)單元,指令緩沖單元(I)、程序流程單元(P)、地址流程單元(A)、和數(shù)據(jù)計(jì)算單元(D)。讀程序地址總線(PDA)上傳送24位的程序代碼地址,由讀程序總線(PB)將32位的程序代碼送入指令緩沖單元進(jìn)行譯碼[1]。2.2指令緩沖單元(I)C55X的指令緩沖單元有指令緩沖隊(duì)列IBQ和指令譯碼器組成。在每個(gè)CPU周期內(nèi),I單元將從程序數(shù)據(jù)接收的4B程序代碼放入指令緩沖隊(duì)列,指令譯碼器從隊(duì)列中取6B程序代碼,根據(jù)指令的長(zhǎng)度可對(duì)8位、16位、24位、32位和48位的變長(zhǎng)指令進(jìn)行譯碼,然后把譯碼數(shù)據(jù)送入P單元、A單元和D單元去執(zhí)行。2.3程序流程單元(P)程序流程單元有程序地址產(chǎn)生電路和寄存器組湊成。程序流程單元產(chǎn)生所有程序空間的地址,并控制指令的讀取順序。程序地址產(chǎn)生邏輯電路的任務(wù)是產(chǎn)生讀取空間的24位地址。一般情況下,它產(chǎn)生的是連續(xù)地址,如果指令要求讀取非連續(xù)地址的程序代碼時(shí),程序地址產(chǎn)生邏輯電路能夠接收來自I單元的立即數(shù)和來自D單元的寄存器值,并將產(chǎn)生的地址傳送到PAB。在P單元中使用的寄存器分為5種類型。程序流寄存器:包括程序計(jì)數(shù)器、返回地址寄存器和控制流程關(guān)系寄存器。塊重復(fù)寄存器:包括塊重復(fù)寄存器0和1(BRC0、BRC1)BRC1的保存寄存器(BRS1)、塊重復(fù)起始地址寄存器0和1以及塊重復(fù)結(jié)束地址寄存器0和1。單重復(fù)寄存器:包括單重復(fù)寄存器和計(jì)算單重復(fù)寄存器。中斷寄存器:包括中斷標(biāo)志寄存器0和1、中斷使能寄存器0和1以及調(diào)試中斷使能寄存器0和1。狀態(tài)奇存期:包括狀態(tài)寄存器0,1,2和3。2.4地址程序單元(A)地址程序單元包括數(shù)據(jù)地址產(chǎn)生電路、算術(shù)邏輯電路和寄存器組構(gòu)成。數(shù)據(jù)地址產(chǎn)生電路能夠接收來自I單元的立即數(shù)和來自A單元的寄存器產(chǎn)生讀取數(shù)據(jù)空間的地址。對(duì)于使用間接尋址模式的指令,有P單元向DAGEN說明采用的尋址模式。A單元包括一個(gè)16位的算術(shù)邏輯單元,它既可以接收來自I單元的立即數(shù)也可以與存儲(chǔ)器、I/O空間、A單元寄存器、D單元寄存器和P單元寄存器進(jìn)行雙向通信。A單元包括的寄存器有以下幾種類型。數(shù)據(jù)頁寄存器:包括數(shù)據(jù)頁寄存器和接口數(shù)據(jù)頁寄存器;指針:包括系數(shù)數(shù)據(jù)指針寄存器、堆棧針寄存器和8個(gè)輔助寄存器;循環(huán)緩沖寄存器:包括循環(huán)緩沖大小寄存器、循環(huán)緩沖起始地址寄存器;臨時(shí)寄存器:包括臨時(shí)寄存器。2.5數(shù)據(jù)計(jì)算單元(D)數(shù)據(jù)計(jì)算單元由移位器、算數(shù)邏輯電路、乘法累加器和寄存器組構(gòu)成。D單元包含了CPU的主要運(yùn)算部件。D單元移位器能夠接收來自I單元的立即數(shù),能夠與存儲(chǔ)器、I/O單元、A單元寄存器、D單元寄存器和P單元寄存器進(jìn)行雙向通信,此外,還可以向D單元的ALU和A單元的ALU提供移位后的數(shù)據(jù)。移位可以完成以下操作:對(duì)40位的累加器可以完成向左最多32位的移位操作,移位數(shù)樂意從零食寄存器讀取或由指令中的常數(shù)提供;對(duì)于16位寄存器、存儲(chǔ)器或I/對(duì)于16位立即數(shù)可完成向左移最多15位的移位操作。
3、數(shù)字圖像縮小設(shè)計(jì)方法3.1設(shè)計(jì)思路圖像可以看作由無數(shù)點(diǎn)像素組成這些點(diǎn)與x軸的每一個(gè)角度值相對(duì)應(yīng)可以利用DSP處理器處理大量重復(fù)計(jì)算的優(yōu)勢(shì)來計(jì)算x軸每一點(diǎn)對(duì)應(yīng)的y的值(在x軸取N個(gè)點(diǎn)進(jìn)行逼近)。3.3實(shí)驗(yàn)步驟實(shí)驗(yàn)準(zhǔn)備:設(shè)置軟件仿真模式,啟動(dòng)CCS。新建工程,將相應(yīng)程序代碼添加到工程中。編譯并檢查程序是否有錯(cuò)誤,直到無錯(cuò)誤為止,添加.out文件。打開工程“Image.pjt”中的C語言程序“Image.c”,在程序中有“BreakPoint”注釋的語句上加軟件斷點(diǎn)。圖3.1設(shè)置原圖像觀察窗口圖3.2設(shè)置取反后的圖像觀察窗口運(yùn)行程序。按“F5”鍵運(yùn)行到各個(gè)斷點(diǎn),觀察圖像和縮小結(jié)果。實(shí)驗(yàn)完成,推出CCS。
4、數(shù)字圖像縮小的CCS實(shí)現(xiàn)4.1簡(jiǎn)述CCS環(huán)境CCS,即CodeComposerStudio,是TI公司在1999年推出的一個(gè)開放、具有強(qiáng)大集成開發(fā)環(huán)境。它最初是由GODSP公司為TI的C6000系列DSP開發(fā)的。在TI收購(gòu)了GODSP后,將CCS擴(kuò)展到了其它系列?,F(xiàn)在所有TI的DSP都可以使用CCS進(jìn)行開發(fā),但是其中的DSPBIOS功能只有C5000和C6000的CCS中才提供。以前的DSP軟件開發(fā)都是在一個(gè)分散的開發(fā)環(huán)境下進(jìn)行,程序的編寫、代碼的生成以及調(diào)試等都是要通過命令來完成,類似于以前的DOS,十分煩雜。而CCS的出現(xiàn)是DSP開發(fā)軟件的一次革命性的變化。CCS主要由代碼生成工具、CCS集成開發(fā)環(huán)境、DSPBIOS和API函數(shù)以及RTDX組成。4.1.1CCS主要特點(diǎn)集成可視化代碼編輯界面,可以方便地直接編寫C、匯編、.h文件、.cmd文件等。集成代碼生成工具,包括匯編器、優(yōu)化的C編譯器和連接器等。具有完整的基本調(diào)試工具,可以載入執(zhí)行文件(.out),查看寄存器窗口、存儲(chǔ)器窗口和變量窗口、反匯編窗口等,支持在C源代碼級(jí)進(jìn)行調(diào)試。支持多片DSP聯(lián)合調(diào)試。斷點(diǎn)工具,支持硬件斷點(diǎn)、數(shù)據(jù)空間讀/寫斷點(diǎn)、條件斷點(diǎn)等。探針工具,用于進(jìn)行算法仿真,數(shù)據(jù)監(jiān)視等。剖析工具,用于評(píng)估代碼執(zhí)行的時(shí)間。數(shù)據(jù)圖形顯示工具,可繪制時(shí)域/頻域波形、眼圖、星座圖等,并可以自動(dòng)刷新。提供GEI工具,用戶可以根據(jù)需要編寫自己的控制面板/菜單,從而方便直觀地修改變量,配置參數(shù)。4.1.2DSP/BIOS和API函數(shù)以及RTDX插件DSP/BIOS(BasicInputOutputSystem)和API(ApplicationProgramInterface)函數(shù)為CCS的主要插件之一。DSPBIOS可以看作是一個(gè)準(zhǔn)實(shí)時(shí)操作系統(tǒng),支持TIDSP芯片的各種實(shí)時(shí)操作系統(tǒng)都是以DSP/BIOS作為底層軟件,為嵌入式應(yīng)用提供基本的運(yùn)行服務(wù)。并且,它還能實(shí)時(shí)獲取目標(biāo)機(jī)的信息,并將其傳遞給主機(jī)上的BIOSCOPE工具,對(duì)應(yīng)用程序進(jìn)行實(shí)時(shí)分析RTDX(RealTimeDataExchange)插件是CCS中另一個(gè)十分重要的插件。實(shí)時(shí)數(shù)據(jù)交換技術(shù)為CCS提供了一個(gè)實(shí)時(shí)、連續(xù)的可視環(huán)境,開發(fā)人員可以看到DSP應(yīng)用程序工作的真實(shí)過程。RTDX允許系統(tǒng)開發(fā)者在不停止運(yùn)行目標(biāo)應(yīng)用程序的情況下在計(jì)算機(jī)和DSP芯片之間傳輸數(shù)據(jù),同時(shí)還可以在主機(jī)上利用對(duì)象鏈接嵌入(OLE)技術(shù)分析和觀察數(shù)據(jù)。RTDX可以在DSPBIOS中使用,也可以脫離DSP/BIOS使用。由于CCS中的Simulator不支持RTDX,所以必須在連接有硬件仿真器或目標(biāo)板的Emulator下使用。4.2CCS配置擊桌面圖標(biāo)的“setupCCStudiov3.1”圖標(biāo),運(yùn)行CCS設(shè)置程序,如圖5.1所示:點(diǎn)擊Add→Save&quit完成設(shè)置。圖4.1用標(biāo)準(zhǔn)配置文件設(shè)置系統(tǒng)配置4.3CCS環(huán)境中工程文件的使用4.3.1建立工程文件在CCS集成環(huán)境下開發(fā)匯編程序或者C/C++程序,首先要建立一個(gè)工程項(xiàng)目文件(*.pjt),再向工程項(xiàng)目文件中添加匯編程序源文件(*.asm),C/C++源文件(*.c)和鏈接命令文件(*.cmd),并設(shè)置工程項(xiàng)目選項(xiàng)。使用CCS開發(fā)應(yīng)用程序的一般步驟如下:創(chuàng)建或打開一個(gè)工程項(xiàng)目文件(*.pjt),編輯各類文件,可以使用CCS提供的集成編輯環(huán)境,對(duì)鏈接命令文件和源程序進(jìn)行編輯。對(duì)工程項(xiàng)目進(jìn)行編譯。在編譯過程中如果出現(xiàn)語法錯(cuò)誤,將在編譯鏈接信息視窗(build)窗口中顯示錯(cuò)誤信息,用戶可以根據(jù)顯示的信息找到錯(cuò)誤的位置,更改錯(cuò)誤。對(duì)結(jié)果和數(shù)據(jù)進(jìn)行分析和算法評(píng)估。用戶可以利用CCS提供的探測(cè)點(diǎn).圖形顯示和性能評(píng)價(jià)等工具,對(duì)運(yùn)行結(jié)果及輸出數(shù)據(jù)進(jìn)行分析,評(píng)估算法的可能性。下面分別進(jìn)行介紹建立工程文件,單擊Project→New命令,系統(tǒng)將彈出如圖所示的對(duì)話框,在該對(duì)話框中輸入項(xiàng)目文件名,如fir單擊“完成”系統(tǒng)就會(huì)創(chuàng)建一個(gè)名為fir.pjt的工程項(xiàng)目文件如圖5.2所示。圖4.2創(chuàng)建新的工程項(xiàng)目文件對(duì)話框4.3.2創(chuàng)建新文件選擇File→New可打開一個(gè)新的編輯窗口。在新窗口中輸入源代碼。選擇File→Save,在出現(xiàn)的對(duì)話框中輸入一個(gè)文件名,并選擇一個(gè)擴(kuò)展名(C源代碼選擇*.c,匯編源代碼選擇*.asm),然后單擊保存將源程序保存[6]。4.3.3向工程項(xiàng)目中添加文件添加文件:?jiǎn)螕鬚roject→AddFiletoProject命令然后會(huì)彈出如圖5.3所示的對(duì)話框,單擊打開完成對(duì)文件的添加。圖4.3向工程項(xiàng)目中添加文件對(duì)話框4.4編譯鏈接和運(yùn)行目標(biāo)文件4.4.1對(duì)程序進(jìn)行編譯鏈接對(duì)程序進(jìn)行編譯:執(zhí)行Project→Compile命令就可以對(duì)當(dāng)前的匯編程序進(jìn)行編譯生成.obj文件。如果程序存在語法錯(cuò)誤,那么就會(huì)在下面的編譯鏈接信息框中顯示錯(cuò)誤信息。根據(jù)錯(cuò)誤提示,讀者可對(duì)程序進(jìn)行修改[2]。對(duì)程序進(jìn)行編譯鏈接執(zhí)行Project→Build命令,就可以對(duì)當(dāng)前的項(xiàng)目文件同時(shí)進(jìn)行編譯,匯編和鏈接操作,并生成與工程項(xiàng)目名稱相同的可執(zhí)行的.out文件。如果有錯(cuò)誤信息,則會(huì)在“編譯鏈接”信息框中顯示。也可以執(zhí)行Project下的buildAll命令,所有項(xiàng)目中的文件重新編譯,匯編和鏈接,生成.out文件。4.4.2裝載.out文件單擊主菜單“File”中“LoadProgram”選項(xiàng),在對(duì)話框中,在CCS安裝目錄下,找到構(gòu)建該工程的Debug目錄,選擇構(gòu)建生成后的.out文件,并打開CCS裝載完畢后,該“*.out”文件到目標(biāo)dsp之后,會(huì)自動(dòng)彈出“Disassembly”窗口如圖5.4所示。圖4.4CCS調(diào)試程序時(shí)出現(xiàn)的視窗加工程界面
5、運(yùn)行結(jié)果在主菜單中選擇Debug→Animate命令或按Alt+F5鍵運(yùn)行程序。數(shù)字圖像取反的仿真結(jié)果如圖所示:縮放前后的圖像
6、結(jié)束語經(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)一步提高了自身的創(chuàng)作、創(chuàng)新水平扎實(shí)基礎(chǔ)擴(kuò)展所學(xué)。這次課程設(shè)計(jì)不僅讓我更加深刻的了解了黑白圖像采集之縮放實(shí)現(xiàn)的原理也更加深刻理解了它在通信系統(tǒng)中的重要作用。在整個(gè)設(shè)計(jì)過程中對(duì)我來說收獲最大的是那些分析和解決問題的方法與能力。從分析任務(wù)書到如何找到設(shè)計(jì)原理以及采用什么平臺(tái)來實(shí)現(xiàn)原理都是環(huán)環(huán)相扣的一個(gè)過程哪一個(gè)步驟出現(xiàn)了問題都會(huì)給最終的設(shè)計(jì)帶來麻煩。我的理論知識(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)也讓我們?cè)趯W(xué)校里就可以驗(yàn)證理論知識(shí)說到這里我不得不感到電子世界的奇妙。對(duì)于我們?cè)谛4髮W(xué)生來說很難遇到很好的機(jī)會(huì)可以把理論運(yùn)用到真正的實(shí)際工程中去因?yàn)槲覀儧]有經(jīng)驗(yàn)也因?yàn)閷?shí)際工程的嚴(yán)謹(jǐn)不存在嘗試的可能性不允許有任何差錯(cuò)。要完整的做好一個(gè)設(shè)計(jì)需要的不僅是懂得理論就可以了?;仡欉@次課程設(shè)計(jì)感慨頗多在短短的四周時(shí)間里我不僅鞏固了以前學(xué)過的知識(shí)還學(xué)到了很多新知識(shí)。這次課程設(shè)計(jì)使我深刻認(rèn)識(shí)到理論和實(shí)踐相結(jié)合是很重要的只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的只有把理論和實(shí)踐結(jié)合起來從實(shí)踐中得出結(jié)論才是真正自己掌握好的知識(shí)才能提高自己的實(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)手的能力。最后這個(gè)設(shè)計(jì)之所以能按時(shí)完成離不開老師的指導(dǎo)和同學(xué)的幫助在此對(duì)他們表示衷心的感謝也感謝學(xué)校給了我這次鍛煉自己和認(rèn)識(shí)自己知識(shí)水平的好機(jī)會(huì)。
附錄程序清單#include<windows.h>#include<stdio.h>#defineFXZOOMRATIO0.5//x軸放大倍數(shù)#defineFYZOOMRATIO0.5//y軸放大倍數(shù)unsignedchar*pBmpBuf;//讀入圖像數(shù)據(jù)的指針unsignedchar*pNewBmpBuf;intbmpWidth;//圖像的寬intbmpHeight;//圖像的高RGBQUAD*pColorTable;//顏色表指針intbiBitCount;//圖像類型,每像素位數(shù)longnewBmpWidth;//變化后圖像的寬longnewBmpHeight;//變化后圖像的高longnewLineByte;//變化后圖像數(shù)據(jù)每行的字節(jié)數(shù)/*****************************************************************************函數(shù)名稱:readBmp()*函數(shù)參數(shù):constchar*bmpName讀入bmp格式文件的名稱及路徑*函數(shù)返回值:為失敗1為成功*函數(shù)描述:給定文件的名稱和路徑讀入圖像的位圖數(shù)據(jù),寬,高,及每個(gè)像素的位數(shù)進(jìn)內(nèi)存,保存在全局變量中****************************************************************************/boolreadBmp(constchar*bmpName){ FILE*fp=fopen(bmpName,"rb"); if(fp==0) { printf("cannotopenfile"); return0; }fseek(fp,sizeof(BITMAPFILEHEADER),0);BITMAPINFOHEADERhead;fread(&head,sizeof(BITMAPINFOHEADER),1,fp);bmpWidth=head.biWidth;bmpHeight=head.biHeight;biBitCount=head.biBitCount;intlineByte=(bmpWidth*biBitCount/8+3)/4*4;//計(jì)算圖像每行像素所占的字節(jié)數(shù)if(biBitCount==8){pColorTable=newRGBQUAD[256];fread(pColorTable,sizeof(RGBQUAD),256,fp);}pBmpBuf=newunsignedchar[lineByte*bmpHeight];fread(pBmpBuf,1,lineByte*bmpHeight,fp);fclose(fp);return1;}/*****************************************************************************函數(shù)名稱:saveBmp()*函數(shù)參數(shù):constchar*bmpName寫入bmp格式文件的名稱及路徑unsignedchar*imgBuf待存盤的位圖數(shù)據(jù)intwidth,以像素為單位待存盤的位圖寬intheight,以像素為單位待存盤的位圖高intbiBitCount,每個(gè)像素占的位數(shù)RGBQUAD*pColorTable顏色表指針*函數(shù)返回值:為失敗1為成功*函數(shù)描述:給定寫入bmp文件的名稱和路徑要寫入圖像的位圖數(shù)據(jù),寬,高,寫進(jìn)文件中****************************************************************************/boolsaveBmp(constchar*bmpName,unsignedchar*imgBuf,intwidth,intheight,intbiBitCount,RGBQUAD*pColorTable){if(!imgBuf)//imgBuf待存盤的位圖數(shù)據(jù)return0;intcolorTablesize=0;if(biBitCount==8)colorTablesize=1024;intlineByte=(width*biBitCount/8+3)/4*4;FILE*fp=fopen(bmpName,"wb");if(fp==0)return0;BITMAPFILEHEADERfileHead;fileHead.bfType=0x4d42;fileHead.bfSize=sizeof(BITMAPFILEHEADER)+sizeof(BITMAPINFOHEADER)+colorTablesize+lineByte*height;fileHead.bfReserved1=0;fileHead.bfReserved2=0;fileHead.bfOffBits=54+colorTablesize;fwrite(&fileHead,sizeof(BITMAPFILEHEADER),1,fp);BITMAPINFOHEADERhead;head.biBitCount=biBitCount;head.biClrImportant=0;head.biClrUsed=0;head.biCompression=0;head.biHeight=height;head.biPlanes=1;head.biSize=40;head.biSizeImage=lineByte*height;head.biWidth=width;head.biXPelsPerMeter=0;head.biYPelsPerMeter=0;fwrite(&head,sizeof(BITMAPINFOHEADER),1,fp);if(biBitCount==8)fwrite(pColorTable,sizeof(RGBQUAD),256,fp);fwrite(imgBuf,height*lineByte,1,fp);fclose(fp);return1;}/*****************************************************************************函數(shù)名稱:bmpzoom()*函數(shù)參數(shù):constchar*szSrcBmp原bmp圖片的名稱和路徑constchar*szDstBmp變化后保存bmp圖片后的文件路徑*函數(shù)返回值:0為失敗1為成功*函數(shù)描述:傳入圖片變化比例系數(shù)參數(shù)FXZOOMRATIO和FYZOOMRATIO實(shí)現(xiàn)圖片放大縮小****************************************************************************/boolbmpzoom(constchar*szSrcBmp,constchar*szDstBmp){readBmp(szSrcBmp);newBmpWidth=(long)((bmpWidth*FXZOOMRATIO)+0.5);newBmpHeight=(long)(bmpHeight*FYZOOMRATIO+0.5);newLineByte=(newBmpWidth*biBitCount/8+3)/4*4;pNewBmpBuf=newunsignedchar[newLineByte*new
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 餐桌禮儀課程設(shè)計(jì)
- 鐵釘技術(shù)裝和課程設(shè)計(jì)
- 銑床類課程設(shè)計(jì)
- 革命傳統(tǒng)類課程設(shè)計(jì)
- 生化檢驗(yàn)課程設(shè)計(jì)
- 軋制課程課程設(shè)計(jì)方案
- 送水泵站課程設(shè)計(jì)泵站圖
- 跆拳道海報(bào)特色課程設(shè)計(jì)
- 計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng)課程設(shè)計(jì)
- 閃爍的led課程設(shè)計(jì)
- 外呼合作協(xié)議
- 小學(xué)二年級(jí)100以內(nèi)進(jìn)退位加減法800道題
- 2025年1月普通高等學(xué)校招生全國(guó)統(tǒng)一考試適應(yīng)性測(cè)試(八省聯(lián)考)語文試題
- 《立式輥磨機(jī)用陶瓷金屬?gòu)?fù)合磨輥輥套及磨盤襯板》編制說明
- 保險(xiǎn)公司2025年工作總結(jié)與2025年工作計(jì)劃
- 育肥牛購(gòu)銷合同范例
- 暨南大學(xué)珠海校區(qū)財(cái)務(wù)辦招考財(cái)務(wù)工作人員管理單位遴選500模擬題附帶答案詳解
- DB51-T 2944-2022 四川省社會(huì)組織建設(shè)治理規(guī)范
- 2024北京初三(上)期末英語匯編:材料作文
- 2023年輔導(dǎo)員職業(yè)技能大賽試題及答案
- 禮儀服務(wù)合同三篇
評(píng)論
0/150
提交評(píng)論