0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何采用單片機(jī)實(shí)現(xiàn)CPLD/FPGA器件的被動串行模式的下載配置

電子設(shè)計 ? 作者:電子設(shè)計 ? 2018-10-08 09:21 ? 次閱讀

引言

隨著電子技術(shù)的發(fā)展,當(dāng)前數(shù)字系統(tǒng)的設(shè)計正朝著速度快、容量大、體積小、重量輕的方向發(fā)展。推動該潮流迅猛發(fā)展的引擎就是日趨進(jìn)步和完善的高密度現(xiàn)場可編程邏輯器件設(shè)計技術(shù)。高密度現(xiàn)場可編程邏輯器件(CPLD/FPGA)能夠?qū)⒋罅窟壿嫻δ芗捎谝粋€單片IC之中,對基于E2PROM(或FlashMemory)工藝的器件,配置數(shù)據(jù)在掉電后不會丟失,可以直接采用ByteBlaster并口下載電纜對他們進(jìn)行配置,但基于該架構(gòu)的器件的集成度較低,一般在10萬門以下;然而對基于SRAM工藝的器件,配置數(shù)據(jù)在器件掉電后會丟失,但基于該架構(gòu)的器件的集成度相對較高,一般在1萬門以上。

由于當(dāng)前項(xiàng)目開發(fā)中所需使用的可編程邏輯器件的集成度要求越來越高,基于SRAM工藝的器件得到越來越廣泛的使用,那么此時如何將配置數(shù)據(jù)成功地寫入目標(biāo)器件,并且保證其在掉電再上電后能夠自動恢復(fù)配置數(shù)據(jù),成為電子設(shè)計工程師能否正確使用基于SRAM工藝的器件必須掌握的一項(xiàng)技術(shù)。

2系統(tǒng)組成

該系統(tǒng)的硬件電路由AT89S2051單片機(jī)、AT24C256串行E2PROM,MAX232串行接口電路、復(fù)位及去耦合電路和被配置CPLD/FPGA器件組成,如圖1所示。

如何采用單片機(jī)實(shí)現(xiàn)CPLD/FPGA器件的被動串行模式的下載配置

3系統(tǒng)硬件設(shè)計

3.1芯片選型

(1)單片機(jī)單片機(jī)采用ATMEL公司生產(chǎn)的AT89S2051單片機(jī),該芯片與MCS51系列單片機(jī)兼容。內(nèi)含:2kBFlashE2PROM,128BRAM,15根I/O引線,2個16位定時器/計數(shù)器,1個5向量兩級中斷結(jié)構(gòu),1個全雙工串行口和1個精密模擬電壓比較器等。

(2)串行E2PROM由于基于SRAM工藝的可編程邏輯器件(CPLD/FPGA)的配置數(shù)據(jù)在掉電后會丟失,需要外加存儲器以保存配置數(shù)據(jù)。為了盡量減小電路板的面積,選用8腳的串行E2PROMAT24C256。AT24C256是ATMEL公司生產(chǎn)的2線制串行電可擦寫只讀存儲器,具有自定時寫周期特性,容量32kB。該器件特別適合于對功耗有嚴(yán)格要求的應(yīng)用場合。

(3)通信接口采用MAXIM公司生產(chǎn)的串行接口芯片MAX232將PC機(jī)與下載配置電路連接起來。下載配置電路通過該串口接收PC機(jī)下傳的命令,執(zhí)行相應(yīng)的操作再將處理結(jié)果上傳到PC機(jī)。MAX232是通用+5V供電的多通道RS232總線收發(fā)器,尤其適合在電池供電的系統(tǒng)中應(yīng)用。

3.2硬件原理圖

硬件原理如圖2所示。上電后,單片機(jī)首先調(diào)用子程序完成如下操作:將掉電前已經(jīng)存儲在AT24C256串行E2PROM中的器件配置文件讀出;采用被動串行模式(PS)將該文件配置到CPLD/FPGA器件中,從而實(shí)現(xiàn)器件掉電再上電后自動恢復(fù)配置數(shù)據(jù)的功能。然后,單片機(jī)就會工作在動態(tài)停機(jī)狀態(tài),在此過程中,單片機(jī)可以響應(yīng)串口中斷。

