嵌入式硬件技術(shù)實(shí)驗(yàn)指導(dǎo)書
《 嵌入式硬件技術(shù) 》
實(shí) 驗(yàn) 指 導(dǎo) 書
編 寫
適用專業(yè): 通信工程
閩江學(xué)院 計(jì)算機(jī)科學(xué) 系
2010年 9月
前 言
嵌入式硬件技術(shù)實(shí)驗(yàn)由驗(yàn)證性實(shí)驗(yàn)一、Quartus II軟件的使用,綜合性實(shí)驗(yàn)二、組合邏輯與時(shí)序電路綜合設(shè)計(jì),驗(yàn)證性實(shí)驗(yàn)三、Protel軟件的使用構(gòu)成,通過實(shí)驗(yàn)應(yīng)達(dá)到下列要求:
1.熟習(xí)Quartus II軟件的使用。掌握該軟件的用法,包括Verilog HDL語(yǔ)言的編程、仿真、下載等的方法,為后續(xù)的綜合實(shí)驗(yàn)打下基礎(chǔ)。
2.加深對(duì)數(shù)字系統(tǒng)中電源、組合邏輯、時(shí)序電路各部分原理的理解;熟悉各個(gè)功能部件的設(shè)計(jì)、分析與仿真;能根據(jù)要求設(shè)計(jì)一個(gè)數(shù)字系統(tǒng),并在Quartus II軟件上用Verilog HDL語(yǔ)言進(jìn)行編程設(shè)計(jì)、仿真實(shí)現(xiàn)、最后下載到CPLD或FPGA開發(fā)板上運(yùn)行。
3.熟習(xí)Protel軟件的使用。掌握該軟件的用法,包括模擬和數(shù)字系統(tǒng)硬件原理圖的繪制、仿真分析、PCB板的設(shè)計(jì)與制作等。
4.由于這門課程的實(shí)驗(yàn)需要大量的時(shí)間練習(xí),但受實(shí)驗(yàn)課時(shí)的限制需要學(xué)生課外補(bǔ)足(12到20學(xué)時(shí)),因此要求學(xué)生在實(shí)驗(yàn)前先預(yù)習(xí)實(shí)驗(yàn)內(nèi)容并根據(jù)實(shí)驗(yàn)大綱的說明先期做好實(shí)驗(yàn)的準(zhǔn)備(如系統(tǒng)設(shè)計(jì)電路草圖、Verilog HDL語(yǔ)言程序等)。
本指導(dǎo)書對(duì)綜合性實(shí)驗(yàn)只給出設(shè)計(jì)的要求和指標(biāo)不給實(shí)驗(yàn)源代碼,由學(xué)生自己設(shè)計(jì)、編譯、調(diào)試并運(yùn)行;通過實(shí)驗(yàn)結(jié)果理解數(shù)字系統(tǒng)硬件的組成、原理與實(shí)現(xiàn)方法;在實(shí)驗(yàn)報(bào)告中回答思考題。
目 錄
實(shí)驗(yàn)一 Quartus II軟件的使用 3
實(shí)驗(yàn)二 組合邏輯與時(shí)序電路綜合設(shè)計(jì) 7
實(shí)驗(yàn)三 Protel軟件的使用 9
實(shí)驗(yàn)一 Quartus II軟件的使用
實(shí)驗(yàn)學(xué)時(shí):2
實(shí)驗(yàn)類型:驗(yàn)證
實(shí)驗(yàn)要求:必修
一、實(shí)驗(yàn)?zāi)康?
1、掌握Quartus II軟件的用法。
2、熟悉Verilog HDL語(yǔ)言的語(yǔ)法。
3、練習(xí)Verilog HDL語(yǔ)言的編程。
4、學(xué)會(huì)仿真、管腳約束、下載的方法。
二、實(shí)驗(yàn)內(nèi)容
1、熟悉并使用Quartus II軟件
2、閱讀并編譯實(shí)驗(yàn)例程
用Quartus II編譯實(shí)驗(yàn)例程。
3、下載或仿真運(yùn)行程序并對(duì)照實(shí)驗(yàn)源程序閱讀理解實(shí)驗(yàn)結(jié)果的含義。
三、實(shí)驗(yàn)原理、方法和手段
根據(jù)實(shí)驗(yàn)例程,編輯并仿真運(yùn)行數(shù)字系統(tǒng)中的組合邏輯:加法器、比較器、三態(tài)驅(qū)動(dòng)器;時(shí)序電路:4位計(jì)數(shù)器、4 選1 數(shù)據(jù)選擇器、簡(jiǎn)單算術(shù)邏輯單元。了解通過硬件描述語(yǔ)言的編程實(shí)現(xiàn)單元硬件的功能。通過仿真過程中顯示的狀態(tài)和有關(guān)輸出情況學(xué)習(xí)組合邏輯與時(shí)序電路的原理和實(shí)現(xiàn)方法。
四、實(shí)驗(yàn)組織運(yùn)行要求
根據(jù)本實(shí)驗(yàn)的特點(diǎn)、要求和具體條件,采用以學(xué)生自主訓(xùn)練為主的開放模式組織教學(xué)。
重點(diǎn):用Verilog HDL語(yǔ)言實(shí)現(xiàn)組合邏輯與時(shí)序電路。
難點(diǎn):用Verilog HDL語(yǔ)言實(shí)現(xiàn)時(shí)序電路。
五、實(shí)驗(yàn)條件
具備Windows操作系統(tǒng)、帶有Quartus II軟件的PC機(jī)。
六、實(shí)驗(yàn)步驟
1、閱讀例程源代碼
2、編譯、運(yùn)行
3、記錄并理解運(yùn)行顯示的信息
4、回答思考題并撰寫實(shí)驗(yàn)報(bào)告
七、思考題
1、 簡(jiǎn)單介紹一下串行語(yǔ)句和并行語(yǔ)句的概念。
2、 Verilog HDL語(yǔ)言有哪幾種主要的數(shù)據(jù)類型?可否說明它的簡(jiǎn)單用法?。
3、 數(shù)字電路設(shè)計(jì)有那幾種層次,可否分別舉個(gè)例子?
4、 當(dāng)前兩種硬件描述語(yǔ)言是什么?
5、 假設(shè)一D觸發(fā)器組的器件 Reg8,輸入信號(hào) Din,輸出信號(hào)Qout,位寬8位,時(shí)鐘信號(hào)Clk,異步復(fù)位信號(hào)Rst,用于實(shí)現(xiàn)對(duì)8位數(shù)據(jù)總線的寄存,請(qǐng)描述出module 語(yǔ)句,并畫出電路的示意圖。
6、 在實(shí)驗(yàn)報(bào)告中完成問題 1、2、3、4、5的說明。
八、實(shí)驗(yàn)報(bào)告
1、實(shí)驗(yàn)預(yù)習(xí)
在實(shí)驗(yàn)前每位同學(xué)都需要對(duì)本次實(shí)驗(yàn)進(jìn)行認(rèn)真的預(yù)習(xí),并寫好預(yù)習(xí)報(bào)告,在預(yù)習(xí)報(bào)告中要寫出實(shí)驗(yàn)?zāi)康?、要求,需要用到的儀器設(shè)備、物品資料以及簡(jiǎn)要的實(shí)驗(yàn)步驟,形成一個(gè)操作提綱。對(duì)實(shí)驗(yàn)中的安全注意事項(xiàng)及可能出現(xiàn)的現(xiàn)象等做到心中有數(shù),但這些不要求寫在預(yù)習(xí)報(bào)告中。
設(shè)計(jì)性實(shí)驗(yàn)要求進(jìn)入實(shí)驗(yàn)室前寫出實(shí)驗(yàn)方案,并經(jīng)指導(dǎo)教師審閱后實(shí)施。
2、實(shí)驗(yàn)記錄
學(xué)生開始實(shí)驗(yàn)時(shí),應(yīng)該將記錄本放在近旁,將實(shí)驗(yàn)中所做的每一步操作、觀察到的現(xiàn)象和所測(cè)得的數(shù)據(jù)及相關(guān)條件如實(shí)地記錄下來。
實(shí)驗(yàn)記錄中應(yīng)有指導(dǎo)教師的簽名。
3、實(shí)驗(yàn)報(bào)告
主要內(nèi)容包括對(duì)實(shí)驗(yàn)數(shù)據(jù)、實(shí)驗(yàn)中的特殊現(xiàn)象、實(shí)驗(yàn)操作的成敗、實(shí)驗(yàn)的關(guān)鍵點(diǎn)等內(nèi)容進(jìn)行整理、解釋、分析總結(jié),回答思考題,提出實(shí)驗(yàn)結(jié)論或提出自己的看法。
九、實(shí)驗(yàn)例程
示例[1] 加法器
module addr (a, b, cin, count, sum);
input [2:0] a;
input [2:0] b;
input cin;
output count;
output [2:0] sum;
assign {count,sum} = a +b + cin;
endmodule
示例[2] 比較器
module compare (equal,a,b);
input [1:0] a,b; // declare the input signal ;
output equare ; // declare the output signal;
assign equare = (a == b) ? 1:0 ;
/ * if a = b , output 1, otherwise 0;*/
endmodule
示例[3] 三態(tài)驅(qū)動(dòng)器
module mytri (din, d_en, d_out);
input din;
input d_en;
output d_out;
// -- Enter your statements here -- //
assign d_out = d_en ? din :'bz;
endmodule
module trist (din, d_en, d_out);
input din;
input d_en;
output d_out;
// -- statements here -- //
mytri u_mytri(din,d_en,d_out);
endmodule
該例描述了一個(gè)三態(tài)驅(qū)動(dòng)器。其中三態(tài)驅(qū)動(dòng)門在模塊 mytri 中描述,而在模塊trist 中調(diào)用了模塊mytri 。模塊mytri 對(duì)trist 而言相當(dāng)于一個(gè)已存在的器件,在trist 模塊中對(duì)該器件進(jìn)行實(shí)例化,實(shí)例化名 u_mytri 。
示例[4] 4位計(jì)數(shù)器
module count4(out,reset,clk);
output[3:0] out;
input reset,clk;
reg[3:0] out;
always @(posedge clk)
begin
if (reset) out<=0; //同步復(fù)位
else out<=out+1; //計(jì)數(shù)
end
endmodule
示例[5] 用case 語(yǔ)句描述的4 選1 數(shù)據(jù)選擇器
module mux4_1(out,in0,in1,in2,in3,sel);
output out;
input in0,in1,in2,in3;
input[1:0] sel;
reg out;
always @(in0 or in1 or in2 or in3 or sel) //敏感信號(hào)列表
case(sel)
2'b00: out=in0;
2'b01: out=in1;
2'b10: out=in2;
2'b11: out=in3;
default: out=2'bx;
endcase
endmodule
示例[6] 用always 過程語(yǔ)句描述的簡(jiǎn)單算術(shù)邏輯單元
`define add 3'd0
`define minus 3'd1
`define band 3'd2
`define bor 3'd3
`define bnot 3'd4
module alu(out,opcode,a,b);
output[7:0] out;
reg[7:0] out;
input[2:0] opcode; //操作碼
input[7:0] a,b; //操作數(shù)
always@(opcode or a or b) //電平敏感的always 塊
begin
case(opcode)
`add: out = a+b; //加操作
`minus: out = a-b; //減操作
`band: out = a&b; //求與
`bor: out = a|b; //求或
`bnot: out=~a; //求反
default: out=8'hx; //未收到指令時(shí),輸出任意態(tài)
endcase
end
endmodule
實(shí)驗(yàn)二 組合邏輯與時(shí)序電路綜合設(shè)計(jì)
實(shí)驗(yàn)學(xué)時(shí):6
實(shí)驗(yàn)類型:綜合
實(shí)驗(yàn)要求:必修
一、實(shí)驗(yàn)?zāi)康?
1、進(jìn)一步加深對(duì)Quartus II軟件的使用。
2、進(jìn)一步熟悉用Verilog HDL語(yǔ)言進(jìn)行編程設(shè)計(jì)。
3、練習(xí)綜合應(yīng)用一個(gè)小型的數(shù)字系統(tǒng)。
二、實(shí)驗(yàn)內(nèi)容
1、根據(jù)要求實(shí)現(xiàn)一個(gè)簡(jiǎn)單的交通燈控制器
要求:
A、每個(gè)方向四盞燈(左拐燈、綠燈、黃燈和紅燈)可以控制其亮滅;
B、用兩個(gè)LED數(shù)碼管顯示每個(gè)方向燈的倒計(jì)時(shí)顯示時(shí)間(左拐燈、綠燈25秒,黃燈6秒,紅燈20秒)。
C、設(shè)置按鍵實(shí)現(xiàn)倒計(jì)時(shí)時(shí)間可調(diào)。
2、根據(jù)要求實(shí)現(xiàn)一個(gè)多功能數(shù)字鐘
要求:
A、 計(jì)時(shí)功能,顯示分、秒(各倆位)。
B、 系統(tǒng)時(shí)鐘為11.05926MHz。
C、 鬧鐘功能,產(chǎn)生鬧鈴音、報(bào)時(shí)音的時(shí)鐘信號(hào)其頻率為 1024Hz
D、手動(dòng)校時(shí)功能。
3、自己設(shè)計(jì)、編譯、調(diào)試、仿真運(yùn)行程序并理解實(shí)驗(yàn)中輸入、輸出的含義。
三、實(shí)驗(yàn)原理、方法和手段
交通燈需要一個(gè)計(jì)時(shí)單元用于產(chǎn)生標(biāo)準(zhǔn)的秒脈沖,并對(duì)設(shè)定的時(shí)間進(jìn)行計(jì)數(shù)。交通燈實(shí)驗(yàn)的核心是控制部分,即要求左拐燈和綠燈亮25秒,接著黃燈亮6秒,最后紅燈亮20秒;當(dāng)紅燈滅后綠燈點(diǎn)亮,這樣周而復(fù)始。LED燈采用動(dòng)態(tài)顯示。
多功能數(shù)字鐘由秒脈沖發(fā)生電路、計(jì)數(shù)定時(shí)部分、數(shù)字顯示部分和時(shí)鐘調(diào)校部分組成。通過對(duì)系統(tǒng)時(shí)鐘進(jìn)行分頻得到1Hz的秒脈沖;LED燈采用動(dòng)態(tài)顯示;調(diào)教部分可設(shè)置多個(gè)按鍵,例如K1、K2、K3分別用于控制計(jì)時(shí)開始、調(diào)校功能選擇、加1或減1調(diào)整等。
四、實(shí)驗(yàn)組織運(yùn)行要求
根據(jù)本實(shí)驗(yàn)的特點(diǎn)、要求和具體條件,采用以學(xué)生自主訓(xùn)練為主的開放模式組織教學(xué)。
重點(diǎn):設(shè)計(jì)計(jì)時(shí)單元產(chǎn)生標(biāo)準(zhǔn)的秒脈沖、LED的動(dòng)態(tài)顯示。
難點(diǎn):按鍵的設(shè)計(jì)。
五、實(shí)驗(yàn)條件
具備Windows操作系統(tǒng)、帶有Quartus II軟件的PC機(jī)、DP-MCU/Atera綜合仿真試驗(yàn)儀。
六、實(shí)驗(yàn)步驟
1、閱讀每個(gè)問題的要求。
2、設(shè)計(jì)程序并編譯、下載或仿真運(yùn)行。
3、記錄并理解運(yùn)行顯示的信息
4、回答思考題并撰寫實(shí)驗(yàn)報(bào)告
七、思考題
1、比較LED的靜態(tài)顯示與動(dòng)態(tài)顯示。
2、總結(jié)計(jì)數(shù)器的實(shí)現(xiàn)方法。
3、總結(jié)分頻的公式。
4、說明按鍵設(shè)計(jì)的方法。
5、在實(shí)驗(yàn)報(bào)告中完成問題 1、2、3、4的討論與說明。
八、實(shí)驗(yàn)報(bào)告
1、實(shí)驗(yàn)預(yù)習(xí)
在實(shí)驗(yàn)前每位同學(xué)都需要對(duì)本次實(shí)驗(yàn)進(jìn)行認(rèn)真的預(yù)習(xí),并寫好預(yù)習(xí)報(bào)告,在預(yù)習(xí)報(bào)告中要寫出實(shí)驗(yàn)?zāi)康摹⒁?,需要用到的儀器設(shè)備、物品資料以及簡(jiǎn)要的實(shí)驗(yàn)步驟,形成一個(gè)操作提綱。對(duì)實(shí)驗(yàn)中的安全注意事項(xiàng)及可能出現(xiàn)的現(xiàn)象等做到心中有數(shù),但這些不要求寫在預(yù)習(xí)報(bào)告中。
設(shè)計(jì)性實(shí)驗(yàn)要求進(jìn)入實(shí)驗(yàn)室前寫出實(shí)驗(yàn)方案,并經(jīng)指導(dǎo)教師審閱后實(shí)施。
2、實(shí)驗(yàn)記錄
學(xué)生開始實(shí)驗(yàn)時(shí),應(yīng)該將記錄本放在近旁,將實(shí)驗(yàn)中所做的每一步操作、觀察到的現(xiàn)象和所測(cè)得的數(shù)據(jù)及相關(guān)條件如實(shí)地記錄下來。
實(shí)驗(yàn)記錄中應(yīng)有指導(dǎo)教師的簽名。
3、實(shí)驗(yàn)報(bào)告
主要內(nèi)容包括對(duì)實(shí)驗(yàn)數(shù)據(jù)、實(shí)驗(yàn)中的特殊現(xiàn)象、實(shí)驗(yàn)操作的成敗、實(shí)驗(yàn)的關(guān)鍵點(diǎn)等內(nèi)容進(jìn)行整理、解釋、分析總結(jié),回答思考題,提出實(shí)驗(yàn)結(jié)論或提出自己的看法。
實(shí)驗(yàn)三 Protel軟件的使用
實(shí)驗(yàn)學(xué)時(shí):4
實(shí)驗(yàn)類型:驗(yàn)證
實(shí)驗(yàn)要求:必修
一、實(shí)驗(yàn)?zāi)康?
1、掌握Protel軟件的用法。
2、熟悉硬件電路原理圖的繪制。
3、熟悉PCB圖的產(chǎn)生與手工繪制。
4、掌握電路的仿真。
二、實(shí)驗(yàn)內(nèi)容
1、自己查找實(shí)驗(yàn)電路
建議:用電源、單片機(jī)及接口電路。
2、繪制例程電路
用Protel軟件繪制實(shí)驗(yàn)電路。
3、產(chǎn)生PCB圖,根據(jù)排版原則,檢查是否需要手工修改。
4、仿真原理電路。
三、實(shí)驗(yàn)原理、方法和手段
根據(jù)實(shí)驗(yàn)例程電路,繪制電路圖并仿真運(yùn)行以檢查其功能和指標(biāo)是否能夠?qū)崿F(xiàn)。通過仿真過程中顯示的狀態(tài)和有關(guān)輸出情況學(xué)習(xí)具體電路的原理和實(shí)現(xiàn)方法。
四、實(shí)驗(yàn)組織運(yùn)行要求
根據(jù)本實(shí)驗(yàn)的特點(diǎn)、要求和具體條件,采用以學(xué)生自主訓(xùn)練為主的開放模式組織教學(xué)。
重點(diǎn):掌握用Protel軟件繪制實(shí)驗(yàn)電路、產(chǎn)生PCB圖,根據(jù)排版原則,檢查是否需要手工修改。
難點(diǎn):實(shí)驗(yàn)電路的仿真。
五、實(shí)驗(yàn)條件
具備Windows操作系統(tǒng)、帶有Protel軟件的PC機(jī)。
六、實(shí)驗(yàn)步驟
1、理解實(shí)驗(yàn)電路
2、繪制原理圖并仿真其功能。
3、記錄并理解仿真中顯示的信息
4、回答思考題并撰寫實(shí)驗(yàn)報(bào)告
七、思考題
1、總結(jié)電路圖繪制的技巧。
2、說明產(chǎn)生PCB圖的方法。
3、總結(jié)電路布線的原則。
4、描述仿真中出現(xiàn)的問題及解決的方法。
5、在實(shí)驗(yàn)報(bào)告中完成問題 1、2、3、4的討論說明。
八、實(shí)驗(yàn)報(bào)告
1、實(shí)驗(yàn)預(yù)習(xí)
在實(shí)驗(yàn)前每位同學(xué)都需要對(duì)本次實(shí)驗(yàn)進(jìn)行認(rèn)真的預(yù)習(xí),并寫好預(yù)習(xí)報(bào)告,在預(yù)習(xí)報(bào)告中要寫出實(shí)驗(yàn)?zāi)康?、要求,需要用到的儀器設(shè)備、物品資料以及簡(jiǎn)要的實(shí)驗(yàn)步驟,形成一個(gè)操作提綱。對(duì)實(shí)驗(yàn)中的安全注意事項(xiàng)及可能出現(xiàn)的現(xiàn)象等做到心中有數(shù),但這些不要求寫在預(yù)習(xí)報(bào)告中。
設(shè)計(jì)性實(shí)驗(yàn)要求進(jìn)入實(shí)驗(yàn)室前寫出實(shí)驗(yàn)方案,并經(jīng)指導(dǎo)教師審閱后實(shí)施。
2、實(shí)驗(yàn)記錄
學(xué)生開始實(shí)驗(yàn)時(shí),應(yīng)該將記錄本放在近旁,將實(shí)驗(yàn)中所做的每一步操作、觀察到的現(xiàn)象和所測(cè)得的數(shù)據(jù)及相關(guān)條件如實(shí)地記錄下來。
實(shí)驗(yàn)記錄中應(yīng)有指導(dǎo)教師的簽名。
3、實(shí)驗(yàn)報(bào)告
主要內(nèi)容包括對(duì)實(shí)驗(yàn)數(shù)據(jù)、實(shí)驗(yàn)中的特殊現(xiàn)象、實(shí)驗(yàn)操作的成敗、實(shí)驗(yàn)的關(guān)鍵點(diǎn)等內(nèi)容進(jìn)行整理、解釋、分析總結(jié),回答思考題,提出實(shí)驗(yàn)結(jié)論或提出自己的看法。
九、實(shí)驗(yàn)電路
根據(jù)所學(xué)過的課程在教材或互聯(lián)網(wǎng)上按大綱的建議查找實(shí)驗(yàn)電路。
12