• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于Nios II的數(shù)字鬧鐘的設(shè)計(jì)實(shí)現(xiàn)

    2014-04-29 00:00:00朱嫻

    摘 要:SOPC(片上可編程系統(tǒng))技術(shù)是將FPGA技術(shù)和嵌入式技術(shù)結(jié)合在了一起,它的定制性強(qiáng)、易于裁剪和移植,使得這種設(shè)計(jì)方法成為未來(lái)電子設(shè)計(jì)的一個(gè)重要的發(fā)展方向。本文基于FPGA平臺(tái),定制Nios II軟核處理器,驅(qū)動(dòng)DS1302實(shí)時(shí)時(shí)鐘芯片,實(shí)現(xiàn)了數(shù)字鬧鐘的功能。

    關(guān)鍵詞:SOPC;Nios II;DS1302

    中圖分類號(hào):TP334.7

    SOPC(片上可編程系統(tǒng))是在SoC(片上系統(tǒng))技術(shù)上發(fā)展起來(lái)的,它至少包含一個(gè)嵌入式的處理器內(nèi)核。這些內(nèi)核可以使硬核、固核和軟核,應(yīng)用場(chǎng)景和范圍都各不相同。[1]本設(shè)計(jì)采用的是Nios II軟核處理器,這是Altera公司基于其高速FPGA芯片開(kāi)發(fā)的一款開(kāi)源的處理器內(nèi)核,主頻根據(jù)FPGA芯片的不同有所區(qū)別,一般對(duì)于Cyclone II芯片EP2C208C8,可以穩(wěn)定的運(yùn)行在100MHz,性能可以滿足基本的要求。

    Nios II只是一個(gè)處理器內(nèi)核,需要添加一些外設(shè)的IP核,才能構(gòu)成Nios CPU。本文在EP2C208C8系列FPGA上,定制了基于Nios II的軟核CPU,進(jìn)而驅(qū)動(dòng)DS1302實(shí)時(shí)時(shí)鐘芯片,實(shí)時(shí)采集時(shí)鐘數(shù)據(jù),顯示在LCD12864顯示屏上;驅(qū)動(dòng)了外部的按鍵,實(shí)現(xiàn)鬧鐘的設(shè)定功能;驅(qū)動(dòng)了蜂鳴器,實(shí)現(xiàn)了定時(shí)鬧鈴的功能。

    1 系統(tǒng)的硬件部分設(shè)計(jì)

    1.1 Nios II軟核處理器的定制

    Altera公司在以往的Quartus版本中提供了SOPC Builder設(shè)計(jì)工具,用以定制CPU,而今的版本中,已經(jīng)使用Qsys替代了SOPC Builder,設(shè)計(jì)的方法類似。本設(shè)計(jì)中仍然采用了SOPC Builder設(shè)計(jì)工具。如圖1所示,為Nios II軟核CPU的定制,其中包括了Nios II 處理器內(nèi)核、SDRAM控制器、EPCS串行Flash控制器、Jtag Uart調(diào)試接口、實(shí)時(shí)時(shí)鐘IO接口、LCD接口、蜂鳴器、按鍵接口等。其中需要注意的是要將Nios II的復(fù)位指針設(shè)成EPCS,異常指針設(shè)置成SDRAM。自動(dòng)分配基地址,自動(dòng)分配中斷號(hào),經(jīng)過(guò)Generate之后,就會(huì)產(chǎn)生Nios II CPU的模塊,將模塊添加到電路圖中,就完成了軟核處理器的定制工作。

    圖1 Nios II軟核CPU的定制

    1.2 鎖相環(huán)PLL配置

    在電路圖中添加鎖相環(huán)PLL的IP核。我們需要輸出兩路時(shí)鐘,一路時(shí)鐘是100MHz,提供給CPU,另外一路也是100MHz,相位是-72度,提供給SDRAM。由于我們開(kāi)發(fā)板上提供的晶振只有20MHz,所以我們需要設(shè)置PLL模塊,進(jìn)行5倍的倍頻,一路設(shè)置-72度的相位差。

    1.3 配置工程

    在Quartus工程中,我們需要設(shè)置電路圖中每個(gè)引腳對(duì)應(yīng)的具體FPGA管腳。在這里我們使用.tcl腳本文件,事先寫好管腳的名稱和實(shí)際管腳號(hào)的對(duì)應(yīng)關(guān)系,直接運(yùn)行.tcl腳本,這樣不容易出錯(cuò)。另外我們還要設(shè)置不使用的管腳為As input tri-stated,保證這些管腳不會(huì)對(duì)我們的設(shè)計(jì)造成影響。具體設(shè)計(jì)的電路圖如圖2所示。編譯工程,就完成了硬件部分的設(shè)計(jì)。

    圖2 電路設(shè)計(jì)圖

    2 系統(tǒng)的軟件部分設(shè)計(jì)

    軟件部分的設(shè)計(jì),我們?cè)贜ios II IDE下進(jìn)行。這是基于Eclipse的Nios II專用的軟件設(shè)計(jì)IDE工具。軟件部分的流程圖如圖3所示。

    圖3 軟件流程圖

    2.1 LCD12864驅(qū)動(dòng)設(shè)計(jì)

    本系統(tǒng)中使用的LCD是128*64的COG液晶,將驅(qū)動(dòng)IC集成到了LCM上,省去了PCB底板,節(jié)省了空間。LCD使用的驅(qū)動(dòng)芯片是ST7565P,支持三種接口方式。本系統(tǒng)采用的是串行接口方式,只需要四根線LCD_CS(片選)、LCD_A0(地址)、LCD_SCL(時(shí)鐘)、LCD_SI(數(shù)據(jù)),就可以完成驅(qū)動(dòng),節(jié)省了IO資源。由于此LCD不帶中文字庫(kù),在設(shè)計(jì)中還要添加字庫(kù)文件支持。

    2.2 DS1302驅(qū)動(dòng)的設(shè)計(jì)

    DS1302是一款常見(jiàn)的實(shí)時(shí)時(shí)鐘芯片,是由DALLAS 公司推出的涓流充電實(shí)時(shí)時(shí)鐘芯片,內(nèi)含一個(gè)實(shí)時(shí)時(shí)鐘/日歷和31字節(jié)靜態(tài) RAM,僅需要三根線:RES(復(fù)位)、I/O(數(shù)據(jù)線)、SCLK(串行時(shí)鐘)就可以驅(qū)動(dòng)。

    2.3 按鍵和蜂鳴器驅(qū)動(dòng)

    按鍵的驅(qū)動(dòng),主要是時(shí)鐘定時(shí)的設(shè)定選擇。本設(shè)計(jì)中需要注意的部分就是按鍵的防抖,否則會(huì)造成設(shè)置錯(cuò)誤。在設(shè)置鬧鐘的程序中,還添加了光標(biāo)的移動(dòng),這樣可以實(shí)時(shí)的顯示當(dāng)前正在調(diào)節(jié)的數(shù)位。蜂鳴器主要是實(shí)現(xiàn)鬧鈴的功能,在設(shè)計(jì)中主要要設(shè)置IO口的初始化的數(shù)值,否則上電之后,蜂鳴器會(huì)一直鳴響。

    3 結(jié)束語(yǔ)

    本設(shè)計(jì)是SOPC設(shè)計(jì)方法的在生活中的應(yīng)用,體現(xiàn)了FPGA和嵌入式技術(shù)的結(jié)合,體現(xiàn)了未來(lái)電子設(shè)計(jì)的發(fā)展方向,具有重要的實(shí)際意義。

    參考文獻(xiàn):

    [1]李蘭英, Nios II嵌入式軟核SOPC設(shè)計(jì)原理及應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2006.

    作者簡(jiǎn)介:朱嫻(1984-),女,江蘇南京人,學(xué)院實(shí)驗(yàn)中心教師,講師,南京大學(xué)電子與通信工程碩士,研究方向:實(shí)驗(yàn)教學(xué)、電子與通信。

    作者單位:南京航空航天大學(xué)金城學(xué)院,南京 211156

    天全县| 宁波市| 额济纳旗| 宝兴县| 年辖:市辖区| 迁西县| 札达县| 尉犁县| 明星| 宁强县| 林周县| 大英县| 荣成市| 乐东| 通城县| 汾阳市| 洛川县| 双城市| 巩义市| 类乌齐县| 无棣县| 南溪县| 芒康县| 呼图壁县| 博野县| 兰西县| 赣州市| 临武县| 石狮市| 乐安县| 晋城| 宾川县| 汉川市| 福清市| 云林县| 南汇区| 建始县| 民乐县| 大洼县| 德庆县| 文昌市|