<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 用FPGA實(shí)現(xiàn)Nios II嵌入式系統(tǒng)配置技術(shù)

          用FPGA實(shí)現(xiàn)Nios II嵌入式系統(tǒng)配置技術(shù)

          作者: 時(shí)間:2012-04-03 來(lái)源:網(wǎng)絡(luò) 收藏

            控制器上的5個(gè)I/O端口連接上述5個(gè)信號(hào)線。其中連接nCONFIG、DCLK、DATA端口設(shè)置成輸出態(tài),nSTATUS、CONF_DONE端口設(shè)置成輸入態(tài)。當(dāng)控制器開(kāi)始與通信時(shí),控制器首先在nCONFIG上送出一個(gè)大于8 um的負(fù)脈沖,并且檢測(cè)nSTATUS 上的信號(hào)。當(dāng) 接收到nCONFIG上的下降沿時(shí),迅速將nSTATUS和CONF_DONE拉低,并且保持低電平信號(hào)一直到nCONFIG抬高電平。當(dāng)nCONFIG上抬高電平后過(guò)1 um,nSTATUS也將電平抬高,配置控制器檢測(cè)到nSTATUS上的變化后認(rèn)為 已經(jīng)做好了接收數(shù)據(jù)的準(zhǔn)備。下一步配置控制器將產(chǎn)生配置時(shí)鐘脈沖,配置時(shí)鐘的第一個(gè)上升沿至少要比nSTATUS上升沿晚1 um。又由于配置數(shù)據(jù)和配置時(shí)鐘上升沿同步,所以在配置時(shí)鐘上升沿發(fā)生之前,數(shù)據(jù)線必須已經(jīng)有了配置數(shù)據(jù)信號(hào)。配置數(shù)據(jù)是按照低位在前高位在后的順序把數(shù)據(jù)送上數(shù)據(jù)線。當(dāng)所有數(shù)據(jù)都傳輸完畢后,CONF_DONE線上電平被抬高以示配置完畢。如果傳輸中出現(xiàn)了異常,F(xiàn)PGA迫使nSTATUS拉低電平,配置控制器一旦檢測(cè)到了這種現(xiàn)象將重新開(kāi)始配置。由于配置文件中已經(jīng)包含了FPGA初始化的一些代碼,所以傳輸完配置文件后,F(xiàn)PGA就可以正常工作了。

            3.2 基于CPLD配置控制器的配置電路設(shè)計(jì)

            CPLD是一種用戶根據(jù)各自需要而自行構(gòu)造邏輯功能的數(shù)字集成電路。其基本設(shè)計(jì)方法是借助Quartus 開(kāi)發(fā)軟件平臺(tái),通過(guò)JTAG下載電纜將代碼傳送到目標(biāo)芯片中,配置所需的時(shí)序要求和功能需求。而更重要的是CPLD配置控制器可以進(jìn)行上萬(wàn)次的燒寫(xiě)操作。

            中FPGA 的PS方式配置方式電路設(shè)計(jì)如圖3所示。FPGA和FLASH、SSRAM組成了一個(gè)最基本的,其中將 軟核處理器嵌入到FPGA中。FLASH 作為程序的存儲(chǔ)器,其中存儲(chǔ)著系統(tǒng)的整個(gè)軟件應(yīng)用程序和配置文件。SSAM作為系統(tǒng)程序運(yùn)行空間,可以有效地解決配置控制器自身SRAM容量小的問(wèn)題。

          PS方式配置方式電路設(shè)計(jì)

          圖3 PS方式配置方式電路設(shè)計(jì)

            在圖3所示的設(shè)計(jì)中,MSEL0和MSEL1是配置專用線,如果MSEL0接高電平(VCC),MSEL1接地(GND),則此時(shí)的配置模式為PS模式; 如果MSELO 和MSEL1都接地(GND),則配置模式為AS模式。CPLD控制器的控制信號(hào)MAX_control_signal主要包括flash_CS_n (片選)、flash_OE_n (輸出使能)、flash_RW_n (讀寫(xiě)使能)、flash_RESET_n(重置)、flash_BYTE_n (字節(jié)傳輸)等信號(hào)線。

            配置文件通過(guò)Altera的Quartus 軟件以.pof(Programmer Object Files)文件格式下載到EPM7256配置控制器內(nèi),如果配置有錯(cuò)誤,該配置控制器可以進(jìn)行多次下載,直至最終完成配置功能。

            FLASH中存儲(chǔ)的程序包括系統(tǒng)配置程序文件、軟件程序,其格式為.flash。系統(tǒng)加電后,配置控制器從FLASH 的0地址開(kāi)始將配置文件進(jìn)行并/串轉(zhuǎn)換后(即將圖3中的flash_DATA[7..0]轉(zhuǎn)換為DATA0)加載到FPGA中,完成系統(tǒng)加電時(shí)的自動(dòng)配置功能;同時(shí) II處理器將FLASH 中的應(yīng)用程序移至到SSRAM 中運(yùn)行,從而系統(tǒng)的初運(yùn)行。通過(guò) II IDE工具可以將配置文件FPGA 的.sof文件格式轉(zhuǎn)換為Flash存儲(chǔ)器所需要的. flash文件格式。

            4 配置文件的設(shè)計(jì)與

            為了確保配置過(guò)程的正確,提高系統(tǒng)的配置性能,在配置文件設(shè)計(jì)時(shí)應(yīng)嚴(yán)格按照FPGA的Ps配置流程進(jìn)行,并在配置過(guò)程中始終監(jiān)控配置工作狀態(tài),在完善的配置程序配合下可以糾正如上電次序?qū)е屡渲貌徽5儒e(cuò)誤。該配置程序是采用VHDL語(yǔ)言編寫(xiě)的,編寫(xiě)完成后,將配置文通過(guò)JTAG接口下載到EPM7256配置控制器內(nèi),根據(jù)圖2的PS配置時(shí)序,其配置流程如下:

            (1)配置信號(hào)的初始化:DATAO=0,DCLK=0,nCONFIG=0,CONF_DONE=1和nSTATUS=1,并保持2 us以上。

            (2)檢測(cè)nSTATUS,如果為“0”,表明FPGA 已響應(yīng)配置,可開(kāi)始進(jìn)行配置,否則報(bào)錯(cuò),并返回1。正常情況下,nCONFIG=0后1 us內(nèi)nSTATUS為“0”。

            (3)置nCONFIG=1,并延時(shí)5 us。

            (4)DATAO上放置數(shù)據(jù)(低位在前),DCLK=1,延時(shí)。

            (5)DCLK=0,并檢測(cè)nSTATUS,若為“0”,則報(bào)錯(cuò),重返1。

            (6)準(zhǔn)備下一位數(shù)據(jù),并重新執(zhí)行(4)、(5),直到數(shù)據(jù)發(fā)送完為止。

            (7)此時(shí)CONF_DONE應(yīng)變成“1”,表明FPGA已完成配置,如果數(shù)據(jù)發(fā)送完后,CONF_DONE為“0”,必須重新配置返回1。

            (8)配置完成后,再送出299個(gè)周期(Cyclone要求的)的DCLK,以便FPGA完成初始化。

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

            本文介紹了通過(guò)用CPLD 的MAX7000 系列配置控制器EPM7256和Flash實(shí)現(xiàn)Cyclone系列的EP1C6Q240C8 FPGA配置文件下載更新的方法。與傳統(tǒng)的JTAG或PROM 串行下載配置方法相比,此方法具有更新配置文件靈活方便、易于操作、更加有利于系統(tǒng)配置文件的升級(jí)等特點(diǎn)。與常用的串行配置方法相比,該配置方法更具有配置時(shí)間短,準(zhǔn)確率高、易于實(shí)現(xiàn)等優(yōu)點(diǎn)。雖然該配置控制電路是為配置Altera公司cyclone系列的FPGA器件而設(shè)計(jì)的,但稍加修改也適用于其它系列的。FPGA器件,故其有一定的通用性,采用此方法特別適用于需要不斷更新的系統(tǒng)設(shè)計(jì)中,具有較為廣闊的應(yīng)用前景。

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

          上一頁(yè) 1 2 下一頁(yè)

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();