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