前言:想要寫出一篇令人眼前一亮的文章嗎?我們特意為您整理了5篇嵌入式電路設計教程范文,相信會為您的寫作帶來幫助,發現更多的寫作思路和靈感。
關鍵詞:現代電子系統設計;教學改革;綜合素質
一、引言
現代電子系統設計是我校電子科學與技術專業(以下簡稱為“電子”專業)的一門選修課程。通過該課程的學習與實踐,目的是使學生對現代電子系統設計及原理有一個較為完整和系統的認識,并具有一定工藝分析、解決工藝問題和提高產品質量的能力,可以掌握嵌入式系統開發的主要過程,從專業的角度對嵌入式計算機系統進行分析設計,并且掌握ARM處理器的體系結構。從課程的教學目的可知,本課程要求培養學生在知識綜合應用和動手實踐方面的能力,不僅要求學生具有扎實的基礎知識和對知識的綜合應用思維,還需要學生具有很強的動手能力和應用能力。
近年來,隨著電子技術的發展,電子系統的設計方法和手段也在不斷更新和進步。電子系統設計方法在快速發展的電子技術應用中不斷受到挑戰。從傳統手工設計方法到EDA設計方法,從分立元件系統到集成電路設計,從PCB集成系統到芯片集成系統(SoC),從純硬件系統設計到硬件與軟件結合的系統開發,新型電子系統層出不窮,其設計理念也發生著革命性的變化。這使得企業不僅需要畢業生在進入該領域時具備良好的專業能力和素質,更需要他們了解和形成現代電子系統設計的團隊思維方式和綜合設計方法。同時,學校要促進教學知識與時俱進,培養符合社會需要的實用型工程技術人才,提高學生的就業競爭力;也要對現代電子系統設計課程的教學方法和教學模式進行深刻的思考和改進。
二、存在的問題
現代電子系統設計課程的傳統教學模式主要包括理論授課和實踐實驗兩個部分。理論授課主要包括對現代電子系統設計的方法、思維、工具、應用基礎的介紹與強化,常用處理器及其體系結構的應用、設計、改進知識和FPGA重構思維、Altium Designer電路原理圖及PCB繪制軟件的使用,在本課程的教學授課過程中需要貫穿系統設計方法和設計思想。實踐實驗則以上機實驗為主,進行規定實驗內容的驗證、觀察和簡單電路的原理設計。電子系統課程所存在的問題主要在教學方法和人才培養方面。
1.教學方法問題
在幾年的教學過程中,筆者通過思考和分析課程教學中的問題以及學生的反饋意見,總結了以下幾點問題:
(1)基礎知識不牢。教師在課堂授課、實踐過程中不能很好地將各門課程綜合應用,各門課程間缺乏溝通,學生無法將所學知識串連起來,進行綜合應用。
(2)教學內容有所欠缺。學生對處理器知識的理解和實際軟件編程思維不夠深刻,習慣于有實驗手冊指導條件下的慣性實驗模式,一旦教師讓他們進行開放性實驗來完成設計時,就無法形成系統性思維,各自為戰,團隊意識不強。
(3)考核方法陳舊。課程的考核方式主要采用大眾式的“本門課程成績=平時成績+期末考試成績”的計算方式,學生疲于應付考試,應試態度明顯,不去思考本門課程所學內容與先修課程和本學期其他課程的關聯,只去死記硬背些條條框框,對于思考題和實際現象無法進行有效分析,形成了固化思維。
2.人才培養問題
除此之外,電子專業在人才培養方面也存在一些問題,主要體現在學生學習主動性以及創新活動的參與度上:
(1)2013年前,電子專業在全國大學生電子設計大賽、遼寧省機器人設計大賽、飛思卡爾杯智能汽車大賽(現更名為“恩智浦”杯智能汽車大賽)、大學生創新創業訓練計劃等體現和鍛煉綜合素質的活動中的參與度非常低,僅有3人次參與,這些都側面反映出學生對所學習的C語言程序設計、模擬電子、數字電子、單片機原理、EDA與VHDL語言等課程的綜合應用能力較差,學習和參與的主動性和積極性不高,綜合設計能力不強。
(2)根據對學生就業數據的統計調查發現,學生在畢業后兩年內從事與本專業相關的研發、技術設計、理論研究工作的人數不到業人數的20%,其他學生多選擇改行。在校學生對本專業的認可度也普遍偏低,選擇考研的學生中有90%選擇了外校。
三、課程改進的方法
為使學生能夠更好地掌握現代電子系統設計課程內容,并真正提高系統設計思維和教學效果,我系針對上面出現的問題進行思考,對所發現的問題進行教學環節的切實改進。
1.加強實踐訓練和實際電路設計
實際的動手訓練和電路設計,需要具體分析常用電路原理和具體電路常見故障問題,并加強對學生實際設備操作和實用能力的培養。采用理論教學和實踐教學結合的項目驅動方式,由教師結合實際工作經驗和教學需要,對學生下發開發板、相關元器件,改變傳統僅使用多媒體課件觀看圖片和以教師理論說教方式完成對電子系統各組成元器件的認知,以硬件電路的設計與開發實踐項目為引導,使學生全程接觸實際電路和處理器,以實際項目為驅動進行電子系統設計流程、方法、步驟的掌握和訓練。教師將STC單片機公司和德州儀器公司贈送的開發板下發給學生,學生2~3人一組進行實際項目的開發和學習,由淺入深,從STC89C52、MSP430單片機開始,逐步接觸ARM處理器,完成電路系統的設計與開發,為后續FPGA處理器設計打下良好的應用思維基礎。
2.以科技學術活動為激勵
學校以全國大學生電子設計大賽、遼寧省機器人設計大賽、飛思卡爾杯智能汽車大賽(現更名為“恩智浦”杯智能汽車大賽)、大學生創新創業訓練計劃等科技學術活動為激勵,通過相關大賽培養學生的應用能力,激發他們的學習積極性和自主性。通過這幾年的積極引導,筆者發現,學生在以上競賽和活動的參與率上得到了明顯提升,共獲得全國大學生電子設計大賽省級競賽一等獎、二等獎各2項,參與3人次;獲批大學生創新創業計劃國家級立項2項,省級立項3項,參與14人次;獲智能汽車大賽賽區一等獎1項,二等獎2項,參與2人次;獲遼寧省機器人設計大賽二等獎1項,三等獎1項,參與12人次;參與校級及其他各類科技學術活動50余人次。這些大賽不但提高了學生的專業綜合素質,還提高了學生的總結能力、文檔設計能力、電路設計和軟件編程能力。
3.教學團隊形式優化學生學習內容
本專業教師聯合為同一教學團隊,在提高教學質量和學生動手能力的目標下,盡量為學生設計一個統一的綜合性題目,增強學生的能力,同時,使各門課程的知識點相輔相成、互相印證,使學生更容易將所學知識進行綜合和理解。
4.考核辦法改進
考核辦法從六個方面考核綜合訓練完成的成績,即報告、設計能力、動手實踐能力、功能完成情況、課堂研討回答所提出問題的程度以及綜合訓練過程中的工作態度等。其中,報告占14%、設計和實踐能力占10%、功能完成情況占8%、訓練設計掌握程度占6%、課堂研討回答出的問題占7%、綜合訓練過程中的工作態度(考勤)占5%。在期末考試的試題中,要增加創見性題目。同時,教師可以鼓勵學生發表學術論文,以學術論文替代期末考試。
增加小組設計和小組討論環節,教師團隊設定十組中等難度的綜合應用設計題目,將學生按2~3人一組進行實踐項目分組,完成設計白皮書(包括系統需求描述、功能概述、擬采取的解決方法),完成系統電路設計,繪制電路圖、PCB文件,完成硬件焊接、軟件編程并進行答辯。組員各負其責,完成各自項目中的任務,教師和學生一起進行實際項目的需求分析、設計步驟安排、實驗驗證等環節。這樣,可以使學生在學習之余提高團隊合作能力和綜合運用知識的能力。經實際操作此過程,學生反應強烈,討論和學習動力增加,分組實踐情況如圖所示。
分組實踐現場
四、結束語
本文在現代電子系統設計課程教學和本專業教學的基礎上,對本課程的教、學、練等三個方面進行設計和改進,發揮和突出本專業應用特色,并且從幾年來的實踐效果看,新的改進方法增強了學生學習的主動性和教學過程中的靈活性,提高了學生綜合能力素質和成果比例。
參考文獻:
[1]宋曉梅.現代電子系統設計教程[M].北京:北京大學出版社,2011.
關鍵詞:直接數字頻率合成器;現場可編程門陣列;Verilog HDL;Quartus Ⅱ;IP核
中圖分類號:TN77文獻標識碼:B
文章編號:1004373X(2008)2001503
Design and Simulation of DDS Based on Verilog HDL
LI Chunjian,JI Wangxi,LIU Dalun
(National Institute of Metrology,Beijing,100013,China)
Abstract:The method and steps of realization of DDS(Direct Digital Synthesizer)on Quartus II is described in detail.This paper analyzes the principle of DDS,builds up a system model,realizes DDS module based on Verilog HDL and simulates it.The IP nucleus of DDS which is built can be reframed.It is very easy to achieve frequency modulation,phase modulation and amplitude modulation with the DDS module.It has more comprehensive and nice practicality.
Keywords:direct digital synthesizer;FPGA;Verilog HDL;Quartus II;IP nucleus
直接數字頻率合成技術(Direct Digital Synthesize,DDS)是繼直接頻率合成技術和鎖相式頻率合成技術之后的第三代頻率合成技術[1]。它采用全數字技術,并從相位角度出發進行頻率合成。隨著微電子技術和數字集成電路的飛速發展,以及電子工程領域的實際需要,DDS日益顯露出優于傳統頻率合成技術的一些性能,高分辨率、極短的頻率切換時間、相位噪聲低、便于集成等,逐步成為現代頻率合成技術中的佼佼者。
目前,DDS的設計大多是應用HDL(Hardware Description Language)對其進行邏輯描述。整個設計可以很容易地實現參數改變和設計移植,給設計者帶來很大的方便。Verilog HDL就是其中一種標準化的硬件描述語言,它不僅可以進行功能描述,還可以對仿真測試矢量進行設計。Altera公司開發的QuartusⅡ設計軟件,提供了Verilog HDL的設計界面以及編譯平臺,并且該公司還集成了可供程序下載的FPGA器件CYCLONE Ⅱ系列芯片,這樣大大縮短了DDS的設計周期。
1 DDS的設計原理
DDS的原理圖如圖1所示。DDS實現頻率合成主要是通過查表的方式進行的[2]。
正弦查詢表是一個只讀存儲器(ROM),以相位為地址,存有1個或多個按0o~360o相位劃分幅值的正弦波幅度信息。相位累加器對頻率控制字進行累加運算,若需要還可以加入相位控制字,得到的結果作為正弦波查詢表的地址。正弦查詢表的輸出為數字化正弦幅度值,通過D/A轉換器轉化為近似正弦波的階梯波,再通過低通濾波器濾除高頻成分和噪聲最終得到一個純正度很高的正弦波。
1.1 建模
如圖2所示正弦波y=sin(2πx),若以f量化的量化頻率對其幅度值進行量化,一個周期可以得到M=f量化個幅度值。將這些幅度值按順序存入到ROM。相位累加器在參考時鐘的驅動下,每來1個脈沖,輸出就會增加1個步長相位增量X,輸出數據作為地址送入ROM中,讀出對應的幅度值形成相應的波形。
1.2 參數設定
DDS輸出信號頻率:
fo=fc×X/2N
其中,X為頻率累加器設定值;N為相位累加器位數;fc為參考時鐘頻率。
例如,假定基準時鐘為200 MHz,累加器的位數為32,頻率控制字X為:
0x08000000H,即為227,則:
fo=200×227/232=6.25 MHz
再設定頻率控制字X為0x80000000H,即為231,則:
fo=200×231/232=100 MHz
可見,理論上通過設定DDS相位累加器位數N、頻率控制字X和基準時鐘fc的值,就可以得到任一頻率的輸出[3]。
頻率分辨率為:fres=fc/2N,由參考時鐘和累加器的位數決定,當參考時鐘的頻率越高,相位累加器的位數越高,所得到的頻率分辨率就越高。
1.3 方案的選擇
在利用FPGA制作DDS時,相位累加器是決定DDS性能的一個關鍵部分[3]。一方面可以利用進位鏈來實現快速、高效的電路結構,同時長的進位鏈會減少其他邏輯的布線資源,限制整個系統速度的提高;另一方面可以利用流水線技術提高工作頻率,但系統頻率轉換速度會相對降低。在選擇累加器實現方案時需要綜合考慮。
正弦波查詢表ROM也是制作的重點。在FPGA中ROM 表的尺寸隨著地址位數或數據位數的增加呈指數遞增,如何在滿足性能的前提下節省資源開銷。一方面通過相位累加器的輸出截斷方式,例如從32位的相位累加器結果中提取高16位作為ROM的查詢地址,由此而產生的誤差會對頻譜純度有影響,但是對波形的精度的影響是可以忽略的;另一方面可以根據信號周期對稱性來壓縮ROM的尺寸,這時系統硬件設計復雜度會有所增加。因此,需要選取合適的參數和ROM壓縮技術,在滿足系統性能的前提下使得系統盡量優化。
2 Verilog HDL實現DDS模塊
2.1 相位累加器
module acc(aclr,clock,dataa,datab,result);
inputaclr,clock;//輸入輸出端口說明
input[31:0] dataa,datab;
output[31:0] result;
reg[31:0] result;
reg[31:0] A;
always@(posedge clock or posedge aclr)//功能實現
begin
if (aclr)
result=0;
else
begin
A=dataa+A;
result=A+datab;
end
end
endmodule
上述為相位累加器的Verilog HDL功能實現,其中數據寬度為32位。同時利用Quartus Ⅱ進行波形仿真見圖3。對應的模塊符號見圖4。
2.2 ROM正弦查詢表
根據DDS的原理,將正弦波形的量化數據存儲于波形查詢表ROM中,即可完成正弦波發生的功能[4]。Altera公司提供了LPM ROM(ROM兆函數),這里只需借助Matlab生成.mif文件,并加載到LPM ROM中即可得到所需的正弦查詢表ROM。
在Matlab中,運行下面的語句可以得到儲存正弦波數字幅度值的.mif文件。例如產生214×12 b的正弦波0~2π幅度值,語句如下:
>>x=0:1:16383;
>>y=round(1000*sin(2*pi*x/16383))+1000;
>>a=[x;y];
>>fid=fopen(′rom.mif′,′w′);
>>fprintf(fid,′%d:%d;\\n′,a);
>>fclose(fid);
由此而生成的rom.mif文件內容是正弦波0~2π數字幅度值,但是格式不符合.mif文件的格式,需要對其進行修改。.mif文件的格式如下:
WIDTH=12;
DEPTH=16384;
ADDRESS_RADIX=DEC;
DATA_RADIX=DEC;
CONTENT BEGIN
…7646:1208;…
END
這樣通過例化LPM ROM得到了正弦波查詢表ROM的模塊,地址寬度為14位,輸出數據為12位。模塊符號見圖5。
2.3 DDS頂層模塊的實現
module dds(clear,clk200,freq,phase,A,sinout);
input clear,clk200;
input [31:0] freq,phase;
output [31:0] A;
output [11:0] sinout;
reg [31:0] A;
wire[13:0] address;//內部信號的定義
assign address=A[31:18];
acc u0(.clock(clk200),.aclr(clear),.dataa(freq),
.datab(phase),.result(A));//相位累加器模塊的例化
sinromu1(.clock(clk200),.address(address),.q(sinout));
//正弦查詢表模塊例化
endmodule
上述代碼為DDS模塊的Verilog HDL頂層文件。對應的模塊圖見圖6。
若需要利用NIOS Ⅱ對其進行控制,需要并將DDS模塊加載到NIOS Ⅱ的系統中。例如,通過NIOS Ⅱ為DDS模塊的頻率控制字freq和相位控制字phase置數。此時DDS的代碼應改為:
module dds(clear,clk200,idata,iwr,iclk,addr,A,sinout);
input clear,clk200,iclk,iwr,addr;
input [31:0] idata;
output [31:0] A;
output [11:0] sinout;
reg [31:0] freq,phase,A;
wire[13:0] address;
always@(posedge iclk)
begin
if(iwr)
case(addr)
1'b0:freq=idata;
1'b1:phase=idata;
endcase
end
assign address=A[31:18];
acc u0(.clock(clk200),.aclr(clear),.dataa(freq),
.datab(phase),.result(A));
sinromu1(.clock(clk200),.address(address),.q(sinout));
endmodule
模塊的輸入端口添加了寫信號iwr、地址信號addr和與NIOS Ⅱ同步的時鐘信號iclk,這樣是為了將DDS模塊連接到Avalon總線上,利用總線和NIOS Ⅱ進行通信。
加載到NIOS Ⅱ系統之前,需要將該模塊進行仿真和調試。仿真結果如圖7所示。
至此DDS的數字部分已經完成。
對于整個模塊的驅動時鐘,若時鐘源器件的頻率不符合實際需要,需要再設計一個倍(分)頻器將其倍頻或是分頻。例如現有時鐘源為50MHz,可以使用FPGA中的PLL(鎖相環)實現4倍頻得到200 MHz。
參考文獻
[1]羅韓君,林亞風,吳伶錫.一種基于DDS技術的新型激光測距系統的設計[J].現代電子技術,2005,28(17 ):42-44.
[2]鐘蔚杰,蔣壘,劉耀應.基于VHDL編程的DDS設計\.艦船電子對抗,2007,30(2):102-105.
[3]周俊峰,陳濤.基于FPGA的直接數字頻率合成器的設計和實現\.電子技術應用,2002,28(8):34-36.
[4]李威.FPGA/DDS的諧波信號發生器的研究與設計\.南京:河海大學,2007.
[5]夏雨聞.Verilog數字系統設計教程\.北京:北京航空航天大學出版社,2003.
[6]\帕爾尼卡.Verilog HDL數字設計與綜合\.夏雨聞,譯.北京:電子工業出版社,2004.
[7]湯家華,王道德.基于FPGA設計的采用DDS 技術的任意波形發生器\.電子測量技術,2007,30(4):129-131.
[8]張春榮,張厥盛.DDS/PLL快速調頻頻率合成器研究[J].西部電子,1993(4):35-39.
[9]彭澄廉,周博,邱衛東,等.挑戰SoC[M].北京:清華大學出版社,2004.
[10]周立功.SoPC嵌入式系統基礎教程[M].北京:北京航空航天大學出版社,2005.
[11]\坂俊昭.鎖相環(PLL)電路設計與應用\.何希才,譯.北京:科學出版社,2006.