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