基于單片機的CPLD/FPGA被動(dòng)串行下載配置的實(shí)現

發(fā)布時(shí)間:2010-7-22 17:18    發(fā)布者:vinda
關(guān)鍵詞: CPLD , FPGA , 串行 , 單片機
1引言

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

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

針對基于SRAM工藝的器件的下載配置問(wèn)題,本文介紹采用AT89S2051單片機配合串行E2PROM存儲器,實(shí)現CPLD/FPGA器件的被動(dòng)串行(PS)模式的下載配置。

2 系統組成

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

3 系統硬件設計

3.1 芯片選型

(1)單片機單片機采用ATMEL公司生產(chǎn)的AT89S2051單片機,該芯片與MCS51系列單片機兼容。內含:2kBFlashE2PROM,128BRAM,15根I/O引線(xiàn),2個(gè)16位定時(shí)器/計數器,1個(gè)5向量?jì)杉壷袛嘟Y構,1個(gè)全雙工串行口和1個(gè)精密模擬電壓比較器等。

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

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

3.2 硬件原理圖

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








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

4 系統軟件設計

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



現將以上所提及的各個(gè)子程序的用途簡(jiǎn)介如下:

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

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

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

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






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

5 結語(yǔ)

本系統可用于配置所有ALTERA公司生產(chǎn)的基于SRAM架構的CPLD器件和XILINX公司生產(chǎn)的基于SRAM架構的FPGA器件以及其他主流器件制造公司生產(chǎn)的基于SRAM架構的器件,具有很強的通用性。由于該電路使用的元器件非常少,也可以將其制作成面積很小、便于攜帶的通用下載配置板使用。該下載配置電路經(jīng)本人實(shí)際制作、調試、使用,其工作穩定可靠,具有很好的應用前景。
本文地址:http://selenalain.com/thread-16158-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)在線(xiàn)工具

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页