魯睿其
?
基于EP3C40的FPGA最小系統設計和實現
魯睿其
(湖南理工學院信息與通信工程學院,湖南 岳陽 414006)
本文介紹了基于Altera公司Cyclone III系列的EP3C40 FPGA最小系統的設計和驗證過程,詳細介紹了高速FPGA電路設計、PCB電路板設計和數字系統集成設計等相關設計.FPGA最小系統硬件設計包括時鐘、電源、存儲器、接口、配置、以及USB Blaster等部分,最小系統的功能驗證包括鍵盤和LCD控制、總控制、DDS模塊等。最終測試結果表明,本系統工作正常,DDS時鐘頻率可以達130MHz.
現場可編程門陣列 可編程片上系統 直接數字合成
隨著可編程邏輯器件集成的規模越來越大,出現了可編程片上系統(SOPC),把處理器、外圍的邏輯控制電路集成在一塊可編程邏輯器件上,大大的減少了系統芯片的數量、縮小了系統的體積,提高了系統的可靠性[1,2]。由于可編程器件有著巨大的優點,可編程邏輯器件得到了廣泛應用,掌握可編程邏輯器件技術是一個電子工程技術人員的基本要求。
本文設計的FPGA最小系統要求FPGA最小系統的功能,要求如下:根據設計需要劃分好模塊;編寫好鍵盤和液晶控制的程序,實現人機接口;DDS的頻率輸出通過鍵盤控制,并由液晶顯示相關的參數;DDS的工作頻率要大于100 MHz,輸出的信號能驅動高速D/A;開發中使用FPGA內部嵌入的RAM、PLL等資源。
FPGA最小系統的硬件框圖如圖1所示。系統包含FPGA工作最基本的單元電路:電源、時鐘、配置、存儲器、USB Blaster等模塊。另外,考慮到系統擴展的靈活,系統留有外部擴展接口。

EP3C40工作需要三個電源,每個接口上需要一個5 V電源以支持外圍擴展電路的工作,電路原理圖如圖2所示。根據Altera公司提供的datasheet以及功耗估算工具,本設計選用Linear公司的開關型穩壓器LT1959,它的拓撲結構為電流模式,以獲得快速瞬態響應及良好的環路穩定性。

為充分利用EP3C40的時鐘資源,本設計采用四時鐘源方案,其中三個由晶振提供,SMA外部輸入時鐘,這樣使最小系統擁有了良好的時鐘擴展性能。時鐘部分的具體電路原理圖如圖3所示,有源晶振的電源提供通過電感與VIO隔離,大大降低振蕩器件對電源的高頻干擾;另外一路由外部SMA輸入接口CLK3。每路時鐘輸出通過外加電阻消除高速數字時鐘的回流效應,以保持良好的信號完整性。

圖3 時鐘部分原理圖
FPGA最小系統與工程開發的產品不同,它具有良好的調試特性。為此,本最小系統設置了JTAG接口,JTAG接口可以配置和調試FPGA。Quartus II自帶有信號分析的工具SignalTap II,它支持在線調試功能。具體實現是通過在開發工具中設定相關測試信號,再與原來的文件綜合、下載、運行,之后,在工具中可以看到設計中有關信號的波形。因此,JTAG接口為系統調試提供了極大的便利。該部分電路原理圖如圖4所示。

圖4 JTAG接口原理圖
FPGA最小系統必須具有良好的可擴展性,能方便地與外部電路接口。可以選擇設計成HSMC(高速Mezzanine卡接口)接口。HSMC接口是Altera自己定義的一種高速Mezzanine接口,該接口定義有Transceiver 、LVDS以及普通IO。考慮到本系統不需要跑上GHz頻率,所以接口部分采用40針插座GPIO方式引出,另外一路時鐘信號通過FPGA的專用時鐘輸出引腳以SMA接口輸出。該引腳可以被設置為FPGA內部全局網絡直接輸出,因此經該引腳輸出的時鐘信號具有較好的信號完整性,同時外部SMA接口線良好的屏蔽效果可以避免電磁干擾。考慮到外部電路的電源供應,每個40針的接口配上+5V的電源,為FPGA最小系統的外擴電路提供基本的電源供應。接口部分的電路原理圖如圖5所示。

圖5 接口部分的電路原理圖
SRAM存儲器可以用于存儲數據,以及NIOS II的程序存儲等等。SRAM存儲器優點在于速度快、節能,不必配合內存刷新電路,可提高整體的工作效率。本系統采用ISSI公司的IS61LV25616AL SRAM芯片,256K*16bit的容量,電路原理圖如圖6所示。

圖6 SRAM接口電路
控制功能用RTL級硬件描述語言設計控制狀態機,其它邏輯部分也用RTL級硬件描述語言實現。此方法對硬件描述語言和數字系統集成的要求較高,特別是要把握好整體觀念,采用自頂向下的設計方法、逐步細分以及完成設計。
內部邏輯驗證采用國際上流行的自頂向下的設計方法,先確定總體框圖,然后逐步細分,最后綜合成一個系統[3]。
經過認真的考慮和分析,設計的內部總體邏輯框圖如圖7所示,括號中的英文名為設計模塊名。其中,分頻模塊的作用是產生狀態機工作時鐘;鍵盤和液晶控制模塊控制鍵盤和液晶;DDS模塊產生數字合成信號;總控制模塊協調各模塊之間的工作。

