潘必超,曹 彪,張 瑾,何圣華
(1.廣東機電職業(yè)技術(shù)學院信息工程學院,廣東 廣州 510515;2.華南理工大學機械與汽車工程學院,廣東 廣州 510640)
隨著國家積極推進節(jié)能減排的發(fā)展戰(zhàn)略,高壓靜電除塵器作為燃煤電廠重要的環(huán)保設(shè)備之一,日益受到重視。高壓靜電除塵器的工作原理與控制特性決定了在控制器的結(jié)構(gòu)設(shè)計上必須同時考慮控制器控制行為的實時性以及多任務(wù)特性。在工業(yè)控制領(lǐng)域,以DSP為控制核心靜電除塵控制器在技術(shù)上相對成熟[1],目前更多的焦點放在控制器的協(xié)同優(yōu)化上[2-5]。作為ESP控制器的網(wǎng)絡(luò)通訊模塊,實現(xiàn)雙核通信架構(gòu)以及多控制器間網(wǎng)絡(luò)通信,則成為其中關(guān)鍵支撐技術(shù)之一?;陔p核的控制架構(gòu)已成主流,常見的硬件架構(gòu)有3種:基于內(nèi)部總線技術(shù)[6]、基于FPGA+共享 RAM 技術(shù)[7]、基于雙端口存儲器技術(shù)[8]。
基于內(nèi)部總線技術(shù)也就是常見的單芯片雙核架構(gòu),常見于消費電子產(chǎn)品與保安監(jiān)控產(chǎn)品。該架構(gòu)存在兩大問題導致不適用于電除塵控制器:(1)發(fā)熱量非常大,溫度適應(yīng)能力低,這與電除塵工業(yè)現(xiàn)場的惡劣的溫度環(huán)境(-30℃ ~85℃)與散熱環(huán)境較差產(chǎn)生矛盾;(2)工業(yè)級的單芯雙核芯片(例如 TI OMAPL138)缺乏內(nèi)置ADC模塊,外擴ADC模塊增加了系統(tǒng)成本和通信工作量外,同時也降低了系統(tǒng)的穩(wěn)定性。
基于FPGA+共享RAM技術(shù)主要適合于外部芯片數(shù)量較多且訪問時序相對復雜的情況。因為增加了FPGA環(huán)節(jié),訪問效率難以提高。
本文采用的雙端口存儲器技術(shù)具有3大優(yōu)勢:(1)存儲器芯片、ARM與DSP均有工業(yè)級環(huán)境溫度適應(yīng)能力;(2)存儲芯片內(nèi)無需進行任何開發(fā)定制即可滿足雙核間訪問速率的匹配;(3)模塊化設(shè)計以后可直接替換使用,增強了器件的互換性,極高的存取訪問速度在提升了通信帶寬的同時,也降低了控制器的開發(fā)成本。
本文從核間通信機制的實現(xiàn)以及控制器間網(wǎng)絡(luò)通信機制的實現(xiàn)兩個層面給出一種基于AM1808+雙端口存儲芯片實用新穎的通信模塊的設(shè)計方案,在此基礎(chǔ)上,使用開放性工業(yè)通信協(xié)議MODBUS實現(xiàn)多控制器層級互聯(lián)。最后通過實際電場實驗驗證該通信模塊在實際控制過程中的可行性與合理性。
AM1808是一款基于ARM926EJ精簡指令集的32位ARM處理器,其超低功耗以及其工業(yè)穩(wěn)定特性使其非常適合承擔控制器的網(wǎng)絡(luò)通信工作。基于AM1808控制器網(wǎng)絡(luò)通信模塊的實現(xiàn)主要由2個部分工作構(gòu)成如圖1所示,分別為:網(wǎng)絡(luò)通信模塊對內(nèi)實現(xiàn)控制器內(nèi)部核間通信與同步;網(wǎng)絡(luò)通信模塊對外需要采用一定的通信協(xié)議實現(xiàn)控制器之間的數(shù)據(jù)交互與同步。
圖1 基于AM1808網(wǎng)絡(luò)通信模塊的解決方案示意圖
CY7C024AV2是由Cypress公司專門為多核通信而推出的一款雙端口異步存儲芯片。該芯片可作為RAM芯片獨立使用,也能同時與2種不同速率的MCU相連接,且內(nèi)置了多種防止數(shù)據(jù)訪問沖突的保護機制。該存儲芯片的存取周期達到20ns,理論帶寬可以達到50M×16bps。圖2(a)給出了AM1808以及DSP與雙端口RAM接口互連的電路圖。AM1808使用 EMIFA(External Memory Interface A)與CY7C024AV2其中一個端口相連接。EMIFA是AM1808用于與外部存儲器連接訪問的控制器,其主要用途是提供一種通用的連接方法使CPU能與多種不同的外部存儲設(shè)備相連接。圖2(b)給出了該網(wǎng)絡(luò)通信模塊的電路實物圖。
圖2 控制器內(nèi)雙核間通信接口電路
與其它基于共享存儲空間的多核通信架構(gòu)相類似(如TI的達芬奇架構(gòu)),多核通信的最關(guān)鍵問題是通信雙方數(shù)據(jù)訪問的協(xié)同。這主要包含了2個關(guān)鍵問題,第一是速率的匹配;第二是地址訪問沖突。雙端口RAM CY7C024AV2的左右2個數(shù)據(jù)接口采用了異步數(shù)據(jù)訪問機制,可做到訪問速率與MCU訪問速率相匹配。
為了保證雙核通信中數(shù)據(jù)訪問不會發(fā)生沖突,雙端口RAM CY7C024AV2內(nèi)部提供了3種機制,分別是:邏輯忙信號機制、通信郵箱與中斷機制以及令牌機制[8-10]。
本文采用的是通信郵箱與中斷機制。CY7C024AV2存儲空間中的最高2個地址空間,即0xFFF與0xFFE,是用作通信雙方的郵箱。當AM1808向雙口RAM最高地址OxFFF寫數(shù)據(jù)時候,雙口RAM將在INTR引腳產(chǎn)生一個低電平的中斷信號,從而觸發(fā)DSP作出相應(yīng)的響應(yīng)動作。同樣,當DSP向OxFFE寫入指令數(shù)據(jù),也會在INTL引腳產(chǎn)生一個中斷信號。采用郵箱機制,實現(xiàn)MCU之間的軟握手,在雙方訪問特定存儲空間前,先得到對方的同意再進行寫入操作。同樣,在結(jié)束寫入操作后,也可以通過郵箱通知對方。這就從根本上避免了數(shù)據(jù)訪問沖突的發(fā)生。
實施這種硬件中斷機制需要建立一套完善的用戶自定義通信協(xié)議,即郵箱內(nèi)容和動作的對應(yīng)關(guān)系。圖3給出了AM1808訪問雙口RAM時與DSP的通信協(xié)議。AM1808沒有任何數(shù)據(jù)請求時,處于空閑狀態(tài)。當AM1808收到上位機的數(shù)據(jù)請求指令后,產(chǎn)生相應(yīng)的數(shù)據(jù)訪問需求,就會進入詢問等待狀態(tài)。該狀態(tài)主要向雙口RAM的郵箱發(fā)送一個16bit數(shù)據(jù)指令,告訴DSP當前AM1808需要訪問的數(shù)據(jù)歸屬的邏輯功能以及請求級別。這樣,DSP端收到中斷信號,DSP根據(jù)自身的狀態(tài)判斷該區(qū)段是否正在訪問,并通過郵箱告之AM1808。若不能訪問,AM1808將等待一段時間后再次發(fā)送請求。若可以訪問,AM1808將取得訪問權(quán),DSP會暫時停止對該區(qū)段數(shù)據(jù)的更新操作,并在相應(yīng)的標志位置位。而當DSP產(chǎn)生更高級別訪問請求時,通過郵箱向AM1808產(chǎn)生請求。此時AM1808根據(jù)訪問優(yōu)先級,將重新回到等待狀態(tài)。直到AM1808訪問結(jié)束后,AM1808會通過郵箱發(fā)送一個訪問結(jié)束的指令到DSP,告訴DSP該區(qū)段空閑。在DSP端同樣執(zhí)行相應(yīng)的握手協(xié)議。
圖3 AM1808與DSP之間IPC通信協(xié)議
上述協(xié)議的作用,保證了不論是AM1808還是DSP,一旦獲得雙口RAM相應(yīng)區(qū)段的讀寫權(quán)限后,將會進行全速讀寫操作而無需顧慮對對方造成影響。通信雙方都采用一套相同狀態(tài)機制,有效避免了雙方數(shù)據(jù)訪問沖突。
靜電除塵控制器作為一種工業(yè)控制器,為了防止信息孤島的產(chǎn)生,控制器間的通信應(yīng)該具備一定的開放性,以便與上層應(yīng)用軟件相集成[11]?;贏M1808的網(wǎng)絡(luò)通信模塊采用了MODBUS/TCP協(xié)議作為主要通信協(xié)議。
控制器網(wǎng)絡(luò)拓撲圖如圖4所示。控制器網(wǎng)絡(luò)中存在唯一一臺主控制器。在AM1808通信模塊上運行基于Linux 2.6內(nèi)核的控制軟件[12]。該軟件主要實現(xiàn)控制器的主動訪問行為和被動訪問行為。
主動訪問行為發(fā)生在控制器之間,主要用于網(wǎng)絡(luò)對時、向主控制器獲取上一層級電場和下一級電場控制器的IP,并實時請求上一級電場參數(shù)和下一層級電場參數(shù),從而實現(xiàn)動態(tài)調(diào)整當前一級電場的運行參數(shù),實現(xiàn)控制器之間的網(wǎng)絡(luò)協(xié)同。
被動訪問行為是指上位機服務(wù)器(圖4中的Pro-Mo)采用輪詢的形式向控制器AM1808的通信模塊發(fā)送數(shù)據(jù)讀寫請求,基于AM1808的網(wǎng)絡(luò)通信模塊采用“請求/響應(yīng)”型應(yīng)答機制,向上位機提交控制器的運行數(shù)據(jù)。
圖4 控制器網(wǎng)絡(luò)連接圖
對于電除塵控制器而言,數(shù)據(jù)從DSP傳向ARM稱為數(shù)據(jù)上行,ARM發(fā)控制指令到DSP稱為數(shù)據(jù)下行。上行數(shù)據(jù)主要包括各種信號的采樣實時數(shù)據(jù),以及DSP的實時分析數(shù)據(jù),實際工作過程中更關(guān)注的是數(shù)據(jù)上行的傳輸性能。本文DSP工作于基于中斷和主循環(huán)的“前后臺”模式,采用雙緩沖機制保證采樣數(shù)據(jù)的異步上傳。最大速率發(fā)生在一次電壓過零時刻,ARM發(fā)出采樣數(shù)據(jù)上傳指令,DSP采用全速率上傳。其中DSP寫雙口RAM周期為100ns,傳輸數(shù)據(jù)為6通道且每通道128個采樣點,合共768×16bit,傳輸總時長76.8μs,折算傳輸帶寬為160Mbps。
V-A數(shù)據(jù),也就是電除塵本體工作時候的二次側(cè)電壓和電流采樣信號,它是電除塵控制器運行的重要依據(jù)。在工頻環(huán)境下系統(tǒng)運行時,DSP以過零信號為間隔,每10ms為周期將采樣數(shù)據(jù)寫入內(nèi)部的采樣數(shù)據(jù)緩沖。圖5是ARM從DSP數(shù)據(jù)緩沖中讀取單一次(10ms)采樣周期內(nèi)的二次側(cè)電流和二次側(cè)電壓采樣數(shù)據(jù)。每組數(shù)據(jù)由128個采樣點構(gòu)成。通過實驗驗證,采用本文所設(shè)計的雙核通信方案能在除塵器穩(wěn)定工作過程中以異步獲取數(shù)據(jù)的形式讀取采樣數(shù)據(jù),數(shù)據(jù)連續(xù),且準確反映當前工作狀態(tài)。
采用C#開發(fā)的簡易上位機應(yīng)用程序,通過MODBUS協(xié)議將控制器采樣的信號以異步通信方式回傳到上位機。受設(shè)備成本因素考慮,沒有外擴存儲芯片的DSP可用內(nèi)存數(shù)據(jù)空間有限(34K),DSP提供存儲4個半波周期采樣數(shù)據(jù)的緩沖區(qū)。如圖6所示,即使在電場火花放電時刻上位機也能成功通過以太網(wǎng)從基于AM1808實現(xiàn)的網(wǎng)絡(luò)通信模塊中讀回控制器的運行數(shù)據(jù)。模塊工作穩(wěn)定,數(shù)據(jù)連續(xù)、準確。
圖6 上位機實時顯示控制器采樣得到的二次側(cè)電流、電壓信號
本文在自行研發(fā)的基于AM1808的工業(yè)以太網(wǎng)通信模塊的基礎(chǔ)上,實現(xiàn)了AM1808+DSP的ESP控制器雙核通信技術(shù),采用MODBUS/TCP協(xié)議實現(xiàn)控制器間的協(xié)同。經(jīng)過高壓靜電場實驗驗證,該方案滿足了控制器在惡劣工況下的正常需求,且具有高可靠性、高穩(wěn)定性和數(shù)據(jù)開放性。本文的研究為后續(xù)進一步研究控制器網(wǎng)絡(luò)協(xié)同優(yōu)化提供了硬件基礎(chǔ)。這主要依賴于AM1808的本地運算能力能容易實現(xiàn)現(xiàn)場控制信號的二次處理以及控制器網(wǎng)絡(luò)中的傳感器網(wǎng)絡(luò)信息融合。因此,基于AM1808面向ESP雙核通信架構(gòu)的網(wǎng)絡(luò)通信模塊具有相當大的應(yīng)用擴展空間。
[1]熊國喜,謝運祥,公偉勇,等.基于DSP的靜電除塵三相電源控制系統(tǒng)研制[J].電力電子技術(shù),2011,45(2):103-105.
[2]徐高峰.工業(yè)電除塵裝置的節(jié)能優(yōu)化與控制器設(shè)計[D].大連:大連理工大學,2009.
[3]李志軍.靜電除塵高壓電源的優(yōu)化控制系統(tǒng)[J].電氣傳動,2012,42(2):65-68.
[4]Grass N,Zintl A,Hoffmann E.Enhanced performance for electrostatic precipitators by means of conventional and fuzzy logic control[C]//Industry Applications Society Annual Meeting.2008:1-4.
[5]Grass N.Fuzzy logic-based power control system for multi field electrostatic precipitators[J].IEEE Transactions on Industry Applications,2002,38(5):1190-1195.
[6]趙晶,王新樓.ARM加DSP嵌入式雙架構(gòu)系統(tǒng)的設(shè)計與實現(xiàn)[J].蘭州交通大學學報,2012,31(3):138-141.
[7]梁漫,蔣留兵.基于DSP+FPGA+ARM構(gòu)建雷達與雷達對抗演示實驗系統(tǒng)[J].桂林電子科技大學學報,2011,31(6):456-459.
[8]劉玉珍,張曄.雙端口RAM在ARM與DSP通信系統(tǒng)中的應(yīng)用[J].計算機系統(tǒng)應(yīng)用,2011,20(11):213-216.
[9]安劍奇,廖麗清,溫興清.高速雙端口共享存儲器IDT7025及其應(yīng)用[J].電子工藝技術(shù),2006,27(5):291-293.
[10]朱欣華.多機系統(tǒng)中雙口RAM的構(gòu)成方法及應(yīng)用[J].測控技術(shù),2006,15(2):44-46.
[11]徐皚冬,王宏,楊志家.基于以太網(wǎng)的工業(yè)控制網(wǎng)絡(luò)[J].信息與控制,2009,29(2):182-186.
[12]杜娟,張瑾,劉冰許,等.基于DSP+ARM的農(nóng)村電網(wǎng)電能質(zhì)量監(jiān)測系統(tǒng)研究[J].計算機與現(xiàn)代化,2011(12):165-167.