【正文】
輸入或步進操作后必須按下“確定”鍵才會將數(shù)據(jù)送給累加器,只要按下“確定”鍵之前按下“退出”鍵就可以取消當前對數(shù)值的修改。本設計中將輸出信號的電壓峰峰值調為 17V。 為了減少運放對濾波電路的負載效益,同時便于調整,我們選擇兩個二階巴特沃思低通濾波器串聯(lián)的方法,構成一個四階巴特沃思低通濾波器。 輸出的模擬量與輸入的數(shù)字量 ( DN1*2N1+…… +D0*20) 成正比,這就實現(xiàn)了從數(shù)字量到模擬量的轉換 。外部電路輸入有 8位的調制信號頻率控制字 FSW,調制信號系統(tǒng)時鐘 FM_CLK,是將 20MHz的頻率 2048分頻得到。已生成的帶有語法文本的函數(shù)表,經復制后可以直接粘貼到用戶程序中。在 Excel表格中可以用下拉單元格的方式迅速生成地址 ,本設計中生成 256個數(shù)據(jù)的數(shù)據(jù)表,地址范圍 0~255,即波形表中每種波形每周期取 256點。下載 SOF 文件后可以測試程序的功能了。這里 HEX程序代碼由 KEIL 程序編譯器生成(圖中已加載了 )。 圖 8 8051 單片機 I/O 口設置成雙向口的電路 8051 軟核系統(tǒng)構建及下載 8051 核實用系統(tǒng)的最基本構建頂層原理圖如附錄 2 所示,主要由 4 個部件構成: 8051 核。 基本結構和功能 程序存儲器端口AL UI/O 端口定時器 /計數(shù)器UA RT 串行口數(shù)據(jù) RAM 端口中斷控制器特殊功能寄存器 圖 6 8051 引腳圖 圖 7 8051 原理圖元件 8051 可接 64KB 外部存儲器,可接 256 字節(jié)內部數(shù)據(jù) RAM,含兩個 16 位定時 /計數(shù)器,全雙工串口,含節(jié)省功耗工作模式,中斷響應結構等等。即輸出的相位φ =PSW 176。一般我們每周期采樣 64個點。因此確定累加器的位數(shù)為 28位。02c o s ( ( ) )cf k ik k k flo o rPZ? ???? ( fk? 為頻 偏控制字) 故 DDS 調頻公式為 39。產生三相正弦波原理圖如圖 4 所示,圖中使用了三個大小相同的波形存儲器 ROM,存儲三路正弦波形數(shù)據(jù) [3]。 第 5 頁 共 30 頁 基于 DDS 的三相正弦波產生模塊 本系統(tǒng)不僅要求輸出三相正弦波,而且要求輸出正弦波的頻率與相位均可預置和步進,這就要求增加相位控制字和頻率控制字,頻率控制字和相位控制字均由單片機控制輸出。 圖 2 系統(tǒng)整體結構框圖 本設計在 FPGA 中嵌入了 51 單片機,實現(xiàn)了頻率控制字和相位控制字的串行 輸出 ,同時負責鍵盤掃描,驅動顯示器顯示 ;調頻信號產生模塊用來產生頻率在 100Hz~ 1kHz 頻率范圍內可變的調制信號;三相正弦波產生模塊產生三路正弦信號輸出,頻率在 1Hz~30KHz 范圍內任意預置,波形數(shù)據(jù)存儲在定制的三個大小相同的 ROM 中,利用查表的方式輸出波形;從 FPGA 中輸出的三路離散信號通過 D/A 轉換為連續(xù)的模擬信號,經過低通濾波器濾去高次諧波,使用移位電路將波形分成以 X 軸對稱的上下兩部分,最后經過電壓放大電路使輸出波形的電壓峰峰值大于 10V。 本論文詳細討論了正弦信號和調頻信號的產生、頻率精確控制、三路移相輸出、 D/A轉換與四階巴特沃思低通濾波電路、電流電壓轉換電路、 4*4鍵盤與lcd12864顯示器等諸方面軟硬件實現(xiàn)方法。 國內市場上可以得到的最新數(shù)據(jù)顯示 DDS 的時鐘速率可以達到 1GHz,但是據(jù)資料顯示,采用 GaAs(砷化鎵)的 DDS 部件其時鐘速率可以達到 。三相正弦信號源可以滿足這一要求 [1]。任意預置。 以在 FPGA中嵌入的 8051單片機 軟核為控制核心,設計 完成了基于 DDS技術三相正弦信號發(fā)生器的制作。 關鍵詞:低頻三相; FPGA; DDS; 8051單片機軟核;移相 The Design and Implementation of Threephase Sinusoidal Signal Generator Based on DDS Technology Abstract The design is based on EDA technology and development platform in the Quartus II with the use of topdown design method, the main chip is EP2C5T144C8. Embedded in the FPGA with 8051 softcore for the control of the core, the design is pleted the Threephase Sinusoidal Signal Generator Based on DDS Technology. This article discusses in detail various aspects of hardware and software implementations, such as the creation of sinusoidal signal generator and FM signal, the precision control of frequency, the dual phaseshifted output, the circuit of D / A conversion and fourthorder Butterworth lowpass filter, the converter of currentvoltage, 4 * 4 keyboard and lcd12864 displays and so on. The embedded 8051 microcontroller softcore is responsible for interface display, keyboard scanning, and the serial output of the frequency control word and phase control word. The system can output threephase sinewave and FM signal wave. The modulation frequency can be arbitrarily preset in 100Hz ~ 1kHz, The sine wave frequency can be arbitrarily preset in 1Hz ~ 30KHz, The phase difference between any two phases can be arbitrarily preset in 0 ~ 359 176。 現(xiàn)在,利用直接頻率合成 (DDS)技術產生的波形信號能很好的滿足這些要求。 系統(tǒng)設計內容 系統(tǒng)需要完成基 于 DDS 技術低頻可移相三相正弦信號發(fā)生器的設計與制作。這里的控制字采用串行方式輸出,可大大節(jié)約單片機的 I/O口資源。當累加器經過 k 次循環(huán)相加后又回到初始值 k,則波形存儲器就會輸出對應的一個正弦波周期內的波形數(shù)據(jù),這樣通過 ROM 可將相位值轉換為與之對應的 D 位幅度碼 S (n),然后經 D/A 轉換器變成階梯波 S (t),再經過低通濾波器平滑后,就可以得到合成的信號波形 Y (t)。這樣就可把存儲在波形存儲器內的波形采樣值經過查表查出,輸出到 D/A轉換器。Z ,則調制信號時鐘39。Z 頻率控制字 k? 加法器 數(shù)值變換 相位累加器 B 波形存儲器 B 幅度調節(jié) D/A Fr 第 7 頁 共 30 頁 第四章 分析與計算 DDS 合成波頻率 若累加寄存器的位數(shù)為 N,頻率控制字為 FSW,時鐘基準為 cf ,則合成波形的頻率為 0 1 /2[ ( 2 / ) ( 1 / ) ] n cf F S W fP S W f? ? ?? 其中 1/ cf 為每輸出一個 波形數(shù)據(jù)所需時間, 2n/PSW為一個完整的輸出波形所含的波形數(shù)據(jù)數(shù)。為此這里我又通過軟件的方法來減小誤差。完全滿足本設計要求的輸出頻率最高為 30KHz的要求。的誤差,此誤差可以通過增加波形數(shù)據(jù)數(shù)來消除,但這會增加硬件開銷。 以軟核方式存在能進行硬件修改和編輯;能對其進行仿真和嵌入式邏輯分析儀實現(xiàn)實時時序測試;能根據(jù)設計者的意愿將 CPU、 RAM、 ROM、硬件功能模塊和接口 模塊等實現(xiàn)于同一片 FPGA 中(即 SOC)。 嵌入式鎖相環(huán) PLL50。高 128字節(jié)須用間接尋址方式訪問。再觀察軟硬件的工作情況。以上得到的正弦函數(shù)表往往不能被 D/A轉換器直接利用,需要將其值映射到 D/A轉換器所能接受的數(shù)據(jù)空間內。其 頂層原理圖 見附錄 3 所示。 K[7..0]經 累加器 B輸出累加相位 DIN[7..0]作為調頻信號查找表的地址,波形數(shù)據(jù) q[7..0]經外部 DAC 轉換和低通濾波得到 第 14 頁 共 30 頁 10KHz調頻信號波形。由于 要求輸出 量 是電壓, 而 DAC0832輸出的是電流量, 所以還必須外接一個運算放大器 將電流 轉換成電壓 ,這里選用 OP07集成運放,此運放具 有極低的輸入失調電壓、極低的失調電壓溫漂能長期穩(wěn)定工作等特點。 圖 14 兩階巴特沃思濾波電路 波形移位和電壓放大電路 DDS合成輸出的波形的幅值全都大于零,因此要設計波形移位電路將幅值為零的點全部移到 X坐標軸上,波形移位原理如下圖 15所示。源程序見附錄 9。頻率最大允許輸入 5 位,輸入完畢后必須按下“確定”鍵輸出波形才會改變。移相 90度和 45度的波形可見附錄 8所示。 結 束語 經過兩個月的努力,設計并制作了低頻三相正弦信號發(fā)生器。 在本次論文設計過程中, 譚敏 老師對該論文從選題,構思到最后定稿的各個環(huán)節(jié)給予細心指引與教導 , 使我得以最終完成畢業(yè)論文設計 。 sbit F_cx_data=P2^2。 void FSW_mode()。 Lcd_Init()。 } else if(temp1==13) //相位控制字 { flag=0。i=0。 switch(i) { 第 26 頁 共 30 頁 case 0:Lcd_WriteCmd(0x90)。break。 }//清零 if(temp2==10) { clear_lcd(0)。//頻率精度補償 F_chuan_chu(temp)。amp。 if(F_DATA1000) F_DATA。 } } } void PHASE_mode() { uchar temp3=0,i,flag。 while(1) { temp3=KeyScan()。 case 1:Lcd_WriteData(P_dispbuf[1]+0x30)。clear_lcd(1)。} temp=P_DATA*。display_phase()。 } } } void display_phase() { clear_lcd(1)。 } 第 28 頁 共 30 頁 void display_pl() { Lcd_WriteCmd(0x90)。.39。Lcd_WriteData(39。F_DATA=1000) { Lcd_WriteData(F_DATA/1000+0x30)。K39。 } else if(F_DATA1000amp。Lcd_WriteData(39。Lcd_WriteData(39。0x8000)。 } void P_chuan_chu(uint PHASE)// 相位 { 第 29 頁 共 30 頁 uchar i。 P_CLK=1。 B: IN STD_LOGIC_VECTOR(27 DOWNTO 0)。16位串行輸入端口 CLK:IN STD_LOGIC。 THEN Q(0)=D_IN。 D_OUT=Q