圖7 內部邏輯驗證框圖
分頻器的設計相對簡單,50 MHz的時鐘輸入,經過50分頻后輸出1 MHz的狀態機工作時鐘。用Modelsim對分頻模塊仿真的波形如圖8所示。計數器cnt在時鐘沿的激勵下從0開始不斷增加,最大值24。所以每25個輸入時鐘周期使得輸出時鐘反相一次,輸出時鐘的頻率為輸入時鐘的1/50。在輸入50 MHz的頻率下,輸出頻率為1 MHz。
DDS模塊包括相位累加器、正弦查找表和PLL(鎖相環)。相位累加器在時鐘沿的激勵下不斷以輸入頻率字為單位累加相位;正弦查找表根據相位值查出對應相位的幅度值輸出到DA轉換器;PLL模塊把外部的時鐘倍頻到120 MHz給DDS提供工作頻率。邏輯框圖如圖9所示。正弦查找表用的ROM和倍頻用的PLL均利用Quartus II工具自動生成。根據DDS的工作原理,輸出正弦波的頻率為[4]:

DDS模塊由Quartus II軟件綜合,生成Modelsim需要的仿真文件,編寫好激勵文件后,在Modelsim中的仿真波形如圖11所示。
由仿真結果可以看出,通過改變頻率控制字可以實現輸出頻率的調節,達到了設計要求。

圖8分頻器時序仿真圖
本最小系統中鍵盤控制采用專用芯片HD7279,液晶采用核心控制器為ST7920的12864LCD模塊。本設計采用兩個狀態機分別對鍵盤和液晶模塊進行控制,程序流程圖如圖11所示。控制鍵盤的時候要注意連續按鍵的處理,否則在狀態機的工作頻率下,就是稍稍按一下鍵也會得到很多個一樣的鍵值,所以需要設定一個計數器,當計數到一定時間再返回到等待的狀態,這樣這個計數器計數的多少決定了等待時間的長短。本程序中,設定的這個計數值為250000,在1 MHz的狀態機工作頻率下等待時間為0.25 s,實際的等待時間還受其它模塊的影響,會稍微大于這個值。另外的一種方法是用鎖存器的方法實現,這樣可以占用小的資源。由于本設計中的FPGA資源夠用,所以采用計數器的方法實現。
頂層文件的作用是把各子模塊連接到一起,形成一個最終的系統模塊。采用Verilog HDL描述語言描述的頂層文件的輸入輸出只保留了FPGA與外部通信的接口。如圖12所示,圖中的連線顯示了各子模塊的連接關系,四個模塊是上文中的四個模塊。頂層文件的外部接口有鍵盤接口、LCD接口、D/A接口、輸入時鐘、復位等。頂層文件確定無誤后,在Quartus II開發平臺中加入在線信號分析的相關設置,然后綜合,對整個系統的重要信號進行在線分析,結果如圖13所示,達到了設計要求。本最小系統與外擴的D/A和鍵盤顯示電路進行了聯調和測試,使用的D/A轉換器是TI公司的DAC5674,該D/A轉換器精度為10位、速度可達125 MHz。調試成功后測出輸出頻率為1 kHz、10 MHz的正弦波形如圖13所示。

圖10 鍵盤和液晶控制模塊程序流程圖
本文以Altera公司的FPGA芯片EP3C40Q240C8為核心設計了FPGA最小系統板,并完成了實物的制作與相應的軟硬件調試。完成了FPGA最小系統的硬件設計與制作。設計的FPGA最小系統具有體積小、使用方便、擴展性好等優點。把FPGA的JTAG與AS下載方式組合到一個系統中,并制作了Altera公司的USB Blaster下載線,方便程序下載和調試。驗證程序采用了國際上流行的設計方法和開發軟件,Quartus II和Modelsim配合使用,很接近工程應用的實際,為以后的工作打下了堅實的基礎。充分的利用了FPGA內部的資源,使用了FPGA內部嵌入的ROM和PLL,綜合后的系統也使用了嵌入的乘法器。使用Verilog HDL硬件描述語言描述實現了液晶控制、鍵盤控制和DDS功能,并把這些功能集成到一個數字系統中。DDS工作的頻率達到130 MHz,證明本最小系統完全也可以用于其它的高速數字系統中。

圖11 DDS模塊仿真波形

圖12 頂層文件在線信號分析結果

[1] 張慶玲. FPGA原理與實踐[M]. 北京航天航空大學出版社, 2006.
[2] 求是科技. CPLD/FPGA 應用開發技術與工程實踐[M]. 人民郵電出版社, 2005.
[3] 候伯亨. VHDL硬件描述語言與數字邏輯電路設計[M]. 西安:西安電子科技大學出版社, 1999.
[4] 陳智萍.基于CPLD的單片機結構設計研究[D]. 燕山大學碩士學位論文, 2003:4-5.
Design and Implementation of FPGA Minimum System Based on EP3C40
Lu Ruiqi
(Department of Information and Communication Engineering, Hunan Institute of Science and Technology, Yueyang 414006, Hunan, China)
TN741
A
1003-4862(2018)01-0048-05
2017-11-15
魯睿其(1988-),女,碩士。研究方向:可編程邏輯器件技術。