隨著IC設(shè)計與工藝水平的提高,可編程邏輯器件FPGA因其功能強(qiáng)大,設(shè)計靈活,開發(fā)周期短等特點,得到了越來越廣泛的應(yīng)用。片上可編程系統(tǒng)(System On Programmable Chip,SOPC)的設(shè)計方法更是越來越受到重視。SOPC將微處理器、存儲器、定時器、通用I/O接口等系統(tǒng)設(shè)計必需的功能模塊以及用戶設(shè)計的特定功能的模塊集成到一片可編程邏輯器件上,構(gòu)成一個軟、硬件可編程的片上系統(tǒng)。采用NiosⅡ軟核處理器,使設(shè)計具有更大的靈活性。NiosⅡ系列32位RISC嵌入式處理器具有超過200DMIP的性能,在低成本FPGA中實現(xiàn)成本只有35美分,可以在多種系統(tǒng)設(shè)置組合中進(jìn)行選擇,滿足成本和功能要求。這種設(shè)計方式使整個系統(tǒng)的裁減、擴(kuò)充、升級變的容易,可縮短系統(tǒng)的開發(fā)周期,節(jié)省開發(fā)成本,延長產(chǎn)品的生命周期。
1 系統(tǒng)總體框圖
系統(tǒng)一方面采集按鍵的鍵值顯示在數(shù)碼管上,并將鍵值數(shù)據(jù)通過串口送給PC;另一方面通過串口接收由PC發(fā)來的數(shù)據(jù),將收到的數(shù)據(jù)顯示在數(shù)碼管上,由收到的數(shù)據(jù)控制相應(yīng)的發(fā)光二極管亮。系統(tǒng)方框圖如圖1所示。
整個系統(tǒng)由Altera支持SOPC的CycloneII高性能、低成本、低功耗的FPGA和一些外圍電路組成。采用了Nios II嵌入式處理器,在FPGA芯片上實現(xiàn)核心控制處理功能。外圍電路主要有串行通信接口,LED數(shù)碼管、發(fā)光二極管,鍵盤,F(xiàn)lash、SRAM存儲器等組成。
2 硬件設(shè)計
利用SOPC技術(shù)結(jié)合VHDL硬件描述語言,在FPGA芯片內(nèi)部設(shè)計硬件控制部分;再加上外圍電路就構(gòu)成了整個系統(tǒng)的硬件電路。FPGA內(nèi)部各模塊利用Altera公司提供的Quartus II開發(fā)軟件和其中集成的SOPC Builder系統(tǒng)開發(fā)工具來設(shè)計。SOPC Builder支持Nios II CPU的配置,并支持設(shè)計者在其提供的IP庫中,根據(jù)系統(tǒng)設(shè)計需要選擇相應(yīng)的接口模塊,加入到NiosII系統(tǒng)中,將這些設(shè)計在Quartus II中編譯并生成sof格式文件后,下載到FPGA芯片中就形成了SOPC的嵌入式系統(tǒng)硬件平臺。
2.1 NiosII軟核處理器
本設(shè)計選擇的處理器是Altera公司推出的第二代嵌入式NiosII軟核處理器。Nios II處理器系列是一種面向用戶的,可以靈活定制的通用RISC(精簡指令集架構(gòu))嵌入式CPU。Nios以軟核的方式提供給用戶,并專為在Altera的FPGA上實現(xiàn)作了優(yōu)化,用于SOPC(片上可編程系統(tǒng))集成,最后在FPGA上實現(xiàn)。
它的外設(shè)可以靈活選擇或增刪,可以自定制用戶邏輯為外設(shè),可以允許用戶定制自己的指令集,使用Nios加上外部的Flash、SRAM即可構(gòu)成一個嵌入式處理器系統(tǒng)。構(gòu)建的軟核處理器如圖2所示。
2.2 串行通信接口
串行通信接口芯片選用MAX3232,由電平轉(zhuǎn)換芯片完成從LVTTL電平到RS232C電平的轉(zhuǎn)換,如圖3所示。
2.3 LED數(shù)碼管、發(fā)光二極管
8位數(shù)碼管顯示數(shù)據(jù),通過接收的數(shù)據(jù)控制點亮相應(yīng)的二極管。數(shù)碼管顯示譯碼在FPGA內(nèi)部實現(xiàn)。發(fā)光二極管通過限流電阻直接接在FPGA的I/O口上。
2.4 Flash、SRAM存儲器、鍵盤
系統(tǒng)片外FLASH選用AM29LV065DU,片外SRAM選用UM611024A;作為運行Nios II的FLASH和SRAM。十個按鍵KEY0-KEY9直接與FPGA芯片的I/O口連接。
3 軟件設(shè)計
系統(tǒng)的軟件設(shè)計是利用Altera公司的軟件集成開發(fā)工具Nios II IDE來完成,用C語言進(jìn)行編程。系統(tǒng)的軟件主流程圖如圖4所示。接收上位機(jī)PC發(fā)來的數(shù)據(jù)采用中斷方式,中斷方式能很快響應(yīng)提高程序的運行效率,如圖5所示。
4 結(jié)束語
本系統(tǒng)采用SOPC技術(shù)實現(xiàn)了鍵值采集及顯示,并將數(shù)據(jù)通過串口發(fā)給上位機(jī)PC;可以接收從上位機(jī)送來的數(shù)據(jù)并顯示,由接收的數(shù)據(jù)控制點亮相應(yīng)的二極管。在設(shè)計中采用了Nios II軟核處理器。通過實驗證實了系統(tǒng)工作穩(wěn)定,在實際的應(yīng)用中具有很好的參考價值。