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

          新聞中心

          EEPW首頁 > EDA/PCB > 設(shè)計應(yīng)用 > 基于單片機(jī)的CPLD/FPGA被動串行下載配置的實現(xiàn)

          基于單片機(jī)的CPLD/FPGA被動串行下載配置的實現(xiàn)

          作者: 時間:2012-02-20 來源:網(wǎng)絡(luò) 收藏

          現(xiàn)將以上所提及的各個子程序的用途簡介如下:

          下載配置子程序的作用是將從串口接收的配置數(shù)據(jù)直接寫到目標(biāo)器件中,即直接寫到可編程邏輯器件(/)中。

          在編寫該子程序時,必須注意目標(biāo)器件的寫入時序。必須根據(jù)目標(biāo)器件生產(chǎn)廠家提供的時序圖,用語言編程將其配置時序準(zhǔn)確地描述出來,只有這樣才能正確地將配置數(shù)據(jù)寫入到目標(biāo)器件中。例如,我們?nèi)粢_配置ALTERA公司生產(chǎn)的FLEX 10k系列器件,就必須嚴(yán)格遵守以下時序圖,如圖4所示。

          寫E2PROM子程序的作用是將從串口接收的配置數(shù)據(jù)直接寫到AT24C256串行E2PROM中保存起來,以備需要時可以用這些保存的數(shù)據(jù)重新配置器件。讀E2PROM子程序的作用是從AT24C256中將配置數(shù)據(jù)讀出,同時將這些配置數(shù)據(jù)寫到目標(biāo)器件中,以實現(xiàn)對目標(biāo)器件的重新配置。

          在編寫這兩個子程序時,必須注意AT24C256的數(shù)據(jù)寫入和數(shù)據(jù)讀出時序,只有嚴(yán)格遵守該時序圖,才能正確地對該存儲器進(jìn)行讀寫操作。其讀寫時序如圖5所示。

          4.jpg

          通用延時子程序可以靈活地設(shè)定延時時間間隔。當(dāng)程序中需要延時的時候只要先給該子程序提供一個延時時間常數(shù),再調(diào)用延時子程序即可。例如,通常在系統(tǒng)復(fù)位時為了讓處理器復(fù)位后系統(tǒng)中其他器件能可靠復(fù)位而調(diào)用的上電延時子程序就可以采用該通用延時子程序來實現(xiàn)。

          5結(jié)語

          本系統(tǒng)可用于配置所有ALTERA公司生產(chǎn)的基于SRAM架構(gòu)的器件和XILINX公司生產(chǎn)的基于SRAM架構(gòu)的器件以及其他主流器件制造公司生產(chǎn)的基于SRAM架構(gòu)的器件,具有很強(qiáng)的通用性。由于該電路使用的元器件非常少,也可以將其制作成面積很小、便于攜帶的通用下載配置板使用。該下載配置電路經(jīng)本人實際制作、調(diào)試、使用,其工作穩(wěn)定可靠,具有很好的應(yīng)用前景。

          參考文獻(xiàn)
          [1]ALTERAApplication Note 59:Configuring FLEX 10k DevicesAugust 1998
          [2]ALTERAApplication Note 208:Configuring Stratix Stratix GX DevicesNovember 2002
          [3]何立民鋇テ機(jī)應(yīng)用技術(shù)選編[M].北京:北京航空航天大學(xué)出版社,2000


          上一頁 1 2 下一頁

          關(guān)鍵詞: CPLD FPGA 單片機(jī) 被動

          評論


          相關(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); })();