軟件無線電(SDR,Software Defined Radio)由于具備傳統無線電技術無可比擬的優越性,已成為業界公認的現代無線電通信技術的發展方向。理想的軟件無線電系統強調體系結構的開放性和可編程性,減少靈活性著的硬件電路,把數字化處理(ADC和DAC)盡可能靠近天線,通過軟件的更新改變硬件的配置、結構和功能。目前,直接對射頻(RF)進行采樣的技術尚未實現普及的產品化,而用數字變頻器在中頻進行數字化是普遍采用的方法,其主要思想是,數字混頻器用離散化的單頻本振信號與輸入采樣信號在乘法器中相乘,再經插值或抽取濾波,其結果是,輸入信號頻譜搬移到所需頻帶,數據速率也相應改變,以供后續模塊做進一步處理。數字變頻器在發射設備和接收設備中分別稱為數字上變頻器(DUC,Digital Upper Converter)和數字下變頻器(DDC,Digital Down Converter),它們是軟件無線電通信設備的關鍵部什。大規??删幊踢壿嬈骷膽脼楝F代通信系統的設計帶來極大的靈活性?;贔PGA的數字變頻器設計是深受廣大設計人員歡迎的設計手段。本文的重點研究是數字下變頻器(DDC),然而將它與數字上變頻器(DUC)完全割裂后進行研究顯然是不妥的,因此,本文對數字上變頻器也作適當介紹。 第一章簡要闡述了軟件無線電及數字下變頻的基本概念,介紹了研究背景及所完成的主要研究工作。 第二章介紹了數控振蕩器(NCO),介紹了兩種實現方法,即基于查找表和基于CORDIC算法的實現。對CORDIc算法作了重點介紹,給出了傳統算法和改進算法,并對基于傳統CORDIC算法的NCO的FPGA實現進行了EDA仿真。 第三章介紹了變速率采樣技術,重點介紹了軟件無線電中廣泛采用的級聯積分梳狀濾波器 (cascaded integratot comb, CIC)和ISOP(Interpolated Second Order Polynomial)補償法,對前者進行了基于Matlab的理論仿真和FPGA實現的EDA仿真,后者只進行了基于Matlab的理論仿真。 第四章介紹了分布式算法和軟件無線電中廣泛采用的半帶(half-band,HB)濾波器,對基于分布式算法的半帶濾波器的FPGA實現進行了EDA仿真,最后簡要介紹了FIR的多相結構。 第五章對數字下變頻器系統進行了噪聲綜合分析,給出了一個噪聲模型。 第六章介紹了數字下變頻器在短波電臺中頻數字化應用中的一個實例,給出了測試結果,重點介紹了下變頻器的:FPGA實現,其對應的VHDL程序收錄在本文最后的附錄中,希望對從事該領域設計的技術人員具有一定參考價值。
上傳時間: 2013-06-09
上傳用戶:szchen2006
電子發燒友網核心提示:本文是關于ADI數據轉換器基礎知識精華集錦,其中闡述了逐次逼近模數轉換器的基本原理、算法及優缺點;ADC和DAC的直流規格和交流規格分析;DAC數模轉換器詳解及應用舉例。 一、逐次逼近型模數轉換器 1.基本逐次逼近模數轉換器
上傳時間: 2013-12-16
上傳用戶:takako_yang
特點: 精確度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
/*--------- 8051內核特殊功能寄存器 -------------*/ sfr ACC = 0xE0; //累加器 sfr B = 0xF0; //B 寄存器 sfr PSW = 0xD0; //程序狀態字寄存器 sbit CY = PSW^7; //進位標志位 sbit AC = PSW^6; //輔助進位標志位 sbit F0 = PSW^5; //用戶標志位0 sbit RS1 = PSW^4; //工作寄存器組選擇控制位 sbit RS0 = PSW^3; //工作寄存器組選擇控制位 sbit OV = PSW^2; //溢出標志位 sbit F1 = PSW^1; //用戶標志位1 sbit P = PSW^0; //奇偶標志位 sfr SP = 0x81; //堆棧指針寄存器 sfr DPL = 0x82; //數據指針0低字節 sfr DPH = 0x83; //數據指針0高字節 /*------------ 系統管理特殊功能寄存器 -------------*/ sfr PCON = 0x87; //電源控制寄存器 sfr AUXR = 0x8E; //輔助寄存器 sfr AUXR1 = 0xA2; //輔助寄存器1 sfr WAKE_CLKO = 0x8F; //時鐘輸出和喚醒控制寄存器 sfr CLK_DIV = 0x97; //時鐘分頻控制寄存器 sfr BUS_SPEED = 0xA1; //總線速度控制寄存器 /*----------- 中斷控制特殊功能寄存器 --------------*/ sfr IE = 0xA8; //中斷允許寄存器 sbit EA = IE^7; //總中斷允許位 sbit ELVD = IE^6; //低電壓檢測中斷控制位 8051
上傳時間: 2013-10-30
上傳用戶:yxgi5
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
#include<iom16v.h> #include<macros.h> #define uint unsigned int #define uchar unsigned char uint a,b,c,d=0; void delay(c) { for for(a=0;a<c;a++) for(b=0;b<12;b++); }; uchar tab[]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,
上傳時間: 2013-10-21
上傳用戶:13788529953
C8051Fxxx 系列單片機是完全集成的混合信號系統級芯片,具有與8051 兼容的微控制器內核,與MCS-51 指令集完全兼容。除了具有標準8052 的數字外設部件之外,片內還集成了數據采集和控制系統中常用的模擬部件和其它數字外設及功能部件。參見表1.1 的產品選擇指南可快速查看每個MCU 的特性。 MCU 中的外設或功能部件包括模擬多路選擇器、可編程增益放大器、ADC、DAC、電壓比較器、電壓基準、溫度傳感器、SMBus/ I2C、UART、SPI、可編程計數器/定時器陣列(PCA)、定時器、數字I/O 端口、電源監視器、看門狗定時器(WDT)和時鐘振蕩器等。所有器件都有內置的FLASH 程序存儲器和256 字節的內部RAM,有些器件內部還有位于外部數據存儲器空間的RAM,即XRAM。C8051Fxxx 單片機采用流水線結構,機器周期由標準的12 個系統時鐘周期降為1 個系統時鐘周期,處理能力大大提高,峰值性能可達25MIPS。C8051Fxxx 單片機是真正能獨立工作的片上系統(SOC)。每個MCU 都能有效地管理模擬和數字外設,可以關閉單個或全部外設以節省功耗。FLASH 存儲器還具有在系統重新編程能力,可用于非易失性數據存儲,并允許現場更新8051 固件。應用程序可以使用MOVC 和MOVX 指令對FLASH 進行讀或改寫,每次讀或寫一個字節。這一特性允許將程序存儲器用于非易失性數據存儲以及在軟件控制下更新程序代碼。片內JTAG 調試支持功能允許使用安裝在最終應用系統上的產品MCU 進行非侵入式(不占用片內資源)、全速、在系統調試。該調試系統支持觀察和修改存儲器和寄存器,支持斷點、單步、運行和停機命令。在使用JTAG 調試時,所有的模擬和數字外設都可全功能運行。每個MCU 都可在工業溫度范圍(-45℃到+85℃)內用2.7V-3.6V(F018/019 為2.8V-3.6V)的電壓工作。端口I/O、/RST 和JTAG 引腳都容許5V 的輸入信號電壓。
上傳時間: 2013-11-14
上傳用戶:jiangshandz
摘要: 串行傳輸技術具有更高的傳輸速率和更低的設計成本, 已成為業界首選, 被廣泛應用于高速通信領域。提出了一種新的高速串行傳輸接口的設計方案, 改進了Aurora 協議數據幀格式定義的弊端, 并采用高速串行收發器Rocket I/O, 實現數據率為2.5 Gbps的高速串行傳輸。關鍵詞: 高速串行傳輸; Rocket I/O; Aurora 協議 為促使FPGA 芯片與串行傳輸技術更好地結合以滿足市場需求, Xilinx 公司適時推出了內嵌高速串行收發器RocketI/O 的Virtex II Pro 系列FPGA 和可升級的小型鏈路層協議———Aurora 協議。Rocket I/O支持從622 Mbps 至3.125 Gbps的全雙工傳輸速率, 還具有8 B/10 B 編解碼、時鐘生成及恢復等功能, 可以理想地適用于芯片之間或背板的高速串行數據傳輸。Aurora 協議是為專有上層協議或行業標準的上層協議提供透明接口的第一款串行互連協議, 可用于高速線性通路之間的點到點串行數據傳輸, 同時其可擴展的帶寬, 為系統設計人員提供了所需要的靈活性[4]。但該協議幀格式的定義存在弊端,會導致系統資源的浪費。本文提出的設計方案可以改進Aurora 協議的固有缺陷,提高系統性能, 實現數據率為2.5 Gbps 的高速串行傳輸, 具有良好的可行性和廣闊的應用前景。
上傳時間: 2013-11-06
上傳用戶:smallfish
本書介紹了Cygnal集成產品公司的C8051Fxxx高速片上系統(SOC)單片機的硬件結構和工作原理,詳細闡述了C8051Fxxx的定時器、可編程計數器陣列(PCA)、串行口、SMBus/I2C接口、SPI總線接口、ADC、DAC、比較器、復位源、振蕩器、看門狗定時器、JTAG接口等外設或功能部件的結構和使用方法。
上傳時間: 2013-10-26
上傳用戶:born2007
摘要: 串行傳輸技術具有更高的傳輸速率和更低的設計成本, 已成為業界首選, 被廣泛應用于高速通信領域。提出了一種新的高速串行傳輸接口的設計方案, 改進了Aurora 協議數據幀格式定義的弊端, 并采用高速串行收發器Rocket I/O, 實現數據率為2.5 Gbps的高速串行傳輸。關鍵詞: 高速串行傳輸; Rocket I/O; Aurora 協議 為促使FPGA 芯片與串行傳輸技術更好地結合以滿足市場需求, Xilinx 公司適時推出了內嵌高速串行收發器RocketI/O 的Virtex II Pro 系列FPGA 和可升級的小型鏈路層協議———Aurora 協議。Rocket I/O支持從622 Mbps 至3.125 Gbps的全雙工傳輸速率, 還具有8 B/10 B 編解碼、時鐘生成及恢復等功能, 可以理想地適用于芯片之間或背板的高速串行數據傳輸。Aurora 協議是為專有上層協議或行業標準的上層協議提供透明接口的第一款串行互連協議, 可用于高速線性通路之間的點到點串行數據傳輸, 同時其可擴展的帶寬, 為系統設計人員提供了所需要的靈活性[4]。但該協議幀格式的定義存在弊端,會導致系統資源的浪費。本文提出的設計方案可以改進Aurora 協議的固有缺陷,提高系統性能, 實現數據率為2.5 Gbps 的高速串行傳輸, 具有良好的可行性和廣闊的應用前景。
上傳時間: 2013-10-13
上傳用戶:lml1234lml