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