如何采用單片機(jī)實(shí)現(xiàn)CPLD/FPGA器件的被動串行模式的下載配置

如果單片機(jī)響應(yīng)串口中斷并且接收到一個數(shù)據(jù),那么單片機(jī)首先判斷該數(shù)據(jù)所表示的命令類型,若是配置命令,單片機(jī)就進(jìn)入配置狀態(tài)。在配置狀態(tài)下,單片機(jī)一邊接收配置數(shù)據(jù),一邊將這些數(shù)據(jù)寫到CPLD/FPGA器件中;若是寫E2PROM命令,單片機(jī)就進(jìn)入寫E2PROM狀態(tài),此時單片機(jī)會一邊接收配置數(shù)據(jù),一邊將這些數(shù)據(jù)寫到配置用E2PROM中(注意此時這些數(shù)據(jù)并沒有被配置到CPLD/FPGA器件中);若是讀E2PROM命令,單片機(jī)就進(jìn)入讀E2PROM并配置CPLD/FPGA器件狀態(tài),此時單片機(jī)會一邊讀E2PROM中的配置數(shù)據(jù),一邊將讀出的配置數(shù)據(jù)寫到CPLD/FPGA器件中。

4系統(tǒng)軟件設(shè)計

軟件包括:主程序、下載配置子程序、寫E2PROM子程序、讀E2PROM子程序及通用延時子程序構(gòu)成。其軟件流程圖如圖3所示。

如何采用單片機(jī)實(shí)現(xiàn)CPLD/FPGA器件的被動串行模式的下載配置

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

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

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

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

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

如何采用單片機(jī)實(shí)現(xiàn)CPLD/FPGA器件的被動串行模式的下載配置

如何采用單片機(jī)實(shí)現(xiàn)CPLD/FPGA器件的被動串行模式的下載配置

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

5結(jié)語

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1624

    文章

    21573

    瀏覽量

    600722
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6026

    文章

    44460

    瀏覽量

    631206
  • cpld
    +關(guān)注

    關(guān)注

    32

    文章

    1245

    瀏覽量

    169069
