一種基于DSP+FPGA的控制系統(tǒng)方案設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
一、前言 ?
本文提到的控制系統(tǒng)控制通信設(shè)備的正常工作,是整個(gè)通信設(shè)備的重要組成部分。該控制系統(tǒng)要實(shí)現(xiàn)的功能為: 接收外來的信息、實(shí)時(shí)采集輸入的信號(hào),控制設(shè)備的工作狀態(tài)、參數(shù)、頻率、電壓及完成設(shè)備的故障檢測(cè)等;要求具備大量的通信功能和復(fù)雜的管理控制功能,且具備實(shí)時(shí)性、準(zhǔn)確性。?
原來普遍采用單片機(jī)加外圍器件來完成這些功能,需要大量的外部電路,增加了系統(tǒng)成本,也增加了系統(tǒng)的復(fù)雜性,系統(tǒng)的可靠性也會(huì)受一定的影響。?
本文所提出的基于DSP+FPGA的控制系統(tǒng)方案,利用FPGA的容量大、可編程實(shí)現(xiàn)很多功能,結(jié)合DSP具有高速的信息處理能力的特點(diǎn),使得本控制系統(tǒng)非常簡潔,結(jié)構(gòu)靈活,通用性強(qiáng),系統(tǒng)也易于維護(hù)和擴(kuò)展。該方案基于軟件無線電的思想,是采用通用平臺(tái)的設(shè)計(jì)。?
二、硬件設(shè)計(jì)?
系統(tǒng)硬件組成如圖1所示。
該硬件平臺(tái)由DSP、FPGA、A/D、D/A、密鑰存儲(chǔ)單元、實(shí)時(shí)鐘、接口電路及程序存儲(chǔ)器組成。各關(guān)鍵部分的主要功能為:?
?。?)DSP:參數(shù)的處理、數(shù)據(jù)的分幀、組幀、編碼、通過中斷實(shí)時(shí)監(jiān)控各種輸入信號(hào)等;?
?。?)FPGA:總線控制、通信接口、數(shù)據(jù)采集、整形、組合邏輯生成、時(shí)鐘信號(hào)產(chǎn)生等;?
?。?)密鑰存儲(chǔ)單元:具有EEPROM特性,掉電保護(hù)各種參數(shù)。?
主要器件的選型如下。?
(1)DSP器件?
所選用的TI公司的TMS320LF2407是一種低價(jià)格、高性能的DSP芯片,其控制能力強(qiáng),同時(shí)具有較高的運(yùn)算能力,能夠滿足系統(tǒng)對(duì)微處理器的要求,從而實(shí)現(xiàn)較強(qiáng)的通信功能和復(fù)雜的管理控制功能。?[!--empirenews.page--]
?。?) FPGA 器件?
選用XILINX公司的XCV100:?
?。?)其資源為10萬門;?
?。?)工作頻率最高可達(dá)200M;?
?。?)I/O端口多,端口功能可編程自定義;?
?。?)內(nèi)核采用2.5 V供電,端口供電電壓為3.3 V,可直接與TMS320LF2407接口;
(5)同樣封裝的FPGA,其資源可達(dá)100萬門,有利于系統(tǒng)的升級(jí)。 ?
三、軟件設(shè)計(jì)?
系統(tǒng)對(duì)軟件的設(shè)計(jì)提出了較高的要求,因此,筆者完全采用VHDL和C語言來編寫系統(tǒng)內(nèi)部執(zhí)行軟件。?
1?DSP的軟件設(shè)計(jì)?
DSP軟件設(shè)計(jì)在CCS2000的開發(fā)系統(tǒng)下用C語言設(shè)計(jì), DSP軟件采用自頂向下的設(shè)計(jì)思路,按功能劃分軟件模塊,使程序組成模塊化,主要由如圖2所示的幾個(gè)模塊組成。
其中總線控制模塊和通信模塊是2個(gè)主要的軟件模塊。?
總線控制模塊的工作流程如圖3所示,通信模塊的工作流程如圖4所示。
[!--empirenews.page--]
2?FPGA的軟件設(shè)計(jì) ?
FPGA在XILINX的軟件開發(fā)系統(tǒng)下,用VHDL語言設(shè)計(jì),主要實(shí)現(xiàn)以下功能:?
?。?) 總線控制的實(shí)現(xiàn)?
本控制統(tǒng)要控制大量的分離信號(hào)、大量的參數(shù)及系統(tǒng)的工作參數(shù)、電壓值,完成故障信息的采集、綜合和上報(bào)。要求用簡單、易控的串行同步通信總線控制方式(為RS—485總線接口)??偩€控制的原理框圖如圖5所示。
總線按位串行,雙向同步方式傳輸信號(hào);只由5條信號(hào)線組成:2條差分時(shí)鐘線CLK+和CLK-,2條差分?jǐn)?shù)據(jù)線DATA+和DATA-,一條地線GND。發(fā)送時(shí),數(shù)據(jù)的緩存、轉(zhuǎn)換及數(shù)據(jù)在時(shí)鐘作用下按位串行傳輸;接收時(shí),數(shù)據(jù)的同步、緩存、轉(zhuǎn)換及接收中斷的產(chǎn)生,都用VHDL語言在FPGA中實(shí)現(xiàn)。?
?。?)通信接口的實(shí)現(xiàn)?
本控制系統(tǒng)對(duì)內(nèi)、對(duì)外通信接口較多:與上方系統(tǒng)控制命令接口、與上方系統(tǒng)數(shù)據(jù)接口、設(shè)備內(nèi)數(shù)據(jù)接口等。這些接口采用異步串行通信方式(SCI)通信。 FPGA內(nèi)異步串口設(shè)計(jì)的原理如圖6所示。
這里充分利用FPGA的硬件可編程性,把要擴(kuò)展多個(gè)異步串口,用VHDL語言在FPGA里實(shí)現(xiàn),使系統(tǒng)硬件平臺(tái)簡單,而且能靈活設(shè)置波特率和通信方式。?
?。?) 狀態(tài)采集的實(shí)現(xiàn)?
有些信號(hào)是需要控制系統(tǒng)實(shí)時(shí)處理的,通過FPGA的采集、整形,在信號(hào)的上升和下降沿產(chǎn)生一定寬度的脈沖,作為DSP的中斷信號(hào)。DSP在中斷程序中實(shí)時(shí)讀取信號(hào)的狀態(tài),控制設(shè)備工作在新的狀態(tài)。?
四、結(jié)束語
目前,DSP速度越來越快,成本越來越低,F(xiàn)PGA 的容量越來越大,封裝越來越小,使得DSP+FPGA 組成的系統(tǒng)成為解決系統(tǒng)設(shè)計(jì)的重要選擇方案之一。本文介紹了一種基于DSP+FPGA的控制系統(tǒng)設(shè)計(jì)方案,由該設(shè)計(jì)方案實(shí)現(xiàn)的控制系統(tǒng)完全達(dá)到了技術(shù)指標(biāo)要求,系統(tǒng)工作穩(wěn)定可靠。而它提供的硬件平臺(tái)對(duì)于系統(tǒng)的升級(jí)和功能擴(kuò)展非常有利,對(duì)于控制系統(tǒng)來講具有較好的通用性。