基于FPGA的電子系統(tǒng)柔性設計
1 引 言
本文引用地址:http://m.butianyuan.cn/article/189888.htm電子產(chǎn)品的多樣性,小批量和周期性短是21世紀制造業(yè)的鮮明特征,對設計工作提出了更新更高的要求。如何在產(chǎn)品改進或開發(fā)新產(chǎn)品時減少重設計和修改設計的工作量,縮短設計周期、提高產(chǎn)品可靠性是制造行業(yè)面臨的重要課題。電子系統(tǒng)的柔性設計是采用電路結(jié)構(gòu)重置技術,將多個針對不同功能要求設計好的配置文件分別存放在不同的地址空間,根據(jù)不同的外部命令,使所需的配置文件在線下載到具有重置功能的電子器件(如FPGA)中,以時分復用的形式分別完成各個功能。這種設計方式可以極大地提高電路系統(tǒng)的硬件功能靈活性。同一電路系統(tǒng)在沒有發(fā)生任何外在結(jié)構(gòu)上的改變時,通過來自外部不同的命令信號,電路系統(tǒng)的結(jié)構(gòu)和功能將在瞬間發(fā)生改變,從而使單一電路系統(tǒng)具有許多不同電路結(jié)構(gòu)的功能。
現(xiàn)場可編程門陣列FPGA是近十多年發(fā)展起來的新型可編程邏輯器件,利用FPGA的ICR特性進行電路系統(tǒng)的柔性設計,無疑將會減少重設計和修改設計的工作量、縮短系統(tǒng)的設計周期、提高系統(tǒng)的通用性和性價比,增強企業(yè)的競爭能力。
2 課題設計
設計一電子系統(tǒng),不改變電路結(jié)構(gòu)的條件下能夠分別完成溫度、電動自行車速度和心率信號的測量與顯示,外加一個擴展功能,設計具體要求如下。
(1) 測量結(jié)果用十進制顯示,溫度的測量范圍0~100℃,電動自行車速度的測量范圍0~0.60 km/min,心率測量范圍10~200跳/min;
(2) 測量值用3位數(shù)碼管顯示,小數(shù)點能自動移動,且小數(shù)點左邊1位以上的零自動熄滅;
(3) 具有超量程報警功能,在超出口前測量參數(shù)的測量范圍時,發(fā)出燈光信號;
(4) 電路結(jié)構(gòu)盡量簡單。
3 系統(tǒng)硬件設計
3.1 基于ICR技術的FPGA部分硬件電路設計
根據(jù)課題要求,設計FPGA部分硬件電路如圖1所示。FPGA芯片選用Altera公司的中檔器件FLEX-EPF10K10LC84-4,他是基于SRAM LUT結(jié)構(gòu)的FPGA器件。根據(jù)傳送數(shù)據(jù)的方式,F(xiàn)LEX10K可以使用4種配置模式,即:主動串行(AS)、被動串行(PS)、被動并行同步(PPS)、被動并行異步(PPA)。由于PPA配置模式為并行配置,其配置速度快,且配置時鐘由FPGA內(nèi)部產(chǎn)生,更有利于在線實現(xiàn),本文就是采用PPA方式來實現(xiàn)電路系統(tǒng)的在線重構(gòu)。PPA方式配置時應注意以下幾點:
(1) 當MESL0,MESL1均接高電平時,為PPA模式。
(2) nCS和CS兩個片選信號只需用一個,另一個必須將其直接置為有效位。
(3) nRS為讀選通輸人信號,低輸人時引導FLEX-IOK將RDYnBSY信號置于DATA7引腳。當nRS不用時,必須將其置為高。
(4) nCE為FLEX10K器件的使能輸人,nCE為低時使能配置過程,而且為單片配置時,nCE必須始終為低。
(5) DATA[7..0]接到AT89C52的P07~P00,nWS為寫選通輸人,由低到高的跳變時鎖存DATA[7..0]引腳上的字節(jié)數(shù)據(jù)。
(6) nSTATUS和CONF DONE引腳由于是雙向漏極開路端口,所以在作輸出使用時,應該經(jīng)過1.0 kΩ的電阻上拉到VCC。其他細節(jié)可參考PPA配置方式的工作時序。
圖1中ADC0804是CMOS 8位單通道逐次漸近型的模/數(shù)轉(zhuǎn)換器,其主要性能指標有:工作電壓+5 V、模擬輸入電壓范圍0~5 V、參考電壓2.5 V,分辨率8位。74LS245位總線收發(fā)器,用來加強數(shù)據(jù)總線的驅(qū)動能力。
3.2 配置電路硬件設計及其工作原理
在FPGA的實際應用中,用單片機來配置FPGA可以很好地解決系統(tǒng)保密和可升級的問題?;贏T-MEL89C52的配置電路結(jié)構(gòu)如圖2所示。
3個不同功能的配置文件分別存放在3片外擴程序存儲器27C128中,另外一個128用作進一步擴展時使用。K1,K2為功能選擇鍵,當K1,K2同時閉合時,系統(tǒng)實現(xiàn)溫度測量功能;K1閉合,K2打開時,系統(tǒng)實現(xiàn)轉(zhuǎn)速測量功能;K1打開,K2打開閉合時,系統(tǒng)實現(xiàn)心率測量功能。當K1,K2同時打開時,作功能擴展用。
4系統(tǒng)軟件設計
4.1 FPGA配置文件的生成
使用開發(fā)工具Max+PlusⅡ或QuartusⅡ可以生成多種配置編譯文件,用于不同配置方法的配置。對于不同的目標器件,配置數(shù)據(jù)的大小不同。由于Altera公司提供的軟件工具不自動生成.rbf文件,所以配置文件需按照下面的步驟生成:在Max+PlusⅡ編譯狀態(tài)下,選擇文件菜單中的變換SRAM目標文件命令;在File Formatbox目標文件對話框中指定要轉(zhuǎn)換的目標文件.rbf,單擊OK即可。把各個功能的目標文件按預定功能分別燒寫到EPROM27128中,且首地址設置為0002H。
4.2 單片機實現(xiàn)配置過程的控制程序
該系統(tǒng)中單片機主要用來產(chǎn)生配置時序,所以首先要熟悉PPA方式配置FPGA的時序波形圖,才能設計出合理的單片機程序。由于篇幅的限制,這里僅給出單片機實現(xiàn)配置過程的控制程序流程如圖3所示,PPA配置方式的時序圖請參考Altera公司的器件資料。
5 結(jié) 語
基于在線重置技術,結(jié)合實例提出了電子系統(tǒng)的柔性設計。隨著微電子技術特別是EDA的飛速發(fā)展,這種方案將會在復雜電子系統(tǒng)的設計中得到廣泛采用。
評論