收藏 人收藏

    評論

    相關(guān)推薦

    FPGA/CPLD單片機(jī)相比有哪些優(yōu)勢?

    ,這些數(shù)字器件理論上可以形成一切數(shù)字系統(tǒng),包括單片機(jī)甚至CPU,FPGA在抗干擾和速度上有很大優(yōu)勢。單片機(jī)實(shí)現(xiàn)原理:
    發(fā)表于 02-27 13:37

    采用AT89S2051單片機(jī)配合串行E2PROM存儲器實(shí)現(xiàn)CPLD/FPGA器件被動串行模式下載配置

    針對基于SRAM工藝的器件下載配置問題,本文介紹采用AT89S2051單片機(jī)配合串行E2PRO
    發(fā)表于 04-13 06:25

    FPGA單片機(jī)串行通信接口的實(shí)現(xiàn)

    本文針對由FPGA構(gòu)成的高速數(shù)據(jù)采集系統(tǒng)數(shù)據(jù)處理能力弱的問題,提出FPGA單片機(jī)實(shí)現(xiàn)數(shù)據(jù)串行通信的解決方案。在通信過程中完全遵守RS232
    發(fā)表于 07-21 16:48 ?0次下載

    單片機(jī)FPGA CPLD總線接口邏輯設(shè)計

    設(shè)計一種基于MCS-51 單片機(jī)FPGA/CPLD 的總線接口邏輯,實(shí)現(xiàn)單片機(jī)與可編程邏輯器件
    發(fā)表于 09-22 10:16 ?83次下載

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

    基于單片機(jī)CPLD/FPGA被動串行下載配置
    發(fā)表于 10-29 21:57 ?19次下載

    基于單片機(jī)的Cyclone系列FPGA配置方法

    摘要:本文討論了Cyclone系列器件的不同配置方法,提出一種單片機(jī)結(jié)合FLASH存儲器的被動串行配置
    發(fā)表于 08-13 12:04 ?67次下載

    單片機(jī)配置CPLD器件

    單片機(jī)配置CPLD器件 ALTERA公司的可編程序邏輯器件APEX20K、FLEX10K和FLEX6000雖應(yīng)用廣泛,但由于其內(nèi)部
    發(fā)表于 03-28 16:18 ?1154次閱讀
    用<b class='flag-5'>單片機(jī)</b><b class='flag-5'>配置</b><b class='flag-5'>CPLD</b><b class='flag-5'>器件</b>

    FPGA器件的在線配置方法

    摘要: 介紹基于SRAM LUT結(jié)構(gòu)的FPGA器件的上電配置方式;著重介紹采用計算機(jī)串口下載配置
    發(fā)表于 06-20 10:57 ?1142次閱讀
    <b class='flag-5'>FPGA</b><b class='flag-5'>器件</b>的在線<b class='flag-5'>配置</b>方法

    ALTERA CPLD器件配置下載

    一、 配置方式   ALTERA CPLD器件配置方式主要分為兩大類:主動配置方式和被動方式
    發(fā)表于 06-20 10:58 ?2183次閱讀

    CPLD/FPGAS/51單片機(jī)通用的下載電路接法

    CPLD/FPGAS/51單片機(jī)通用的下載電路接法
    發(fā)表于 07-16 10:05 ?2462次閱讀
    <b class='flag-5'>CPLD</b>/<b class='flag-5'>FPGA</b>S/51<b class='flag-5'>單片機(jī)</b>通用的<b class='flag-5'>下載</b>電路接法

    使用CPLD和Flash實(shí)現(xiàn)FPGA配置

    本文介紹了通過處理機(jī)CPLD和Flash實(shí)現(xiàn)FPGA配置文件下載更新的方法。與傳統(tǒng)的JTAG或
    發(fā)表于 10-25 05:51 ?9065次閱讀
    使用<b class='flag-5'>CPLD</b>和Flash<b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>FPGA</b>的<b class='flag-5'>配置</b>

    FPGA單片機(jī)實(shí)現(xiàn)數(shù)據(jù)串行通信的解決方案

    本文針對由FPGA構(gòu)成的高速數(shù)據(jù)采集系統(tǒng)數(shù)據(jù)處理能力弱的問題,提出FPGA單片機(jī)實(shí)現(xiàn)數(shù)據(jù)串行通信的解決方案。
    發(fā)表于 02-11 14:30 ?1.1w次閱讀

    微處理器系統(tǒng)中連接簡單的被動串行配置方法和被動并行異步配置方法

    成本。微處理器根據(jù)不同的程序應(yīng)用,采用不同的配置數(shù)據(jù)對FPGA進(jìn)行配置,使FPGA實(shí)現(xiàn)與該應(yīng)用有
    發(fā)表于 11-06 11:10 ?1次下載

    FPGA教程之CPLDFPGA配置下載的詳細(xì)資料說明

    本文檔詳細(xì)介紹的是FPGA教程之CPLDFPGA配置下載的詳細(xì)資料說明主要內(nèi)容包括了:一、CPLD
    發(fā)表于 02-28 09:56 ?17次下載
    <b class='flag-5'>FPGA</b>教程之<b class='flag-5'>CPLD</b>和<b class='flag-5'>FPGA</b>的<b class='flag-5'>配置</b>與<b class='flag-5'>下載</b>的詳細(xì)資料說明

    使用單片機(jī)實(shí)現(xiàn)TG126410液晶串行模式演示的C語言程序免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用單片機(jī)實(shí)現(xiàn)TG126410液晶串行模式演示的C語言程序免費(fèi)下載。
    發(fā)表于 03-27 09:27 ?2次下載