資源描述:
《niosii軟核的點陣控制設(shè)計》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。
1、SOPC課程設(shè)計報告NIOSII軟核的點陣控制設(shè)計引言當(dāng)今,數(shù)字系統(tǒng)的設(shè)計可以直接面向用戶的需求,根據(jù)系統(tǒng)功能的要求,從上到下逐層完成相應(yīng)的描述、綜合、優(yōu)化、仿真與驗證,直到生成器件。而FPGA(FieldProgrammableGateArray,現(xiàn)場可編程門鎮(zhèn)列)以設(shè)計靈活及速度快的特點,在數(shù)字專用集成電路的設(shè)計中得到了廣泛應(yīng)用。一、實驗內(nèi)容本實驗要求完成的任務(wù)是利用Nios軟核處理器為核心控制器,在軟核CPU中添加點陣控制接口并搭建對應(yīng)電路,利用軟件控制點陣的運行,在點陣的循環(huán)顯示每個組員的名字、學(xué)號等信息。二、點陣顯示原理1點陣模塊說明此設(shè)計采用4塊8*8的點陣塊組成16*1
2、6的點陣顯示模塊1.18*8點陣塊工作原理如圖1所示。8*8點陣塊工作方式:Q端加正電壓,COM端接地時發(fā)光二管點亮。例如,當(dāng)COM8接地且Q1~Q8分別接高電平時,第一行亮。同理,當(dāng)COM7接地,Q1~Q8分別接高電平時,第二行亮。依此類推。當(dāng)Q5端加高電平時,分別讓COM1~COM8接地,第一列亮。其它列依此類推。1.2 16*16點陣模塊用4塊8*8的點陣塊組成16*16的點陣模塊顯示漢字,連接關(guān)系如圖2所示。Q0~Q15成為點陣塊的行線,COM0~COM15形成點陣塊的列線。1.3行列驅(qū)動由循環(huán)計數(shù)器輸出經(jīng)放大后的驅(qū)動點陣,形成動態(tài)掃描,分別控制一列中的每個燈,當(dāng)列線發(fā)出信號
3、后,行線同時發(fā)出數(shù)據(jù),這樣就將一個漢字由左到右分成16列。在完成各列的同時,行線發(fā)出行數(shù)據(jù),一個循環(huán)就可以將一個漢字完整的重現(xiàn)在16*16的點陣模塊上。本實驗主要完成漢字字符在LED上的顯示,16*16掃描LED點陣的工作原理與8位掃描數(shù)碼管類似,只是顯示的方式與結(jié)果不一樣而已。下面就本實驗系統(tǒng)的16*16點陣的工件原理做一些簡單的說明。16*16點陣由此256個LED通過排列組合而形成16行*16列的一個矩陣式的LED陣列,俗稱16*16點陣。單個的LED的電路如下圖11-1所示:圖11-1單個LED電路圖由上圖可知,對于單個LED的電路圖當(dāng)Rn輸入一個高電平,同時Cn輸入一個低電
4、平時,電路形成一個回路,LED發(fā)光。也就是LED點陣對應(yīng)的這個點被點亮。16*16點陣也就是由16行和16列的LED組成,其中每一行的所有16個LED的Rn端并聯(lián)在一起,每一列的所有16個LED的Cn端并聯(lián)在一起。通過給Rn輸入一個高電平,也就相當(dāng)于給這一列所有LED輸入了一個高電平,這時只要某個LED的Cn端輸入一個低電平時,對應(yīng)的LED就會被點亮。具體的電路如下圖11-2所示:圖11-216*16點陣電路原理圖在點陣上顯示一定有字符是根據(jù)其字符在點陣上的顯示的點的亮滅來表示的如下圖11-3所示:圖11-3字符在點陣上的顯示在上圖中,顯示的是一個“漢”字,只要將被“漢”字所覆蓋的區(qū)
5、域的點點亮,則在點陣中就會顯示一個“漢”字。根據(jù)前面我們所介紹的點陣顯示的原理。當(dāng)我們選中第一列后,根據(jù)要顯示漢字的第一列中所需要被點亮的點對應(yīng)的Rn置為高電平,則在第一列中需要被點亮的點就會被點亮。依此類推,顯示第二列、第三列……第N列中需要被點亮的點。然后根據(jù)人眼的視覺原理,將每一列顯示的點的間隔時間設(shè)為一定的值,那么我們就會感覺顯示一個完整的不閃爍的漢字。同時也可以按照這個原理來顯示其它的漢字。下在上圖中,在系統(tǒng)時鐘的作用下,首先選取其中的一列,將數(shù)據(jù)輸入讓這列的LED顯示其數(shù)據(jù)(當(dāng)為高電平時LED發(fā)光,否則不發(fā)光)。然后選取下一列來顯示下一列的數(shù)據(jù)。當(dāng)完成一個16*16點陣的
6、數(shù)據(jù)輸入時,即列選擇計數(shù)到最后一列后,再從第一列開始輸入相同的數(shù)據(jù)。這樣只要第一次顯示第一列的數(shù)據(jù)和第二次顯示第一列的數(shù)據(jù)的時間足夠短,那么人的眼睛就會看到第一列的數(shù)據(jù)總是顯示的,而沒有停頓現(xiàn)象。同樣的道理其它列也是這樣,直到顯示下一個漢字。在實際的運用當(dāng)中,一個漢字是由多個八位的數(shù)據(jù)來構(gòu)成的,那么要顯示多個漢字的時候,這些數(shù)據(jù)可以根據(jù)一定的規(guī)則存放到存儲器中,當(dāng)要顯示這個漢字的時候只要將存儲器中對應(yīng)的數(shù)據(jù)取出顯示即可。本實驗的示例程序依次顯示的是“歡迎使用嵌入式SOC開發(fā)系統(tǒng)”。數(shù)據(jù)量不大,所以沒有放入存儲器中,而在程序中直接輸入對應(yīng)的一個16位的數(shù)據(jù)。示例程序的字庫數(shù)據(jù)的格式如下
7、圖11-5所示:圖11-5字庫格式圖11-716*16點陣顯示的電路框圖在此實驗中,16*16點陣由4個8*8點陣組成,考慮到LED電流功耗與FPGA電流功耗的關(guān)系,在實驗的電路中加入驅(qū)動電路。具體電路如下圖11-6所示。與FPGA的管腳連接如表11-1所示。圖11-616*16點陣電路圖信號名稱對應(yīng)FPGA管腳名說明DOT-C0W19點陣的第1列輸入端口DOT-C1U17點陣的第2列輸入端口DOT-C2R8點陣的第3列輸入端口DOT-C3T8點陣的第4列