隨著多媒體技術(shù)的發(fā)展,數(shù)字圖像處理已經(jīng)成為眾多應(yīng)用系統(tǒng)的核心和基礎(chǔ)。它的發(fā)展主要依賴于兩個性質(zhì)不同、自成體系但又緊密相關(guān)的研究領(lǐng)域:圖像處理算法及其相應(yīng)的電路實(shí)現(xiàn)。圖像處理系統(tǒng)的硬件實(shí)現(xiàn)—般有三種方式:專用的圖像處理器件集成芯片(Application Specific Integrated Circuit)、數(shù)字信號處理器(Digital Signal Process)和現(xiàn)場可編程門陣列(Field Programmable Gate Array)以及相關(guān)電路組成。它們可以實(shí)時高速完成各種圖像處理算法。圖像處理中,低層的圖像預(yù)處理的數(shù)據(jù)量很大,要求處理速度快,但運(yùn)算結(jié)果相對比較簡單。相對于其他兩種方式,基于FPGA的圖像處理方式的系統(tǒng)更適合于圖像的預(yù)處理。本文設(shè)計(jì)了—種基于FPGA的小波域圖像去噪系統(tǒng)。首先,闡述了基于小波變換的圖像去噪算法原理,重點(diǎn)討論了小波鄰域閾值(NeighShrink)去噪算法,并給出了該算法相應(yīng)的Matlab 仿真;然后,為了改進(jìn)鄰域閾值去噪算法中對每個分解子帶都采用相同鄰域和閾值的缺點(diǎn),本文提出了基于最小二乘支持向量機(jī)(LS-SVM)分類的鄰域閾值去噪算法和以斯坦無偏估計(jì) (SURE)為準(zhǔn)則同時結(jié)合小波系數(shù)尺度間關(guān)系的鄰域閾值去噪算法。經(jīng)Matlab實(shí)驗(yàn)表明,相比于其他幾種經(jīng)典算法,本文提出的兩種改進(jìn)算法在濾除噪聲的同時能更好地保護(hù)圖像細(xì)節(jié),并在較高噪聲情況下能獲得更高的峰值信噪比。在此基礎(chǔ)上本文將提出的改進(jìn)小波鄰域閾值去噪算法進(jìn)行了相應(yīng)的簡化,以滿足低噪聲處理要求且易于在FPGA上實(shí)現(xiàn);最后,給出了基于 FPGA的小波鄰域閾值去噪系統(tǒng)的總體結(jié)構(gòu)和FPGA內(nèi)部各功能模塊的具體實(shí)現(xiàn)方案,包括二維離散小波變換模塊、二維離散小波逆變換模塊、SDRAM存儲器控制模塊、去噪計(jì)算模塊和系統(tǒng)核心控制模塊,并對各個系統(tǒng)模塊和整體進(jìn)行了仿真驗(yàn)證,結(jié)果表明本文設(shè)計(jì)的基于FPGA 的小波鄰域閾值去噪系統(tǒng)能滿足實(shí)際的圖像處理要求,具有一定的理論和實(shí)際應(yīng)用價(jià)值。關(guān)鍵詞:圖像處理系統(tǒng),F(xiàn)PGA,圖像去噪算法,小波變換
上傳時間: 2013-05-16
上傳用戶:450976175
圖像處理技術(shù)應(yīng)用越來越廣泛,特別是工業(yè)檢測領(lǐng)域。然而,圖像處理技術(shù)應(yīng)用的基礎(chǔ)是圖像的獲取,為了更加靈活地設(shè)計(jì)各種應(yīng)用產(chǎn)品,本課題研究基于FPGA的面陣 CCD驅(qū)動傳輸電路設(shè)計(jì),利用該電路能夠獲取高質(zhì)量、高分辨率的圖像,為后續(xù)的圖像處理技術(shù)應(yīng)用打下基礎(chǔ)。本文首先介紹了研究意義、CCD圖像傳感器的發(fā)展以及FPGA的產(chǎn)生與發(fā)展,接著提出了面陣CCD成像系統(tǒng)總體設(shè)計(jì)方案,然后針對關(guān)鍵電路的設(shè)計(jì)進(jìn)行詳盡的分析和說明,這些電路包括時序發(fā)生電路、存儲器控制電路、USB接口電路以及電源調(diào)理電路。其中時序發(fā)生電路主要用于產(chǎn)生CCD正常工作所需的各種時序信號以及A/D變換芯片AD9824 所需的工作時序,這些時序都是由FPGA產(chǎn)生的,文中給出了FPGA邏輯設(shè)計(jì)的基本過程以及仿真波形。本系統(tǒng)采用SDRAM緩存圖像信號,為了完成SDRAM的寫入、讀出以及定時刷新,利用FPGA生成存儲器控制電路。系統(tǒng)采用USB接口與計(jì)算機(jī)通信,因此FPGA 中設(shè)計(jì)了相應(yīng)邏輯電路與CY7C68013A USB接口芯片實(shí)現(xiàn)信號握手及數(shù)據(jù)通信,進(jìn)而與 PC機(jī)通信。為了保證各個芯片正常工作,設(shè)計(jì)電源調(diào)理電路實(shí)現(xiàn)將輸入5V電源轉(zhuǎn)換成多種電壓向各個芯片供電。經(jīng)過初步調(diào)試,并根據(jù)仿真結(jié)果判斷驅(qū)動傳輸電路基本達(dá)到設(shè)計(jì)要求。關(guān)鍵詞:FPGA,CCD,A/D變換,SDRAM,USB,驅(qū)動時序
上傳時間: 2013-04-24
上傳用戶:prczsf
· SmartARM2400是廣州致遠(yuǎn)電子有限公司精心設(shè)計(jì)的一款集教學(xué)、競賽、工控開發(fā)于一身的開發(fā)套件,套件以NXP公司的LPC2478為核心,該芯片具有EMC(外部總線接口),可支持核心板上集成的32M SDRAM和2MB NOR Flash,并提供4路串口、1路IrDA接口、1路10/100M以太網(wǎng)接口、2個CAN-bus接口、1路I2S接口、1路USB OTG接口、1路USB Hos
標(biāo)簽: SmartARM 2400 開發(fā)板
上傳時間: 2013-06-22
上傳用戶:zhengxueliang
· SmartARM2400是廣州致遠(yuǎn)電子有限公司精心設(shè)計(jì)的一款集教學(xué)、競賽、工控開發(fā)于一身的開發(fā)套件,套件以NXP公司的LPC2478為核心,該芯片具有EMC(外部總線接口),可支持核心板上集成的32M SDRAM和2MB NOR Flash,并提供4路串口、1路IrDA接口、1路10/100M以太網(wǎng)接口、2個CAN-bus接口、1路I2S接口、1路USB OTG接口、1路USB Hos
標(biāo)簽: SmartARM 2400 開發(fā)板
上傳時間: 2013-07-27
上傳用戶:evil
DNE是USB下載工具,可以把bin文件下載到開發(fā)板的SDRAM中,來測試開發(fā)板能否正常運(yùn)行。
標(biāo)簽: DNW
上傳時間: 2013-04-24
上傳用戶:xinyuzhiqiwuwu
CMOS 邏輯系統(tǒng)的功耗主要與時脈頻率、系統(tǒng)內(nèi)各閘極輸入電容及電源電壓有關(guān),裝置尺寸縮小後,電源電壓也隨之降低,使得閘極大幅降低功耗。這種低電壓裝置擁有更低的功耗和更高的運(yùn)作速度,因此系統(tǒng)時脈頻率可升高至 Ghz 範(fàn)圍。
上傳時間: 2013-10-14
上傳用戶:immanuel2006
SRAM,SDRAM
標(biāo)簽: 高手 進(jìn)階 內(nèi)存技術(shù)
上傳時間: 2013-11-10
上傳用戶:黃蛋的蛋黃
BIT_SELFREFRESH EQU (1<<22) ;定義SDRAM自刷新標(biāo)志位 16 17 ;Pre-defined constants 預(yù)定義6種工作模式 18 USERMODE EQU 0x10 ;用戶模式 19 FIQMODE EQU 0x11 ;快速中斷模式 20 IRQMODE EQU 0x12 ;中斷模式 21 SVCMODE EQU 0x13 ;監(jiān)管模式 22 ABORTMODE EQU 0x17 ;異常中斷模式 23 UNDEFMODE EQU 0x1b ;未定義模式 24 25 MODEMASK EQU 0x1f ;模式掩碼 26 NOINT EQU 0xc0 ;取消中斷 27 28 ;The location of stacks;設(shè)置6種工作模式的堆棧的起始地址 29 ;在option.inc中定義了_STACK_BASEADDRESS EQU 0x33ff8000 30 UserStack EQU (_STACK_BASEADDRESS-0x3800) ;0x33ff4800 ~ 31 SVCStack EQU (_STACK_BASEADDRESS-0x2800) ;0x33ff5800 ~ 32 UndefStack EQU (_STACK_BASEADDRESS-0x2400) ;0x33ff5c00 ~ 33 AbortStack EQU (_STACK_BASEADDRESS-0x2000) ;0x33ff6000 ~ 34 IRQStack EQU (_STACK_BASEADDRESS-0x1000) ;0x33ff7000 ~ 35 FIQStack EQU (_STACK_BASEADDRESS-0x0) ;0x33ff8000 ~
上傳時間: 2013-10-07
上傳用戶:m62383408
單片機(jī)的頻率越來越高,RAM的訪問速度也來也快,但單片機(jī)系統(tǒng)的效率并不一定成比例的提高。 目前,使用的主流單片機(jī)有80386EX(50MHz,外部地址/數(shù)據(jù)總線16位)、MPC860T(66MHz外部地址/數(shù)據(jù)總線32位)以及DS80C32(25MHz,外部地址/數(shù)據(jù)總線8位)使用的SDRAM有HY57系列、K416系列(訪問速度100MHz133MHz);使用的SRAM如IDT71024、IDT7256(50MHz);使用的Flash有AT29C512、SST39VF040、AT29C010(8MHz或15MHz)等。可見SDRAMS,RAM的速度和單片機(jī)是匹配的甚至比單片機(jī)的速度更快一點(diǎn),不需要單片機(jī)插入等待狀態(tài)。而Flash的訪問頻率則比單片機(jī)慢2~6倍,單片機(jī)往往要通過插入多個等待狀態(tài)來和它相匹配,況且Flash多為8位,而當(dāng)前單片機(jī)多為16,32位更多的降低了單片機(jī)的工作性能。
上傳時間: 2013-11-09
上傳用戶:wxhwjf
at91rm9200啟動過程教程 系統(tǒng)上電,檢測BMS,選擇系統(tǒng)的啟動方式,如果BMS為高電平,則系統(tǒng)從片內(nèi)ROM啟動。AT91RM9200的ROM上電后被映射到了0x0和0x100000處,在這兩個地址處都可以訪問到ROM。由于9200的ROM中固化了一個BOOTLOAER程序。所以PC從0X0處開始執(zhí)行這個BOOTLOAER(準(zhǔn)確的說應(yīng)該是一級BOOTLOADER)。這個BOOTLOER依次完成以下步驟: 1、PLL SETUP,設(shè)置PLLB產(chǎn)生48M時鐘頻率提供給USB DEVICE。同時DEBUG USART也被初始化為48M的時鐘頻率; 2、相應(yīng)模式下的堆棧設(shè)置; 3、檢測主時鐘源(Main oscillator); 4、中斷控制器(AIC)的設(shè)置; 5、C 變量的初始化; 6、跳到主函數(shù)。 完成以上步驟后,我們可以認(rèn)為BOOT過程結(jié)束,接下來的就是LOADER的過程,或者也可以認(rèn)為是裝載二級BOOTLOER。AT91RM9200按照DATAFLASH、EEPROM、連接在外部總線上的8位并行FLASH的順序依次來找合法的BOOT程序。所謂合法的指的是在這些存儲設(shè)備的開始地址處連續(xù)的存放的32個字節(jié),也就是8條指令必須是跳轉(zhuǎn)指令或者裝載PC的指令,其實(shí)這樣規(guī)定就是把這8條指令當(dāng)作是異常向量表來處理。必須注意的是第6條指令要包含將要裝載的映像的大小。關(guān)于如何計(jì)算和寫這條指令可以參考用戶手冊。一旦合法的映像找到之后,則BOOT程序會把找到的映像搬到SRAM中去,所以映像的大小是非常有限的,不能超過16K-3K的大小。當(dāng)BOOT程序完成了把合法的映像搬到SRAM的任務(wù)以后,接下來就進(jìn)行存儲器的REMAP,經(jīng)過REMAP之后,SRAM從映設(shè)前的0X200000地址處被映設(shè)到了0X0地址并且程序從0X0處開始執(zhí)行。而ROM這時只能在0X100000這個地址處看到了。至此9200就算完成了一種形式的啟動過程。如果BOOT程序在以上所列的幾種存儲設(shè)備中找到合法的映像,則自動初始化DEBUG USART口和USB DEVICE口以準(zhǔn)備從外部載入映像。對DEBUG口的初始化包括設(shè)置參數(shù)115200 8 N 1以及運(yùn)行XMODEM協(xié)議。對USB DEVICE進(jìn)行初始化以及運(yùn)行DFU協(xié)議。現(xiàn)在用戶可以從外部(假定為PC平臺)載入你的映像了。在PC平臺下,以WIN2000為例,你可以用超級終端來完成這個功能,但是還是要注意你的映像的大小不能超過13K。一旦正確從外部裝載了映像,接下來的過程就是和前面一樣重映設(shè)然后執(zhí)行映像了。我們上面講了BMS為高電平,AT91RM9200選擇從片內(nèi)的ROM啟動的一個過程。如果BMS為低電平,則AT91RM9200會從片外的FLASH啟動,這時片外的FLASH的起始地址就是0X0了,接下來的過程和片內(nèi)啟動的過程是一樣的,只不過這時就需要自己寫啟動代碼了,至于怎么寫,大致的內(nèi)容和ROM的BOOT差不多,不同的硬件設(shè)計(jì)可能有不一樣的地方,但基本的都是一樣的。由于片外FLASH可以設(shè)計(jì)的大,所以這里編寫的BOOTLOADER可以一步到位,也就是說不用像片內(nèi)啟動可能需要BOOT好幾級了,目前AT91RM9200上使用較多的bootloer是u-boot,這是一個開放源代碼的軟件,用戶可以自由下載并根據(jù)自己的應(yīng)用配置。總的說來,筆者以為AT91RM9200的啟動過程比較簡單,ATMEL的服務(wù)也不錯,不但提供了片內(nèi)啟動的功能,還提供了UBOOT可供下載。筆者寫了一個BOOTLODER從片外的FLASHA啟動,效果還可以。 uboot結(jié)構(gòu)與使用uboot是一個龐大的公開源碼的軟件。他支持一些系列的arm體系,包含常見的外設(shè)的驅(qū)動,是一個功能強(qiáng)大的板極支持包。其代碼可以 http://sourceforge.net/projects/u-boot下載 在9200上,為了啟動uboot,還有兩個boot軟件包,分別是loader和boot。分別完成從sram和flash中的一級boot。其源碼可以從atmel的官方網(wǎng)站下載。 我們知道,當(dāng)9200系統(tǒng)上電后,如果bms為高電平,則系統(tǒng)從片內(nèi)rom啟動,這時rom中固化的boot程序初始化了debug口并向其發(fā)送'c',這時我們打開超級終端會看到ccccc...。這說明系統(tǒng)已經(jīng)啟動,同時xmodem協(xié)議已經(jīng)啟動,用戶可以通過超級終端下載用戶的bootloader。作為第一步,我們下載loader.bin.loader.bin將被下載到片內(nèi)的sram中。這個loder完成的功能主要是初始化時鐘,sdram和xmodem協(xié)議,為下載和啟動uboot做準(zhǔn)備。當(dāng)下載了loader.bin后,超級終端會繼續(xù)打印:ccccc....。這時我們就可以下在uboot了。uboot將被下載到sdram中的一個地址后并把pc指針調(diào)到此處開始執(zhí)行uboot。接著我們就可以在終端上看到uboot的shell啟動了,提示符uboot>,用戶可以uboot>help 看到命令列表和大概的功能。uboot的命令包含了對內(nèi)存、flash、網(wǎng)絡(luò)、系統(tǒng)啟動等一些命令。 如果系統(tǒng)上電時bms為低電平,則系統(tǒng)從片外的flash啟動。為了從片外的flash啟動uboot,我們必須把boot.bin放到0x0地址出,使得從flash啟動后首先執(zhí)行boot.bin,而要少些boot.bin,就要先完成上面我們講的那些步驟,首先開始從片內(nèi)rom啟動uboot。然后再利用uboot的功能完成把boot.bin和uboot.gz燒寫到flash中的目的,假如我們已經(jīng)啟動了uboot,可以這樣操作: uboot>protect off all uboot>erase all uboot>loadb 20000000 uboot>cp.b 20000000 10000000 5fff uboot>loadb 21000000 uboot>cp.b 210000000 10010000 ffff 然后系統(tǒng)復(fù)位,就可以看到系統(tǒng)先啟動boot,然后解壓縮uboot.gz,然后啟動uboot。注意,這里uboot必須壓縮成.gz文件,否則會出錯。 怎么編譯這三個源碼包呢,首先要建立一個arm的交叉編譯環(huán)境,關(guān)于如何建立,此處不予說明。建立好了以后,分別解壓源碼包,然后修改Makefile中的編譯器項(xiàng)目,正確填寫你的編譯器的所在路徑。 對loader和boot,直接make。對uboot,第一步:make_at91rm9200dk,第二步:make。這樣就會在當(dāng)前目錄下分別生成*.bin文件,對于uboot.bin,我們還要壓縮成.gz文件。 也許有的人對loader和boot搞不清楚為什么要兩個,有什么區(qū)別嗎?首先有區(qū)別,boot主要完成從flash中啟動uboot的功能,他要對uboot的壓縮文件進(jìn)行解壓,除此之外,他和loader并無大的區(qū)別,你可以把boot理解為在loader的基礎(chǔ)上加入了解壓縮.gz的功能而已。所以這兩個并無多大的本質(zhì)不同,只是他們的使命不同而已。 特別說名的是這三個軟件包都是開放源碼的,所以用戶可以根據(jù)自己的系統(tǒng)的情況修改和配置以及裁減,打造屬于自己系統(tǒng)的bootloder。
上傳時間: 2013-10-27
上傳用戶:wsf950131
蟲蟲下載站版權(quán)所有 京ICP備2021023401號-1