JPEG是聯合圖像專家組(Joint Picture Expert Group)的英文縮寫,是國際標準化組織(ISO)和CCITT聯合制定的靜態圖像壓縮編碼標準。JPEG的基于DCT變換有損壓縮具有高壓縮比特點,被廣泛應用在數據量極大的多媒體以及帶寬資源寶貴的網絡程序中。 動態圖像的JPEG編解碼處理要求圖像恢復質量高、實時性強,本課題就是針對這兩個方面的要求展開的研究。該系統由圖像編碼服務器端和圖像解碼客戶端組成。其中,服務器端實時采集攝像頭傳送的動態圖像,進行JPEG編碼,通過網絡傳送碼流到客戶端;客戶端接收碼流,經過JPEG解碼,恢復出原始圖像送VGA顯示。設計結果完全達到了實時性的要求。 本文從系統實現的角度出發,首先分析了系統開發平臺,介紹FPGA的結構特點以及它的設計流程和指導原則;然后從JPEG圖像壓縮技術發展的歷程出發,分析JPEG標準實現高壓縮比高質量圖像處理的原理;針對FPGA在算法實現上的特點,以及JPEG算法處理的原理,按照編碼和解碼順序,研究設計了基于改進的DA算法的FDCT和IDCT變換,以及按發生頻率進行優化的霍夫曼查找表結構,并且從系統整體上對JPEG編解碼進行簡化,以提高系統的處理性能。最后,通過分析Nios嵌入式微處理器可定制特性,根據SOPC Builder中Avalon總線的要求,把圖像采集,JPEG圖像壓縮和網絡傳輸轉變成用戶自定義模塊,在SOPC Builder下把用戶自定義模塊添加到系統中,由Nios嵌入式軟核的控制下運行,在FPGA芯片上實現整個JPEG實時圖像編解碼系統(soc)。 在FPGA上實現硬件模塊化的JPEG算法,具有造價低功耗低,性能穩定,圖像恢復后質量高等優點,適用于精度要求高且需要對圖像進行逐幀處理的遠程微小目標識別和跟蹤系統中以及廣電系統中前期的非線性編輯工作以及數字電影的動畫特技制作,對降低成本和提高圖像處理速度兩方面都有非常重大的現實意義。通過在FPGA上實現JPEG編解碼,進一步探索FPGA在數字圖像處理上的優勢所在,深入了解進行此類硬件模塊設計的技術特點,是本課題的重要學術意義所在。
上傳時間: 2013-04-24
上傳用戶:shangdafreya
本文研究的視頻處理系統是上海市科委技術攻關基金項目“計算機視覺及其芯片化實現”的一部分,主要完成計算機視覺系統的一些基本工作,即視頻圖像的采集、預處理和顯示等。 視頻圖像采集和預處理系統以Xilinx公司Virtex-ⅡPro系列的FPGA為核心控制器件,結合視頻模數轉換芯片和VGA顯示器,完成視頻圖像的實時采集、預處理和顯示。采集和顯示部分作為同外界交流信息的渠道,是構成計算機視覺系統必不可少的一部分;圖像預處理則是計算機視覺系統進行高層處理的基礎,優秀的預處理算法能有效改善圖像質量,提高系統分析判斷的準確性。 本文在介紹基于FPGA的視頻采集、預處理系統整體架構的基礎上,圍繞以下四個方面展開了工作: 1.研究并給出了兩種基于FPGA的設計方案用于實現YCrCb色度空間到RGB色度空間的轉換; 2.針對采集的視頻圖像,根據VGA顯示的要求,給出了一種實現圖像去隔行的方案; 3.分析了一系列圖像濾波的預處理算法,如均值濾波、中值濾波和自適應濾波等,在比較和總結各算法特點的基礎上,提出了一種新的適用于處理混合噪聲的濾波算法:混合自適應濾波法; 4.根據算法特點設計了多種采用FPGA實現的圖像濾波算法,并對硬件算法進行RTL級的功能仿真和驗證,還給出了各種濾波算法的實驗結果,在此基礎上對各種算法的效果進行直觀的比較。 文中,預處理算法的實現充分利用了FPGA的片內資源,體現了FPGA在圖像處理方面的特點及優勢。同時,視頻采集和顯示的控制模塊也由同一FPGA芯片實現,從而簡化了系統整體結構。視頻采集和預處理系統在FPGA上的成功實現為“計算機視覺及其芯片化實現”奠定了必要的基礎、提供了一定理論依據。
上傳時間: 2013-04-24
上傳用戶:我好難過
介紹一種脈沖渦流無損檢測系統所使用的多波形專用PWM 信號發生器的設計。該信號發生器以單片機為核心控制單元,通過對外圍芯片的控制來實現對輸出波形的頻率、電壓幅值、占空比的連續調節,并能對運行信
上傳時間: 2013-04-24
上傳用戶:luominghua
在直流電機控制系統的硬件設計方面,電路以ARM Cortex M3最小系統為核心,主要包括PWM控制輸出模塊,基于PCF8576芯片的顯示模塊,基于FT2232芯片的USB轉JTAG口模塊,LMD18200驅動模塊。在軟件設計方面,充分利用Luminary公司提供的ARM Cotex M3驅動庫,采用十分簡易的方法對Cortex進行編程,以控制電機的運轉。最后對ARM進行了軟件與硬件結合的綜合測試。 該控制系統的研制為直流電機在高精度光電技術的應用提供了良好的實驗平臺。經過試驗,驗證了系統的可行性,系統的各項功能及控制精度滿足設計要求。
標簽: ARM_Cortex-M 控制器 直流電機 驅動
上傳時間: 2013-06-17
上傳用戶:my867513184
特點: 精確度0.1%滿刻度 可作各式數學演算式功能如:A+B/A-B/AxB/A/B/A&B(Hi or Lo)/|A|/ 16 BIT類比輸出功能 輸入與輸出絕緣耐壓2仟伏特/1分鐘(input/output/power) 寬范圍交直流兩用電源設計 尺寸小,穩定性高
上傳時間: 2014-12-23
上傳用戶:ydd3625
為降低大功率開關電源設計時功率器件的選擇、開關頻率和功率密度的提高所面臨的困難,改善單電源供電的可靠性,設計并制作程控開關電源并聯供電系統。系統由2個額定輸出功率為16 W的8 V DC/DC模塊構成的程控開關電源并聯供電系統。以STM32F103微控制器為核心芯片,通過程序控制內部DAC調節PWM主控芯片UC3845的反饋端電壓,使DC/DC模塊輸出電壓產生微小變動,進而可調整DC/DC模塊的輸出電流并實時分配各DC/DC模塊的輸出電流,軟件采用PI算法。試驗表明,系統滿載效率高于80.23%,電流分配誤差最大為1.54%;電源輸出在1 s內快速達到穩態;系統以4.5 A為閾值實現過流保護和自恢復功能。
上傳時間: 2013-11-15
上傳用戶:王慶才
特點(FEATURES) 精確度0.1%滿刻度 (Accuracy 0.1%F.S.) 可作各式數學演算式功能如:A+B/A-B/AxB/A/B/A&B(Hi or Lo)/|A| (Math functioA+B/A-B/AxB/A/B/A&B(Hi&Lo)/|A|/etc.....) 16 BIT 類比輸出功能(16 bit DAC isolating analog output function) 輸入/輸出1/輸出2絕緣耐壓2仟伏特/1分鐘(Dielectric strength 2KVac/1min. (input/output1/output2/power)) 寬范圍交直流兩用電源設計(Wide input range for auxiliary power) 尺寸小,穩定性高(Dimension small and High stability)
上傳時間: 2013-11-24
上傳用戶:541657925
為了滿足乘客對AFC的需求,提出了一種單彩LED在AFC系統運行狀態顯示中的設計應用,該控制系統以Cortex-M3內核芯片STM32F103VET6作為控制中心,采用恒流驅動芯片MBI5042實現LED恒流驅動,系統可支持256級灰度單彩LED顯示屏的漢字、圖案的顯示,同時能夠方便地進行遠程控制,以及控制AFC運行狀態的顯示。
上傳時間: 2013-11-08
上傳用戶:lyson
交通信號燈的自動指揮系統,是實現交通的井然有序的關鍵。本設計采用AT89C51單片機來實現交通信號燈的自動指揮功能,同時采用LCD1602、DS1302、DS18B20以及其它芯片來鋪助,從而達到智能控制的功能。通過AT89C51芯片的各個端口來控制各個路口以及人行道LED燈的亮暗來控制車輛的通行。然而本系統還加上了時間顯示控制模塊,可以準確的顯示出各個路口的倒計時。系統在工作模式下還分為三種工作模式:正常模式、繁忙模式和特殊模式,利用萬年歷的時間模塊進行自動控制切換及手動切換,從而更好的控制上下班高峰期以及各種因素所造成的交通問題,實現智能控制功能。
上傳時間: 2013-11-16
上傳用戶:xianglee
TLC2543是TI公司的12位串行模數轉換器,使用開關電容逐次逼近技術完成A/D轉換過程。由于是串行輸入結構,能夠節省51系列單片機I/O資源;且價格適中,分辨率較高,因此在儀器儀表中有較為廣泛的應用。 TLC2543的特點 (1)12位分辯率A/D轉換器; (2)在工作溫度范圍內10μs轉換時間; (3)11個模擬輸入通道; (4)3路內置自測試方式; (5)采樣率為66kbps; (6)線性誤差±1LSBmax; (7)有轉換結束輸出EOC; (8)具有單、雙極性輸出; (9)可編程的MSB或LSB前導; (10)可編程輸出數據長度。 TLC2543的引腳排列及說明 TLC2543有兩種封裝形式:DB、DW或N封裝以及FN封裝,這兩種封裝的引腳排列如圖1,引腳說明見表1 TLC2543電路圖和程序欣賞 #include<reg52.h> #include<intrins.h> #define uchar unsigned char #define uint unsigned int sbit clock=P1^0; sbit d_in=P1^1; sbit d_out=P1^2; sbit _cs=P1^3; uchar a1,b1,c1,d1; float sum,sum1; double sum_final1; double sum_final; uchar duan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; uchar wei[]={0xf7,0xfb,0xfd,0xfe}; void delay(unsigned char b) //50us { unsigned char a; for(;b>0;b--) for(a=22;a>0;a--); } void display(uchar a,uchar b,uchar c,uchar d) { P0=duan[a]|0x80; P2=wei[0]; delay(5); P2=0xff; P0=duan[b]; P2=wei[1]; delay(5); P2=0xff; P0=duan[c]; P2=wei[2]; delay(5); P2=0xff; P0=duan[d]; P2=wei[3]; delay(5); P2=0xff; } uint read(uchar port) { uchar i,al=0,ah=0; unsigned long ad; clock=0; _cs=0; port<<=4; for(i=0;i<4;i++) { d_in=port&0x80; clock=1; clock=0; port<<=1; } d_in=0; for(i=0;i<8;i++) { clock=1; clock=0; } _cs=1; delay(5); _cs=0; for(i=0;i<4;i++) { clock=1; ah<<=1; if(d_out)ah|=0x01; clock=0; } for(i=0;i<8;i++) { clock=1; al<<=1; if(d_out) al|=0x01; clock=0; } _cs=1; ad=(uint)ah; ad<<=8; ad|=al; return(ad); } void main() { uchar j; sum=0;sum1=0; sum_final=0; sum_final1=0; while(1) { for(j=0;j<128;j++) { sum1+=read(1); display(a1,b1,c1,d1); } sum=sum1/128; sum1=0; sum_final1=(sum/4095)*5; sum_final=sum_final1*1000; a1=(int)sum_final/1000; b1=(int)sum_final%1000/100; c1=(int)sum_final%1000%100/10; d1=(int)sum_final%10; display(a1,b1,c1,d1); } }
上傳時間: 2013-11-19
上傳用戶:shen1230