侯建華,劉雪芬,張 凱
(西安西電開(kāi)關(guān)電氣有限公司技術(shù)中心,西安 710077)
電力系統(tǒng)中高壓開(kāi)關(guān)設(shè)備運(yùn)行的穩(wěn)定和可靠對(duì)整個(gè)電力系統(tǒng)至關(guān)重要,對(duì)高壓開(kāi)關(guān)設(shè)備進(jìn)行在線(xiàn)監(jiān)測(cè)很有必要。目前在線(xiàn)監(jiān)測(cè)裝置對(duì)監(jiān)測(cè)功能分類(lèi)過(guò)細(xì),造成監(jiān)測(cè)IED(智能電子設(shè)備)種類(lèi)多,工程實(shí)施成本高,在線(xiàn)監(jiān)測(cè)產(chǎn)生的經(jīng)濟(jì)效益遠(yuǎn)低于預(yù)期。因此將各種監(jiān)測(cè)IED如機(jī)械特性監(jiān)測(cè)IED、SF6監(jiān)測(cè)IED、局放監(jiān)測(cè)IED、避雷器監(jiān)測(cè)IED等多種監(jiān)測(cè)功能整合成一臺(tái)綜合監(jiān)測(cè)IED,對(duì)高壓開(kāi)關(guān)運(yùn)行的各項(xiàng)參數(shù)進(jìn)行在線(xiàn)監(jiān)測(cè),將有利于降低成本、工程實(shí)施難度和維護(hù)工作量[1]。
高壓開(kāi)關(guān)綜合數(shù)據(jù)采集與監(jiān)測(cè)裝置應(yīng)能連續(xù)或周期性監(jiān)測(cè)、記錄被監(jiān)測(cè)設(shè)備狀態(tài)的參數(shù),及時(shí)有效地跟蹤設(shè)備的狀態(tài)變化,有利于預(yù)防事故的發(fā)生;根據(jù)監(jiān)測(cè)數(shù)據(jù)能夠有效判斷被監(jiān)測(cè)設(shè)備狀況,以便調(diào)整設(shè)備試驗(yàn)周期,減少不必要的停電試驗(yàn),或?qū)摲怨收线M(jìn)行預(yù)警;裝置宜具備多種輸出接口,具有與其它監(jiān)控系統(tǒng)間按統(tǒng)一通信規(guī)約相連的接口,具備報(bào)警輸出;具有良好的人機(jī)界面,操作簡(jiǎn)單,便于運(yùn)用。根據(jù)在線(xiàn)監(jiān)測(cè)裝置的技術(shù)要求,高壓開(kāi)關(guān)綜合數(shù)據(jù)采集與監(jiān)測(cè)系統(tǒng)應(yīng)能監(jiān)測(cè)高壓開(kāi)關(guān)的機(jī)械特性、SF6氣體、母線(xiàn)溫度、避雷器、局放等參數(shù),并具備錄波功能[2]。
基于以上工程實(shí)際出發(fā)和在線(xiàn)監(jiān)測(cè)系統(tǒng)的技術(shù)要求,裝置在硬件設(shè)計(jì)時(shí)采用了FGPA+STM32雙處理器的架構(gòu)。FPGA(field programmable gate array,現(xiàn)場(chǎng)可編程門(mén)陣列)屬于專(zhuān)用集成電路中的一種半定制電路,內(nèi)部有豐富的可編程邏輯單元、大量的硬件乘法器模塊、充足的I/O引腳資源,使用Verilog HDL/VHDL(硬件描述語(yǔ)言)實(shí)現(xiàn)設(shè)計(jì)。采用FPGA進(jìn)行的嵌入式系統(tǒng)硬件設(shè)計(jì),可重編程、可定制、速度快、能縮短開(kāi)發(fā)周期,滿(mǎn)足實(shí)時(shí)處理的要求[3]?;贏RM Cortex-M4內(nèi)核的STM32F407是一種高性能的32位微控制器,它是針對(duì)低成本、低功耗、高性能的、面向終端應(yīng)用的微控制器,內(nèi)核架構(gòu)先進(jìn),性能優(yōu)越,主頻可達(dá)168 MHz,執(zhí)行效率高,具有較高的運(yùn)算能力及數(shù)據(jù)處理能力,擁有豐富的外設(shè)接口和擴(kuò)展功能[4]。采用FPGA和STM32雙處理器架構(gòu)的平臺(tái)設(shè)計(jì),可以充分發(fā)揮兩者各自?xún)?yōu)勢(shì),通過(guò)STM32的FSMC(flexible static memory controller,靈活的靜態(tài)存儲(chǔ)控制器)接口和FPGA的雙端口RAM(random access memory,隨機(jī)訪問(wèn)存儲(chǔ)器)能快速實(shí)現(xiàn)兩者之間的數(shù)據(jù)交互,整個(gè)系統(tǒng)具有成本低、速度快、可靠性高的優(yōu)點(diǎn),能滿(mǎn)足高速數(shù)據(jù)采集、存儲(chǔ)、控制等多功能應(yīng)用。
STM32微控制器采用的芯片是ST(意法半導(dǎo)體)的STM32F407ZE,F(xiàn)PGA是Xilinx(賽靈思)的XC6SLX9-2TQG144I。FPGA芯片基于成熟的45納米低功耗銅工藝技術(shù),在成本、功率和性能上實(shí)現(xiàn)了最佳平衡,內(nèi)部提供了豐富的邏輯單元、觸發(fā)器等內(nèi)置系統(tǒng)級(jí)塊用于邏輯設(shè)計(jì),并提供了一種新的、更高效的雙寄存器6輸入查找表(LUT)邏輯供選擇[5]。STM32F407ZE為144引腳封裝,主頻高達(dá)168 MHz,具有512 KB Flash和192 KB SRAM,通信接口多達(dá)15個(gè),多達(dá)17個(gè)定時(shí)器,還具有符合IEEE 1588 v2標(biāo)準(zhǔn)要求的以太網(wǎng)MAC10/100控制器和能夠連接CMOS照相機(jī)傳感器的8~14位并行照相機(jī)接口,是一種高集成度、高性能的微控制器。
系統(tǒng)總體設(shè)計(jì)見(jiàn)圖1,現(xiàn)場(chǎng)各種信號(hào)先經(jīng)過(guò)信號(hào)采集電路統(tǒng)一處理后進(jìn)入FPGA,由FPGA進(jìn)行高速采集存儲(chǔ)。在FPGA內(nèi)部利用Xilinx提供的IP核構(gòu)建雙口RAM,A口用于FPGA讀寫(xiě)數(shù)據(jù),B口由STM32F407通過(guò)FSMC總線(xiàn)讀寫(xiě)數(shù)據(jù)[6]。FPGA將采集的實(shí)時(shí)數(shù)據(jù)和錄波數(shù)據(jù)經(jīng)過(guò)處理后存儲(chǔ)到雙口RAM中,并從雙口RAM中讀取STM32下發(fā)的數(shù)據(jù),實(shí)現(xiàn)與STM32數(shù)據(jù)交互。STM32F407用于控制、顯示和管理數(shù)據(jù),通過(guò)串口與液晶屏按私有協(xié)議方式進(jìn)行通信,向液晶屏上傳數(shù)據(jù),同時(shí)接收液晶屏下發(fā)的控制指令解析執(zhí)行,同時(shí)通過(guò)以太網(wǎng)口上傳數(shù)據(jù)給上位機(jī)。系統(tǒng)充分發(fā)揮了FPGA高速采集、并行處理和STM32強(qiáng)大的處理能力和豐富的外設(shè),可實(shí)現(xiàn)高速數(shù)據(jù)采集和多種應(yīng)用。
圖1 系統(tǒng)總體設(shè)計(jì)框圖
系統(tǒng)根據(jù)功能劃分共設(shè)計(jì)了3塊電路板,信號(hào)采集電路板、主控板和電源板。信號(hào)采集電路板主要包括采集現(xiàn)場(chǎng)各模擬量信號(hào),并對(duì)信號(hào)進(jìn)行調(diào)理,開(kāi)關(guān)量信號(hào)輸入和輸出電路,編碼器TTL電平信號(hào)采集電路,光B碼輸入電路等。主控板為FPGA+STM32雙處理器核心板以及外圍電路,電源板為系統(tǒng)電源設(shè)計(jì)回路,為系統(tǒng)及外部傳感器提供電源。
信號(hào)采集電路板與裝置后面板端子相連,各種模擬量、開(kāi)關(guān)量、旋轉(zhuǎn)編碼器TTL信號(hào)、光B碼信號(hào)和光以太網(wǎng)信號(hào)先統(tǒng)一進(jìn)入信號(hào)采集電路板進(jìn)行處理,再通過(guò)排線(xiàn)與主控板FPGA進(jìn)行相連。光纖接口可以采集基于IEC61850-9-2的互感器信號(hào)[7],B碼對(duì)時(shí)功能主要是滿(mǎn)足電力系統(tǒng)變電站對(duì)裝置的設(shè)計(jì)要求,以達(dá)到時(shí)間同步[8]。
信號(hào)采集電路板模擬量采集單元由信號(hào)調(diào)理部分和信號(hào)采集部分組成,信號(hào)調(diào)理部分主要實(shí)現(xiàn)對(duì)輸入的各種信號(hào)進(jìn)行變換和調(diào)理,保證信號(hào)能夠準(zhǔn)確的被ADC(analog to digital converter,模數(shù)轉(zhuǎn)換器)采集[9],如圖2所示。信號(hào)采集部分主要實(shí)現(xiàn)信號(hào)模數(shù)轉(zhuǎn)換,由ADC、電壓參考及接口電路組成,本系統(tǒng)采用ADI(亞德諾半導(dǎo)體)公司的AD7606芯片。AD7606是一款8通道同步采集輸入、真雙極性模擬輸入的ADC,其輸入范圍±5 V或±10 V可選,內(nèi)部集成輸入保護(hù)和抗混疊濾波器,自帶片電壓基準(zhǔn),分辨率為16 bits,每通道采樣率能夠達(dá)到200 ksps(kilo samples per second,千次每秒),數(shù)據(jù)輸出通道靈活,既可以選擇并行輸出也可以支持串行輸出。
圖2 模擬量信號(hào)調(diào)理部分原理框圖
開(kāi)關(guān)量采集單元主要實(shí)現(xiàn)開(kāi)關(guān)狀態(tài)和各輔助觸點(diǎn)信號(hào)的采集。為了保證設(shè)備的可靠性,防止現(xiàn)場(chǎng)環(huán)境對(duì)裝置運(yùn)行的影響,需要對(duì)輸入信號(hào)進(jìn)行隔離。開(kāi)關(guān)量采集單元的電路如圖3所示,將待測(cè)開(kāi)關(guān)串聯(lián)接入開(kāi)關(guān)量測(cè)量電路中光耦的隔離前端,當(dāng)開(kāi)關(guān)閉合時(shí),前向通道導(dǎo)通,進(jìn)而隔離后端通道導(dǎo)通,輸出狀態(tài)改變。通過(guò)判斷隔離后端輸出狀態(tài),就可以確定開(kāi)關(guān)量輸入的狀態(tài)。
圖3 開(kāi)關(guān)量采集電路
旋轉(zhuǎn)編碼器輸出為T(mén)TL雙路正交信號(hào),電平標(biāo)準(zhǔn)兼容5V的RS422接口。由于用FPGA對(duì)旋轉(zhuǎn)編碼器輸出信號(hào)進(jìn)行解析,而FPGA的輸入電壓最高只能夠支持3.3 V,所以還需要加一級(jí)電平轉(zhuǎn)換電路。旋轉(zhuǎn)編碼器接口電路原理如圖4所示。旋轉(zhuǎn)編碼器輸出的TTL正交信號(hào)通過(guò)RS422接口芯片,轉(zhuǎn)換成標(biāo)準(zhǔn)5 V的時(shí)序信號(hào),再通過(guò)電平轉(zhuǎn)換電路,將5 V信號(hào)轉(zhuǎn)換為3.3 V的邏輯信號(hào),最后進(jìn)入FPGA解析。
圖4 旋轉(zhuǎn)編碼器接口
光B碼主要用于系統(tǒng)對(duì)時(shí),光B碼的接口主要是將光信號(hào)變換為電信號(hào),再通過(guò)FPGA進(jìn)行解析。其接口電路如圖5所示。
圖5 光B碼接口
FPGA是一種掉電易失型器件,所以邏輯代碼必須放在非易失性存儲(chǔ)器內(nèi),也就是FPGA的配置芯片內(nèi),F(xiàn)PGA上電后從配置芯片加載程序到FPGA內(nèi)部運(yùn)行。系統(tǒng)采用主SPI(serial peripheral interface,串行外圍設(shè)備接口)模式實(shí)現(xiàn)FPGA與FLASH配置芯片通信,該通信方式既支持原廠配置芯片,也支持第三方通用SPI FLASH,大大地降低了選型的局限性,可以選擇多種配置芯片,而且通用SPI FLASH配置芯片存儲(chǔ)空間可以足夠大,不需要進(jìn)行多片串聯(lián),可以降低PCB的布局難度,同時(shí)支持多線(xiàn)SPI模式,可以加快燒寫(xiě)及加載速度,其接口電路如圖6所示。
圖6 主SPI配置模式
STM32F407具有豐富的通信接口,包括6個(gè)速度高達(dá)11.25 Mb/s的UART(universal asynchronous receiver and transmitter,通用異步收發(fā)器)、3個(gè)速度高達(dá)45 Mb/s的SPI、3個(gè)I2C(Inter-Integrated Circuit)、2個(gè)CAN(controller area network)和1個(gè)SDIO(secure digital input and output,安全數(shù)字輸入/輸出接口),可連接很多的外部設(shè)備,ST公司為用戶(hù)應(yīng)用開(kāi)發(fā)提供了簡(jiǎn)單易用的固件庫(kù),使得基于STM32微控制器開(kāi)發(fā)變得快速容易[10]。
STM32通過(guò)FSMC接口從FPGA讀取采集的數(shù)據(jù),并通過(guò)UART與工業(yè)液晶屏通信,實(shí)現(xiàn)實(shí)時(shí)數(shù)據(jù)的定時(shí)上傳顯示,并能上傳開(kāi)關(guān)動(dòng)作的機(jī)械特性曲線(xiàn)等非實(shí)時(shí)數(shù)據(jù),完成開(kāi)關(guān)運(yùn)行狀態(tài)各項(xiàng)參數(shù)的監(jiān)測(cè),同時(shí)接收液晶屏下發(fā)的指令,可以對(duì)開(kāi)關(guān)進(jìn)行相應(yīng)的本地操作和參數(shù)設(shè)置,STM32與串口液晶屏通信接口電路如圖7所示,另外系統(tǒng)還設(shè)計(jì)了幾路RS485接口,作為與其它串口設(shè)備通信的預(yù)留接口,如圖8所示。
STM32F407可作為T(mén)CP服務(wù)器與上位機(jī)通過(guò)以太網(wǎng)接口進(jìn)行通信,芯片內(nèi)部自帶網(wǎng)絡(luò)MAC控制器,只需要外加一個(gè)PHY(物理層)芯片,即可實(shí)現(xiàn)網(wǎng)絡(luò)通信功能。系統(tǒng)選擇LAN8720芯片作為STM32F407的PHY芯片,該芯片采用RMII(簡(jiǎn)化介質(zhì)獨(dú)立接口)接口與STM32F407通信,占用IO較少,且支持自動(dòng)識(shí)別交叉/直連網(wǎng)線(xiàn)功能,自帶一個(gè)網(wǎng)絡(luò)變壓器的RJ45頭(HR911103C),一起組成10M/100M自適應(yīng)網(wǎng)卡,其原理如圖9所示。
圖8 RS485接口電路
圖9 以太網(wǎng)接口電路
STM32F407芯片使用FSMC外設(shè)來(lái)讀寫(xiě)外部存儲(chǔ)器中的數(shù)據(jù),F(xiàn)SMC可以用于驅(qū)動(dòng)包括SRAM、NORFLASH 以及NAND FLSAH類(lèi)型的存儲(chǔ)器。在FPGA中利用Xilinx提供的IP核構(gòu)建雙口RAM,可實(shí)現(xiàn)異構(gòu)系統(tǒng)之間快速交換數(shù)據(jù)[5]。而STM32F407就可以通過(guò)FSMC接口訪問(wèn)此RAM,就像訪問(wèn)外部SRAM一樣進(jìn)行數(shù)據(jù)的讀寫(xiě),從而實(shí)現(xiàn)STM32和FPGA的并行數(shù)據(jù)通信[3],其接口如圖10所示。
圖10 FPGA與STM32接口圖
配置好FSMC外設(shè)后,STM32通過(guò)FSMC訪問(wèn)FPGA中數(shù)據(jù)時(shí),通過(guò)控制引腳FSMC_NE1可以將FPGA內(nèi)部RAM映射到STM32的地址0x6C000000-0x6CFFFFFF上,訪問(wèn)的數(shù)據(jù)寬度為16位,就像操作STM32外部存儲(chǔ)器一樣簡(jiǎn)單,直接通過(guò)地址就可以訪問(wèn),F(xiàn)SMC控制器會(huì)根據(jù)時(shí)序自動(dòng)產(chǎn)生地址信號(hào)、數(shù)據(jù)信號(hào)和控制信號(hào)。
地址線(xiàn)中的A23-A20這4根地址線(xiàn)用于FPGA與STM32之間的I/O控制,STM32收到相應(yīng)開(kāi)關(guān)的合分閘命令經(jīng)過(guò)編碼通過(guò)這4個(gè)I/O信號(hào)輸出到FPGA,這樣可以將動(dòng)作命令快速準(zhǔn)確地下發(fā)給FPGA。而地址線(xiàn)A19和A18作為FPGA和STM32之間的非實(shí)時(shí)數(shù)據(jù)的異步讀寫(xiě)處理信號(hào),來(lái)互相通知對(duì)方完成對(duì)開(kāi)關(guān)動(dòng)作波形數(shù)據(jù)的讀寫(xiě)。其中A19作為STM32的輸入信號(hào),當(dāng)FPGA將動(dòng)作波形數(shù)據(jù)保存到雙口RAM中時(shí),會(huì)在此信號(hào)上產(chǎn)生一個(gè)脈沖,此信號(hào)上升沿會(huì)在STM32觸發(fā)外部中斷,從而通知STM32數(shù)據(jù)準(zhǔn)備好可以進(jìn)行讀取,當(dāng)STM32讀取并保存后,會(huì)將A18電平進(jìn)行翻轉(zhuǎn)從而通知FPGA數(shù)據(jù)讀取完成,進(jìn)而可以繼續(xù)進(jìn)行后續(xù)數(shù)據(jù)的異步讀寫(xiě)。
FPGA負(fù)責(zé)數(shù)據(jù)采集、數(shù)據(jù)臨時(shí)存儲(chǔ)與數(shù)據(jù)傳輸,以及光B碼解碼功能,還可用于互感器信號(hào)的采集和開(kāi)關(guān)分合控制。FPGA端的邏輯功能如圖11所示。其中寫(xiě)數(shù)據(jù)模塊負(fù)責(zé)采集32路模擬量通道串行發(fā)送過(guò)來(lái)的數(shù)據(jù)以及32路開(kāi)入量信號(hào),并將其依次放入內(nèi)部RAM中;通信模塊負(fù)責(zé)將內(nèi)部RAM中的數(shù)據(jù)提取出來(lái),存入開(kāi)辟的雙端口RAM中。每次開(kāi)機(jī)時(shí),STM32端首先下發(fā)定值數(shù)據(jù)到雙口RAM中,通信模塊將該數(shù)據(jù)從雙口RAM中提取出來(lái),送到CRC校驗(yàn)?zāi)K中進(jìn)行校驗(yàn),如果校驗(yàn)無(wú)誤,則將定值存入指定的定值寄存器中。啟動(dòng)數(shù)據(jù)采集,同時(shí)發(fā)送寫(xiě)使能信號(hào)給通信模塊,令其開(kāi)始向雙口RAM中寫(xiě)數(shù)據(jù)。如果FPGA判斷到了開(kāi)關(guān)動(dòng)作,則開(kāi)始將RAM內(nèi)緩存的數(shù)據(jù)存入外部DDR3中,直到FPGA判斷到動(dòng)作結(jié)束,停止存儲(chǔ),此時(shí)DDR3中的數(shù)據(jù)包含有完整的開(kāi)關(guān)動(dòng)作采樣數(shù)據(jù)。然后數(shù)據(jù)經(jīng)過(guò)處理后存入FIFO,由通信模塊寫(xiě)入雙端口RAM中[11],并通過(guò)I/O告知STM32進(jìn)行讀取。
圖11 FPGA邏輯設(shè)計(jì)圖
ST公司為了方便用戶(hù)開(kāi)發(fā)程序,提供了一套豐富的STM32F4固件庫(kù),實(shí)現(xiàn)了對(duì)芯片寄存器操作的封裝,開(kāi)發(fā)時(shí)根據(jù)具體功能需要調(diào)用相應(yīng)的庫(kù)函數(shù),可以方便地實(shí)現(xiàn)對(duì)芯片資源的操作。
圖12為STM32F407的主程序流程圖,同時(shí)設(shè)計(jì)有兩個(gè)中斷源用于中斷主程序完成特定任務(wù)。系統(tǒng)上電后程序首先進(jìn)行中斷優(yōu)先級(jí)分組設(shè)置、配置系統(tǒng)時(shí)鐘和時(shí)鐘節(jié)拍、配置實(shí)時(shí)時(shí)鐘、配置FSMC接口、初始化串口以太網(wǎng)口、配置外部中斷等一系列初始化動(dòng)作。初始化完成后先向FPGA發(fā)送定值配置參數(shù),然后分別開(kāi)辟一段數(shù)據(jù)緩存用于保存從FPGA雙口RAM中讀取的實(shí)時(shí)數(shù)據(jù)和一段指令隊(duì)列緩存用于保存從串口液晶屏接收到的下發(fā)指令。之后開(kāi)始主循環(huán),首先判斷是否有TCP客戶(hù)端進(jìn)行連接,然后讀取FPGA中采集的實(shí)時(shí)數(shù)據(jù),刷新數(shù)據(jù)緩存。接著判斷指令隊(duì)列中是否有完整的屏下發(fā)指令,如有則提取最前面一條指令進(jìn)行解析,調(diào)用相應(yīng)子程序完成規(guī)定任務(wù)。緊接著判斷定時(shí)器節(jié)拍時(shí)間是否達(dá)到,如果達(dá)到則按固定時(shí)間節(jié)拍通過(guò)串口和以太網(wǎng)口向液晶屏及上位機(jī)上傳實(shí)時(shí)數(shù)據(jù)。最后判斷是否有通過(guò)中斷方式讀取的開(kāi)關(guān)動(dòng)作波形數(shù)據(jù),有則會(huì)將波形數(shù)據(jù)發(fā)送到液晶屏和客戶(hù)端。主程序循環(huán)進(jìn)行以上任務(wù),以響應(yīng)液晶屏的操作及向屏和客戶(hù)端上傳數(shù)據(jù)。
圖12 STM32主程序流程圖
根據(jù)系統(tǒng)特點(diǎn)設(shè)計(jì)了兩個(gè)中斷以完成相應(yīng)的功能,如圖13所示。串口中斷用于從屏接收指令數(shù)據(jù),并保存在開(kāi)辟的指令隊(duì)列中。開(kāi)關(guān)每次動(dòng)作時(shí)FPGA將高速采樣并保存開(kāi)關(guān)動(dòng)作時(shí)的機(jī)械特性采樣數(shù)據(jù),然后利用I/O信號(hào)觸發(fā)STM32外部中斷,相應(yīng)的中斷服務(wù)函數(shù)從雙口RAM中指定區(qū)域讀取采樣數(shù)據(jù),并通過(guò)內(nèi)部標(biāo)志位通知主程序處理[12]。設(shè)計(jì)的中斷服務(wù)程序應(yīng)盡量高效簡(jiǎn)潔,減少CPU中斷時(shí)間,保證主程序能及時(shí)響應(yīng)屏下發(fā)的操作指令及讀取FPGA采樣數(shù)據(jù)和后續(xù)程序的執(zhí)行,保證數(shù)據(jù)及時(shí)更新和上傳。
圖13 STM32中斷服務(wù)子程序
STM32與FPGA之間的接口是程序的關(guān)鍵,需要對(duì)STM32讀寫(xiě)雙口RAM進(jìn)行測(cè)試,以保證數(shù)據(jù)的正常交互。在程序中添加部分測(cè)試代碼和數(shù)據(jù),利用FPGA的仿真分析工具可以分析STM32通過(guò)FSMC讀寫(xiě)RAM的時(shí)序圖,見(jiàn)圖14和圖15。
圖14 STM32讀FPGA RAM時(shí)序
圖15 STM32寫(xiě)FPGA RAM時(shí)序
STM32訪問(wèn)外部存儲(chǔ)器地址時(shí),F(xiàn)SMC會(huì)根據(jù)配置的控制信號(hào)線(xiàn)產(chǎn)生時(shí)序訪問(wèn)外部存儲(chǔ)器,讀操作時(shí),地址線(xiàn)發(fā)出要訪問(wèn)的地址,地址建立周期結(jié)束后讀使能信號(hào)線(xiàn)發(fā)出讀使能信號(hào),接著存儲(chǔ)器通過(guò)數(shù)據(jù)信號(hào)線(xiàn)把目標(biāo)數(shù)據(jù)傳輸給FSMC,F(xiàn)SMC把它交給STM32內(nèi)核。寫(xiě)操作類(lèi)似,地址線(xiàn)發(fā)出要訪問(wèn)的地址,數(shù)據(jù)建立周期期間寫(xiě)使能信號(hào)線(xiàn)發(fā)出寫(xiě)信號(hào),接著FSMC把數(shù)據(jù)通過(guò)數(shù)據(jù)線(xiàn)傳輸?shù)紽PGA存儲(chǔ)器中[4]。讀寫(xiě)時(shí)序圖滿(mǎn)足FSMC訪問(wèn)外部存儲(chǔ)器的時(shí)序要求,數(shù)據(jù)均能正常寫(xiě)入和讀取。
實(shí)驗(yàn)現(xiàn)場(chǎng)高壓開(kāi)關(guān)為斥力機(jī)構(gòu),有兩個(gè)斷口分別是K1和K2,合分閘線(xiàn)圈回路連接直流電容,通過(guò)電容放電驅(qū)動(dòng)相應(yīng)線(xiàn)圈來(lái)控制開(kāi)關(guān)進(jìn)行合分閘。系統(tǒng)啟動(dòng)后,F(xiàn)PGA采集到如斷口狀態(tài)、儲(chǔ)能狀態(tài)、分合閘電容電壓、開(kāi)關(guān)行程位置、SF6氣體壓力等數(shù)據(jù)并寫(xiě)入雙口RAM,STM32通過(guò)FSMC可以實(shí)時(shí)讀取采集的數(shù)據(jù),再通過(guò)串口發(fā)送到液晶屏進(jìn)行顯示刷新。當(dāng)開(kāi)關(guān)動(dòng)作時(shí),F(xiàn)PGA會(huì)快速采集和記錄從發(fā)出動(dòng)作命令開(kāi)始10 ms的采樣數(shù)據(jù),記錄開(kāi)關(guān)動(dòng)作的特性曲線(xiàn),然后通知STM32進(jìn)行讀取,最終在界面上進(jìn)行開(kāi)關(guān)動(dòng)作特性曲線(xiàn)的顯示,如圖16所示。由于系統(tǒng)可以同時(shí)監(jiān)測(cè)和控制多個(gè)開(kāi)關(guān),所以對(duì)開(kāi)關(guān)進(jìn)行分合閘操作時(shí),利用FSMC接口的3根地址線(xiàn)進(jìn)行編碼,由STM32通過(guò)這3個(gè)I/O向FPGA發(fā)送分合閘命令,從而實(shí)現(xiàn)對(duì)多個(gè)開(kāi)關(guān)的可靠控制。
實(shí)驗(yàn)結(jié)果表明系統(tǒng)運(yùn)行時(shí),液晶屏上的各種狀態(tài)數(shù)據(jù)都能正常顯示刷新,數(shù)據(jù)交互正常。在屏上進(jìn)行操作時(shí)系統(tǒng)能及時(shí)響應(yīng)并完成相應(yīng)任務(wù),控制開(kāi)關(guān)合分閘時(shí),動(dòng)作命令能快速輸出,相應(yīng)的機(jī)械特性波形曲線(xiàn)數(shù)據(jù)能及時(shí)上傳,系統(tǒng)運(yùn)行穩(wěn)定可靠,滿(mǎn)足了各項(xiàng)功能要求。
圖16 系統(tǒng)液晶屏界面
本文采用FPGA+STM32的雙處理器架構(gòu),設(shè)計(jì)了一種高壓開(kāi)關(guān)綜合數(shù)據(jù)采集與監(jiān)測(cè)系統(tǒng),利用FPGA的靈活配置及高速并行性,實(shí)現(xiàn)模擬、數(shù)字信號(hào)的采集,利用STM32強(qiáng)大的數(shù)據(jù)處理能力和豐富的接口資源,實(shí)現(xiàn)采集數(shù)據(jù)的管理和傳輸。FPGA和STM32之間采用雙口RAM和FSMC接口通信實(shí)現(xiàn)數(shù)據(jù)的交互。測(cè)試結(jié)果表明,系統(tǒng)采樣速度高、數(shù)據(jù)傳輸快、運(yùn)行穩(wěn)定,能應(yīng)用在高壓開(kāi)關(guān)在線(xiàn)監(jiān)測(cè)中及其它高速數(shù)據(jù)采集和監(jiān)測(cè)系統(tǒng)中。